dragonfly-schema 1.12.1-v4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +9 -0
- package/dist/index.d.ts +5388 -0
- package/dist/index.es.js +21587 -0
- package/dist/index.iife.js +9 -0
- package/dist/index.umd.js +9 -0
- package/package.json +25 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
(function(E,it){typeof exports=="object"&&typeof module<"u"?it(exports):typeof define=="function"&&define.amd?define(["exports"],it):(E=typeof globalThis<"u"?globalThis:E||self,it(E.mylib={}))})(this,function(E){"use strict";var VC=Object.defineProperty;var WC=(E,it,ji)=>it in E?VC(E,it,{enumerable:!0,configurable:!0,writable:!0,value:ji}):E[it]=ji;var u=(E,it,ji)=>(WC(E,typeof it!="symbol"?it+"":it,ji),ji);var it=function(){function n(t){this.groups=[],this.each=!1,this.context=void 0,this.type=t.type,this.name=t.name,this.target=t.target,this.propertyName=t.propertyName,this.constraints=t==null?void 0:t.constraints,this.constraintCls=t.constraintCls,this.validationTypeOptions=t.validationTypeOptions,t.validationOptions&&(this.message=t.validationOptions.message,this.groups=t.validationOptions.groups,this.always=t.validationOptions.always,this.each=t.validationOptions.each,this.context=t.validationOptions.context)}return n}(),ji=function(){function n(){}return n.prototype.transform=function(t){var e=[];return Object.keys(t.properties).forEach(function(i){t.properties[i].forEach(function(r){var o={message:r.message,groups:r.groups,always:r.always,each:r.each},s={type:r.type,name:r.name,target:t.name,propertyName:i,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:o};e.push(new it(s))})}),e},n}();function Jg(n){return n instanceof Map?Array.from(n.values()):Array.isArray(n)?n:Array.from(n)}function Mg(){if(typeof globalThis<"u")return globalThis;if(typeof global<"u")return global;if(typeof window<"u")return window;if(typeof self<"u")return self}function Kc(n){return n!==null&&typeof n=="object"&&typeof n.then=="function"}var Ng=globalThis&&globalThis.__values||function(n){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&n[t],i=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ou=globalThis&&globalThis.__read||function(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var i=e.call(n),r,o=[],s;try{for(;(t===void 0||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(g){s={error:g}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(s)throw s.error}}return o},Rg=globalThis&&globalThis.__spreadArray||function(n,t,e){if(e||arguments.length===2)for(var i=0,r=t.length,o;i<r;i++)(o||!(i in t))&&(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return n.concat(o||Array.prototype.slice.call(t))},su=function(){function n(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(n.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),n.prototype.addValidationSchema=function(t){var e=this,i=new ji().transform(t);i.forEach(function(r){return e.addValidationMetadata(r)})},n.prototype.addValidationMetadata=function(t){var e=this.validationMetadatas.get(t.target);e?e.push(t):this.validationMetadatas.set(t.target,[t])},n.prototype.addConstraintMetadata=function(t){var e=this.constraintMetadatas.get(t.target);e?e.push(t):this.constraintMetadatas.set(t.target,[t])},n.prototype.groupByPropertyName=function(t){var e={};return t.forEach(function(i){e[i.propertyName]||(e[i.propertyName]=[]),e[i.propertyName].push(i)}),e},n.prototype.getTargetValidationMetadatas=function(t,e,i,r,o){var s,g,j=function(A){return typeof A.always<"u"?A.always:A.groups&&A.groups.length?!1:i},v=function(A){return!!(r&&(!o||!o.length)&&A.groups&&A.groups.length)},P=this.validationMetadatas.get(t)||[],G=P.filter(function(A){return A.target!==t&&A.target!==e?!1:j(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(N){return o.indexOf(N)!==-1}):!0}),M=[];try{for(var B=Ng(this.validationMetadatas.entries()),q=B.next();!q.done;q=B.next()){var U=ou(q.value,2),gt=U[0],pt=U[1];t.prototype instanceof gt&&M.push.apply(M,Rg([],ou(pt),!1))}}catch(A){s={error:A}}finally{try{q&&!q.done&&(g=B.return)&&g.call(B)}finally{if(s)throw s.error}}var z=M.filter(function(A){return typeof A.target=="string"||A.target===t||A.target instanceof Function&&!(t.prototype instanceof A.target)?!1:j(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(N){return o.indexOf(N)!==-1}):!0}),kr=z.filter(function(A){return!G.find(function(N){return N.propertyName===A.propertyName&&N.type===A.type})});return G.concat(kr)},n.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},n}();function Yn(){var n=Mg();return n.classValidatorMetadataStorage||(n.classValidatorMetadataStorage=new su),n.classValidatorMetadataStorage}var au=function(){function n(){}return n.prototype.toString=function(t,e,i,r){var o=this;t===void 0&&(t=!1),e===void 0&&(e=!1),i===void 0&&(i=""),r===void 0&&(r=!1);var s=t?"\x1B[1m":"",g=t?"\x1B[22m":"",j=function(){var G;return(r?Object.values:Object.keys)((G=o.constraints)!==null&&G!==void 0?G:{}).join(", ")},v=function(G){return" - property ".concat(s).concat(i).concat(G).concat(g," has failed the following constraints: ").concat(s).concat(j()).concat(g,`
|
|
2
|
+
`)};if(e){var P=Number.isInteger(+this.property)?"[".concat(this.property,"]"):"".concat(i?".":"").concat(this.property);return this.constraints?v(P):this.children?this.children.map(function(G){return G.toString(t,!0,"".concat(i).concat(P),r)}).join(""):""}else return"An instance of ".concat(s).concat(this.target?this.target.constructor.name:"an object").concat(g,` has failed the validation:
|
|
3
|
+
`)+(this.constraints?v(this.property):"")+(this.children?this.children.map(function(G){return G.toString(t,!0,o.property,r)}).join(""):"")},n}(),rt=function(){function n(){}return n.isValid=function(t){var e=this;return t!=="isValid"&&t!=="getMessage"&&Object.keys(this).map(function(i){return e[i]}).indexOf(t)!==-1},n.CUSTOM_VALIDATION="customValidation",n.NESTED_VALIDATION="nestedValidation",n.PROMISE_VALIDATION="promiseValidation",n.CONDITIONAL_VALIDATION="conditionalValidation",n.WHITELIST="whitelistValidation",n.IS_DEFINED="isDefined",n}();function Vg(n){return Array.isArray(n)?n.join(", "):(typeof n=="symbol"&&(n=n.description),"".concat(n))}var Wg=function(){function n(){}return n.replaceMessageSpecialTokens=function(t,e){var i;return t instanceof Function?i=t(e):typeof t=="string"&&(i=t),i&&Array.isArray(e.constraints)&&e.constraints.forEach(function(r,o){i=i.replace(new RegExp("\\$constraint".concat(o+1),"g"),Vg(r))}),i&&e.value!==void 0&&e.value!==null&&["string","boolean","number"].includes(typeof e.value)&&(i=i.replace(/\$value/g,e.value)),i&&(i=i.replace(/\$property/g,e.property)),i&&(i=i.replace(/\$target/g,e.targetName)),i},n}(),Xn=globalThis&&globalThis.__read||function(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var i=e.call(n),r,o=[],s;try{for(;(t===void 0||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(g){s={error:g}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(s)throw s.error}}return o},pu=function(){function n(t,e){this.validator=t,this.validatorOptions=e,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=Yn()}return n.prototype.execute=function(t,e,i){var r=this,o,s;!this.metadataStorage.hasValidationMetaData&&((o=this.validatorOptions)===null||o===void 0?void 0:o.enableDebugMessages)===!0&&console.warn(`No validation metadata found. No validation will be performed. There are multiple possible reasons:
|
|
4
|
+
- There may be multiple class-validator versions installed. You will need to flatten your dependencies to fix the issue.
|
|
5
|
+
- This validation runs before any file with validation decorator was parsed by NodeJS.`);var g=this.validatorOptions?this.validatorOptions.groups:void 0,j=this.validatorOptions&&this.validatorOptions.strictGroups||!1,v=this.validatorOptions&&this.validatorOptions.always||!1,P=((s=this.validatorOptions)===null||s===void 0?void 0:s.forbidUnknownValues)===void 0||this.validatorOptions.forbidUnknownValues!==!1,G=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,v,j,g),M=this.metadataStorage.groupByPropertyName(G);if(this.validatorOptions&&P&&!G.length){var B=new au;(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.target===void 0||this.validatorOptions.validationError.target===!0)&&(B.target=t),B.value=void 0,B.property=void 0,B.children=[],B.constraints={unknownValue:"an unknown value was passed to the validate function"},i.push(B);return}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,M,i),Object.keys(M).forEach(function(q){var U=t[q],gt=M[q].filter(function(z){return z.type===rt.IS_DEFINED}),pt=M[q].filter(function(z){return z.type!==rt.IS_DEFINED&&z.type!==rt.WHITELIST});U instanceof Promise&&pt.find(function(z){return z.type===rt.PROMISE_VALIDATION})?r.awaitingPromises.push(U.then(function(z){r.performValidations(t,z,q,gt,pt,i)})):r.performValidations(t,U,q,gt,pt,i)})},n.prototype.whitelist=function(t,e,i){var r=this,o=[];Object.keys(t).forEach(function(s){(!e[s]||e[s].length===0)&&o.push(s)}),o.length>0&&(this.validatorOptions&&this.validatorOptions.forbidNonWhitelisted?o.forEach(function(s){var g,j=r.generateValidationError(t,t[s],s);j.constraints=(g={},g[rt.WHITELIST]="property ".concat(s," should not exist"),g),j.children=void 0,i.push(j)}):o.forEach(function(s){return delete t[s]}))},n.prototype.stripEmptyErrors=function(t){var e=this;return t.filter(function(i){if(i.children&&(i.children=e.stripEmptyErrors(i.children)),Object.keys(i.constraints).length===0){if(i.children.length===0)return!1;delete i.constraints}return!0})},n.prototype.performValidations=function(t,e,i,r,o,s){var g=o.filter(function(M){return M.type===rt.CUSTOM_VALIDATION}),j=o.filter(function(M){return M.type===rt.NESTED_VALIDATION}),v=o.filter(function(M){return M.type===rt.CONDITIONAL_VALIDATION}),P=this.generateValidationError(t,e,i);s.push(P);var G=this.conditionalValidations(t,e,v);G&&(this.customValidations(t,e,r,P),this.mapContexts(t,e,r,P),!(e===void 0&&this.validatorOptions&&this.validatorOptions.skipUndefinedProperties===!0)&&(e===null&&this.validatorOptions&&this.validatorOptions.skipNullProperties===!0||e==null&&this.validatorOptions&&this.validatorOptions.skipMissingProperties===!0||(this.customValidations(t,e,g,P),this.nestedValidations(e,j,P),this.mapContexts(t,e,o,P),this.mapContexts(t,e,g,P))))},n.prototype.generateValidationError=function(t,e,i){var r=new au;return(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.target===void 0||this.validatorOptions.validationError.target===!0)&&(r.target=t),(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.value===void 0||this.validatorOptions.validationError.value===!0)&&(r.value=e),r.property=i,r.children=[],r.constraints={},r},n.prototype.conditionalValidations=function(t,e,i){return i.map(function(r){return r.constraints[0](t,e)}).reduce(function(r,o){return r&&o},!0)},n.prototype.customValidations=function(t,e,i,r){var o=this;i.forEach(function(s){o.metadataStorage.getTargetValidatorConstraints(s.constraintCls).forEach(function(g){if(!(g.async&&o.ignoreAsyncValidations)&&!(o.validatorOptions&&o.validatorOptions.stopAtFirstError&&Object.keys(r.constraints||{}).length>0)){var j={targetName:t.constructor?t.constructor.name:void 0,property:s.propertyName,object:t,value:e,constraints:s.constraints};if(!s.each||!(Array.isArray(e)||e instanceof Set||e instanceof Map)){var v=g.instance.validate(e,j);if(Kc(v)){var P=v.then(function(N){if(!N){var Ae=Xn(o.createValidationError(t,e,s,g),2),bt=Ae[0],$t=Ae[1];r.constraints[bt]=$t,s.context&&(r.contexts||(r.contexts={}),r.contexts[bt]=Object.assign(r.contexts[bt]||{},s.context))}});o.awaitingPromises.push(P)}else if(!v){var G=Xn(o.createValidationError(t,e,s,g),2),M=G[0],B=G[1];r.constraints[M]=B}return}var q=Jg(e),U=q.map(function(N){return g.instance.validate(N,j)}),gt=U.some(function(N){return Kc(N)});if(gt){var pt=U.map(function(N){return Kc(N)?N:Promise.resolve(N)}),z=Promise.all(pt).then(function(N){var Ae=N.every(function(nu){return nu});if(!Ae){var bt=Xn(o.createValidationError(t,e,s,g),2),$t=bt[0],ru=bt[1];r.constraints[$t]=ru,s.context&&(r.contexts||(r.contexts={}),r.contexts[$t]=Object.assign(r.contexts[$t]||{},s.context))}});o.awaitingPromises.push(z);return}var kr=U.every(function(N){return N});if(!kr){var A=Xn(o.createValidationError(t,e,s,g),2),M=A[0],B=A[1];r.constraints[M]=B}}})})},n.prototype.nestedValidations=function(t,e,i){var r=this;t!==void 0&&e.forEach(function(o){if(!(o.type!==rt.NESTED_VALIDATION&&o.type!==rt.PROMISE_VALIDATION)&&!(r.validatorOptions&&r.validatorOptions.stopAtFirstError&&Object.keys(i.constraints||{}).length>0))if(Array.isArray(t)||t instanceof Set||t instanceof Map){var s=t instanceof Set?Array.from(t):t;s.forEach(function(G,M){r.performValidations(t,G,M.toString(),[],e,i.children)})}else if(t instanceof Object){var g=typeof o.target=="string"?o.target:o.target.name;r.execute(t,g,i.children)}else{var j=Xn(r.createValidationError(o.target,t,o),2),v=j[0],P=j[1];i.constraints[v]=P}})},n.prototype.mapContexts=function(t,e,i,r){var o=this;return i.forEach(function(s){if(s.context){var g=void 0;if(s.type===rt.CUSTOM_VALIDATION){var j=o.metadataStorage.getTargetValidatorConstraints(s.constraintCls);g=j[0]}var v=o.getConstraintType(s,g);r.constraints[v]&&(r.contexts||(r.contexts={}),r.contexts[v]=Object.assign(r.contexts[v]||{},s.context))}})},n.prototype.createValidationError=function(t,e,i,r){var o=t.constructor?t.constructor.name:void 0,s=this.getConstraintType(i,r),g={targetName:o,property:i.propertyName,object:t,value:e,constraints:i.constraints},j=i.message||"";!i.message&&(!this.validatorOptions||this.validatorOptions&&!this.validatorOptions.dismissDefaultMessages)&&r&&r.instance.defaultMessage instanceof Function&&(j=r.instance.defaultMessage(g));var v=Wg.replaceMessageSpecialTokens(j,g);return[s,v]},n.prototype.getConstraintType=function(t,e){var i=e&&e.name?e.name:t.type;return i},n}(),Bg=globalThis&&globalThis.__awaiter||function(n,t,e,i){function r(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function g(P){try{v(i.next(P))}catch(G){s(G)}}function j(P){try{v(i.throw(P))}catch(G){s(G)}}function v(P){P.done?o(P.value):r(P.value).then(g,j)}v((i=i.apply(n,t||[])).next())})},$g=globalThis&&globalThis.__generator||function(n,t){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i,r,o,s;return s={next:g(0),throw:g(1),return:g(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function g(v){return function(P){return j([v,P])}}function j(v){if(i)throw new TypeError("Generator is already executing.");for(;s&&(s=0,v[0]&&(e=0)),e;)try{if(i=1,r&&(o=v[0]&2?r.return:v[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,v[1])).done)return o;switch(r=0,o&&(v=[v[0]&2,o.value]),v[0]){case 0:case 1:o=v;break;case 4:return e.label++,{value:v[1],done:!1};case 5:e.label++,r=v[1],v=[0];continue;case 7:v=e.ops.pop(),e.trys.pop();continue;default:if(o=e.trys,!(o=o.length>0&&o[o.length-1])&&(v[0]===6||v[0]===2)){e=0;continue}if(v[0]===3&&(!o||v[1]>o[0]&&v[1]<o[3])){e.label=v[1];break}if(v[0]===6&&e.label<o[1]){e.label=o[1],o=v;break}if(o&&e.label<o[2]){e.label=o[2],e.ops.push(v);break}o[2]&&e.ops.pop(),e.trys.pop();continue}v=t.call(n,e)}catch(P){v=[6,P],r=0}finally{i=o=0}if(v[0]&5)throw v[1];return{value:v[0]?v[1]:void 0,done:!0}}},cu=function(){function n(){}return n.prototype.validate=function(t,e,i){return this.coreValidate(t,e,i)},n.prototype.validateOrReject=function(t,e,i){return Bg(this,void 0,void 0,function(){var r;return $g(this,function(o){switch(o.label){case 0:return[4,this.coreValidate(t,e,i)];case 1:return r=o.sent(),r.length?[2,Promise.reject(r)]:[2]}})})},n.prototype.validateSync=function(t,e,i){var r=typeof t=="string"?e:t,o=typeof t=="string"?i:e,s=typeof t=="string"?t:void 0,g=new pu(this,o);g.ignoreAsyncValidations=!0;var j=[];return g.execute(r,s,j),g.stripEmptyErrors(j)},n.prototype.coreValidate=function(t,e,i){var r=typeof t=="string"?e:t,o=typeof t=="string"?i:e,s=typeof t=="string"?t:void 0,g=new pu(this,o),j=[];return g.execute(r,s,j),Promise.all(g.awaitingPromises).then(function(){return g.stripEmptyErrors(j)})},n}(),Hg=new(function(){function n(){this.instances=[]}return n.prototype.get=function(t){var e=this.instances.find(function(i){return i.type===t});return e||(e={type:t,object:new t},this.instances.push(e)),e.object},n}());function ls(n){return Hg.get(n)}var Fg=function(){function n(t,e,i){i===void 0&&(i=!1),this.target=t,this.name=e,this.async=i}return Object.defineProperty(n.prototype,"instance",{get:function(){return ls(this.target)},enumerable:!1,configurable:!0}),n}();function Ig(n){var t;if(n.validator instanceof Function){t=n.validator;var e=ls(su).getTargetValidatorConstraints(n.validator);if(e.length>1)throw"More than one implementation of ValidatorConstraintInterface found for validator on: ".concat(n.target.name,":").concat(n.propertyName)}else{var i=n.validator;t=function(){function o(){}return o.prototype.validate=function(s,g){return i.validate(s,g)},o.prototype.defaultMessage=function(s){return i.defaultMessage?i.defaultMessage(s):""},o}(),Yn().addConstraintMetadata(new Fg(t,n.name,n.async))}var r={type:n.name&&rt.isValid(n.name)?n.name:rt.CUSTOM_VALIDATION,name:n.name,target:n.target,propertyName:n.propertyName,validationOptions:n.options,constraintCls:t,constraints:n.constraints};Yn().addValidationMetadata(new it(r))}function Pe(n,t){return function(e){var i=t&&t.each?"each value in ":"";return n(i,e)}}function Ce(n,t){return function(e,i){Ig({name:n.name,target:e.constructor,propertyName:i,options:t,constraints:n.constraints,validator:n.validator})}}var qg=rt.IS_DEFINED;function Tg(n){return n!=null}function W(n){return Ce({name:qg,validator:{validate:function(t){return Tg(t)},defaultMessage:Pe(function(t){return t+"$property should not be null or undefined"},n)}},n)}function f(n){return function(t,e){var i={type:rt.CONDITIONAL_VALIDATION,target:t.constructor,propertyName:e,constraints:[function(r,o){return r[e]!==null&&r[e]!==void 0}],validationOptions:n};Yn().addValidationMetadata(new it(i))}}var tl=globalThis&&globalThis.__assign||function(){return tl=Object.assign||function(n){for(var t,e=1,i=arguments.length;e<i;e++){t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},tl.apply(this,arguments)};function C(n){var t=tl({},n),e=t.each?"each value in ":"";return t.message=t.message||e+"nested property $property must be either object or array",function(i,r){var o={type:rt.NESTED_VALIDATION,target:i.constructor,propertyName:r,validationOptions:t};Yn().addValidationMetadata(new it(o))}}var kg="isBoolean";function zg(n){return n instanceof Boolean||typeof n=="boolean"}function Ee(n){return Ce({name:kg,validator:{validate:function(t,e){return zg(t)},defaultMessage:Pe(function(t){return t+"$property must be a boolean value"},n)}},n)}var Lg="isNumber";function Ug(n,t){if(t===void 0&&(t={}),typeof n!="number")return!1;if(n===1/0||n===-1/0)return!!t.allowInfinity;if(Number.isNaN(n))return!!t.allowNaN;if(t.maxDecimalPlaces!==void 0){var e=0;if(n%1!==0&&(e=n.toString().split(".")[1].length),e>t.maxDecimalPlaces)return!1}return Number.isFinite(n)}function $(n,t){return n===void 0&&(n={}),Ce({name:Lg,constraints:[n],validator:{validate:function(e,i){return Ug(e,i==null?void 0:i.constraints[0])},defaultMessage:Pe(function(e){return e+"$property must be a number conforming to the specified constraints"},t)}},t)}var lu=globalThis&&globalThis.__read||function(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var i=e.call(n),r,o=[],s;try{for(;(t===void 0||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(g){s={error:g}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(s)throw s.error}}return o},Zg="isEnum";function Yg(n,t){var e=Object.keys(t).map(function(i){return t[i]});return e.includes(n)}function Xg(n){return Object.entries(n).filter(function(t){var e=lu(t,2),i=e[0];return e[1],isNaN(parseInt(i))}).map(function(t){var e=lu(t,2);e[0];var i=e[1];return i})}function el(n,t){return Ce({name:Zg,constraints:[n,Xg(n)],validator:{validate:function(e,i){return Yg(e,i==null?void 0:i.constraints[0])},defaultMessage:Pe(function(e){return e+"$property must be one of the following values: $constraint2"},t)}},t)}var Qg="isInt";function Kg(n){return typeof n=="number"&&Number.isInteger(n)}function il(n){return Ce({name:Qg,validator:{validate:function(t,e){return Kg(t)},defaultMessage:Pe(function(t){return t+"$property must be an integer number"},n)}},n)}var t0="isString";function e0(n){return n instanceof String||typeof n=="string"}function x(n){return Ce({name:t0,validator:{validate:function(t,e){return e0(t)},defaultMessage:Pe(function(t){return t+"$property must be a string"},n)}},n)}var i0="isArray";function r0(n){return Array.isArray(n)}function V(n){return Ce({name:i0,validator:{validate:function(t,e){return r0(t)},defaultMessage:Pe(function(t){return t+"$property must be an array"},n)}},n)}var hu="isInstance";function n0(n,t){return t&&typeof t=="function"&&n instanceof t}function L(n,t){return Ce({name:hu,constraints:[n],validator:{validate:function(e,i){return n0(e,i==null?void 0:i.constraints[0])},defaultMessage:Pe(function(e,i){return i!=null&&i.constraints[0]?e+"$property must be an instance of ".concat(i==null?void 0:i.constraints[0].name):e+"".concat(hu," decorator expects and object as value, but got falsy value.")},t)}},t)}function J(n,t,e){return typeof n=="string"?ls(cu).validate(n,t,e):ls(cu).validate(n,t)}var o0=Object.defineProperty,s0=(n,t,e)=>t in n?o0(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,a=(n,t,e)=>(s0(n,typeof t!="symbol"?t+"":t,e),e),hs=function(){function n(t){this.groups=[],this.each=!1,this.context=void 0,this.type=t.type,this.name=t.name,this.target=t.target,this.propertyName=t.propertyName,this.constraints=t==null?void 0:t.constraints,this.constraintCls=t.constraintCls,this.validationTypeOptions=t.validationTypeOptions,t.validationOptions&&(this.message=t.validationOptions.message,this.groups=t.validationOptions.groups,this.always=t.validationOptions.always,this.each=t.validationOptions.each,this.context=t.validationOptions.context)}return n}(),a0=function(){function n(){}return n.prototype.transform=function(t){var e=[];return Object.keys(t.properties).forEach(function(i){t.properties[i].forEach(function(r){var o={message:r.message,groups:r.groups,always:r.always,each:r.each},s={type:r.type,name:r.name,target:t.name,propertyName:i,constraints:r.constraints,validationTypeOptions:r.options,validationOptions:o};e.push(new hs(s))})}),e},n}();function p0(n){return n instanceof Map?Array.from(n.values()):Array.isArray(n)?n:Array.from(n)}function c0(){if(typeof globalThis<"u")return globalThis;if(typeof global<"u")return global;if(typeof window<"u")return window;if(typeof self<"u")return self}function rl(n){return n!==null&&typeof n=="object"&&typeof n.then=="function"}var l0=globalThis&&globalThis.__values||function(n){var t=typeof Symbol=="function"&&Symbol.iterator,e=t&&n[t],i=0;if(e)return e.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},_u=globalThis&&globalThis.__read||function(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var i=e.call(n),r,o=[],s;try{for(;(t===void 0||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(g){s={error:g}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(s)throw s.error}}return o},h0=globalThis&&globalThis.__spreadArray||function(n,t,e){if(e||arguments.length===2)for(var i=0,r=t.length,o;i<r;i++)(o||!(i in t))&&(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return n.concat(o||Array.prototype.slice.call(t))},uu=function(){function n(){this.validationMetadatas=new Map,this.constraintMetadatas=new Map}return Object.defineProperty(n.prototype,"hasValidationMetaData",{get:function(){return!!this.validationMetadatas.size},enumerable:!1,configurable:!0}),n.prototype.addValidationSchema=function(t){var e=this,i=new a0().transform(t);i.forEach(function(r){return e.addValidationMetadata(r)})},n.prototype.addValidationMetadata=function(t){var e=this.validationMetadatas.get(t.target);e?e.push(t):this.validationMetadatas.set(t.target,[t])},n.prototype.addConstraintMetadata=function(t){var e=this.constraintMetadatas.get(t.target);e?e.push(t):this.constraintMetadatas.set(t.target,[t])},n.prototype.groupByPropertyName=function(t){var e={};return t.forEach(function(i){e[i.propertyName]||(e[i.propertyName]=[]),e[i.propertyName].push(i)}),e},n.prototype.getTargetValidationMetadatas=function(t,e,i,r,o){var s,g,j=function(A){return typeof A.always<"u"?A.always:A.groups&&A.groups.length?!1:i},v=function(A){return!!(r&&(!o||!o.length)&&A.groups&&A.groups.length)},P=this.validationMetadatas.get(t)||[],G=P.filter(function(A){return A.target!==t&&A.target!==e?!1:j(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(N){return o.indexOf(N)!==-1}):!0}),M=[];try{for(var B=l0(this.validationMetadatas.entries()),q=B.next();!q.done;q=B.next()){var U=_u(q.value,2),gt=U[0],pt=U[1];t.prototype instanceof gt&&M.push.apply(M,h0([],_u(pt),!1))}}catch(A){s={error:A}}finally{try{q&&!q.done&&(g=B.return)&&g.call(B)}finally{if(s)throw s.error}}var z=M.filter(function(A){return typeof A.target=="string"||A.target===t||A.target instanceof Function&&!(t.prototype instanceof A.target)?!1:j(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(N){return o.indexOf(N)!==-1}):!0}),kr=z.filter(function(A){return!G.find(function(N){return N.propertyName===A.propertyName&&N.type===A.type})});return G.concat(kr)},n.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},n}();function Qn(){var n=c0();return n.classValidatorMetadataStorage||(n.classValidatorMetadataStorage=new uu),n.classValidatorMetadataStorage}var yu=function(){function n(){}return n.prototype.toString=function(t,e,i,r){var o=this;t===void 0&&(t=!1),e===void 0&&(e=!1),i===void 0&&(i=""),r===void 0&&(r=!1);var s=t?"\x1B[1m":"",g=t?"\x1B[22m":"",j=function(){var G;return(r?Object.values:Object.keys)((G=o.constraints)!==null&&G!==void 0?G:{}).join(", ")},v=function(G){return" - property ".concat(s).concat(i).concat(G).concat(g," has failed the following constraints: ").concat(s).concat(j()).concat(g,`
|
|
6
|
+
`)};if(e){var P=Number.isInteger(+this.property)?"[".concat(this.property,"]"):"".concat(i?".":"").concat(this.property);return this.constraints?v(P):this.children?this.children.map(function(G){return G.toString(t,!0,"".concat(i).concat(P),r)}).join(""):""}else return"An instance of ".concat(s).concat(this.target?this.target.constructor.name:"an object").concat(g,` has failed the validation:
|
|
7
|
+
`)+(this.constraints?v(this.property):"")+(this.children?this.children.map(function(G){return G.toString(t,!0,o.property,r)}).join(""):"")},n}(),nt=function(){function n(){}return n.isValid=function(t){var e=this;return t!=="isValid"&&t!=="getMessage"&&Object.keys(this).map(function(i){return e[i]}).indexOf(t)!==-1},n.CUSTOM_VALIDATION="customValidation",n.NESTED_VALIDATION="nestedValidation",n.PROMISE_VALIDATION="promiseValidation",n.CONDITIONAL_VALIDATION="conditionalValidation",n.WHITELIST="whitelistValidation",n.IS_DEFINED="isDefined",n}();function _0(n){return Array.isArray(n)?n.join(", "):(typeof n=="symbol"&&(n=n.description),"".concat(n))}var u0=function(){function n(){}return n.replaceMessageSpecialTokens=function(t,e){var i;return t instanceof Function?i=t(e):typeof t=="string"&&(i=t),i&&Array.isArray(e.constraints)&&e.constraints.forEach(function(r,o){i=i.replace(new RegExp("\\$constraint".concat(o+1),"g"),_0(r))}),i&&e.value!==void 0&&e.value!==null&&["string","boolean","number"].includes(typeof e.value)&&(i=i.replace(/\$value/g,e.value)),i&&(i=i.replace(/\$property/g,e.property)),i&&(i=i.replace(/\$target/g,e.targetName)),i},n}(),Kn=globalThis&&globalThis.__read||function(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var i=e.call(n),r,o=[],s;try{for(;(t===void 0||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(g){s={error:g}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(s)throw s.error}}return o},du=function(){function n(t,e){this.validator=t,this.validatorOptions=e,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=Qn()}return n.prototype.execute=function(t,e,i){var r=this,o,s;!this.metadataStorage.hasValidationMetaData&&((o=this.validatorOptions)===null||o===void 0?void 0:o.enableDebugMessages)===!0&&console.warn(`No validation metadata found. No validation will be performed. There are multiple possible reasons:
|
|
8
|
+
- There may be multiple class-validator versions installed. You will need to flatten your dependencies to fix the issue.
|
|
9
|
+
- This validation runs before any file with validation decorator was parsed by NodeJS.`);var g=this.validatorOptions?this.validatorOptions.groups:void 0,j=this.validatorOptions&&this.validatorOptions.strictGroups||!1,v=this.validatorOptions&&this.validatorOptions.always||!1,P=((s=this.validatorOptions)===null||s===void 0?void 0:s.forbidUnknownValues)===void 0||this.validatorOptions.forbidUnknownValues!==!1,G=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,v,j,g),M=this.metadataStorage.groupByPropertyName(G);if(this.validatorOptions&&P&&!G.length){var B=new yu;(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.target===void 0||this.validatorOptions.validationError.target===!0)&&(B.target=t),B.value=void 0,B.property=void 0,B.children=[],B.constraints={unknownValue:"an unknown value was passed to the validate function"},i.push(B);return}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,M,i),Object.keys(M).forEach(function(q){var U=t[q],gt=M[q].filter(function(z){return z.type===nt.IS_DEFINED}),pt=M[q].filter(function(z){return z.type!==nt.IS_DEFINED&&z.type!==nt.WHITELIST});U instanceof Promise&&pt.find(function(z){return z.type===nt.PROMISE_VALIDATION})?r.awaitingPromises.push(U.then(function(z){r.performValidations(t,z,q,gt,pt,i)})):r.performValidations(t,U,q,gt,pt,i)})},n.prototype.whitelist=function(t,e,i){var r=this,o=[];Object.keys(t).forEach(function(s){(!e[s]||e[s].length===0)&&o.push(s)}),o.length>0&&(this.validatorOptions&&this.validatorOptions.forbidNonWhitelisted?o.forEach(function(s){var g,j=r.generateValidationError(t,t[s],s);j.constraints=(g={},g[nt.WHITELIST]="property ".concat(s," should not exist"),g),j.children=void 0,i.push(j)}):o.forEach(function(s){return delete t[s]}))},n.prototype.stripEmptyErrors=function(t){var e=this;return t.filter(function(i){if(i.children&&(i.children=e.stripEmptyErrors(i.children)),Object.keys(i.constraints).length===0){if(i.children.length===0)return!1;delete i.constraints}return!0})},n.prototype.performValidations=function(t,e,i,r,o,s){var g=o.filter(function(M){return M.type===nt.CUSTOM_VALIDATION}),j=o.filter(function(M){return M.type===nt.NESTED_VALIDATION}),v=o.filter(function(M){return M.type===nt.CONDITIONAL_VALIDATION}),P=this.generateValidationError(t,e,i);s.push(P);var G=this.conditionalValidations(t,e,v);G&&(this.customValidations(t,e,r,P),this.mapContexts(t,e,r,P),!(e===void 0&&this.validatorOptions&&this.validatorOptions.skipUndefinedProperties===!0)&&(e===null&&this.validatorOptions&&this.validatorOptions.skipNullProperties===!0||e==null&&this.validatorOptions&&this.validatorOptions.skipMissingProperties===!0||(this.customValidations(t,e,g,P),this.nestedValidations(e,j,P),this.mapContexts(t,e,o,P),this.mapContexts(t,e,g,P))))},n.prototype.generateValidationError=function(t,e,i){var r=new yu;return(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.target===void 0||this.validatorOptions.validationError.target===!0)&&(r.target=t),(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.value===void 0||this.validatorOptions.validationError.value===!0)&&(r.value=e),r.property=i,r.children=[],r.constraints={},r},n.prototype.conditionalValidations=function(t,e,i){return i.map(function(r){return r.constraints[0](t,e)}).reduce(function(r,o){return r&&o},!0)},n.prototype.customValidations=function(t,e,i,r){var o=this;i.forEach(function(s){o.metadataStorage.getTargetValidatorConstraints(s.constraintCls).forEach(function(g){if(!(g.async&&o.ignoreAsyncValidations)&&!(o.validatorOptions&&o.validatorOptions.stopAtFirstError&&Object.keys(r.constraints||{}).length>0)){var j={targetName:t.constructor?t.constructor.name:void 0,property:s.propertyName,object:t,value:e,constraints:s.constraints};if(!s.each||!(Array.isArray(e)||e instanceof Set||e instanceof Map)){var v=g.instance.validate(e,j);if(rl(v)){var P=v.then(function(N){if(!N){var Ae=Kn(o.createValidationError(t,e,s,g),2),bt=Ae[0],$t=Ae[1];r.constraints[bt]=$t,s.context&&(r.contexts||(r.contexts={}),r.contexts[bt]=Object.assign(r.contexts[bt]||{},s.context))}});o.awaitingPromises.push(P)}else if(!v){var G=Kn(o.createValidationError(t,e,s,g),2),M=G[0],B=G[1];r.constraints[M]=B}return}var q=p0(e),U=q.map(function(N){return g.instance.validate(N,j)}),gt=U.some(function(N){return rl(N)});if(gt){var pt=U.map(function(N){return rl(N)?N:Promise.resolve(N)}),z=Promise.all(pt).then(function(N){var Ae=N.every(function(nu){return nu});if(!Ae){var bt=Kn(o.createValidationError(t,e,s,g),2),$t=bt[0],ru=bt[1];r.constraints[$t]=ru,s.context&&(r.contexts||(r.contexts={}),r.contexts[$t]=Object.assign(r.contexts[$t]||{},s.context))}});o.awaitingPromises.push(z);return}var kr=U.every(function(N){return N});if(!kr){var A=Kn(o.createValidationError(t,e,s,g),2),M=A[0],B=A[1];r.constraints[M]=B}}})})},n.prototype.nestedValidations=function(t,e,i){var r=this;t!==void 0&&e.forEach(function(o){if(!(o.type!==nt.NESTED_VALIDATION&&o.type!==nt.PROMISE_VALIDATION)&&!(r.validatorOptions&&r.validatorOptions.stopAtFirstError&&Object.keys(i.constraints||{}).length>0))if(Array.isArray(t)||t instanceof Set||t instanceof Map){var s=t instanceof Set?Array.from(t):t;s.forEach(function(G,M){r.performValidations(t,G,M.toString(),[],e,i.children)})}else if(t instanceof Object){var g=typeof o.target=="string"?o.target:o.target.name;r.execute(t,g,i.children)}else{var j=Kn(r.createValidationError(o.target,t,o),2),v=j[0],P=j[1];i.constraints[v]=P}})},n.prototype.mapContexts=function(t,e,i,r){var o=this;return i.forEach(function(s){if(s.context){var g=void 0;if(s.type===nt.CUSTOM_VALIDATION){var j=o.metadataStorage.getTargetValidatorConstraints(s.constraintCls);g=j[0]}var v=o.getConstraintType(s,g);r.constraints[v]&&(r.contexts||(r.contexts={}),r.contexts[v]=Object.assign(r.contexts[v]||{},s.context))}})},n.prototype.createValidationError=function(t,e,i,r){var o=t.constructor?t.constructor.name:void 0,s=this.getConstraintType(i,r),g={targetName:o,property:i.propertyName,object:t,value:e,constraints:i.constraints},j=i.message||"";!i.message&&(!this.validatorOptions||this.validatorOptions&&!this.validatorOptions.dismissDefaultMessages)&&r&&r.instance.defaultMessage instanceof Function&&(j=r.instance.defaultMessage(g));var v=u0.replaceMessageSpecialTokens(j,g);return[s,v]},n.prototype.getConstraintType=function(t,e){var i=e&&e.name?e.name:t.type;return i},n}(),y0=globalThis&&globalThis.__awaiter||function(n,t,e,i){function r(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function g(P){try{v(i.next(P))}catch(G){s(G)}}function j(P){try{v(i.throw(P))}catch(G){s(G)}}function v(P){P.done?o(P.value):r(P.value).then(g,j)}v((i=i.apply(n,t||[])).next())})},d0=globalThis&&globalThis.__generator||function(n,t){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},i,r,o,s;return s={next:g(0),throw:g(1),return:g(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function g(v){return function(P){return j([v,P])}}function j(v){if(i)throw new TypeError("Generator is already executing.");for(;s&&(s=0,v[0]&&(e=0)),e;)try{if(i=1,r&&(o=v[0]&2?r.return:v[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,v[1])).done)return o;switch(r=0,o&&(v=[v[0]&2,o.value]),v[0]){case 0:case 1:o=v;break;case 4:return e.label++,{value:v[1],done:!1};case 5:e.label++,r=v[1],v=[0];continue;case 7:v=e.ops.pop(),e.trys.pop();continue;default:if(o=e.trys,!(o=o.length>0&&o[o.length-1])&&(v[0]===6||v[0]===2)){e=0;continue}if(v[0]===3&&(!o||v[1]>o[0]&&v[1]<o[3])){e.label=v[1];break}if(v[0]===6&&e.label<o[1]){e.label=o[1],o=v;break}if(o&&e.label<o[2]){e.label=o[2],e.ops.push(v);break}o[2]&&e.ops.pop(),e.trys.pop();continue}v=t.call(n,e)}catch(P){v=[6,P],r=0}finally{i=o=0}if(v[0]&5)throw v[1];return{value:v[0]?v[1]:void 0,done:!0}}},fu=function(){function n(){}return n.prototype.validate=function(t,e,i){return this.coreValidate(t,e,i)},n.prototype.validateOrReject=function(t,e,i){return y0(this,void 0,void 0,function(){var r;return d0(this,function(o){switch(o.label){case 0:return[4,this.coreValidate(t,e,i)];case 1:return r=o.sent(),r.length?[2,Promise.reject(r)]:[2]}})})},n.prototype.validateSync=function(t,e,i){var r=typeof t=="string"?e:t,o=typeof t=="string"?i:e,s=typeof t=="string"?t:void 0,g=new du(this,o);g.ignoreAsyncValidations=!0;var j=[];return g.execute(r,s,j),g.stripEmptyErrors(j)},n.prototype.coreValidate=function(t,e,i){var r=typeof t=="string"?e:t,o=typeof t=="string"?i:e,s=typeof t=="string"?t:void 0,g=new du(this,o),j=[];return g.execute(r,s,j),Promise.all(g.awaitingPromises).then(function(){return g.stripEmptyErrors(j)})},n}(),f0=new(function(){function n(){this.instances=[]}return n.prototype.get=function(t){var e=this.instances.find(function(i){return i.type===t});return e||(e={type:t,object:new t},this.instances.push(e)),e.object},n}());function _s(n){return f0.get(n)}var m0=function(){function n(t,e,i){i===void 0&&(i=!1),this.target=t,this.name=e,this.async=i}return Object.defineProperty(n.prototype,"instance",{get:function(){return _s(this.target)},enumerable:!1,configurable:!0}),n}();function v0(n){var t;if(n.validator instanceof Function){t=n.validator;var e=_s(uu).getTargetValidatorConstraints(n.validator);if(e.length>1)throw"More than one implementation of ValidatorConstraintInterface found for validator on: ".concat(n.target.name,":").concat(n.propertyName)}else{var i=n.validator;t=function(){function o(){}return o.prototype.validate=function(s,g){return i.validate(s,g)},o.prototype.defaultMessage=function(s){return i.defaultMessage?i.defaultMessage(s):""},o}(),Qn().addConstraintMetadata(new m0(t,n.name,n.async))}var r={type:n.name&&nt.isValid(n.name)?n.name:nt.CUSTOM_VALIDATION,name:n.name,target:n.target,propertyName:n.propertyName,validationOptions:n.options,constraintCls:t,constraints:n.constraints};Qn().addValidationMetadata(new hs(r))}function xe(n,t){return function(e){var i=t&&t.each?"each value in ":"";return n(i,e)}}function Ge(n,t){return function(e,i){v0({name:n.name,target:e.constructor,propertyName:i,options:t,constraints:n.constraints,validator:n.validator})}}var g0=nt.IS_DEFINED;function b0(n){return n!=null}function y(n){return Ge({name:g0,validator:{validate:function(t){return b0(t)},defaultMessage:xe(function(t){return t+"$property should not be null or undefined"},n)}},n)}function p(n){return function(t,e){var i={type:nt.CONDITIONAL_VALIDATION,target:t.constructor,propertyName:e,constraints:[function(r,o){return r[e]!==null&&r[e]!==void 0}],validationOptions:n};Qn().addValidationMetadata(new hs(i))}}var nl=globalThis&&globalThis.__assign||function(){return nl=Object.assign||function(n){for(var t,e=1,i=arguments.length;e<i;e++){t=arguments[e];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},nl.apply(this,arguments)};function c(n){var t=nl({},n),e=t.each?"each value in ":"";return t.message=t.message||e+"nested property $property must be either object or array",function(i,r){var o={type:nt.NESTED_VALIDATION,target:i.constructor,propertyName:r,validationOptions:t};Qn().addValidationMetadata(new hs(o))}}var w0="isBoolean";function O0(n){return n instanceof Boolean||typeof n=="boolean"}function D(n){return Ge({name:w0,validator:{validate:function(t,e){return O0(t)},defaultMessage:xe(function(t){return t+"$property must be a boolean value"},n)}},n)}var S0="isNumber";function j0(n,t){if(t===void 0&&(t={}),typeof n!="number")return!1;if(n===1/0||n===-1/0)return!!t.allowInfinity;if(Number.isNaN(n))return!!t.allowNaN;if(t.maxDecimalPlaces!==void 0){var e=0;if(n%1!==0&&(e=n.toString().split(".")[1].length),e>t.maxDecimalPlaces)return!1}return Number.isFinite(n)}function h(n,t){return n===void 0&&(n={}),Ge({name:S0,constraints:[n],validator:{validate:function(e,i){return j0(e,i==null?void 0:i.constraints[0])},defaultMessage:xe(function(e){return e+"$property must be a number conforming to the specified constraints"},t)}},t)}var mu=globalThis&&globalThis.__read||function(n,t){var e=typeof Symbol=="function"&&n[Symbol.iterator];if(!e)return n;var i=e.call(n),r,o=[],s;try{for(;(t===void 0||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(g){s={error:g}}finally{try{r&&!r.done&&(e=i.return)&&e.call(i)}finally{if(s)throw s.error}}return o},A0="isEnum";function P0(n,t){var e=Object.keys(t).map(function(i){return t[i]});return e.includes(n)}function C0(n){return Object.entries(n).filter(function(t){var e=mu(t,2),i=e[0];return e[1],isNaN(parseInt(i))}).map(function(t){var e=mu(t,2);e[0];var i=e[1];return i})}function b(n,t){return Ge({name:A0,constraints:[n,C0(n)],validator:{validate:function(e,i){return P0(e,i==null?void 0:i.constraints[0])},defaultMessage:xe(function(e){return e+"$property must be one of the following values: $constraint2"},t)}},t)}var E0="isInt";function x0(n){return typeof n=="number"&&Number.isInteger(n)}function Ht(n){return Ge({name:E0,validator:{validate:function(t,e){return x0(t)},defaultMessage:xe(function(t){return t+"$property must be an integer number"},n)}},n)}var G0="isString";function D0(n){return n instanceof String||typeof n=="string"}function l(n){return Ge({name:G0,validator:{validate:function(t,e){return D0(t)},defaultMessage:xe(function(t){return t+"$property must be a string"},n)}},n)}var J0="isArray";function M0(n){return Array.isArray(n)}function m(n){return Ge({name:J0,validator:{validate:function(t,e){return M0(t)},defaultMessage:xe(function(t){return t+"$property must be an array"},n)}},n)}var vu="isInstance";function N0(n,t){return t&&typeof t=="function"&&n instanceof t}function d(n,t){return Ge({name:vu,constraints:[n],validator:{validate:function(e,i){return N0(e,i==null?void 0:i.constraints[0])},defaultMessage:xe(function(e,i){return i!=null&&i.constraints[0]?e+"$property must be an instance of ".concat(i==null?void 0:i.constraints[0].name):e+"".concat(vu," decorator expects and object as value, but got falsy value.")},t)}},t)}function _(n,t,e){return typeof n=="string"?_s(fu).validate(n,t,e):_s(fu).validate(n,t)}var ut=(n=>(n.NoEconomizer="NoEconomizer",n.DifferentialDryBulb="DifferentialDryBulb",n.DifferentialEnthalpy="DifferentialEnthalpy",n.DifferentialDryBulbAndEnthalpy="DifferentialDryBulbAndEnthalpy",n.FixedDryBulb="FixedDryBulb",n.FixedEnthalpy="FixedEnthalpy",n.ElectronicEnthalpy="ElectronicEnthalpy",n))(ut||{}),S=(n=>(n.ASHRAE_2019="ASHRAE_2019",n.ASHRAE_2016="ASHRAE_2016",n.ASHRAE_2013="ASHRAE_2013",n.ASHRAE_2010="ASHRAE_2010",n.ASHRAE_2007="ASHRAE_2007",n.ASHRAE_2004="ASHRAE_2004",n.DOE_Ref_1980_2004="DOE_Ref_1980_2004",n.DOE_Ref_Pre_1980="DOE_Ref_Pre_1980",n))(S||{}),R0=Object.defineProperty,V0=Object.getOwnPropertyDescriptor,zr=(n,t,e,i)=>{for(var r=i>1?void 0:i?V0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&R0(t,e,r),r};const Ai=class Yy extends O{constructor(){super(),a(this,"vintage"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"doas_availability_schedule"),a(this,"type"),this.vintage=S.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="_DOASBase"}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.doas_availability_schedule=t.doas_availability_schedule,this.type=t.type!==void 0?t.type:"_DOASBase")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Yy;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.doas_availability_schedule=this.doas_availability_schedule,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};zr([b(S),c(),p()],Ai.prototype,"vintage",2),zr([h(),p()],Ai.prototype,"sensible_heat_recovery",2),zr([h(),p()],Ai.prototype,"latent_heat_recovery",2),zr([D(),p()],Ai.prototype,"demand_controlled_ventilation",2),zr([l(),p()],Ai.prototype,"doas_availability_schedule",2),zr([l(),p()],Ai.prototype,"type",2);let us=Ai;var W0=Object.defineProperty,B0=Object.getOwnPropertyDescriptor,$0=(n,t,e,i)=>{for(var r=i>1?void 0:i?B0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&W0(t,e,r),r};const gu=class Xy extends Ur{constructor(){super(),a(this,"type"),this.type="ElectricEquipmentAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ElectricEquipmentAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Xy;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};$0([l(),p()],gu.prototype,"type",2);let Pi=gu;var H0=Object.defineProperty,F0=Object.getOwnPropertyDescriptor,I0=(n,t,e,i)=>{for(var r=i>1?void 0:i?F0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&H0(t,e,r),r};const bu=class Qy extends Ur{constructor(){super(),a(this,"type"),this.type="GasEquipmentAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"GasEquipmentAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Qy;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};I0([l(),p()],bu.prototype,"type",2);let Ci=bu;var q0=Object.defineProperty,T0=Object.getOwnPropertyDescriptor,Lr=(n,t,e,i)=>{for(var r=i>1?void 0:i?T0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&q0(t,e,r),r};const Ei=class Ky extends O{constructor(){super(),a(this,"watts_per_area"),a(this,"schedule"),a(this,"radiant_fraction"),a(this,"latent_fraction"),a(this,"lost_fraction"),a(this,"type"),this.radiant_fraction=0,this.latent_fraction=0,this.lost_fraction=0,this.type="_EquipmentBase"}init(t){super.init(t),t&&(this.watts_per_area=t.watts_per_area,this.schedule=t.schedule,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:0,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:0,this.lost_fraction=t.lost_fraction!==void 0?t.lost_fraction:0,this.type=t.type!==void 0?t.type:"_EquipmentBase")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="ElectricEquipmentAbridged"){let i=new Pi;return i.init(t),i}if(t.type==="GasEquipmentAbridged"){let i=new Ci;return i.init(t),i}let e=new Ky;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.watts_per_area=this.watts_per_area,t.schedule=this.schedule,t.radiant_fraction=this.radiant_fraction,t.latent_fraction=this.latent_fraction,t.lost_fraction=this.lost_fraction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Lr([h(),y()],Ei.prototype,"watts_per_area",2),Lr([l(),y()],Ei.prototype,"schedule",2),Lr([h(),p()],Ei.prototype,"radiant_fraction",2),Lr([h(),p()],Ei.prototype,"latent_fraction",2),Lr([h(),p()],Ei.prototype,"lost_fraction",2),Lr([l(),p()],Ei.prototype,"type",2);let Ur=Ei;var k0=Object.defineProperty,z0=Object.getOwnPropertyDescriptor,wu=(n,t,e,i)=>{for(var r=i>1?void 0:i?z0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&k0(t,e,r),r};const ol=class td extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),this.vintage=S.ASHRAE_2019,this.type="_HeatCoolBase"}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"_HeatCoolBase")}static fromJS(t){t=typeof t=="object"?t:{};let e=new td;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};wu([b(S),c(),p()],ol.prototype,"vintage",2),wu([l(),p()],ol.prototype,"type",2);let ys=ol;var L0=Object.defineProperty,U0=Object.getOwnPropertyDescriptor,Ou=(n,t,e,i)=>{for(var r=i>1?void 0:i?U0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&L0(t,e,r),r};const sl=class ed extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),this.vintage=S.ASHRAE_2019,this.type="_TemplateSystem"}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"_TemplateSystem")}static fromJS(t){t=typeof t=="object"?t:{};let e=new ed;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ou([b(S),c(),p()],sl.prototype,"vintage",2),Ou([l(),p()],sl.prototype,"type",2);let ds=sl;var Z0=Object.defineProperty,Y0=Object.getOwnPropertyDescriptor,al=(n,t,e,i)=>{for(var r=i>1?void 0:i?Y0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Z0(t,e,r),r};const fs=class id extends O{constructor(){super(),a(this,"type"),a(this,"air_mixing_per_area"),a(this,"air_mixing_schedule"),this.type="AirBoundaryConstruction",this.air_mixing_per_area=.1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"AirBoundaryConstruction",this.air_mixing_per_area=t.air_mixing_per_area!==void 0?t.air_mixing_per_area:.1,this.air_mixing_schedule=t.air_mixing_schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new id;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.air_mixing_per_area=this.air_mixing_per_area,t.air_mixing_schedule=this.air_mixing_schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};al([l(),p()],fs.prototype,"type",2),al([h(),p()],fs.prototype,"air_mixing_per_area",2),al([p()],fs.prototype,"air_mixing_schedule",2);let ms=fs;var X0=Object.defineProperty,Q0=Object.getOwnPropertyDescriptor,pl=(n,t,e,i)=>{for(var r=i>1?void 0:i?Q0(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&X0(t,e,r),r};const vs=class rd extends O{constructor(){super(),a(this,"type"),a(this,"air_mixing_per_area"),a(this,"air_mixing_schedule"),this.type="AirBoundaryConstructionAbridged",this.air_mixing_per_area=.1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"AirBoundaryConstructionAbridged",this.air_mixing_per_area=t.air_mixing_per_area!==void 0?t.air_mixing_per_area:.1,this.air_mixing_schedule=t.air_mixing_schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new rd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.air_mixing_per_area=this.air_mixing_per_area,t.air_mixing_schedule=this.air_mixing_schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};pl([l(),p()],vs.prototype,"type",2),pl([h(),p()],vs.prototype,"air_mixing_per_area",2),pl([l(),p()],vs.prototype,"air_mixing_schedule",2);let Zr=vs;var gs=(n=>(n.ElectricBaseboard="ElectricBaseboard",n.BoilerBaseboard="BoilerBaseboard",n.ASHPBaseboard="ASHPBaseboard",n.DHWBaseboard="DHWBaseboard",n))(gs||{}),K0=Object.defineProperty,tb=Object.getOwnPropertyDescriptor,cl=(n,t,e,i)=>{for(var r=i>1?void 0:i?tb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&K0(t,e,r),r};const bs=class nd extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="Baseboard",this.equipment_type=gs.ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"Baseboard",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:gs.ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new nd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};cl([b(S),c(),p()],bs.prototype,"vintage",2),cl([l(),p()],bs.prototype,"type",2),cl([b(gs),c(),p()],bs.prototype,"equipment_type",2);let ws=bs;var eb=Object.defineProperty,ib=Object.getOwnPropertyDescriptor,to=(n,t,e,i)=>{for(var r=i>1?void 0:i?ib(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&eb(t,e,r),r};const Yr=class od extends w{constructor(){super(),a(this,"type"),a(this,"interior_construction"),a(this,"window_construction"),a(this,"skylight_construction"),a(this,"operable_construction"),this.type="ApertureConstructionSet"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ApertureConstructionSet",this.interior_construction=t.interior_construction,this.window_construction=t.window_construction,this.skylight_construction=t.skylight_construction,this.operable_construction=t.operable_construction)}static fromJS(t){t=typeof t=="object"?t:{};let e=new od;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.interior_construction=this.interior_construction,t.window_construction=this.window_construction,t.skylight_construction=this.skylight_construction,t.operable_construction=this.operable_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};to([l(),p()],Yr.prototype,"type",2),to([p()],Yr.prototype,"interior_construction",2),to([p()],Yr.prototype,"window_construction",2),to([p()],Yr.prototype,"skylight_construction",2),to([p()],Yr.prototype,"operable_construction",2);let ll=Yr;var rb=Object.defineProperty,nb=Object.getOwnPropertyDescriptor,Su=(n,t,e,i)=>{for(var r=i>1?void 0:i?nb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&rb(t,e,r),r};const hl=class sd extends O{constructor(){super(),a(this,"materials"),a(this,"type"),this.type="OpaqueConstruction"}init(t){super.init(t),t&&(this.materials=t.materials,this.type=t.type!==void 0?t.type:"OpaqueConstruction")}static fromJS(t){t=typeof t=="object"?t:{};let e=new sd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.materials=this.materials,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Su([m(),c({each:!0}),y()],hl.prototype,"materials",2),Su([l(),p()],hl.prototype,"type",2);let Z=hl;var ob=Object.defineProperty,sb=Object.getOwnPropertyDescriptor,Xr=(n,t,e,i)=>{for(var r=i>1?void 0:i?sb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ob(t,e,r),r};const xi=class ad extends w{constructor(){super(),a(this,"type"),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"overhead_construction"),a(this,"exterior_glass_construction"),a(this,"interior_glass_construction"),this.type="DoorConstructionSet"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DoorConstructionSet",this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.overhead_construction=t.overhead_construction,this.exterior_glass_construction=t.exterior_glass_construction,this.interior_glass_construction=t.interior_glass_construction)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ad;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.overhead_construction=this.overhead_construction,t.exterior_glass_construction=this.exterior_glass_construction,t.interior_glass_construction=this.interior_glass_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Xr([l(),p()],xi.prototype,"type",2),Xr([d(Z),c(),p()],xi.prototype,"interior_construction",2),Xr([d(Z),c(),p()],xi.prototype,"exterior_construction",2),Xr([d(Z),c(),p()],xi.prototype,"overhead_construction",2),Xr([p()],xi.prototype,"exterior_glass_construction",2),Xr([p()],xi.prototype,"interior_glass_construction",2);let _l=xi;var ab=Object.defineProperty,pb=Object.getOwnPropertyDescriptor,Os=(n,t,e,i)=>{for(var r=i>1?void 0:i?pb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ab(t,e,r),r};const eo=class pd extends w{constructor(){super(),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"ground_construction"),a(this,"type"),this.type="FloorConstructionSet"}init(t){super.init(t),t&&(this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.ground_construction=t.ground_construction,this.type=t.type!==void 0?t.type:"FloorConstructionSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new pd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.ground_construction=this.ground_construction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Os([d(Z),c(),p()],eo.prototype,"interior_construction",2),Os([d(Z),c(),p()],eo.prototype,"exterior_construction",2),Os([d(Z),c(),p()],eo.prototype,"ground_construction",2),Os([l(),p()],eo.prototype,"type",2);let ul=eo;var cb=Object.defineProperty,lb=Object.getOwnPropertyDescriptor,Ss=(n,t,e,i)=>{for(var r=i>1?void 0:i?lb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&cb(t,e,r),r};const io=class cd extends w{constructor(){super(),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"ground_construction"),a(this,"type"),this.type="RoofCeilingConstructionSet"}init(t){super.init(t),t&&(this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.ground_construction=t.ground_construction,this.type=t.type!==void 0?t.type:"RoofCeilingConstructionSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new cd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.ground_construction=this.ground_construction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ss([d(Z),c(),p()],io.prototype,"interior_construction",2),Ss([d(Z),c(),p()],io.prototype,"exterior_construction",2),Ss([d(Z),c(),p()],io.prototype,"ground_construction",2),Ss([l(),p()],io.prototype,"type",2);let yl=io;var hb=Object.defineProperty,_b=Object.getOwnPropertyDescriptor,js=(n,t,e,i)=>{for(var r=i>1?void 0:i?_b(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&hb(t,e,r),r};const ro=class ld extends O{constructor(){super(),a(this,"type"),a(this,"solar_reflectance"),a(this,"visible_reflectance"),a(this,"is_specular"),this.type="ShadeConstruction",this.solar_reflectance=.2,this.visible_reflectance=.2,this.is_specular=!1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeConstruction",this.solar_reflectance=t.solar_reflectance!==void 0?t.solar_reflectance:.2,this.visible_reflectance=t.visible_reflectance!==void 0?t.visible_reflectance:.2,this.is_specular=t.is_specular!==void 0?t.is_specular:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ld;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.solar_reflectance=this.solar_reflectance,t.visible_reflectance=this.visible_reflectance,t.is_specular=this.is_specular,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};js([l(),p()],ro.prototype,"type",2),js([h(),p()],ro.prototype,"solar_reflectance",2),js([h(),p()],ro.prototype,"visible_reflectance",2),js([D(),p()],ro.prototype,"is_specular",2);let te=ro;var ub=Object.defineProperty,yb=Object.getOwnPropertyDescriptor,As=(n,t,e,i)=>{for(var r=i>1?void 0:i?yb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ub(t,e,r),r};const no=class hd extends w{constructor(){super(),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"ground_construction"),a(this,"type"),this.type="WallConstructionSet"}init(t){super.init(t),t&&(this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.ground_construction=t.ground_construction,this.type=t.type!==void 0?t.type:"WallConstructionSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new hd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.ground_construction=this.ground_construction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};As([d(Z),c(),p()],no.prototype,"interior_construction",2),As([d(Z),c(),p()],no.prototype,"exterior_construction",2),As([d(Z),c(),p()],no.prototype,"ground_construction",2),As([l(),p()],no.prototype,"type",2);let dl=no;var db=Object.defineProperty,fb=Object.getOwnPropertyDescriptor,De=(n,t,e,i)=>{for(var r=i>1?void 0:i?fb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&db(t,e,r),r};const ee=class _d extends O{constructor(){super(),a(this,"type"),a(this,"wall_set"),a(this,"floor_set"),a(this,"roof_ceiling_set"),a(this,"aperture_set"),a(this,"door_set"),a(this,"shade_construction"),a(this,"air_boundary_construction"),this.type="ConstructionSet"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ConstructionSet",this.wall_set=t.wall_set,this.floor_set=t.floor_set,this.roof_ceiling_set=t.roof_ceiling_set,this.aperture_set=t.aperture_set,this.door_set=t.door_set,this.shade_construction=t.shade_construction,this.air_boundary_construction=t.air_boundary_construction)}static fromJS(t){t=typeof t=="object"?t:{};let e=new _d;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.wall_set=this.wall_set,t.floor_set=this.floor_set,t.roof_ceiling_set=this.roof_ceiling_set,t.aperture_set=this.aperture_set,t.door_set=this.door_set,t.shade_construction=this.shade_construction,t.air_boundary_construction=this.air_boundary_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};De([l(),p()],ee.prototype,"type",2),De([d(dl),c(),p()],ee.prototype,"wall_set",2),De([d(ul),c(),p()],ee.prototype,"floor_set",2),De([d(yl),c(),p()],ee.prototype,"roof_ceiling_set",2),De([d(ll),c(),p()],ee.prototype,"aperture_set",2),De([d(_l),c(),p()],ee.prototype,"door_set",2),De([d(te),c(),p()],ee.prototype,"shade_construction",2),De([p()],ee.prototype,"air_boundary_construction",2);let Ps=ee;var mb=Object.defineProperty,vb=Object.getOwnPropertyDescriptor,oo=(n,t,e,i)=>{for(var r=i>1?void 0:i?vb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&mb(t,e,r),r};const Qr=class ud extends w{constructor(){super(),a(this,"type"),a(this,"interior_construction"),a(this,"window_construction"),a(this,"skylight_construction"),a(this,"operable_construction"),this.type="ApertureConstructionSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ApertureConstructionSetAbridged",this.interior_construction=t.interior_construction,this.window_construction=t.window_construction,this.skylight_construction=t.skylight_construction,this.operable_construction=t.operable_construction)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ud;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.interior_construction=this.interior_construction,t.window_construction=this.window_construction,t.skylight_construction=this.skylight_construction,t.operable_construction=this.operable_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};oo([l(),p()],Qr.prototype,"type",2),oo([l(),p()],Qr.prototype,"interior_construction",2),oo([l(),p()],Qr.prototype,"window_construction",2),oo([l(),p()],Qr.prototype,"skylight_construction",2),oo([l(),p()],Qr.prototype,"operable_construction",2);let Kr=Qr;var gb=Object.defineProperty,bb=Object.getOwnPropertyDescriptor,tn=(n,t,e,i)=>{for(var r=i>1?void 0:i?bb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&gb(t,e,r),r};const Gi=class yd extends w{constructor(){super(),a(this,"type"),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"overhead_construction"),a(this,"exterior_glass_construction"),a(this,"interior_glass_construction"),this.type="DoorConstructionSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DoorConstructionSetAbridged",this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.overhead_construction=t.overhead_construction,this.exterior_glass_construction=t.exterior_glass_construction,this.interior_glass_construction=t.interior_glass_construction)}static fromJS(t){t=typeof t=="object"?t:{};let e=new yd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.overhead_construction=this.overhead_construction,t.exterior_glass_construction=this.exterior_glass_construction,t.interior_glass_construction=this.interior_glass_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};tn([l(),p()],Gi.prototype,"type",2),tn([l(),p()],Gi.prototype,"interior_construction",2),tn([l(),p()],Gi.prototype,"exterior_construction",2),tn([l(),p()],Gi.prototype,"overhead_construction",2),tn([l(),p()],Gi.prototype,"exterior_glass_construction",2),tn([l(),p()],Gi.prototype,"interior_glass_construction",2);let en=Gi;var wb=Object.defineProperty,Ob=Object.getOwnPropertyDescriptor,Sb=(n,t,e,i)=>{for(var r=i>1?void 0:i?Ob(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&wb(t,e,r),r};const ju=class dd extends ao{constructor(){super(),a(this,"type"),this.type="RoofCeilingConstructionSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RoofCeilingConstructionSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new dd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Sb([l(),p()],ju.prototype,"type",2);let Di=ju;var jb=Object.defineProperty,Ab=Object.getOwnPropertyDescriptor,Pb=(n,t,e,i)=>{for(var r=i>1?void 0:i?Ab(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&jb(t,e,r),r};const Au=class fd extends ao{constructor(){super(),a(this,"type"),this.type="WallConstructionSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"WallConstructionSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new fd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Pb([l(),p()],Au.prototype,"type",2);let Ji=Au;var Cb=Object.defineProperty,Eb=Object.getOwnPropertyDescriptor,Cs=(n,t,e,i)=>{for(var r=i>1?void 0:i?Eb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Cb(t,e,r),r};const so=class md extends w{constructor(){super(),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"ground_construction"),a(this,"type"),this.type="_FaceSubSetAbridged"}init(t){super.init(t),t&&(this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.ground_construction=t.ground_construction,this.type=t.type!==void 0?t.type:"_FaceSubSetAbridged")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="WallConstructionSetAbridged"){let i=new Ji;return i.init(t),i}if(t.type==="FloorConstructionSetAbridged"){let i=new Mi;return i.init(t),i}if(t.type==="RoofCeilingConstructionSetAbridged"){let i=new Di;return i.init(t),i}let e=new md;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.ground_construction=this.ground_construction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Cs([l(),p()],so.prototype,"interior_construction",2),Cs([l(),p()],so.prototype,"exterior_construction",2),Cs([l(),p()],so.prototype,"ground_construction",2),Cs([l(),p()],so.prototype,"type",2);let ao=so;var xb=Object.defineProperty,Gb=Object.getOwnPropertyDescriptor,Db=(n,t,e,i)=>{for(var r=i>1?void 0:i?Gb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&xb(t,e,r),r};const Pu=class vd extends ao{constructor(){super(),a(this,"type"),this.type="FloorConstructionSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"FloorConstructionSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new vd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Db([l(),p()],Pu.prototype,"type",2);let Mi=Pu;var Jb=Object.defineProperty,Mb=Object.getOwnPropertyDescriptor,Je=(n,t,e,i)=>{for(var r=i>1?void 0:i?Mb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Jb(t,e,r),r};const ie=class gd extends O{constructor(){super(),a(this,"type"),a(this,"wall_set"),a(this,"floor_set"),a(this,"roof_ceiling_set"),a(this,"aperture_set"),a(this,"door_set"),a(this,"shade_construction"),a(this,"air_boundary_construction"),this.type="ConstructionSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ConstructionSetAbridged",this.wall_set=t.wall_set,this.floor_set=t.floor_set,this.roof_ceiling_set=t.roof_ceiling_set,this.aperture_set=t.aperture_set,this.door_set=t.door_set,this.shade_construction=t.shade_construction,this.air_boundary_construction=t.air_boundary_construction)}static fromJS(t){t=typeof t=="object"?t:{};let e=new gd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.wall_set=this.wall_set,t.floor_set=this.floor_set,t.roof_ceiling_set=this.roof_ceiling_set,t.aperture_set=this.aperture_set,t.door_set=this.door_set,t.shade_construction=this.shade_construction,t.air_boundary_construction=this.air_boundary_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Je([l(),p()],ie.prototype,"type",2),Je([d(Ji),c(),p()],ie.prototype,"wall_set",2),Je([d(Mi),c(),p()],ie.prototype,"floor_set",2),Je([d(Di),c(),p()],ie.prototype,"roof_ceiling_set",2),Je([d(Kr),c(),p()],ie.prototype,"aperture_set",2),Je([d(en),c(),p()],ie.prototype,"door_set",2),Je([l(),p()],ie.prototype,"shade_construction",2),Je([l(),p()],ie.prototype,"air_boundary_construction",2);let Es=ie;var Nb=Object.defineProperty,Rb=Object.getOwnPropertyDescriptor,Cu=(n,t,e,i)=>{for(var r=i>1?void 0:i?Rb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Nb(t,e,r),r};const fl=class bd extends O{constructor(){super(),a(this,"specification"),a(this,"type"),this.type="DetailedHVAC"}init(t){super.init(t),t&&(this.specification=t.specification,this.type=t.type!==void 0?t.type:"DetailedHVAC")}static fromJS(t){t=typeof t=="object"?t:{};let e=new bd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.specification=this.specification,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Cu([y()],fl.prototype,"specification",2),Cu([l(),p()],fl.prototype,"type",2);let xs=fl;var Vb=Object.defineProperty,Wb=Object.getOwnPropertyDescriptor,rn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Wb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Vb(t,e,r),r};const Ni=class wd extends O{constructor(){super(),a(this,"watts_per_area"),a(this,"schedule"),a(this,"radiant_fraction"),a(this,"latent_fraction"),a(this,"lost_fraction"),a(this,"type"),this.radiant_fraction=0,this.latent_fraction=0,this.lost_fraction=0,this.type="ElectricEquipment"}init(t){super.init(t),t&&(this.watts_per_area=t.watts_per_area,this.schedule=t.schedule,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:0,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:0,this.lost_fraction=t.lost_fraction!==void 0?t.lost_fraction:0,this.type=t.type!==void 0?t.type:"ElectricEquipment")}static fromJS(t){t=typeof t=="object"?t:{};let e=new wd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.watts_per_area=this.watts_per_area,t.schedule=this.schedule,t.radiant_fraction=this.radiant_fraction,t.latent_fraction=this.latent_fraction,t.lost_fraction=this.lost_fraction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};rn([h(),y()],Ni.prototype,"watts_per_area",2),rn([y()],Ni.prototype,"schedule",2),rn([h(),p()],Ni.prototype,"radiant_fraction",2),rn([h(),p()],Ni.prototype,"latent_fraction",2),rn([h(),p()],Ni.prototype,"lost_fraction",2),rn([l(),p()],Ni.prototype,"type",2);let po=Ni;var Ft=(n=>(n.VeryRough="VeryRough",n.Rough="Rough",n.MediumRough="MediumRough",n.MediumSmooth="MediumSmooth",n.Smooth="Smooth",n.VerySmooth="VerySmooth",n))(Ft||{}),Bb=Object.defineProperty,$b=Object.getOwnPropertyDescriptor,re=(n,t,e,i)=>{for(var r=i>1?void 0:i?$b(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Bb(t,e,r),r};const It=class Od extends O{constructor(){super(),a(this,"thickness"),a(this,"conductivity"),a(this,"density"),a(this,"specific_heat"),a(this,"type"),a(this,"roughness"),a(this,"thermal_absorptance"),a(this,"solar_absorptance"),a(this,"visible_absorptance"),this.type="EnergyMaterial",this.roughness=Ft.MediumRough,this.thermal_absorptance=.9,this.solar_absorptance=.7,this.visible_absorptance=.7}init(t){super.init(t),t&&(this.thickness=t.thickness,this.conductivity=t.conductivity,this.density=t.density,this.specific_heat=t.specific_heat,this.type=t.type!==void 0?t.type:"EnergyMaterial",this.roughness=t.roughness!==void 0?t.roughness:Ft.MediumRough,this.thermal_absorptance=t.thermal_absorptance!==void 0?t.thermal_absorptance:.9,this.solar_absorptance=t.solar_absorptance!==void 0?t.solar_absorptance:.7,this.visible_absorptance=t.visible_absorptance!==void 0?t.visible_absorptance:.7)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Od;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.thickness=this.thickness,t.conductivity=this.conductivity,t.density=this.density,t.specific_heat=this.specific_heat,t.type=this.type,t.roughness=this.roughness,t.thermal_absorptance=this.thermal_absorptance,t.solar_absorptance=this.solar_absorptance,t.visible_absorptance=this.visible_absorptance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};re([h(),y()],It.prototype,"thickness",2),re([h(),y()],It.prototype,"conductivity",2),re([h(),y()],It.prototype,"density",2),re([h(),y()],It.prototype,"specific_heat",2),re([l(),p()],It.prototype,"type",2),re([b(Ft),c(),p()],It.prototype,"roughness",2),re([h(),p()],It.prototype,"thermal_absorptance",2),re([h(),p()],It.prototype,"solar_absorptance",2),re([h(),p()],It.prototype,"visible_absorptance",2);let H=It;var Hb=Object.defineProperty,Fb=Object.getOwnPropertyDescriptor,nn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Fb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Hb(t,e,r),r};const Ri=class Sd extends O{constructor(){super(),a(this,"r_value"),a(this,"type"),a(this,"roughness"),a(this,"thermal_absorptance"),a(this,"solar_absorptance"),a(this,"visible_absorptance"),this.type="EnergyMaterialNoMass",this.roughness=Ft.MediumRough,this.thermal_absorptance=.9,this.solar_absorptance=.7,this.visible_absorptance=.7}init(t){super.init(t),t&&(this.r_value=t.r_value,this.type=t.type!==void 0?t.type:"EnergyMaterialNoMass",this.roughness=t.roughness!==void 0?t.roughness:Ft.MediumRough,this.thermal_absorptance=t.thermal_absorptance!==void 0?t.thermal_absorptance:.9,this.solar_absorptance=t.solar_absorptance!==void 0?t.solar_absorptance:.7,this.visible_absorptance=t.visible_absorptance!==void 0?t.visible_absorptance:.7)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Sd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.r_value=this.r_value,t.type=this.type,t.roughness=this.roughness,t.thermal_absorptance=this.thermal_absorptance,t.solar_absorptance=this.solar_absorptance,t.visible_absorptance=this.visible_absorptance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};nn([h(),y()],Ri.prototype,"r_value",2),nn([l(),p()],Ri.prototype,"type",2),nn([b(Ft),c(),p()],Ri.prototype,"roughness",2),nn([h(),p()],Ri.prototype,"thermal_absorptance",2),nn([h(),p()],Ri.prototype,"solar_absorptance",2),nn([h(),p()],Ri.prototype,"visible_absorptance",2);let Gs=Ri;var Ds=(n=>(n.Simple="Simple",n.Advanced="Advanced",n))(Ds||{}),Ib=Object.defineProperty,qb=Object.getOwnPropertyDescriptor,Q=(n,t,e,i)=>{for(var r=i>1?void 0:i?qb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Ib(t,e,r),r};const Y=class jd extends O{constructor(){super(),a(this,"type"),a(this,"roughness"),a(this,"thickness"),a(this,"conductivity"),a(this,"density"),a(this,"specific_heat"),a(this,"soil_thermal_absorptance"),a(this,"soil_solar_absorptance"),a(this,"soil_visible_absorptance"),a(this,"plant_height"),a(this,"leaf_area_index"),a(this,"leaf_reflectivity"),a(this,"leaf_emissivity"),a(this,"min_stomatal_resist"),a(this,"sat_vol_moist_cont"),a(this,"residual_vol_moist_cont"),a(this,"init_vol_moist_cont"),a(this,"moist_diff_model"),this.type="EnergyMaterialVegetation",this.roughness=Ft.MediumRough,this.thickness=.1,this.conductivity=.35,this.density=1100,this.specific_heat=1200,this.soil_thermal_absorptance=.9,this.soil_solar_absorptance=.7,this.soil_visible_absorptance=.7,this.plant_height=.2,this.leaf_area_index=1,this.leaf_reflectivity=.22,this.leaf_emissivity=.95,this.min_stomatal_resist=180,this.sat_vol_moist_cont=.3,this.residual_vol_moist_cont=.01,this.init_vol_moist_cont=.01,this.moist_diff_model=Ds.Simple}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"EnergyMaterialVegetation",this.roughness=t.roughness!==void 0?t.roughness:Ft.MediumRough,this.thickness=t.thickness!==void 0?t.thickness:.1,this.conductivity=t.conductivity!==void 0?t.conductivity:.35,this.density=t.density!==void 0?t.density:1100,this.specific_heat=t.specific_heat!==void 0?t.specific_heat:1200,this.soil_thermal_absorptance=t.soil_thermal_absorptance!==void 0?t.soil_thermal_absorptance:.9,this.soil_solar_absorptance=t.soil_solar_absorptance!==void 0?t.soil_solar_absorptance:.7,this.soil_visible_absorptance=t.soil_visible_absorptance!==void 0?t.soil_visible_absorptance:.7,this.plant_height=t.plant_height!==void 0?t.plant_height:.2,this.leaf_area_index=t.leaf_area_index!==void 0?t.leaf_area_index:1,this.leaf_reflectivity=t.leaf_reflectivity!==void 0?t.leaf_reflectivity:.22,this.leaf_emissivity=t.leaf_emissivity!==void 0?t.leaf_emissivity:.95,this.min_stomatal_resist=t.min_stomatal_resist!==void 0?t.min_stomatal_resist:180,this.sat_vol_moist_cont=t.sat_vol_moist_cont!==void 0?t.sat_vol_moist_cont:.3,this.residual_vol_moist_cont=t.residual_vol_moist_cont!==void 0?t.residual_vol_moist_cont:.01,this.init_vol_moist_cont=t.init_vol_moist_cont!==void 0?t.init_vol_moist_cont:.01,this.moist_diff_model=t.moist_diff_model!==void 0?t.moist_diff_model:Ds.Simple)}static fromJS(t){t=typeof t=="object"?t:{};let e=new jd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.roughness=this.roughness,t.thickness=this.thickness,t.conductivity=this.conductivity,t.density=this.density,t.specific_heat=this.specific_heat,t.soil_thermal_absorptance=this.soil_thermal_absorptance,t.soil_solar_absorptance=this.soil_solar_absorptance,t.soil_visible_absorptance=this.soil_visible_absorptance,t.plant_height=this.plant_height,t.leaf_area_index=this.leaf_area_index,t.leaf_reflectivity=this.leaf_reflectivity,t.leaf_emissivity=this.leaf_emissivity,t.min_stomatal_resist=this.min_stomatal_resist,t.sat_vol_moist_cont=this.sat_vol_moist_cont,t.residual_vol_moist_cont=this.residual_vol_moist_cont,t.init_vol_moist_cont=this.init_vol_moist_cont,t.moist_diff_model=this.moist_diff_model,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Q([l(),p()],Y.prototype,"type",2),Q([b(Ft),c(),p()],Y.prototype,"roughness",2),Q([h(),p()],Y.prototype,"thickness",2),Q([h(),p()],Y.prototype,"conductivity",2),Q([h(),p()],Y.prototype,"density",2),Q([h(),p()],Y.prototype,"specific_heat",2),Q([h(),p()],Y.prototype,"soil_thermal_absorptance",2),Q([h(),p()],Y.prototype,"soil_solar_absorptance",2),Q([h(),p()],Y.prototype,"soil_visible_absorptance",2),Q([h(),p()],Y.prototype,"plant_height",2),Q([h(),p()],Y.prototype,"leaf_area_index",2),Q([h(),p()],Y.prototype,"leaf_reflectivity",2),Q([h(),p()],Y.prototype,"leaf_emissivity",2),Q([h(),p()],Y.prototype,"min_stomatal_resist",2),Q([h(),p()],Y.prototype,"sat_vol_moist_cont",2),Q([h(),p()],Y.prototype,"residual_vol_moist_cont",2),Q([h(),p()],Y.prototype,"init_vol_moist_cont",2),Q([b(Ds),c(),p()],Y.prototype,"moist_diff_model",2);let Js=Y;var Tb=Object.defineProperty,kb=Object.getOwnPropertyDescriptor,ne=(n,t,e,i)=>{for(var r=i>1?void 0:i?kb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Tb(t,e,r),r};const qt=class Ad extends O{constructor(){super(),a(this,"width"),a(this,"conductance"),a(this,"type"),a(this,"edge_to_center_ratio"),a(this,"outside_projection"),a(this,"inside_projection"),a(this,"thermal_absorptance"),a(this,"solar_absorptance"),a(this,"visible_absorptance"),this.type="EnergyWindowFrame",this.edge_to_center_ratio=1,this.outside_projection=0,this.inside_projection=0,this.thermal_absorptance=.9,this.solar_absorptance=.7,this.visible_absorptance=.7}init(t){super.init(t),t&&(this.width=t.width,this.conductance=t.conductance,this.type=t.type!==void 0?t.type:"EnergyWindowFrame",this.edge_to_center_ratio=t.edge_to_center_ratio!==void 0?t.edge_to_center_ratio:1,this.outside_projection=t.outside_projection!==void 0?t.outside_projection:0,this.inside_projection=t.inside_projection!==void 0?t.inside_projection:0,this.thermal_absorptance=t.thermal_absorptance!==void 0?t.thermal_absorptance:.9,this.solar_absorptance=t.solar_absorptance!==void 0?t.solar_absorptance:.7,this.visible_absorptance=t.visible_absorptance!==void 0?t.visible_absorptance:.7)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ad;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.width=this.width,t.conductance=this.conductance,t.type=this.type,t.edge_to_center_ratio=this.edge_to_center_ratio,t.outside_projection=this.outside_projection,t.inside_projection=this.inside_projection,t.thermal_absorptance=this.thermal_absorptance,t.solar_absorptance=this.solar_absorptance,t.visible_absorptance=this.visible_absorptance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ne([h(),y()],qt.prototype,"width",2),ne([h(),y()],qt.prototype,"conductance",2),ne([l(),p()],qt.prototype,"type",2),ne([h(),p()],qt.prototype,"edge_to_center_ratio",2),ne([h(),p()],qt.prototype,"outside_projection",2),ne([h(),p()],qt.prototype,"inside_projection",2),ne([h(),p()],qt.prototype,"thermal_absorptance",2),ne([h(),p()],qt.prototype,"solar_absorptance",2),ne([h(),p()],qt.prototype,"visible_absorptance",2);let co=qt;var Ms=(n=>(n.Horizontal="Horizontal",n.Vertical="Vertical",n))(Ms||{}),zb=Object.defineProperty,Lb=Object.getOwnPropertyDescriptor,I=(n,t,e,i)=>{for(var r=i>1?void 0:i?Lb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&zb(t,e,r),r};const F=class Pd extends O{constructor(){super(),a(this,"type"),a(this,"slat_orientation"),a(this,"slat_width"),a(this,"slat_separation"),a(this,"slat_thickness"),a(this,"slat_angle"),a(this,"slat_conductivity"),a(this,"beam_solar_transmittance"),a(this,"beam_solar_reflectance"),a(this,"beam_solar_reflectance_back"),a(this,"diffuse_solar_transmittance"),a(this,"diffuse_solar_reflectance"),a(this,"diffuse_solar_reflectance_back"),a(this,"beam_visible_transmittance"),a(this,"beam_visible_reflectance"),a(this,"beam_visible_reflectance_back"),a(this,"diffuse_visible_transmittance"),a(this,"diffuse_visible_reflectance"),a(this,"diffuse_visible_reflectance_back"),a(this,"infrared_transmittance"),a(this,"emissivity"),a(this,"emissivity_back"),a(this,"distance_to_glass"),a(this,"top_opening_multiplier"),a(this,"bottom_opening_multiplier"),a(this,"left_opening_multiplier"),a(this,"right_opening_multiplier"),this.type="EnergyWindowMaterialBlind",this.slat_orientation=Ms.Horizontal,this.slat_width=.025,this.slat_separation=.01875,this.slat_thickness=.001,this.slat_angle=45,this.slat_conductivity=221,this.beam_solar_transmittance=0,this.beam_solar_reflectance=.5,this.beam_solar_reflectance_back=.5,this.diffuse_solar_transmittance=0,this.diffuse_solar_reflectance=.5,this.diffuse_solar_reflectance_back=.5,this.beam_visible_transmittance=0,this.beam_visible_reflectance=.5,this.beam_visible_reflectance_back=.5,this.diffuse_visible_transmittance=0,this.diffuse_visible_reflectance=.5,this.diffuse_visible_reflectance_back=.5,this.infrared_transmittance=0,this.emissivity=.9,this.emissivity_back=.9,this.distance_to_glass=.05,this.top_opening_multiplier=.5,this.bottom_opening_multiplier=.5,this.left_opening_multiplier=.5,this.right_opening_multiplier=.5}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"EnergyWindowMaterialBlind",this.slat_orientation=t.slat_orientation!==void 0?t.slat_orientation:Ms.Horizontal,this.slat_width=t.slat_width!==void 0?t.slat_width:.025,this.slat_separation=t.slat_separation!==void 0?t.slat_separation:.01875,this.slat_thickness=t.slat_thickness!==void 0?t.slat_thickness:.001,this.slat_angle=t.slat_angle!==void 0?t.slat_angle:45,this.slat_conductivity=t.slat_conductivity!==void 0?t.slat_conductivity:221,this.beam_solar_transmittance=t.beam_solar_transmittance!==void 0?t.beam_solar_transmittance:0,this.beam_solar_reflectance=t.beam_solar_reflectance!==void 0?t.beam_solar_reflectance:.5,this.beam_solar_reflectance_back=t.beam_solar_reflectance_back!==void 0?t.beam_solar_reflectance_back:.5,this.diffuse_solar_transmittance=t.diffuse_solar_transmittance!==void 0?t.diffuse_solar_transmittance:0,this.diffuse_solar_reflectance=t.diffuse_solar_reflectance!==void 0?t.diffuse_solar_reflectance:.5,this.diffuse_solar_reflectance_back=t.diffuse_solar_reflectance_back!==void 0?t.diffuse_solar_reflectance_back:.5,this.beam_visible_transmittance=t.beam_visible_transmittance!==void 0?t.beam_visible_transmittance:0,this.beam_visible_reflectance=t.beam_visible_reflectance!==void 0?t.beam_visible_reflectance:.5,this.beam_visible_reflectance_back=t.beam_visible_reflectance_back!==void 0?t.beam_visible_reflectance_back:.5,this.diffuse_visible_transmittance=t.diffuse_visible_transmittance!==void 0?t.diffuse_visible_transmittance:0,this.diffuse_visible_reflectance=t.diffuse_visible_reflectance!==void 0?t.diffuse_visible_reflectance:.5,this.diffuse_visible_reflectance_back=t.diffuse_visible_reflectance_back!==void 0?t.diffuse_visible_reflectance_back:.5,this.infrared_transmittance=t.infrared_transmittance!==void 0?t.infrared_transmittance:0,this.emissivity=t.emissivity!==void 0?t.emissivity:.9,this.emissivity_back=t.emissivity_back!==void 0?t.emissivity_back:.9,this.distance_to_glass=t.distance_to_glass!==void 0?t.distance_to_glass:.05,this.top_opening_multiplier=t.top_opening_multiplier!==void 0?t.top_opening_multiplier:.5,this.bottom_opening_multiplier=t.bottom_opening_multiplier!==void 0?t.bottom_opening_multiplier:.5,this.left_opening_multiplier=t.left_opening_multiplier!==void 0?t.left_opening_multiplier:.5,this.right_opening_multiplier=t.right_opening_multiplier!==void 0?t.right_opening_multiplier:.5)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Pd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.slat_orientation=this.slat_orientation,t.slat_width=this.slat_width,t.slat_separation=this.slat_separation,t.slat_thickness=this.slat_thickness,t.slat_angle=this.slat_angle,t.slat_conductivity=this.slat_conductivity,t.beam_solar_transmittance=this.beam_solar_transmittance,t.beam_solar_reflectance=this.beam_solar_reflectance,t.beam_solar_reflectance_back=this.beam_solar_reflectance_back,t.diffuse_solar_transmittance=this.diffuse_solar_transmittance,t.diffuse_solar_reflectance=this.diffuse_solar_reflectance,t.diffuse_solar_reflectance_back=this.diffuse_solar_reflectance_back,t.beam_visible_transmittance=this.beam_visible_transmittance,t.beam_visible_reflectance=this.beam_visible_reflectance,t.beam_visible_reflectance_back=this.beam_visible_reflectance_back,t.diffuse_visible_transmittance=this.diffuse_visible_transmittance,t.diffuse_visible_reflectance=this.diffuse_visible_reflectance,t.diffuse_visible_reflectance_back=this.diffuse_visible_reflectance_back,t.infrared_transmittance=this.infrared_transmittance,t.emissivity=this.emissivity,t.emissivity_back=this.emissivity_back,t.distance_to_glass=this.distance_to_glass,t.top_opening_multiplier=this.top_opening_multiplier,t.bottom_opening_multiplier=this.bottom_opening_multiplier,t.left_opening_multiplier=this.left_opening_multiplier,t.right_opening_multiplier=this.right_opening_multiplier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};I([l(),p()],F.prototype,"type",2),I([b(Ms),c(),p()],F.prototype,"slat_orientation",2),I([h(),p()],F.prototype,"slat_width",2),I([h(),p()],F.prototype,"slat_separation",2),I([h(),p()],F.prototype,"slat_thickness",2),I([h(),p()],F.prototype,"slat_angle",2),I([h(),p()],F.prototype,"slat_conductivity",2),I([h(),p()],F.prototype,"beam_solar_transmittance",2),I([h(),p()],F.prototype,"beam_solar_reflectance",2),I([h(),p()],F.prototype,"beam_solar_reflectance_back",2),I([h(),p()],F.prototype,"diffuse_solar_transmittance",2),I([h(),p()],F.prototype,"diffuse_solar_reflectance",2),I([h(),p()],F.prototype,"diffuse_solar_reflectance_back",2),I([h(),p()],F.prototype,"beam_visible_transmittance",2),I([h(),p()],F.prototype,"beam_visible_reflectance",2),I([h(),p()],F.prototype,"beam_visible_reflectance_back",2),I([h(),p()],F.prototype,"diffuse_visible_transmittance",2),I([h(),p()],F.prototype,"diffuse_visible_reflectance",2),I([h(),p()],F.prototype,"diffuse_visible_reflectance_back",2),I([h(),p()],F.prototype,"infrared_transmittance",2),I([h(),p()],F.prototype,"emissivity",2),I([h(),p()],F.prototype,"emissivity_back",2),I([h(),p()],F.prototype,"distance_to_glass",2),I([h(),p()],F.prototype,"top_opening_multiplier",2),I([h(),p()],F.prototype,"bottom_opening_multiplier",2),I([h(),p()],F.prototype,"left_opening_multiplier",2),I([h(),p()],F.prototype,"right_opening_multiplier",2);let Ns=F;var Rs=(n=>(n.Air="Air",n.Argon="Argon",n.Krypton="Krypton",n.Xenon="Xenon",n))(Rs||{}),Ub=Object.defineProperty,Zb=Object.getOwnPropertyDescriptor,ml=(n,t,e,i)=>{for(var r=i>1?void 0:i?Zb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Ub(t,e,r),r};const Vs=class Cd extends O{constructor(){super(),a(this,"type"),a(this,"thickness"),a(this,"gas_type"),this.type="EnergyWindowMaterialGas",this.thickness=.0125,this.gas_type=Rs.Air}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"EnergyWindowMaterialGas",this.thickness=t.thickness!==void 0?t.thickness:.0125,this.gas_type=t.gas_type!==void 0?t.gas_type:Rs.Air)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Cd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.thickness=this.thickness,t.gas_type=this.gas_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ml([l(),p()],Vs.prototype,"type",2),ml([h(),p()],Vs.prototype,"thickness",2),ml([b(Rs),c(),p()],Vs.prototype,"gas_type",2);let on=Vs;var Yb=Object.defineProperty,Xb=Object.getOwnPropertyDescriptor,yt=(n,t,e,i)=>{for(var r=i>1?void 0:i?Xb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Yb(t,e,r),r};const ct=class Ed extends O{constructor(){super(),a(this,"conductivity_coeff_a"),a(this,"viscosity_coeff_a"),a(this,"specific_heat_coeff_a"),a(this,"specific_heat_ratio"),a(this,"molecular_weight"),a(this,"type"),a(this,"thickness"),a(this,"conductivity_coeff_b"),a(this,"conductivity_coeff_c"),a(this,"viscosity_coeff_b"),a(this,"viscosity_coeff_c"),a(this,"specific_heat_coeff_b"),a(this,"specific_heat_coeff_c"),this.type="EnergyWindowMaterialGasCustom",this.thickness=.0125,this.conductivity_coeff_b=0,this.conductivity_coeff_c=0,this.viscosity_coeff_b=0,this.viscosity_coeff_c=0,this.specific_heat_coeff_b=0,this.specific_heat_coeff_c=0}init(t){super.init(t),t&&(this.conductivity_coeff_a=t.conductivity_coeff_a,this.viscosity_coeff_a=t.viscosity_coeff_a,this.specific_heat_coeff_a=t.specific_heat_coeff_a,this.specific_heat_ratio=t.specific_heat_ratio,this.molecular_weight=t.molecular_weight,this.type=t.type!==void 0?t.type:"EnergyWindowMaterialGasCustom",this.thickness=t.thickness!==void 0?t.thickness:.0125,this.conductivity_coeff_b=t.conductivity_coeff_b!==void 0?t.conductivity_coeff_b:0,this.conductivity_coeff_c=t.conductivity_coeff_c!==void 0?t.conductivity_coeff_c:0,this.viscosity_coeff_b=t.viscosity_coeff_b!==void 0?t.viscosity_coeff_b:0,this.viscosity_coeff_c=t.viscosity_coeff_c!==void 0?t.viscosity_coeff_c:0,this.specific_heat_coeff_b=t.specific_heat_coeff_b!==void 0?t.specific_heat_coeff_b:0,this.specific_heat_coeff_c=t.specific_heat_coeff_c!==void 0?t.specific_heat_coeff_c:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ed;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.conductivity_coeff_a=this.conductivity_coeff_a,t.viscosity_coeff_a=this.viscosity_coeff_a,t.specific_heat_coeff_a=this.specific_heat_coeff_a,t.specific_heat_ratio=this.specific_heat_ratio,t.molecular_weight=this.molecular_weight,t.type=this.type,t.thickness=this.thickness,t.conductivity_coeff_b=this.conductivity_coeff_b,t.conductivity_coeff_c=this.conductivity_coeff_c,t.viscosity_coeff_b=this.viscosity_coeff_b,t.viscosity_coeff_c=this.viscosity_coeff_c,t.specific_heat_coeff_b=this.specific_heat_coeff_b,t.specific_heat_coeff_c=this.specific_heat_coeff_c,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};yt([h(),y()],ct.prototype,"conductivity_coeff_a",2),yt([h(),y()],ct.prototype,"viscosity_coeff_a",2),yt([h(),y()],ct.prototype,"specific_heat_coeff_a",2),yt([h(),y()],ct.prototype,"specific_heat_ratio",2),yt([h(),y()],ct.prototype,"molecular_weight",2),yt([l(),p()],ct.prototype,"type",2),yt([h(),p()],ct.prototype,"thickness",2),yt([h(),p()],ct.prototype,"conductivity_coeff_b",2),yt([h(),p()],ct.prototype,"conductivity_coeff_c",2),yt([h(),p()],ct.prototype,"viscosity_coeff_b",2),yt([h(),p()],ct.prototype,"viscosity_coeff_c",2),yt([h(),p()],ct.prototype,"specific_heat_coeff_b",2),yt([h(),p()],ct.prototype,"specific_heat_coeff_c",2);let Ws=ct;var Qb=Object.defineProperty,Kb=Object.getOwnPropertyDescriptor,Bs=(n,t,e,i)=>{for(var r=i>1?void 0:i?Kb(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Qb(t,e,r),r};const lo=class xd extends O{constructor(){super(),a(this,"gas_types"),a(this,"gas_fractions"),a(this,"type"),a(this,"thickness"),this.type="EnergyWindowMaterialGasMixture",this.thickness=.0125}init(t){super.init(t),t&&(this.gas_types=t.gas_types,this.gas_fractions=t.gas_fractions,this.type=t.type!==void 0?t.type:"EnergyWindowMaterialGasMixture",this.thickness=t.thickness!==void 0?t.thickness:.0125)}static fromJS(t){t=typeof t=="object"?t:{};let e=new xd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.gas_types=this.gas_types,t.gas_fractions=this.gas_fractions,t.type=this.type,t.thickness=this.thickness,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Bs([m(),c({each:!0}),y()],lo.prototype,"gas_types",2),Bs([m(),c({each:!0}),y()],lo.prototype,"gas_fractions",2),Bs([l(),p()],lo.prototype,"type",2),Bs([h(),p()],lo.prototype,"thickness",2);let $s=lo;var tw=Object.defineProperty,ew=Object.getOwnPropertyDescriptor,iw=(n,t,e,i)=>{for(var r=i>1?void 0:i?ew(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&tw(t,e,r),r};const Eu=class Gd extends w{constructor(){super(),a(this,"type"),this.type="Autocalculate"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Autocalculate")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Gd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};iw([l(),p()],Eu.prototype,"type",2);let R=Eu;var rw=Object.defineProperty,nw=Object.getOwnPropertyDescriptor,lt=(n,t,e,i)=>{for(var r=i>1?void 0:i?nw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&rw(t,e,r),r};const st=class Dd extends O{constructor(){super(),a(this,"type"),a(this,"thickness"),a(this,"solar_transmittance"),a(this,"solar_reflectance"),a(this,"solar_reflectance_back"),a(this,"visible_transmittance"),a(this,"visible_reflectance"),a(this,"visible_reflectance_back"),a(this,"infrared_transmittance"),a(this,"emissivity"),a(this,"emissivity_back"),a(this,"conductivity"),a(this,"dirt_correction"),a(this,"solar_diffusing"),this.type="EnergyWindowMaterialGlazing",this.thickness=.003,this.solar_transmittance=.85,this.solar_reflectance=.075,this.solar_reflectance_back=new R,this.visible_transmittance=.9,this.visible_reflectance=.075,this.visible_reflectance_back=new R,this.infrared_transmittance=0,this.emissivity=.84,this.emissivity_back=.84,this.conductivity=.9,this.dirt_correction=1,this.solar_diffusing=!1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"EnergyWindowMaterialGlazing",this.thickness=t.thickness!==void 0?t.thickness:.003,this.solar_transmittance=t.solar_transmittance!==void 0?t.solar_transmittance:.85,this.solar_reflectance=t.solar_reflectance!==void 0?t.solar_reflectance:.075,this.solar_reflectance_back=t.solar_reflectance_back!==void 0?t.solar_reflectance_back:new R,this.visible_transmittance=t.visible_transmittance!==void 0?t.visible_transmittance:.9,this.visible_reflectance=t.visible_reflectance!==void 0?t.visible_reflectance:.075,this.visible_reflectance_back=t.visible_reflectance_back!==void 0?t.visible_reflectance_back:new R,this.infrared_transmittance=t.infrared_transmittance!==void 0?t.infrared_transmittance:0,this.emissivity=t.emissivity!==void 0?t.emissivity:.84,this.emissivity_back=t.emissivity_back!==void 0?t.emissivity_back:.84,this.conductivity=t.conductivity!==void 0?t.conductivity:.9,this.dirt_correction=t.dirt_correction!==void 0?t.dirt_correction:1,this.solar_diffusing=t.solar_diffusing!==void 0?t.solar_diffusing:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Dd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.thickness=this.thickness,t.solar_transmittance=this.solar_transmittance,t.solar_reflectance=this.solar_reflectance,t.solar_reflectance_back=this.solar_reflectance_back,t.visible_transmittance=this.visible_transmittance,t.visible_reflectance=this.visible_reflectance,t.visible_reflectance_back=this.visible_reflectance_back,t.infrared_transmittance=this.infrared_transmittance,t.emissivity=this.emissivity,t.emissivity_back=this.emissivity_back,t.conductivity=this.conductivity,t.dirt_correction=this.dirt_correction,t.solar_diffusing=this.solar_diffusing,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};lt([l(),p()],st.prototype,"type",2),lt([h(),p()],st.prototype,"thickness",2),lt([h(),p()],st.prototype,"solar_transmittance",2),lt([h(),p()],st.prototype,"solar_reflectance",2),lt([p()],st.prototype,"solar_reflectance_back",2),lt([h(),p()],st.prototype,"visible_transmittance",2),lt([h(),p()],st.prototype,"visible_reflectance",2),lt([p()],st.prototype,"visible_reflectance_back",2),lt([h(),p()],st.prototype,"infrared_transmittance",2),lt([h(),p()],st.prototype,"emissivity",2),lt([h(),p()],st.prototype,"emissivity_back",2),lt([h(),p()],st.prototype,"conductivity",2),lt([h(),p()],st.prototype,"dirt_correction",2),lt([D(),p()],st.prototype,"solar_diffusing",2);let Me=st;var ow=Object.defineProperty,sw=Object.getOwnPropertyDescriptor,at=(n,t,e,i)=>{for(var r=i>1?void 0:i?sw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ow(t,e,r),r};const ot=class Jd extends O{constructor(){super(),a(this,"type"),a(this,"solar_transmittance"),a(this,"solar_reflectance"),a(this,"visible_transmittance"),a(this,"visible_reflectance"),a(this,"emissivity"),a(this,"infrared_transmittance"),a(this,"thickness"),a(this,"conductivity"),a(this,"distance_to_glass"),a(this,"top_opening_multiplier"),a(this,"bottom_opening_multiplier"),a(this,"left_opening_multiplier"),a(this,"right_opening_multiplier"),a(this,"airflow_permeability"),this.type="EnergyWindowMaterialShade",this.solar_transmittance=.4,this.solar_reflectance=.5,this.visible_transmittance=.4,this.visible_reflectance=.4,this.emissivity=.9,this.infrared_transmittance=0,this.thickness=.005,this.conductivity=.1,this.distance_to_glass=.05,this.top_opening_multiplier=.5,this.bottom_opening_multiplier=.5,this.left_opening_multiplier=.5,this.right_opening_multiplier=.5,this.airflow_permeability=0}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"EnergyWindowMaterialShade",this.solar_transmittance=t.solar_transmittance!==void 0?t.solar_transmittance:.4,this.solar_reflectance=t.solar_reflectance!==void 0?t.solar_reflectance:.5,this.visible_transmittance=t.visible_transmittance!==void 0?t.visible_transmittance:.4,this.visible_reflectance=t.visible_reflectance!==void 0?t.visible_reflectance:.4,this.emissivity=t.emissivity!==void 0?t.emissivity:.9,this.infrared_transmittance=t.infrared_transmittance!==void 0?t.infrared_transmittance:0,this.thickness=t.thickness!==void 0?t.thickness:.005,this.conductivity=t.conductivity!==void 0?t.conductivity:.1,this.distance_to_glass=t.distance_to_glass!==void 0?t.distance_to_glass:.05,this.top_opening_multiplier=t.top_opening_multiplier!==void 0?t.top_opening_multiplier:.5,this.bottom_opening_multiplier=t.bottom_opening_multiplier!==void 0?t.bottom_opening_multiplier:.5,this.left_opening_multiplier=t.left_opening_multiplier!==void 0?t.left_opening_multiplier:.5,this.right_opening_multiplier=t.right_opening_multiplier!==void 0?t.right_opening_multiplier:.5,this.airflow_permeability=t.airflow_permeability!==void 0?t.airflow_permeability:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Jd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.solar_transmittance=this.solar_transmittance,t.solar_reflectance=this.solar_reflectance,t.visible_transmittance=this.visible_transmittance,t.visible_reflectance=this.visible_reflectance,t.emissivity=this.emissivity,t.infrared_transmittance=this.infrared_transmittance,t.thickness=this.thickness,t.conductivity=this.conductivity,t.distance_to_glass=this.distance_to_glass,t.top_opening_multiplier=this.top_opening_multiplier,t.bottom_opening_multiplier=this.bottom_opening_multiplier,t.left_opening_multiplier=this.left_opening_multiplier,t.right_opening_multiplier=this.right_opening_multiplier,t.airflow_permeability=this.airflow_permeability,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};at([l(),p()],ot.prototype,"type",2),at([h(),p()],ot.prototype,"solar_transmittance",2),at([h(),p()],ot.prototype,"solar_reflectance",2),at([h(),p()],ot.prototype,"visible_transmittance",2),at([h(),p()],ot.prototype,"visible_reflectance",2),at([h(),p()],ot.prototype,"emissivity",2),at([h(),p()],ot.prototype,"infrared_transmittance",2),at([h(),p()],ot.prototype,"thickness",2),at([h(),p()],ot.prototype,"conductivity",2),at([h(),p()],ot.prototype,"distance_to_glass",2),at([h(),p()],ot.prototype,"top_opening_multiplier",2),at([h(),p()],ot.prototype,"bottom_opening_multiplier",2),at([h(),p()],ot.prototype,"left_opening_multiplier",2),at([h(),p()],ot.prototype,"right_opening_multiplier",2),at([h(),p()],ot.prototype,"airflow_permeability",2);let Hs=ot;var aw=Object.defineProperty,pw=Object.getOwnPropertyDescriptor,Fs=(n,t,e,i)=>{for(var r=i>1?void 0:i?pw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&aw(t,e,r),r};const ho=class Md extends O{constructor(){super(),a(this,"u_factor"),a(this,"shgc"),a(this,"type"),a(this,"vt"),this.type="EnergyWindowMaterialSimpleGlazSys",this.vt=.54}init(t){super.init(t),t&&(this.u_factor=t.u_factor,this.shgc=t.shgc,this.type=t.type!==void 0?t.type:"EnergyWindowMaterialSimpleGlazSys",this.vt=t.vt!==void 0?t.vt:.54)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Md;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.u_factor=this.u_factor,t.shgc=this.shgc,t.type=this.type,t.vt=this.vt,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Fs([h(),y()],ho.prototype,"u_factor",2),Fs([h(),y()],ho.prototype,"shgc",2),Fs([l(),p()],ho.prototype,"type",2),Fs([h(),p()],ho.prototype,"vt",2);let Is=ho;var qs=(n=>(n.EvapCoolers_ElectricBaseboard="EvapCoolers_ElectricBaseboard",n.EvapCoolers_BoilerBaseboard="EvapCoolers_BoilerBaseboard",n.EvapCoolers_ASHPBaseboard="EvapCoolers_ASHPBaseboard",n.EvapCoolers_DHWBaseboard="EvapCoolers_DHWBaseboard",n.EvapCoolers_Furnace="EvapCoolers_Furnace",n.EvapCoolers_UnitHeaters="EvapCoolers_UnitHeaters",n.EvapCoolers="EvapCoolers",n))(qs||{}),cw=Object.defineProperty,lw=Object.getOwnPropertyDescriptor,vl=(n,t,e,i)=>{for(var r=i>1?void 0:i?lw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&cw(t,e,r),r};const Ts=class Nd extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="EvaporativeCooler",this.equipment_type=qs.EvapCoolers_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"EvaporativeCooler",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:qs.EvapCoolers_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Nd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};vl([b(S),c(),p()],Ts.prototype,"vintage",2),vl([l(),p()],Ts.prototype,"type",2),vl([b(qs),c(),p()],Ts.prototype,"equipment_type",2);let ks=Ts;var zs=(n=>(n.FCU_Chiller_Boiler="FCU_Chiller_Boiler",n.FCU_Chiller_ASHP="FCU_Chiller_ASHP",n.FCU_Chiller_DHW="FCU_Chiller_DHW",n.FCU_Chiller_ElectricBaseboard="FCU_Chiller_ElectricBaseboard",n.FCU_Chiller_GasHeaters="FCU_Chiller_GasHeaters",n.FCU_Chiller="FCU_Chiller",n.FCU_ACChiller_Boiler="FCU_ACChiller_Boiler",n.FCU_ACChiller_ASHP="FCU_ACChiller_ASHP",n.FCU_ACChiller_DHW="FCU_ACChiller_DHW",n.FCU_ACChiller_ElectricBaseboard="FCU_ACChiller_ElectricBaseboard",n.FCU_ACChiller_GasHeaters="FCU_ACChiller_GasHeaters",n.FCU_ACChiller="FCU_ACChiller",n.FCU_DCW_Boiler="FCU_DCW_Boiler",n.FCU_DCW_ASHP="FCU_DCW_ASHP",n.FCU_DCW_DHW="FCU_DCW_DHW",n.FCU_DCW_ElectricBaseboard="FCU_DCW_ElectricBaseboard",n.FCU_DCW_GasHeaters="FCU_DCW_GasHeaters",n.FCU_DCW="FCU_DCW",n))(zs||{}),hw=Object.defineProperty,_w=Object.getOwnPropertyDescriptor,gl=(n,t,e,i)=>{for(var r=i>1?void 0:i?_w(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&hw(t,e,r),r};const Ls=class Rd extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="FCU",this.equipment_type=zs.FCU_Chiller_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"FCU",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:zs.FCU_Chiller_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Rd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};gl([b(S),c(),p()],Ls.prototype,"vintage",2),gl([l(),p()],Ls.prototype,"type",2),gl([b(zs),c(),p()],Ls.prototype,"equipment_type",2);let Us=Ls;var Zs=(n=>(n.DOAS_FCU_Chiller_Boiler="DOAS_FCU_Chiller_Boiler",n.DOAS_FCU_Chiller_ASHP="DOAS_FCU_Chiller_ASHP",n.DOAS_FCU_Chiller_DHW="DOAS_FCU_Chiller_DHW",n.DOAS_FCU_Chiller_ElectricBaseboard="DOAS_FCU_Chiller_ElectricBaseboard",n.DOAS_FCU_Chiller_GasHeaters="DOAS_FCU_Chiller_GasHeaters",n.DOAS_FCU_Chiller="DOAS_FCU_Chiller",n.DOAS_FCU_ACChiller_Boiler="DOAS_FCU_ACChiller_Boiler",n.DOAS_FCU_ACChiller_ASHP="DOAS_FCU_ACChiller_ASHP",n.DOAS_FCU_ACChiller_DHW="DOAS_FCU_ACChiller_DHW",n.DOAS_FCU_ACChiller_ElectricBaseboard="DOAS_FCU_ACChiller_ElectricBaseboard",n.DOAS_FCU_ACChiller_GasHeaters="DOAS_FCU_ACChiller_GasHeaters",n.DOAS_FCU_ACChiller="DOAS_FCU_ACChiller",n.DOAS_FCU_DCW_Boiler="DOAS_FCU_DCW_Boiler",n.DOAS_FCU_DCW_ASHP="DOAS_FCU_DCW_ASHP",n.DOAS_FCU_DCW_DHW="DOAS_FCU_DCW_DHW",n.DOAS_FCU_DCW_ElectricBaseboard="DOAS_FCU_DCW_ElectricBaseboard",n.DOAS_FCU_DCW_GasHeaters="DOAS_FCU_DCW_GasHeaters",n.DOAS_FCU_DCW="DOAS_FCU_DCW",n))(Zs||{}),uw=Object.defineProperty,yw=Object.getOwnPropertyDescriptor,Vi=(n,t,e,i)=>{for(var r=i>1?void 0:i?yw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&uw(t,e,r),r};const Ne=class Vd extends O{constructor(){super(),a(this,"vintage"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"doas_availability_schedule"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="FCUwithDOASAbridged",this.equipment_type=Zs.DOAS_FCU_Chiller_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.doas_availability_schedule=t.doas_availability_schedule,this.type=t.type!==void 0?t.type:"FCUwithDOASAbridged",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Zs.DOAS_FCU_Chiller_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Vd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.doas_availability_schedule=this.doas_availability_schedule,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Vi([b(S),c(),p()],Ne.prototype,"vintage",2),Vi([h(),p()],Ne.prototype,"sensible_heat_recovery",2),Vi([h(),p()],Ne.prototype,"latent_heat_recovery",2),Vi([D(),p()],Ne.prototype,"demand_controlled_ventilation",2),Vi([l(),p()],Ne.prototype,"doas_availability_schedule",2),Vi([l(),p()],Ne.prototype,"type",2),Vi([b(Zs),c(),p()],Ne.prototype,"equipment_type",2);let Ys=Ne;var Xs=(n=>(n.Furnace="Furnace",n.Furnace_Electric="Furnace_Electric",n))(Xs||{}),dw=Object.defineProperty,fw=Object.getOwnPropertyDescriptor,bl=(n,t,e,i)=>{for(var r=i>1?void 0:i?fw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&dw(t,e,r),r};const Qs=class Wd extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="ForcedAirFurnace",this.equipment_type=Xs.Furnace}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"ForcedAirFurnace",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Xs.Furnace)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Wd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};bl([b(S),c(),p()],Qs.prototype,"vintage",2),bl([l(),p()],Qs.prototype,"type",2),bl([b(Xs),c(),p()],Qs.prototype,"equipment_type",2);let Ks=Qs;var mw=Object.defineProperty,vw=Object.getOwnPropertyDescriptor,sn=(n,t,e,i)=>{for(var r=i>1?void 0:i?vw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&mw(t,e,r),r};const Wi=class Bd extends O{constructor(){super(),a(this,"watts_per_area"),a(this,"schedule"),a(this,"radiant_fraction"),a(this,"latent_fraction"),a(this,"lost_fraction"),a(this,"type"),this.radiant_fraction=0,this.latent_fraction=0,this.lost_fraction=0,this.type="GasEquipment"}init(t){super.init(t),t&&(this.watts_per_area=t.watts_per_area,this.schedule=t.schedule,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:0,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:0,this.lost_fraction=t.lost_fraction!==void 0?t.lost_fraction:0,this.type=t.type!==void 0?t.type:"GasEquipment")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Bd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.watts_per_area=this.watts_per_area,t.schedule=this.schedule,t.radiant_fraction=this.radiant_fraction,t.latent_fraction=this.latent_fraction,t.lost_fraction=this.lost_fraction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};sn([h(),y()],Wi.prototype,"watts_per_area",2),sn([y()],Wi.prototype,"schedule",2),sn([h(),p()],Wi.prototype,"radiant_fraction",2),sn([h(),p()],Wi.prototype,"latent_fraction",2),sn([h(),p()],Wi.prototype,"lost_fraction",2),sn([l(),p()],Wi.prototype,"type",2);let _o=Wi;var ta=(n=>(n.GasHeaters="GasHeaters",n))(ta||{}),gw=Object.defineProperty,bw=Object.getOwnPropertyDescriptor,wl=(n,t,e,i)=>{for(var r=i>1?void 0:i?bw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&gw(t,e,r),r};const ea=class $d extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="GasUnitHeater",this.equipment_type=ta.GasHeaters}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"GasUnitHeater",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:ta.GasHeaters)}static fromJS(t){t=typeof t=="object"?t:{};let e=new $d;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};wl([b(S),c(),p()],ea.prototype,"vintage",2),wl([l(),p()],ea.prototype,"type",2),wl([b(ta),c(),p()],ea.prototype,"equipment_type",2);let ia=ea;var ww=Object.defineProperty,Ow=Object.getOwnPropertyDescriptor,Sw=(n,t,e,i)=>{for(var r=i>1?void 0:i?Ow(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ww(t,e,r),r};const xu=class Hd extends w{constructor(){super(),a(this,"type"),this.type="Autosize"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Autosize")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Hd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Sw([l(),p()],xu.prototype,"type",2);let an=xu;var ra=(n=>(n.NoEconomizer="NoEconomizer",n.DifferentialDryBulb="DifferentialDryBulb",n.DifferentialEnthalpy="DifferentialEnthalpy",n))(ra||{}),jw=Object.defineProperty,Aw=Object.getOwnPropertyDescriptor,Et=(n,t,e,i)=>{for(var r=i>1?void 0:i?Aw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&jw(t,e,r),r};const wt=class Fd extends O{constructor(){super(),a(this,"type"),a(this,"economizer_type"),a(this,"demand_controlled_ventilation"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"heating_air_temperature"),a(this,"cooling_air_temperature"),a(this,"heating_limit"),a(this,"cooling_limit"),a(this,"heating_availability"),a(this,"cooling_availability"),this.type="IdealAirSystemAbridged",this.economizer_type=ra.DifferentialDryBulb,this.demand_controlled_ventilation=!1,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.heating_air_temperature=50,this.cooling_air_temperature=13,this.heating_limit=new an,this.cooling_limit=new an}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"IdealAirSystemAbridged",this.economizer_type=t.economizer_type!==void 0?t.economizer_type:ra.DifferentialDryBulb,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.heating_air_temperature=t.heating_air_temperature!==void 0?t.heating_air_temperature:50,this.cooling_air_temperature=t.cooling_air_temperature!==void 0?t.cooling_air_temperature:13,this.heating_limit=t.heating_limit!==void 0?t.heating_limit:new an,this.cooling_limit=t.cooling_limit!==void 0?t.cooling_limit:new an,this.heating_availability=t.heating_availability,this.cooling_availability=t.cooling_availability)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Fd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.economizer_type=this.economizer_type,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.heating_air_temperature=this.heating_air_temperature,t.cooling_air_temperature=this.cooling_air_temperature,t.heating_limit=this.heating_limit,t.cooling_limit=this.cooling_limit,t.heating_availability=this.heating_availability,t.cooling_availability=this.cooling_availability,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Et([l(),p()],wt.prototype,"type",2),Et([b(ra),c(),p()],wt.prototype,"economizer_type",2),Et([D(),p()],wt.prototype,"demand_controlled_ventilation",2),Et([h(),p()],wt.prototype,"sensible_heat_recovery",2),Et([h(),p()],wt.prototype,"latent_heat_recovery",2),Et([h(),p()],wt.prototype,"heating_air_temperature",2),Et([h(),p()],wt.prototype,"cooling_air_temperature",2),Et([p()],wt.prototype,"heating_limit",2),Et([p()],wt.prototype,"cooling_limit",2),Et([l(),p()],wt.prototype,"heating_availability",2),Et([l(),p()],wt.prototype,"cooling_availability",2);let na=wt;var Pw=Object.defineProperty,Cw=Object.getOwnPropertyDescriptor,pn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Cw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Pw(t,e,r),r};const Bi=class Id extends O{constructor(){super(),a(this,"flow_per_exterior_area"),a(this,"schedule"),a(this,"type"),a(this,"constant_coefficient"),a(this,"temperature_coefficient"),a(this,"velocity_coefficient"),this.type="Infiltration",this.constant_coefficient=1,this.temperature_coefficient=0,this.velocity_coefficient=0}init(t){super.init(t),t&&(this.flow_per_exterior_area=t.flow_per_exterior_area,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"Infiltration",this.constant_coefficient=t.constant_coefficient!==void 0?t.constant_coefficient:1,this.temperature_coefficient=t.temperature_coefficient!==void 0?t.temperature_coefficient:0,this.velocity_coefficient=t.velocity_coefficient!==void 0?t.velocity_coefficient:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Id;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.flow_per_exterior_area=this.flow_per_exterior_area,t.schedule=this.schedule,t.type=this.type,t.constant_coefficient=this.constant_coefficient,t.temperature_coefficient=this.temperature_coefficient,t.velocity_coefficient=this.velocity_coefficient,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};pn([h(),y()],Bi.prototype,"flow_per_exterior_area",2),pn([y()],Bi.prototype,"schedule",2),pn([l(),p()],Bi.prototype,"type",2),pn([h(),p()],Bi.prototype,"constant_coefficient",2),pn([h(),p()],Bi.prototype,"temperature_coefficient",2),pn([h(),p()],Bi.prototype,"velocity_coefficient",2);let uo=Bi;var Ew=Object.defineProperty,xw=Object.getOwnPropertyDescriptor,cn=(n,t,e,i)=>{for(var r=i>1?void 0:i?xw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Ew(t,e,r),r};const $i=class qd extends O{constructor(){super(),a(this,"flow_per_exterior_area"),a(this,"schedule"),a(this,"type"),a(this,"constant_coefficient"),a(this,"temperature_coefficient"),a(this,"velocity_coefficient"),this.type="InfiltrationAbridged",this.constant_coefficient=1,this.temperature_coefficient=0,this.velocity_coefficient=0}init(t){super.init(t),t&&(this.flow_per_exterior_area=t.flow_per_exterior_area,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"InfiltrationAbridged",this.constant_coefficient=t.constant_coefficient!==void 0?t.constant_coefficient:1,this.temperature_coefficient=t.temperature_coefficient!==void 0?t.temperature_coefficient:0,this.velocity_coefficient=t.velocity_coefficient!==void 0?t.velocity_coefficient:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new qd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.flow_per_exterior_area=this.flow_per_exterior_area,t.schedule=this.schedule,t.type=this.type,t.constant_coefficient=this.constant_coefficient,t.temperature_coefficient=this.temperature_coefficient,t.velocity_coefficient=this.velocity_coefficient,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};cn([h(),y()],$i.prototype,"flow_per_exterior_area",2),cn([l(),y()],$i.prototype,"schedule",2),cn([l(),p()],$i.prototype,"type",2),cn([h(),p()],$i.prototype,"constant_coefficient",2),cn([h(),p()],$i.prototype,"temperature_coefficient",2),cn([h(),p()],$i.prototype,"velocity_coefficient",2);let ln=$i;var Gw=Object.defineProperty,Dw=Object.getOwnPropertyDescriptor,Ol=(n,t,e,i)=>{for(var r=i>1?void 0:i?Dw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Gw(t,e,r),r};const oa=class Td extends O{constructor(){super(),a(this,"construction"),a(this,"area"),a(this,"type"),this.type="InternalMassAbridged"}init(t){super.init(t),t&&(this.construction=t.construction,this.area=t.area,this.type=t.type!==void 0?t.type:"InternalMassAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Td;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.construction=this.construction,t.area=this.area,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ol([l(),y()],oa.prototype,"construction",2),Ol([h(),y()],oa.prototype,"area",2),Ol([l(),p()],oa.prototype,"type",2);let sa=oa;var Jw=Object.defineProperty,Mw=Object.getOwnPropertyDescriptor,Hi=(n,t,e,i)=>{for(var r=i>1?void 0:i?Mw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Jw(t,e,r),r};const Re=class kd extends O{constructor(){super(),a(this,"watts_per_area"),a(this,"schedule"),a(this,"type"),a(this,"visible_fraction"),a(this,"radiant_fraction"),a(this,"return_air_fraction"),a(this,"baseline_watts_per_area"),this.type="Lighting",this.visible_fraction=.25,this.radiant_fraction=.32,this.return_air_fraction=0,this.baseline_watts_per_area=11.84029}init(t){super.init(t),t&&(this.watts_per_area=t.watts_per_area,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"Lighting",this.visible_fraction=t.visible_fraction!==void 0?t.visible_fraction:.25,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:.32,this.return_air_fraction=t.return_air_fraction!==void 0?t.return_air_fraction:0,this.baseline_watts_per_area=t.baseline_watts_per_area!==void 0?t.baseline_watts_per_area:11.84029)}static fromJS(t){t=typeof t=="object"?t:{};let e=new kd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.watts_per_area=this.watts_per_area,t.schedule=this.schedule,t.type=this.type,t.visible_fraction=this.visible_fraction,t.radiant_fraction=this.radiant_fraction,t.return_air_fraction=this.return_air_fraction,t.baseline_watts_per_area=this.baseline_watts_per_area,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Hi([h(),y()],Re.prototype,"watts_per_area",2),Hi([y()],Re.prototype,"schedule",2),Hi([l(),p()],Re.prototype,"type",2),Hi([h(),p()],Re.prototype,"visible_fraction",2),Hi([h(),p()],Re.prototype,"radiant_fraction",2),Hi([h(),p()],Re.prototype,"return_air_fraction",2),Hi([h(),p()],Re.prototype,"baseline_watts_per_area",2);let yo=Re;var Nw=Object.defineProperty,Rw=Object.getOwnPropertyDescriptor,Fi=(n,t,e,i)=>{for(var r=i>1?void 0:i?Rw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Nw(t,e,r),r};const Ve=class zd extends O{constructor(){super(),a(this,"watts_per_area"),a(this,"schedule"),a(this,"type"),a(this,"visible_fraction"),a(this,"radiant_fraction"),a(this,"return_air_fraction"),a(this,"baseline_watts_per_area"),this.type="LightingAbridged",this.visible_fraction=.25,this.radiant_fraction=.32,this.return_air_fraction=0,this.baseline_watts_per_area=11.84029}init(t){super.init(t),t&&(this.watts_per_area=t.watts_per_area,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"LightingAbridged",this.visible_fraction=t.visible_fraction!==void 0?t.visible_fraction:.25,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:.32,this.return_air_fraction=t.return_air_fraction!==void 0?t.return_air_fraction:0,this.baseline_watts_per_area=t.baseline_watts_per_area!==void 0?t.baseline_watts_per_area:11.84029)}static fromJS(t){t=typeof t=="object"?t:{};let e=new zd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.watts_per_area=this.watts_per_area,t.schedule=this.schedule,t.type=this.type,t.visible_fraction=this.visible_fraction,t.radiant_fraction=this.radiant_fraction,t.return_air_fraction=this.return_air_fraction,t.baseline_watts_per_area=this.baseline_watts_per_area,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Fi([h(),y()],Ve.prototype,"watts_per_area",2),Fi([l(),y()],Ve.prototype,"schedule",2),Fi([l(),p()],Ve.prototype,"type",2),Fi([h(),p()],Ve.prototype,"visible_fraction",2),Fi([h(),p()],Ve.prototype,"radiant_fraction",2),Fi([h(),p()],Ve.prototype,"return_air_fraction",2),Fi([h(),p()],Ve.prototype,"baseline_watts_per_area",2);let hn=Ve;var Vw=Object.defineProperty,Ww=Object.getOwnPropertyDescriptor,Gu=(n,t,e,i)=>{for(var r=i>1?void 0:i?Ww(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Vw(t,e,r),r};const Sl=class Ld extends O{constructor(){super(),a(this,"materials"),a(this,"type"),this.type="OpaqueConstructionAbridged"}init(t){super.init(t),t&&(this.materials=t.materials,this.type=t.type!==void 0?t.type:"OpaqueConstructionAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ld;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.materials=this.materials,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Gu([m(),c({each:!0}),y()],Sl.prototype,"materials",2),Gu([l(),p()],Sl.prototype,"type",2);let T=Sl;var Bw=Object.defineProperty,$w=Object.getOwnPropertyDescriptor,_n=(n,t,e,i)=>{for(var r=i>1?void 0:i?$w(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Bw(t,e,r),r};const Ii=class Ud extends O{constructor(){super(),a(this,"people_per_area"),a(this,"occupancy_schedule"),a(this,"type"),a(this,"activity_schedule"),a(this,"radiant_fraction"),a(this,"latent_fraction"),this.type="People",this.radiant_fraction=.3,this.latent_fraction=new R}init(t){super.init(t),t&&(this.people_per_area=t.people_per_area,this.occupancy_schedule=t.occupancy_schedule,this.type=t.type!==void 0?t.type:"People",this.activity_schedule=t.activity_schedule,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:.3,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:new R)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ud;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.people_per_area=this.people_per_area,t.occupancy_schedule=this.occupancy_schedule,t.type=this.type,t.activity_schedule=this.activity_schedule,t.radiant_fraction=this.radiant_fraction,t.latent_fraction=this.latent_fraction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};_n([h(),y()],Ii.prototype,"people_per_area",2),_n([y()],Ii.prototype,"occupancy_schedule",2),_n([l(),p()],Ii.prototype,"type",2),_n([p()],Ii.prototype,"activity_schedule",2),_n([h(),p()],Ii.prototype,"radiant_fraction",2),_n([p()],Ii.prototype,"latent_fraction",2);let fo=Ii;var Hw=Object.defineProperty,Fw=Object.getOwnPropertyDescriptor,un=(n,t,e,i)=>{for(var r=i>1?void 0:i?Fw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Hw(t,e,r),r};const qi=class Zd extends O{constructor(){super(),a(this,"people_per_area"),a(this,"occupancy_schedule"),a(this,"type"),a(this,"activity_schedule"),a(this,"radiant_fraction"),a(this,"latent_fraction"),this.type="PeopleAbridged",this.radiant_fraction=.3,this.latent_fraction=new R}init(t){super.init(t),t&&(this.people_per_area=t.people_per_area,this.occupancy_schedule=t.occupancy_schedule,this.type=t.type!==void 0?t.type:"PeopleAbridged",this.activity_schedule=t.activity_schedule,this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:.3,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:new R)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Zd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.people_per_area=this.people_per_area,t.occupancy_schedule=this.occupancy_schedule,t.type=this.type,t.activity_schedule=this.activity_schedule,t.radiant_fraction=this.radiant_fraction,t.latent_fraction=this.latent_fraction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};un([h(),y()],qi.prototype,"people_per_area",2),un([l(),y()],qi.prototype,"occupancy_schedule",2),un([l(),p()],qi.prototype,"type",2),un([l(),p()],qi.prototype,"activity_schedule",2),un([h(),p()],qi.prototype,"radiant_fraction",2),un([p()],qi.prototype,"latent_fraction",2);let yn=qi;var Du=(n=>(n.Electricity="Electricity",n.NaturalGas="NaturalGas",n.Propane="Propane",n.FuelOilNo1="FuelOilNo1",n.FuelOilNo2="FuelOilNo2",n.Diesel="Diesel",n.Gasoline="Gasoline",n.Coal="Coal",n.Steam="Steam",n.DistrictHeating="DistrictHeating",n.DistrictCooling="DistrictCooling",n.OtherFuel1="OtherFuel1",n.OtherFuel2="OtherFuel2",n.None="None",n))(Du||{}),Iw=Object.defineProperty,qw=Object.getOwnPropertyDescriptor,We=(n,t,e,i)=>{for(var r=i>1?void 0:i?qw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Iw(t,e,r),r};const oe=class Yd extends O{constructor(){super(),a(this,"watts"),a(this,"schedule"),a(this,"fuel_type"),a(this,"type"),a(this,"end_use_category"),a(this,"radiant_fraction"),a(this,"latent_fraction"),a(this,"lost_fraction"),this.type="ProcessAbridged",this.end_use_category="Process",this.radiant_fraction=0,this.latent_fraction=0,this.lost_fraction=0}init(t){super.init(t),t&&(this.watts=t.watts,this.schedule=t.schedule,this.fuel_type=t.fuel_type,this.type=t.type!==void 0?t.type:"ProcessAbridged",this.end_use_category=t.end_use_category!==void 0?t.end_use_category:"Process",this.radiant_fraction=t.radiant_fraction!==void 0?t.radiant_fraction:0,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:0,this.lost_fraction=t.lost_fraction!==void 0?t.lost_fraction:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Yd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.watts=this.watts,t.schedule=this.schedule,t.fuel_type=this.fuel_type,t.type=this.type,t.end_use_category=this.end_use_category,t.radiant_fraction=this.radiant_fraction,t.latent_fraction=this.latent_fraction,t.lost_fraction=this.lost_fraction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};We([h(),y()],oe.prototype,"watts",2),We([l(),y()],oe.prototype,"schedule",2),We([b(Du),c(),y()],oe.prototype,"fuel_type",2),We([l(),p()],oe.prototype,"type",2),We([l(),p()],oe.prototype,"end_use_category",2),We([h(),p()],oe.prototype,"radiant_fraction",2),We([h(),p()],oe.prototype,"latent_fraction",2),We([h(),p()],oe.prototype,"lost_fraction",2);let aa=oe;var Tw=Object.defineProperty,kw=Object.getOwnPropertyDescriptor,dn=(n,t,e,i)=>{for(var r=i>1?void 0:i?kw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Tw(t,e,r),r};const Ti=class Xd extends O{constructor(){super(),a(this,"flow_per_area"),a(this,"schedule"),a(this,"type"),a(this,"target_temperature"),a(this,"sensible_fraction"),a(this,"latent_fraction"),this.type="ServiceHotWater",this.target_temperature=60,this.sensible_fraction=.2,this.latent_fraction=.05}init(t){super.init(t),t&&(this.flow_per_area=t.flow_per_area,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"ServiceHotWater",this.target_temperature=t.target_temperature!==void 0?t.target_temperature:60,this.sensible_fraction=t.sensible_fraction!==void 0?t.sensible_fraction:.2,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:.05)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Xd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.flow_per_area=this.flow_per_area,t.schedule=this.schedule,t.type=this.type,t.target_temperature=this.target_temperature,t.sensible_fraction=this.sensible_fraction,t.latent_fraction=this.latent_fraction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};dn([h(),y()],Ti.prototype,"flow_per_area",2),dn([y()],Ti.prototype,"schedule",2),dn([l(),p()],Ti.prototype,"type",2),dn([h(),p()],Ti.prototype,"target_temperature",2),dn([h(),p()],Ti.prototype,"sensible_fraction",2),dn([h(),p()],Ti.prototype,"latent_fraction",2);let mo=Ti;var zw=Object.defineProperty,Lw=Object.getOwnPropertyDescriptor,fn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Lw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&zw(t,e,r),r};const ki=class Qd extends O{constructor(){super(),a(this,"cooling_schedule"),a(this,"heating_schedule"),a(this,"type"),a(this,"humidifying_schedule"),a(this,"dehumidifying_schedule"),a(this,"setpoint_cutout_difference"),this.type="Setpoint",this.setpoint_cutout_difference=0}init(t){super.init(t),t&&(this.cooling_schedule=t.cooling_schedule,this.heating_schedule=t.heating_schedule,this.type=t.type!==void 0?t.type:"Setpoint",this.humidifying_schedule=t.humidifying_schedule,this.dehumidifying_schedule=t.dehumidifying_schedule,this.setpoint_cutout_difference=t.setpoint_cutout_difference!==void 0?t.setpoint_cutout_difference:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Qd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.cooling_schedule=this.cooling_schedule,t.heating_schedule=this.heating_schedule,t.type=this.type,t.humidifying_schedule=this.humidifying_schedule,t.dehumidifying_schedule=this.dehumidifying_schedule,t.setpoint_cutout_difference=this.setpoint_cutout_difference,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};fn([y()],ki.prototype,"cooling_schedule",2),fn([y()],ki.prototype,"heating_schedule",2),fn([l(),p()],ki.prototype,"type",2),fn([p()],ki.prototype,"humidifying_schedule",2),fn([p()],ki.prototype,"dehumidifying_schedule",2),fn([h(),p()],ki.prototype,"setpoint_cutout_difference",2);let vo=ki;var Uw=Object.defineProperty,Zw=Object.getOwnPropertyDescriptor,mn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Zw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Uw(t,e,r),r};const zi=class Kd extends O{constructor(){super(),a(this,"type"),a(this,"flow_per_person"),a(this,"flow_per_area"),a(this,"air_changes_per_hour"),a(this,"flow_per_zone"),a(this,"schedule"),this.type="Ventilation",this.flow_per_person=0,this.flow_per_area=0,this.air_changes_per_hour=0,this.flow_per_zone=0}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Ventilation",this.flow_per_person=t.flow_per_person!==void 0?t.flow_per_person:0,this.flow_per_area=t.flow_per_area!==void 0?t.flow_per_area:0,this.air_changes_per_hour=t.air_changes_per_hour!==void 0?t.air_changes_per_hour:0,this.flow_per_zone=t.flow_per_zone!==void 0?t.flow_per_zone:0,this.schedule=t.schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Kd;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.flow_per_person=this.flow_per_person,t.flow_per_area=this.flow_per_area,t.air_changes_per_hour=this.air_changes_per_hour,t.flow_per_zone=this.flow_per_zone,t.schedule=this.schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};mn([l(),p()],zi.prototype,"type",2),mn([h(),p()],zi.prototype,"flow_per_person",2),mn([h(),p()],zi.prototype,"flow_per_area",2),mn([h(),p()],zi.prototype,"air_changes_per_hour",2),mn([h(),p()],zi.prototype,"flow_per_zone",2),mn([p()],zi.prototype,"schedule",2);let go=zi;var Yw=Object.defineProperty,Xw=Object.getOwnPropertyDescriptor,se=(n,t,e,i)=>{for(var r=i>1?void 0:i?Xw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Yw(t,e,r),r};const Tt=class tf extends O{constructor(){super(),a(this,"type"),a(this,"people"),a(this,"lighting"),a(this,"electric_equipment"),a(this,"gas_equipment"),a(this,"service_hot_water"),a(this,"infiltration"),a(this,"ventilation"),a(this,"setpoint"),this.type="ProgramType"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ProgramType",this.people=t.people,this.lighting=t.lighting,this.electric_equipment=t.electric_equipment,this.gas_equipment=t.gas_equipment,this.service_hot_water=t.service_hot_water,this.infiltration=t.infiltration,this.ventilation=t.ventilation,this.setpoint=t.setpoint)}static fromJS(t){t=typeof t=="object"?t:{};let e=new tf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.people=this.people,t.lighting=this.lighting,t.electric_equipment=this.electric_equipment,t.gas_equipment=this.gas_equipment,t.service_hot_water=this.service_hot_water,t.infiltration=this.infiltration,t.ventilation=this.ventilation,t.setpoint=this.setpoint,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};se([l(),p()],Tt.prototype,"type",2),se([d(fo),c(),p()],Tt.prototype,"people",2),se([d(yo),c(),p()],Tt.prototype,"lighting",2),se([d(po),c(),p()],Tt.prototype,"electric_equipment",2),se([d(_o),c(),p()],Tt.prototype,"gas_equipment",2),se([d(mo),c(),p()],Tt.prototype,"service_hot_water",2),se([d(uo),c(),p()],Tt.prototype,"infiltration",2),se([d(go),c(),p()],Tt.prototype,"ventilation",2),se([d(vo),c(),p()],Tt.prototype,"setpoint",2);let pa=Tt;var Qw=Object.defineProperty,Kw=Object.getOwnPropertyDescriptor,vn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Kw(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Qw(t,e,r),r};const Li=class ef extends O{constructor(){super(),a(this,"flow_per_area"),a(this,"schedule"),a(this,"type"),a(this,"target_temperature"),a(this,"sensible_fraction"),a(this,"latent_fraction"),this.type="ServiceHotWaterAbridged",this.target_temperature=60,this.sensible_fraction=.2,this.latent_fraction=.05}init(t){super.init(t),t&&(this.flow_per_area=t.flow_per_area,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"ServiceHotWaterAbridged",this.target_temperature=t.target_temperature!==void 0?t.target_temperature:60,this.sensible_fraction=t.sensible_fraction!==void 0?t.sensible_fraction:.2,this.latent_fraction=t.latent_fraction!==void 0?t.latent_fraction:.05)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ef;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.flow_per_area=this.flow_per_area,t.schedule=this.schedule,t.type=this.type,t.target_temperature=this.target_temperature,t.sensible_fraction=this.sensible_fraction,t.latent_fraction=this.latent_fraction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};vn([h(),y()],Li.prototype,"flow_per_area",2),vn([l(),y()],Li.prototype,"schedule",2),vn([l(),p()],Li.prototype,"type",2),vn([h(),p()],Li.prototype,"target_temperature",2),vn([h(),p()],Li.prototype,"sensible_fraction",2),vn([h(),p()],Li.prototype,"latent_fraction",2);let gn=Li;var tO=Object.defineProperty,eO=Object.getOwnPropertyDescriptor,bn=(n,t,e,i)=>{for(var r=i>1?void 0:i?eO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&tO(t,e,r),r};const Ui=class rf extends O{constructor(){super(),a(this,"cooling_schedule"),a(this,"heating_schedule"),a(this,"type"),a(this,"humidifying_schedule"),a(this,"dehumidifying_schedule"),a(this,"setpoint_cutout_difference"),this.type="SetpointAbridged",this.setpoint_cutout_difference=0}init(t){super.init(t),t&&(this.cooling_schedule=t.cooling_schedule,this.heating_schedule=t.heating_schedule,this.type=t.type!==void 0?t.type:"SetpointAbridged",this.humidifying_schedule=t.humidifying_schedule,this.dehumidifying_schedule=t.dehumidifying_schedule,this.setpoint_cutout_difference=t.setpoint_cutout_difference!==void 0?t.setpoint_cutout_difference:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new rf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.cooling_schedule=this.cooling_schedule,t.heating_schedule=this.heating_schedule,t.type=this.type,t.humidifying_schedule=this.humidifying_schedule,t.dehumidifying_schedule=this.dehumidifying_schedule,t.setpoint_cutout_difference=this.setpoint_cutout_difference,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};bn([l(),y()],Ui.prototype,"cooling_schedule",2),bn([l(),y()],Ui.prototype,"heating_schedule",2),bn([l(),p()],Ui.prototype,"type",2),bn([l(),p()],Ui.prototype,"humidifying_schedule",2),bn([l(),p()],Ui.prototype,"dehumidifying_schedule",2),bn([h(),p()],Ui.prototype,"setpoint_cutout_difference",2);let wn=Ui;var iO=Object.defineProperty,rO=Object.getOwnPropertyDescriptor,On=(n,t,e,i)=>{for(var r=i>1?void 0:i?rO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&iO(t,e,r),r};const Zi=class nf extends O{constructor(){super(),a(this,"type"),a(this,"flow_per_person"),a(this,"flow_per_area"),a(this,"air_changes_per_hour"),a(this,"flow_per_zone"),a(this,"schedule"),this.type="VentilationAbridged",this.flow_per_person=0,this.flow_per_area=0,this.air_changes_per_hour=0,this.flow_per_zone=0}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"VentilationAbridged",this.flow_per_person=t.flow_per_person!==void 0?t.flow_per_person:0,this.flow_per_area=t.flow_per_area!==void 0?t.flow_per_area:0,this.air_changes_per_hour=t.air_changes_per_hour!==void 0?t.air_changes_per_hour:0,this.flow_per_zone=t.flow_per_zone!==void 0?t.flow_per_zone:0,this.schedule=t.schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new nf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.flow_per_person=this.flow_per_person,t.flow_per_area=this.flow_per_area,t.air_changes_per_hour=this.air_changes_per_hour,t.flow_per_zone=this.flow_per_zone,t.schedule=this.schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};On([l(),p()],Zi.prototype,"type",2),On([h(),p()],Zi.prototype,"flow_per_person",2),On([h(),p()],Zi.prototype,"flow_per_area",2),On([h(),p()],Zi.prototype,"air_changes_per_hour",2),On([h(),p()],Zi.prototype,"flow_per_zone",2),On([l(),p()],Zi.prototype,"schedule",2);let Sn=Zi;var nO=Object.defineProperty,oO=Object.getOwnPropertyDescriptor,ae=(n,t,e,i)=>{for(var r=i>1?void 0:i?oO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&nO(t,e,r),r};const kt=class of extends O{constructor(){super(),a(this,"type"),a(this,"people"),a(this,"lighting"),a(this,"electric_equipment"),a(this,"gas_equipment"),a(this,"service_hot_water"),a(this,"infiltration"),a(this,"ventilation"),a(this,"setpoint"),this.type="ProgramTypeAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ProgramTypeAbridged",this.people=t.people,this.lighting=t.lighting,this.electric_equipment=t.electric_equipment,this.gas_equipment=t.gas_equipment,this.service_hot_water=t.service_hot_water,this.infiltration=t.infiltration,this.ventilation=t.ventilation,this.setpoint=t.setpoint)}static fromJS(t){t=typeof t=="object"?t:{};let e=new of;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.people=this.people,t.lighting=this.lighting,t.electric_equipment=this.electric_equipment,t.gas_equipment=this.gas_equipment,t.service_hot_water=this.service_hot_water,t.infiltration=this.infiltration,t.ventilation=this.ventilation,t.setpoint=this.setpoint,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ae([l(),p()],kt.prototype,"type",2),ae([d(yn),c(),p()],kt.prototype,"people",2),ae([d(hn),c(),p()],kt.prototype,"lighting",2),ae([d(Pi),c(),p()],kt.prototype,"electric_equipment",2),ae([d(Ci),c(),p()],kt.prototype,"gas_equipment",2),ae([d(gn),c(),p()],kt.prototype,"service_hot_water",2),ae([d(ln),c(),p()],kt.prototype,"infiltration",2),ae([d(Sn),c(),p()],kt.prototype,"ventilation",2),ae([d(wn),c(),p()],kt.prototype,"setpoint",2);let ca=kt;var la=(n=>(n.PSZAC_ElectricBaseboard="PSZAC_ElectricBaseboard",n.PSZAC_BoilerBaseboard="PSZAC_BoilerBaseboard",n.PSZAC_DHWBaseboard="PSZAC_DHWBaseboard",n.PSZAC_GasHeaters="PSZAC_GasHeaters",n.PSZAC_ElectricCoil="PSZAC_ElectricCoil",n.PSZAC_GasCoil="PSZAC_GasCoil",n.PSZAC_Boiler="PSZAC_Boiler",n.PSZAC_ASHP="PSZAC_ASHP",n.PSZAC_DHW="PSZAC_DHW",n.PSZAC="PSZAC",n.PSZAC_DCW_ElectricBaseboard="PSZAC_DCW_ElectricBaseboard",n.PSZAC_DCW_BoilerBaseboard="PSZAC_DCW_BoilerBaseboard",n.PSZAC_DCW_GasHeaters="PSZAC_DCW_GasHeaters",n.PSZAC_DCW_ElectricCoil="PSZAC_DCW_ElectricCoil",n.PSZAC_DCW_GasCoil="PSZAC_DCW_GasCoil",n.PSZAC_DCW_Boiler="PSZAC_DCW_Boiler",n.PSZAC_DCW_ASHP="PSZAC_DCW_ASHP",n.PSZAC_DCW_DHW="PSZAC_DCW_DHW",n.PSZAC_DCW="PSZAC_DCW",n.PSZHP="PSZHP",n))(la||{}),sO=Object.defineProperty,aO=Object.getOwnPropertyDescriptor,Yi=(n,t,e,i)=>{for(var r=i>1?void 0:i?aO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&sO(t,e,r),r};const Be=class sf extends O{constructor(){super(),a(this,"vintage"),a(this,"economizer_type"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.economizer_type=ut.NoEconomizer,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="PSZ",this.equipment_type=la.PSZAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.economizer_type=t.economizer_type!==void 0?t.economizer_type:ut.NoEconomizer,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.type=t.type!==void 0?t.type:"PSZ",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:la.PSZAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new sf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.economizer_type=this.economizer_type,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Yi([b(S),c(),p()],Be.prototype,"vintage",2),Yi([b(ut),c(),p()],Be.prototype,"economizer_type",2),Yi([h(),p()],Be.prototype,"sensible_heat_recovery",2),Yi([h(),p()],Be.prototype,"latent_heat_recovery",2),Yi([D(),p()],Be.prototype,"demand_controlled_ventilation",2),Yi([l(),p()],Be.prototype,"type",2),Yi([b(la),c(),p()],Be.prototype,"equipment_type",2);let ha=Be;var _a=(n=>(n.PTAC_ElectricBaseboard="PTAC_ElectricBaseboard",n.PTAC_BoilerBaseboard="PTAC_BoilerBaseboard",n.PTAC_DHWBaseboard="PTAC_DHWBaseboard",n.PTAC_GasHeaters="PTAC_GasHeaters",n.PTAC_ElectricCoil="PTAC_ElectricCoil",n.PTAC_GasCoil="PTAC_GasCoil",n.PTAC_Boiler="PTAC_Boiler",n.PTAC_ASHP="PTAC_ASHP",n.PTAC_DHW="PTAC_DHW",n.PTAC="PTAC",n.PTHP="PTHP",n))(_a||{}),pO=Object.defineProperty,cO=Object.getOwnPropertyDescriptor,jl=(n,t,e,i)=>{for(var r=i>1?void 0:i?cO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&pO(t,e,r),r};const ua=class af extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="PTAC",this.equipment_type=_a.PTAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"PTAC",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:_a.PTAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new af;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};jl([b(S),c(),p()],ua.prototype,"vintage",2),jl([l(),p()],ua.prototype,"type",2),jl([b(_a),c(),p()],ua.prototype,"equipment_type",2);let ya=ua;var da=(n=>(n.PVAV_Boiler="PVAV_Boiler",n.PVAV_ASHP="PVAV_ASHP",n.PVAV_DHW="PVAV_DHW",n.PVAV_PFP="PVAV_PFP",n.PVAV_BoilerElectricReheat="PVAV_BoilerElectricReheat",n))(da||{}),lO=Object.defineProperty,hO=Object.getOwnPropertyDescriptor,Xi=(n,t,e,i)=>{for(var r=i>1?void 0:i?hO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&lO(t,e,r),r};const $e=class pf extends O{constructor(){super(),a(this,"vintage"),a(this,"economizer_type"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.economizer_type=ut.NoEconomizer,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="PVAV",this.equipment_type=da.PVAV_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.economizer_type=t.economizer_type!==void 0?t.economizer_type:ut.NoEconomizer,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.type=t.type!==void 0?t.type:"PVAV",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:da.PVAV_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new pf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.economizer_type=this.economizer_type,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Xi([b(S),c(),p()],$e.prototype,"vintage",2),Xi([b(ut),c(),p()],$e.prototype,"economizer_type",2),Xi([h(),p()],$e.prototype,"sensible_heat_recovery",2),Xi([h(),p()],$e.prototype,"latent_heat_recovery",2),Xi([D(),p()],$e.prototype,"demand_controlled_ventilation",2),Xi([l(),p()],$e.prototype,"type",2),Xi([b(da),c(),p()],$e.prototype,"equipment_type",2);let fa=$e;var ma=(n=>(n.Standard="Standard",n.Premium="Premium",n.ThinFilm="ThinFilm",n))(ma||{}),va=(n=>(n.FixedOpenRack="FixedOpenRack",n.FixedRoofMounted="FixedRoofMounted",n.OneAxis="OneAxis",n.OneAxisBacktracking="OneAxisBacktracking",n.TwoAxis="TwoAxis",n))(va||{}),_O=Object.defineProperty,uO=Object.getOwnPropertyDescriptor,jn=(n,t,e,i)=>{for(var r=i>1?void 0:i?uO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&_O(t,e,r),r};const Qi=class cf extends _r{constructor(){super(),a(this,"type"),a(this,"rated_efficiency"),a(this,"active_area_fraction"),a(this,"module_type"),a(this,"mounting_type"),a(this,"system_loss_fraction"),this.type="PVProperties",this.rated_efficiency=.15,this.active_area_fraction=.9,this.module_type=ma.Standard,this.mounting_type=va.FixedOpenRack,this.system_loss_fraction=.14}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"PVProperties",this.rated_efficiency=t.rated_efficiency!==void 0?t.rated_efficiency:.15,this.active_area_fraction=t.active_area_fraction!==void 0?t.active_area_fraction:.9,this.module_type=t.module_type!==void 0?t.module_type:ma.Standard,this.mounting_type=t.mounting_type!==void 0?t.mounting_type:va.FixedOpenRack,this.system_loss_fraction=t.system_loss_fraction!==void 0?t.system_loss_fraction:.14)}static fromJS(t){t=typeof t=="object"?t:{};let e=new cf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.rated_efficiency=this.rated_efficiency,t.active_area_fraction=this.active_area_fraction,t.module_type=this.module_type,t.mounting_type=this.mounting_type,t.system_loss_fraction=this.system_loss_fraction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};jn([l(),p()],Qi.prototype,"type",2),jn([h(),p()],Qi.prototype,"rated_efficiency",2),jn([h(),p()],Qi.prototype,"active_area_fraction",2),jn([b(ma),c(),p()],Qi.prototype,"module_type",2),jn([b(va),c(),p()],Qi.prototype,"mounting_type",2),jn([h(),p()],Qi.prototype,"system_loss_fraction",2);let ga=Qi;var ba=(n=>(n.Radiant_Chiller_Boiler="Radiant_Chiller_Boiler",n.Radiant_Chiller_ASHP="Radiant_Chiller_ASHP",n.Radiant_Chiller_DHW="Radiant_Chiller_DHW",n.Radiant_ACChiller_Boiler="Radiant_ACChiller_Boiler",n.Radiant_ACChiller_ASHP="Radiant_ACChiller_ASHP",n.Radiant_ACChiller_DHW="Radiant_ACChiller_DHW",n.Radiant_DCW_Boiler="Radiant_DCW_Boiler",n.Radiant_DCW_ASHP="Radiant_DCW_ASHP",n.Radiant_DCW_DHW="Radiant_DCW_DHW",n))(ba||{}),Ki=(n=>(n.Floor="Floor",n.Ceiling="Ceiling",n.FloorWithCarpet="FloorWithCarpet",n.CeilingMetalPanel="CeilingMetalPanel",n.FloorWithHardwood="FloorWithHardwood",n))(Ki||{}),yO=Object.defineProperty,dO=Object.getOwnPropertyDescriptor,An=(n,t,e,i)=>{for(var r=i>1?void 0:i?dO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&yO(t,e,r),r};const tr=class lf extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),a(this,"radiant_face_type"),a(this,"minimum_operation_time"),a(this,"switch_over_time"),this.vintage=S.ASHRAE_2019,this.type="Radiant",this.equipment_type=ba.Radiant_Chiller_Boiler,this.radiant_face_type=Ki.Floor,this.minimum_operation_time=1,this.switch_over_time=24}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"Radiant",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:ba.Radiant_Chiller_Boiler,this.radiant_face_type=t.radiant_face_type!==void 0?t.radiant_face_type:Ki.Floor,this.minimum_operation_time=t.minimum_operation_time!==void 0?t.minimum_operation_time:1,this.switch_over_time=t.switch_over_time!==void 0?t.switch_over_time:24)}static fromJS(t){t=typeof t=="object"?t:{};let e=new lf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,t.radiant_face_type=this.radiant_face_type,t.minimum_operation_time=this.minimum_operation_time,t.switch_over_time=this.switch_over_time,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};An([b(S),c(),p()],tr.prototype,"vintage",2),An([l(),p()],tr.prototype,"type",2),An([b(ba),c(),p()],tr.prototype,"equipment_type",2),An([b(Ki),c(),p()],tr.prototype,"radiant_face_type",2),An([h(),p()],tr.prototype,"minimum_operation_time",2),An([h(),p()],tr.prototype,"switch_over_time",2);let wa=tr;var Oa=(n=>(n.DOAS_Radiant_Chiller_Boiler="DOAS_Radiant_Chiller_Boiler",n.DOAS_Radiant_Chiller_ASHP="DOAS_Radiant_Chiller_ASHP",n.DOAS_Radiant_Chiller_DHW="DOAS_Radiant_Chiller_DHW",n.DOAS_Radiant_ACChiller_Boiler="DOAS_Radiant_ACChiller_Boiler",n.DOAS_Radiant_ACChiller_ASHP="DOAS_Radiant_ACChiller_ASHP",n.DOAS_Radiant_ACChiller_DHW="DOAS_Radiant_ACChiller_DHW",n.DOAS_Radiant_DCW_Boiler="DOAS_Radiant_DCW_Boiler",n.DOAS_Radiant_DCW_ASHP="DOAS_Radiant_DCW_ASHP",n.DOAS_Radiant_DCW_DHW="DOAS_Radiant_DCW_DHW",n))(Oa||{}),fO=Object.defineProperty,mO=Object.getOwnPropertyDescriptor,zt=(n,t,e,i)=>{for(var r=i>1?void 0:i?mO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&fO(t,e,r),r};const xt=class hf extends O{constructor(){super(),a(this,"vintage"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"doas_availability_schedule"),a(this,"type"),a(this,"equipment_type"),a(this,"radiant_face_type"),a(this,"minimum_operation_time"),a(this,"switch_over_time"),this.vintage=S.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="RadiantwithDOASAbridged",this.equipment_type=Oa.DOAS_Radiant_Chiller_Boiler,this.radiant_face_type=Ki.Floor,this.minimum_operation_time=1,this.switch_over_time=24}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.doas_availability_schedule=t.doas_availability_schedule,this.type=t.type!==void 0?t.type:"RadiantwithDOASAbridged",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Oa.DOAS_Radiant_Chiller_Boiler,this.radiant_face_type=t.radiant_face_type!==void 0?t.radiant_face_type:Ki.Floor,this.minimum_operation_time=t.minimum_operation_time!==void 0?t.minimum_operation_time:1,this.switch_over_time=t.switch_over_time!==void 0?t.switch_over_time:24)}static fromJS(t){t=typeof t=="object"?t:{};let e=new hf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.doas_availability_schedule=this.doas_availability_schedule,t.type=this.type,t.equipment_type=this.equipment_type,t.radiant_face_type=this.radiant_face_type,t.minimum_operation_time=this.minimum_operation_time,t.switch_over_time=this.switch_over_time,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};zt([b(S),c(),p()],xt.prototype,"vintage",2),zt([h(),p()],xt.prototype,"sensible_heat_recovery",2),zt([h(),p()],xt.prototype,"latent_heat_recovery",2),zt([D(),p()],xt.prototype,"demand_controlled_ventilation",2),zt([l(),p()],xt.prototype,"doas_availability_schedule",2),zt([l(),p()],xt.prototype,"type",2),zt([b(Oa),c(),p()],xt.prototype,"equipment_type",2),zt([b(Ki),c(),p()],xt.prototype,"radiant_face_type",2),zt([h(),p()],xt.prototype,"minimum_operation_time",2),zt([h(),p()],xt.prototype,"switch_over_time",2);let Sa=xt;var ja=(n=>(n.ResidentialAC_ElectricBaseboard="ResidentialAC_ElectricBaseboard",n.ResidentialAC_BoilerBaseboard="ResidentialAC_BoilerBaseboard",n.ResidentialAC_ASHPBaseboard="ResidentialAC_ASHPBaseboard",n.ResidentialAC_DHWBaseboard="ResidentialAC_DHWBaseboard",n.ResidentialAC_ResidentialFurnace="ResidentialAC_ResidentialFurnace",n.ResidentialAC="ResidentialAC",n.ResidentialHP="ResidentialHP",n.ResidentialHPNoCool="ResidentialHPNoCool",n.ResidentialFurnace="ResidentialFurnace",n))(ja||{}),vO=Object.defineProperty,gO=Object.getOwnPropertyDescriptor,Al=(n,t,e,i)=>{for(var r=i>1?void 0:i?gO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&vO(t,e,r),r};const Aa=class _f extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="Residential",this.equipment_type=ja.ResidentialAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"Residential",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:ja.ResidentialAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new _f;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Al([b(S),c(),p()],Aa.prototype,"vintage",2),Al([l(),p()],Aa.prototype,"type",2),Al([b(ja),c(),p()],Aa.prototype,"equipment_type",2);let Pa=Aa;var bO=Object.defineProperty,wO=Object.getOwnPropertyDescriptor,Ca=(n,t,e,i)=>{for(var r=i>1?void 0:i?wO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&bO(t,e,r),r};const bo=class uf extends _r{constructor(){super(),a(this,"values"),a(this,"type"),a(this,"times"),a(this,"interpolate"),this.type="ScheduleDay",this.times=[[0,0]],this.interpolate=!1}init(t){super.init(t),t&&(this.values=t.values,this.type=t.type!==void 0?t.type:"ScheduleDay",this.times=t.times!==void 0?t.times:[[0,0]],this.interpolate=t.interpolate!==void 0?t.interpolate:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new uf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.values=this.values,t.type=this.type,t.times=this.times,t.interpolate=this.interpolate,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ca([m(),c({each:!0}),y()],bo.prototype,"values",2),Ca([l(),p()],bo.prototype,"type",2),Ca([m(),c({each:!0}),p()],bo.prototype,"times",2),Ca([D(),p()],bo.prototype,"interpolate",2);let Pl=bo;var OO=Object.defineProperty,SO=Object.getOwnPropertyDescriptor,jO=(n,t,e,i)=>{for(var r=i>1?void 0:i?SO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&OO(t,e,r),r};const Ju=class yf extends w{constructor(){super(),a(this,"type"),this.type="NoLimit"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"NoLimit")}static fromJS(t){t=typeof t=="object"?t:{};let e=new yf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};jO([l(),p()],Ju.prototype,"type",2);let Pn=Ju;var Ea=(n=>(n.Continuous="Continuous",n.Discrete="Discrete",n))(Ea||{}),xa=(n=>(n.Dimensionless="Dimensionless",n.Temperature="Temperature",n.DeltaTemperature="DeltaTemperature",n.PrecipitationRate="PrecipitationRate",n.Angle="Angle",n.ConvectionCoefficient="ConvectionCoefficient",n.ActivityLevel="ActivityLevel",n.Velocity="Velocity",n.Capacity="Capacity",n.Power="Power",n.Availability="Availability",n.Percent="Percent",n.Control="Control",n.Mode="Mode",n))(xa||{}),AO=Object.defineProperty,PO=Object.getOwnPropertyDescriptor,wo=(n,t,e,i)=>{for(var r=i>1?void 0:i?PO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&AO(t,e,r),r};const Cn=class df extends _r{constructor(){super(),a(this,"type"),a(this,"lower_limit"),a(this,"upper_limit"),a(this,"numeric_type"),a(this,"unit_type"),this.type="ScheduleTypeLimit",this.lower_limit=new Pn,this.upper_limit=new Pn,this.numeric_type=Ea.Continuous,this.unit_type=xa.Dimensionless}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ScheduleTypeLimit",this.lower_limit=t.lower_limit!==void 0?t.lower_limit:new Pn,this.upper_limit=t.upper_limit!==void 0?t.upper_limit:new Pn,this.numeric_type=t.numeric_type!==void 0?t.numeric_type:Ea.Continuous,this.unit_type=t.unit_type!==void 0?t.unit_type:xa.Dimensionless)}static fromJS(t){t=typeof t=="object"?t:{};let e=new df;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.lower_limit=this.lower_limit,t.upper_limit=this.upper_limit,t.numeric_type=this.numeric_type,t.unit_type=this.unit_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};wo([l(),p()],Cn.prototype,"type",2),wo([p()],Cn.prototype,"lower_limit",2),wo([p()],Cn.prototype,"upper_limit",2),wo([b(Ea),c(),p()],Cn.prototype,"numeric_type",2),wo([b(xa),c(),p()],Cn.prototype,"unit_type",2);let Oo=Cn;var CO=Object.defineProperty,EO=Object.getOwnPropertyDescriptor,er=(n,t,e,i)=>{for(var r=i>1?void 0:i?EO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&CO(t,e,r),r};const He=class ff extends O{constructor(){super(),a(this,"values"),a(this,"type"),a(this,"schedule_type_limit"),a(this,"timestep"),a(this,"start_date"),a(this,"placeholder_value"),a(this,"interpolate"),this.type="ScheduleFixedInterval",this.timestep=1,this.start_date=[1,1],this.placeholder_value=0,this.interpolate=!1}init(t){super.init(t),t&&(this.values=t.values,this.type=t.type!==void 0?t.type:"ScheduleFixedInterval",this.schedule_type_limit=t.schedule_type_limit,this.timestep=t.timestep!==void 0?t.timestep:1,this.start_date=t.start_date!==void 0?t.start_date:[1,1],this.placeholder_value=t.placeholder_value!==void 0?t.placeholder_value:0,this.interpolate=t.interpolate!==void 0?t.interpolate:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ff;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.values=this.values,t.type=this.type,t.schedule_type_limit=this.schedule_type_limit,t.timestep=this.timestep,t.start_date=this.start_date,t.placeholder_value=this.placeholder_value,t.interpolate=this.interpolate,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};er([m(),c({each:!0}),y()],He.prototype,"values",2),er([l(),p()],He.prototype,"type",2),er([d(Oo),c(),p()],He.prototype,"schedule_type_limit",2),er([Ht(),p()],He.prototype,"timestep",2),er([m(),c({each:!0}),p()],He.prototype,"start_date",2),er([h(),p()],He.prototype,"placeholder_value",2),er([D(),p()],He.prototype,"interpolate",2);let Ga=He;var xO=Object.defineProperty,GO=Object.getOwnPropertyDescriptor,ir=(n,t,e,i)=>{for(var r=i>1?void 0:i?GO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&xO(t,e,r),r};const Fe=class mf extends O{constructor(){super(),a(this,"values"),a(this,"type"),a(this,"schedule_type_limit"),a(this,"timestep"),a(this,"start_date"),a(this,"placeholder_value"),a(this,"interpolate"),this.type="ScheduleFixedIntervalAbridged",this.timestep=1,this.start_date=[1,1],this.placeholder_value=0,this.interpolate=!1}init(t){super.init(t),t&&(this.values=t.values,this.type=t.type!==void 0?t.type:"ScheduleFixedIntervalAbridged",this.schedule_type_limit=t.schedule_type_limit,this.timestep=t.timestep!==void 0?t.timestep:1,this.start_date=t.start_date!==void 0?t.start_date:[1,1],this.placeholder_value=t.placeholder_value!==void 0?t.placeholder_value:0,this.interpolate=t.interpolate!==void 0?t.interpolate:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new mf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.values=this.values,t.type=this.type,t.schedule_type_limit=this.schedule_type_limit,t.timestep=this.timestep,t.start_date=this.start_date,t.placeholder_value=this.placeholder_value,t.interpolate=this.interpolate,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ir([m(),c({each:!0}),y()],Fe.prototype,"values",2),ir([l(),p()],Fe.prototype,"type",2),ir([l(),p()],Fe.prototype,"schedule_type_limit",2),ir([Ht(),p()],Fe.prototype,"timestep",2),ir([m(),c({each:!0}),p()],Fe.prototype,"start_date",2),ir([h(),p()],Fe.prototype,"placeholder_value",2),ir([D(),p()],Fe.prototype,"interpolate",2);let Da=Fe;var DO=Object.defineProperty,JO=Object.getOwnPropertyDescriptor,Ie=(n,t,e,i)=>{for(var r=i>1?void 0:i?JO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&DO(t,e,r),r};const pe=class vf extends O{constructor(){super(),a(this,"day_schedules"),a(this,"default_day_schedule"),a(this,"type"),a(this,"schedule_rules"),a(this,"holiday_schedule"),a(this,"summer_designday_schedule"),a(this,"winter_designday_schedule"),a(this,"schedule_type_limit"),this.type="ScheduleRuleset"}init(t){super.init(t),t&&(this.day_schedules=t.day_schedules,this.default_day_schedule=t.default_day_schedule,this.type=t.type!==void 0?t.type:"ScheduleRuleset",this.schedule_rules=t.schedule_rules,this.holiday_schedule=t.holiday_schedule,this.summer_designday_schedule=t.summer_designday_schedule,this.winter_designday_schedule=t.winter_designday_schedule,this.schedule_type_limit=t.schedule_type_limit)}static fromJS(t){t=typeof t=="object"?t:{};let e=new vf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.day_schedules=this.day_schedules,t.default_day_schedule=this.default_day_schedule,t.type=this.type,t.schedule_rules=this.schedule_rules,t.holiday_schedule=this.holiday_schedule,t.summer_designday_schedule=this.summer_designday_schedule,t.winter_designday_schedule=this.winter_designday_schedule,t.schedule_type_limit=this.schedule_type_limit,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ie([m(),c({each:!0}),y()],pe.prototype,"day_schedules",2),Ie([l(),y()],pe.prototype,"default_day_schedule",2),Ie([l(),p()],pe.prototype,"type",2),Ie([m(),c({each:!0}),p()],pe.prototype,"schedule_rules",2),Ie([l(),p()],pe.prototype,"holiday_schedule",2),Ie([l(),p()],pe.prototype,"summer_designday_schedule",2),Ie([l(),p()],pe.prototype,"winter_designday_schedule",2),Ie([d(Oo),c(),p()],pe.prototype,"schedule_type_limit",2);let Ja=pe;var MO=Object.defineProperty,NO=Object.getOwnPropertyDescriptor,qe=(n,t,e,i)=>{for(var r=i>1?void 0:i?NO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&MO(t,e,r),r};const ce=class gf extends O{constructor(){super(),a(this,"day_schedules"),a(this,"default_day_schedule"),a(this,"type"),a(this,"schedule_rules"),a(this,"holiday_schedule"),a(this,"summer_designday_schedule"),a(this,"winter_designday_schedule"),a(this,"schedule_type_limit"),this.type="ScheduleRulesetAbridged"}init(t){super.init(t),t&&(this.day_schedules=t.day_schedules,this.default_day_schedule=t.default_day_schedule,this.type=t.type!==void 0?t.type:"ScheduleRulesetAbridged",this.schedule_rules=t.schedule_rules,this.holiday_schedule=t.holiday_schedule,this.summer_designday_schedule=t.summer_designday_schedule,this.winter_designday_schedule=t.winter_designday_schedule,this.schedule_type_limit=t.schedule_type_limit)}static fromJS(t){t=typeof t=="object"?t:{};let e=new gf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.day_schedules=this.day_schedules,t.default_day_schedule=this.default_day_schedule,t.type=this.type,t.schedule_rules=this.schedule_rules,t.holiday_schedule=this.holiday_schedule,t.summer_designday_schedule=this.summer_designday_schedule,t.winter_designday_schedule=this.winter_designday_schedule,t.schedule_type_limit=this.schedule_type_limit,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};qe([m(),c({each:!0}),y()],ce.prototype,"day_schedules",2),qe([l(),y()],ce.prototype,"default_day_schedule",2),qe([l(),p()],ce.prototype,"type",2),qe([m(),c({each:!0}),p()],ce.prototype,"schedule_rules",2),qe([l(),p()],ce.prototype,"holiday_schedule",2),qe([l(),p()],ce.prototype,"summer_designday_schedule",2),qe([l(),p()],ce.prototype,"winter_designday_schedule",2),qe([l(),p()],ce.prototype,"schedule_type_limit",2);let Ma=ce;var Na=(n=>(n.Gas_WaterHeater="Gas_WaterHeater",n.Electric_WaterHeater="Electric_WaterHeater",n.HeatPump_WaterHeater="HeatPump_WaterHeater",n.Gas_TanklessHeater="Gas_TanklessHeater",n.Electric_TanklessHeater="Electric_TanklessHeater",n))(Na||{}),RO=Object.defineProperty,VO=Object.getOwnPropertyDescriptor,So=(n,t,e,i)=>{for(var r=i>1?void 0:i?VO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&RO(t,e,r),r};const En=class bf extends O{constructor(){super(),a(this,"type"),a(this,"equipment_type"),a(this,"heater_efficiency"),a(this,"ambient_condition"),a(this,"ambient_loss_coefficient"),this.type="SHWSystem",this.equipment_type=Na.Gas_WaterHeater,this.heater_efficiency=new R,this.ambient_condition=22,this.ambient_loss_coefficient=6}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"SHWSystem",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Na.Gas_WaterHeater,this.heater_efficiency=t.heater_efficiency!==void 0?t.heater_efficiency:new R,this.ambient_condition=t.ambient_condition!==void 0?t.ambient_condition:22,this.ambient_loss_coefficient=t.ambient_loss_coefficient!==void 0?t.ambient_loss_coefficient:6)}static fromJS(t){t=typeof t=="object"?t:{};let e=new bf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.equipment_type=this.equipment_type,t.heater_efficiency=this.heater_efficiency,t.ambient_condition=this.ambient_condition,t.ambient_loss_coefficient=this.ambient_loss_coefficient,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};So([l(),p()],En.prototype,"type",2),So([b(Na),c(),p()],En.prototype,"equipment_type",2),So([p()],En.prototype,"heater_efficiency",2),So([p()],En.prototype,"ambient_condition",2),So([h(),p()],En.prototype,"ambient_loss_coefficient",2);let Ra=En;var Va=(n=>(n.VAV_Chiller_Boiler="VAV_Chiller_Boiler",n.VAV_Chiller_ASHP="VAV_Chiller_ASHP",n.VAV_Chiller_DHW="VAV_Chiller_DHW",n.VAV_Chiller_PFP="VAV_Chiller_PFP",n.VAV_Chiller_GasCoil="VAV_Chiller_GasCoil",n.VAV_ACChiller_Boiler="VAV_ACChiller_Boiler",n.VAV_ACChiller_ASHP="VAV_ACChiller_ASHP",n.VAV_ACChiller_DHW="VAV_ACChiller_DHW",n.VAV_ACChiller_PFP="VAV_ACChiller_PFP",n.VAV_ACChiller_GasCoil="VAV_ACChiller_GasCoil",n.VAV_DCW_Boiler="VAV_DCW_Boiler",n.VAV_DCW_ASHP="VAV_DCW_ASHP",n.VAV_DCW_DHW="VAV_DCW_DHW",n.VAV_DCW_PFP="VAV_DCW_PFP",n.VAV_DCW_GasCoil="VAV_DCW_GasCoil",n))(Va||{}),WO=Object.defineProperty,BO=Object.getOwnPropertyDescriptor,rr=(n,t,e,i)=>{for(var r=i>1?void 0:i?BO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&WO(t,e,r),r};const Te=class wf extends O{constructor(){super(),a(this,"vintage"),a(this,"economizer_type"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.economizer_type=ut.NoEconomizer,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="VAV",this.equipment_type=Va.VAV_Chiller_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.economizer_type=t.economizer_type!==void 0?t.economizer_type:ut.NoEconomizer,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.type=t.type!==void 0?t.type:"VAV",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Va.VAV_Chiller_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new wf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.economizer_type=this.economizer_type,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};rr([b(S),c(),p()],Te.prototype,"vintage",2),rr([b(ut),c(),p()],Te.prototype,"economizer_type",2),rr([h(),p()],Te.prototype,"sensible_heat_recovery",2),rr([h(),p()],Te.prototype,"latent_heat_recovery",2),rr([D(),p()],Te.prototype,"demand_controlled_ventilation",2),rr([l(),p()],Te.prototype,"type",2),rr([b(Va),c(),p()],Te.prototype,"equipment_type",2);let Wa=Te;var $O=Object.defineProperty,HO=Object.getOwnPropertyDescriptor,nr=(n,t,e,i)=>{for(var r=i>1?void 0:i?HO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&$O(t,e,r),r};const ke=class Of extends w{constructor(){super(),a(this,"type"),a(this,"min_indoor_temperature"),a(this,"max_indoor_temperature"),a(this,"min_outdoor_temperature"),a(this,"max_outdoor_temperature"),a(this,"delta_temperature"),a(this,"schedule"),this.type="VentilationControlAbridged",this.min_indoor_temperature=-100,this.max_indoor_temperature=100,this.min_outdoor_temperature=-100,this.max_outdoor_temperature=100,this.delta_temperature=-100}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"VentilationControlAbridged",this.min_indoor_temperature=t.min_indoor_temperature!==void 0?t.min_indoor_temperature:-100,this.max_indoor_temperature=t.max_indoor_temperature!==void 0?t.max_indoor_temperature:100,this.min_outdoor_temperature=t.min_outdoor_temperature!==void 0?t.min_outdoor_temperature:-100,this.max_outdoor_temperature=t.max_outdoor_temperature!==void 0?t.max_outdoor_temperature:100,this.delta_temperature=t.delta_temperature!==void 0?t.delta_temperature:-100,this.schedule=t.schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Of;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.min_indoor_temperature=this.min_indoor_temperature,t.max_indoor_temperature=this.max_indoor_temperature,t.min_outdoor_temperature=this.min_outdoor_temperature,t.max_outdoor_temperature=this.max_outdoor_temperature,t.delta_temperature=this.delta_temperature,t.schedule=this.schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};nr([l(),p()],ke.prototype,"type",2),nr([h(),p()],ke.prototype,"min_indoor_temperature",2),nr([h(),p()],ke.prototype,"max_indoor_temperature",2),nr([h(),p()],ke.prototype,"min_outdoor_temperature",2),nr([h(),p()],ke.prototype,"max_outdoor_temperature",2),nr([h(),p()],ke.prototype,"delta_temperature",2),nr([l(),p()],ke.prototype,"schedule",2);let jo=ke;var Ba=(n=>(n.Exhaust="Exhaust",n.Intake="Intake",n.Balanced="Balanced",n))(Ba||{}),FO=Object.defineProperty,IO=Object.getOwnPropertyDescriptor,xn=(n,t,e,i)=>{for(var r=i>1?void 0:i?IO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&FO(t,e,r),r};const or=class Sf extends _r{constructor(){super(),a(this,"flow_rate"),a(this,"pressure_rise"),a(this,"efficiency"),a(this,"type"),a(this,"ventilation_type"),a(this,"control"),this.type="VentilationFan",this.ventilation_type=Ba.Balanced}init(t){super.init(t),t&&(this.flow_rate=t.flow_rate,this.pressure_rise=t.pressure_rise,this.efficiency=t.efficiency,this.type=t.type!==void 0?t.type:"VentilationFan",this.ventilation_type=t.ventilation_type!==void 0?t.ventilation_type:Ba.Balanced,this.control=t.control)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Sf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.flow_rate=this.flow_rate,t.pressure_rise=this.pressure_rise,t.efficiency=this.efficiency,t.type=this.type,t.ventilation_type=this.ventilation_type,t.control=this.control,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};xn([h(),y()],or.prototype,"flow_rate",2),xn([h(),y()],or.prototype,"pressure_rise",2),xn([h(),y()],or.prototype,"efficiency",2),xn([l(),p()],or.prototype,"type",2),xn([b(Ba),c(),p()],or.prototype,"ventilation_type",2),xn([d(jo),c(),p()],or.prototype,"control",2);let Cl=or;var $a=(n=>(n.VRF="VRF",n))($a||{}),qO=Object.defineProperty,TO=Object.getOwnPropertyDescriptor,El=(n,t,e,i)=>{for(var r=i>1?void 0:i?TO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&qO(t,e,r),r};const Ha=class jf extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="VRF",this.equipment_type=$a.VRF}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"VRF",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:$a.VRF)}static fromJS(t){t=typeof t=="object"?t:{};let e=new jf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};El([b(S),c(),p()],Ha.prototype,"vintage",2),El([l(),p()],Ha.prototype,"type",2),El([b($a),c(),p()],Ha.prototype,"equipment_type",2);let Fa=Ha;var Ia=(n=>(n.DOAS_VRF="DOAS_VRF",n))(Ia||{}),kO=Object.defineProperty,zO=Object.getOwnPropertyDescriptor,sr=(n,t,e,i)=>{for(var r=i>1?void 0:i?zO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&kO(t,e,r),r};const ze=class Af extends O{constructor(){super(),a(this,"vintage"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"doas_availability_schedule"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="VRFwithDOASAbridged",this.equipment_type=Ia.DOAS_VRF}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.doas_availability_schedule=t.doas_availability_schedule,this.type=t.type!==void 0?t.type:"VRFwithDOASAbridged",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Ia.DOAS_VRF)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Af;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.doas_availability_schedule=this.doas_availability_schedule,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};sr([b(S),c(),p()],ze.prototype,"vintage",2),sr([h(),p()],ze.prototype,"sensible_heat_recovery",2),sr([h(),p()],ze.prototype,"latent_heat_recovery",2),sr([D(),p()],ze.prototype,"demand_controlled_ventilation",2),sr([l(),p()],ze.prototype,"doas_availability_schedule",2),sr([l(),p()],ze.prototype,"type",2),sr([b(Ia),c(),p()],ze.prototype,"equipment_type",2);let qa=ze;var Ta=(n=>(n.WindowAC_ElectricBaseboard="WindowAC_ElectricBaseboard",n.WindowAC_BoilerBaseboard="WindowAC_BoilerBaseboard",n.WindowAC_ASHPBaseboard="WindowAC_ASHPBaseboard",n.WindowAC_DHWBaseboard="WindowAC_DHWBaseboard",n.WindowAC_Furnace="WindowAC_Furnace",n.WindowAC_GasHeaters="WindowAC_GasHeaters",n.WindowAC="WindowAC",n))(Ta||{}),LO=Object.defineProperty,UO=Object.getOwnPropertyDescriptor,xl=(n,t,e,i)=>{for(var r=i>1?void 0:i?UO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&LO(t,e,r),r};const ka=class Pf extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="WindowAC",this.equipment_type=Ta.WindowAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"WindowAC",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Ta.WindowAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Pf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};xl([b(S),c(),p()],ka.prototype,"vintage",2),xl([l(),p()],ka.prototype,"type",2),xl([b(Ta),c(),p()],ka.prototype,"equipment_type",2);let za=ka;var ZO=Object.defineProperty,YO=Object.getOwnPropertyDescriptor,Gl=(n,t,e,i)=>{for(var r=i>1?void 0:i?YO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ZO(t,e,r),r};const La=class Cf extends O{constructor(){super(),a(this,"materials"),a(this,"type"),a(this,"frame"),this.type="WindowConstruction"}init(t){super.init(t),t&&(this.materials=t.materials,this.type=t.type!==void 0?t.type:"WindowConstruction",this.frame=t.frame)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Cf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.materials=this.materials,t.type=this.type,t.frame=this.frame,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Gl([m(),c({each:!0}),y()],La.prototype,"materials",2),Gl([l(),p()],La.prototype,"type",2),Gl([d(co),c(),p()],La.prototype,"frame",2);let Ao=La;var XO=Object.defineProperty,QO=Object.getOwnPropertyDescriptor,Dl=(n,t,e,i)=>{for(var r=i>1?void 0:i?QO(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&XO(t,e,r),r};const Ua=class Ef extends O{constructor(){super(),a(this,"materials"),a(this,"type"),a(this,"frame"),this.type="WindowConstructionAbridged"}init(t){super.init(t),t&&(this.materials=t.materials,this.type=t.type!==void 0?t.type:"WindowConstructionAbridged",this.frame=t.frame)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ef;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.materials=this.materials,t.type=this.type,t.frame=this.frame,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Dl([m(),c({each:!0}),y()],Ua.prototype,"materials",2),Dl([l(),p()],Ua.prototype,"type",2),Dl([l(),p()],Ua.prototype,"frame",2);let le=Ua;var KO=Object.defineProperty,tS=Object.getOwnPropertyDescriptor,Jl=(n,t,e,i)=>{for(var r=i>1?void 0:i?tS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&KO(t,e,r),r};const Za=class xf extends O{constructor(){super(),a(this,"constructions"),a(this,"schedule"),a(this,"type"),this.type="WindowConstructionDynamic"}init(t){super.init(t),t&&(this.constructions=t.constructions,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"WindowConstructionDynamic")}static fromJS(t){t=typeof t=="object"?t:{};let e=new xf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.constructions=this.constructions,t.schedule=this.schedule,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Jl([m(),c({each:!0}),y()],Za.prototype,"constructions",2),Jl([y()],Za.prototype,"schedule",2),Jl([l(),p()],Za.prototype,"type",2);let Ya=Za;var eS=Object.defineProperty,iS=Object.getOwnPropertyDescriptor,Ml=(n,t,e,i)=>{for(var r=i>1?void 0:i?iS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&eS(t,e,r),r};const Xa=class Gf extends O{constructor(){super(),a(this,"constructions"),a(this,"schedule"),a(this,"type"),this.type="WindowConstructionDynamicAbridged"}init(t){super.init(t),t&&(this.constructions=t.constructions,this.schedule=t.schedule,this.type=t.type!==void 0?t.type:"WindowConstructionDynamicAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Gf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.constructions=this.constructions,t.schedule=this.schedule,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ml([m(),c({each:!0}),y()],Xa.prototype,"constructions",2),Ml([l(),y()],Xa.prototype,"schedule",2),Ml([l(),p()],Xa.prototype,"type",2);let Nl=Xa;var ar=(n=>(n.AlwaysOn="AlwaysOn",n.OnIfHighSolarOnWindow="OnIfHighSolarOnWindow",n.OnIfHighHorizontalSolar="OnIfHighHorizontalSolar",n.OnIfHighOutdoorAirTemperature="OnIfHighOutdoorAirTemperature",n.OnIfHighZoneAirTemperature="OnIfHighZoneAirTemperature",n.OnIfHighZoneCooling="OnIfHighZoneCooling",n.OnNightIfLowOutdoorTempAndOffDay="OnNightIfLowOutdoorTempAndOffDay",n.OnNightIfLowInsideTempAndOffDay="OnNightIfLowInsideTempAndOffDay",n.OnNightIfHeatingAndOffDay="OnNightIfHeatingAndOffDay",n))(ar||{}),pr=(n=>(n.Interior="Interior",n.Between="Between",n.Exterior="Exterior",n))(pr||{}),rS=Object.defineProperty,nS=Object.getOwnPropertyDescriptor,cr=(n,t,e,i)=>{for(var r=i>1?void 0:i?nS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&rS(t,e,r),r};const Le=class Df extends O{constructor(){super(),a(this,"window_construction"),a(this,"shade_material"),a(this,"type"),a(this,"shade_location"),a(this,"control_type"),a(this,"setpoint"),a(this,"schedule"),this.type="WindowConstructionShade",this.shade_location=pr.Interior,this.control_type=ar.AlwaysOn}init(t){super.init(t),t&&(this.window_construction=t.window_construction,this.shade_material=t.shade_material,this.type=t.type!==void 0?t.type:"WindowConstructionShade",this.shade_location=t.shade_location!==void 0?t.shade_location:pr.Interior,this.control_type=t.control_type!==void 0?t.control_type:ar.AlwaysOn,this.setpoint=t.setpoint,this.schedule=t.schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Df;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.window_construction=this.window_construction,t.shade_material=this.shade_material,t.type=this.type,t.shade_location=this.shade_location,t.control_type=this.control_type,t.setpoint=this.setpoint,t.schedule=this.schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};cr([d(Ao),c(),y()],Le.prototype,"window_construction",2),cr([y()],Le.prototype,"shade_material",2),cr([l(),p()],Le.prototype,"type",2),cr([b(pr),c(),p()],Le.prototype,"shade_location",2),cr([b(ar),c(),p()],Le.prototype,"control_type",2),cr([h(),p()],Le.prototype,"setpoint",2),cr([p()],Le.prototype,"schedule",2);let Qa=Le;var oS=Object.defineProperty,sS=Object.getOwnPropertyDescriptor,lr=(n,t,e,i)=>{for(var r=i>1?void 0:i?sS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&oS(t,e,r),r};const Ue=class Jf extends O{constructor(){super(),a(this,"window_construction"),a(this,"shade_material"),a(this,"type"),a(this,"shade_location"),a(this,"control_type"),a(this,"setpoint"),a(this,"schedule"),this.type="WindowConstructionShadeAbridged",this.shade_location=pr.Interior,this.control_type=ar.AlwaysOn}init(t){super.init(t),t&&(this.window_construction=t.window_construction,this.shade_material=t.shade_material,this.type=t.type!==void 0?t.type:"WindowConstructionShadeAbridged",this.shade_location=t.shade_location!==void 0?t.shade_location:pr.Interior,this.control_type=t.control_type!==void 0?t.control_type:ar.AlwaysOn,this.setpoint=t.setpoint,this.schedule=t.schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Jf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.window_construction=this.window_construction,t.shade_material=this.shade_material,t.type=this.type,t.shade_location=this.shade_location,t.control_type=this.control_type,t.setpoint=this.setpoint,t.schedule=this.schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};lr([d(le),c(),y()],Ue.prototype,"window_construction",2),lr([l(),y()],Ue.prototype,"shade_material",2),lr([l(),p()],Ue.prototype,"type",2),lr([b(pr),c(),p()],Ue.prototype,"shade_location",2),lr([b(ar),c(),p()],Ue.prototype,"control_type",2),lr([h(),p()],Ue.prototype,"setpoint",2),lr([l(),p()],Ue.prototype,"schedule",2);let Ka=Ue;var tp=(n=>(n.WSHP_FluidCooler_Boiler="WSHP_FluidCooler_Boiler",n.WSHP_CoolingTower_Boiler="WSHP_CoolingTower_Boiler",n.WSHP_GSHP="WSHP_GSHP",n.WSHP_DCW_DHW="WSHP_DCW_DHW",n))(tp||{}),aS=Object.defineProperty,pS=Object.getOwnPropertyDescriptor,Rl=(n,t,e,i)=>{for(var r=i>1?void 0:i?pS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&aS(t,e,r),r};const ep=class Mf extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.type="WSHP",this.equipment_type=tp.WSHP_FluidCooler_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.type=t.type!==void 0?t.type:"WSHP",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:tp.WSHP_FluidCooler_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Mf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Rl([b(S),c(),p()],ep.prototype,"vintage",2),Rl([l(),p()],ep.prototype,"type",2),Rl([b(tp),c(),p()],ep.prototype,"equipment_type",2);let ip=ep;var rp=(n=>(n.DOAS_WSHP_FluidCooler_Boiler="DOAS_WSHP_FluidCooler_Boiler",n.DOAS_WSHP_CoolingTower_Boiler="DOAS_WSHP_CoolingTower_Boiler",n.DOAS_WSHP_GSHP="DOAS_WSHP_GSHP",n.DOAS_WSHP_DCW_DHW="DOAS_WSHP_DCW_DHW",n))(rp||{}),cS=Object.defineProperty,lS=Object.getOwnPropertyDescriptor,hr=(n,t,e,i)=>{for(var r=i>1?void 0:i?lS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&cS(t,e,r),r};const Ze=class Nf extends O{constructor(){super(),a(this,"vintage"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"doas_availability_schedule"),a(this,"type"),a(this,"equipment_type"),this.vintage=S.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="WSHPwithDOASAbridged",this.equipment_type=rp.DOAS_WSHP_FluidCooler_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.doas_availability_schedule=t.doas_availability_schedule,this.type=t.type!==void 0?t.type:"WSHPwithDOASAbridged",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:rp.DOAS_WSHP_FluidCooler_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Nf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.doas_availability_schedule=this.doas_availability_schedule,t.type=this.type,t.equipment_type=this.equipment_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};hr([b(S),c(),p()],Ze.prototype,"vintage",2),hr([h(),p()],Ze.prototype,"sensible_heat_recovery",2),hr([h(),p()],Ze.prototype,"latent_heat_recovery",2),hr([D(),p()],Ze.prototype,"demand_controlled_ventilation",2),hr([l(),p()],Ze.prototype,"doas_availability_schedule",2),hr([l(),p()],Ze.prototype,"type",2),hr([b(rp),c(),p()],Ze.prototype,"equipment_type",2);let np=Ze;var hS=Object.defineProperty,_S=Object.getOwnPropertyDescriptor,Vl=(n,t,e,i)=>{for(var r=i>1?void 0:i?_S(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&hS(t,e,r),r};const op=class Rf extends w{constructor(){super(),a(this,"identifier"),a(this,"display_name"),a(this,"type"),this.type="EnergyBaseModel"}init(t){super.init(t),t&&(this.identifier=t.identifier,this.display_name=t.display_name,this.type=t.type!==void 0?t.type:"EnergyBaseModel")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="EnergyMaterial"){let i=new H;return i.init(t),i}if(t.type==="IDdEnergyBaseModel"){let i=new O;return i.init(t),i}if(t.type==="EnergyMaterialNoMass"){let i=new Gs;return i.init(t),i}if(t.type==="EnergyMaterialVegetation"){let i=new Js;return i.init(t),i}if(t.type==="OpaqueConstruction"){let i=new Z;return i.init(t),i}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let i=new Is;return i.init(t),i}if(t.type==="EnergyWindowMaterialGlazing"){let i=new Me;return i.init(t),i}if(t.type==="EnergyWindowMaterialGas"){let i=new on;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasCustom"){let i=new Ws;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasMixture"){let i=new $s;return i.init(t),i}if(t.type==="EnergyWindowFrame"){let i=new co;return i.init(t),i}if(t.type==="WindowConstruction"){let i=new Ao;return i.init(t),i}if(t.type==="EnergyWindowMaterialShade"){let i=new Hs;return i.init(t),i}if(t.type==="EnergyWindowMaterialBlind"){let i=new Ns;return i.init(t),i}if(t.type==="ScheduleDay"){let i=new Pl;return i.init(t),i}if(t.type==="ScheduleTypeLimit"){let i=new Oo;return i.init(t),i}if(t.type==="ScheduleRuleset"){let i=new Ja;return i.init(t),i}if(t.type==="ScheduleFixedInterval"){let i=new Ga;return i.init(t),i}if(t.type==="WindowConstructionShade"){let i=new Qa;return i.init(t),i}if(t.type==="WindowConstructionDynamic"){let i=new Ya;return i.init(t),i}if(t.type==="ShadeConstruction"){let i=new te;return i.init(t),i}if(t.type==="AirBoundaryConstruction"){let i=new ms;return i.init(t),i}if(t.type==="ConstructionSet"){let i=new Ps;return i.init(t),i}if(t.type==="Lighting"){let i=new yo;return i.init(t),i}if(t.type==="FCUwithDOASAbridged"){let i=new Ys;return i.init(t),i}if(t.type==="OpaqueConstructionAbridged"){let i=new T;return i.init(t),i}if(t.type==="WindowConstructionAbridged"){let i=new le;return i.init(t),i}if(t.type==="AirBoundaryConstructionAbridged"){let i=new Zr;return i.init(t),i}if(t.type==="ConstructionSetAbridged"){let i=new Es;return i.init(t),i}if(t.type==="WindowConstructionShadeAbridged"){let i=new Ka;return i.init(t),i}if(t.type==="WindowConstructionDynamicAbridged"){let i=new Nl;return i.init(t),i}if(t.type==="IdealAirSystemAbridged"){let i=new na;return i.init(t),i}if(t.type==="VAV"){let i=new Wa;return i.init(t),i}if(t.type==="PVAV"){let i=new fa;return i.init(t),i}if(t.type==="PSZ"){let i=new ha;return i.init(t),i}if(t.type==="PTAC"){let i=new ya;return i.init(t),i}if(t.type==="ForcedAirFurnace"){let i=new Ks;return i.init(t),i}if(t.type==="WSHPwithDOASAbridged"){let i=new np;return i.init(t),i}if(t.type==="VRFwithDOASAbridged"){let i=new qa;return i.init(t),i}if(t.type==="RadiantwithDOASAbridged"){let i=new Sa;return i.init(t),i}if(t.type==="FCU"){let i=new Us;return i.init(t),i}if(t.type==="WSHP"){let i=new ip;return i.init(t),i}if(t.type==="VRF"){let i=new Fa;return i.init(t),i}if(t.type==="Baseboard"){let i=new ws;return i.init(t),i}if(t.type==="EvaporativeCooler"){let i=new ks;return i.init(t),i}if(t.type==="Residential"){let i=new Pa;return i.init(t),i}if(t.type==="WindowAC"){let i=new za;return i.init(t),i}if(t.type==="GasUnitHeater"){let i=new ia;return i.init(t),i}if(t.type==="Radiant"){let i=new wa;return i.init(t),i}if(t.type==="DetailedHVAC"){let i=new xs;return i.init(t),i}if(t.type==="SHWSystem"){let i=new Ra;return i.init(t),i}if(t.type==="PeopleAbridged"){let i=new yn;return i.init(t),i}if(t.type==="LightingAbridged"){let i=new hn;return i.init(t),i}if(t.type==="ElectricEquipmentAbridged"){let i=new Pi;return i.init(t),i}if(t.type==="_EquipmentBase"){let i=new Ur;return i.init(t),i}if(t.type==="GasEquipmentAbridged"){let i=new Ci;return i.init(t),i}if(t.type==="ServiceHotWaterAbridged"){let i=new gn;return i.init(t),i}if(t.type==="InfiltrationAbridged"){let i=new ln;return i.init(t),i}if(t.type==="VentilationAbridged"){let i=new Sn;return i.init(t),i}if(t.type==="SetpointAbridged"){let i=new wn;return i.init(t),i}if(t.type==="ProgramTypeAbridged"){let i=new ca;return i.init(t),i}if(t.type==="People"){let i=new fo;return i.init(t),i}if(t.type==="ElectricEquipment"){let i=new po;return i.init(t),i}if(t.type==="GasEquipment"){let i=new _o;return i.init(t),i}if(t.type==="ServiceHotWater"){let i=new mo;return i.init(t),i}if(t.type==="Infiltration"){let i=new uo;return i.init(t),i}if(t.type==="Ventilation"){let i=new go;return i.init(t),i}if(t.type==="Setpoint"){let i=new vo;return i.init(t),i}if(t.type==="ProgramType"){let i=new pa;return i.init(t),i}if(t.type==="ScheduleRulesetAbridged"){let i=new Ma;return i.init(t),i}if(t.type==="ScheduleFixedIntervalAbridged"){let i=new Da;return i.init(t),i}if(t.type==="PVProperties"){let i=new ga;return i.init(t),i}if(t.type==="VentilationFan"){let i=new Cl;return i.init(t),i}if(t.type==="ProcessAbridged"){let i=new aa;return i.init(t),i}if(t.type==="InternalMassAbridged"){let i=new sa;return i.init(t),i}if(t.type==="_DOASBase"){let i=new us;return i.init(t),i}if(t.type==="_TemplateSystem"){let i=new ds;return i.init(t),i}if(t.type==="_HeatCoolBase"){let i=new ys;return i.init(t),i}if(t.type==="_AllAirBase"){let i=new sp;return i.init(t),i}let e=new Rf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.identifier=this.identifier,t.display_name=this.display_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Vl([l(),y()],op.prototype,"identifier",2),Vl([l(),p()],op.prototype,"display_name",2),Vl([l(),p()],op.prototype,"type",2);let _r=op;var uS=Object.defineProperty,yS=Object.getOwnPropertyDescriptor,Mu=(n,t,e,i)=>{for(var r=i>1?void 0:i?yS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&uS(t,e,r),r};const Wl=class Vf extends _r{constructor(){super(),a(this,"user_data"),a(this,"type"),this.type="IDdEnergyBaseModel"}init(t){super.init(t),t&&(this.user_data=t.user_data,this.type=t.type!==void 0?t.type:"IDdEnergyBaseModel")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="EnergyMaterial"){let i=new H;return i.init(t),i}if(t.type==="EnergyMaterialNoMass"){let i=new Gs;return i.init(t),i}if(t.type==="EnergyMaterialVegetation"){let i=new Js;return i.init(t),i}if(t.type==="OpaqueConstruction"){let i=new Z;return i.init(t),i}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let i=new Is;return i.init(t),i}if(t.type==="EnergyWindowMaterialGlazing"){let i=new Me;return i.init(t),i}if(t.type==="EnergyWindowMaterialGas"){let i=new on;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasCustom"){let i=new Ws;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasMixture"){let i=new $s;return i.init(t),i}if(t.type==="EnergyWindowFrame"){let i=new co;return i.init(t),i}if(t.type==="WindowConstruction"){let i=new Ao;return i.init(t),i}if(t.type==="EnergyWindowMaterialShade"){let i=new Hs;return i.init(t),i}if(t.type==="EnergyWindowMaterialBlind"){let i=new Ns;return i.init(t),i}if(t.type==="ScheduleRuleset"){let i=new Ja;return i.init(t),i}if(t.type==="ScheduleFixedInterval"){let i=new Ga;return i.init(t),i}if(t.type==="WindowConstructionShade"){let i=new Qa;return i.init(t),i}if(t.type==="WindowConstructionDynamic"){let i=new Ya;return i.init(t),i}if(t.type==="ShadeConstruction"){let i=new te;return i.init(t),i}if(t.type==="AirBoundaryConstruction"){let i=new ms;return i.init(t),i}if(t.type==="ConstructionSet"){let i=new Ps;return i.init(t),i}if(t.type==="Lighting"){let i=new yo;return i.init(t),i}if(t.type==="FCUwithDOASAbridged"){let i=new Ys;return i.init(t),i}if(t.type==="OpaqueConstructionAbridged"){let i=new T;return i.init(t),i}if(t.type==="WindowConstructionAbridged"){let i=new le;return i.init(t),i}if(t.type==="AirBoundaryConstructionAbridged"){let i=new Zr;return i.init(t),i}if(t.type==="ConstructionSetAbridged"){let i=new Es;return i.init(t),i}if(t.type==="WindowConstructionShadeAbridged"){let i=new Ka;return i.init(t),i}if(t.type==="WindowConstructionDynamicAbridged"){let i=new Nl;return i.init(t),i}if(t.type==="IdealAirSystemAbridged"){let i=new na;return i.init(t),i}if(t.type==="VAV"){let i=new Wa;return i.init(t),i}if(t.type==="PVAV"){let i=new fa;return i.init(t),i}if(t.type==="PSZ"){let i=new ha;return i.init(t),i}if(t.type==="PTAC"){let i=new ya;return i.init(t),i}if(t.type==="ForcedAirFurnace"){let i=new Ks;return i.init(t),i}if(t.type==="WSHPwithDOASAbridged"){let i=new np;return i.init(t),i}if(t.type==="VRFwithDOASAbridged"){let i=new qa;return i.init(t),i}if(t.type==="RadiantwithDOASAbridged"){let i=new Sa;return i.init(t),i}if(t.type==="FCU"){let i=new Us;return i.init(t),i}if(t.type==="WSHP"){let i=new ip;return i.init(t),i}if(t.type==="VRF"){let i=new Fa;return i.init(t),i}if(t.type==="Baseboard"){let i=new ws;return i.init(t),i}if(t.type==="EvaporativeCooler"){let i=new ks;return i.init(t),i}if(t.type==="Residential"){let i=new Pa;return i.init(t),i}if(t.type==="WindowAC"){let i=new za;return i.init(t),i}if(t.type==="GasUnitHeater"){let i=new ia;return i.init(t),i}if(t.type==="Radiant"){let i=new wa;return i.init(t),i}if(t.type==="DetailedHVAC"){let i=new xs;return i.init(t),i}if(t.type==="SHWSystem"){let i=new Ra;return i.init(t),i}if(t.type==="PeopleAbridged"){let i=new yn;return i.init(t),i}if(t.type==="LightingAbridged"){let i=new hn;return i.init(t),i}if(t.type==="ElectricEquipmentAbridged"){let i=new Pi;return i.init(t),i}if(t.type==="_EquipmentBase"){let i=new Ur;return i.init(t),i}if(t.type==="GasEquipmentAbridged"){let i=new Ci;return i.init(t),i}if(t.type==="ServiceHotWaterAbridged"){let i=new gn;return i.init(t),i}if(t.type==="InfiltrationAbridged"){let i=new ln;return i.init(t),i}if(t.type==="VentilationAbridged"){let i=new Sn;return i.init(t),i}if(t.type==="SetpointAbridged"){let i=new wn;return i.init(t),i}if(t.type==="ProgramTypeAbridged"){let i=new ca;return i.init(t),i}if(t.type==="People"){let i=new fo;return i.init(t),i}if(t.type==="ElectricEquipment"){let i=new po;return i.init(t),i}if(t.type==="GasEquipment"){let i=new _o;return i.init(t),i}if(t.type==="ServiceHotWater"){let i=new mo;return i.init(t),i}if(t.type==="Infiltration"){let i=new uo;return i.init(t),i}if(t.type==="Ventilation"){let i=new go;return i.init(t),i}if(t.type==="Setpoint"){let i=new vo;return i.init(t),i}if(t.type==="ProgramType"){let i=new pa;return i.init(t),i}if(t.type==="ScheduleRulesetAbridged"){let i=new Ma;return i.init(t),i}if(t.type==="ScheduleFixedIntervalAbridged"){let i=new Da;return i.init(t),i}if(t.type==="ProcessAbridged"){let i=new aa;return i.init(t),i}if(t.type==="InternalMassAbridged"){let i=new sa;return i.init(t),i}if(t.type==="_DOASBase"){let i=new us;return i.init(t),i}if(t.type==="_TemplateSystem"){let i=new ds;return i.init(t),i}if(t.type==="_HeatCoolBase"){let i=new ys;return i.init(t),i}if(t.type==="_AllAirBase"){let i=new sp;return i.init(t),i}let e=new Vf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.user_data=this.user_data,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Mu([p()],Wl.prototype,"user_data",2),Mu([l(),p()],Wl.prototype,"type",2);let O=Wl;var dS=Object.defineProperty,fS=Object.getOwnPropertyDescriptor,Gn=(n,t,e,i)=>{for(var r=i>1?void 0:i?fS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&dS(t,e,r),r};const ur=class Wf extends O{constructor(){super(),a(this,"vintage"),a(this,"economizer_type"),a(this,"sensible_heat_recovery"),a(this,"latent_heat_recovery"),a(this,"demand_controlled_ventilation"),a(this,"type"),this.vintage=S.ASHRAE_2019,this.economizer_type=ut.NoEconomizer,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="_AllAirBase"}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:S.ASHRAE_2019,this.economizer_type=t.economizer_type!==void 0?t.economizer_type:ut.NoEconomizer,this.sensible_heat_recovery=t.sensible_heat_recovery!==void 0?t.sensible_heat_recovery:0,this.latent_heat_recovery=t.latent_heat_recovery!==void 0?t.latent_heat_recovery:0,this.demand_controlled_ventilation=t.demand_controlled_ventilation!==void 0?t.demand_controlled_ventilation:!1,this.type=t.type!==void 0?t.type:"_AllAirBase")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Wf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vintage=this.vintage,t.economizer_type=this.economizer_type,t.sensible_heat_recovery=this.sensible_heat_recovery,t.latent_heat_recovery=this.latent_heat_recovery,t.demand_controlled_ventilation=this.demand_controlled_ventilation,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Gn([b(S),c(),p()],ur.prototype,"vintage",2),Gn([b(ut),c(),p()],ur.prototype,"economizer_type",2),Gn([h(),p()],ur.prototype,"sensible_heat_recovery",2),Gn([h(),p()],ur.prototype,"latent_heat_recovery",2),Gn([D(),p()],ur.prototype,"demand_controlled_ventilation",2),Gn([l(),p()],ur.prototype,"type",2);let sp=ur;var Ye=(n=>(n.Shade="Shade",n.Aperture="Aperture",n.Door="Door",n.Face="Face",n.Room="Room",n))(Ye||{}),mS=Object.defineProperty,vS=Object.getOwnPropertyDescriptor,ap=(n,t,e,i)=>{for(var r=i>1?void 0:i?vS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&mS(t,e,r),r};const Po=class Bf extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"element_name"),a(this,"type"),this.type="_DiffObjectBase"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.element_name=t.element_name,this.type=t.type!==void 0?t.type:"_DiffObjectBase")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Bf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.element_name=this.element_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ap([b(Ye),c(),y()],Po.prototype,"element_type",2),ap([l(),y()],Po.prototype,"element_id",2),ap([l(),p()],Po.prototype,"element_name",2),ap([l(),p()],Po.prototype,"type",2);let gS=Po;var bS=Object.defineProperty,wS=Object.getOwnPropertyDescriptor,pp=(n,t,e,i)=>{for(var r=i>1?void 0:i?wS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&bS(t,e,r),r};const Co=class $f extends w{constructor(){super(),a(this,"interior_construction"),a(this,"exterior_construction"),a(this,"ground_construction"),a(this,"type"),this.type="_FaceSubSet"}init(t){super.init(t),t&&(this.interior_construction=t.interior_construction,this.exterior_construction=t.exterior_construction,this.ground_construction=t.ground_construction,this.type=t.type!==void 0?t.type:"_FaceSubSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new $f;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.interior_construction=this.interior_construction,t.exterior_construction=this.exterior_construction,t.ground_construction=this.ground_construction,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};pp([d(Z),c(),p()],Co.prototype,"interior_construction",2),pp([d(Z),c(),p()],Co.prototype,"exterior_construction",2),pp([d(Z),c(),p()],Co.prototype,"ground_construction",2),pp([l(),p()],Co.prototype,"type",2);let Nu=Co;var OS=Object.defineProperty,SS=Object.getOwnPropertyDescriptor,Bl=(n,t,e,i)=>{for(var r=i>1?void 0:i?SS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&OS(t,e,r),r};const cp=class Hf extends yr{constructor(){super(),a(this,"type"),a(this,"dynamic_group_identifier"),a(this,"states"),this.type="ApertureRadiancePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ApertureRadiancePropertiesAbridged",this.dynamic_group_identifier=t.dynamic_group_identifier,this.states=t.states)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Hf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.dynamic_group_identifier=this.dynamic_group_identifier,t.states=this.states,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Bl([l(),p()],cp.prototype,"type",2),Bl([l(),p()],cp.prototype,"dynamic_group_identifier",2),Bl([m(),c({each:!0}),p()],cp.prototype,"states",2);let lp=cp;var jS=Object.defineProperty,AS=Object.getOwnPropertyDescriptor,$l=(n,t,e,i)=>{for(var r=i>1?void 0:i?AS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&jS(t,e,r),r};const hp=class Ff extends yr{constructor(){super(),a(this,"type"),a(this,"dynamic_group_identifier"),a(this,"states"),this.type="DoorRadiancePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DoorRadiancePropertiesAbridged",this.dynamic_group_identifier=t.dynamic_group_identifier,this.states=t.states)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ff;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.dynamic_group_identifier=this.dynamic_group_identifier,t.states=this.states,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};$l([l(),p()],hp.prototype,"type",2),$l([l(),p()],hp.prototype,"dynamic_group_identifier",2),$l([m(),c({each:!0}),p()],hp.prototype,"states",2);let _p=hp;var PS=Object.defineProperty,CS=Object.getOwnPropertyDescriptor,ES=(n,t,e,i)=>{for(var r=i>1?void 0:i?CS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&PS(t,e,r),r};const Ru=class If extends yr{constructor(){super(),a(this,"type"),this.type="FaceRadiancePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"FaceRadiancePropertiesAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new If;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ES([l(),p()],Ru.prototype,"type",2);let up=Ru;var xS=Object.defineProperty,GS=Object.getOwnPropertyDescriptor,DS=(n,t,e,i)=>{for(var r=i>1?void 0:i?GS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&xS(t,e,r),r};const Vu=class qf extends yr{constructor(){super(),a(this,"type"),this.type="ShadeMeshRadiancePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeMeshRadiancePropertiesAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new qf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};DS([l(),p()],Vu.prototype,"type",2);let Hl=Vu;var JS=Object.defineProperty,MS=Object.getOwnPropertyDescriptor,Fl=(n,t,e,i)=>{for(var r=i>1?void 0:i?MS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&JS(t,e,r),r};const yp=class Tf extends yr{constructor(){super(),a(this,"type"),a(this,"dynamic_group_identifier"),a(this,"states"),this.type="ShadeRadiancePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeRadiancePropertiesAbridged",this.dynamic_group_identifier=t.dynamic_group_identifier,this.states=t.states)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Tf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.dynamic_group_identifier=this.dynamic_group_identifier,t.states=this.states,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Fl([l(),p()],yp.prototype,"type",2),Fl([l(),p()],yp.prototype,"dynamic_group_identifier",2),Fl([m(),c({each:!0}),p()],yp.prototype,"states",2);let dp=yp;var NS=Object.defineProperty,RS=Object.getOwnPropertyDescriptor,Il=(n,t,e,i)=>{for(var r=i>1?void 0:i?RS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&NS(t,e,r),r};const fp=class kf extends w{constructor(){super(),a(this,"modifier"),a(this,"modifier_blk"),a(this,"type"),this.type="_PropertiesBaseAbridged"}init(t){super.init(t),t&&(this.modifier=t.modifier,this.modifier_blk=t.modifier_blk,this.type=t.type!==void 0?t.type:"_PropertiesBaseAbridged")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="ShadeMeshRadiancePropertiesAbridged"){let i=new Hl;return i.init(t),i}if(t.type==="ApertureRadiancePropertiesAbridged"){let i=new lp;return i.init(t),i}if(t.type==="DoorRadiancePropertiesAbridged"){let i=new _p;return i.init(t),i}if(t.type==="ShadeRadiancePropertiesAbridged"){let i=new dp;return i.init(t),i}if(t.type==="FaceRadiancePropertiesAbridged"){let i=new up;return i.init(t),i}let e=new kf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.modifier_blk=this.modifier_blk,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Il([l(),p()],fp.prototype,"modifier",2),Il([l(),p()],fp.prototype,"modifier_blk",2),Il([l(),p()],fp.prototype,"type",2);let yr=fp;var VS=Object.defineProperty,WS=Object.getOwnPropertyDescriptor,BS=(n,t,e,i)=>{for(var r=i>1?void 0:i?WS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&VS(t,e,r),r};const Wu=class zf extends w{constructor(){super(),a(this,"type"),this.type="Void"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Void")}static fromJS(t){t=typeof t=="object"?t:{};let e=new zf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};BS([l(),p()],Wu.prototype,"type",2);let K=Wu;var $S=Object.defineProperty,HS=Object.getOwnPropertyDescriptor,dr=(n,t,e,i)=>{for(var r=i>1?void 0:i?HS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&$S(t,e,r),r};const Xe=class Lf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_transmissivity"),a(this,"g_transmissivity"),a(this,"b_transmissivity"),a(this,"refraction_index"),a(this,"type"),this.modifier=new K,this.r_transmissivity=0,this.g_transmissivity=0,this.b_transmissivity=0,this.refraction_index=1.52,this.type="Glass"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_transmissivity=t.r_transmissivity!==void 0?t.r_transmissivity:0,this.g_transmissivity=t.g_transmissivity!==void 0?t.g_transmissivity:0,this.b_transmissivity=t.b_transmissivity!==void 0?t.b_transmissivity:0,this.refraction_index=t.refraction_index!==void 0?t.refraction_index:1.52,this.type=t.type!==void 0?t.type:"Glass")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Lf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_transmissivity=this.r_transmissivity,t.g_transmissivity=this.g_transmissivity,t.b_transmissivity=this.b_transmissivity,t.refraction_index=this.refraction_index,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};dr([p()],Xe.prototype,"modifier",2),dr([m(),c({each:!0}),p()],Xe.prototype,"dependencies",2),dr([h(),p()],Xe.prototype,"r_transmissivity",2),dr([h(),p()],Xe.prototype,"g_transmissivity",2),dr([h(),p()],Xe.prototype,"b_transmissivity",2),dr([h(),p()],Xe.prototype,"refraction_index",2),dr([l(),p()],Xe.prototype,"type",2);let Qe=Xe;var FS=Object.defineProperty,IS=Object.getOwnPropertyDescriptor,fr=(n,t,e,i)=>{for(var r=i>1?void 0:i?IS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&FS(t,e,r),r};const Ke=class Uf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_emittance"),a(this,"g_emittance"),a(this,"b_emittance"),a(this,"max_radius"),a(this,"type"),this.modifier=new K,this.r_emittance=0,this.g_emittance=0,this.b_emittance=0,this.max_radius=0,this.type="Glow"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_emittance=t.r_emittance!==void 0?t.r_emittance:0,this.g_emittance=t.g_emittance!==void 0?t.g_emittance:0,this.b_emittance=t.b_emittance!==void 0?t.b_emittance:0,this.max_radius=t.max_radius!==void 0?t.max_radius:0,this.type=t.type!==void 0?t.type:"Glow")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Uf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_emittance=this.r_emittance,t.g_emittance=this.g_emittance,t.b_emittance=this.b_emittance,t.max_radius=this.max_radius,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};fr([p()],Ke.prototype,"modifier",2),fr([m(),c({each:!0}),p()],Ke.prototype,"dependencies",2),fr([h(),p()],Ke.prototype,"r_emittance",2),fr([h(),p()],Ke.prototype,"g_emittance",2),fr([h(),p()],Ke.prototype,"b_emittance",2),fr([h(),p()],Ke.prototype,"max_radius",2),fr([l(),p()],Ke.prototype,"type",2);let mp=Ke;var qS=Object.defineProperty,TS=Object.getOwnPropertyDescriptor,Dn=(n,t,e,i)=>{for(var r=i>1?void 0:i?TS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&qS(t,e,r),r};const mr=class Zf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_emittance"),a(this,"g_emittance"),a(this,"b_emittance"),a(this,"type"),this.modifier=new K,this.r_emittance=0,this.g_emittance=0,this.b_emittance=0,this.type="Light"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_emittance=t.r_emittance!==void 0?t.r_emittance:0,this.g_emittance=t.g_emittance!==void 0?t.g_emittance:0,this.b_emittance=t.b_emittance!==void 0?t.b_emittance:0,this.type=t.type!==void 0?t.type:"Light")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Zf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_emittance=this.r_emittance,t.g_emittance=this.g_emittance,t.b_emittance=this.b_emittance,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Dn([p()],mr.prototype,"modifier",2),Dn([m(),c({each:!0}),p()],mr.prototype,"dependencies",2),Dn([h(),p()],mr.prototype,"r_emittance",2),Dn([h(),p()],mr.prototype,"g_emittance",2),Dn([h(),p()],mr.prototype,"b_emittance",2),Dn([l(),p()],mr.prototype,"type",2);let vp=mr;var kS=Object.defineProperty,zS=Object.getOwnPropertyDescriptor,ti=(n,t,e,i)=>{for(var r=i>1?void 0:i?zS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&kS(t,e,r),r};const he=class Yf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_reflectance"),a(this,"g_reflectance"),a(this,"b_reflectance"),a(this,"specularity"),a(this,"roughness"),a(this,"type"),this.modifier=new K,this.r_reflectance=0,this.g_reflectance=0,this.b_reflectance=0,this.specularity=.9,this.roughness=0,this.type="Metal"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_reflectance=t.r_reflectance!==void 0?t.r_reflectance:0,this.g_reflectance=t.g_reflectance!==void 0?t.g_reflectance:0,this.b_reflectance=t.b_reflectance!==void 0?t.b_reflectance:0,this.specularity=t.specularity!==void 0?t.specularity:.9,this.roughness=t.roughness!==void 0?t.roughness:0,this.type=t.type!==void 0?t.type:"Metal")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Yf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_reflectance=this.r_reflectance,t.g_reflectance=this.g_reflectance,t.b_reflectance=this.b_reflectance,t.specularity=this.specularity,t.roughness=this.roughness,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ti([p()],he.prototype,"modifier",2),ti([m(),c({each:!0}),p()],he.prototype,"dependencies",2),ti([h(),p()],he.prototype,"r_reflectance",2),ti([h(),p()],he.prototype,"g_reflectance",2),ti([h(),p()],he.prototype,"b_reflectance",2),ti([h(),p()],he.prototype,"specularity",2),ti([h(),p()],he.prototype,"roughness",2),ti([l(),p()],he.prototype,"type",2);let gp=he;var LS=Object.defineProperty,US=Object.getOwnPropertyDescriptor,vr=(n,t,e,i)=>{for(var r=i>1?void 0:i?US(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&LS(t,e,r),r};const ei=class Xf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_reflectance"),a(this,"g_reflectance"),a(this,"b_reflectance"),a(this,"alternate_material"),a(this,"type"),this.modifier=new K,this.r_reflectance=1,this.g_reflectance=1,this.b_reflectance=1,this.type="Mirror"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_reflectance=t.r_reflectance!==void 0?t.r_reflectance:1,this.g_reflectance=t.g_reflectance!==void 0?t.g_reflectance:1,this.b_reflectance=t.b_reflectance!==void 0?t.b_reflectance:1,this.alternate_material=t.alternate_material,this.type=t.type!==void 0?t.type:"Mirror")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Xf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_reflectance=this.r_reflectance,t.g_reflectance=this.g_reflectance,t.b_reflectance=this.b_reflectance,t.alternate_material=this.alternate_material,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};vr([p()],ei.prototype,"modifier",2),vr([m(),c({each:!0}),p()],ei.prototype,"dependencies",2),vr([h(),p()],ei.prototype,"r_reflectance",2),vr([h(),p()],ei.prototype,"g_reflectance",2),vr([h(),p()],ei.prototype,"b_reflectance",2),vr([p()],ei.prototype,"alternate_material",2),vr([l(),p()],ei.prototype,"type",2);let bp=ei;var ZS=Object.defineProperty,YS=Object.getOwnPropertyDescriptor,ii=(n,t,e,i)=>{for(var r=i>1?void 0:i?YS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ZS(t,e,r),r};const _e=class Qf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_reflectance"),a(this,"g_reflectance"),a(this,"b_reflectance"),a(this,"specularity"),a(this,"roughness"),a(this,"type"),this.modifier=new K,this.r_reflectance=0,this.g_reflectance=0,this.b_reflectance=0,this.specularity=0,this.roughness=0,this.type="Plastic"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_reflectance=t.r_reflectance!==void 0?t.r_reflectance:0,this.g_reflectance=t.g_reflectance!==void 0?t.g_reflectance:0,this.b_reflectance=t.b_reflectance!==void 0?t.b_reflectance:0,this.specularity=t.specularity!==void 0?t.specularity:0,this.roughness=t.roughness!==void 0?t.roughness:0,this.type=t.type!==void 0?t.type:"Plastic")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Qf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_reflectance=this.r_reflectance,t.g_reflectance=this.g_reflectance,t.b_reflectance=this.b_reflectance,t.specularity=this.specularity,t.roughness=this.roughness,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ii([p()],_e.prototype,"modifier",2),ii([m(),c({each:!0}),p()],_e.prototype,"dependencies",2),ii([h(),p()],_e.prototype,"r_reflectance",2),ii([h(),p()],_e.prototype,"g_reflectance",2),ii([h(),p()],_e.prototype,"b_reflectance",2),ii([h(),p()],_e.prototype,"specularity",2),ii([h(),p()],_e.prototype,"roughness",2),ii([l(),p()],_e.prototype,"type",2);let tt=_e;var XS=Object.defineProperty,QS=Object.getOwnPropertyDescriptor,Lt=(n,t,e,i)=>{for(var r=i>1?void 0:i?QS(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&XS(t,e,r),r};const Gt=class Kf extends Dt{constructor(){super(),a(this,"modifier"),a(this,"dependencies"),a(this,"r_reflectance"),a(this,"g_reflectance"),a(this,"b_reflectance"),a(this,"specularity"),a(this,"roughness"),a(this,"transmitted_diff"),a(this,"transmitted_spec"),a(this,"type"),this.modifier=new K,this.r_reflectance=0,this.g_reflectance=0,this.b_reflectance=0,this.specularity=0,this.roughness=0,this.transmitted_diff=0,this.transmitted_spec=0,this.type="Trans"}init(t){super.init(t),t&&(this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.r_reflectance=t.r_reflectance!==void 0?t.r_reflectance:0,this.g_reflectance=t.g_reflectance!==void 0?t.g_reflectance:0,this.b_reflectance=t.b_reflectance!==void 0?t.b_reflectance:0,this.specularity=t.specularity!==void 0?t.specularity:0,this.roughness=t.roughness!==void 0?t.roughness:0,this.transmitted_diff=t.transmitted_diff!==void 0?t.transmitted_diff:0,this.transmitted_spec=t.transmitted_spec!==void 0?t.transmitted_spec:0,this.type=t.type!==void 0?t.type:"Trans")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Kf;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.modifier=this.modifier,t.dependencies=this.dependencies,t.r_reflectance=this.r_reflectance,t.g_reflectance=this.g_reflectance,t.b_reflectance=this.b_reflectance,t.specularity=this.specularity,t.roughness=this.roughness,t.transmitted_diff=this.transmitted_diff,t.transmitted_spec=this.transmitted_spec,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Lt([p()],Gt.prototype,"modifier",2),Lt([m(),c({each:!0}),p()],Gt.prototype,"dependencies",2),Lt([h(),p()],Gt.prototype,"r_reflectance",2),Lt([h(),p()],Gt.prototype,"g_reflectance",2),Lt([h(),p()],Gt.prototype,"b_reflectance",2),Lt([h(),p()],Gt.prototype,"specularity",2),Lt([h(),p()],Gt.prototype,"roughness",2),Lt([h(),p()],Gt.prototype,"transmitted_diff",2),Lt([h(),p()],Gt.prototype,"transmitted_spec",2),Lt([l(),p()],Gt.prototype,"type",2);let Jn=Gt;var KS=Object.defineProperty,tj=Object.getOwnPropertyDescriptor,ej=(n,t,e,i)=>{for(var r=i>1?void 0:i?tj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&KS(t,e,r),r};const Bu=class tm extends Pr{constructor(){super(),a(this,"type"),this.type="ModifierBase"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModifierBase")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="Mirror"){let i=new bp;return i.init(t),i}if(t.type==="Plastic"){let i=new tt;return i.init(t),i}if(t.type==="Glass"){let i=new Qe;return i.init(t),i}if(t.type==="BSDF"){let i=new wp;return i.init(t),i}if(t.type==="Glow"){let i=new mp;return i.init(t),i}if(t.type==="Light"){let i=new vp;return i.init(t),i}if(t.type==="Trans"){let i=new Jn;return i.init(t),i}if(t.type==="Metal"){let i=new gp;return i.init(t),i}let e=new tm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ej([l(),p()],Bu.prototype,"type",2);let Dt=Bu;var ij=Object.defineProperty,rj=Object.getOwnPropertyDescriptor,Jt=(n,t,e,i)=>{for(var r=i>1?void 0:i?rj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ij(t,e,r),r};const Ot=class em extends Dt{constructor(){super(),a(this,"bsdf_data"),a(this,"modifier"),a(this,"dependencies"),a(this,"up_orientation"),a(this,"thickness"),a(this,"function_file"),a(this,"transform"),a(this,"front_diffuse_reflectance"),a(this,"back_diffuse_reflectance"),a(this,"diffuse_transmittance"),a(this,"type"),this.modifier=new K,this.up_orientation=[.01,.01,1],this.thickness=0,this.function_file=".",this.type="BSDF"}init(t){super.init(t),t&&(this.bsdf_data=t.bsdf_data,this.modifier=t.modifier!==void 0?t.modifier:new K,this.dependencies=t.dependencies,this.up_orientation=t.up_orientation!==void 0?t.up_orientation:[.01,.01,1],this.thickness=t.thickness!==void 0?t.thickness:0,this.function_file=t.function_file!==void 0?t.function_file:".",this.transform=t.transform,this.front_diffuse_reflectance=t.front_diffuse_reflectance,this.back_diffuse_reflectance=t.back_diffuse_reflectance,this.diffuse_transmittance=t.diffuse_transmittance,this.type=t.type!==void 0?t.type:"BSDF")}static fromJS(t){t=typeof t=="object"?t:{};let e=new em;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.bsdf_data=this.bsdf_data,t.modifier=this.modifier,t.dependencies=this.dependencies,t.up_orientation=this.up_orientation,t.thickness=this.thickness,t.function_file=this.function_file,t.transform=this.transform,t.front_diffuse_reflectance=this.front_diffuse_reflectance,t.back_diffuse_reflectance=this.back_diffuse_reflectance,t.diffuse_transmittance=this.diffuse_transmittance,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Jt([l(),y()],Ot.prototype,"bsdf_data",2),Jt([p()],Ot.prototype,"modifier",2),Jt([m(),c({each:!0}),p()],Ot.prototype,"dependencies",2),Jt([m(),c({each:!0}),p()],Ot.prototype,"up_orientation",2),Jt([h(),p()],Ot.prototype,"thickness",2),Jt([l(),p()],Ot.prototype,"function_file",2),Jt([l(),p()],Ot.prototype,"transform",2),Jt([m(),c({each:!0}),p()],Ot.prototype,"front_diffuse_reflectance",2),Jt([m(),c({each:!0}),p()],Ot.prototype,"back_diffuse_reflectance",2),Jt([m(),c({each:!0}),p()],Ot.prototype,"diffuse_transmittance",2),Jt([l(),p()],Ot.prototype,"type",2);let wp=Ot;var nj=Object.defineProperty,oj=Object.getOwnPropertyDescriptor,Eo=(n,t,e,i)=>{for(var r=i>1?void 0:i?oj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&nj(t,e,r),r};const Mn=class im extends w{constructor(){super(),a(this,"type"),a(this,"window_modifier"),a(this,"interior_modifier"),a(this,"skylight_modifier"),a(this,"operable_modifier"),this.type="ApertureModifierSet"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ApertureModifierSet",this.window_modifier=t.window_modifier,this.interior_modifier=t.interior_modifier,this.skylight_modifier=t.skylight_modifier,this.operable_modifier=t.operable_modifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new im;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.window_modifier=this.window_modifier,t.interior_modifier=this.interior_modifier,t.skylight_modifier=this.skylight_modifier,t.operable_modifier=this.operable_modifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Eo([l(),p()],Mn.prototype,"type",2),Eo([p()],Mn.prototype,"window_modifier",2),Eo([p()],Mn.prototype,"interior_modifier",2),Eo([p()],Mn.prototype,"skylight_modifier",2),Eo([p()],Mn.prototype,"operable_modifier",2);let ql=Mn;var sj=Object.defineProperty,aj=Object.getOwnPropertyDescriptor,Nn=(n,t,e,i)=>{for(var r=i>1?void 0:i?aj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&sj(t,e,r),r};const gr=class rm extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"interior_glass_modifier"),a(this,"exterior_glass_modifier"),a(this,"overhead_modifier"),a(this,"type"),this.type="DoorModifierSet"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.interior_glass_modifier=t.interior_glass_modifier,this.exterior_glass_modifier=t.exterior_glass_modifier,this.overhead_modifier=t.overhead_modifier,this.type=t.type!==void 0?t.type:"DoorModifierSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new rm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.interior_glass_modifier=this.interior_glass_modifier,t.exterior_glass_modifier=this.exterior_glass_modifier,t.overhead_modifier=this.overhead_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Nn([p()],gr.prototype,"exterior_modifier",2),Nn([p()],gr.prototype,"interior_modifier",2),Nn([p()],gr.prototype,"interior_glass_modifier",2),Nn([p()],gr.prototype,"exterior_glass_modifier",2),Nn([p()],gr.prototype,"overhead_modifier",2),Nn([l(),p()],gr.prototype,"type",2);let Tl=gr;var pj=Object.defineProperty,cj=Object.getOwnPropertyDescriptor,kl=(n,t,e,i)=>{for(var r=i>1?void 0:i?cj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&pj(t,e,r),r};const Op=class nm extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"type"),this.type="FloorModifierSet"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.type=t.type!==void 0?t.type:"FloorModifierSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new nm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};kl([p()],Op.prototype,"exterior_modifier",2),kl([p()],Op.prototype,"interior_modifier",2),kl([l(),p()],Op.prototype,"type",2);let zl=Op;var lj=Object.defineProperty,hj=Object.getOwnPropertyDescriptor,Ll=(n,t,e,i)=>{for(var r=i>1?void 0:i?hj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&lj(t,e,r),r};const Sp=class om extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"type"),this.type="RoofCeilingModifierSet"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.type=t.type!==void 0?t.type:"RoofCeilingModifierSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new om;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ll([p()],Sp.prototype,"exterior_modifier",2),Ll([p()],Sp.prototype,"interior_modifier",2),Ll([l(),p()],Sp.prototype,"type",2);let Ul=Sp;var _j=Object.defineProperty,uj=Object.getOwnPropertyDescriptor,Zl=(n,t,e,i)=>{for(var r=i>1?void 0:i?uj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&_j(t,e,r),r};const jp=class sm extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"type"),this.type="ShadeModifierSet"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.type=t.type!==void 0?t.type:"ShadeModifierSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new sm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Zl([p()],jp.prototype,"exterior_modifier",2),Zl([p()],jp.prototype,"interior_modifier",2),Zl([l(),p()],jp.prototype,"type",2);let Yl=jp;var yj=Object.defineProperty,dj=Object.getOwnPropertyDescriptor,Xl=(n,t,e,i)=>{for(var r=i>1?void 0:i?dj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&yj(t,e,r),r};const Ap=class am extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"type"),this.type="WallModifierSet"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.type=t.type!==void 0?t.type:"WallModifierSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new am;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Xl([p()],Ap.prototype,"exterior_modifier",2),Xl([p()],Ap.prototype,"interior_modifier",2),Xl([l(),p()],Ap.prototype,"type",2);let Ql=Ap;var fj=Object.defineProperty,mj=Object.getOwnPropertyDescriptor,ri=(n,t,e,i)=>{for(var r=i>1?void 0:i?mj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&fj(t,e,r),r};const ue=class pm extends Pr{constructor(){super(),a(this,"type"),a(this,"wall_set"),a(this,"floor_set"),a(this,"roof_ceiling_set"),a(this,"aperture_set"),a(this,"door_set"),a(this,"shade_set"),a(this,"air_boundary_modifier"),this.type="ModifierSet"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModifierSet",this.wall_set=t.wall_set,this.floor_set=t.floor_set,this.roof_ceiling_set=t.roof_ceiling_set,this.aperture_set=t.aperture_set,this.door_set=t.door_set,this.shade_set=t.shade_set,this.air_boundary_modifier=t.air_boundary_modifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new pm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.wall_set=this.wall_set,t.floor_set=this.floor_set,t.roof_ceiling_set=this.roof_ceiling_set,t.aperture_set=this.aperture_set,t.door_set=this.door_set,t.shade_set=this.shade_set,t.air_boundary_modifier=this.air_boundary_modifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ri([l(),p()],ue.prototype,"type",2),ri([d(Ql),c(),p()],ue.prototype,"wall_set",2),ri([d(zl),c(),p()],ue.prototype,"floor_set",2),ri([d(Ul),c(),p()],ue.prototype,"roof_ceiling_set",2),ri([d(ql),c(),p()],ue.prototype,"aperture_set",2),ri([d(Tl),c(),p()],ue.prototype,"door_set",2),ri([d(Yl),c(),p()],ue.prototype,"shade_set",2),ri([p()],ue.prototype,"air_boundary_modifier",2);let Kl=ue;var vj=Object.defineProperty,gj=Object.getOwnPropertyDescriptor,xo=(n,t,e,i)=>{for(var r=i>1?void 0:i?gj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&vj(t,e,r),r};const Rn=class cm extends w{constructor(){super(),a(this,"type"),a(this,"window_modifier"),a(this,"interior_modifier"),a(this,"skylight_modifier"),a(this,"operable_modifier"),this.type="ApertureModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ApertureModifierSetAbridged",this.window_modifier=t.window_modifier,this.interior_modifier=t.interior_modifier,this.skylight_modifier=t.skylight_modifier,this.operable_modifier=t.operable_modifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new cm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.window_modifier=this.window_modifier,t.interior_modifier=this.interior_modifier,t.skylight_modifier=this.skylight_modifier,t.operable_modifier=this.operable_modifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};xo([l(),p()],Rn.prototype,"type",2),xo([l(),p()],Rn.prototype,"window_modifier",2),xo([l(),p()],Rn.prototype,"interior_modifier",2),xo([l(),p()],Rn.prototype,"skylight_modifier",2),xo([l(),p()],Rn.prototype,"operable_modifier",2);let Vn=Rn;var bj=Object.defineProperty,wj=Object.getOwnPropertyDescriptor,Oj=(n,t,e,i)=>{for(var r=i>1?void 0:i?wj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&bj(t,e,r),r};const $u=class lm extends jr{constructor(){super(),a(this,"type"),this.type="FloorModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"FloorModifierSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new lm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Oj([l(),p()],$u.prototype,"type",2);let br=$u;var Sj=Object.defineProperty,jj=Object.getOwnPropertyDescriptor,Aj=(n,t,e,i)=>{for(var r=i>1?void 0:i?jj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Sj(t,e,r),r};const Hu=class hm extends jr{constructor(){super(),a(this,"type"),this.type="RoofCeilingModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RoofCeilingModifierSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new hm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Aj([l(),p()],Hu.prototype,"type",2);let wr=Hu;var Pj=Object.defineProperty,Cj=Object.getOwnPropertyDescriptor,Ej=(n,t,e,i)=>{for(var r=i>1?void 0:i?Cj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Pj(t,e,r),r};const Fu=class _m extends jr{constructor(){super(),a(this,"type"),this.type="ShadeModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeModifierSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new _m;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ej([l(),p()],Fu.prototype,"type",2);let Or=Fu;var xj=Object.defineProperty,Gj=Object.getOwnPropertyDescriptor,Dj=(n,t,e,i)=>{for(var r=i>1?void 0:i?Gj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&xj(t,e,r),r};const Iu=class um extends jr{constructor(){super(),a(this,"type"),this.type="WallModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"WallModifierSetAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new um;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Dj([l(),p()],Iu.prototype,"type",2);let Sr=Iu;var Jj=Object.defineProperty,Mj=Object.getOwnPropertyDescriptor,th=(n,t,e,i)=>{for(var r=i>1?void 0:i?Mj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Jj(t,e,r),r};const Pp=class ym extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"type"),this.type="BaseModifierSetAbridged"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.type=t.type!==void 0?t.type:"BaseModifierSetAbridged")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="RoofCeilingModifierSetAbridged"){let i=new wr;return i.init(t),i}if(t.type==="DoorModifierSetAbridged"){let i=new Ar;return i.init(t),i}if(t.type==="WallModifierSetAbridged"){let i=new Sr;return i.init(t),i}if(t.type==="FloorModifierSetAbridged"){let i=new br;return i.init(t),i}if(t.type==="ShadeModifierSetAbridged"){let i=new Or;return i.init(t),i}let e=new ym;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};th([l(),p()],Pp.prototype,"exterior_modifier",2),th([l(),p()],Pp.prototype,"interior_modifier",2),th([l(),p()],Pp.prototype,"type",2);let jr=Pp;var Nj=Object.defineProperty,Rj=Object.getOwnPropertyDescriptor,Cp=(n,t,e,i)=>{for(var r=i>1?void 0:i?Rj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Nj(t,e,r),r};const Go=class dm extends jr{constructor(){super(),a(this,"type"),a(this,"interior_glass_modifier"),a(this,"exterior_glass_modifier"),a(this,"overhead_modifier"),this.type="DoorModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DoorModifierSetAbridged",this.interior_glass_modifier=t.interior_glass_modifier,this.exterior_glass_modifier=t.exterior_glass_modifier,this.overhead_modifier=t.overhead_modifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new dm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.interior_glass_modifier=this.interior_glass_modifier,t.exterior_glass_modifier=this.exterior_glass_modifier,t.overhead_modifier=this.overhead_modifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Cp([l(),p()],Go.prototype,"type",2),Cp([l(),p()],Go.prototype,"interior_glass_modifier",2),Cp([l(),p()],Go.prototype,"exterior_glass_modifier",2),Cp([l(),p()],Go.prototype,"overhead_modifier",2);let Ar=Go;var Vj=Object.defineProperty,Wj=Object.getOwnPropertyDescriptor,ni=(n,t,e,i)=>{for(var r=i>1?void 0:i?Wj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Vj(t,e,r),r};const ye=class fm extends Pr{constructor(){super(),a(this,"type"),a(this,"wall_set"),a(this,"floor_set"),a(this,"roof_ceiling_set"),a(this,"aperture_set"),a(this,"door_set"),a(this,"shade_set"),a(this,"air_boundary_modifier"),this.type="ModifierSetAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModifierSetAbridged",this.wall_set=t.wall_set,this.floor_set=t.floor_set,this.roof_ceiling_set=t.roof_ceiling_set,this.aperture_set=t.aperture_set,this.door_set=t.door_set,this.shade_set=t.shade_set,this.air_boundary_modifier=t.air_boundary_modifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new fm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.wall_set=this.wall_set,t.floor_set=this.floor_set,t.roof_ceiling_set=this.roof_ceiling_set,t.aperture_set=this.aperture_set,t.door_set=this.door_set,t.shade_set=this.shade_set,t.air_boundary_modifier=this.air_boundary_modifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ni([l(),p()],ye.prototype,"type",2),ni([d(Sr),c(),p()],ye.prototype,"wall_set",2),ni([d(br),c(),p()],ye.prototype,"floor_set",2),ni([d(wr),c(),p()],ye.prototype,"roof_ceiling_set",2),ni([d(Vn),c(),p()],ye.prototype,"aperture_set",2),ni([d(Ar),c(),p()],ye.prototype,"door_set",2),ni([d(Or),c(),p()],ye.prototype,"shade_set",2),ni([l(),p()],ye.prototype,"air_boundary_modifier",2);let eh=ye;var Bj=Object.defineProperty,$j=Object.getOwnPropertyDescriptor,Ep=(n,t,e,i)=>{for(var r=i>1?void 0:i?$j(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Bj(t,e,r),r};const Do=class mm extends w{constructor(){super(),a(this,"vertices"),a(this,"faces"),a(this,"type"),a(this,"colors"),this.type="Mesh3D"}init(t){super.init(t),t&&(this.vertices=t.vertices,this.faces=t.faces,this.type=t.type!==void 0?t.type:"Mesh3D",this.colors=t.colors)}static fromJS(t){t=typeof t=="object"?t:{};let e=new mm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vertices=this.vertices,t.faces=this.faces,t.type=this.type,t.colors=this.colors,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ep([m(),c({each:!0}),y()],Do.prototype,"vertices",2),Ep([m(),c({each:!0}),y()],Do.prototype,"faces",2),Ep([l(),p()],Do.prototype,"type",2),Ep([m(),c({each:!0}),p()],Do.prototype,"colors",2);let xp=Do;var Hj=Object.defineProperty,Fj=Object.getOwnPropertyDescriptor,Jo=(n,t,e,i)=>{for(var r=i>1?void 0:i?Fj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Hj(t,e,r),r};const Wn=class vm extends Vp{constructor(){super(),a(this,"sensors"),a(this,"type"),a(this,"mesh"),a(this,"base_geometry"),a(this,"group_identifier"),this.type="SensorGrid"}init(t){super.init(t),t&&(this.sensors=t.sensors,this.type=t.type!==void 0?t.type:"SensorGrid",this.mesh=t.mesh,this.base_geometry=t.base_geometry,this.group_identifier=t.group_identifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new vm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.sensors=this.sensors,t.type=this.type,t.mesh=this.mesh,t.base_geometry=this.base_geometry,t.group_identifier=this.group_identifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Jo([m(),c({each:!0}),y()],Wn.prototype,"sensors",2),Jo([l(),p()],Wn.prototype,"type",2),Jo([d(xp),c(),p()],Wn.prototype,"mesh",2),Jo([m(),c({each:!0}),p()],Wn.prototype,"base_geometry",2),Jo([l(),p()],Wn.prototype,"group_identifier",2);let ih=Wn;var Ij=Object.defineProperty,qj=Object.getOwnPropertyDescriptor,Gp=(n,t,e,i)=>{for(var r=i>1?void 0:i?qj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Ij(t,e,r),r};const Mo=class gm extends w{constructor(){super(),a(this,"n"),a(this,"o"),a(this,"type"),a(this,"x"),this.type="Plane"}init(t){super.init(t),t&&(this.n=t.n,this.o=t.o,this.type=t.type!==void 0?t.type:"Plane",this.x=t.x)}static fromJS(t){t=typeof t=="object"?t:{};let e=new gm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.n=this.n,t.o=this.o,t.type=this.type,t.x=this.x,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Gp([m(),c({each:!0}),y()],Mo.prototype,"n",2),Gp([m(),c({each:!0}),y()],Mo.prototype,"o",2),Gp([l(),p()],Mo.prototype,"type",2),Gp([m(),c({each:!0}),p()],Mo.prototype,"x",2);let rh=Mo;var Tj=Object.defineProperty,kj=Object.getOwnPropertyDescriptor,Dp=(n,t,e,i)=>{for(var r=i>1?void 0:i?kj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Tj(t,e,r),r};const No=class bm extends w{constructor(){super(),a(this,"boundary"),a(this,"type"),a(this,"holes"),a(this,"plane"),this.type="Face3D"}init(t){super.init(t),t&&(this.boundary=t.boundary,this.type=t.type!==void 0?t.type:"Face3D",this.holes=t.holes,this.plane=t.plane)}static fromJS(t){t=typeof t=="object"?t:{};let e=new bm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.boundary=this.boundary,t.type=this.type,t.holes=this.holes,t.plane=this.plane,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Dp([m(),c({each:!0}),y()],No.prototype,"boundary",2),Dp([l(),p()],No.prototype,"type",2),Dp([m(),c({each:!0}),p()],No.prototype,"holes",2),Dp([d(rh),c(),p()],No.prototype,"plane",2);let Ut=No;var zj=Object.defineProperty,Lj=Object.getOwnPropertyDescriptor,Jp=(n,t,e,i)=>{for(var r=i>1?void 0:i?Lj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&zj(t,e,r),r};const Ro=class wm extends Pr{constructor(){super(),a(this,"geometry"),a(this,"type"),a(this,"modifier"),a(this,"modifier_direct"),this.type="StateGeometryAbridged"}init(t){super.init(t),t&&(this.geometry=t.geometry,this.type=t.type!==void 0?t.type:"StateGeometryAbridged",this.modifier=t.modifier,this.modifier_direct=t.modifier_direct)}static fromJS(t){t=typeof t=="object"?t:{};let e=new wm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.geometry=this.geometry,t.type=this.type,t.modifier=this.modifier,t.modifier_direct=this.modifier_direct,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Jp([d(Ut),c(),y()],Ro.prototype,"geometry",2),Jp([l(),p()],Ro.prototype,"type",2),Jp([l(),p()],Ro.prototype,"modifier",2),Jp([l(),p()],Ro.prototype,"modifier_direct",2);let nh=Ro;var Mp=(n=>(n.v="v",n.h="h",n.l="l",n.c="c",n.a="a",n.s="s",n))(Mp||{}),Uj=Object.defineProperty,Zj=Object.getOwnPropertyDescriptor,St=(n,t,e,i)=>{for(var r=i>1?void 0:i?Zj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Uj(t,e,r),r};const dt=class Om extends Vp{constructor(){super(),a(this,"position"),a(this,"direction"),a(this,"up_vector"),a(this,"type"),a(this,"view_type"),a(this,"h_size"),a(this,"v_size"),a(this,"shift"),a(this,"lift"),a(this,"fore_clip"),a(this,"aft_clip"),a(this,"group_identifier"),this.type="View",this.view_type=Mp.v,this.h_size=60,this.v_size=60}init(t){super.init(t),t&&(this.position=t.position,this.direction=t.direction,this.up_vector=t.up_vector,this.type=t.type!==void 0?t.type:"View",this.view_type=t.view_type!==void 0?t.view_type:Mp.v,this.h_size=t.h_size!==void 0?t.h_size:60,this.v_size=t.v_size!==void 0?t.v_size:60,this.shift=t.shift,this.lift=t.lift,this.fore_clip=t.fore_clip,this.aft_clip=t.aft_clip,this.group_identifier=t.group_identifier)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Om;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.position=this.position,t.direction=this.direction,t.up_vector=this.up_vector,t.type=this.type,t.view_type=this.view_type,t.h_size=this.h_size,t.v_size=this.v_size,t.shift=this.shift,t.lift=this.lift,t.fore_clip=this.fore_clip,t.aft_clip=this.aft_clip,t.group_identifier=this.group_identifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};St([m(),c({each:!0}),y()],dt.prototype,"position",2),St([m(),c({each:!0}),y()],dt.prototype,"direction",2),St([m(),c({each:!0}),y()],dt.prototype,"up_vector",2),St([l(),p()],dt.prototype,"type",2),St([b(Mp),c(),p()],dt.prototype,"view_type",2),St([h(),p()],dt.prototype,"h_size",2),St([h(),p()],dt.prototype,"v_size",2),St([h(),p()],dt.prototype,"shift",2),St([h(),p()],dt.prototype,"lift",2),St([h(),p()],dt.prototype,"fore_clip",2),St([h(),p()],dt.prototype,"aft_clip",2),St([l(),p()],dt.prototype,"group_identifier",2);let oh=dt;var Yj=Object.defineProperty,Xj=Object.getOwnPropertyDescriptor,sh=(n,t,e,i)=>{for(var r=i>1?void 0:i?Xj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Yj(t,e,r),r};const Np=class Sm extends w{constructor(){super(),a(this,"identifier"),a(this,"display_name"),a(this,"type"),this.type="IDdRadianceBaseModel"}init(t){super.init(t),t&&(this.identifier=t.identifier,this.display_name=t.display_name,this.type=t.type!==void 0?t.type:"IDdRadianceBaseModel")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="Mirror"){let i=new bp;return i.init(t),i}if(t.type==="ModifierBase"){let i=new Dt;return i.init(t),i}if(t.type==="Plastic"){let i=new tt;return i.init(t),i}if(t.type==="Glass"){let i=new Qe;return i.init(t),i}if(t.type==="BSDF"){let i=new wp;return i.init(t),i}if(t.type==="Glow"){let i=new mp;return i.init(t),i}if(t.type==="Light"){let i=new vp;return i.init(t),i}if(t.type==="Trans"){let i=new Jn;return i.init(t),i}if(t.type==="Metal"){let i=new gp;return i.init(t),i}if(t.type==="View"){let i=new oh;return i.init(t),i}if(t.type==="_RadianceAsset"){let i=new Vp;return i.init(t),i}if(t.type==="StateGeometryAbridged"){let i=new nh;return i.init(t),i}if(t.type==="SensorGrid"){let i=new ih;return i.init(t),i}if(t.type==="ModifierSet"){let i=new Kl;return i.init(t),i}if(t.type==="ModifierSetAbridged"){let i=new eh;return i.init(t),i}let e=new Sm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.identifier=this.identifier,t.display_name=this.display_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};sh([l(),y()],Np.prototype,"identifier",2),sh([l(),p()],Np.prototype,"display_name",2),sh([l(),p()],Np.prototype,"type",2);let Pr=Np;var Qj=Object.defineProperty,Kj=Object.getOwnPropertyDescriptor,ah=(n,t,e,i)=>{for(var r=i>1?void 0:i?Kj(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Qj(t,e,r),r};const Rp=class jm extends Pr{constructor(){super(),a(this,"room_identifier"),a(this,"light_path"),a(this,"type"),this.type="_RadianceAsset"}init(t){super.init(t),t&&(this.room_identifier=t.room_identifier,this.light_path=t.light_path,this.type=t.type!==void 0?t.type:"_RadianceAsset")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="View"){let i=new oh;return i.init(t),i}if(t.type==="SensorGrid"){let i=new ih;return i.init(t),i}let e=new jm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.room_identifier=this.room_identifier,t.light_path=this.light_path,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ah([l(),p()],Rp.prototype,"room_identifier",2),ah([m(),c({each:!0}),p()],Rp.prototype,"light_path",2),ah([l(),p()],Rp.prototype,"type",2);let Vp=Rp;var t2=Object.defineProperty,e2=Object.getOwnPropertyDescriptor,qu=(n,t,e,i)=>{for(var r=i>1?void 0:i?e2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&t2(t,e,r),r};const ph=class Am extends hh{constructor(){super(),a(this,"clearness"),a(this,"type"),this.type="ASHRAEClearSky"}init(t){super.init(t),t&&(this.clearness=t.clearness,this.type=t.type!==void 0?t.type:"ASHRAEClearSky")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Am;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.clearness=this.clearness,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};qu([h(),y()],ph.prototype,"clearness",2),qu([l(),p()],ph.prototype,"type",2);let Tu=ph;var i2=Object.defineProperty,r2=Object.getOwnPropertyDescriptor,ch=(n,t,e,i)=>{for(var r=i>1?void 0:i?r2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&i2(t,e,r),r};const Wp=class Pm extends hh{constructor(){super(),a(this,"tau_b"),a(this,"tau_d"),a(this,"type"),this.type="ASHRAETau"}init(t){super.init(t),t&&(this.tau_b=t.tau_b,this.tau_d=t.tau_d,this.type=t.type!==void 0?t.type:"ASHRAETau")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Pm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.tau_b=this.tau_b,t.tau_d=this.tau_d,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ch([h(),y()],Wp.prototype,"tau_b",2),ch([h(),y()],Wp.prototype,"tau_d",2),ch([l(),p()],Wp.prototype,"type",2);let ku=Wp;var n2=Object.defineProperty,o2=Object.getOwnPropertyDescriptor,lh=(n,t,e,i)=>{for(var r=i>1?void 0:i?o2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&n2(t,e,r),r};const Bp=class Cm extends w{constructor(){super(),a(this,"date"),a(this,"daylight_savings"),a(this,"type"),this.daylight_savings=!1,this.type="_SkyCondition"}init(t){super.init(t),t&&(this.date=t.date,this.daylight_savings=t.daylight_savings!==void 0?t.daylight_savings:!1,this.type=t.type!==void 0?t.type:"_SkyCondition")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="ASHRAEClearSky"){let i=new Tu;return i.init(t),i}if(t.type==="ASHRAETau"){let i=new ku;return i.init(t),i}let e=new Cm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.date=this.date,t.daylight_savings=this.daylight_savings,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};lh([m(),c({each:!0}),y()],Bp.prototype,"date",2),lh([D(),p()],Bp.prototype,"daylight_savings",2),lh([l(),p()],Bp.prototype,"type",2);let hh=Bp;var s2=Object.defineProperty,a2=Object.getOwnPropertyDescriptor,$p=(n,t,e,i)=>{for(var r=i>1?void 0:i?a2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&s2(t,e,r),r};const Vo=class Em extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"element_name"),a(this,"type"),this.type="AddedInstruction"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.element_name=t.element_name,this.type=t.type!==void 0?t.type:"AddedInstruction")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Em;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.element_name=this.element_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};$p([b(Ye),c(),y()],Vo.prototype,"element_type",2),$p([l(),y()],Vo.prototype,"element_id",2),$p([l(),p()],Vo.prototype,"element_name",2),$p([l(),p()],Vo.prototype,"type",2);let p2=Vo;var c2=Object.defineProperty,l2=Object.getOwnPropertyDescriptor,Wo=(n,t,e,i)=>{for(var r=i>1?void 0:i?l2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&c2(t,e,r),r};const Bn=class xm extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"geometry"),a(this,"element_name"),a(this,"type"),this.type="AddedObject"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.geometry=t.geometry,this.element_name=t.element_name,this.type=t.type!==void 0?t.type:"AddedObject")}static fromJS(t){t=typeof t=="object"?t:{};let e=new xm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.geometry=this.geometry,t.element_name=this.element_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Wo([b(Ye),c(),y()],Bn.prototype,"element_type",2),Wo([l(),y()],Bn.prototype,"element_id",2),Wo([m(),c({each:!0}),y()],Bn.prototype,"geometry",2),Wo([l(),p()],Bn.prototype,"element_name",2),Wo([l(),p()],Bn.prototype,"type",2);let h2=Bn;var _2=Object.defineProperty,u2=Object.getOwnPropertyDescriptor,y2=(n,t,e,i)=>{for(var r=i>1?void 0:i?u2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&_2(t,e,r),r};const zu=class Gm extends w{constructor(){super(),a(this,"type"),this.type="Adiabatic"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Adiabatic")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Gm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};y2([l(),p()],zu.prototype,"type",2);let Lu=zu;var d2=Object.defineProperty,f2=Object.getOwnPropertyDescriptor,_h=(n,t,e,i)=>{for(var r=i>1?void 0:i?f2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&d2(t,e,r),r};const Hp=class Dm extends w{constructor(){super(),a(this,"flow_coefficient"),a(this,"type"),a(this,"flow_exponent"),this.type="AFNCrack",this.flow_exponent=.65}init(t){super.init(t),t&&(this.flow_coefficient=t.flow_coefficient,this.type=t.type!==void 0?t.type:"AFNCrack",this.flow_exponent=t.flow_exponent!==void 0?t.flow_exponent:.65)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Dm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.flow_coefficient=this.flow_coefficient,t.type=this.type,t.flow_exponent=this.flow_exponent,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};_h([h(),y()],Hp.prototype,"flow_coefficient",2),_h([l(),p()],Hp.prototype,"type",2),_h([h(),p()],Hp.prototype,"flow_exponent",2);let uh=Hp;var m2=Object.defineProperty,v2=Object.getOwnPropertyDescriptor,oi=(n,t,e,i)=>{for(var r=i>1?void 0:i?v2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&m2(t,e,r),r};const de=class Jm extends w{constructor(){super(),a(this,"type"),a(this,"fraction_area_operable"),a(this,"fraction_height_operable"),a(this,"discharge_coefficient"),a(this,"wind_cross_vent"),a(this,"flow_coefficient_closed"),a(this,"flow_exponent_closed"),a(this,"two_way_threshold"),this.type="VentilationOpening",this.fraction_area_operable=.5,this.fraction_height_operable=1,this.discharge_coefficient=.45,this.wind_cross_vent=!1,this.flow_coefficient_closed=0,this.flow_exponent_closed=.65,this.two_way_threshold=1e-4}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"VentilationOpening",this.fraction_area_operable=t.fraction_area_operable!==void 0?t.fraction_area_operable:.5,this.fraction_height_operable=t.fraction_height_operable!==void 0?t.fraction_height_operable:1,this.discharge_coefficient=t.discharge_coefficient!==void 0?t.discharge_coefficient:.45,this.wind_cross_vent=t.wind_cross_vent!==void 0?t.wind_cross_vent:!1,this.flow_coefficient_closed=t.flow_coefficient_closed!==void 0?t.flow_coefficient_closed:0,this.flow_exponent_closed=t.flow_exponent_closed!==void 0?t.flow_exponent_closed:.65,this.two_way_threshold=t.two_way_threshold!==void 0?t.two_way_threshold:1e-4)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Jm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.fraction_area_operable=this.fraction_area_operable,t.fraction_height_operable=this.fraction_height_operable,t.discharge_coefficient=this.discharge_coefficient,t.wind_cross_vent=this.wind_cross_vent,t.flow_coefficient_closed=this.flow_coefficient_closed,t.flow_exponent_closed=this.flow_exponent_closed,t.two_way_threshold=this.two_way_threshold,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};oi([l(),p()],de.prototype,"type",2),oi([h(),p()],de.prototype,"fraction_area_operable",2),oi([h(),p()],de.prototype,"fraction_height_operable",2),oi([h(),p()],de.prototype,"discharge_coefficient",2),oi([D(),p()],de.prototype,"wind_cross_vent",2),oi([h(),p()],de.prototype,"flow_coefficient_closed",2),oi([h(),p()],de.prototype,"flow_exponent_closed",2),oi([h(),p()],de.prototype,"two_way_threshold",2);let Bo=de;var g2=Object.defineProperty,b2=Object.getOwnPropertyDescriptor,yh=(n,t,e,i)=>{for(var r=i>1?void 0:i?b2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&g2(t,e,r),r};const Fp=class Mm extends w{constructor(){super(),a(this,"type"),a(this,"construction"),a(this,"vent_opening"),this.type="ApertureEnergyPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ApertureEnergyPropertiesAbridged",this.construction=t.construction,this.vent_opening=t.vent_opening)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Mm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.construction=this.construction,t.vent_opening=this.vent_opening,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};yh([l(),p()],Fp.prototype,"type",2),yh([l(),p()],Fp.prototype,"construction",2),yh([d(Bo),c(),p()],Fp.prototype,"vent_opening",2);let dh=Fp;var w2=Object.defineProperty,O2=Object.getOwnPropertyDescriptor,fh=(n,t,e,i)=>{for(var r=i>1?void 0:i?O2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&w2(t,e,r),r};const Ip=class Nm extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),this.type="AperturePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"AperturePropertiesAbridged",this.energy=t.energy,this.radiance=t.radiance)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Nm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};fh([l(),p()],Ip.prototype,"type",2),fh([d(dh),c(),p()],Ip.prototype,"energy",2),fh([d(lp),c(),p()],Ip.prototype,"radiance",2);let mh=Ip;var S2=Object.defineProperty,j2=Object.getOwnPropertyDescriptor,vh=(n,t,e,i)=>{for(var r=i>1?void 0:i?j2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&S2(t,e,r),r};const qp=class Rm extends w{constructor(){super(),a(this,"type"),a(this,"construction"),a(this,"vent_opening"),this.type="DoorEnergyPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DoorEnergyPropertiesAbridged",this.construction=t.construction,this.vent_opening=t.vent_opening)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Rm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.construction=this.construction,t.vent_opening=this.vent_opening,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};vh([l(),p()],qp.prototype,"type",2),vh([l(),p()],qp.prototype,"construction",2),vh([d(Bo),c(),p()],qp.prototype,"vent_opening",2);let gh=qp;var A2=Object.defineProperty,P2=Object.getOwnPropertyDescriptor,bh=(n,t,e,i)=>{for(var r=i>1?void 0:i?P2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&A2(t,e,r),r};const Tp=class Vm extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),this.type="DoorPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DoorPropertiesAbridged",this.energy=t.energy,this.radiance=t.radiance)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Vm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};bh([l(),p()],Tp.prototype,"type",2),bh([d(gh),c(),p()],Tp.prototype,"energy",2),bh([d(_p),c(),p()],Tp.prototype,"radiance",2);let wh=Tp;var C2=Object.defineProperty,E2=Object.getOwnPropertyDescriptor,Cr=(n,t,e,i)=>{for(var r=i>1?void 0:i?E2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&C2(t,e,r),r};const si=class Wm extends ht{constructor(){super(),a(this,"geometry"),a(this,"boundary_condition"),a(this,"properties"),a(this,"type"),a(this,"is_glass"),a(this,"indoor_shades"),a(this,"outdoor_shades"),this.type="Door",this.is_glass=!1}init(t){super.init(t),t&&(this.geometry=t.geometry,this.boundary_condition=t.boundary_condition,this.properties=t.properties,this.type=t.type!==void 0?t.type:"Door",this.is_glass=t.is_glass!==void 0?t.is_glass:!1,this.indoor_shades=t.indoor_shades,this.outdoor_shades=t.outdoor_shades)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Wm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.geometry=this.geometry,t.boundary_condition=this.boundary_condition,t.properties=this.properties,t.type=this.type,t.is_glass=this.is_glass,t.indoor_shades=this.indoor_shades,t.outdoor_shades=this.outdoor_shades,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Cr([d(Ut),c(),y()],si.prototype,"geometry",2),Cr([y()],si.prototype,"boundary_condition",2),Cr([d(wh),c(),y()],si.prototype,"properties",2),Cr([l(),p()],si.prototype,"type",2),Cr([D(),p()],si.prototype,"is_glass",2),Cr([m(),c({each:!0}),p()],si.prototype,"indoor_shades",2),Cr([m(),c({each:!0}),p()],si.prototype,"outdoor_shades",2);let Oh=si;var x2=Object.defineProperty,G2=Object.getOwnPropertyDescriptor,Sh=(n,t,e,i)=>{for(var r=i>1?void 0:i?G2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&x2(t,e,r),r};const kp=class Bm extends w{constructor(){super(),a(this,"type"),a(this,"construction"),a(this,"vent_crack"),this.type="FaceEnergyPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"FaceEnergyPropertiesAbridged",this.construction=t.construction,this.vent_crack=t.vent_crack)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Bm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.construction=this.construction,t.vent_crack=this.vent_crack,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Sh([l(),p()],kp.prototype,"type",2),Sh([l(),p()],kp.prototype,"construction",2),Sh([d(uh),c(),p()],kp.prototype,"vent_crack",2);let jh=kp;var D2=Object.defineProperty,J2=Object.getOwnPropertyDescriptor,Ah=(n,t,e,i)=>{for(var r=i>1?void 0:i?J2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&D2(t,e,r),r};const zp=class $m extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),this.type="FacePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"FacePropertiesAbridged",this.energy=t.energy,this.radiance=t.radiance)}static fromJS(t){t=typeof t=="object"?t:{};let e=new $m;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ah([l(),p()],zp.prototype,"type",2),Ah([d(jh),c(),p()],zp.prototype,"energy",2),Ah([d(up),c(),p()],zp.prototype,"radiance",2);let Ph=zp;var Uu=(n=>(n.Wall="Wall",n.Floor="Floor",n.RoofCeiling="RoofCeiling",n.AirBoundary="AirBoundary",n))(Uu||{}),M2=Object.defineProperty,N2=Object.getOwnPropertyDescriptor,fe=(n,t,e,i)=>{for(var r=i>1?void 0:i?N2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&M2(t,e,r),r};const Zt=class Hm extends ht{constructor(){super(),a(this,"geometry"),a(this,"face_type"),a(this,"boundary_condition"),a(this,"properties"),a(this,"type"),a(this,"apertures"),a(this,"doors"),a(this,"indoor_shades"),a(this,"outdoor_shades"),this.type="Face"}init(t){super.init(t),t&&(this.geometry=t.geometry,this.face_type=t.face_type,this.boundary_condition=t.boundary_condition,this.properties=t.properties,this.type=t.type!==void 0?t.type:"Face",this.apertures=t.apertures,this.doors=t.doors,this.indoor_shades=t.indoor_shades,this.outdoor_shades=t.outdoor_shades)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Hm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.geometry=this.geometry,t.face_type=this.face_type,t.boundary_condition=this.boundary_condition,t.properties=this.properties,t.type=this.type,t.apertures=this.apertures,t.doors=this.doors,t.indoor_shades=this.indoor_shades,t.outdoor_shades=this.outdoor_shades,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};fe([d(Ut),c(),y()],Zt.prototype,"geometry",2),fe([b(Uu),c(),y()],Zt.prototype,"face_type",2),fe([y()],Zt.prototype,"boundary_condition",2),fe([d(Ph),c(),y()],Zt.prototype,"properties",2),fe([l(),p()],Zt.prototype,"type",2),fe([m(),c({each:!0}),p()],Zt.prototype,"apertures",2),fe([m(),c({each:!0}),p()],Zt.prototype,"doors",2),fe([m(),c({each:!0}),p()],Zt.prototype,"indoor_shades",2),fe([m(),c({each:!0}),p()],Zt.prototype,"outdoor_shades",2);let Ch=Zt;var R2=Object.defineProperty,V2=Object.getOwnPropertyDescriptor,W2=(n,t,e,i)=>{for(var r=i>1?void 0:i?V2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&R2(t,e,r),r};const Zu=class Fm extends w{constructor(){super(),a(this,"type"),this.type="ModelDoe2Properties"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModelDoe2Properties")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Fm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};W2([l(),p()],Zu.prototype,"type",2);let Yu=Zu;var B2=Object.defineProperty,$2=Object.getOwnPropertyDescriptor,Eh=(n,t,e,i)=>{for(var r=i>1?void 0:i?$2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&B2(t,e,r),r};const Lp=class Im extends w{constructor(){super(),a(this,"type"),a(this,"inverter_efficiency"),a(this,"inverter_dc_to_ac_size_ratio"),this.type="ElectricLoadCenter",this.inverter_efficiency=.96,this.inverter_dc_to_ac_size_ratio=1.1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ElectricLoadCenter",this.inverter_efficiency=t.inverter_efficiency!==void 0?t.inverter_efficiency:.96,this.inverter_dc_to_ac_size_ratio=t.inverter_dc_to_ac_size_ratio!==void 0?t.inverter_dc_to_ac_size_ratio:1.1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Im;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.inverter_efficiency=this.inverter_efficiency,t.inverter_dc_to_ac_size_ratio=this.inverter_dc_to_ac_size_ratio,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Eh([l(),p()],Lp.prototype,"type",2),Eh([h(),p()],Lp.prototype,"inverter_efficiency",2),Eh([h(),p()],Lp.prototype,"inverter_dc_to_ac_size_ratio",2);let Xu=Lp;var H2=Object.defineProperty,F2=Object.getOwnPropertyDescriptor,Mt=(n,t,e,i)=>{for(var r=i>1?void 0:i?F2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&H2(t,e,r),r};const jt=class qm extends w{constructor(){super(),a(this,"type"),a(this,"materials"),a(this,"constructions"),a(this,"wall_set"),a(this,"floor_set"),a(this,"roof_ceiling_set"),a(this,"aperture_set"),a(this,"door_set"),a(this,"shade_construction"),a(this,"context_construction"),a(this,"air_boundary_construction"),this.type="GlobalConstructionSet",this.materials=[H.fromJS({identifier:"Generic Roof Membrane",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.01,conductivity:.16,density:1120,specific_heat:1460,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65}),H.fromJS({identifier:"Generic Acoustic Tile",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.02,conductivity:.06,density:368,specific_heat:590,thermal_absorptance:.9,solar_absorptance:.2,visible_absorptance:.2}),H.fromJS({identifier:"Generic 25mm Wood",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0254,conductivity:.15,density:608,specific_heat:1630,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5}),H.fromJS({identifier:"Generic HW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.2,conductivity:1.95,density:2240,specific_heat:900,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8}),on.fromJS({identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"}),H.fromJS({identifier:"Generic Gypsum Board",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0127,conductivity:.16,density:800,specific_heat:1090,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5}),H.fromJS({identifier:"Generic Wall Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.667,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),H.fromJS({identifier:"Generic Ceiling Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.556,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),H.fromJS({identifier:"Generic Brick",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.9,density:1920,specific_heat:790,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65}),H.fromJS({identifier:"Generic 50mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.05,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),Me.fromJS({identifier:"Generic Low-e Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.45,solar_reflectance:.36,solar_reflectance_back:.36,visible_transmittance:.71,visible_reflectance:.21,visible_reflectance_back:.21,infrared_transmittance:0,emissivity:.84,emissivity_back:.047,conductivity:1,dirt_correction:1,solar_diffusing:!1}),H.fromJS({identifier:"Generic Painted Metal",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.0015,conductivity:45,density:7690,specific_heat:410,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5}),H.fromJS({identifier:"Generic LW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.53,density:1280,specific_heat:840,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8}),H.fromJS({identifier:"Generic 25mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.025,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),Me.fromJS({identifier:"Generic Clear Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.77,solar_reflectance:.07,solar_reflectance_back:.07,visible_transmittance:.88,visible_reflectance:.08,visible_reflectance_back:.08,infrared_transmittance:0,emissivity:.84,emissivity_back:.84,conductivity:1,dirt_correction:1,solar_diffusing:!1})],this.constructions=[T.fromJS({identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]}),le.fromJS({identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null}),te.fromJS({identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1}),te.fromJS({identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1}),T.fromJS({identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),T.fromJS({identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]}),T.fromJS({identifier:"Generic Exposed Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]}),T.fromJS({identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]}),T.fromJS({identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]}),T.fromJS({identifier:"Generic Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),T.fromJS({identifier:"Generic Exterior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]}),T.fromJS({identifier:"Generic Underground Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]}),Zr.fromJS({identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"}),T.fromJS({identifier:"Generic Underground Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),le.fromJS({identifier:"Generic Double Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],frame:null}),T.fromJS({identifier:"Generic Exterior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]})],this.wall_set=Ji.fromJS({interior_construction:"Generic Interior Wall",exterior_construction:"Generic Exterior Wall",ground_construction:"Generic Underground Wall",type:"WallConstructionSetAbridged"}),this.floor_set=Mi.fromJS({interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"}),this.roof_ceiling_set=Di.fromJS({interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"}),this.aperture_set=Kr.fromJS({type:"ApertureConstructionSetAbridged",interior_construction:"Generic Single Pane",window_construction:"Generic Double Pane",skylight_construction:"Generic Double Pane",operable_construction:"Generic Double Pane"}),this.door_set=en.fromJS({type:"DoorConstructionSetAbridged",interior_construction:"Generic Interior Door",exterior_construction:"Generic Exterior Door",overhead_construction:"Generic Exterior Door",exterior_glass_construction:"Generic Double Pane",interior_glass_construction:"Generic Single Pane"}),this.shade_construction="Generic Shade",this.context_construction="Generic Context",this.air_boundary_construction="Generic Air Boundary"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"GlobalConstructionSet",this.materials=t.materials!==void 0?t.materials:[H.fromJS({identifier:"Generic Roof Membrane",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.01,conductivity:.16,density:1120,specific_heat:1460,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65}),H.fromJS({identifier:"Generic Acoustic Tile",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.02,conductivity:.06,density:368,specific_heat:590,thermal_absorptance:.9,solar_absorptance:.2,visible_absorptance:.2}),H.fromJS({identifier:"Generic 25mm Wood",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0254,conductivity:.15,density:608,specific_heat:1630,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5}),H.fromJS({identifier:"Generic HW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.2,conductivity:1.95,density:2240,specific_heat:900,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8}),on.fromJS({identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"}),H.fromJS({identifier:"Generic Gypsum Board",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0127,conductivity:.16,density:800,specific_heat:1090,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5}),H.fromJS({identifier:"Generic Wall Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.667,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),H.fromJS({identifier:"Generic Ceiling Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.556,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),H.fromJS({identifier:"Generic Brick",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.9,density:1920,specific_heat:790,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65}),H.fromJS({identifier:"Generic 50mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.05,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),Me.fromJS({identifier:"Generic Low-e Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.45,solar_reflectance:.36,solar_reflectance_back:.36,visible_transmittance:.71,visible_reflectance:.21,visible_reflectance_back:.21,infrared_transmittance:0,emissivity:.84,emissivity_back:.047,conductivity:1,dirt_correction:1,solar_diffusing:!1}),H.fromJS({identifier:"Generic Painted Metal",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.0015,conductivity:45,density:7690,specific_heat:410,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5}),H.fromJS({identifier:"Generic LW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.53,density:1280,specific_heat:840,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8}),H.fromJS({identifier:"Generic 25mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.025,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7}),Me.fromJS({identifier:"Generic Clear Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.77,solar_reflectance:.07,solar_reflectance_back:.07,visible_transmittance:.88,visible_reflectance:.08,visible_reflectance_back:.08,infrared_transmittance:0,emissivity:.84,emissivity_back:.84,conductivity:1,dirt_correction:1,solar_diffusing:!1})],this.constructions=t.constructions!==void 0?t.constructions:[T.fromJS({identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]}),le.fromJS({identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null}),te.fromJS({identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1}),te.fromJS({identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1}),T.fromJS({identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),T.fromJS({identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]}),T.fromJS({identifier:"Generic Exposed Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]}),T.fromJS({identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]}),T.fromJS({identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]}),T.fromJS({identifier:"Generic Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),T.fromJS({identifier:"Generic Exterior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]}),T.fromJS({identifier:"Generic Underground Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]}),Zr.fromJS({identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"}),T.fromJS({identifier:"Generic Underground Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),le.fromJS({identifier:"Generic Double Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],frame:null}),T.fromJS({identifier:"Generic Exterior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]})],this.wall_set=t.wall_set!==void 0?t.wall_set:Ji.fromJS({interior_construction:"Generic Interior Wall",exterior_construction:"Generic Exterior Wall",ground_construction:"Generic Underground Wall",type:"WallConstructionSetAbridged"}),this.floor_set=t.floor_set!==void 0?t.floor_set:Mi.fromJS({interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"}),this.roof_ceiling_set=t.roof_ceiling_set!==void 0?t.roof_ceiling_set:Di.fromJS({interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"}),this.aperture_set=t.aperture_set!==void 0?t.aperture_set:Kr.fromJS({type:"ApertureConstructionSetAbridged",interior_construction:"Generic Single Pane",window_construction:"Generic Double Pane",skylight_construction:"Generic Double Pane",operable_construction:"Generic Double Pane"}),this.door_set=t.door_set!==void 0?t.door_set:en.fromJS({type:"DoorConstructionSetAbridged",interior_construction:"Generic Interior Door",exterior_construction:"Generic Exterior Door",overhead_construction:"Generic Exterior Door",exterior_glass_construction:"Generic Double Pane",interior_glass_construction:"Generic Single Pane"}),this.shade_construction=t.shade_construction!==void 0?t.shade_construction:"Generic Shade",this.context_construction=t.context_construction!==void 0?t.context_construction:"Generic Context",this.air_boundary_construction=t.air_boundary_construction!==void 0?t.air_boundary_construction:"Generic Air Boundary")}static fromJS(t){t=typeof t=="object"?t:{};let e=new qm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.materials=this.materials,t.constructions=this.constructions,t.wall_set=this.wall_set,t.floor_set=this.floor_set,t.roof_ceiling_set=this.roof_ceiling_set,t.aperture_set=this.aperture_set,t.door_set=this.door_set,t.shade_construction=this.shade_construction,t.context_construction=this.context_construction,t.air_boundary_construction=this.air_boundary_construction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Mt([l(),p()],jt.prototype,"type",2),Mt([m(),c({each:!0}),p()],jt.prototype,"materials",2),Mt([m(),c({each:!0}),p()],jt.prototype,"constructions",2),Mt([d(Ji),c(),p()],jt.prototype,"wall_set",2),Mt([d(Mi),c(),p()],jt.prototype,"floor_set",2),Mt([d(Di),c(),p()],jt.prototype,"roof_ceiling_set",2),Mt([d(Kr),c(),p()],jt.prototype,"aperture_set",2),Mt([d(en),c(),p()],jt.prototype,"door_set",2),Mt([l(),p()],jt.prototype,"shade_construction",2),Mt([l(),p()],jt.prototype,"context_construction",2),Mt([l(),p()],jt.prototype,"air_boundary_construction",2);let ai=jt;var Up=(n=>(n.LowRise="LowRise",n.HighRise="HighRise",n))(Up||{}),Zp=(n=>(n.SingleZone="SingleZone",n.MultiZoneWithDistribution="MultiZoneWithDistribution",n.MultiZoneWithoutDistribution="MultiZoneWithoutDistribution",n))(Zp||{}),I2=Object.defineProperty,q2=Object.getOwnPropertyDescriptor,pi=(n,t,e,i)=>{for(var r=i>1?void 0:i?q2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&I2(t,e,r),r};const me=class Tm extends w{constructor(){super(),a(this,"type"),a(this,"vent_control_type"),a(this,"reference_temperature"),a(this,"reference_pressure"),a(this,"reference_humidity_ratio"),a(this,"building_type"),a(this,"long_axis_angle"),a(this,"aspect_ratio"),this.type="VentilationSimulationControl",this.vent_control_type=Zp.SingleZone,this.reference_temperature=20,this.reference_pressure=101325,this.reference_humidity_ratio=0,this.building_type=Up.LowRise,this.long_axis_angle=0,this.aspect_ratio=1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"VentilationSimulationControl",this.vent_control_type=t.vent_control_type!==void 0?t.vent_control_type:Zp.SingleZone,this.reference_temperature=t.reference_temperature!==void 0?t.reference_temperature:20,this.reference_pressure=t.reference_pressure!==void 0?t.reference_pressure:101325,this.reference_humidity_ratio=t.reference_humidity_ratio!==void 0?t.reference_humidity_ratio:0,this.building_type=t.building_type!==void 0?t.building_type:Up.LowRise,this.long_axis_angle=t.long_axis_angle!==void 0?t.long_axis_angle:0,this.aspect_ratio=t.aspect_ratio!==void 0?t.aspect_ratio:1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Tm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.vent_control_type=this.vent_control_type,t.reference_temperature=this.reference_temperature,t.reference_pressure=this.reference_pressure,t.reference_humidity_ratio=this.reference_humidity_ratio,t.building_type=this.building_type,t.long_axis_angle=this.long_axis_angle,t.aspect_ratio=this.aspect_ratio,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};pi([l(),p()],me.prototype,"type",2),pi([b(Zp),c(),p()],me.prototype,"vent_control_type",2),pi([h(),p()],me.prototype,"reference_temperature",2),pi([h(),p()],me.prototype,"reference_pressure",2),pi([h(),p()],me.prototype,"reference_humidity_ratio",2),pi([b(Up),c(),p()],me.prototype,"building_type",2),pi([h(),p()],me.prototype,"long_axis_angle",2),pi([h(),p()],me.prototype,"aspect_ratio",2);let Qu=me;var T2=Object.defineProperty,k2=Object.getOwnPropertyDescriptor,At=(n,t,e,i)=>{for(var r=i>1?void 0:i?k2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&T2(t,e,r),r};const ft=class km extends w{constructor(){super(),a(this,"type"),a(this,"global_construction_set"),a(this,"construction_sets"),a(this,"constructions"),a(this,"materials"),a(this,"hvacs"),a(this,"shws"),a(this,"program_types"),a(this,"schedules"),a(this,"schedule_type_limits"),a(this,"ventilation_simulation_control"),a(this,"electric_load_center"),this.type="ModelEnergyProperties",this.global_construction_set=ai.fromJS({type:"GlobalConstructionSet",materials:[{identifier:"Generic Roof Membrane",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.01,conductivity:.16,density:1120,specific_heat:1460,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic Acoustic Tile",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.02,conductivity:.06,density:368,specific_heat:590,thermal_absorptance:.9,solar_absorptance:.2,visible_absorptance:.2},{identifier:"Generic 25mm Wood",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0254,conductivity:.15,density:608,specific_heat:1630,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic HW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.2,conductivity:1.95,density:2240,specific_heat:900,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"},{identifier:"Generic Gypsum Board",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0127,conductivity:.16,density:800,specific_heat:1090,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic Wall Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.667,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Ceiling Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.556,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Brick",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.9,density:1920,specific_heat:790,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic 50mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.05,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Low-e Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.45,solar_reflectance:.36,solar_reflectance_back:.36,visible_transmittance:.71,visible_reflectance:.21,visible_reflectance_back:.21,infrared_transmittance:0,emissivity:.84,emissivity_back:.047,conductivity:1,dirt_correction:1,solar_diffusing:!1},{identifier:"Generic Painted Metal",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.0015,conductivity:45,density:7690,specific_heat:410,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic LW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.53,density:1280,specific_heat:840,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic 25mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.025,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Clear Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.77,solar_reflectance:.07,solar_reflectance_back:.07,visible_transmittance:.88,visible_reflectance:.08,visible_reflectance_back:.08,infrared_transmittance:0,emissivity:.84,emissivity_back:.84,conductivity:1,dirt_correction:1,solar_diffusing:!1}],constructions:[{identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]},{identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null},{identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1},{identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1},{identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Exposed Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]},{identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]},{identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]},{identifier:"Generic Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Exterior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Underground Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"},{identifier:"Generic Underground Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Double Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],frame:null},{identifier:"Generic Exterior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]}],wall_set:{interior_construction:"Generic Interior Wall",exterior_construction:"Generic Exterior Wall",ground_construction:"Generic Underground Wall",type:"WallConstructionSetAbridged"},floor_set:{interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"},roof_ceiling_set:{interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"},aperture_set:{type:"ApertureConstructionSetAbridged",interior_construction:"Generic Single Pane",window_construction:"Generic Double Pane",skylight_construction:"Generic Double Pane",operable_construction:"Generic Double Pane"},door_set:{type:"DoorConstructionSetAbridged",interior_construction:"Generic Interior Door",exterior_construction:"Generic Exterior Door",overhead_construction:"Generic Exterior Door",exterior_glass_construction:"Generic Double Pane",interior_glass_construction:"Generic Single Pane"},shade_construction:"Generic Shade",context_construction:"Generic Context",air_boundary_construction:"Generic Air Boundary"})}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModelEnergyProperties",this.global_construction_set=t.global_construction_set!==void 0?t.global_construction_set:ai.fromJS({type:"GlobalConstructionSet",materials:[{identifier:"Generic Roof Membrane",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.01,conductivity:.16,density:1120,specific_heat:1460,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic Acoustic Tile",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.02,conductivity:.06,density:368,specific_heat:590,thermal_absorptance:.9,solar_absorptance:.2,visible_absorptance:.2},{identifier:"Generic 25mm Wood",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0254,conductivity:.15,density:608,specific_heat:1630,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic HW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.2,conductivity:1.95,density:2240,specific_heat:900,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"},{identifier:"Generic Gypsum Board",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0127,conductivity:.16,density:800,specific_heat:1090,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic Wall Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.667,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Ceiling Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.556,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Brick",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.9,density:1920,specific_heat:790,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic 50mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.05,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Low-e Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.45,solar_reflectance:.36,solar_reflectance_back:.36,visible_transmittance:.71,visible_reflectance:.21,visible_reflectance_back:.21,infrared_transmittance:0,emissivity:.84,emissivity_back:.047,conductivity:1,dirt_correction:1,solar_diffusing:!1},{identifier:"Generic Painted Metal",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.0015,conductivity:45,density:7690,specific_heat:410,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic LW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.53,density:1280,specific_heat:840,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic 25mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.025,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Clear Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.77,solar_reflectance:.07,solar_reflectance_back:.07,visible_transmittance:.88,visible_reflectance:.08,visible_reflectance_back:.08,infrared_transmittance:0,emissivity:.84,emissivity_back:.84,conductivity:1,dirt_correction:1,solar_diffusing:!1}],constructions:[{identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]},{identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null},{identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1},{identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1},{identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Exposed Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]},{identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]},{identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]},{identifier:"Generic Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Exterior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Underground Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"},{identifier:"Generic Underground Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Double Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],frame:null},{identifier:"Generic Exterior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]}],wall_set:{interior_construction:"Generic Interior Wall",exterior_construction:"Generic Exterior Wall",ground_construction:"Generic Underground Wall",type:"WallConstructionSetAbridged"},floor_set:{interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"},roof_ceiling_set:{interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"},aperture_set:{type:"ApertureConstructionSetAbridged",interior_construction:"Generic Single Pane",window_construction:"Generic Double Pane",skylight_construction:"Generic Double Pane",operable_construction:"Generic Double Pane"},door_set:{type:"DoorConstructionSetAbridged",interior_construction:"Generic Interior Door",exterior_construction:"Generic Exterior Door",overhead_construction:"Generic Exterior Door",exterior_glass_construction:"Generic Double Pane",interior_glass_construction:"Generic Single Pane"},shade_construction:"Generic Shade",context_construction:"Generic Context",air_boundary_construction:"Generic Air Boundary"}),this.construction_sets=t.construction_sets,this.constructions=t.constructions,this.materials=t.materials,this.hvacs=t.hvacs,this.shws=t.shws,this.program_types=t.program_types,this.schedules=t.schedules,this.schedule_type_limits=t.schedule_type_limits,this.ventilation_simulation_control=t.ventilation_simulation_control,this.electric_load_center=t.electric_load_center)}static fromJS(t){t=typeof t=="object"?t:{};let e=new km;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.global_construction_set=this.global_construction_set,t.construction_sets=this.construction_sets,t.constructions=this.constructions,t.materials=this.materials,t.hvacs=this.hvacs,t.shws=this.shws,t.program_types=this.program_types,t.schedules=this.schedules,t.schedule_type_limits=this.schedule_type_limits,t.ventilation_simulation_control=this.ventilation_simulation_control,t.electric_load_center=this.electric_load_center,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};At([l(),p()],ft.prototype,"type",2),At([d(ai),c(),p()],ft.prototype,"global_construction_set",2),At([m(),c({each:!0}),p()],ft.prototype,"construction_sets",2),At([m(),c({each:!0}),p()],ft.prototype,"constructions",2),At([m(),c({each:!0}),p()],ft.prototype,"materials",2),At([m(),c({each:!0}),p()],ft.prototype,"hvacs",2),At([m(),c({each:!0}),p()],ft.prototype,"shws",2),At([m(),c({each:!0}),p()],ft.prototype,"program_types",2),At([m(),c({each:!0}),p()],ft.prototype,"schedules",2),At([m(),c({each:!0}),p()],ft.prototype,"schedule_type_limits",2),At([d(Qu),c(),p()],ft.prototype,"ventilation_simulation_control",2),At([d(Xu),c(),p()],ft.prototype,"electric_load_center",2);let Ku=ft;var z2=Object.defineProperty,L2=Object.getOwnPropertyDescriptor,Yt=(n,t,e,i)=>{for(var r=i>1?void 0:i?L2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&z2(t,e,r),r};const Nt=class zm extends w{constructor(){super(),a(this,"type"),a(this,"modifiers"),a(this,"wall_set"),a(this,"floor_set"),a(this,"roof_ceiling_set"),a(this,"aperture_set"),a(this,"door_set"),a(this,"shade_set"),a(this,"air_boundary_modifier"),a(this,"context_modifier"),this.type="GlobalModifierSet",this.modifiers=[tt.fromJS({identifier:"generic_floor_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_wall_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_ceiling_0.80",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.8,g_reflectance:.8,b_reflectance:.8,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_opaque_door_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_interior_shade_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_exterior_shade_0.35",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.35,g_reflectance:.35,b_reflectance:.35,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_context_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0}),Qe.fromJS({identifier:"generic_interior_window_vis_0.88",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.9584154328610596,g_transmissivity:.9584154328610596,b_transmissivity:.9584154328610596,refraction_index:null}),Qe.fromJS({identifier:"generic_exterior_window_vis_0.64",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.6975761815384331,g_transmissivity:.6975761815384331,b_transmissivity:.6975761815384331,refraction_index:null}),Jn.fromJS({identifier:"air_boundary",display_name:null,type:"Trans",modifier:null,dependencies:[],r_reflectance:1,g_reflectance:1,b_reflectance:1,specularity:0,roughness:0,transmitted_diff:1,transmitted_spec:1})],this.wall_set=Sr.fromJS({exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"}),this.floor_set=br.fromJS({exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"}),this.roof_ceiling_set=wr.fromJS({exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"}),this.aperture_set=Vn.fromJS({type:"ApertureModifierSetAbridged",window_modifier:"generic_exterior_window_vis_0.64",interior_modifier:"generic_interior_window_vis_0.88",skylight_modifier:"generic_exterior_window_vis_0.64",operable_modifier:"generic_exterior_window_vis_0.64"}),this.door_set=Ar.fromJS({exterior_modifier:"generic_opaque_door_0.50",interior_modifier:"generic_opaque_door_0.50",type:"DoorModifierSetAbridged",interior_glass_modifier:"generic_interior_window_vis_0.88",exterior_glass_modifier:"generic_exterior_window_vis_0.64",overhead_modifier:"generic_opaque_door_0.50"}),this.shade_set=Or.fromJS({exterior_modifier:"generic_exterior_shade_0.35",interior_modifier:"generic_interior_shade_0.50",type:"ShadeModifierSetAbridged"}),this.air_boundary_modifier="air_boundary",this.context_modifier="generic_context_0.20"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"GlobalModifierSet",this.modifiers=t.modifiers!==void 0?t.modifiers:[tt.fromJS({identifier:"generic_floor_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_wall_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_ceiling_0.80",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.8,g_reflectance:.8,b_reflectance:.8,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_opaque_door_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_interior_shade_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_exterior_shade_0.35",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.35,g_reflectance:.35,b_reflectance:.35,specularity:0,roughness:0}),tt.fromJS({identifier:"generic_context_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0}),Qe.fromJS({identifier:"generic_interior_window_vis_0.88",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.9584154328610596,g_transmissivity:.9584154328610596,b_transmissivity:.9584154328610596,refraction_index:null}),Qe.fromJS({identifier:"generic_exterior_window_vis_0.64",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.6975761815384331,g_transmissivity:.6975761815384331,b_transmissivity:.6975761815384331,refraction_index:null}),Jn.fromJS({identifier:"air_boundary",display_name:null,type:"Trans",modifier:null,dependencies:[],r_reflectance:1,g_reflectance:1,b_reflectance:1,specularity:0,roughness:0,transmitted_diff:1,transmitted_spec:1})],this.wall_set=t.wall_set!==void 0?t.wall_set:Sr.fromJS({exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"}),this.floor_set=t.floor_set!==void 0?t.floor_set:br.fromJS({exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"}),this.roof_ceiling_set=t.roof_ceiling_set!==void 0?t.roof_ceiling_set:wr.fromJS({exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"}),this.aperture_set=t.aperture_set!==void 0?t.aperture_set:Vn.fromJS({type:"ApertureModifierSetAbridged",window_modifier:"generic_exterior_window_vis_0.64",interior_modifier:"generic_interior_window_vis_0.88",skylight_modifier:"generic_exterior_window_vis_0.64",operable_modifier:"generic_exterior_window_vis_0.64"}),this.door_set=t.door_set!==void 0?t.door_set:Ar.fromJS({exterior_modifier:"generic_opaque_door_0.50",interior_modifier:"generic_opaque_door_0.50",type:"DoorModifierSetAbridged",interior_glass_modifier:"generic_interior_window_vis_0.88",exterior_glass_modifier:"generic_exterior_window_vis_0.64",overhead_modifier:"generic_opaque_door_0.50"}),this.shade_set=t.shade_set!==void 0?t.shade_set:Or.fromJS({exterior_modifier:"generic_exterior_shade_0.35",interior_modifier:"generic_interior_shade_0.50",type:"ShadeModifierSetAbridged"}),this.air_boundary_modifier=t.air_boundary_modifier!==void 0?t.air_boundary_modifier:"air_boundary",this.context_modifier=t.context_modifier!==void 0?t.context_modifier:"generic_context_0.20")}static fromJS(t){t=typeof t=="object"?t:{};let e=new zm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.modifiers=this.modifiers,t.wall_set=this.wall_set,t.floor_set=this.floor_set,t.roof_ceiling_set=this.roof_ceiling_set,t.aperture_set=this.aperture_set,t.door_set=this.door_set,t.shade_set=this.shade_set,t.air_boundary_modifier=this.air_boundary_modifier,t.context_modifier=this.context_modifier,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Yt([l(),p()],Nt.prototype,"type",2),Yt([m(),c({each:!0}),p()],Nt.prototype,"modifiers",2),Yt([d(Sr),c(),p()],Nt.prototype,"wall_set",2),Yt([d(br),c(),p()],Nt.prototype,"floor_set",2),Yt([d(wr),c(),p()],Nt.prototype,"roof_ceiling_set",2),Yt([d(Vn),c(),p()],Nt.prototype,"aperture_set",2),Yt([d(Ar),c(),p()],Nt.prototype,"door_set",2),Yt([d(Or),c(),p()],Nt.prototype,"shade_set",2),Yt([l(),p()],Nt.prototype,"air_boundary_modifier",2),Yt([l(),p()],Nt.prototype,"context_modifier",2);let ci=Nt;var U2=Object.defineProperty,Z2=Object.getOwnPropertyDescriptor,$n=(n,t,e,i)=>{for(var r=i>1?void 0:i?Z2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&U2(t,e,r),r};const Er=class Lm extends w{constructor(){super(),a(this,"type"),a(this,"global_modifier_set"),a(this,"modifiers"),a(this,"modifier_sets"),a(this,"sensor_grids"),a(this,"views"),this.type="ModelRadianceProperties",this.global_modifier_set=ci.fromJS({type:"GlobalModifierSet",modifiers:[{identifier:"generic_floor_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_wall_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_ceiling_0.80",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.8,g_reflectance:.8,b_reflectance:.8,specularity:0,roughness:0},{identifier:"generic_opaque_door_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_interior_shade_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_exterior_shade_0.35",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.35,g_reflectance:.35,b_reflectance:.35,specularity:0,roughness:0},{identifier:"generic_context_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_interior_window_vis_0.88",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.9584154328610596,g_transmissivity:.9584154328610596,b_transmissivity:.9584154328610596,refraction_index:null},{identifier:"generic_exterior_window_vis_0.64",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.6975761815384331,g_transmissivity:.6975761815384331,b_transmissivity:.6975761815384331,refraction_index:null},{identifier:"air_boundary",display_name:null,type:"Trans",modifier:null,dependencies:[],r_reflectance:1,g_reflectance:1,b_reflectance:1,specularity:0,roughness:0,transmitted_diff:1,transmitted_spec:1}],wall_set:{exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"},floor_set:{exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"},roof_ceiling_set:{exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"},aperture_set:{type:"ApertureModifierSetAbridged",window_modifier:"generic_exterior_window_vis_0.64",interior_modifier:"generic_interior_window_vis_0.88",skylight_modifier:"generic_exterior_window_vis_0.64",operable_modifier:"generic_exterior_window_vis_0.64"},door_set:{exterior_modifier:"generic_opaque_door_0.50",interior_modifier:"generic_opaque_door_0.50",type:"DoorModifierSetAbridged",interior_glass_modifier:"generic_interior_window_vis_0.88",exterior_glass_modifier:"generic_exterior_window_vis_0.64",overhead_modifier:"generic_opaque_door_0.50"},shade_set:{exterior_modifier:"generic_exterior_shade_0.35",interior_modifier:"generic_interior_shade_0.50",type:"ShadeModifierSetAbridged"},air_boundary_modifier:"air_boundary",context_modifier:"generic_context_0.20"})}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModelRadianceProperties",this.global_modifier_set=t.global_modifier_set!==void 0?t.global_modifier_set:ci.fromJS({type:"GlobalModifierSet",modifiers:[{identifier:"generic_floor_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_wall_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_ceiling_0.80",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.8,g_reflectance:.8,b_reflectance:.8,specularity:0,roughness:0},{identifier:"generic_opaque_door_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_interior_shade_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_exterior_shade_0.35",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.35,g_reflectance:.35,b_reflectance:.35,specularity:0,roughness:0},{identifier:"generic_context_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_interior_window_vis_0.88",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.9584154328610596,g_transmissivity:.9584154328610596,b_transmissivity:.9584154328610596,refraction_index:null},{identifier:"generic_exterior_window_vis_0.64",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.6975761815384331,g_transmissivity:.6975761815384331,b_transmissivity:.6975761815384331,refraction_index:null},{identifier:"air_boundary",display_name:null,type:"Trans",modifier:null,dependencies:[],r_reflectance:1,g_reflectance:1,b_reflectance:1,specularity:0,roughness:0,transmitted_diff:1,transmitted_spec:1}],wall_set:{exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"},floor_set:{exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"},roof_ceiling_set:{exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"},aperture_set:{type:"ApertureModifierSetAbridged",window_modifier:"generic_exterior_window_vis_0.64",interior_modifier:"generic_interior_window_vis_0.88",skylight_modifier:"generic_exterior_window_vis_0.64",operable_modifier:"generic_exterior_window_vis_0.64"},door_set:{exterior_modifier:"generic_opaque_door_0.50",interior_modifier:"generic_opaque_door_0.50",type:"DoorModifierSetAbridged",interior_glass_modifier:"generic_interior_window_vis_0.88",exterior_glass_modifier:"generic_exterior_window_vis_0.64",overhead_modifier:"generic_opaque_door_0.50"},shade_set:{exterior_modifier:"generic_exterior_shade_0.35",interior_modifier:"generic_interior_shade_0.50",type:"ShadeModifierSetAbridged"},air_boundary_modifier:"air_boundary",context_modifier:"generic_context_0.20"}),this.modifiers=t.modifiers,this.modifier_sets=t.modifier_sets,this.sensor_grids=t.sensor_grids,this.views=t.views)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Lm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.global_modifier_set=this.global_modifier_set,t.modifiers=this.modifiers,t.modifier_sets=this.modifier_sets,t.sensor_grids=this.sensor_grids,t.views=this.views,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};$n([l(),p()],Er.prototype,"type",2),$n([d(ci),c(),p()],Er.prototype,"global_modifier_set",2),$n([m(),c({each:!0}),p()],Er.prototype,"modifiers",2),$n([m(),c({each:!0}),p()],Er.prototype,"modifier_sets",2),$n([m(),c({each:!0}),p()],Er.prototype,"sensor_grids",2),$n([m(),c({each:!0}),p()],Er.prototype,"views",2);let ty=Er;var Y2=Object.defineProperty,X2=Object.getOwnPropertyDescriptor,Yp=(n,t,e,i)=>{for(var r=i>1?void 0:i?X2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Y2(t,e,r),r};const $o=class Um extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),a(this,"doe2"),this.type="ModelProperties"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ModelProperties",this.energy=t.energy,this.radiance=t.radiance,this.doe2=t.doe2)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Um;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,t.doe2=this.doe2,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Yp([l(),p()],$o.prototype,"type",2),Yp([d(Ku),c(),p()],$o.prototype,"energy",2),Yp([d(ty),c(),p()],$o.prototype,"radiance",2),Yp([d(Yu),c(),p()],$o.prototype,"doe2",2);let ey=$o;var xr=(n=>(n.Meters="Meters",n.Millimeters="Millimeters",n.Feet="Feet",n.Inches="Inches",n.Centimeters="Centimeters",n))(xr||{}),Q2=Object.defineProperty,K2=Object.getOwnPropertyDescriptor,Pt=(n,t,e,i)=>{for(var r=i>1?void 0:i?K2(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Q2(t,e,r),r};const mt=class Zm extends ht{constructor(){super(),a(this,"properties"),a(this,"type"),a(this,"version"),a(this,"rooms"),a(this,"orphaned_faces"),a(this,"orphaned_shades"),a(this,"orphaned_apertures"),a(this,"orphaned_doors"),a(this,"shade_meshes"),a(this,"units"),a(this,"tolerance"),a(this,"angle_tolerance"),this.type="Model",this.version="1.58.3",this.units=xr.Meters,this.tolerance=.01,this.angle_tolerance=1}init(t){super.init(t),t&&(this.properties=t.properties,this.type=t.type!==void 0?t.type:"Model",this.version=t.version!==void 0?t.version:"1.58.3",this.rooms=t.rooms,this.orphaned_faces=t.orphaned_faces,this.orphaned_shades=t.orphaned_shades,this.orphaned_apertures=t.orphaned_apertures,this.orphaned_doors=t.orphaned_doors,this.shade_meshes=t.shade_meshes,this.units=t.units!==void 0?t.units:xr.Meters,this.tolerance=t.tolerance!==void 0?t.tolerance:.01,this.angle_tolerance=t.angle_tolerance!==void 0?t.angle_tolerance:1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Zm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.properties=this.properties,t.type=this.type,t.version=this.version,t.rooms=this.rooms,t.orphaned_faces=this.orphaned_faces,t.orphaned_shades=this.orphaned_shades,t.orphaned_apertures=this.orphaned_apertures,t.orphaned_doors=this.orphaned_doors,t.shade_meshes=this.shade_meshes,t.units=this.units,t.tolerance=this.tolerance,t.angle_tolerance=this.angle_tolerance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Pt([d(ey),c(),y()],mt.prototype,"properties",2),Pt([l(),p()],mt.prototype,"type",2),Pt([l(),p()],mt.prototype,"version",2),Pt([m(),c({each:!0}),p()],mt.prototype,"rooms",2),Pt([m(),c({each:!0}),p()],mt.prototype,"orphaned_faces",2),Pt([m(),c({each:!0}),p()],mt.prototype,"orphaned_shades",2),Pt([m(),c({each:!0}),p()],mt.prototype,"orphaned_apertures",2),Pt([m(),c({each:!0}),p()],mt.prototype,"orphaned_doors",2),Pt([m(),c({each:!0}),p()],mt.prototype,"shade_meshes",2),Pt([b(xr),c(),p()],mt.prototype,"units",2),Pt([h(),p()],mt.prototype,"tolerance",2),Pt([h(),p()],mt.prototype,"angle_tolerance",2);let iy=mt;var tA=Object.defineProperty,eA=Object.getOwnPropertyDescriptor,Gr=(n,t,e,i)=>{for(var r=i>1?void 0:i?eA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&tA(t,e,r),r};const li=class Ym extends w{constructor(){super(),a(this,"type"),a(this,"assigned_flow"),a(this,"flow_per_area"),a(this,"min_flow_ratio"),a(this,"min_flow_per_area"),a(this,"hmax_flow_ratio"),a(this,"space_polygon_geometry"),this.type="RoomDoe2Properties",this.assigned_flow=new R,this.flow_per_area=new R,this.min_flow_ratio=new R,this.min_flow_per_area=new R,this.hmax_flow_ratio=new R}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RoomDoe2Properties",this.assigned_flow=t.assigned_flow!==void 0?t.assigned_flow:new R,this.flow_per_area=t.flow_per_area!==void 0?t.flow_per_area:new R,this.min_flow_ratio=t.min_flow_ratio!==void 0?t.min_flow_ratio:new R,this.min_flow_per_area=t.min_flow_per_area!==void 0?t.min_flow_per_area:new R,this.hmax_flow_ratio=t.hmax_flow_ratio!==void 0?t.hmax_flow_ratio:new R,this.space_polygon_geometry=t.space_polygon_geometry)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ym;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.assigned_flow=this.assigned_flow,t.flow_per_area=this.flow_per_area,t.min_flow_ratio=this.min_flow_ratio,t.min_flow_per_area=this.min_flow_per_area,t.hmax_flow_ratio=this.hmax_flow_ratio,t.space_polygon_geometry=this.space_polygon_geometry,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Gr([l(),p()],li.prototype,"type",2),Gr([p()],li.prototype,"assigned_flow",2),Gr([p()],li.prototype,"flow_per_area",2),Gr([p()],li.prototype,"min_flow_ratio",2),Gr([p()],li.prototype,"min_flow_per_area",2),Gr([p()],li.prototype,"hmax_flow_ratio",2),Gr([d(Ut),c(),p()],li.prototype,"space_polygon_geometry",2);let xh=li;var iA=Object.defineProperty,rA=Object.getOwnPropertyDescriptor,Dr=(n,t,e,i)=>{for(var r=i>1?void 0:i?rA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&iA(t,e,r),r};const hi=class Xm extends w{constructor(){super(),a(this,"sensor_position"),a(this,"type"),a(this,"illuminance_setpoint"),a(this,"control_fraction"),a(this,"min_power_input"),a(this,"min_light_output"),a(this,"off_at_minimum"),this.type="DaylightingControl",this.illuminance_setpoint=300,this.control_fraction=1,this.min_power_input=.3,this.min_light_output=.2,this.off_at_minimum=!1}init(t){super.init(t),t&&(this.sensor_position=t.sensor_position,this.type=t.type!==void 0?t.type:"DaylightingControl",this.illuminance_setpoint=t.illuminance_setpoint!==void 0?t.illuminance_setpoint:300,this.control_fraction=t.control_fraction!==void 0?t.control_fraction:1,this.min_power_input=t.min_power_input!==void 0?t.min_power_input:.3,this.min_light_output=t.min_light_output!==void 0?t.min_light_output:.2,this.off_at_minimum=t.off_at_minimum!==void 0?t.off_at_minimum:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Xm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.sensor_position=this.sensor_position,t.type=this.type,t.illuminance_setpoint=this.illuminance_setpoint,t.control_fraction=this.control_fraction,t.min_power_input=this.min_power_input,t.min_light_output=this.min_light_output,t.off_at_minimum=this.off_at_minimum,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Dr([m(),c({each:!0}),y()],hi.prototype,"sensor_position",2),Dr([l(),p()],hi.prototype,"type",2),Dr([h(),p()],hi.prototype,"illuminance_setpoint",2),Dr([h(),p()],hi.prototype,"control_fraction",2),Dr([h(),p()],hi.prototype,"min_power_input",2),Dr([h(),p()],hi.prototype,"min_light_output",2),Dr([D(),p()],hi.prototype,"off_at_minimum",2);let Gh=hi;var nA=Object.defineProperty,oA=Object.getOwnPropertyDescriptor,et=(n,t,e,i)=>{for(var r=i>1?void 0:i?oA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&nA(t,e,r),r};const X=class Qm extends w{constructor(){super(),a(this,"type"),a(this,"construction_set"),a(this,"program_type"),a(this,"hvac"),a(this,"shw"),a(this,"people"),a(this,"lighting"),a(this,"electric_equipment"),a(this,"gas_equipment"),a(this,"service_hot_water"),a(this,"infiltration"),a(this,"ventilation"),a(this,"setpoint"),a(this,"daylighting_control"),a(this,"window_vent_control"),a(this,"fans"),a(this,"internal_masses"),a(this,"process_loads"),this.type="RoomEnergyPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RoomEnergyPropertiesAbridged",this.construction_set=t.construction_set,this.program_type=t.program_type,this.hvac=t.hvac,this.shw=t.shw,this.people=t.people,this.lighting=t.lighting,this.electric_equipment=t.electric_equipment,this.gas_equipment=t.gas_equipment,this.service_hot_water=t.service_hot_water,this.infiltration=t.infiltration,this.ventilation=t.ventilation,this.setpoint=t.setpoint,this.daylighting_control=t.daylighting_control,this.window_vent_control=t.window_vent_control,this.fans=t.fans,this.internal_masses=t.internal_masses,this.process_loads=t.process_loads)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Qm;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.construction_set=this.construction_set,t.program_type=this.program_type,t.hvac=this.hvac,t.shw=this.shw,t.people=this.people,t.lighting=this.lighting,t.electric_equipment=this.electric_equipment,t.gas_equipment=this.gas_equipment,t.service_hot_water=this.service_hot_water,t.infiltration=this.infiltration,t.ventilation=this.ventilation,t.setpoint=this.setpoint,t.daylighting_control=this.daylighting_control,t.window_vent_control=this.window_vent_control,t.fans=this.fans,t.internal_masses=this.internal_masses,t.process_loads=this.process_loads,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};et([l(),p()],X.prototype,"type",2),et([l(),p()],X.prototype,"construction_set",2),et([l(),p()],X.prototype,"program_type",2),et([l(),p()],X.prototype,"hvac",2),et([l(),p()],X.prototype,"shw",2),et([d(yn),c(),p()],X.prototype,"people",2),et([d(hn),c(),p()],X.prototype,"lighting",2),et([d(Pi),c(),p()],X.prototype,"electric_equipment",2),et([d(Ci),c(),p()],X.prototype,"gas_equipment",2),et([d(gn),c(),p()],X.prototype,"service_hot_water",2),et([d(ln),c(),p()],X.prototype,"infiltration",2),et([d(Sn),c(),p()],X.prototype,"ventilation",2),et([d(wn),c(),p()],X.prototype,"setpoint",2),et([d(Gh),c(),p()],X.prototype,"daylighting_control",2),et([d(jo),c(),p()],X.prototype,"window_vent_control",2),et([m(),c({each:!0}),p()],X.prototype,"fans",2),et([m(),c({each:!0}),p()],X.prototype,"internal_masses",2),et([m(),c({each:!0}),p()],X.prototype,"process_loads",2);let Dh=X;var sA=Object.defineProperty,aA=Object.getOwnPropertyDescriptor,ry=(n,t,e,i)=>{for(var r=i>1?void 0:i?aA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&sA(t,e,r),r};const Jh=class Km extends w{constructor(){super(),a(this,"type"),a(this,"modifier_set"),this.type="RoomRadiancePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RoomRadiancePropertiesAbridged",this.modifier_set=t.modifier_set)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Km;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.modifier_set=this.modifier_set,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ry([l(),p()],Jh.prototype,"type",2),ry([l(),p()],Jh.prototype,"modifier_set",2);let Mh=Jh;var pA=Object.defineProperty,cA=Object.getOwnPropertyDescriptor,Xp=(n,t,e,i)=>{for(var r=i>1?void 0:i?cA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&pA(t,e,r),r};const Ho=class tv extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),a(this,"doe2"),this.type="RoomPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RoomPropertiesAbridged",this.energy=t.energy,this.radiance=t.radiance,this.doe2=t.doe2)}static fromJS(t){t=typeof t=="object"?t:{};let e=new tv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,t.doe2=this.doe2,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Xp([l(),p()],Ho.prototype,"type",2),Xp([d(Dh),c(),p()],Ho.prototype,"energy",2),Xp([d(Mh),c(),p()],Ho.prototype,"radiance",2),Xp([d(xh),c(),p()],Ho.prototype,"doe2",2);let Nh=Ho;var lA=Object.defineProperty,hA=Object.getOwnPropertyDescriptor,_i=(n,t,e,i)=>{for(var r=i>1?void 0:i?hA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&lA(t,e,r),r};const ve=class ev extends ht{constructor(){super(),a(this,"faces"),a(this,"properties"),a(this,"type"),a(this,"indoor_shades"),a(this,"outdoor_shades"),a(this,"multiplier"),a(this,"exclude_floor_area"),a(this,"story"),this.type="Room",this.multiplier=1,this.exclude_floor_area=!1}init(t){super.init(t),t&&(this.faces=t.faces,this.properties=t.properties,this.type=t.type!==void 0?t.type:"Room",this.indoor_shades=t.indoor_shades,this.outdoor_shades=t.outdoor_shades,this.multiplier=t.multiplier!==void 0?t.multiplier:1,this.exclude_floor_area=t.exclude_floor_area!==void 0?t.exclude_floor_area:!1,this.story=t.story)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ev;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.faces=this.faces,t.properties=this.properties,t.type=this.type,t.indoor_shades=this.indoor_shades,t.outdoor_shades=this.outdoor_shades,t.multiplier=this.multiplier,t.exclude_floor_area=this.exclude_floor_area,t.story=this.story,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};_i([m(),c({each:!0}),y()],ve.prototype,"faces",2),_i([d(Nh),c(),y()],ve.prototype,"properties",2),_i([l(),p()],ve.prototype,"type",2),_i([m(),c({each:!0}),p()],ve.prototype,"indoor_shades",2),_i([m(),c({each:!0}),p()],ve.prototype,"outdoor_shades",2),_i([Ht(),p()],ve.prototype,"multiplier",2),_i([D(),p()],ve.prototype,"exclude_floor_area",2),_i([l(),p()],ve.prototype,"story",2);let Rh=ve;var _A=Object.defineProperty,uA=Object.getOwnPropertyDescriptor,Qp=(n,t,e,i)=>{for(var r=i>1?void 0:i?uA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&_A(t,e,r),r};const Fo=class iv extends w{constructor(){super(),a(this,"type"),a(this,"construction"),a(this,"transmittance_schedule"),a(this,"pv_properties"),this.type="ShadeEnergyPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeEnergyPropertiesAbridged",this.construction=t.construction,this.transmittance_schedule=t.transmittance_schedule,this.pv_properties=t.pv_properties)}static fromJS(t){t=typeof t=="object"?t:{};let e=new iv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.construction=this.construction,t.transmittance_schedule=this.transmittance_schedule,t.pv_properties=this.pv_properties,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Qp([l(),p()],Fo.prototype,"type",2),Qp([l(),p()],Fo.prototype,"construction",2),Qp([l(),p()],Fo.prototype,"transmittance_schedule",2),Qp([d(ga),c(),p()],Fo.prototype,"pv_properties",2);let Vh=Fo;var yA=Object.defineProperty,dA=Object.getOwnPropertyDescriptor,Wh=(n,t,e,i)=>{for(var r=i>1?void 0:i?dA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&yA(t,e,r),r};const Kp=class rv extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),this.type="ShadePropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadePropertiesAbridged",this.energy=t.energy,this.radiance=t.radiance)}static fromJS(t){t=typeof t=="object"?t:{};let e=new rv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Wh([l(),p()],Kp.prototype,"type",2),Wh([d(Vh),c(),p()],Kp.prototype,"energy",2),Wh([d(dp),c(),p()],Kp.prototype,"radiance",2);let Bh=Kp;var fA=Object.defineProperty,mA=Object.getOwnPropertyDescriptor,tc=(n,t,e,i)=>{for(var r=i>1?void 0:i?mA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&fA(t,e,r),r};const Io=class nv extends ht{constructor(){super(),a(this,"geometry"),a(this,"properties"),a(this,"type"),a(this,"is_detached"),this.type="Shade",this.is_detached=!1}init(t){super.init(t),t&&(this.geometry=t.geometry,this.properties=t.properties,this.type=t.type!==void 0?t.type:"Shade",this.is_detached=t.is_detached!==void 0?t.is_detached:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new nv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.geometry=this.geometry,t.properties=this.properties,t.type=this.type,t.is_detached=this.is_detached,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};tc([d(Ut),c(),y()],Io.prototype,"geometry",2),tc([d(Bh),c(),y()],Io.prototype,"properties",2),tc([l(),p()],Io.prototype,"type",2),tc([D(),p()],Io.prototype,"is_detached",2);let $h=Io;var vA=Object.defineProperty,gA=Object.getOwnPropertyDescriptor,Hh=(n,t,e,i)=>{for(var r=i>1?void 0:i?gA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&vA(t,e,r),r};const ec=class ov extends w{constructor(){super(),a(this,"type"),a(this,"construction"),a(this,"transmittance_schedule"),this.type="ShadeMeshEnergyPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeMeshEnergyPropertiesAbridged",this.construction=t.construction,this.transmittance_schedule=t.transmittance_schedule)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ov;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.construction=this.construction,t.transmittance_schedule=this.transmittance_schedule,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Hh([l(),p()],ec.prototype,"type",2),Hh([l(),p()],ec.prototype,"construction",2),Hh([l(),p()],ec.prototype,"transmittance_schedule",2);let ny=ec;var bA=Object.defineProperty,wA=Object.getOwnPropertyDescriptor,Fh=(n,t,e,i)=>{for(var r=i>1?void 0:i?wA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&bA(t,e,r),r};const ic=class sv extends w{constructor(){super(),a(this,"type"),a(this,"energy"),a(this,"radiance"),this.type="ShadeMeshPropertiesAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadeMeshPropertiesAbridged",this.energy=t.energy,this.radiance=t.radiance)}static fromJS(t){t=typeof t=="object"?t:{};let e=new sv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.energy=this.energy,t.radiance=this.radiance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Fh([l(),p()],ic.prototype,"type",2),Fh([d(ny),c(),p()],ic.prototype,"energy",2),Fh([d(Hl),c(),p()],ic.prototype,"radiance",2);let oy=ic;var OA=Object.defineProperty,SA=Object.getOwnPropertyDescriptor,rc=(n,t,e,i)=>{for(var r=i>1?void 0:i?SA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&OA(t,e,r),r};const qo=class av extends ht{constructor(){super(),a(this,"geometry"),a(this,"properties"),a(this,"type"),a(this,"is_detached"),this.type="ShadeMesh",this.is_detached=!0}init(t){super.init(t),t&&(this.geometry=t.geometry,this.properties=t.properties,this.type=t.type!==void 0?t.type:"ShadeMesh",this.is_detached=t.is_detached!==void 0?t.is_detached:!0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new av;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.geometry=this.geometry,t.properties=this.properties,t.type=this.type,t.is_detached=this.is_detached,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};rc([d(xp),c(),y()],qo.prototype,"geometry",2),rc([d(oy),c(),y()],qo.prototype,"properties",2),rc([l(),p()],qo.prototype,"type",2),rc([D(),p()],qo.prototype,"is_detached",2);let sy=qo;var jA=Object.defineProperty,AA=Object.getOwnPropertyDescriptor,nc=(n,t,e,i)=>{for(var r=i>1?void 0:i?AA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&jA(t,e,r),r};const To=class pv extends w{constructor(){super(),a(this,"identifier"),a(this,"display_name"),a(this,"user_data"),a(this,"type"),this.type="IDdBaseModel"}init(t){super.init(t),t&&(this.identifier=t.identifier,this.display_name=t.display_name,this.user_data=t.user_data,this.type=t.type!==void 0?t.type:"IDdBaseModel")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="Shade"){let i=new $h;return i.init(t),i}if(t.type==="Aperture"){let i=new Ih;return i.init(t),i}if(t.type==="Door"){let i=new Oh;return i.init(t),i}if(t.type==="Face"){let i=new Ch;return i.init(t),i}if(t.type==="Room"){let i=new Rh;return i.init(t),i}if(t.type==="ShadeMesh"){let i=new sy;return i.init(t),i}if(t.type==="Model"){let i=new iy;return i.init(t),i}let e=new pv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.identifier=this.identifier,t.display_name=this.display_name,t.user_data=this.user_data,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};nc([l(),y()],To.prototype,"identifier",2),nc([l(),p()],To.prototype,"display_name",2),nc([p()],To.prototype,"user_data",2),nc([l(),p()],To.prototype,"type",2);let ht=To;var PA=Object.defineProperty,CA=Object.getOwnPropertyDescriptor,Jr=(n,t,e,i)=>{for(var r=i>1?void 0:i?CA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&PA(t,e,r),r};const ui=class cv extends ht{constructor(){super(),a(this,"geometry"),a(this,"boundary_condition"),a(this,"properties"),a(this,"type"),a(this,"is_operable"),a(this,"indoor_shades"),a(this,"outdoor_shades"),this.type="Aperture",this.is_operable=!1}init(t){super.init(t),t&&(this.geometry=t.geometry,this.boundary_condition=t.boundary_condition,this.properties=t.properties,this.type=t.type!==void 0?t.type:"Aperture",this.is_operable=t.is_operable!==void 0?t.is_operable:!1,this.indoor_shades=t.indoor_shades,this.outdoor_shades=t.outdoor_shades)}static fromJS(t){t=typeof t=="object"?t:{};let e=new cv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.geometry=this.geometry,t.boundary_condition=this.boundary_condition,t.properties=this.properties,t.type=this.type,t.is_operable=this.is_operable,t.indoor_shades=this.indoor_shades,t.outdoor_shades=this.outdoor_shades,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Jr([d(Ut),c(),y()],ui.prototype,"geometry",2),Jr([y()],ui.prototype,"boundary_condition",2),Jr([d(mh),c(),y()],ui.prototype,"properties",2),Jr([l(),p()],ui.prototype,"type",2),Jr([D(),p()],ui.prototype,"is_operable",2),Jr([m(),c({each:!0}),p()],ui.prototype,"indoor_shades",2),Jr([m(),c({each:!0}),p()],ui.prototype,"outdoor_shades",2);let Ih=ui;var EA=Object.defineProperty,xA=Object.getOwnPropertyDescriptor,qh=(n,t,e,i)=>{for(var r=i>1?void 0:i?xA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&EA(t,e,r),r};const oc=class lv extends w{constructor(){super(),a(this,"exterior_modifier"),a(this,"interior_modifier"),a(this,"type"),this.type="BaseModifierSet"}init(t){super.init(t),t&&(this.exterior_modifier=t.exterior_modifier,this.interior_modifier=t.interior_modifier,this.type=t.type!==void 0?t.type:"BaseModifierSet")}static fromJS(t){t=typeof t=="object"?t:{};let e=new lv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.exterior_modifier=this.exterior_modifier,t.interior_modifier=this.interior_modifier,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};qh([p()],oc.prototype,"exterior_modifier",2),qh([p()],oc.prototype,"interior_modifier",2),qh([l(),p()],oc.prototype,"type",2);let ay=oc;var GA=Object.defineProperty,DA=Object.getOwnPropertyDescriptor,Mr=(n,t,e,i)=>{for(var r=i>1?void 0:i?DA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&GA(t,e,r),r};const yi=class hv extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"element_name"),a(this,"update_geometry"),a(this,"update_energy"),a(this,"update_radiance"),a(this,"type"),this.update_geometry=!0,this.update_energy=!0,this.update_radiance=!0,this.type="ChangedInstruction"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.element_name=t.element_name,this.update_geometry=t.update_geometry!==void 0?t.update_geometry:!0,this.update_energy=t.update_energy!==void 0?t.update_energy:!0,this.update_radiance=t.update_radiance!==void 0?t.update_radiance:!0,this.type=t.type!==void 0?t.type:"ChangedInstruction")}static fromJS(t){t=typeof t=="object"?t:{};let e=new hv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.element_name=this.element_name,t.update_geometry=this.update_geometry,t.update_energy=this.update_energy,t.update_radiance=this.update_radiance,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Mr([b(Ye),c(),y()],yi.prototype,"element_type",2),Mr([l(),y()],yi.prototype,"element_id",2),Mr([l(),p()],yi.prototype,"element_name",2),Mr([D(),p()],yi.prototype,"update_geometry",2),Mr([D(),p()],yi.prototype,"update_energy",2),Mr([D(),p()],yi.prototype,"update_radiance",2),Mr([l(),p()],yi.prototype,"type",2);let JA=yi;var MA=Object.defineProperty,NA=Object.getOwnPropertyDescriptor,ge=(n,t,e,i)=>{for(var r=i>1?void 0:i?NA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&MA(t,e,r),r};const Xt=class _v extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"geometry_changed"),a(this,"geometry"),a(this,"element_name"),a(this,"energy_changed"),a(this,"radiance_changed"),a(this,"existing_geometry"),a(this,"type"),this.energy_changed=!1,this.radiance_changed=!1,this.type="ChangedObject"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.geometry_changed=t.geometry_changed,this.geometry=t.geometry,this.element_name=t.element_name,this.energy_changed=t.energy_changed!==void 0?t.energy_changed:!1,this.radiance_changed=t.radiance_changed!==void 0?t.radiance_changed:!1,this.existing_geometry=t.existing_geometry,this.type=t.type!==void 0?t.type:"ChangedObject")}static fromJS(t){t=typeof t=="object"?t:{};let e=new _v;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.geometry_changed=this.geometry_changed,t.geometry=this.geometry,t.element_name=this.element_name,t.energy_changed=this.energy_changed,t.radiance_changed=this.radiance_changed,t.existing_geometry=this.existing_geometry,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ge([b(Ye),c(),y()],Xt.prototype,"element_type",2),ge([l(),y()],Xt.prototype,"element_id",2),ge([D(),y()],Xt.prototype,"geometry_changed",2),ge([m(),c({each:!0}),y()],Xt.prototype,"geometry",2),ge([l(),p()],Xt.prototype,"element_name",2),ge([D(),p()],Xt.prototype,"energy_changed",2),ge([D(),p()],Xt.prototype,"radiance_changed",2),ge([m(),c({each:!0}),p()],Xt.prototype,"existing_geometry",2),ge([l(),p()],Xt.prototype,"type",2);let RA=Xt;var VA=Object.defineProperty,WA=Object.getOwnPropertyDescriptor,ko=(n,t,e,i)=>{for(var r=i>1?void 0:i?WA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&VA(t,e,r),r};const Hn=class uv extends w{constructor(){super(),a(this,"r"),a(this,"g"),a(this,"b"),a(this,"type"),a(this,"a"),this.type="Color",this.a=255}init(t){super.init(t),t&&(this.r=t.r,this.g=t.g,this.b=t.b,this.type=t.type!==void 0?t.type:"Color",this.a=t.a!==void 0?t.a:255)}static fromJS(t){t=typeof t=="object"?t:{};let e=new uv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.r=this.r,t.g=this.g,t.b=this.b,t.type=this.type,t.a=this.a,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ko([Ht(),y()],Hn.prototype,"r",2),ko([Ht(),y()],Hn.prototype,"g",2),ko([Ht(),y()],Hn.prototype,"b",2),ko([l(),p()],Hn.prototype,"type",2),ko([Ht(),p()],Hn.prototype,"a",2);let py=Hn;var BA=Object.defineProperty,$A=Object.getOwnPropertyDescriptor,sc=(n,t,e,i)=>{for(var r=i>1?void 0:i?$A(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&BA(t,e,r),r};const zo=class yv extends w{constructor(){super(),a(this,"type"),a(this,"changed_objects"),a(this,"deleted_objects"),a(this,"added_objects"),this.type="ComparisonReport"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ComparisonReport",this.changed_objects=t.changed_objects,this.deleted_objects=t.deleted_objects,this.added_objects=t.added_objects)}static fromJS(t){t=typeof t=="object"?t:{};let e=new yv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.changed_objects=this.changed_objects,t.deleted_objects=this.deleted_objects,t.added_objects=this.added_objects,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};sc([l(),p()],zo.prototype,"type",2),sc([m(),c({each:!0}),p()],zo.prototype,"changed_objects",2),sc([m(),c({each:!0}),p()],zo.prototype,"deleted_objects",2),sc([m(),c({each:!0}),p()],zo.prototype,"added_objects",2);let HA=zo;var FA=Object.defineProperty,IA=Object.getOwnPropertyDescriptor,Th=(n,t,e,i)=>{for(var r=i>1?void 0:i?IA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&FA(t,e,r),r};const ac=class dv extends Lo{constructor(){super(),a(this,"type"),a(this,"start_date"),a(this,"end_date"),this.type="DaylightSavingTime",this.start_date=[3,12],this.end_date=[11,5]}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DaylightSavingTime",this.start_date=t.start_date!==void 0?t.start_date:[3,12],this.end_date=t.end_date!==void 0?t.end_date:[11,5])}static fromJS(t){t=typeof t=="object"?t:{};let e=new dv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.start_date=this.start_date,t.end_date=this.end_date,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Th([l(),p()],ac.prototype,"type",2),Th([m(),c({each:!0}),p()],ac.prototype,"start_date",2),Th([m(),c({each:!0}),p()],ac.prototype,"end_date",2);let kh=ac;var pc=(n=>(n.Sunday="Sunday",n.Monday="Monday",n.Tuesday="Tuesday",n.Wednesday="Wednesday",n.Thursday="Thursday",n.Friday="Friday",n.Saturday="Saturday",n))(pc||{}),qA=Object.defineProperty,TA=Object.getOwnPropertyDescriptor,Nr=(n,t,e,i)=>{for(var r=i>1?void 0:i?TA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&qA(t,e,r),r};const di=class fv extends Lo{constructor(){super(),a(this,"type"),a(this,"start_date"),a(this,"end_date"),a(this,"start_day_of_week"),a(this,"holidays"),a(this,"daylight_saving_time"),a(this,"leap_year"),this.type="RunPeriod",this.start_date=[1,1],this.end_date=[12,31],this.start_day_of_week=pc.Sunday,this.leap_year=!1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RunPeriod",this.start_date=t.start_date!==void 0?t.start_date:[1,1],this.end_date=t.end_date!==void 0?t.end_date:[12,31],this.start_day_of_week=t.start_day_of_week!==void 0?t.start_day_of_week:pc.Sunday,this.holidays=t.holidays,this.daylight_saving_time=t.daylight_saving_time,this.leap_year=t.leap_year!==void 0?t.leap_year:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new fv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.start_date=this.start_date,t.end_date=this.end_date,t.start_day_of_week=this.start_day_of_week,t.holidays=this.holidays,t.daylight_saving_time=this.daylight_saving_time,t.leap_year=this.leap_year,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Nr([l(),p()],di.prototype,"type",2),Nr([m(),c({each:!0}),p()],di.prototype,"start_date",2),Nr([m(),c({each:!0}),p()],di.prototype,"end_date",2),Nr([b(pc),c(),p()],di.prototype,"start_day_of_week",2),Nr([m(),c({each:!0}),p()],di.prototype,"holidays",2),Nr([d(kh),c(),p()],di.prototype,"daylight_saving_time",2),Nr([D(),p()],di.prototype,"leap_year",2);let zh=di;var kA=Object.defineProperty,zA=Object.getOwnPropertyDescriptor,Rt=(n,t,e,i)=>{for(var r=i>1?void 0:i?zA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&kA(t,e,r),r};const Ct=class mv extends Lo{constructor(){super(),a(this,"schedule_day"),a(this,"type"),a(this,"apply_sunday"),a(this,"apply_monday"),a(this,"apply_tuesday"),a(this,"apply_wednesday"),a(this,"apply_thursday"),a(this,"apply_friday"),a(this,"apply_saturday"),a(this,"start_date"),a(this,"end_date"),this.type="ScheduleRuleAbridged",this.apply_sunday=!1,this.apply_monday=!1,this.apply_tuesday=!1,this.apply_wednesday=!1,this.apply_thursday=!1,this.apply_friday=!1,this.apply_saturday=!1,this.start_date=[1,1],this.end_date=[12,31]}init(t){super.init(t),t&&(this.schedule_day=t.schedule_day,this.type=t.type!==void 0?t.type:"ScheduleRuleAbridged",this.apply_sunday=t.apply_sunday!==void 0?t.apply_sunday:!1,this.apply_monday=t.apply_monday!==void 0?t.apply_monday:!1,this.apply_tuesday=t.apply_tuesday!==void 0?t.apply_tuesday:!1,this.apply_wednesday=t.apply_wednesday!==void 0?t.apply_wednesday:!1,this.apply_thursday=t.apply_thursday!==void 0?t.apply_thursday:!1,this.apply_friday=t.apply_friday!==void 0?t.apply_friday:!1,this.apply_saturday=t.apply_saturday!==void 0?t.apply_saturday:!1,this.start_date=t.start_date!==void 0?t.start_date:[1,1],this.end_date=t.end_date!==void 0?t.end_date:[12,31])}static fromJS(t){t=typeof t=="object"?t:{};let e=new mv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.schedule_day=this.schedule_day,t.type=this.type,t.apply_sunday=this.apply_sunday,t.apply_monday=this.apply_monday,t.apply_tuesday=this.apply_tuesday,t.apply_wednesday=this.apply_wednesday,t.apply_thursday=this.apply_thursday,t.apply_friday=this.apply_friday,t.apply_saturday=this.apply_saturday,t.start_date=this.start_date,t.end_date=this.end_date,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Rt([l(),y()],Ct.prototype,"schedule_day",2),Rt([l(),p()],Ct.prototype,"type",2),Rt([D(),p()],Ct.prototype,"apply_sunday",2),Rt([D(),p()],Ct.prototype,"apply_monday",2),Rt([D(),p()],Ct.prototype,"apply_tuesday",2),Rt([D(),p()],Ct.prototype,"apply_wednesday",2),Rt([D(),p()],Ct.prototype,"apply_thursday",2),Rt([D(),p()],Ct.prototype,"apply_friday",2),Rt([D(),p()],Ct.prototype,"apply_saturday",2),Rt([m(),c({each:!0}),p()],Ct.prototype,"start_date",2),Rt([m(),c({each:!0}),p()],Ct.prototype,"end_date",2);let Lh=Ct;var LA=Object.defineProperty,UA=Object.getOwnPropertyDescriptor,ZA=(n,t,e,i)=>{for(var r=i>1?void 0:i?UA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&LA(t,e,r),r};const cy=class vv extends w{constructor(){super(),a(this,"type"),this.type="DatedBaseModel"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"DatedBaseModel")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="ScheduleRuleAbridged"){let i=new Lh;return i.init(t),i}if(t.type==="DaylightSavingTime"){let i=new kh;return i.init(t),i}if(t.type==="RunPeriod"){let i=new zh;return i.init(t),i}let e=new vv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};ZA([l(),p()],cy.prototype,"type",2);let Lo=cy;var YA=Object.defineProperty,XA=Object.getOwnPropertyDescriptor,cc=(n,t,e,i)=>{for(var r=i>1?void 0:i?XA(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&YA(t,e,r),r};const Uo=class gv extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"element_name"),a(this,"type"),this.type="DeletedInstruction"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.element_name=t.element_name,this.type=t.type!==void 0?t.type:"DeletedInstruction")}static fromJS(t){t=typeof t=="object"?t:{};let e=new gv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.element_name=this.element_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};cc([b(Ye),c(),y()],Uo.prototype,"element_type",2),cc([l(),y()],Uo.prototype,"element_id",2),cc([l(),p()],Uo.prototype,"element_name",2),cc([l(),p()],Uo.prototype,"type",2);let QA=Uo;var KA=Object.defineProperty,tP=Object.getOwnPropertyDescriptor,Zo=(n,t,e,i)=>{for(var r=i>1?void 0:i?tP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&KA(t,e,r),r};const Fn=class bv extends w{constructor(){super(),a(this,"element_type"),a(this,"element_id"),a(this,"geometry"),a(this,"element_name"),a(this,"type"),this.type="DeletedObject"}init(t){super.init(t),t&&(this.element_type=t.element_type,this.element_id=t.element_id,this.geometry=t.geometry,this.element_name=t.element_name,this.type=t.type!==void 0?t.type:"DeletedObject")}static fromJS(t){t=typeof t=="object"?t:{};let e=new bv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.element_type=this.element_type,t.element_id=this.element_id,t.geometry=this.geometry,t.element_name=this.element_name,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Zo([b(Ye),c(),y()],Fn.prototype,"element_type",2),Zo([l(),y()],Fn.prototype,"element_id",2),Zo([m(),c({each:!0}),y()],Fn.prototype,"geometry",2),Zo([l(),p()],Fn.prototype,"element_name",2),Zo([l(),p()],Fn.prototype,"type",2);let eP=Fn;var ly=(n=>(n.SummerDesignDay="SummerDesignDay",n.WinterDesignDay="WinterDesignDay",n.Sunday="Sunday",n.Monday="Monday",n.Tuesday="Tuesday",n.Wednesday="Wednesday",n.Thursday="Thursday",n.Friday="Friday",n.Holiday="Holiday",n.CustomDay1="CustomDay1",n.CustomDay2="CustomDay2",n))(ly||{}),iP=Object.defineProperty,rP=Object.getOwnPropertyDescriptor,Uh=(n,t,e,i)=>{for(var r=i>1?void 0:i?rP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&iP(t,e,r),r};const lc=class wv extends w{constructor(){super(),a(this,"dry_bulb_max"),a(this,"dry_bulb_range"),a(this,"type"),this.type="DryBulbCondition"}init(t){super.init(t),t&&(this.dry_bulb_max=t.dry_bulb_max,this.dry_bulb_range=t.dry_bulb_range,this.type=t.type!==void 0?t.type:"DryBulbCondition")}static fromJS(t){t=typeof t=="object"?t:{};let e=new wv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.dry_bulb_max=this.dry_bulb_max,t.dry_bulb_range=this.dry_bulb_range,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Uh([h(),y()],lc.prototype,"dry_bulb_max",2),Uh([h(),y()],lc.prototype,"dry_bulb_range",2),Uh([l(),p()],lc.prototype,"type",2);let hy=lc;var _y=(n=>(n.Wetbulb="Wetbulb",n.Dewpoint="Dewpoint",n.HumidityRatio="HumidityRatio",n.Enthalpy="Enthalpy",n))(_y||{}),nP=Object.defineProperty,oP=Object.getOwnPropertyDescriptor,In=(n,t,e,i)=>{for(var r=i>1?void 0:i?oP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&nP(t,e,r),r};const Rr=class Ov extends w{constructor(){super(),a(this,"humidity_type"),a(this,"humidity_value"),a(this,"type"),a(this,"barometric_pressure"),a(this,"rain"),a(this,"snow_on_ground"),this.type="HumidityCondition",this.barometric_pressure=101325,this.rain=!1,this.snow_on_ground=!1}init(t){super.init(t),t&&(this.humidity_type=t.humidity_type,this.humidity_value=t.humidity_value,this.type=t.type!==void 0?t.type:"HumidityCondition",this.barometric_pressure=t.barometric_pressure!==void 0?t.barometric_pressure:101325,this.rain=t.rain!==void 0?t.rain:!1,this.snow_on_ground=t.snow_on_ground!==void 0?t.snow_on_ground:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ov;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.humidity_type=this.humidity_type,t.humidity_value=this.humidity_value,t.type=this.type,t.barometric_pressure=this.barometric_pressure,t.rain=this.rain,t.snow_on_ground=this.snow_on_ground,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};In([b(_y),c(),y()],Rr.prototype,"humidity_type",2),In([h(),y()],Rr.prototype,"humidity_value",2),In([l(),p()],Rr.prototype,"type",2),In([h(),p()],Rr.prototype,"barometric_pressure",2),In([D(),p()],Rr.prototype,"rain",2),In([D(),p()],Rr.prototype,"snow_on_ground",2);let uy=Rr;var sP=Object.defineProperty,aP=Object.getOwnPropertyDescriptor,Zh=(n,t,e,i)=>{for(var r=i>1?void 0:i?aP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&sP(t,e,r),r};const hc=class Sv extends w{constructor(){super(),a(this,"wind_speed"),a(this,"type"),a(this,"wind_direction"),this.type="WindCondition",this.wind_direction=0}init(t){super.init(t),t&&(this.wind_speed=t.wind_speed,this.type=t.type!==void 0?t.type:"WindCondition",this.wind_direction=t.wind_direction!==void 0?t.wind_direction:0)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Sv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.wind_speed=this.wind_speed,t.type=this.type,t.wind_direction=this.wind_direction,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Zh([h(),y()],hc.prototype,"wind_speed",2),Zh([l(),p()],hc.prototype,"type",2),Zh([h(),p()],hc.prototype,"wind_direction",2);let yy=hc;var pP=Object.defineProperty,cP=Object.getOwnPropertyDescriptor,Vr=(n,t,e,i)=>{for(var r=i>1?void 0:i?cP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&pP(t,e,r),r};const fi=class jv extends w{constructor(){super(),a(this,"name"),a(this,"day_type"),a(this,"dry_bulb_condition"),a(this,"humidity_condition"),a(this,"wind_condition"),a(this,"sky_condition"),a(this,"type"),this.type="DesignDay"}init(t){super.init(t),t&&(this.name=t.name,this.day_type=t.day_type,this.dry_bulb_condition=t.dry_bulb_condition,this.humidity_condition=t.humidity_condition,this.wind_condition=t.wind_condition,this.sky_condition=t.sky_condition,this.type=t.type!==void 0?t.type:"DesignDay")}static fromJS(t){t=typeof t=="object"?t:{};let e=new jv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.name=this.name,t.day_type=this.day_type,t.dry_bulb_condition=this.dry_bulb_condition,t.humidity_condition=this.humidity_condition,t.wind_condition=this.wind_condition,t.sky_condition=this.sky_condition,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Vr([l(),y()],fi.prototype,"name",2),Vr([b(ly),c(),y()],fi.prototype,"day_type",2),Vr([d(hy),c(),y()],fi.prototype,"dry_bulb_condition",2),Vr([d(uy),c(),y()],fi.prototype,"humidity_condition",2),Vr([d(yy),c(),y()],fi.prototype,"wind_condition",2),Vr([y()],fi.prototype,"sky_condition",2),Vr([l(),p()],fi.prototype,"type",2);let lP=fi;var hP=Object.defineProperty,_P=Object.getOwnPropertyDescriptor,uP=(n,t,e,i)=>{for(var r=i>1?void 0:i?_P(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&hP(t,e,r),r};const dy=class Av extends w{constructor(){super(),a(this,"type"),this.type="Ground"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Ground")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Av;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};uP([l(),p()],dy.prototype,"type",2);let fy=dy;var yP=Object.defineProperty,dP=Object.getOwnPropertyDescriptor,mi=(n,t,e,i)=>{for(var r=i>1?void 0:i?dP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&yP(t,e,r),r};const be=class Pv extends w{constructor(){super(),a(this,"type"),a(this,"city"),a(this,"latitude"),a(this,"longitude"),a(this,"time_zone"),a(this,"elevation"),a(this,"station_id"),a(this,"source"),this.type="Location",this.city="-",this.latitude=0,this.longitude=0,this.time_zone=new R,this.elevation=0}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Location",this.city=t.city!==void 0?t.city:"-",this.latitude=t.latitude!==void 0?t.latitude:0,this.longitude=t.longitude!==void 0?t.longitude:0,this.time_zone=t.time_zone!==void 0?t.time_zone:new R,this.elevation=t.elevation!==void 0?t.elevation:0,this.station_id=t.station_id,this.source=t.source)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Pv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.city=this.city,t.latitude=this.latitude,t.longitude=this.longitude,t.time_zone=this.time_zone,t.elevation=this.elevation,t.station_id=this.station_id,t.source=this.source,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};mi([l(),p()],be.prototype,"type",2),mi([l(),p()],be.prototype,"city",2),mi([h(),p()],be.prototype,"latitude",2),mi([h(),p()],be.prototype,"longitude",2),mi([p()],be.prototype,"time_zone",2),mi([h(),p()],be.prototype,"elevation",2),mi([l(),p()],be.prototype,"station_id",2),mi([l(),p()],be.prototype,"source",2);let my=be;var fP=Object.defineProperty,mP=Object.getOwnPropertyDescriptor,Yh=(n,t,e,i)=>{for(var r=i>1?void 0:i?mP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&fP(t,e,r),r};const _c=class Cv extends w{constructor(){super(),a(this,"type"),a(this,"heat_transfer_coefficient"),a(this,"temperature"),this.type="OtherSideTemperature",this.heat_transfer_coefficient=0,this.temperature=new R}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"OtherSideTemperature",this.heat_transfer_coefficient=t.heat_transfer_coefficient!==void 0?t.heat_transfer_coefficient:0,this.temperature=t.temperature!==void 0?t.temperature:new R)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Cv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.heat_transfer_coefficient=this.heat_transfer_coefficient,t.temperature=this.temperature,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Yh([l(),p()],_c.prototype,"type",2),Yh([h(),p()],_c.prototype,"heat_transfer_coefficient",2),Yh([p()],_c.prototype,"temperature",2);let vy=_c;var vP=Object.defineProperty,gP=Object.getOwnPropertyDescriptor,uc=(n,t,e,i)=>{for(var r=i>1?void 0:i?gP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&vP(t,e,r),r};const Yo=class Ev extends w{constructor(){super(),a(this,"type"),a(this,"sun_exposure"),a(this,"wind_exposure"),a(this,"view_factor"),this.type="Outdoors",this.sun_exposure=!0,this.wind_exposure=!0,this.view_factor=new R}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"Outdoors",this.sun_exposure=t.sun_exposure!==void 0?t.sun_exposure:!0,this.wind_exposure=t.wind_exposure!==void 0?t.wind_exposure:!0,this.view_factor=t.view_factor!==void 0?t.view_factor:new R)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Ev;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.sun_exposure=this.sun_exposure,t.wind_exposure=this.wind_exposure,t.view_factor=this.view_factor,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};uc([l(),p()],Yo.prototype,"type",2),uc([D(),p()],Yo.prototype,"sun_exposure",2),uc([D(),p()],Yo.prototype,"wind_exposure",2),uc([p()],Yo.prototype,"view_factor",2);let gy=Yo;var Xh=(n=>(n.ASHRAE_0A="0A",n.ASHRAE_1A="1A",n.ASHRAE_2A="2A",n.ASHRAE_3A="3A",n.ASHRAE_4A="4A",n.ASHRAE_5A="5A",n.ASHRAE_6A="6A",n.ASHRAE_0B="0B",n.ASHRAE_1B="1B",n.ASHRAE_2B="2B",n.ASHRAE_3B="3B",n.ASHRAE_4B="4B",n.ASHRAE_5B="5B",n.ASHRAE_6B="6B",n.ASHRAE_3C="3C",n.ASHRAE_4C="4C",n.ASHRAE_5C="5C",n.ASHRAE_7="7",n.ASHRAE_8="8",n))(Xh||{}),bP=Object.defineProperty,wP=Object.getOwnPropertyDescriptor,Wr=(n,t,e,i)=>{for(var r=i>1?void 0:i?wP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&bP(t,e,r),r};const vi=class xv extends w{constructor(){super(),a(this,"type"),a(this,"north"),a(this,"weather_urls"),a(this,"location"),a(this,"ashrae_climate_zone"),a(this,"building_type"),a(this,"vintage"),this.type="ProjectInfo",this.north=0}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ProjectInfo",this.north=t.north!==void 0?t.north:0,this.weather_urls=t.weather_urls,this.location=t.location,this.ashrae_climate_zone=t.ashrae_climate_zone,this.building_type=t.building_type,this.vintage=t.vintage)}static fromJS(t){t=typeof t=="object"?t:{};let e=new xv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.north=this.north,t.weather_urls=this.weather_urls,t.location=this.location,t.ashrae_climate_zone=this.ashrae_climate_zone,t.building_type=this.building_type,t.vintage=this.vintage,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Wr([l(),p()],vi.prototype,"type",2),Wr([h(),p()],vi.prototype,"north",2),Wr([m(),c({each:!0}),p()],vi.prototype,"weather_urls",2),Wr([d(my),c(),p()],vi.prototype,"location",2),Wr([b(Xh),c(),p()],vi.prototype,"ashrae_climate_zone",2),Wr([m(),c({each:!0}),p()],vi.prototype,"building_type",2),Wr([m(),c({each:!0}),p()],vi.prototype,"vintage",2);let OP=vi;var SP=Object.defineProperty,jP=Object.getOwnPropertyDescriptor,Qh=(n,t,e,i)=>{for(var r=i>1?void 0:i?jP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&SP(t,e,r),r};const yc=class Gv extends t_{constructor(){super(),a(this,"vmtx_geometry"),a(this,"dmtx_geometry"),a(this,"type"),this.type="RadianceSubFaceStateAbridged"}init(t){super.init(t),t&&(this.vmtx_geometry=t.vmtx_geometry,this.dmtx_geometry=t.dmtx_geometry,this.type=t.type!==void 0?t.type:"RadianceSubFaceStateAbridged")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Gv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.vmtx_geometry=this.vmtx_geometry,t.dmtx_geometry=this.dmtx_geometry,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Qh([d(Ut),c(),p()],yc.prototype,"vmtx_geometry",2),Qh([d(Ut),c(),p()],yc.prototype,"dmtx_geometry",2),Qh([l(),p()],yc.prototype,"type",2);let Kh=yc;var AP=Object.defineProperty,PP=Object.getOwnPropertyDescriptor,dc=(n,t,e,i)=>{for(var r=i>1?void 0:i?PP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&AP(t,e,r),r};const Xo=class Dv extends w{constructor(){super(),a(this,"type"),a(this,"modifier"),a(this,"modifier_direct"),a(this,"shades"),this.type="RadianceShadeStateAbridged"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"RadianceShadeStateAbridged",this.modifier=t.modifier,this.modifier_direct=t.modifier_direct,this.shades=t.shades)}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="RadianceSubFaceStateAbridged"){let i=new Kh;return i.init(t),i}let e=new Dv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.modifier=this.modifier,t.modifier_direct=this.modifier_direct,t.shades=this.shades,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};dc([l(),p()],Xo.prototype,"type",2),dc([l(),p()],Xo.prototype,"modifier",2),dc([l(),p()],Xo.prototype,"modifier_direct",2),dc([m(),c({each:!0}),p()],Xo.prototype,"shades",2);let t_=Xo;var CP=Object.defineProperty,EP=Object.getOwnPropertyDescriptor,e_=(n,t,e,i)=>{for(var r=i>1?void 0:i?EP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&CP(t,e,r),r};const fc=class Jv extends w{constructor(){super(),a(this,"pos"),a(this,"dir"),a(this,"type"),this.type="Sensor"}init(t){super.init(t),t&&(this.pos=t.pos,this.dir=t.dir,this.type=t.type!==void 0?t.type:"Sensor")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Jv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.pos=this.pos,t.dir=this.dir,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};e_([m(),c({each:!0}),y()],fc.prototype,"pos",2),e_([m(),c({each:!0}),y()],fc.prototype,"dir",2),e_([l(),p()],fc.prototype,"type",2);let xP=fc;var mc=(n=>(n.PolygonClipping="PolygonClipping",n.PixelCounting="PixelCounting",n))(mc||{}),vc=(n=>(n.Periodic="Periodic",n.Timestep="Timestep",n))(vc||{}),gc=(n=>(n.MinimalShadowing="MinimalShadowing",n.FullExterior="FullExterior",n.FullInteriorAndExterior="FullInteriorAndExterior",n.FullExteriorWithReflections="FullExteriorWithReflections",n.FullInteriorAndExteriorWithReflections="FullInteriorAndExteriorWithReflections",n))(gc||{}),GP=Object.defineProperty,DP=Object.getOwnPropertyDescriptor,qn=(n,t,e,i)=>{for(var r=i>1?void 0:i?DP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&GP(t,e,r),r};const Br=class Mv extends w{constructor(){super(),a(this,"type"),a(this,"solar_distribution"),a(this,"calculation_method"),a(this,"calculation_update_method"),a(this,"calculation_frequency"),a(this,"maximum_figures"),this.type="ShadowCalculation",this.solar_distribution=gc.FullExteriorWithReflections,this.calculation_method=mc.PolygonClipping,this.calculation_update_method=vc.Periodic,this.calculation_frequency=30,this.maximum_figures=15e3}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"ShadowCalculation",this.solar_distribution=t.solar_distribution!==void 0?t.solar_distribution:gc.FullExteriorWithReflections,this.calculation_method=t.calculation_method!==void 0?t.calculation_method:mc.PolygonClipping,this.calculation_update_method=t.calculation_update_method!==void 0?t.calculation_update_method:vc.Periodic,this.calculation_frequency=t.calculation_frequency!==void 0?t.calculation_frequency:30,this.maximum_figures=t.maximum_figures!==void 0?t.maximum_figures:15e3)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Mv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.solar_distribution=this.solar_distribution,t.calculation_method=this.calculation_method,t.calculation_update_method=this.calculation_update_method,t.calculation_frequency=this.calculation_frequency,t.maximum_figures=this.maximum_figures,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};qn([l(),p()],Br.prototype,"type",2),qn([b(gc),c(),p()],Br.prototype,"solar_distribution",2),qn([b(mc),c(),p()],Br.prototype,"calculation_method",2),qn([b(vc),c(),p()],Br.prototype,"calculation_update_method",2),qn([Ht(),p()],Br.prototype,"calculation_frequency",2),qn([Ht(),p()],Br.prototype,"maximum_figures",2);let by=Br;var JP=Object.defineProperty,MP=Object.getOwnPropertyDescriptor,Tn=(n,t,e,i)=>{for(var r=i>1?void 0:i?MP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&JP(t,e,r),r};const $r=class Nv extends w{constructor(){super(),a(this,"type"),a(this,"do_zone_sizing"),a(this,"do_system_sizing"),a(this,"do_plant_sizing"),a(this,"run_for_run_periods"),a(this,"run_for_sizing_periods"),this.type="SimulationControl",this.do_zone_sizing=!0,this.do_system_sizing=!0,this.do_plant_sizing=!0,this.run_for_run_periods=!0,this.run_for_sizing_periods=!1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"SimulationControl",this.do_zone_sizing=t.do_zone_sizing!==void 0?t.do_zone_sizing:!0,this.do_system_sizing=t.do_system_sizing!==void 0?t.do_system_sizing:!0,this.do_plant_sizing=t.do_plant_sizing!==void 0?t.do_plant_sizing:!0,this.run_for_run_periods=t.run_for_run_periods!==void 0?t.run_for_run_periods:!0,this.run_for_sizing_periods=t.run_for_sizing_periods!==void 0?t.run_for_sizing_periods:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Nv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.do_zone_sizing=this.do_zone_sizing,t.do_system_sizing=this.do_system_sizing,t.do_plant_sizing=this.do_plant_sizing,t.run_for_run_periods=this.run_for_run_periods,t.run_for_sizing_periods=this.run_for_sizing_periods,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Tn([l(),p()],$r.prototype,"type",2),Tn([D(),p()],$r.prototype,"do_zone_sizing",2),Tn([D(),p()],$r.prototype,"do_system_sizing",2),Tn([D(),p()],$r.prototype,"do_plant_sizing",2),Tn([D(),p()],$r.prototype,"run_for_run_periods",2),Tn([D(),p()],$r.prototype,"run_for_sizing_periods",2);let wy=$r;var bc=(n=>(n.Timestep="Timestep",n.Hourly="Hourly",n.Daily="Daily",n.Monthly="Monthly",n.Annual="Annual",n))(bc||{}),NP=Object.defineProperty,RP=Object.getOwnPropertyDescriptor,Qo=(n,t,e,i)=>{for(var r=i>1?void 0:i?RP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&NP(t,e,r),r};const kn=class Rv extends w{constructor(){super(),a(this,"type"),a(this,"reporting_frequency"),a(this,"outputs"),a(this,"summary_reports"),a(this,"unmet_setpoint_tolerance"),this.type="SimulationOutput",this.reporting_frequency=bc.Hourly,this.unmet_setpoint_tolerance=1.11}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"SimulationOutput",this.reporting_frequency=t.reporting_frequency!==void 0?t.reporting_frequency:bc.Hourly,this.outputs=t.outputs,this.summary_reports=t.summary_reports,this.unmet_setpoint_tolerance=t.unmet_setpoint_tolerance!==void 0?t.unmet_setpoint_tolerance:1.11)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Rv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.reporting_frequency=this.reporting_frequency,t.outputs=this.outputs,t.summary_reports=this.summary_reports,t.unmet_setpoint_tolerance=this.unmet_setpoint_tolerance,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Qo([l(),p()],kn.prototype,"type",2),Qo([b(bc),c(),p()],kn.prototype,"reporting_frequency",2),Qo([m(),c({each:!0}),p()],kn.prototype,"outputs",2),Qo([m(),c({each:!0}),p()],kn.prototype,"summary_reports",2),Qo([h(),p()],kn.prototype,"unmet_setpoint_tolerance",2);let Oy=kn;var Sy=(n=>(n.ASHRAE_2019="ASHRAE_2019",n.ASHRAE_2016="ASHRAE_2016",n.ASHRAE_2013="ASHRAE_2013",n.ASHRAE_2010="ASHRAE_2010",n.ASHRAE_2007="ASHRAE_2007",n.ASHRAE_2004="ASHRAE_2004",n.DOE_Ref_1980_2004="DOE_Ref_1980_2004",n.DOE_Ref_Pre_1980="DOE_Ref_Pre_1980",n))(Sy||{}),VP=Object.defineProperty,WP=Object.getOwnPropertyDescriptor,gi=(n,t,e,i)=>{for(var r=i>1?void 0:i?WP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&VP(t,e,r),r};const we=class Vv extends w{constructor(){super(),a(this,"type"),a(this,"design_days"),a(this,"heating_factor"),a(this,"cooling_factor"),a(this,"efficiency_standard"),a(this,"climate_zone"),a(this,"building_type"),a(this,"bypass_efficiency_sizing"),this.type="SizingParameter",this.heating_factor=1.25,this.cooling_factor=1.15,this.bypass_efficiency_sizing=!1}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"SizingParameter",this.design_days=t.design_days,this.heating_factor=t.heating_factor!==void 0?t.heating_factor:1.25,this.cooling_factor=t.cooling_factor!==void 0?t.cooling_factor:1.15,this.efficiency_standard=t.efficiency_standard,this.climate_zone=t.climate_zone,this.building_type=t.building_type,this.bypass_efficiency_sizing=t.bypass_efficiency_sizing!==void 0?t.bypass_efficiency_sizing:!1)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Vv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.design_days=this.design_days,t.heating_factor=this.heating_factor,t.cooling_factor=this.cooling_factor,t.efficiency_standard=this.efficiency_standard,t.climate_zone=this.climate_zone,t.building_type=this.building_type,t.bypass_efficiency_sizing=this.bypass_efficiency_sizing,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};gi([l(),p()],we.prototype,"type",2),gi([m(),c({each:!0}),p()],we.prototype,"design_days",2),gi([h(),p()],we.prototype,"heating_factor",2),gi([h(),p()],we.prototype,"cooling_factor",2),gi([b(Sy),c(),p()],we.prototype,"efficiency_standard",2),gi([b(Xh),c(),p()],we.prototype,"climate_zone",2),gi([l(),p()],we.prototype,"building_type",2),gi([D(),p()],we.prototype,"bypass_efficiency_sizing",2);let jy=we;var BP=Object.defineProperty,$P=Object.getOwnPropertyDescriptor,Ay=(n,t,e,i)=>{for(var r=i>1?void 0:i?$P(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&BP(t,e,r),r};const i_=class Wv extends w{constructor(){super(),a(this,"boundary_condition_objects"),a(this,"type"),this.type="Surface"}init(t){super.init(t),t&&(this.boundary_condition_objects=t.boundary_condition_objects,this.type=t.type!==void 0?t.type:"Surface")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Wv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.boundary_condition_objects=this.boundary_condition_objects,t.type=this.type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Ay([m(),c({each:!0}),y()],i_.prototype,"boundary_condition_objects",2),Ay([l(),p()],i_.prototype,"type",2);let Py=i_;var HP=Object.defineProperty,FP=Object.getOwnPropertyDescriptor,wc=(n,t,e,i)=>{for(var r=i>1?void 0:i?FP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&HP(t,e,r),r};const Ko=class Bv extends w{constructor(){super(),a(this,"type"),a(this,"changed_objects"),a(this,"deleted_objects"),a(this,"added_objects"),this.type="SyncInstructions"}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"SyncInstructions",this.changed_objects=t.changed_objects,this.deleted_objects=t.deleted_objects,this.added_objects=t.added_objects)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Bv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.changed_objects=this.changed_objects,t.deleted_objects=this.deleted_objects,t.added_objects=this.added_objects,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};wc([l(),p()],Ko.prototype,"type",2),wc([m(),c({each:!0}),p()],Ko.prototype,"changed_objects",2),wc([m(),c({each:!0}),p()],Ko.prototype,"deleted_objects",2),wc([m(),c({each:!0}),p()],Ko.prototype,"added_objects",2);let IP=Ko;var qP=Object.defineProperty,TP=Object.getOwnPropertyDescriptor,kP=(n,t,e,i)=>{for(var r=i>1?void 0:i?TP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&qP(t,e,r),r};class w{constructor(){a(this,"type"),this.type="InvalidType"}init(t){t&&(this.type=t.type!==void 0?t.type:"InvalidType")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="Void"){let e=new K;return e.init(t),e}if(t.type==="Mirror"){let e=new bp;return e.init(t),e}if(t.type==="ModifierBase"){let e=new Dt;return e.init(t),e}if(t.type==="IDdRadianceBaseModel"){let e=new Pr;return e.init(t),e}if(t.type==="Plastic"){let e=new tt;return e.init(t),e}if(t.type==="Glass"){let e=new Qe;return e.init(t),e}if(t.type==="BSDF"){let e=new wp;return e.init(t),e}if(t.type==="Glow"){let e=new mp;return e.init(t),e}if(t.type==="Light"){let e=new vp;return e.init(t),e}if(t.type==="Trans"){let e=new Jn;return e.init(t),e}if(t.type==="Metal"){let e=new gp;return e.init(t),e}if(t.type==="ApertureModifierSet"){let e=new ql;return e.init(t),e}if(t.type==="RoofCeilingModifierSetAbridged"){let e=new wr;return e.init(t),e}if(t.type==="BaseModifierSetAbridged"){let e=new jr;return e.init(t),e}if(t.type==="EnergyMaterial"){let e=new H;return e.init(t),e}if(t.type==="IDdEnergyBaseModel"){let e=new O;return e.init(t),e}if(t.type==="EnergyBaseModel"){let e=new _r;return e.init(t),e}if(t.type==="EnergyMaterialNoMass"){let e=new Gs;return e.init(t),e}if(t.type==="EnergyMaterialVegetation"){let e=new Js;return e.init(t),e}if(t.type==="OpaqueConstruction"){let e=new Z;return e.init(t),e}if(t.type==="WallConstructionSet"){let e=new dl;return e.init(t),e}if(t.type==="FloorConstructionSet"){let e=new ul;return e.init(t),e}if(t.type==="RoofCeilingConstructionSet"){let e=new yl;return e.init(t),e}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let e=new Is;return e.init(t),e}if(t.type==="Autocalculate"){let e=new R;return e.init(t),e}if(t.type==="EnergyWindowMaterialGlazing"){let e=new Me;return e.init(t),e}if(t.type==="EnergyWindowMaterialGas"){let e=new on;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasCustom"){let e=new Ws;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasMixture"){let e=new $s;return e.init(t),e}if(t.type==="EnergyWindowFrame"){let e=new co;return e.init(t),e}if(t.type==="WindowConstruction"){let e=new Ao;return e.init(t),e}if(t.type==="EnergyWindowMaterialShade"){let e=new Hs;return e.init(t),e}if(t.type==="EnergyWindowMaterialBlind"){let e=new Ns;return e.init(t),e}if(t.type==="ScheduleDay"){let e=new Pl;return e.init(t),e}if(t.type==="ScheduleRuleAbridged"){let e=new Lh;return e.init(t),e}if(t.type==="DatedBaseModel"){let e=new Lo;return e.init(t),e}if(t.type==="NoLimit"){let e=new Pn;return e.init(t),e}if(t.type==="ScheduleTypeLimit"){let e=new Oo;return e.init(t),e}if(t.type==="ScheduleRuleset"){let e=new Ja;return e.init(t),e}if(t.type==="ScheduleFixedInterval"){let e=new Ga;return e.init(t),e}if(t.type==="WindowConstructionShade"){let e=new Qa;return e.init(t),e}if(t.type==="WindowConstructionDynamic"){let e=new Ya;return e.init(t),e}if(t.type==="ApertureConstructionSet"){let e=new ll;return e.init(t),e}if(t.type==="DoorConstructionSet"){let e=new _l;return e.init(t),e}if(t.type==="ShadeConstruction"){let e=new te;return e.init(t),e}if(t.type==="AirBoundaryConstruction"){let e=new ms;return e.init(t),e}if(t.type==="ConstructionSet"){let e=new Ps;return e.init(t),e}if(t.type==="DoorModifierSetAbridged"){let e=new Ar;return e.init(t),e}if(t.type==="View"){let e=new oh;return e.init(t),e}if(t.type==="_RadianceAsset"){let e=new Vp;return e.init(t),e}if(t.type==="Lighting"){let e=new yo;return e.init(t),e}if(t.type==="VentilationOpening"){let e=new Bo;return e.init(t),e}if(t.type==="DoorEnergyPropertiesAbridged"){let e=new gh;return e.init(t),e}if(t.type==="FCUwithDOASAbridged"){let e=new Ys;return e.init(t),e}if(t.type==="OpaqueConstructionAbridged"){let e=new T;return e.init(t),e}if(t.type==="WindowConstructionAbridged"){let e=new le;return e.init(t),e}if(t.type==="AirBoundaryConstructionAbridged"){let e=new Zr;return e.init(t),e}if(t.type==="WallConstructionSetAbridged"){let e=new Ji;return e.init(t),e}if(t.type==="_FaceSubSetAbridged"){let e=new ao;return e.init(t),e}if(t.type==="FloorConstructionSetAbridged"){let e=new Mi;return e.init(t),e}if(t.type==="RoofCeilingConstructionSetAbridged"){let e=new Di;return e.init(t),e}if(t.type==="ApertureConstructionSetAbridged"){let e=new Kr;return e.init(t),e}if(t.type==="DoorConstructionSetAbridged"){let e=new en;return e.init(t),e}if(t.type==="GlobalConstructionSet"){let e=new ai;return e.init(t),e}if(t.type==="ConstructionSetAbridged"){let e=new Es;return e.init(t),e}if(t.type==="WindowConstructionShadeAbridged"){let e=new Ka;return e.init(t),e}if(t.type==="WindowConstructionDynamicAbridged"){let e=new Nl;return e.init(t),e}if(t.type==="Autosize"){let e=new an;return e.init(t),e}if(t.type==="IdealAirSystemAbridged"){let e=new na;return e.init(t),e}if(t.type==="VAV"){let e=new Wa;return e.init(t),e}if(t.type==="PVAV"){let e=new fa;return e.init(t),e}if(t.type==="PSZ"){let e=new ha;return e.init(t),e}if(t.type==="PTAC"){let e=new ya;return e.init(t),e}if(t.type==="ForcedAirFurnace"){let e=new Ks;return e.init(t),e}if(t.type==="WSHPwithDOASAbridged"){let e=new np;return e.init(t),e}if(t.type==="VRFwithDOASAbridged"){let e=new qa;return e.init(t),e}if(t.type==="RadiantwithDOASAbridged"){let e=new Sa;return e.init(t),e}if(t.type==="FCU"){let e=new Us;return e.init(t),e}if(t.type==="WSHP"){let e=new ip;return e.init(t),e}if(t.type==="VRF"){let e=new Fa;return e.init(t),e}if(t.type==="Baseboard"){let e=new ws;return e.init(t),e}if(t.type==="EvaporativeCooler"){let e=new ks;return e.init(t),e}if(t.type==="Residential"){let e=new Pa;return e.init(t),e}if(t.type==="WindowAC"){let e=new za;return e.init(t),e}if(t.type==="GasUnitHeater"){let e=new ia;return e.init(t),e}if(t.type==="Radiant"){let e=new wa;return e.init(t),e}if(t.type==="DetailedHVAC"){let e=new xs;return e.init(t),e}if(t.type==="SHWSystem"){let e=new Ra;return e.init(t),e}if(t.type==="PeopleAbridged"){let e=new yn;return e.init(t),e}if(t.type==="LightingAbridged"){let e=new hn;return e.init(t),e}if(t.type==="ElectricEquipmentAbridged"){let e=new Pi;return e.init(t),e}if(t.type==="_EquipmentBase"){let e=new Ur;return e.init(t),e}if(t.type==="GasEquipmentAbridged"){let e=new Ci;return e.init(t),e}if(t.type==="ServiceHotWaterAbridged"){let e=new gn;return e.init(t),e}if(t.type==="InfiltrationAbridged"){let e=new ln;return e.init(t),e}if(t.type==="VentilationAbridged"){let e=new Sn;return e.init(t),e}if(t.type==="SetpointAbridged"){let e=new wn;return e.init(t),e}if(t.type==="ProgramTypeAbridged"){let e=new ca;return e.init(t),e}if(t.type==="People"){let e=new fo;return e.init(t),e}if(t.type==="ElectricEquipment"){let e=new po;return e.init(t),e}if(t.type==="GasEquipment"){let e=new _o;return e.init(t),e}if(t.type==="ServiceHotWater"){let e=new mo;return e.init(t),e}if(t.type==="Infiltration"){let e=new uo;return e.init(t),e}if(t.type==="Ventilation"){let e=new go;return e.init(t),e}if(t.type==="Setpoint"){let e=new vo;return e.init(t),e}if(t.type==="ProgramType"){let e=new pa;return e.init(t),e}if(t.type==="ScheduleRulesetAbridged"){let e=new Ma;return e.init(t),e}if(t.type==="ScheduleFixedIntervalAbridged"){let e=new Da;return e.init(t),e}if(t.type==="VentilationSimulationControl"){let e=new Qu;return e.init(t),e}if(t.type==="ElectricLoadCenter"){let e=new Xu;return e.init(t),e}if(t.type==="ModelEnergyProperties"){let e=new Ku;return e.init(t),e}if(t.type==="ShadeMeshRadiancePropertiesAbridged"){let e=new Hl;return e.init(t),e}if(t.type==="_PropertiesBaseAbridged"){let e=new yr;return e.init(t),e}if(t.type==="AFNCrack"){let e=new uh;return e.init(t),e}if(t.type==="Plane"){let e=new rh;return e.init(t),e}if(t.type==="Face3D"){let e=new Ut;return e.init(t),e}if(t.type==="StateGeometryAbridged"){let e=new nh;return e.init(t),e}if(t.type==="RadianceSubFaceStateAbridged"){let e=new Kh;return e.init(t),e}if(t.type==="RadianceShadeStateAbridged"){let e=new t_;return e.init(t),e}if(t.type==="ApertureRadiancePropertiesAbridged"){let e=new lp;return e.init(t),e}if(t.type==="ApertureModifierSetAbridged"){let e=new Vn;return e.init(t),e}if(t.type==="Outdoors"){let e=new gy;return e.init(t),e}if(t.type==="Surface"){let e=new Py;return e.init(t),e}if(t.type==="ModelDoe2Properties"){let e=new Yu;return e.init(t),e}if(t.type==="DoorModifierSet"){let e=new Tl;return e.init(t),e}if(t.type==="Sensor"){let e=new xP;return e.init(t),e}if(t.type==="DoorRadiancePropertiesAbridged"){let e=new _p;return e.init(t),e}if(t.type==="DoorPropertiesAbridged"){let e=new wh;return e.init(t),e}if(t.type==="Ground"){let e=new fy;return e.init(t),e}if(t.type==="Adiabatic"){let e=new Lu;return e.init(t),e}if(t.type==="OtherSideTemperature"){let e=new vy;return e.init(t),e}if(t.type==="PVProperties"){let e=new ga;return e.init(t),e}if(t.type==="ShadeEnergyPropertiesAbridged"){let e=new Vh;return e.init(t),e}if(t.type==="ShadeRadiancePropertiesAbridged"){let e=new dp;return e.init(t),e}if(t.type==="ShadePropertiesAbridged"){let e=new Bh;return e.init(t),e}if(t.type==="Shade"){let e=new $h;return e.init(t),e}if(t.type==="IDdBaseModel"){let e=new ht;return e.init(t),e}if(t.type==="ApertureEnergyPropertiesAbridged"){let e=new dh;return e.init(t),e}if(t.type==="AperturePropertiesAbridged"){let e=new mh;return e.init(t),e}if(t.type==="Aperture"){let e=new Ih;return e.init(t),e}if(t.type==="Door"){let e=new Oh;return e.init(t),e}if(t.type==="FaceEnergyPropertiesAbridged"){let e=new jh;return e.init(t),e}if(t.type==="FaceRadiancePropertiesAbridged"){let e=new up;return e.init(t),e}if(t.type==="FacePropertiesAbridged"){let e=new Ph;return e.init(t),e}if(t.type==="Face"){let e=new Ch;return e.init(t),e}if(t.type==="VentilationControlAbridged"){let e=new jo;return e.init(t),e}if(t.type==="VentilationFan"){let e=new Cl;return e.init(t),e}if(t.type==="Color"){let e=new py;return e.init(t),e}if(t.type==="Mesh3D"){let e=new xp;return e.init(t),e}if(t.type==="SensorGrid"){let e=new ih;return e.init(t),e}if(t.type==="WallModifierSet"){let e=new Ql;return e.init(t),e}if(t.type==="FloorModifierSet"){let e=new zl;return e.init(t),e}if(t.type==="RoofCeilingModifierSet"){let e=new Ul;return e.init(t),e}if(t.type==="ShadeModifierSet"){let e=new Yl;return e.init(t),e}if(t.type==="ModifierSet"){let e=new Kl;return e.init(t),e}if(t.type==="ProcessAbridged"){let e=new aa;return e.init(t),e}if(t.type==="DaylightingControl"){let e=new Gh;return e.init(t),e}if(t.type==="InternalMassAbridged"){let e=new sa;return e.init(t),e}if(t.type==="RoomEnergyPropertiesAbridged"){let e=new Dh;return e.init(t),e}if(t.type==="RoomRadiancePropertiesAbridged"){let e=new Mh;return e.init(t),e}if(t.type==="RoomDoe2Properties"){let e=new xh;return e.init(t),e}if(t.type==="RoomPropertiesAbridged"){let e=new Nh;return e.init(t),e}if(t.type==="Room"){let e=new Rh;return e.init(t),e}if(t.type==="ShadeMeshEnergyPropertiesAbridged"){let e=new ny;return e.init(t),e}if(t.type==="ShadeMeshPropertiesAbridged"){let e=new oy;return e.init(t),e}if(t.type==="ShadeMesh"){let e=new sy;return e.init(t),e}if(t.type==="WallModifierSetAbridged"){let e=new Sr;return e.init(t),e}if(t.type==="FloorModifierSetAbridged"){let e=new br;return e.init(t),e}if(t.type==="ShadeModifierSetAbridged"){let e=new Or;return e.init(t),e}if(t.type==="GlobalModifierSet"){let e=new ci;return e.init(t),e}if(t.type==="ModifierSetAbridged"){let e=new eh;return e.init(t),e}if(t.type==="ModelRadianceProperties"){let e=new ty;return e.init(t),e}if(t.type==="ModelProperties"){let e=new ey;return e.init(t),e}if(t.type==="Model"){let e=new iy;return e.init(t),e}if(t.type==="_DOASBase"){let e=new us;return e.init(t),e}if(t.type==="_TemplateSystem"){let e=new ds;return e.init(t),e}if(t.type==="_HeatCoolBase"){let e=new ys;return e.init(t),e}if(t.type==="_FaceSubSet"){let e=new Nu;return e.init(t),e}if(t.type==="BaseModifierSet"){let e=new ay;return e.init(t),e}if(t.type==="_AllAirBase"){let e=new sp;return e.init(t),e}if(t.type==="SimulationControl"){let e=new wy;return e.init(t),e}if(t.type==="SimulationOutput"){let e=new Oy;return e.init(t),e}if(t.type==="DaylightSavingTime"){let e=new kh;return e.init(t),e}if(t.type==="RunPeriod"){let e=new zh;return e.init(t),e}if(t.type==="ShadowCalculation"){let e=new by;return e.init(t),e}if(t.type==="DryBulbCondition"){let e=new hy;return e.init(t),e}if(t.type==="HumidityCondition"){let e=new uy;return e.init(t),e}if(t.type==="WindCondition"){let e=new yy;return e.init(t),e}if(t.type==="ASHRAEClearSky"){let e=new Tu;return e.init(t),e}if(t.type==="_SkyCondition"){let e=new hh;return e.init(t),e}if(t.type==="ASHRAETau"){let e=new ku;return e.init(t),e}if(t.type==="DesignDay"){let e=new lP;return e.init(t),e}if(t.type==="SizingParameter"){let e=new jy;return e.init(t),e}if(t.type==="SimulationParameter"){let e=new UP;return e.init(t),e}if(t.type==="ChangedObject"){let e=new RA;return e.init(t),e}if(t.type==="DeletedObject"){let e=new eP;return e.init(t),e}if(t.type==="AddedObject"){let e=new h2;return e.init(t),e}if(t.type==="ComparisonReport"){let e=new HA;return e.init(t),e}if(t.type==="_DiffObjectBase"){let e=new gS;return e.init(t),e}if(t.type==="ChangedInstruction"){let e=new JA;return e.init(t),e}if(t.type==="DeletedInstruction"){let e=new QA;return e.init(t),e}if(t.type==="AddedInstruction"){let e=new p2;return e.init(t),e}if(t.type==="SyncInstructions"){let e=new IP;return e.init(t),e}if(t.type==="Location"){let e=new my;return e.init(t),e}if(t.type==="ProjectInfo"){let e=new OP;return e.init(t),e}throw new Error("The abstract class '_OpenAPIGenBaseModel' cannot be instantiated.")}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t}}kP([l(),p()],w.prototype,"type",2);var Oc=(n=>(n.Ocean="Ocean",n.Country="Country",n.Suburbs="Suburbs",n.Urban="Urban",n.City="City",n))(Oc||{}),zP=Object.defineProperty,LP=Object.getOwnPropertyDescriptor,Oe=(n,t,e,i)=>{for(var r=i>1?void 0:i?LP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&zP(t,e,r),r};const Qt=class $v extends w{constructor(){super(),a(this,"type"),a(this,"output"),a(this,"run_period"),a(this,"timestep"),a(this,"simulation_control"),a(this,"shadow_calculation"),a(this,"sizing_parameter"),a(this,"north_angle"),a(this,"terrain_type"),this.type="SimulationParameter",this.timestep=6,this.north_angle=0,this.terrain_type=Oc.City}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"SimulationParameter",this.output=t.output,this.run_period=t.run_period,this.timestep=t.timestep!==void 0?t.timestep:6,this.simulation_control=t.simulation_control,this.shadow_calculation=t.shadow_calculation,this.sizing_parameter=t.sizing_parameter,this.north_angle=t.north_angle!==void 0?t.north_angle:0,this.terrain_type=t.terrain_type!==void 0?t.terrain_type:Oc.City)}static fromJS(t){t=typeof t=="object"?t:{};let e=new $v;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t.output=this.output,t.run_period=this.run_period,t.timestep=this.timestep,t.simulation_control=this.simulation_control,t.shadow_calculation=this.shadow_calculation,t.sizing_parameter=this.sizing_parameter,t.north_angle=this.north_angle,t.terrain_type=this.terrain_type,super.toJSON(t),t}async validate(){const t=await _(this);if(t.length>0){const e=t.map(i=>Object.values(i.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${e}`)}return!0}};Oe([l(),p()],Qt.prototype,"type",2),Oe([d(Oy),c(),p()],Qt.prototype,"output",2),Oe([d(zh),c(),p()],Qt.prototype,"run_period",2),Oe([Ht(),p()],Qt.prototype,"timestep",2),Oe([d(wy),c(),p()],Qt.prototype,"simulation_control",2),Oe([d(by),c(),p()],Qt.prototype,"shadow_calculation",2),Oe([d(jy),c(),p()],Qt.prototype,"sizing_parameter",2),Oe([h(),p()],Qt.prototype,"north_angle",2),Oe([b(Oc),c(),p()],Qt.prototype,"terrain_type",2);let UP=Qt;var Cy=(n=>(n.Core="Core",n.Radiance="Radiance",n.Energy="Energy",n))(Cy||{}),Ey=(n=>(n.Shade="Shade",n.Aperture="Aperture",n.Door="Door",n.SubFace="SubFace",n.Face="Face",n.Room="Room",n.SensorGrid="SensorGrid",n.View="View",n.Modifier="Modifier",n.ModifierSet="ModifierSet",n.Material="Material",n.Construction="Construction",n.ConstructionSet="ConstructionSet",n.ScheduleTypeLimit="ScheduleTypeLimit",n.Schedule="Schedule",n.ProgramType="ProgramType",n.HVAC="HVAC",n.SHW="SHW",n.RoofSpecification="RoofSpecification",n.Room2D="Room2D",n.Story="Story",n.Building="Building",n))(Ey||{}),ZP=Object.defineProperty,YP=Object.getOwnPropertyDescriptor,Vt=(n,t,e,i)=>{for(var r=i>1?void 0:i?YP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&ZP(t,e,r),r};const Wt=class Hv{constructor(){a(this,"code"),a(this,"error_type"),a(this,"extension_type"),a(this,"element_type"),a(this,"element_id"),a(this,"message"),a(this,"type"),a(this,"element_name"),a(this,"parents"),a(this,"top_parents"),a(this,"helper_geometry"),this.type="ValidationError"}init(t){t&&(this.code=t.code,this.error_type=t.error_type,this.extension_type=t.extension_type,this.element_type=t.element_type,this.element_id=t.element_id,this.message=t.message,this.type=t.type!==void 0?t.type:"ValidationError",this.element_name=t.element_name,this.parents=t.parents,this.top_parents=t.top_parents,this.helper_geometry=t.helper_geometry)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Hv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.code=this.code,t.error_type=this.error_type,t.extension_type=this.extension_type,t.element_type=this.element_type,t.element_id=this.element_id,t.message=this.message,t.type=this.type,t.element_name=this.element_name,t.parents=this.parents,t.top_parents=this.top_parents,t.helper_geometry=this.helper_geometry,t}};Vt([l(),y()],Wt.prototype,"code",2),Vt([l(),y()],Wt.prototype,"error_type",2),Vt([b(Cy),c(),y()],Wt.prototype,"extension_type",2),Vt([b(Ey),c(),y()],Wt.prototype,"element_type",2),Vt([m(),c({each:!0}),y()],Wt.prototype,"element_id",2),Vt([l(),y()],Wt.prototype,"message",2),Vt([l(),p()],Wt.prototype,"type",2),Vt([m(),c({each:!0}),p()],Wt.prototype,"element_name",2),Vt([m(),c({each:!0}),p()],Wt.prototype,"parents",2),Vt([m(),c({each:!0}),p()],Wt.prototype,"top_parents",2),Vt([m(),c({each:!0}),p()],Wt.prototype,"helper_geometry",2);var xy=(n=>(n.Aperture="Aperture",n.Door="Door",n.Face="Face",n.Room="Room",n.Story="Story",n.Building="Building",n))(xy||{}),XP=Object.defineProperty,QP=Object.getOwnPropertyDescriptor,Sc=(n,t,e,i)=>{for(var r=i>1?void 0:i?QP(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&XP(t,e,r),r};const jc=class Fv{constructor(){a(this,"parent_type"),a(this,"id"),a(this,"type"),a(this,"name"),this.type="ValidationParent"}init(t){t&&(this.parent_type=t.parent_type,this.id=t.id,this.type=t.type!==void 0?t.type:"ValidationParent",this.name=t.name)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Fv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.parent_type=this.parent_type,t.id=this.id,t.type=this.type,t.name=this.name,t}};Sc([b(xy),c(),y()],jc.prototype,"parent_type",2),Sc([l(),y()],jc.prototype,"id",2),Sc([l(),p()],jc.prototype,"type",2),Sc([l(),p()],jc.prototype,"name",2);var KP=Object.defineProperty,t1=Object.getOwnPropertyDescriptor,Hr=(n,t,e,i)=>{for(var r=i>1?void 0:i?t1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&KP(t,e,r),r};const Fr=class Iv{constructor(){a(this,"app_version"),a(this,"schema_version"),a(this,"valid"),a(this,"type"),a(this,"app_name"),a(this,"fatal_error"),a(this,"errors"),this.type="ValidationReport",this.app_name="Honeybee",this.fatal_error=""}init(t){t&&(this.app_version=t.app_version,this.schema_version=t.schema_version,this.valid=t.valid,this.type=t.type!==void 0?t.type:"ValidationReport",this.app_name=t.app_name!==void 0?t.app_name:"Honeybee",this.fatal_error=t.fatal_error!==void 0?t.fatal_error:"",this.errors=t.errors)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Iv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.app_version=this.app_version,t.schema_version=this.schema_version,t.valid=this.valid,t.type=this.type,t.app_name=this.app_name,t.fatal_error=this.fatal_error,t.errors=this.errors,t}};Hr([l(),y()],Fr.prototype,"app_version",2),Hr([l(),y()],Fr.prototype,"schema_version",2),Hr([D(),y()],Fr.prototype,"valid",2),Hr([l(),p()],Fr.prototype,"type",2),Hr([l(),p()],Fr.prototype,"app_name",2),Hr([l(),p()],Fr.prototype,"fatal_error",2),Hr([m(),c({each:!0}),p()],Fr.prototype,"errors",2);var e1=Object.defineProperty,i1=Object.getOwnPropertyDescriptor,Ac=(n,t,e,i)=>{for(var r=i>1?void 0:i?i1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&e1(t,e,r),r};const Pc=class qv{constructor(){a(this,"x"),a(this,"y"),a(this,"z"),a(this,"type"),this.type="Point3D"}init(t){t&&(this.x=t.x,this.y=t.y,this.z=t.z,this.type=t.type!==void 0?t.type:"Point3D")}static fromJS(t){t=typeof t=="object"?t:{};let e=new qv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.x=this.x,t.y=this.y,t.z=this.z,t.type=this.type,t}};Ac([h(),y()],Pc.prototype,"x",2),Ac([h(),y()],Pc.prototype,"y",2),Ac([h(),y()],Pc.prototype,"z",2),Ac([l(),p()],Pc.prototype,"type",2);var r1=Object.defineProperty,n1=Object.getOwnPropertyDescriptor,r_=(n,t,e,i)=>{for(var r=i>1?void 0:i?n1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&r1(t,e,r),r};const n_=class Tv{constructor(){a(this,"p"),a(this,"v"),a(this,"type"),this.type="LineSegment3D"}init(t){t&&(this.p=t.p,this.v=t.v,this.type=t.type!==void 0?t.type:"LineSegment3D")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Tv;return e.init(t),e}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.p=this.p,t.v=this.v,t.type=this.type,t}};r_([m(),c({each:!0}),y()],n_.prototype,"p",2),r_([m(),c({each:!0}),y()],n_.prototype,"v",2),r_([l(),p()],n_.prototype,"type",2);var o1=Object.defineProperty,s1=Object.getOwnPropertyDescriptor,Gy=(n,t,e,i)=>{for(var r=i>1?void 0:i?s1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&o1(t,e,r),r};const o_=class kv extends Cc{constructor(){super();u(this,"louver_count");u(this,"type");this.type="LouversByCount"}init(e){super.init(e),e&&(this.louver_count=e.louver_count,this.type=e.type!==void 0?e.type:"LouversByCount")}static fromJS(e){e=typeof e=="object"?e:{};let i=new kv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.louver_count=this.louver_count,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Gy([il(),W()],o_.prototype,"louver_count",2),Gy([x(),f()],o_.prototype,"type",2);let s_=o_;var a1=Object.defineProperty,p1=Object.getOwnPropertyDescriptor,Dy=(n,t,e,i)=>{for(var r=i>1?void 0:i?p1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&a1(t,e,r),r};const a_=class zv extends Cc{constructor(){super();u(this,"distance");u(this,"type");this.type="LouversByDistance"}init(e){super.init(e),e&&(this.distance=e.distance,this.type=e.type!==void 0?e.type:"LouversByDistance")}static fromJS(e){e=typeof e=="object"?e:{};let i=new zv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.distance=this.distance,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Dy([$(),W()],a_.prototype,"distance",2),Dy([x(),f()],a_.prototype,"type",2);let p_=a_;var c1=Object.defineProperty,l1=Object.getOwnPropertyDescriptor,zn=(n,t,e,i)=>{for(var r=i>1?void 0:i?l1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&c1(t,e,r),r};const Ir=class Lv extends k{constructor(){super();u(this,"depth");u(this,"offset");u(this,"angle");u(this,"contour_vector");u(this,"flip_start_side");u(this,"type");this.offset=0,this.angle=0,this.contour_vector=[0,1],this.flip_start_side=!1,this.type="_LouversBase"}init(e){super.init(e),e&&(this.depth=e.depth,this.offset=e.offset!==void 0?e.offset:0,this.angle=e.angle!==void 0?e.angle:0,this.contour_vector=e.contour_vector!==void 0?e.contour_vector:[0,1],this.flip_start_side=e.flip_start_side!==void 0?e.flip_start_side:!1,this.type=e.type!==void 0?e.type:"_LouversBase")}static fromJS(e){if(e=typeof e=="object"?e:{},e.type==="LouversByDistance"){let r=new p_;return r.init(e),r}if(e.type==="LouversByCount"){let r=new s_;return r.init(e),r}let i=new Lv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.depth=this.depth,e.offset=this.offset,e.angle=this.angle,e.contour_vector=this.contour_vector,e.flip_start_side=this.flip_start_side,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};zn([$(),W()],Ir.prototype,"depth",2),zn([$(),f()],Ir.prototype,"offset",2),zn([$(),f()],Ir.prototype,"angle",2),zn([V(),C({each:!0}),f()],Ir.prototype,"contour_vector",2),zn([Ee(),f()],Ir.prototype,"flip_start_side",2),zn([x(),f()],Ir.prototype,"type",2);let Cc=Ir;var h1=Object.defineProperty,_1=Object.getOwnPropertyDescriptor,c_=(n,t,e,i)=>{for(var r=i>1?void 0:i?_1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&h1(t,e,r),r};const Ec=class Uv extends bi{constructor(){super();u(this,"polygons");u(this,"type");u(this,"are_doors");this.type="DetailedWindows"}init(e){super.init(e),e&&(this.polygons=e.polygons,this.type=e.type!==void 0?e.type:"DetailedWindows",this.are_doors=e.are_doors)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Uv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.polygons=this.polygons,e.type=this.type,e.are_doors=this.are_doors,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};c_([V(),C({each:!0}),W()],Ec.prototype,"polygons",2),c_([x(),f()],Ec.prototype,"type",2),c_([V(),C({each:!0}),f()],Ec.prototype,"are_doors",2);let l_=Ec;var u1=Object.defineProperty,y1=Object.getOwnPropertyDescriptor,ts=(n,t,e,i)=>{for(var r=i>1?void 0:i?y1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&u1(t,e,r),r};const Ln=class Zv extends bi{constructor(){super();u(this,"origins");u(this,"widths");u(this,"heights");u(this,"type");u(this,"are_doors");this.type="RectangularWindows"}init(e){super.init(e),e&&(this.origins=e.origins,this.widths=e.widths,this.heights=e.heights,this.type=e.type!==void 0?e.type:"RectangularWindows",this.are_doors=e.are_doors)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Zv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.origins=this.origins,e.widths=this.widths,e.heights=this.heights,e.type=this.type,e.are_doors=this.are_doors,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};ts([V(),C({each:!0}),W()],Ln.prototype,"origins",2),ts([V(),C({each:!0}),W()],Ln.prototype,"widths",2),ts([V(),C({each:!0}),W()],Ln.prototype,"heights",2),ts([x(),f()],Ln.prototype,"type",2),ts([V(),C({each:!0}),f()],Ln.prototype,"are_doors",2);let h_=Ln;var d1=Object.defineProperty,f1=Object.getOwnPropertyDescriptor,Un=(n,t,e,i)=>{for(var r=i>1?void 0:i?f1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&d1(t,e,r),r};const qr=class Yv extends bi{constructor(){super();u(this,"window_ratio");u(this,"window_height");u(this,"sill_height");u(this,"horizontal_separation");u(this,"type");u(this,"vertical_separation");this.type="RepeatingWindowRatio",this.vertical_separation=0}init(e){super.init(e),e&&(this.window_ratio=e.window_ratio,this.window_height=e.window_height,this.sill_height=e.sill_height,this.horizontal_separation=e.horizontal_separation,this.type=e.type!==void 0?e.type:"RepeatingWindowRatio",this.vertical_separation=e.vertical_separation!==void 0?e.vertical_separation:0)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Yv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.window_ratio=this.window_ratio,e.window_height=this.window_height,e.sill_height=this.sill_height,e.horizontal_separation=this.horizontal_separation,e.type=this.type,e.vertical_separation=this.vertical_separation,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Un([$(),W()],qr.prototype,"window_ratio",2),Un([$(),W()],qr.prototype,"window_height",2),Un([$(),W()],qr.prototype,"sill_height",2),Un([$(),W()],qr.prototype,"horizontal_separation",2),Un([x(),f()],qr.prototype,"type",2),Un([$(),f()],qr.prototype,"vertical_separation",2);let __=qr;var m1=Object.defineProperty,v1=Object.getOwnPropertyDescriptor,u_=(n,t,e,i)=>{for(var r=i>1?void 0:i?v1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&m1(t,e,r),r};const xc=class Xv extends bi{constructor(){super();u(this,"window_area");u(this,"type");u(this,"rect_split");this.type="SimpleWindowArea",this.rect_split=!0}init(e){super.init(e),e&&(this.window_area=e.window_area,this.type=e.type!==void 0?e.type:"SimpleWindowArea",this.rect_split=e.rect_split!==void 0?e.rect_split:!0)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Xv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.window_area=this.window_area,e.type=this.type,e.rect_split=this.rect_split,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};u_([$(),W()],xc.prototype,"window_area",2),u_([x(),f()],xc.prototype,"type",2),u_([Ee(),f()],xc.prototype,"rect_split",2);let y_=xc;var g1=Object.defineProperty,b1=Object.getOwnPropertyDescriptor,d_=(n,t,e,i)=>{for(var r=i>1?void 0:i?b1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&g1(t,e,r),r};const Gc=class Qv extends bi{constructor(){super();u(this,"window_ratio");u(this,"type");u(this,"rect_split");this.type="SimpleWindowRatio",this.rect_split=!0}init(e){super.init(e),e&&(this.window_ratio=e.window_ratio,this.type=e.type!==void 0?e.type:"SimpleWindowRatio",this.rect_split=e.rect_split!==void 0?e.rect_split:!0)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Qv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.window_ratio=this.window_ratio,e.type=this.type,e.rect_split=this.rect_split,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};d_([$(),W()],Gc.prototype,"window_ratio",2),d_([x(),f()],Gc.prototype,"type",2),d_([Ee(),f()],Gc.prototype,"rect_split",2);let f_=Gc;var w1=Object.defineProperty,O1=Object.getOwnPropertyDescriptor,Dc=(n,t,e,i)=>{for(var r=i>1?void 0:i?O1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&w1(t,e,r),r};const es=class Kv extends bi{constructor(){super();u(this,"width");u(this,"height");u(this,"type");u(this,"sill_height");this.type="SingleWindow",this.sill_height=1}init(e){super.init(e),e&&(this.width=e.width,this.height=e.height,this.type=e.type!==void 0?e.type:"SingleWindow",this.sill_height=e.sill_height!==void 0?e.sill_height:1)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Kv;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.width=this.width,e.height=this.height,e.type=this.type,e.sill_height=this.sill_height,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Dc([$(),W()],es.prototype,"width",2),Dc([$(),W()],es.prototype,"height",2),Dc([x(),f()],es.prototype,"type",2),Dc([$(),f()],es.prototype,"sill_height",2);let m_=es;var S1=Object.defineProperty,j1=Object.getOwnPropertyDescriptor,Jy=(n,t,e,i)=>{for(var r=i>1?void 0:i?j1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&S1(t,e,r),r};const v_=class tg extends k{constructor(){super();u(this,"user_data");u(this,"type");this.type="_WindowParameterBase"}init(e){super.init(e),e&&(this.user_data=e.user_data,this.type=e.type!==void 0?e.type:"_WindowParameterBase")}static fromJS(e){if(e=typeof e=="object"?e:{},e.type==="SimpleWindowArea"){let r=new y_;return r.init(e),r}if(e.type==="RectangularWindows"){let r=new h_;return r.init(e),r}if(e.type==="SingleWindow"){let r=new m_;return r.init(e),r}if(e.type==="SimpleWindowRatio"){let r=new f_;return r.init(e),r}if(e.type==="RepeatingWindowRatio"){let r=new __;return r.init(e),r}if(e.type==="DetailedWindows"){let r=new l_;return r.init(e),r}let i=new tg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.user_data=this.user_data,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Jy([f()],v_.prototype,"user_data",2),Jy([x(),f()],v_.prototype,"type",2);let bi=v_;var A1=Object.defineProperty,P1=Object.getOwnPropertyDescriptor,My=(n,t,e,i)=>{for(var r=i>1?void 0:i?P1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&A1(t,e,r),r};const g_=class eg extends k{constructor(){super();u(this,"type");u(this,"construction_set");this.type="BuildingEnergyPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"BuildingEnergyPropertiesAbridged",this.construction_set=e.construction_set)}static fromJS(e){e=typeof e=="object"?e:{};let i=new eg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.construction_set=this.construction_set,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};My([x(),f()],g_.prototype,"type",2),My([x(),f()],g_.prototype,"construction_set",2);let b_=g_;var C1=Object.defineProperty,E1=Object.getOwnPropertyDescriptor,Ny=(n,t,e,i)=>{for(var r=i>1?void 0:i?E1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&C1(t,e,r),r};const w_=class ig extends k{constructor(){super();u(this,"type");u(this,"modifier_set");this.type="BuildingRadiancePropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"BuildingRadiancePropertiesAbridged",this.modifier_set=e.modifier_set)}static fromJS(e){e=typeof e=="object"?e:{};let i=new ig;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.modifier_set=this.modifier_set,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Ny([x(),f()],w_.prototype,"type",2),Ny([x(),f()],w_.prototype,"modifier_set",2);let O_=w_;var x1=Object.defineProperty,G1=Object.getOwnPropertyDescriptor,S_=(n,t,e,i)=>{for(var r=i>1?void 0:i?G1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&x1(t,e,r),r};const Jc=class rg extends k{constructor(){super();u(this,"type");u(this,"energy");u(this,"radiance");this.type="BuildingPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"BuildingPropertiesAbridged",this.energy=e.energy,this.radiance=e.radiance)}static fromJS(e){e=typeof e=="object"?e:{};let i=new rg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};S_([x(),f()],Jc.prototype,"type",2),S_([L(b_),C(),f()],Jc.prototype,"energy",2),S_([L(O_),C(),f()],Jc.prototype,"radiance",2);let j_=Jc;var D1=Object.defineProperty,J1=Object.getOwnPropertyDescriptor,Ry=(n,t,e,i)=>{for(var r=i>1?void 0:i?J1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&D1(t,e,r),r};const A_=class ng extends k{constructor(){super();u(this,"geometry");u(this,"type");this.type="RoofSpecification"}init(e){super.init(e),e&&(this.geometry=e.geometry,this.type=e.type!==void 0?e.type:"RoofSpecification")}static fromJS(e){e=typeof e=="object"?e:{};let i=new ng;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.geometry=this.geometry,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Ry([V(),C({each:!0}),W()],A_.prototype,"geometry",2),Ry([x(),f()],A_.prototype,"type",2);let Mc=A_;var M1=Object.defineProperty,N1=Object.getOwnPropertyDescriptor,is=(n,t,e,i)=>{for(var r=i>1?void 0:i?N1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&M1(t,e,r),r};const Zn=class og extends ht{constructor(){super();u(this,"properties");u(this,"type");u(this,"unique_stories");u(this,"room_3ds");u(this,"roof");this.type="Building"}init(e){super.init(e),e&&(this.properties=e.properties,this.type=e.type!==void 0?e.type:"Building",this.unique_stories=e.unique_stories,this.room_3ds=e.room_3ds,this.roof=e.roof)}static fromJS(e){e=typeof e=="object"?e:{};let i=new og;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.properties=this.properties,e.type=this.type,e.unique_stories=this.unique_stories,e.room_3ds=this.room_3ds,e.roof=this.roof,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};is([L(j_),C(),W()],Zn.prototype,"properties",2),is([x(),f()],Zn.prototype,"type",2),is([V(),C({each:!0}),f()],Zn.prototype,"unique_stories",2),is([V(),C({each:!0}),f()],Zn.prototype,"room_3ds",2),is([L(Mc),C(),f()],Zn.prototype,"roof",2);let Vy=Zn;var R1=Object.defineProperty,V1=Object.getOwnPropertyDescriptor,P_=(n,t,e,i)=>{for(var r=i>1?void 0:i?V1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&R1(t,e,r),r};const Nc=class sg extends k{constructor(){super();u(this,"type");u(this,"construction");u(this,"transmittance_schedule");this.type="ContextShadeEnergyPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ContextShadeEnergyPropertiesAbridged",this.construction=e.construction,this.transmittance_schedule=e.transmittance_schedule)}static fromJS(e){e=typeof e=="object"?e:{};let i=new sg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.construction=this.construction,e.transmittance_schedule=this.transmittance_schedule,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};P_([x(),f()],Nc.prototype,"type",2),P_([x(),f()],Nc.prototype,"construction",2),P_([x(),f()],Nc.prototype,"transmittance_schedule",2);let C_=Nc;var W1=Object.defineProperty,B1=Object.getOwnPropertyDescriptor,Wy=(n,t,e,i)=>{for(var r=i>1?void 0:i?B1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&W1(t,e,r),r};const E_=class ag extends k{constructor(){super();u(this,"type");u(this,"modifier");this.type="ContextShadeRadiancePropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ContextShadeRadiancePropertiesAbridged",this.modifier=e.modifier)}static fromJS(e){e=typeof e=="object"?e:{};let i=new ag;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.modifier=this.modifier,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Wy([x(),f()],E_.prototype,"type",2),Wy([x(),f()],E_.prototype,"modifier",2);let x_=E_;var $1=Object.defineProperty,H1=Object.getOwnPropertyDescriptor,G_=(n,t,e,i)=>{for(var r=i>1?void 0:i?H1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&$1(t,e,r),r};const Rc=class pg extends k{constructor(){super();u(this,"type");u(this,"energy");u(this,"radiance");this.type="ContextShadePropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ContextShadePropertiesAbridged",this.energy=e.energy,this.radiance=e.radiance)}static fromJS(e){e=typeof e=="object"?e:{};let i=new pg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};G_([x(),f()],Rc.prototype,"type",2),G_([L(C_),C(),f()],Rc.prototype,"energy",2),G_([L(x_),C(),f()],Rc.prototype,"radiance",2);let D_=Rc;var F1=Object.defineProperty,I1=Object.getOwnPropertyDescriptor,Vc=(n,t,e,i)=>{for(var r=i>1?void 0:i?I1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&F1(t,e,r),r};const rs=class cg extends ht{constructor(){super();u(this,"geometry");u(this,"properties");u(this,"type");u(this,"is_detached");this.type="ContextShade",this.is_detached=!0}init(e){super.init(e),e&&(this.geometry=e.geometry,this.properties=e.properties,this.type=e.type!==void 0?e.type:"ContextShade",this.is_detached=e.is_detached!==void 0?e.is_detached:!0)}static fromJS(e){e=typeof e=="object"?e:{};let i=new cg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.geometry=this.geometry,e.properties=this.properties,e.type=this.type,e.is_detached=this.is_detached,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Vc([V(),C({each:!0}),W()],rs.prototype,"geometry",2),Vc([L(D_),C(),W()],rs.prototype,"properties",2),Vc([x(),f()],rs.prototype,"type",2),Vc([Ee(),f()],rs.prototype,"is_detached",2);let By=rs;var q1=Object.defineProperty,T1=Object.getOwnPropertyDescriptor,J_=(n,t,e,i)=>{for(var r=i>1?void 0:i?T1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&q1(t,e,r),r};const Wc=class lg extends k{constructor(){super();u(this,"polygons");u(this,"type");u(this,"are_doors");this.type="DetailedSkylights"}init(e){super.init(e),e&&(this.polygons=e.polygons,this.type=e.type!==void 0?e.type:"DetailedSkylights",this.are_doors=e.are_doors)}static fromJS(e){e=typeof e=="object"?e:{};let i=new lg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.polygons=this.polygons,e.type=this.type,e.are_doors=this.are_doors,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};J_([V(),C({each:!0}),W()],Wc.prototype,"polygons",2),J_([x(),f()],Wc.prototype,"type",2),J_([V(),C({each:!0}),f()],Wc.prototype,"are_doors",2);let $y=Wc;var ns=(n=>(n.Wall="Wall",n.Roof="Roof",n.Floor="Floor",n.All="All",n))(ns||{}),k1=Object.defineProperty,z1=Object.getOwnPropertyDescriptor,Bc=(n,t,e,i)=>{for(var r=i>1?void 0:i?z1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&k1(t,e,r),r};const os=class hg extends ps{constructor(){super();u(this,"type");u(this,"offset");u(this,"face_type");u(this,"punched_geometry");this.type="ExteriorFaceGridParameter",this.offset=.1,this.face_type=ns.Wall,this.punched_geometry=!1}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ExteriorFaceGridParameter",this.offset=e.offset!==void 0?e.offset:.1,this.face_type=e.face_type!==void 0?e.face_type:ns.Wall,this.punched_geometry=e.punched_geometry!==void 0?e.punched_geometry:!1)}static fromJS(e){e=typeof e=="object"?e:{};let i=new hg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.offset=this.offset,e.face_type=this.face_type,e.punched_geometry=this.punched_geometry,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Bc([x(),f()],os.prototype,"type",2),Bc([$(),f()],os.prototype,"offset",2),Bc([el(ns),C(),f()],os.prototype,"face_type",2),Bc([Ee(),f()],os.prototype,"punched_geometry",2);let M_=os;var L1=Object.defineProperty,U1=Object.getOwnPropertyDescriptor,Hy=(n,t,e,i)=>{for(var r=i>1?void 0:i?U1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&L1(t,e,r),r};const N_=class _g extends k{constructor(){super();u(this,"depth");u(this,"type");this.type="ExtrudedBorder"}init(e){super.init(e),e&&(this.depth=e.depth,this.type=e.type!==void 0?e.type:"ExtrudedBorder")}static fromJS(e){e=typeof e=="object"?e:{};let i=new _g;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.depth=this.depth,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Hy([$(),W()],N_.prototype,"depth",2),Hy([x(),f()],N_.prototype,"type",2);let Fy=N_;var Z1=Object.defineProperty,Y1=Object.getOwnPropertyDescriptor,R_=(n,t,e,i)=>{for(var r=i>1?void 0:i?Y1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&Z1(t,e,r),r};const $c=class ug extends k{constructor(){super();u(this,"skylight_area");u(this,"type");u(this,"spacing");this.type="GriddedSkylightArea",this.spacing=new R}init(e){super.init(e),e&&(this.skylight_area=e.skylight_area,this.type=e.type!==void 0?e.type:"GriddedSkylightArea",this.spacing=e.spacing!==void 0?e.spacing:new R)}static fromJS(e){e=typeof e=="object"?e:{};let i=new ug;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.skylight_area=this.skylight_area,e.type=this.type,e.spacing=this.spacing,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};R_([$(),W()],$c.prototype,"skylight_area",2),R_([x(),f()],$c.prototype,"type",2),R_([f()],$c.prototype,"spacing",2);let Iy=$c;var X1=Object.defineProperty,Q1=Object.getOwnPropertyDescriptor,V_=(n,t,e,i)=>{for(var r=i>1?void 0:i?Q1(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&X1(t,e,r),r};const Hc=class yg extends k{constructor(){super();u(this,"skylight_ratio");u(this,"type");u(this,"spacing");this.type="GriddedSkylightRatio",this.spacing=new R}init(e){super.init(e),e&&(this.skylight_ratio=e.skylight_ratio,this.type=e.type!==void 0?e.type:"GriddedSkylightRatio",this.spacing=e.spacing!==void 0?e.spacing:new R)}static fromJS(e){e=typeof e=="object"?e:{};let i=new yg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.skylight_ratio=this.skylight_ratio,e.type=this.type,e.spacing=this.spacing,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};V_([$(),W()],Hc.prototype,"skylight_ratio",2),V_([x(),f()],Hc.prototype,"type",2),V_([f()],Hc.prototype,"spacing",2);let qy=Hc;var K1=Object.defineProperty,tC=Object.getOwnPropertyDescriptor,Kt=(n,t,e,i)=>{for(var r=i>1?void 0:i?tC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&K1(t,e,r),r};const Bt=class dg extends k{constructor(){super();u(this,"type");u(this,"global_construction_set");u(this,"construction_sets");u(this,"constructions");u(this,"materials");u(this,"hvacs");u(this,"shws");u(this,"program_types");u(this,"schedules");u(this,"schedule_type_limits");this.type="ModelEnergyProperties",this.global_construction_set=ai.fromJS({type:"GlobalConstructionSet",materials:[{identifier:"Generic Roof Membrane",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.01,conductivity:.16,density:1120,specific_heat:1460,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic Acoustic Tile",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.02,conductivity:.06,density:368,specific_heat:590,thermal_absorptance:.9,solar_absorptance:.2,visible_absorptance:.2},{identifier:"Generic 25mm Wood",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0254,conductivity:.15,density:608,specific_heat:1630,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic HW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.2,conductivity:1.95,density:2240,specific_heat:900,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"},{identifier:"Generic Gypsum Board",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0127,conductivity:.16,density:800,specific_heat:1090,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic Wall Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.667,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Ceiling Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.556,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Brick",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.9,density:1920,specific_heat:790,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic 50mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.05,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Low-e Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.45,solar_reflectance:.36,solar_reflectance_back:.36,visible_transmittance:.71,visible_reflectance:.21,visible_reflectance_back:.21,infrared_transmittance:0,emissivity:.84,emissivity_back:.047,conductivity:1,dirt_correction:1,solar_diffusing:!1},{identifier:"Generic Painted Metal",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.0015,conductivity:45,density:7690,specific_heat:410,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic LW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.53,density:1280,specific_heat:840,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic 25mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.025,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Clear Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.77,solar_reflectance:.07,solar_reflectance_back:.07,visible_transmittance:.88,visible_reflectance:.08,visible_reflectance_back:.08,infrared_transmittance:0,emissivity:.84,emissivity_back:.84,conductivity:1,dirt_correction:1,solar_diffusing:!1}],constructions:[{identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]},{identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null},{identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1},{identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1},{identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Exposed Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]},{identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]},{identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]},{identifier:"Generic Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Exterior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Underground Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"},{identifier:"Generic Underground Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Double Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],frame:null},{identifier:"Generic Exterior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]}],wall_set:{interior_construction:"Generic Interior Wall",exterior_construction:"Generic Exterior Wall",ground_construction:"Generic Underground Wall",type:"WallConstructionSetAbridged"},floor_set:{interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"},roof_ceiling_set:{interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"},aperture_set:{type:"ApertureConstructionSetAbridged",interior_construction:"Generic Single Pane",window_construction:"Generic Double Pane",skylight_construction:"Generic Double Pane",operable_construction:"Generic Double Pane"},door_set:{type:"DoorConstructionSetAbridged",interior_construction:"Generic Interior Door",exterior_construction:"Generic Exterior Door",overhead_construction:"Generic Exterior Door",exterior_glass_construction:"Generic Double Pane",interior_glass_construction:"Generic Single Pane"},shade_construction:"Generic Shade",context_construction:"Generic Context",air_boundary_construction:"Generic Air Boundary"})}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ModelEnergyProperties",this.global_construction_set=e.global_construction_set!==void 0?e.global_construction_set:ai.fromJS({type:"GlobalConstructionSet",materials:[{identifier:"Generic Roof Membrane",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.01,conductivity:.16,density:1120,specific_heat:1460,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic Acoustic Tile",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.02,conductivity:.06,density:368,specific_heat:590,thermal_absorptance:.9,solar_absorptance:.2,visible_absorptance:.2},{identifier:"Generic 25mm Wood",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0254,conductivity:.15,density:608,specific_heat:1630,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic HW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.2,conductivity:1.95,density:2240,specific_heat:900,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"},{identifier:"Generic Gypsum Board",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumSmooth",thickness:.0127,conductivity:.16,density:800,specific_heat:1090,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic Wall Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.667,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Ceiling Air Gap",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.1,conductivity:.556,density:1.28,specific_heat:1e3,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Brick",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.9,density:1920,specific_heat:790,thermal_absorptance:.9,solar_absorptance:.65,visible_absorptance:.65},{identifier:"Generic 50mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.05,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Low-e Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.45,solar_reflectance:.36,solar_reflectance_back:.36,visible_transmittance:.71,visible_reflectance:.21,visible_reflectance_back:.21,infrared_transmittance:0,emissivity:.84,emissivity_back:.047,conductivity:1,dirt_correction:1,solar_diffusing:!1},{identifier:"Generic Painted Metal",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"Smooth",thickness:.0015,conductivity:45,density:7690,specific_heat:410,thermal_absorptance:.9,solar_absorptance:.5,visible_absorptance:.5},{identifier:"Generic LW Concrete",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.1,conductivity:.53,density:1280,specific_heat:840,thermal_absorptance:.9,solar_absorptance:.8,visible_absorptance:.8},{identifier:"Generic 25mm Insulation",display_name:null,user_data:null,type:"EnergyMaterial",roughness:"MediumRough",thickness:.025,conductivity:.03,density:43,specific_heat:1210,thermal_absorptance:.9,solar_absorptance:.7,visible_absorptance:.7},{identifier:"Generic Clear Glass",display_name:null,user_data:null,type:"EnergyWindowMaterialGlazing",thickness:.006,solar_transmittance:.77,solar_reflectance:.07,solar_reflectance_back:.07,visible_transmittance:.88,visible_reflectance:.08,visible_reflectance_back:.08,infrared_transmittance:0,emissivity:.84,emissivity_back:.84,conductivity:1,dirt_correction:1,solar_diffusing:!1}],constructions:[{identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]},{identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null},{identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1},{identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1},{identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Exposed Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic Ceiling Air Gap","Generic 50mm Insulation","Generic LW Concrete"]},{identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]},{identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]},{identifier:"Generic Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Roof Membrane","Generic 50mm Insulation","Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Exterior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Brick","Generic LW Concrete","Generic 50mm Insulation","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Underground Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Wall Air Gap","Generic Gypsum Board"]},{identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"},{identifier:"Generic Underground Roof",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]},{identifier:"Generic Double Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Low-e Glass","Generic Window Air Gap","Generic Clear Glass"],frame:null},{identifier:"Generic Exterior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Painted Metal","Generic 25mm Insulation","Generic Painted Metal"]}],wall_set:{interior_construction:"Generic Interior Wall",exterior_construction:"Generic Exterior Wall",ground_construction:"Generic Underground Wall",type:"WallConstructionSetAbridged"},floor_set:{interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"},roof_ceiling_set:{interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"},aperture_set:{type:"ApertureConstructionSetAbridged",interior_construction:"Generic Single Pane",window_construction:"Generic Double Pane",skylight_construction:"Generic Double Pane",operable_construction:"Generic Double Pane"},door_set:{type:"DoorConstructionSetAbridged",interior_construction:"Generic Interior Door",exterior_construction:"Generic Exterior Door",overhead_construction:"Generic Exterior Door",exterior_glass_construction:"Generic Double Pane",interior_glass_construction:"Generic Single Pane"},shade_construction:"Generic Shade",context_construction:"Generic Context",air_boundary_construction:"Generic Air Boundary"}),this.construction_sets=e.construction_sets,this.constructions=e.constructions,this.materials=e.materials,this.hvacs=e.hvacs,this.shws=e.shws,this.program_types=e.program_types,this.schedules=e.schedules,this.schedule_type_limits=e.schedule_type_limits)}static fromJS(e){e=typeof e=="object"?e:{};let i=new dg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.global_construction_set=this.global_construction_set,e.construction_sets=this.construction_sets,e.constructions=this.constructions,e.materials=this.materials,e.hvacs=this.hvacs,e.shws=this.shws,e.program_types=this.program_types,e.schedules=this.schedules,e.schedule_type_limits=this.schedule_type_limits,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Kt([x(),f()],Bt.prototype,"type",2),Kt([L(ai),C(),f()],Bt.prototype,"global_construction_set",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"construction_sets",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"constructions",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"materials",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"hvacs",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"shws",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"program_types",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"schedules",2),Kt([V(),C({each:!0}),f()],Bt.prototype,"schedule_type_limits",2);let W_=Bt;var eC=Object.defineProperty,iC=Object.getOwnPropertyDescriptor,Fc=(n,t,e,i)=>{for(var r=i>1?void 0:i?iC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&eC(t,e,r),r};const ss=class fg extends k{constructor(){super();u(this,"type");u(this,"global_modifier_set");u(this,"modifier_sets");u(this,"modifiers");this.type="ModelRadianceProperties",this.global_modifier_set=ci.fromJS({type:"GlobalModifierSet",modifiers:[{identifier:"generic_floor_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_wall_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_ceiling_0.80",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.8,g_reflectance:.8,b_reflectance:.8,specularity:0,roughness:0},{identifier:"generic_opaque_door_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_interior_shade_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_exterior_shade_0.35",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.35,g_reflectance:.35,b_reflectance:.35,specularity:0,roughness:0},{identifier:"generic_context_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_interior_window_vis_0.88",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.9584154328610596,g_transmissivity:.9584154328610596,b_transmissivity:.9584154328610596,refraction_index:null},{identifier:"generic_exterior_window_vis_0.64",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.6975761815384331,g_transmissivity:.6975761815384331,b_transmissivity:.6975761815384331,refraction_index:null},{identifier:"air_boundary",display_name:null,type:"Trans",modifier:null,dependencies:[],r_reflectance:1,g_reflectance:1,b_reflectance:1,specularity:0,roughness:0,transmitted_diff:1,transmitted_spec:1}],wall_set:{exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"},floor_set:{exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"},roof_ceiling_set:{exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"},aperture_set:{type:"ApertureModifierSetAbridged",window_modifier:"generic_exterior_window_vis_0.64",interior_modifier:"generic_interior_window_vis_0.88",skylight_modifier:"generic_exterior_window_vis_0.64",operable_modifier:"generic_exterior_window_vis_0.64"},door_set:{exterior_modifier:"generic_opaque_door_0.50",interior_modifier:"generic_opaque_door_0.50",type:"DoorModifierSetAbridged",interior_glass_modifier:"generic_interior_window_vis_0.88",exterior_glass_modifier:"generic_exterior_window_vis_0.64",overhead_modifier:"generic_opaque_door_0.50"},shade_set:{exterior_modifier:"generic_exterior_shade_0.35",interior_modifier:"generic_interior_shade_0.50",type:"ShadeModifierSetAbridged"},air_boundary_modifier:"air_boundary",context_modifier:"generic_context_0.20"})}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ModelRadianceProperties",this.global_modifier_set=e.global_modifier_set!==void 0?e.global_modifier_set:ci.fromJS({type:"GlobalModifierSet",modifiers:[{identifier:"generic_floor_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_wall_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_ceiling_0.80",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.8,g_reflectance:.8,b_reflectance:.8,specularity:0,roughness:0},{identifier:"generic_opaque_door_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_interior_shade_0.50",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.5,g_reflectance:.5,b_reflectance:.5,specularity:0,roughness:0},{identifier:"generic_exterior_shade_0.35",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.35,g_reflectance:.35,b_reflectance:.35,specularity:0,roughness:0},{identifier:"generic_context_0.20",display_name:null,type:"Plastic",modifier:null,dependencies:[],r_reflectance:.2,g_reflectance:.2,b_reflectance:.2,specularity:0,roughness:0},{identifier:"generic_interior_window_vis_0.88",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.9584154328610596,g_transmissivity:.9584154328610596,b_transmissivity:.9584154328610596,refraction_index:null},{identifier:"generic_exterior_window_vis_0.64",display_name:null,type:"Glass",modifier:null,dependencies:[],r_transmissivity:.6975761815384331,g_transmissivity:.6975761815384331,b_transmissivity:.6975761815384331,refraction_index:null},{identifier:"air_boundary",display_name:null,type:"Trans",modifier:null,dependencies:[],r_reflectance:1,g_reflectance:1,b_reflectance:1,specularity:0,roughness:0,transmitted_diff:1,transmitted_spec:1}],wall_set:{exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"},floor_set:{exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"},roof_ceiling_set:{exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"},aperture_set:{type:"ApertureModifierSetAbridged",window_modifier:"generic_exterior_window_vis_0.64",interior_modifier:"generic_interior_window_vis_0.88",skylight_modifier:"generic_exterior_window_vis_0.64",operable_modifier:"generic_exterior_window_vis_0.64"},door_set:{exterior_modifier:"generic_opaque_door_0.50",interior_modifier:"generic_opaque_door_0.50",type:"DoorModifierSetAbridged",interior_glass_modifier:"generic_interior_window_vis_0.88",exterior_glass_modifier:"generic_exterior_window_vis_0.64",overhead_modifier:"generic_opaque_door_0.50"},shade_set:{exterior_modifier:"generic_exterior_shade_0.35",interior_modifier:"generic_interior_shade_0.50",type:"ShadeModifierSetAbridged"},air_boundary_modifier:"air_boundary",context_modifier:"generic_context_0.20"}),this.modifier_sets=e.modifier_sets,this.modifiers=e.modifiers)}static fromJS(e){e=typeof e=="object"?e:{};let i=new fg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.global_modifier_set=this.global_modifier_set,e.modifier_sets=this.modifier_sets,e.modifiers=this.modifiers,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Fc([x(),f()],ss.prototype,"type",2),Fc([L(ci),C(),f()],ss.prototype,"global_modifier_set",2),Fc([V(),C({each:!0}),f()],ss.prototype,"modifier_sets",2),Fc([V(),C({each:!0}),f()],ss.prototype,"modifiers",2);let B_=ss;var rC=Object.defineProperty,nC=Object.getOwnPropertyDescriptor,$_=(n,t,e,i)=>{for(var r=i>1?void 0:i?nC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&rC(t,e,r),r};const Ic=class mg extends k{constructor(){super();u(this,"type");u(this,"energy");u(this,"radiance");this.type="ModelProperties"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ModelProperties",this.energy=e.energy,this.radiance=e.radiance)}static fromJS(e){e=typeof e=="object"?e:{};let i=new mg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};$_([x(),f()],Ic.prototype,"type",2),$_([L(W_),C(),f()],Ic.prototype,"energy",2),$_([L(B_),C(),f()],Ic.prototype,"radiance",2);let H_=Ic;var oC=Object.defineProperty,sC=Object.getOwnPropertyDescriptor,wi=(n,t,e,i)=>{for(var r=i>1?void 0:i?sC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&oC(t,e,r),r};const Se=class vg extends ht{constructor(){super();u(this,"properties");u(this,"type");u(this,"version");u(this,"buildings");u(this,"context_shades");u(this,"units");u(this,"tolerance");u(this,"angle_tolerance");this.type="Model",this.version="0.0.0",this.units=xr.Meters,this.tolerance=.01,this.angle_tolerance=1}init(e){super.init(e),e&&(this.properties=e.properties,this.type=e.type!==void 0?e.type:"Model",this.version=e.version!==void 0?e.version:"0.0.0",this.buildings=e.buildings,this.context_shades=e.context_shades,this.units=e.units!==void 0?e.units:xr.Meters,this.tolerance=e.tolerance!==void 0?e.tolerance:.01,this.angle_tolerance=e.angle_tolerance!==void 0?e.angle_tolerance:1)}static fromJS(e){e=typeof e=="object"?e:{};let i=new vg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.properties=this.properties,e.type=this.type,e.version=this.version,e.buildings=this.buildings,e.context_shades=this.context_shades,e.units=this.units,e.tolerance=this.tolerance,e.angle_tolerance=this.angle_tolerance,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};wi([L(H_),C(),W()],Se.prototype,"properties",2),wi([x(),f()],Se.prototype,"type",2),wi([x(),f()],Se.prototype,"version",2),wi([V(),C({each:!0}),f()],Se.prototype,"buildings",2),wi([V(),C({each:!0}),f()],Se.prototype,"context_shades",2),wi([el(xr),C(),f()],Se.prototype,"units",2),wi([$(),f()],Se.prototype,"tolerance",2),wi([$(),f()],Se.prototype,"angle_tolerance",2);let Ty=Se;var aC=Object.defineProperty,pC=Object.getOwnPropertyDescriptor,F_=(n,t,e,i)=>{for(var r=i>1?void 0:i?pC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&aC(t,e,r),r};const qc=class gg extends k{constructor(){super();u(this,"depth");u(this,"type");u(this,"angle");this.type="Overhang",this.angle=0}init(e){super.init(e),e&&(this.depth=e.depth,this.type=e.type!==void 0?e.type:"Overhang",this.angle=e.angle!==void 0?e.angle:0)}static fromJS(e){e=typeof e=="object"?e:{};let i=new gg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.depth=this.depth,e.type=this.type,e.angle=this.angle,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};F_([$(),W()],qc.prototype,"depth",2),F_([x(),f()],qc.prototype,"type",2),F_([$(),f()],qc.prototype,"angle",2);let ky=qc;var cC=Object.defineProperty,lC=Object.getOwnPropertyDescriptor,Oi=(n,t,e,i)=>{for(var r=i>1?void 0:i?lC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&cC(t,e,r),r};const je=class bg extends k{constructor(){super();u(this,"type");u(this,"construction_set");u(this,"program_type");u(this,"hvac");u(this,"shw");u(this,"window_vent_control");u(this,"window_vent_opening");u(this,"process_loads");this.type="Room2DEnergyPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"Room2DEnergyPropertiesAbridged",this.construction_set=e.construction_set,this.program_type=e.program_type,this.hvac=e.hvac,this.shw=e.shw,this.window_vent_control=e.window_vent_control,this.window_vent_opening=e.window_vent_opening,this.process_loads=e.process_loads)}static fromJS(e){e=typeof e=="object"?e:{};let i=new bg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.construction_set=this.construction_set,e.program_type=this.program_type,e.hvac=this.hvac,e.shw=this.shw,e.window_vent_control=this.window_vent_control,e.window_vent_opening=this.window_vent_opening,e.process_loads=this.process_loads,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Oi([x(),f()],je.prototype,"type",2),Oi([x(),f()],je.prototype,"construction_set",2),Oi([x(),f()],je.prototype,"program_type",2),Oi([x(),f()],je.prototype,"hvac",2),Oi([x(),f()],je.prototype,"shw",2),Oi([L(jo),C(),f()],je.prototype,"window_vent_control",2),Oi([L(Bo),C(),f()],je.prototype,"window_vent_opening",2),Oi([V(),C({each:!0}),f()],je.prototype,"process_loads",2);let I_=je;var hC=Object.defineProperty,_C=Object.getOwnPropertyDescriptor,q_=(n,t,e,i)=>{for(var r=i>1?void 0:i?_C(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&hC(t,e,r),r};const Tc=class wg extends k{constructor(){super();u(this,"type");u(this,"modifier_set");u(this,"grid_parameters");this.type="Room2DRadiancePropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"Room2DRadiancePropertiesAbridged",this.modifier_set=e.modifier_set,this.grid_parameters=e.grid_parameters)}static fromJS(e){e=typeof e=="object"?e:{};let i=new wg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.modifier_set=this.modifier_set,e.grid_parameters=this.grid_parameters,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};q_([x(),f()],Tc.prototype,"type",2),q_([x(),f()],Tc.prototype,"modifier_set",2),q_([V(),C({each:!0}),f()],Tc.prototype,"grid_parameters",2);let T_=Tc;var uC=Object.defineProperty,yC=Object.getOwnPropertyDescriptor,k_=(n,t,e,i)=>{for(var r=i>1?void 0:i?yC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&uC(t,e,r),r};const kc=class Og extends k{constructor(){super();u(this,"type");u(this,"energy");u(this,"radiance");this.type="Room2DPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"Room2DPropertiesAbridged",this.energy=e.energy,this.radiance=e.radiance)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Og;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};k_([x(),f()],kc.prototype,"type",2),k_([L(I_),C(),f()],kc.prototype,"energy",2),k_([L(T_),C(),f()],kc.prototype,"radiance",2);let z_=kc;var dC=Object.defineProperty,fC=Object.getOwnPropertyDescriptor,vt=(n,t,e,i)=>{for(var r=i>1?void 0:i?fC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&dC(t,e,r),r};const _t=class Sg extends ht{constructor(){super();u(this,"floor_boundary");u(this,"floor_height");u(this,"floor_to_ceiling_height");u(this,"properties");u(this,"type");u(this,"floor_holes");u(this,"is_ground_contact");u(this,"is_top_exposed");u(this,"boundary_conditions");u(this,"window_parameters");u(this,"shading_parameters");u(this,"air_boundaries");u(this,"skylight_parameters");this.type="Room2D",this.is_ground_contact=!1,this.is_top_exposed=!1}init(e){super.init(e),e&&(this.floor_boundary=e.floor_boundary,this.floor_height=e.floor_height,this.floor_to_ceiling_height=e.floor_to_ceiling_height,this.properties=e.properties,this.type=e.type!==void 0?e.type:"Room2D",this.floor_holes=e.floor_holes,this.is_ground_contact=e.is_ground_contact!==void 0?e.is_ground_contact:!1,this.is_top_exposed=e.is_top_exposed!==void 0?e.is_top_exposed:!1,this.boundary_conditions=e.boundary_conditions,this.window_parameters=e.window_parameters,this.shading_parameters=e.shading_parameters,this.air_boundaries=e.air_boundaries,this.skylight_parameters=e.skylight_parameters)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Sg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.floor_boundary=this.floor_boundary,e.floor_height=this.floor_height,e.floor_to_ceiling_height=this.floor_to_ceiling_height,e.properties=this.properties,e.type=this.type,e.floor_holes=this.floor_holes,e.is_ground_contact=this.is_ground_contact,e.is_top_exposed=this.is_top_exposed,e.boundary_conditions=this.boundary_conditions,e.window_parameters=this.window_parameters,e.shading_parameters=this.shading_parameters,e.air_boundaries=this.air_boundaries,e.skylight_parameters=this.skylight_parameters,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};vt([V(),C({each:!0}),W()],_t.prototype,"floor_boundary",2),vt([$(),W()],_t.prototype,"floor_height",2),vt([$(),W()],_t.prototype,"floor_to_ceiling_height",2),vt([L(z_),C(),W()],_t.prototype,"properties",2),vt([x(),f()],_t.prototype,"type",2),vt([V(),C({each:!0}),f()],_t.prototype,"floor_holes",2),vt([Ee(),f()],_t.prototype,"is_ground_contact",2),vt([Ee(),f()],_t.prototype,"is_top_exposed",2),vt([V(),C({each:!0}),f()],_t.prototype,"boundary_conditions",2),vt([V(),C({each:!0}),f()],_t.prototype,"window_parameters",2),vt([V(),C({each:!0}),f()],_t.prototype,"shading_parameters",2),vt([V(),C({each:!0}),f()],_t.prototype,"air_boundaries",2),vt([f()],_t.prototype,"skylight_parameters",2);let zy=_t;var mC=Object.defineProperty,vC=Object.getOwnPropertyDescriptor,zc=(n,t,e,i)=>{for(var r=i>1?void 0:i?vC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&mC(t,e,r),r};const as=class jg extends Zc{constructor(){super();u(this,"dir_count");u(this,"start_vector");u(this,"mesh_radius");u(this,"type");this.dir_count=8,this.mesh_radius=new R,this.type="RoomRadialGridParameter"}init(e){super.init(e),e&&(this.dir_count=e.dir_count!==void 0?e.dir_count:8,this.start_vector=e.start_vector,this.mesh_radius=e.mesh_radius!==void 0?e.mesh_radius:new R,this.type=e.type!==void 0?e.type:"RoomRadialGridParameter")}static fromJS(e){e=typeof e=="object"?e:{};let i=new jg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.dir_count=this.dir_count,e.start_vector=this.start_vector,e.mesh_radius=this.mesh_radius,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};zc([il(),f()],as.prototype,"dir_count",2),zc([V(),C({each:!0}),f()],as.prototype,"start_vector",2),zc([f()],as.prototype,"mesh_radius",2),zc([x(),f()],as.prototype,"type",2);let Lc=as;var gC=Object.defineProperty,bC=Object.getOwnPropertyDescriptor,L_=(n,t,e,i)=>{for(var r=i>1?void 0:i?bC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&gC(t,e,r),r};const Uc=class Ag extends ps{constructor(){super();u(this,"type");u(this,"offset");u(this,"wall_offset");this.type="RoomGridParameter",this.offset=1,this.wall_offset=0}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"RoomGridParameter",this.offset=e.offset!==void 0?e.offset:1,this.wall_offset=e.wall_offset!==void 0?e.wall_offset:0)}static fromJS(e){if(e=typeof e=="object"?e:{},e.type==="RoomRadialGridParameter"){let r=new Lc;return r.init(e),r}let i=new Ag;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.offset=this.offset,e.wall_offset=this.wall_offset,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};L_([x(),f()],Uc.prototype,"type",2),L_([$(),f()],Uc.prototype,"offset",2),L_([$(),f()],Uc.prototype,"wall_offset",2);let Zc=Uc;var wC=Object.defineProperty,OC=Object.getOwnPropertyDescriptor,Ly=(n,t,e,i)=>{for(var r=i>1?void 0:i?OC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&wC(t,e,r),r};const U_=class Pg extends k{constructor(){super();u(this,"type");u(this,"construction_set");this.type="StoryEnergyPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"StoryEnergyPropertiesAbridged",this.construction_set=e.construction_set)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Pg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.construction_set=this.construction_set,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Ly([x(),f()],U_.prototype,"type",2),Ly([x(),f()],U_.prototype,"construction_set",2);let Z_=U_;var SC=Object.defineProperty,jC=Object.getOwnPropertyDescriptor,Uy=(n,t,e,i)=>{for(var r=i>1?void 0:i?jC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&SC(t,e,r),r};const Y_=class Cg extends k{constructor(){super();u(this,"type");u(this,"modifier_set");this.type="StoryRadiancePropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"StoryRadiancePropertiesAbridged",this.modifier_set=e.modifier_set)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Cg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.modifier_set=this.modifier_set,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Uy([x(),f()],Y_.prototype,"type",2),Uy([x(),f()],Y_.prototype,"modifier_set",2);let X_=Y_;var AC=Object.defineProperty,PC=Object.getOwnPropertyDescriptor,Q_=(n,t,e,i)=>{for(var r=i>1?void 0:i?PC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&AC(t,e,r),r};const Yc=class Eg extends k{constructor(){super();u(this,"type");u(this,"energy");u(this,"radiance");this.type="StoryPropertiesAbridged"}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"StoryPropertiesAbridged",this.energy=e.energy,this.radiance=e.radiance)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Eg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Q_([x(),f()],Yc.prototype,"type",2),Q_([L(Z_),C(),f()],Yc.prototype,"energy",2),Q_([L(X_),C(),f()],Yc.prototype,"radiance",2);let K_=Yc;var CC=Object.defineProperty,EC=Object.getOwnPropertyDescriptor,Tr=(n,t,e,i)=>{for(var r=i>1?void 0:i?EC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&CC(t,e,r),r};const Si=class xg extends ht{constructor(){super();u(this,"room_2ds");u(this,"properties");u(this,"type");u(this,"floor_to_floor_height");u(this,"floor_height");u(this,"multiplier");u(this,"roof");this.type="Story",this.floor_to_floor_height=new R,this.floor_height=new R,this.multiplier=1}init(e){super.init(e),e&&(this.room_2ds=e.room_2ds,this.properties=e.properties,this.type=e.type!==void 0?e.type:"Story",this.floor_to_floor_height=e.floor_to_floor_height!==void 0?e.floor_to_floor_height:new R,this.floor_height=e.floor_height!==void 0?e.floor_height:new R,this.multiplier=e.multiplier!==void 0?e.multiplier:1,this.roof=e.roof)}static fromJS(e){e=typeof e=="object"?e:{};let i=new xg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.room_2ds=this.room_2ds,e.properties=this.properties,e.type=this.type,e.floor_to_floor_height=this.floor_to_floor_height,e.floor_height=this.floor_height,e.multiplier=this.multiplier,e.roof=this.roof,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Tr([V(),C({each:!0}),W()],Si.prototype,"room_2ds",2),Tr([L(K_),C(),W()],Si.prototype,"properties",2),Tr([x(),f()],Si.prototype,"type",2),Tr([f()],Si.prototype,"floor_to_floor_height",2),Tr([f()],Si.prototype,"floor_height",2),Tr([il(),f()],Si.prototype,"multiplier",2),Tr([L(Mc),C(),f()],Si.prototype,"roof",2);let Zy=Si;var xC=Object.defineProperty,GC=Object.getOwnPropertyDescriptor,DC=(n,t,e,i)=>{for(var r=i>1?void 0:i?GC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&xC(t,e,r),r};class k{constructor(){u(this,"type");this.type="InvalidType"}init(t){t&&(this.type=t.type!==void 0?t.type:"InvalidType")}static fromJS(t){if(t=typeof t=="object"?t:{},t.type==="InfiltrationAbridged"){let e=new ln;return e.init(t),e}if(t.type==="IDdEnergyBaseModel"){let e=new O;return e.init(t),e}if(t.type==="EnergyBaseModel"){let e=new _r;return e.init(t),e}if(t.type==="ScheduleDay"){let e=new Pl;return e.init(t),e}if(t.type==="ScheduleRuleAbridged"){let e=new Lh;return e.init(t),e}if(t.type==="DatedBaseModel"){let e=new Lo;return e.init(t),e}if(t.type==="NoLimit"){let e=new Pn;return e.init(t),e}if(t.type==="ScheduleTypeLimit"){let e=new Oo;return e.init(t),e}if(t.type==="ScheduleRuleset"){let e=new Ja;return e.init(t),e}if(t.type==="ScheduleFixedInterval"){let e=new Ga;return e.init(t),e}if(t.type==="Autocalculate"){let e=new R;return e.init(t),e}if(t.type==="People"){let e=new fo;return e.init(t),e}if(t.type==="WallConstructionSetAbridged"){let e=new Ji;return e.init(t),e}if(t.type==="_FaceSubSetAbridged"){let e=new ao;return e.init(t),e}if(t.type==="ContextShadeEnergyPropertiesAbridged"){let e=new C_;return e.init(t),e}if(t.type==="Void"){let e=new K;return e.init(t),e}if(t.type==="Mirror"){let e=new bp;return e.init(t),e}if(t.type==="ModifierBase"){let e=new Dt;return e.init(t),e}if(t.type==="IDdRadianceBaseModel"){let e=new Pr;return e.init(t),e}if(t.type==="Plastic"){let e=new tt;return e.init(t),e}if(t.type==="Glass"){let e=new Qe;return e.init(t),e}if(t.type==="BSDF"){let e=new wp;return e.init(t),e}if(t.type==="Glow"){let e=new mp;return e.init(t),e}if(t.type==="Light"){let e=new vp;return e.init(t),e}if(t.type==="Trans"){let e=new Jn;return e.init(t),e}if(t.type==="Metal"){let e=new gp;return e.init(t),e}if(t.type==="ShadeModifierSet"){let e=new Yl;return e.init(t),e}if(t.type==="Plane"){let e=new rh;return e.init(t),e}if(t.type==="Face3D"){let e=new Ut;return e.init(t),e}if(t.type==="StateGeometryAbridged"){let e=new nh;return e.init(t),e}if(t.type==="RadianceSubFaceStateAbridged"){let e=new Kh;return e.init(t),e}if(t.type==="RadianceShadeStateAbridged"){let e=new t_;return e.init(t),e}if(t.type==="ApertureRadiancePropertiesAbridged"){let e=new lp;return e.init(t),e}if(t.type==="_PropertiesBaseAbridged"){let e=new yr;return e.init(t),e}if(t.type==="PeopleAbridged"){let e=new yn;return e.init(t),e}if(t.type==="LightingAbridged"){let e=new hn;return e.init(t),e}if(t.type==="ElectricEquipmentAbridged"){let e=new Pi;return e.init(t),e}if(t.type==="_EquipmentBase"){let e=new Ur;return e.init(t),e}if(t.type==="GasEquipmentAbridged"){let e=new Ci;return e.init(t),e}if(t.type==="ServiceHotWaterAbridged"){let e=new gn;return e.init(t),e}if(t.type==="VentilationAbridged"){let e=new Sn;return e.init(t),e}if(t.type==="SetpointAbridged"){let e=new wn;return e.init(t),e}if(t.type==="ProgramTypeAbridged"){let e=new ca;return e.init(t),e}if(t.type==="SHWSystem"){let e=new Ra;return e.init(t),e}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let e=new Is;return e.init(t),e}if(t.type==="EnergyWindowMaterialGlazing"){let e=new Me;return e.init(t),e}if(t.type==="EnergyWindowMaterialGas"){let e=new on;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasCustom"){let e=new Ws;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasMixture"){let e=new $s;return e.init(t),e}if(t.type==="EnergyWindowFrame"){let e=new co;return e.init(t),e}if(t.type==="WindowConstruction"){let e=new Ao;return e.init(t),e}if(t.type==="EnergyWindowMaterialShade"){let e=new Hs;return e.init(t),e}if(t.type==="EnergyWindowMaterialBlind"){let e=new Ns;return e.init(t),e}if(t.type==="WindowConstructionShade"){let e=new Qa;return e.init(t),e}if(t.type==="WindowConstructionDynamic"){let e=new Ya;return e.init(t),e}if(t.type==="ApertureConstructionSet"){let e=new ll;return e.init(t),e}if(t.type==="DoorModifierSet"){let e=new Tl;return e.init(t),e}if(t.type==="Ground"){let e=new fy;return e.init(t),e}if(t.type==="Outdoors"){let e=new gy;return e.init(t),e}if(t.type==="Adiabatic"){let e=new Lu;return e.init(t),e}if(t.type==="Surface"){let e=new Py;return e.init(t),e}if(t.type==="OtherSideTemperature"){let e=new vy;return e.init(t),e}if(t.type==="PVProperties"){let e=new ga;return e.init(t),e}if(t.type==="ShadeEnergyPropertiesAbridged"){let e=new Vh;return e.init(t),e}if(t.type==="ShadeRadiancePropertiesAbridged"){let e=new dp;return e.init(t),e}if(t.type==="ShadePropertiesAbridged"){let e=new Bh;return e.init(t),e}if(t.type==="Shade"){let e=new $h;return e.init(t),e}if(t.type==="IDdBaseModel"){let e=new ht;return e.init(t),e}if(t.type==="VentilationOpening"){let e=new Bo;return e.init(t),e}if(t.type==="ApertureEnergyPropertiesAbridged"){let e=new dh;return e.init(t),e}if(t.type==="AperturePropertiesAbridged"){let e=new mh;return e.init(t),e}if(t.type==="Aperture"){let e=new Ih;return e.init(t),e}if(t.type==="DoorEnergyPropertiesAbridged"){let e=new gh;return e.init(t),e}if(t.type==="DoorRadiancePropertiesAbridged"){let e=new _p;return e.init(t),e}if(t.type==="DoorPropertiesAbridged"){let e=new wh;return e.init(t),e}if(t.type==="Door"){let e=new Oh;return e.init(t),e}if(t.type==="AFNCrack"){let e=new uh;return e.init(t),e}if(t.type==="FaceEnergyPropertiesAbridged"){let e=new jh;return e.init(t),e}if(t.type==="FaceRadiancePropertiesAbridged"){let e=new up;return e.init(t),e}if(t.type==="FacePropertiesAbridged"){let e=new Ph;return e.init(t),e}if(t.type==="Face"){let e=new Ch;return e.init(t),e}if(t.type==="DaylightingControl"){let e=new Gh;return e.init(t),e}if(t.type==="VentilationControlAbridged"){let e=new jo;return e.init(t),e}if(t.type==="VentilationFan"){let e=new Cl;return e.init(t),e}if(t.type==="InternalMassAbridged"){let e=new sa;return e.init(t),e}if(t.type==="ProcessAbridged"){let e=new aa;return e.init(t),e}if(t.type==="RoomEnergyPropertiesAbridged"){let e=new Dh;return e.init(t),e}if(t.type==="RoomRadiancePropertiesAbridged"){let e=new Mh;return e.init(t),e}if(t.type==="RoomDoe2Properties"){let e=new xh;return e.init(t),e}if(t.type==="RoomPropertiesAbridged"){let e=new Nh;return e.init(t),e}if(t.type==="Room"){let e=new Rh;return e.init(t),e}if(t.type==="FloorModifierSetAbridged"){let e=new br;return e.init(t),e}if(t.type==="BaseModifierSetAbridged"){let e=new jr;return e.init(t),e}if(t.type==="SimpleWindowArea"){let e=new y_;return e.init(t),e}if(t.type==="_WindowParameterBase"){let e=new bi;return e.init(t),e}if(t.type==="RectangularWindows"){let e=new h_;return e.init(t),e}if(t.type==="Residential"){let e=new Pa;return e.init(t),e}if(t.type==="OpaqueConstructionAbridged"){let e=new T;return e.init(t),e}if(t.type==="Color"){let e=new py;return e.init(t),e}if(t.type==="Mesh3D"){let e=new xp;return e.init(t),e}if(t.type==="ContextShadeRadiancePropertiesAbridged"){let e=new x_;return e.init(t),e}if(t.type==="ContextShadePropertiesAbridged"){let e=new D_;return e.init(t),e}if(t.type==="EnergyMaterial"){let e=new H;return e.init(t),e}if(t.type==="EnergyMaterialNoMass"){let e=new Gs;return e.init(t),e}if(t.type==="WindowConstructionAbridged"){let e=new le;return e.init(t),e}if(t.type==="ShadeConstruction"){let e=new te;return e.init(t),e}if(t.type==="AirBoundaryConstructionAbridged"){let e=new Zr;return e.init(t),e}if(t.type==="FloorConstructionSetAbridged"){let e=new Mi;return e.init(t),e}if(t.type==="RoofCeilingConstructionSetAbridged"){let e=new Di;return e.init(t),e}if(t.type==="ApertureConstructionSetAbridged"){let e=new Kr;return e.init(t),e}if(t.type==="DoorConstructionSetAbridged"){let e=new en;return e.init(t),e}if(t.type==="GlobalConstructionSet"){let e=new ai;return e.init(t),e}if(t.type==="ConstructionSetAbridged"){let e=new Es;return e.init(t),e}if(t.type==="EnergyMaterialVegetation"){let e=new Js;return e.init(t),e}if(t.type==="OpaqueConstruction"){let e=new Z;return e.init(t),e}if(t.type==="WallConstructionSet"){let e=new dl;return e.init(t),e}if(t.type==="FloorConstructionSet"){let e=new ul;return e.init(t),e}if(t.type==="RoofCeilingConstructionSet"){let e=new yl;return e.init(t),e}if(t.type==="DoorConstructionSet"){let e=new _l;return e.init(t),e}if(t.type==="AirBoundaryConstruction"){let e=new ms;return e.init(t),e}if(t.type==="ConstructionSet"){let e=new Ps;return e.init(t),e}if(t.type==="Autosize"){let e=new an;return e.init(t),e}if(t.type==="IdealAirSystemAbridged"){let e=new na;return e.init(t),e}if(t.type==="VAV"){let e=new Wa;return e.init(t),e}if(t.type==="PVAV"){let e=new fa;return e.init(t),e}if(t.type==="PSZ"){let e=new ha;return e.init(t),e}if(t.type==="PTAC"){let e=new ya;return e.init(t),e}if(t.type==="ForcedAirFurnace"){let e=new Ks;return e.init(t),e}if(t.type==="FCUwithDOASAbridged"){let e=new Ys;return e.init(t),e}if(t.type==="WSHPwithDOASAbridged"){let e=new np;return e.init(t),e}if(t.type==="VRFwithDOASAbridged"){let e=new qa;return e.init(t),e}if(t.type==="RadiantwithDOASAbridged"){let e=new Sa;return e.init(t),e}if(t.type==="FCU"){let e=new Us;return e.init(t),e}if(t.type==="WSHP"){let e=new ip;return e.init(t),e}if(t.type==="VRF"){let e=new Fa;return e.init(t),e}if(t.type==="Baseboard"){let e=new ws;return e.init(t),e}if(t.type==="EvaporativeCooler"){let e=new ks;return e.init(t),e}if(t.type==="WindowAC"){let e=new za;return e.init(t),e}if(t.type==="GasUnitHeater"){let e=new ia;return e.init(t),e}if(t.type==="Radiant"){let e=new wa;return e.init(t),e}if(t.type==="DetailedHVAC"){let e=new xs;return e.init(t),e}if(t.type==="Lighting"){let e=new yo;return e.init(t),e}if(t.type==="ElectricEquipment"){let e=new po;return e.init(t),e}if(t.type==="GasEquipment"){let e=new _o;return e.init(t),e}if(t.type==="ServiceHotWater"){let e=new mo;return e.init(t),e}if(t.type==="Infiltration"){let e=new uo;return e.init(t),e}if(t.type==="Ventilation"){let e=new go;return e.init(t),e}if(t.type==="Setpoint"){let e=new vo;return e.init(t),e}if(t.type==="ProgramType"){let e=new pa;return e.init(t),e}if(t.type==="ScheduleRulesetAbridged"){let e=new Ma;return e.init(t),e}if(t.type==="ScheduleFixedIntervalAbridged"){let e=new Da;return e.init(t),e}if(t.type==="ModelEnergyProperties"){let e=new W_;return e.init(t),e}if(t.type==="WallModifierSetAbridged"){let e=new Sr;return e.init(t),e}if(t.type==="RoofCeilingModifierSetAbridged"){let e=new wr;return e.init(t),e}if(t.type==="ApertureModifierSetAbridged"){let e=new Vn;return e.init(t),e}if(t.type==="DoorModifierSetAbridged"){let e=new Ar;return e.init(t),e}if(t.type==="ShadeModifierSetAbridged"){let e=new Or;return e.init(t),e}if(t.type==="GlobalModifierSet"){let e=new ci;return e.init(t),e}if(t.type==="WallModifierSet"){let e=new Ql;return e.init(t),e}if(t.type==="FloorModifierSet"){let e=new zl;return e.init(t),e}if(t.type==="RoofCeilingModifierSet"){let e=new Ul;return e.init(t),e}if(t.type==="ApertureModifierSet"){let e=new ql;return e.init(t),e}if(t.type==="ModifierSet"){let e=new Kl;return e.init(t),e}if(t.type==="ModifierSetAbridged"){let e=new eh;return e.init(t),e}if(t.type==="ModelRadianceProperties"){let e=new B_;return e.init(t),e}if(t.type==="ModelProperties"){let e=new H_;return e.init(t),e}if(t.type==="StoryEnergyPropertiesAbridged"){let e=new Z_;return e.init(t),e}if(t.type==="StoryRadiancePropertiesAbridged"){let e=new X_;return e.init(t),e}if(t.type==="Room2DEnergyPropertiesAbridged"){let e=new I_;return e.init(t),e}if(t.type==="RoomGridParameter"){let e=new Zc;return e.init(t),e}if(t.type==="_GridParameterBase"){let e=new ps;return e.init(t),e}if(t.type==="RoomRadialGridParameter"){let e=new Lc;return e.init(t),e}if(t.type==="ExteriorFaceGridParameter"){let e=new M_;return e.init(t),e}if(t.type==="ExteriorApertureGridParameter"){let e=new iu;return e.init(t),e}if(t.type==="Room2DRadiancePropertiesAbridged"){let e=new T_;return e.init(t),e}if(t.type==="Room2DPropertiesAbridged"){let e=new z_;return e.init(t),e}if(t.type==="SingleWindow"){let e=new m_;return e.init(t),e}if(t.type==="BuildingEnergyPropertiesAbridged"){let e=new b_;return e.init(t),e}if(t.type==="BuildingRadiancePropertiesAbridged"){let e=new O_;return e.init(t),e}if(t.type==="BuildingPropertiesAbridged"){let e=new j_;return e.init(t),e}if(t.type==="DetailedSkylights"){let e=new $y;return e.init(t),e}if(t.type==="ContextShade"){let e=new By;return e.init(t),e}if(t.type==="SimpleWindowRatio"){let e=new f_;return e.init(t),e}if(t.type==="RepeatingWindowRatio"){let e=new __;return e.init(t),e}if(t.type==="DetailedWindows"){let e=new l_;return e.init(t),e}if(t.type==="ExtrudedBorder"){let e=new Fy;return e.init(t),e}if(t.type==="Overhang"){let e=new ky;return e.init(t),e}if(t.type==="LouversByDistance"){let e=new p_;return e.init(t),e}if(t.type==="_LouversBase"){let e=new Cc;return e.init(t),e}if(t.type==="LouversByCount"){let e=new s_;return e.init(t),e}if(t.type==="GriddedSkylightArea"){let e=new Iy;return e.init(t),e}if(t.type==="GriddedSkylightRatio"){let e=new qy;return e.init(t),e}if(t.type==="Room2D"){let e=new zy;return e.init(t),e}if(t.type==="RoofSpecification"){let e=new Mc;return e.init(t),e}if(t.type==="StoryPropertiesAbridged"){let e=new K_;return e.init(t),e}if(t.type==="Story"){let e=new Zy;return e.init(t),e}if(t.type==="Building"){let e=new Vy;return e.init(t),e}if(t.type==="Model"){let e=new Ty;return e.init(t),e}if(t.type==="BaseModifierSet"){let e=new ay;return e.init(t),e}if(t.type==="WindowConstructionShadeAbridged"){let e=new Ka;return e.init(t),e}if(t.type==="_HeatCoolBase"){let e=new ys;return e.init(t),e}if(t.type==="_TemplateSystem"){let e=new ds;return e.init(t),e}if(t.type==="_DOASBase"){let e=new us;return e.init(t),e}if(t.type==="_FaceSubSet"){let e=new Nu;return e.init(t),e}if(t.type==="_AllAirBase"){let e=new sp;return e.init(t),e}throw new Error("The abstract class '_OpenAPIGenBaseModel' cannot be instantiated.")}toJSON(t){t=typeof t=="object"?t:{};for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t.type=this.type,t}}DC([x(),f()],k.prototype,"type",2);var JC=Object.defineProperty,MC=Object.getOwnPropertyDescriptor,tu=(n,t,e,i)=>{for(var r=i>1?void 0:i?MC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&JC(t,e,r),r};const Xc=class Gg extends k{constructor(){super();u(this,"dimension");u(this,"include_mesh");u(this,"type");this.include_mesh=!0,this.type="_GridParameterBase"}init(e){super.init(e),e&&(this.dimension=e.dimension,this.include_mesh=e.include_mesh!==void 0?e.include_mesh:!0,this.type=e.type!==void 0?e.type:"_GridParameterBase")}static fromJS(e){if(e=typeof e=="object"?e:{},e.type==="RoomGridParameter"){let r=new Zc;return r.init(e),r}if(e.type==="RoomRadialGridParameter"){let r=new Lc;return r.init(e),r}if(e.type==="ExteriorFaceGridParameter"){let r=new M_;return r.init(e),r}if(e.type==="ExteriorApertureGridParameter"){let r=new iu;return r.init(e),r}let i=new Gg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.dimension=this.dimension,e.include_mesh=this.include_mesh,e.type=this.type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};tu([$(),W()],Xc.prototype,"dimension",2),tu([Ee(),f()],Xc.prototype,"include_mesh",2),tu([x(),f()],Xc.prototype,"type",2);let ps=Xc;var cs=(n=>(n.Window="Window",n.Skylight="Skylight",n.All="All",n))(cs||{}),NC=Object.defineProperty,RC=Object.getOwnPropertyDescriptor,eu=(n,t,e,i)=>{for(var r=i>1?void 0:i?RC(t,e):t,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(t,e,r):s(r))||r);return i&&r&&NC(t,e,r),r};const Qc=class Dg extends ps{constructor(){super();u(this,"type");u(this,"offset");u(this,"aperture_type");this.type="ExteriorApertureGridParameter",this.offset=.1,this.aperture_type=cs.All}init(e){super.init(e),e&&(this.type=e.type!==void 0?e.type:"ExteriorApertureGridParameter",this.offset=e.offset!==void 0?e.offset:.1,this.aperture_type=e.aperture_type!==void 0?e.aperture_type:cs.All)}static fromJS(e){e=typeof e=="object"?e:{};let i=new Dg;return i.init(e),i}toJSON(e){e=typeof e=="object"?e:{};for(var i in this)this.hasOwnProperty(i)&&(e[i]=this[i]);return e.type=this.type,e.offset=this.offset,e.aperture_type=this.aperture_type,super.toJSON(e),e}async validate(){const e=await J(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};eu([x(),f()],Qc.prototype,"type",2),eu([$(),f()],Qc.prototype,"offset",2),eu([el(cs),C(),f()],Qc.prototype,"aperture_type",2);let iu=Qc;E.Building=Vy,E.BuildingEnergyPropertiesAbridged=b_,E.BuildingPropertiesAbridged=j_,E.BuildingRadiancePropertiesAbridged=O_,E.ContextShade=By,E.ContextShadeEnergyPropertiesAbridged=C_,E.ContextShadePropertiesAbridged=D_,E.ContextShadeRadiancePropertiesAbridged=x_,E.DetailedSkylights=$y,E.DetailedWindows=l_,E.ExteriorApertureGridParameter=iu,E.ExteriorApertureType=cs,E.ExteriorFaceGridParameter=M_,E.ExteriorFaceType=ns,E.ExtrudedBorder=Fy,E.GriddedSkylightArea=Iy,E.GriddedSkylightRatio=qy,E.LouversByCount=s_,E.LouversByDistance=p_,E.Model=Ty,E.ModelEnergyProperties=W_,E.ModelProperties=H_,E.ModelRadianceProperties=B_,E.Overhang=ky,E.RectangularWindows=h_,E.RepeatingWindowRatio=__,E.RoofSpecification=Mc,E.Room2D=zy,E.Room2DEnergyPropertiesAbridged=I_,E.Room2DPropertiesAbridged=z_,E.Room2DRadiancePropertiesAbridged=T_,E.RoomGridParameter=Zc,E.RoomRadialGridParameter=Lc,E.SimpleWindowArea=y_,E.SimpleWindowRatio=f_,E.SingleWindow=m_,E.Story=Zy,E.StoryEnergyPropertiesAbridged=Z_,E.StoryPropertiesAbridged=K_,E.StoryRadiancePropertiesAbridged=X_,E._GridParameterBase=ps,E._LouversBase=Cc,E._OpenAPIGenBaseModel=k,E._WindowParameterBase=bi,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})});
|