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.
@@ -0,0 +1,9 @@
1
+ "use strict";var Gg=Object.defineProperty;var Dg=(n,t,e)=>t in n?Gg(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var u=(n,t,e)=>(Dg(n,typeof t!="symbol"?t+"":t,e),e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var zs=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}(),Jg=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 zs(s))})}),e},n}();function Mg(n){return n instanceof Map?Array.from(n.values()):Array.isArray(n)?n:Array.from(n)}function Ng(){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 Rg=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.")},ru=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},Vg=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))},du=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 Jg().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,S=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)||[],E=P.filter(function(A){return A.target!==t&&A.target!==e?!1:S(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(J){return o.indexOf(J)!==-1}):!0}),D=[];try{for(var W=Rg(this.validationMetadatas.entries()),F=W.next();!F.done;F=W.next()){var z=ru(F.value,2),ht=z[0],nt=z[1];t.prototype instanceof ht&&D.push.apply(D,Vg([],ru(nt),!1))}}catch(A){s={error:A}}finally{try{F&&!F.done&&(g=W.return)&&g.call(W)}finally{if(s)throw s.error}}var k=D.filter(function(A){return typeof A.target=="string"||A.target===t||A.target instanceof Function&&!(t.prototype instanceof A.target)?!1:S(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(J){return o.indexOf(J)!==-1}):!0}),Oi=k.filter(function(A){return!E.find(function(J){return J.propertyName===A.propertyName&&J.type===A.type})});return E.concat(Oi)},n.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},n}();function Zn(){var n=Ng();return n.classValidatorMetadataStorage||(n.classValidatorMetadataStorage=new du),n.classValidatorMetadataStorage}var nu=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":"",S=function(){var E;return(r?Object.values:Object.keys)((E=o.constraints)!==null&&E!==void 0?E:{}).join(", ")},v=function(E){return" - property ".concat(s).concat(i).concat(E).concat(g," has failed the following constraints: ").concat(s).concat(S()).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(E){return E.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(E){return E.toString(t,!0,o.property,r)}).join(""):"")},n}(),et=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 Wg(n){return Array.isArray(n)?n.join(", "):(typeof n=="symbol"&&(n=n.description),"".concat(n))}var Bg=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"),Wg(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}(),Ln=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},ou=function(){function n(t,e){this.validator=t,this.validatorOptions=e,this.awaitingPromises=[],this.ignoreAsyncValidations=!1,this.metadataStorage=Zn()}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,S=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,E=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,v,S,g),D=this.metadataStorage.groupByPropertyName(E);if(this.validatorOptions&&P&&!E.length){var W=new nu;(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.target===void 0||this.validatorOptions.validationError.target===!0)&&(W.target=t),W.value=void 0,W.property=void 0,W.children=[],W.constraints={unknownValue:"an unknown value was passed to the validate function"},i.push(W);return}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,D,i),Object.keys(D).forEach(function(F){var z=t[F],ht=D[F].filter(function(k){return k.type===et.IS_DEFINED}),nt=D[F].filter(function(k){return k.type!==et.IS_DEFINED&&k.type!==et.WHITELIST});z instanceof Promise&&nt.find(function(k){return k.type===et.PROMISE_VALIDATION})?r.awaitingPromises.push(z.then(function(k){r.performValidations(t,k,F,ht,nt,i)})):r.performValidations(t,z,F,ht,nt,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,S=r.generateValidationError(t,t[s],s);S.constraints=(g={},g[et.WHITELIST]="property ".concat(s," should not exist"),g),S.children=void 0,i.push(S)}):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(D){return D.type===et.CUSTOM_VALIDATION}),S=o.filter(function(D){return D.type===et.NESTED_VALIDATION}),v=o.filter(function(D){return D.type===et.CONDITIONAL_VALIDATION}),P=this.generateValidationError(t,e,i);s.push(P);var E=this.conditionalValidations(t,e,v);E&&(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,S,P),this.mapContexts(t,e,o,P),this.mapContexts(t,e,g,P))))},n.prototype.generateValidationError=function(t,e,i){var r=new nu;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 S={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,S);if(Kc(v)){var P=v.then(function(J){if(!J){var Qt=Ln(o.createValidationError(t,e,s,g),2),_t=Qt[0],Pt=Qt[1];r.constraints[_t]=Pt,s.context&&(r.contexts||(r.contexts={}),r.contexts[_t]=Object.assign(r.contexts[_t]||{},s.context))}});o.awaitingPromises.push(P)}else if(!v){var E=Ln(o.createValidationError(t,e,s,g),2),D=E[0],W=E[1];r.constraints[D]=W}return}var F=Mg(e),z=F.map(function(J){return g.instance.validate(J,S)}),ht=z.some(function(J){return Kc(J)});if(ht){var nt=z.map(function(J){return Kc(J)?J:Promise.resolve(J)}),k=Promise.all(nt).then(function(J){var Qt=J.every(function(Qc){return Qc});if(!Qt){var _t=Ln(o.createValidationError(t,e,s,g),2),Pt=_t[0],Xc=_t[1];r.constraints[Pt]=Xc,s.context&&(r.contexts||(r.contexts={}),r.contexts[Pt]=Object.assign(r.contexts[Pt]||{},s.context))}});o.awaitingPromises.push(k);return}var Oi=z.every(function(J){return J});if(!Oi){var A=Ln(o.createValidationError(t,e,s,g),2),D=A[0],W=A[1];r.constraints[D]=W}}})})},n.prototype.nestedValidations=function(t,e,i){var r=this;t!==void 0&&e.forEach(function(o){if(!(o.type!==et.NESTED_VALIDATION&&o.type!==et.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(E,D){r.performValidations(t,E,D.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 S=Ln(r.createValidationError(o.target,t,o),2),v=S[0],P=S[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===et.CUSTOM_VALIDATION){var S=o.metadataStorage.getTargetValidatorConstraints(s.constraintCls);g=S[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},S=i.message||"";!i.message&&(!this.validatorOptions||this.validatorOptions&&!this.validatorOptions.dismissDefaultMessages)&&r&&r.instance.defaultMessage instanceof Function&&(S=r.instance.defaultMessage(g));var v=Bg.replaceMessageSpecialTokens(S,g);return[s,v]},n.prototype.getConstraintType=function(t,e){var i=e&&e.name?e.name:t.type;return i},n}(),$g=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(E){s(E)}}function S(P){try{v(i.throw(P))}catch(E){s(E)}}function v(P){P.done?o(P.value):r(P.value).then(g,S)}v((i=i.apply(n,t||[])).next())})},Hg=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 S([v,P])}}function S(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}}},su=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 $g(this,void 0,void 0,function(){var r;return Hg(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 ou(this,o);g.ignoreAsyncValidations=!0;var S=[];return g.execute(r,s,S),g.stripEmptyErrors(S)},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 ou(this,o),S=[];return g.execute(r,s,S),Promise.all(g.awaitingPromises).then(function(){return g.stripEmptyErrors(S)})},n}(),Fg=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 as(n){return Fg.get(n)}var Ig=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 as(this.target)},enumerable:!1,configurable:!0}),n}();function qg(n){var t;if(n.validator instanceof Function){t=n.validator;var e=as(du).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}(),Zn().addConstraintMetadata(new Ig(t,n.name,n.async))}var r={type:n.name&&et.isValid(n.name)?n.name:et.CUSTOM_VALIDATION,name:n.name,target:n.target,propertyName:n.propertyName,validationOptions:n.options,constraintCls:t,constraints:n.constraints};Zn().addValidationMetadata(new zs(r))}function xe(n,t){return function(e){var i=t&&t.each?"each value in ":"";return n(i,e)}}function Ee(n,t){return function(e,i){qg({name:n.name,target:e.constructor,propertyName:i,options:t,constraints:n.constraints,validator:n.validator})}}var Tg=et.IS_DEFINED;function kg(n){return n!=null}function V(n){return Ee({name:Tg,validator:{validate:function(t){return kg(t)},defaultMessage:xe(function(t){return t+"$property should not be null or undefined"},n)}},n)}function f(n){return function(t,e){var i={type:et.CONDITIONAL_VALIDATION,target:t.constructor,propertyName:e,constraints:[function(r,o){return r[e]!==null&&r[e]!==void 0}],validationOptions:n};Zn().addValidationMetadata(new zs(i))}}var el=globalThis&&globalThis.__assign||function(){return el=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},el.apply(this,arguments)};function C(n){var t=el({},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:et.NESTED_VALIDATION,target:i.constructor,propertyName:r,validationOptions:t};Zn().addValidationMetadata(new zs(o))}}var zg="isBoolean";function Lg(n){return n instanceof Boolean||typeof n=="boolean"}function Ge(n){return Ee({name:zg,validator:{validate:function(t,e){return Lg(t)},defaultMessage:xe(function(t){return t+"$property must be a boolean value"},n)}},n)}var Ug="isNumber";function Zg(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={}),Ee({name:Ug,constraints:[n],validator:{validate:function(e,i){return Zg(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 au=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},Yg="isEnum";function Xg(n,t){var e=Object.keys(t).map(function(i){return t[i]});return e.includes(n)}function Qg(n){return Object.entries(n).filter(function(t){var e=au(t,2),i=e[0];return e[1],isNaN(parseInt(i))}).map(function(t){var e=au(t,2);e[0];var i=e[1];return i})}function rl(n,t){return Ee({name:Yg,constraints:[n,Qg(n)],validator:{validate:function(e,i){return Xg(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 Kg="isInt";function t0(n){return typeof n=="number"&&Number.isInteger(n)}function nl(n){return Ee({name:Kg,validator:{validate:function(t,e){return t0(t)},defaultMessage:xe(function(t){return t+"$property must be an integer number"},n)}},n)}var e0="isString";function i0(n){return n instanceof String||typeof n=="string"}function x(n){return Ee({name:e0,validator:{validate:function(t,e){return i0(t)},defaultMessage:xe(function(t){return t+"$property must be a string"},n)}},n)}var r0="isArray";function n0(n){return Array.isArray(n)}function R(n){return Ee({name:r0,validator:{validate:function(t,e){return n0(t)},defaultMessage:xe(function(t){return t+"$property must be an array"},n)}},n)}var pu="isInstance";function o0(n,t){return t&&typeof t=="function"&&n instanceof t}function L(n,t){return Ee({name:pu,constraints:[n],validator:{validate:function(e,i){return o0(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(pu," decorator expects and object as value, but got falsy value.")},t)}},t)}function M(n,t,e){return typeof n=="string"?as(su).validate(n,t,e):as(su).validate(n,t)}var s0=Object.defineProperty,a0=(n,t,e)=>t in n?s0(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,a=(n,t,e)=>(a0(n,typeof t!="symbol"?t+"":t,e),e),Ls=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}(),p0=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 Ls(s))})}),e},n}();function c0(n){return n instanceof Map?Array.from(n.values()):Array.isArray(n)?n:Array.from(n)}function l0(){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 tl(n){return n!==null&&typeof n=="object"&&typeof n.then=="function"}var h0=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.")},cu=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},_0=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))},fu=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 p0().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,S=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)||[],E=P.filter(function(A){return A.target!==t&&A.target!==e?!1:S(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(J){return o.indexOf(J)!==-1}):!0}),D=[];try{for(var W=h0(this.validationMetadatas.entries()),F=W.next();!F.done;F=W.next()){var z=cu(F.value,2),ht=z[0],nt=z[1];t.prototype instanceof ht&&D.push.apply(D,_0([],cu(nt),!1))}}catch(A){s={error:A}}finally{try{F&&!F.done&&(g=W.return)&&g.call(W)}finally{if(s)throw s.error}}var k=D.filter(function(A){return typeof A.target=="string"||A.target===t||A.target instanceof Function&&!(t.prototype instanceof A.target)?!1:S(A)?!0:v(A)?!1:o&&o.length>0?A.groups&&!!A.groups.find(function(J){return o.indexOf(J)!==-1}):!0}),Oi=k.filter(function(A){return!E.find(function(J){return J.propertyName===A.propertyName&&J.type===A.type})});return E.concat(Oi)},n.prototype.getTargetValidatorConstraints=function(t){return this.constraintMetadatas.get(t)||[]},n}();function Yn(){var n=l0();return n.classValidatorMetadataStorage||(n.classValidatorMetadataStorage=new fu),n.classValidatorMetadataStorage}var lu=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":"",S=function(){var E;return(r?Object.values:Object.keys)((E=o.constraints)!==null&&E!==void 0?E:{}).join(", ")},v=function(E){return" - property ".concat(s).concat(i).concat(E).concat(g," has failed the following constraints: ").concat(s).concat(S()).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(E){return E.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(E){return E.toString(t,!0,o.property,r)}).join(""):"")},n}(),it=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 u0(n){return Array.isArray(n)?n.join(", "):(typeof n=="symbol"&&(n=n.description),"".concat(n))}var y0=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"),u0(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}(),Un=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},hu=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:
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,S=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,E=this.metadataStorage.getTargetValidationMetadatas(t.constructor,e,v,S,g),D=this.metadataStorage.groupByPropertyName(E);if(this.validatorOptions&&P&&!E.length){var W=new lu;(!this.validatorOptions||!this.validatorOptions.validationError||this.validatorOptions.validationError.target===void 0||this.validatorOptions.validationError.target===!0)&&(W.target=t),W.value=void 0,W.property=void 0,W.children=[],W.constraints={unknownValue:"an unknown value was passed to the validate function"},i.push(W);return}this.validatorOptions&&this.validatorOptions.whitelist&&this.whitelist(t,D,i),Object.keys(D).forEach(function(F){var z=t[F],ht=D[F].filter(function(k){return k.type===it.IS_DEFINED}),nt=D[F].filter(function(k){return k.type!==it.IS_DEFINED&&k.type!==it.WHITELIST});z instanceof Promise&&nt.find(function(k){return k.type===it.PROMISE_VALIDATION})?r.awaitingPromises.push(z.then(function(k){r.performValidations(t,k,F,ht,nt,i)})):r.performValidations(t,z,F,ht,nt,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,S=r.generateValidationError(t,t[s],s);S.constraints=(g={},g[it.WHITELIST]="property ".concat(s," should not exist"),g),S.children=void 0,i.push(S)}):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(D){return D.type===it.CUSTOM_VALIDATION}),S=o.filter(function(D){return D.type===it.NESTED_VALIDATION}),v=o.filter(function(D){return D.type===it.CONDITIONAL_VALIDATION}),P=this.generateValidationError(t,e,i);s.push(P);var E=this.conditionalValidations(t,e,v);E&&(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,S,P),this.mapContexts(t,e,o,P),this.mapContexts(t,e,g,P))))},n.prototype.generateValidationError=function(t,e,i){var r=new lu;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 S={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,S);if(tl(v)){var P=v.then(function(J){if(!J){var Qt=Un(o.createValidationError(t,e,s,g),2),_t=Qt[0],Pt=Qt[1];r.constraints[_t]=Pt,s.context&&(r.contexts||(r.contexts={}),r.contexts[_t]=Object.assign(r.contexts[_t]||{},s.context))}});o.awaitingPromises.push(P)}else if(!v){var E=Un(o.createValidationError(t,e,s,g),2),D=E[0],W=E[1];r.constraints[D]=W}return}var F=c0(e),z=F.map(function(J){return g.instance.validate(J,S)}),ht=z.some(function(J){return tl(J)});if(ht){var nt=z.map(function(J){return tl(J)?J:Promise.resolve(J)}),k=Promise.all(nt).then(function(J){var Qt=J.every(function(Qc){return Qc});if(!Qt){var _t=Un(o.createValidationError(t,e,s,g),2),Pt=_t[0],Xc=_t[1];r.constraints[Pt]=Xc,s.context&&(r.contexts||(r.contexts={}),r.contexts[Pt]=Object.assign(r.contexts[Pt]||{},s.context))}});o.awaitingPromises.push(k);return}var Oi=z.every(function(J){return J});if(!Oi){var A=Un(o.createValidationError(t,e,s,g),2),D=A[0],W=A[1];r.constraints[D]=W}}})})},n.prototype.nestedValidations=function(t,e,i){var r=this;t!==void 0&&e.forEach(function(o){if(!(o.type!==it.NESTED_VALIDATION&&o.type!==it.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(E,D){r.performValidations(t,E,D.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 S=Un(r.createValidationError(o.target,t,o),2),v=S[0],P=S[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===it.CUSTOM_VALIDATION){var S=o.metadataStorage.getTargetValidatorConstraints(s.constraintCls);g=S[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},S=i.message||"";!i.message&&(!this.validatorOptions||this.validatorOptions&&!this.validatorOptions.dismissDefaultMessages)&&r&&r.instance.defaultMessage instanceof Function&&(S=r.instance.defaultMessage(g));var v=y0.replaceMessageSpecialTokens(S,g);return[s,v]},n.prototype.getConstraintType=function(t,e){var i=e&&e.name?e.name:t.type;return i},n}(),d0=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(E){s(E)}}function S(P){try{v(i.throw(P))}catch(E){s(E)}}function v(P){P.done?o(P.value):r(P.value).then(g,S)}v((i=i.apply(n,t||[])).next())})},f0=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 S([v,P])}}function S(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}}},_u=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 d0(this,void 0,void 0,function(){var r;return f0(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 hu(this,o);g.ignoreAsyncValidations=!0;var S=[];return g.execute(r,s,S),g.stripEmptyErrors(S)},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 hu(this,o),S=[];return g.execute(r,s,S),Promise.all(g.awaitingPromises).then(function(){return g.stripEmptyErrors(S)})},n}(),m0=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 ps(n){return m0.get(n)}var v0=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 ps(this.target)},enumerable:!1,configurable:!0}),n}();function g0(n){var t;if(n.validator instanceof Function){t=n.validator;var e=ps(fu).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 v0(t,n.name,n.async))}var r={type:n.name&&it.isValid(n.name)?n.name:it.CUSTOM_VALIDATION,name:n.name,target:n.target,propertyName:n.propertyName,validationOptions:n.options,constraintCls:t,constraints:n.constraints};Yn().addValidationMetadata(new Ls(r))}function De(n,t){return function(e){var i=t&&t.each?"each value in ":"";return n(i,e)}}function Je(n,t){return function(e,i){g0({name:n.name,target:e.constructor,propertyName:i,options:t,constraints:n.constraints,validator:n.validator})}}var b0=it.IS_DEFINED;function w0(n){return n!=null}function y(n){return Je({name:b0,validator:{validate:function(t){return w0(t)},defaultMessage:De(function(t){return t+"$property should not be null or undefined"},n)}},n)}function p(n){return function(t,e){var i={type:it.CONDITIONAL_VALIDATION,target:t.constructor,propertyName:e,constraints:[function(r,o){return r[e]!==null&&r[e]!==void 0}],validationOptions:n};Yn().addValidationMetadata(new Ls(i))}}var il=globalThis&&globalThis.__assign||function(){return il=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},il.apply(this,arguments)};function c(n){var t=il({},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:it.NESTED_VALIDATION,target:i.constructor,propertyName:r,validationOptions:t};Yn().addValidationMetadata(new Ls(o))}}var O0="isBoolean";function S0(n){return n instanceof Boolean||typeof n=="boolean"}function G(n){return Je({name:O0,validator:{validate:function(t,e){return S0(t)},defaultMessage:De(function(t){return t+"$property must be a boolean value"},n)}},n)}var j0="isNumber";function A0(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={}),Je({name:j0,constraints:[n],validator:{validate:function(e,i){return A0(e,i==null?void 0:i.constraints[0])},defaultMessage:De(function(e){return e+"$property must be a number conforming to the specified constraints"},t)}},t)}var uu=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},P0="isEnum";function C0(n,t){var e=Object.keys(t).map(function(i){return t[i]});return e.includes(n)}function x0(n){return Object.entries(n).filter(function(t){var e=uu(t,2),i=e[0];return e[1],isNaN(parseInt(i))}).map(function(t){var e=uu(t,2);e[0];var i=e[1];return i})}function b(n,t){return Je({name:P0,constraints:[n,x0(n)],validator:{validate:function(e,i){return C0(e,i==null?void 0:i.constraints[0])},defaultMessage:De(function(e){return e+"$property must be one of the following values: $constraint2"},t)}},t)}var E0="isInt";function G0(n){return typeof n=="number"&&Number.isInteger(n)}function $t(n){return Je({name:E0,validator:{validate:function(t,e){return G0(t)},defaultMessage:De(function(t){return t+"$property must be an integer number"},n)}},n)}var D0="isString";function J0(n){return n instanceof String||typeof n=="string"}function l(n){return Je({name:D0,validator:{validate:function(t,e){return J0(t)},defaultMessage:De(function(t){return t+"$property must be a string"},n)}},n)}var M0="isArray";function N0(n){return Array.isArray(n)}function m(n){return Je({name:M0,validator:{validate:function(t,e){return N0(t)},defaultMessage:De(function(t){return t+"$property must be an array"},n)}},n)}var yu="isInstance";function R0(n,t){return t&&typeof t=="function"&&n instanceof t}function d(n,t){return Je({name:yu,constraints:[n],validator:{validate:function(e,i){return R0(e,i==null?void 0:i.constraints[0])},defaultMessage:De(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(yu," decorator expects and object as value, but got falsy value.")},t)}},t)}function _(n,t,e){return typeof n=="string"?ps(_u).validate(n,t,e):ps(_u).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||{}),j=(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))(j||{}),V0=Object.defineProperty,W0=Object.getOwnPropertyDescriptor,Xr=(n,t,e,i)=>{for(var r=i>1?void 0:i?W0(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&&V0(t,e,r),r};const Ri=class mu 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=j.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:j.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 mu;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}};Xr([b(j),c(),p()],Ri.prototype,"vintage",2);Xr([h(),p()],Ri.prototype,"sensible_heat_recovery",2);Xr([h(),p()],Ri.prototype,"latent_heat_recovery",2);Xr([G(),p()],Ri.prototype,"demand_controlled_ventilation",2);Xr([l(),p()],Ri.prototype,"doas_availability_schedule",2);Xr([l(),p()],Ri.prototype,"type",2);let Us=Ri;var B0=Object.defineProperty,$0=Object.getOwnPropertyDescriptor,H0=(n,t,e,i)=>{for(var r=i>1?void 0:i?$0(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&&B0(t,e,r),r};const vu=class gu extends Kr{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 gu;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}};H0([l(),p()],vu.prototype,"type",2);let Vi=vu;var F0=Object.defineProperty,I0=Object.getOwnPropertyDescriptor,q0=(n,t,e,i)=>{for(var r=i>1?void 0:i?I0(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&&F0(t,e,r),r};const bu=class wu extends Kr{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 wu;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}};q0([l(),p()],bu.prototype,"type",2);let Wi=bu;var T0=Object.defineProperty,k0=Object.getOwnPropertyDescriptor,Qr=(n,t,e,i)=>{for(var r=i>1?void 0:i?k0(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&&T0(t,e,r),r};const Bi=class Ou 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 Vi;return i.init(t),i}if(t.type==="GasEquipmentAbridged"){let i=new Wi;return i.init(t),i}let e=new Ou;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}};Qr([h(),y()],Bi.prototype,"watts_per_area",2);Qr([l(),y()],Bi.prototype,"schedule",2);Qr([h(),p()],Bi.prototype,"radiant_fraction",2);Qr([h(),p()],Bi.prototype,"latent_fraction",2);Qr([h(),p()],Bi.prototype,"lost_fraction",2);Qr([l(),p()],Bi.prototype,"type",2);let Kr=Bi;var z0=Object.defineProperty,L0=Object.getOwnPropertyDescriptor,Su=(n,t,e,i)=>{for(var r=i>1?void 0:i?L0(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 ol=class ju extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),this.vintage=j.ASHRAE_2019,this.type="_HeatCoolBase"}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"_HeatCoolBase")}static fromJS(t){t=typeof t=="object"?t:{};let e=new ju;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}};Su([b(j),c(),p()],ol.prototype,"vintage",2);Su([l(),p()],ol.prototype,"type",2);let Zs=ol;var U0=Object.defineProperty,Z0=Object.getOwnPropertyDescriptor,Au=(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&&U0(t,e,r),r};const sl=class Pu extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),this.vintage=j.ASHRAE_2019,this.type="_TemplateSystem"}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"_TemplateSystem")}static fromJS(t){t=typeof t=="object"?t:{};let e=new Pu;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}};Au([b(j),c(),p()],sl.prototype,"vintage",2);Au([l(),p()],sl.prototype,"type",2);let Ys=sl;var Y0=Object.defineProperty,X0=Object.getOwnPropertyDescriptor,al=(n,t,e,i)=>{for(var r=i>1?void 0:i?X0(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&&Y0(t,e,r),r};const Xs=class Cu 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 Cu;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()],Xs.prototype,"type",2);al([h(),p()],Xs.prototype,"air_mixing_per_area",2);al([p()],Xs.prototype,"air_mixing_schedule",2);let Qs=Xs;var Q0=Object.defineProperty,K0=Object.getOwnPropertyDescriptor,pl=(n,t,e,i)=>{for(var r=i>1?void 0:i?K0(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 Ks=class xu 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 xu;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()],Ks.prototype,"type",2);pl([h(),p()],Ks.prototype,"air_mixing_per_area",2);pl([l(),p()],Ks.prototype,"air_mixing_schedule",2);let kr=Ks;var cs=(n=>(n.ElectricBaseboard="ElectricBaseboard",n.BoilerBaseboard="BoilerBaseboard",n.ASHPBaseboard="ASHPBaseboard",n.DHWBaseboard="DHWBaseboard",n))(cs||{}),tb=Object.defineProperty,eb=Object.getOwnPropertyDescriptor,cl=(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&&tb(t,e,r),r};const ta=class Eu extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="Baseboard",this.equipment_type=cs.ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"Baseboard",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:cs.ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Eu;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(j),c(),p()],ta.prototype,"vintage",2);cl([l(),p()],ta.prototype,"type",2);cl([b(cs),c(),p()],ta.prototype,"equipment_type",2);let ea=ta;var ib=Object.defineProperty,rb=Object.getOwnPropertyDescriptor,Kn=(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&&ib(t,e,r),r};const tn=class Gu 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 Gu;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}};Kn([l(),p()],tn.prototype,"type",2);Kn([p()],tn.prototype,"interior_construction",2);Kn([p()],tn.prototype,"window_construction",2);Kn([p()],tn.prototype,"skylight_construction",2);Kn([p()],tn.prototype,"operable_construction",2);let ll=tn;var nb=Object.defineProperty,ob=Object.getOwnPropertyDescriptor,Du=(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&&nb(t,e,r),r};const hl=class Ju 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 Ju;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}};Du([m(),c({each:!0}),y()],hl.prototype,"materials",2);Du([l(),p()],hl.prototype,"type",2);let U=hl;var sb=Object.defineProperty,ab=Object.getOwnPropertyDescriptor,en=(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&&sb(t,e,r),r};const $i=class Mu 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 Mu;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}};en([l(),p()],$i.prototype,"type",2);en([d(U),c(),p()],$i.prototype,"interior_construction",2);en([d(U),c(),p()],$i.prototype,"exterior_construction",2);en([d(U),c(),p()],$i.prototype,"overhead_construction",2);en([p()],$i.prototype,"exterior_glass_construction",2);en([p()],$i.prototype,"interior_glass_construction",2);let _l=$i;var pb=Object.defineProperty,cb=Object.getOwnPropertyDescriptor,ia=(n,t,e,i)=>{for(var r=i>1?void 0:i?cb(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&&pb(t,e,r),r};const to=class Nu 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 Nu;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}};ia([d(U),c(),p()],to.prototype,"interior_construction",2);ia([d(U),c(),p()],to.prototype,"exterior_construction",2);ia([d(U),c(),p()],to.prototype,"ground_construction",2);ia([l(),p()],to.prototype,"type",2);let ul=to;var lb=Object.defineProperty,hb=Object.getOwnPropertyDescriptor,ra=(n,t,e,i)=>{for(var r=i>1?void 0:i?hb(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&&lb(t,e,r),r};const eo=class Ru 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 Ru;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}};ra([d(U),c(),p()],eo.prototype,"interior_construction",2);ra([d(U),c(),p()],eo.prototype,"exterior_construction",2);ra([d(U),c(),p()],eo.prototype,"ground_construction",2);ra([l(),p()],eo.prototype,"type",2);let yl=eo;var _b=Object.defineProperty,ub=Object.getOwnPropertyDescriptor,na=(n,t,e,i)=>{for(var r=i>1?void 0:i?ub(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&&_b(t,e,r),r};const io=class Vu 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 Vu;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}};na([l(),p()],io.prototype,"type",2);na([h(),p()],io.prototype,"solar_reflectance",2);na([h(),p()],io.prototype,"visible_reflectance",2);na([G(),p()],io.prototype,"is_specular",2);let Kt=io;var yb=Object.defineProperty,db=Object.getOwnPropertyDescriptor,oa=(n,t,e,i)=>{for(var r=i>1?void 0:i?db(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 ro=class Wu 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 Wu;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}};oa([d(U),c(),p()],ro.prototype,"interior_construction",2);oa([d(U),c(),p()],ro.prototype,"exterior_construction",2);oa([d(U),c(),p()],ro.prototype,"ground_construction",2);oa([l(),p()],ro.prototype,"type",2);let dl=ro;var fb=Object.defineProperty,mb=Object.getOwnPropertyDescriptor,Me=(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&&fb(t,e,r),r};const ee=class Bu 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 Bu;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}};Me([l(),p()],ee.prototype,"type",2);Me([d(dl),c(),p()],ee.prototype,"wall_set",2);Me([d(ul),c(),p()],ee.prototype,"floor_set",2);Me([d(yl),c(),p()],ee.prototype,"roof_ceiling_set",2);Me([d(ll),c(),p()],ee.prototype,"aperture_set",2);Me([d(_l),c(),p()],ee.prototype,"door_set",2);Me([d(Kt),c(),p()],ee.prototype,"shade_construction",2);Me([p()],ee.prototype,"air_boundary_construction",2);let sa=ee;var vb=Object.defineProperty,gb=Object.getOwnPropertyDescriptor,no=(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&&vb(t,e,r),r};const rn=class $u 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 $u;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}};no([l(),p()],rn.prototype,"type",2);no([l(),p()],rn.prototype,"interior_construction",2);no([l(),p()],rn.prototype,"window_construction",2);no([l(),p()],rn.prototype,"skylight_construction",2);no([l(),p()],rn.prototype,"operable_construction",2);let zr=rn;var bb=Object.defineProperty,wb=Object.getOwnPropertyDescriptor,nn=(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&&bb(t,e,r),r};const Hi=class Hu 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 Hu;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}};nn([l(),p()],Hi.prototype,"type",2);nn([l(),p()],Hi.prototype,"interior_construction",2);nn([l(),p()],Hi.prototype,"exterior_construction",2);nn([l(),p()],Hi.prototype,"overhead_construction",2);nn([l(),p()],Hi.prototype,"exterior_glass_construction",2);nn([l(),p()],Hi.prototype,"interior_glass_construction",2);let Lr=Hi;var Ob=Object.defineProperty,Sb=Object.getOwnPropertyDescriptor,jb=(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 Fu=class Iu extends so{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 Iu;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}};jb([l(),p()],Fu.prototype,"type",2);let Si=Fu;var Ab=Object.defineProperty,Pb=Object.getOwnPropertyDescriptor,Cb=(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 qu=class Tu extends so{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 Tu;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}};Cb([l(),p()],qu.prototype,"type",2);let ji=qu;var xb=Object.defineProperty,Eb=Object.getOwnPropertyDescriptor,aa=(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&&xb(t,e,r),r};const oo=class ku 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 Ai;return i.init(t),i}if(t.type==="RoofCeilingConstructionSetAbridged"){let i=new Si;return i.init(t),i}let e=new ku;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}};aa([l(),p()],oo.prototype,"interior_construction",2);aa([l(),p()],oo.prototype,"exterior_construction",2);aa([l(),p()],oo.prototype,"ground_construction",2);aa([l(),p()],oo.prototype,"type",2);let so=oo;var Gb=Object.defineProperty,Db=Object.getOwnPropertyDescriptor,Jb=(n,t,e,i)=>{for(var r=i>1?void 0:i?Db(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 zu=class Lu extends so{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 Lu;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}};Jb([l(),p()],zu.prototype,"type",2);let Ai=zu;var Mb=Object.defineProperty,Nb=Object.getOwnPropertyDescriptor,Ne=(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&&Mb(t,e,r),r};const ie=class Uu 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 Uu;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}};Ne([l(),p()],ie.prototype,"type",2);Ne([d(ji),c(),p()],ie.prototype,"wall_set",2);Ne([d(Ai),c(),p()],ie.prototype,"floor_set",2);Ne([d(Si),c(),p()],ie.prototype,"roof_ceiling_set",2);Ne([d(zr),c(),p()],ie.prototype,"aperture_set",2);Ne([d(Lr),c(),p()],ie.prototype,"door_set",2);Ne([l(),p()],ie.prototype,"shade_construction",2);Ne([l(),p()],ie.prototype,"air_boundary_construction",2);let pa=ie;var Rb=Object.defineProperty,Vb=Object.getOwnPropertyDescriptor,Zu=(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&&Rb(t,e,r),r};const fl=class Yu 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 Yu;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}};Zu([y()],fl.prototype,"specification",2);Zu([l(),p()],fl.prototype,"type",2);let ca=fl;var Wb=Object.defineProperty,Bb=Object.getOwnPropertyDescriptor,on=(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&&Wb(t,e,r),r};const Fi=class Xu 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 Xu;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}};on([h(),y()],Fi.prototype,"watts_per_area",2);on([y()],Fi.prototype,"schedule",2);on([h(),p()],Fi.prototype,"radiant_fraction",2);on([h(),p()],Fi.prototype,"latent_fraction",2);on([h(),p()],Fi.prototype,"lost_fraction",2);on([l(),p()],Fi.prototype,"type",2);let ao=Fi;var Bt=(n=>(n.VeryRough="VeryRough",n.Rough="Rough",n.MediumRough="MediumRough",n.MediumSmooth="MediumSmooth",n.Smooth="Smooth",n.VerySmooth="VerySmooth",n))(Bt||{}),$b=Object.defineProperty,Hb=Object.getOwnPropertyDescriptor,re=(n,t,e,i)=>{for(var r=i>1?void 0:i?Hb(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&&$b(t,e,r),r};const Ht=class Qu 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=Bt.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:Bt.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 Qu;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()],Ht.prototype,"thickness",2);re([h(),y()],Ht.prototype,"conductivity",2);re([h(),y()],Ht.prototype,"density",2);re([h(),y()],Ht.prototype,"specific_heat",2);re([l(),p()],Ht.prototype,"type",2);re([b(Bt),c(),p()],Ht.prototype,"roughness",2);re([h(),p()],Ht.prototype,"thermal_absorptance",2);re([h(),p()],Ht.prototype,"solar_absorptance",2);re([h(),p()],Ht.prototype,"visible_absorptance",2);let B=Ht;var Fb=Object.defineProperty,Ib=Object.getOwnPropertyDescriptor,sn=(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&&Fb(t,e,r),r};const Ii=class Ku 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=Bt.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:Bt.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 Ku;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}};sn([h(),y()],Ii.prototype,"r_value",2);sn([l(),p()],Ii.prototype,"type",2);sn([b(Bt),c(),p()],Ii.prototype,"roughness",2);sn([h(),p()],Ii.prototype,"thermal_absorptance",2);sn([h(),p()],Ii.prototype,"solar_absorptance",2);sn([h(),p()],Ii.prototype,"visible_absorptance",2);let la=Ii;var ls=(n=>(n.Simple="Simple",n.Advanced="Advanced",n))(ls||{}),qb=Object.defineProperty,Tb=Object.getOwnPropertyDescriptor,K=(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&&qb(t,e,r),r};const Z=class ty 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=Bt.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=ls.Simple}init(t){super.init(t),t&&(this.type=t.type!==void 0?t.type:"EnergyMaterialVegetation",this.roughness=t.roughness!==void 0?t.roughness:Bt.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:ls.Simple)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ty;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}};K([l(),p()],Z.prototype,"type",2);K([b(Bt),c(),p()],Z.prototype,"roughness",2);K([h(),p()],Z.prototype,"thickness",2);K([h(),p()],Z.prototype,"conductivity",2);K([h(),p()],Z.prototype,"density",2);K([h(),p()],Z.prototype,"specific_heat",2);K([h(),p()],Z.prototype,"soil_thermal_absorptance",2);K([h(),p()],Z.prototype,"soil_solar_absorptance",2);K([h(),p()],Z.prototype,"soil_visible_absorptance",2);K([h(),p()],Z.prototype,"plant_height",2);K([h(),p()],Z.prototype,"leaf_area_index",2);K([h(),p()],Z.prototype,"leaf_reflectivity",2);K([h(),p()],Z.prototype,"leaf_emissivity",2);K([h(),p()],Z.prototype,"min_stomatal_resist",2);K([h(),p()],Z.prototype,"sat_vol_moist_cont",2);K([h(),p()],Z.prototype,"residual_vol_moist_cont",2);K([h(),p()],Z.prototype,"init_vol_moist_cont",2);K([b(ls),c(),p()],Z.prototype,"moist_diff_model",2);let ha=Z;var kb=Object.defineProperty,zb=Object.getOwnPropertyDescriptor,ne=(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&&kb(t,e,r),r};const Ft=class ey 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 ey;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()],Ft.prototype,"width",2);ne([h(),y()],Ft.prototype,"conductance",2);ne([l(),p()],Ft.prototype,"type",2);ne([h(),p()],Ft.prototype,"edge_to_center_ratio",2);ne([h(),p()],Ft.prototype,"outside_projection",2);ne([h(),p()],Ft.prototype,"inside_projection",2);ne([h(),p()],Ft.prototype,"thermal_absorptance",2);ne([h(),p()],Ft.prototype,"solar_absorptance",2);ne([h(),p()],Ft.prototype,"visible_absorptance",2);let po=Ft;var hs=(n=>(n.Horizontal="Horizontal",n.Vertical="Vertical",n))(hs||{}),Lb=Object.defineProperty,Ub=Object.getOwnPropertyDescriptor,I=(n,t,e,i)=>{for(var r=i>1?void 0:i?Ub(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&&Lb(t,e,r),r};const H=class iy 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=hs.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:hs.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 iy;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()],H.prototype,"type",2);I([b(hs),c(),p()],H.prototype,"slat_orientation",2);I([h(),p()],H.prototype,"slat_width",2);I([h(),p()],H.prototype,"slat_separation",2);I([h(),p()],H.prototype,"slat_thickness",2);I([h(),p()],H.prototype,"slat_angle",2);I([h(),p()],H.prototype,"slat_conductivity",2);I([h(),p()],H.prototype,"beam_solar_transmittance",2);I([h(),p()],H.prototype,"beam_solar_reflectance",2);I([h(),p()],H.prototype,"beam_solar_reflectance_back",2);I([h(),p()],H.prototype,"diffuse_solar_transmittance",2);I([h(),p()],H.prototype,"diffuse_solar_reflectance",2);I([h(),p()],H.prototype,"diffuse_solar_reflectance_back",2);I([h(),p()],H.prototype,"beam_visible_transmittance",2);I([h(),p()],H.prototype,"beam_visible_reflectance",2);I([h(),p()],H.prototype,"beam_visible_reflectance_back",2);I([h(),p()],H.prototype,"diffuse_visible_transmittance",2);I([h(),p()],H.prototype,"diffuse_visible_reflectance",2);I([h(),p()],H.prototype,"diffuse_visible_reflectance_back",2);I([h(),p()],H.prototype,"infrared_transmittance",2);I([h(),p()],H.prototype,"emissivity",2);I([h(),p()],H.prototype,"emissivity_back",2);I([h(),p()],H.prototype,"distance_to_glass",2);I([h(),p()],H.prototype,"top_opening_multiplier",2);I([h(),p()],H.prototype,"bottom_opening_multiplier",2);I([h(),p()],H.prototype,"left_opening_multiplier",2);I([h(),p()],H.prototype,"right_opening_multiplier",2);let _a=H;var _s=(n=>(n.Air="Air",n.Argon="Argon",n.Krypton="Krypton",n.Xenon="Xenon",n))(_s||{}),Zb=Object.defineProperty,Yb=Object.getOwnPropertyDescriptor,ml=(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&&Zb(t,e,r),r};const ua=class ry extends O{constructor(){super(),a(this,"type"),a(this,"thickness"),a(this,"gas_type"),this.type="EnergyWindowMaterialGas",this.thickness=.0125,this.gas_type=_s.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:_s.Air)}static fromJS(t){t=typeof t=="object"?t:{};let e=new ry;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()],ua.prototype,"type",2);ml([h(),p()],ua.prototype,"thickness",2);ml([b(_s),c(),p()],ua.prototype,"gas_type",2);let Ur=ua;var Xb=Object.defineProperty,Qb=Object.getOwnPropertyDescriptor,yt=(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&&Xb(t,e,r),r};const at=class ny 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 ny;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()],at.prototype,"conductivity_coeff_a",2);yt([h(),y()],at.prototype,"viscosity_coeff_a",2);yt([h(),y()],at.prototype,"specific_heat_coeff_a",2);yt([h(),y()],at.prototype,"specific_heat_ratio",2);yt([h(),y()],at.prototype,"molecular_weight",2);yt([l(),p()],at.prototype,"type",2);yt([h(),p()],at.prototype,"thickness",2);yt([h(),p()],at.prototype,"conductivity_coeff_b",2);yt([h(),p()],at.prototype,"conductivity_coeff_c",2);yt([h(),p()],at.prototype,"viscosity_coeff_b",2);yt([h(),p()],at.prototype,"viscosity_coeff_c",2);yt([h(),p()],at.prototype,"specific_heat_coeff_b",2);yt([h(),p()],at.prototype,"specific_heat_coeff_c",2);let ya=at;var Kb=Object.defineProperty,tw=Object.getOwnPropertyDescriptor,da=(n,t,e,i)=>{for(var r=i>1?void 0:i?tw(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&&Kb(t,e,r),r};const co=class oy 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 oy;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}};da([m(),c({each:!0}),y()],co.prototype,"gas_types",2);da([m(),c({each:!0}),y()],co.prototype,"gas_fractions",2);da([l(),p()],co.prototype,"type",2);da([h(),p()],co.prototype,"thickness",2);let fa=co;var ew=Object.defineProperty,iw=Object.getOwnPropertyDescriptor,rw=(n,t,e,i)=>{for(var r=i>1?void 0:i?iw(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 sy=class ay 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 ay;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}};rw([l(),p()],sy.prototype,"type",2);let N=sy;var nw=Object.defineProperty,ow=Object.getOwnPropertyDescriptor,pt=(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&&nw(t,e,r),r};const ot=class py 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 N,this.visible_transmittance=.9,this.visible_reflectance=.075,this.visible_reflectance_back=new N,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 N,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 N,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 py;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}};pt([l(),p()],ot.prototype,"type",2);pt([h(),p()],ot.prototype,"thickness",2);pt([h(),p()],ot.prototype,"solar_transmittance",2);pt([h(),p()],ot.prototype,"solar_reflectance",2);pt([p()],ot.prototype,"solar_reflectance_back",2);pt([h(),p()],ot.prototype,"visible_transmittance",2);pt([h(),p()],ot.prototype,"visible_reflectance",2);pt([p()],ot.prototype,"visible_reflectance_back",2);pt([h(),p()],ot.prototype,"infrared_transmittance",2);pt([h(),p()],ot.prototype,"emissivity",2);pt([h(),p()],ot.prototype,"emissivity_back",2);pt([h(),p()],ot.prototype,"conductivity",2);pt([h(),p()],ot.prototype,"dirt_correction",2);pt([G(),p()],ot.prototype,"solar_diffusing",2);let je=ot;var sw=Object.defineProperty,aw=Object.getOwnPropertyDescriptor,st=(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&&sw(t,e,r),r};const rt=class cy 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 cy;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}};st([l(),p()],rt.prototype,"type",2);st([h(),p()],rt.prototype,"solar_transmittance",2);st([h(),p()],rt.prototype,"solar_reflectance",2);st([h(),p()],rt.prototype,"visible_transmittance",2);st([h(),p()],rt.prototype,"visible_reflectance",2);st([h(),p()],rt.prototype,"emissivity",2);st([h(),p()],rt.prototype,"infrared_transmittance",2);st([h(),p()],rt.prototype,"thickness",2);st([h(),p()],rt.prototype,"conductivity",2);st([h(),p()],rt.prototype,"distance_to_glass",2);st([h(),p()],rt.prototype,"top_opening_multiplier",2);st([h(),p()],rt.prototype,"bottom_opening_multiplier",2);st([h(),p()],rt.prototype,"left_opening_multiplier",2);st([h(),p()],rt.prototype,"right_opening_multiplier",2);st([h(),p()],rt.prototype,"airflow_permeability",2);let ma=rt;var pw=Object.defineProperty,cw=Object.getOwnPropertyDescriptor,va=(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 lo=class ly 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 ly;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}};va([h(),y()],lo.prototype,"u_factor",2);va([h(),y()],lo.prototype,"shgc",2);va([l(),p()],lo.prototype,"type",2);va([h(),p()],lo.prototype,"vt",2);let ga=lo;var us=(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))(us||{}),lw=Object.defineProperty,hw=Object.getOwnPropertyDescriptor,vl=(n,t,e,i)=>{for(var r=i>1?void 0:i?hw(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&&lw(t,e,r),r};const ba=class hy extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="EvaporativeCooler",this.equipment_type=us.EvapCoolers_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"EvaporativeCooler",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:us.EvapCoolers_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new hy;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(j),c(),p()],ba.prototype,"vintage",2);vl([l(),p()],ba.prototype,"type",2);vl([b(us),c(),p()],ba.prototype,"equipment_type",2);let wa=ba;var ys=(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))(ys||{}),_w=Object.defineProperty,uw=Object.getOwnPropertyDescriptor,gl=(n,t,e,i)=>{for(var r=i>1?void 0:i?uw(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&&_w(t,e,r),r};const Oa=class _y extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="FCU",this.equipment_type=ys.FCU_Chiller_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"FCU",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:ys.FCU_Chiller_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new _y;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(j),c(),p()],Oa.prototype,"vintage",2);gl([l(),p()],Oa.prototype,"type",2);gl([b(ys),c(),p()],Oa.prototype,"equipment_type",2);let Sa=Oa;var ds=(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))(ds||{}),yw=Object.defineProperty,dw=Object.getOwnPropertyDescriptor,qi=(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&&yw(t,e,r),r};const Re=class uy 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=j.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="FCUwithDOASAbridged",this.equipment_type=ds.DOAS_FCU_Chiller_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.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:ds.DOAS_FCU_Chiller_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new uy;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}};qi([b(j),c(),p()],Re.prototype,"vintage",2);qi([h(),p()],Re.prototype,"sensible_heat_recovery",2);qi([h(),p()],Re.prototype,"latent_heat_recovery",2);qi([G(),p()],Re.prototype,"demand_controlled_ventilation",2);qi([l(),p()],Re.prototype,"doas_availability_schedule",2);qi([l(),p()],Re.prototype,"type",2);qi([b(ds),c(),p()],Re.prototype,"equipment_type",2);let ja=Re;var fs=(n=>(n.Furnace="Furnace",n.Furnace_Electric="Furnace_Electric",n))(fs||{}),fw=Object.defineProperty,mw=Object.getOwnPropertyDescriptor,bl=(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&&fw(t,e,r),r};const Aa=class yy extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="ForcedAirFurnace",this.equipment_type=fs.Furnace}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"ForcedAirFurnace",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:fs.Furnace)}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.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(j),c(),p()],Aa.prototype,"vintage",2);bl([l(),p()],Aa.prototype,"type",2);bl([b(fs),c(),p()],Aa.prototype,"equipment_type",2);let Pa=Aa;var vw=Object.defineProperty,gw=Object.getOwnPropertyDescriptor,an=(n,t,e,i)=>{for(var r=i>1?void 0:i?gw(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 Ti=class dy 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 dy;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}};an([h(),y()],Ti.prototype,"watts_per_area",2);an([y()],Ti.prototype,"schedule",2);an([h(),p()],Ti.prototype,"radiant_fraction",2);an([h(),p()],Ti.prototype,"latent_fraction",2);an([h(),p()],Ti.prototype,"lost_fraction",2);an([l(),p()],Ti.prototype,"type",2);let ho=Ti;var ms=(n=>(n.GasHeaters="GasHeaters",n))(ms||{}),bw=Object.defineProperty,ww=Object.getOwnPropertyDescriptor,wl=(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&&bw(t,e,r),r};const Ca=class fy extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="GasUnitHeater",this.equipment_type=ms.GasHeaters}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"GasUnitHeater",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:ms.GasHeaters)}static fromJS(t){t=typeof t=="object"?t:{};let e=new fy;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(j),c(),p()],Ca.prototype,"vintage",2);wl([l(),p()],Ca.prototype,"type",2);wl([b(ms),c(),p()],Ca.prototype,"equipment_type",2);let xa=Ca;var Ow=Object.defineProperty,Sw=Object.getOwnPropertyDescriptor,jw=(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 my=class vy 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 vy;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}};jw([l(),p()],my.prototype,"type",2);let qr=my;var vs=(n=>(n.NoEconomizer="NoEconomizer",n.DifferentialDryBulb="DifferentialDryBulb",n.DifferentialEnthalpy="DifferentialEnthalpy",n))(vs||{}),Aw=Object.defineProperty,Pw=Object.getOwnPropertyDescriptor,Ct=(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 gt=class gy 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=vs.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 qr,this.cooling_limit=new qr}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:vs.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 qr,this.cooling_limit=t.cooling_limit!==void 0?t.cooling_limit:new qr,this.heating_availability=t.heating_availability,this.cooling_availability=t.cooling_availability)}static fromJS(t){t=typeof t=="object"?t:{};let e=new gy;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}};Ct([l(),p()],gt.prototype,"type",2);Ct([b(vs),c(),p()],gt.prototype,"economizer_type",2);Ct([G(),p()],gt.prototype,"demand_controlled_ventilation",2);Ct([h(),p()],gt.prototype,"sensible_heat_recovery",2);Ct([h(),p()],gt.prototype,"latent_heat_recovery",2);Ct([h(),p()],gt.prototype,"heating_air_temperature",2);Ct([h(),p()],gt.prototype,"cooling_air_temperature",2);Ct([p()],gt.prototype,"heating_limit",2);Ct([p()],gt.prototype,"cooling_limit",2);Ct([l(),p()],gt.prototype,"heating_availability",2);Ct([l(),p()],gt.prototype,"cooling_availability",2);let Ea=gt;var Cw=Object.defineProperty,xw=Object.getOwnPropertyDescriptor,pn=(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&&Cw(t,e,r),r};const ki=class by 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 by;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()],ki.prototype,"flow_per_exterior_area",2);pn([y()],ki.prototype,"schedule",2);pn([l(),p()],ki.prototype,"type",2);pn([h(),p()],ki.prototype,"constant_coefficient",2);pn([h(),p()],ki.prototype,"temperature_coefficient",2);pn([h(),p()],ki.prototype,"velocity_coefficient",2);let _o=ki;var Ew=Object.defineProperty,Gw=Object.getOwnPropertyDescriptor,cn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Gw(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 zi=class wy 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 wy;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()],zi.prototype,"flow_per_exterior_area",2);cn([l(),y()],zi.prototype,"schedule",2);cn([l(),p()],zi.prototype,"type",2);cn([h(),p()],zi.prototype,"constant_coefficient",2);cn([h(),p()],zi.prototype,"temperature_coefficient",2);cn([h(),p()],zi.prototype,"velocity_coefficient",2);let ln=zi;var Dw=Object.defineProperty,Jw=Object.getOwnPropertyDescriptor,Ol=(n,t,e,i)=>{for(var r=i>1?void 0:i?Jw(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 Ga=class Oy 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 Oy;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()],Ga.prototype,"construction",2);Ol([h(),y()],Ga.prototype,"area",2);Ol([l(),p()],Ga.prototype,"type",2);let Da=Ga;var Mw=Object.defineProperty,Nw=Object.getOwnPropertyDescriptor,Li=(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&&Mw(t,e,r),r};const Ve=class Sy 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 Sy;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}};Li([h(),y()],Ve.prototype,"watts_per_area",2);Li([y()],Ve.prototype,"schedule",2);Li([l(),p()],Ve.prototype,"type",2);Li([h(),p()],Ve.prototype,"visible_fraction",2);Li([h(),p()],Ve.prototype,"radiant_fraction",2);Li([h(),p()],Ve.prototype,"return_air_fraction",2);Li([h(),p()],Ve.prototype,"baseline_watts_per_area",2);let uo=Ve;var Rw=Object.defineProperty,Vw=Object.getOwnPropertyDescriptor,Ui=(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&&Rw(t,e,r),r};const We=class jy 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 jy;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}};Ui([h(),y()],We.prototype,"watts_per_area",2);Ui([l(),y()],We.prototype,"schedule",2);Ui([l(),p()],We.prototype,"type",2);Ui([h(),p()],We.prototype,"visible_fraction",2);Ui([h(),p()],We.prototype,"radiant_fraction",2);Ui([h(),p()],We.prototype,"return_air_fraction",2);Ui([h(),p()],We.prototype,"baseline_watts_per_area",2);let hn=We;var Ww=Object.defineProperty,Bw=Object.getOwnPropertyDescriptor,Ay=(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&&Ww(t,e,r),r};const Sl=class Py 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 Py;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}};Ay([m(),c({each:!0}),y()],Sl.prototype,"materials",2);Ay([l(),p()],Sl.prototype,"type",2);let q=Sl;var $w=Object.defineProperty,Hw=Object.getOwnPropertyDescriptor,_n=(n,t,e,i)=>{for(var r=i>1?void 0:i?Hw(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&&$w(t,e,r),r};const Zi=class Cy 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 N}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 N)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Cy;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()],Zi.prototype,"people_per_area",2);_n([y()],Zi.prototype,"occupancy_schedule",2);_n([l(),p()],Zi.prototype,"type",2);_n([p()],Zi.prototype,"activity_schedule",2);_n([h(),p()],Zi.prototype,"radiant_fraction",2);_n([p()],Zi.prototype,"latent_fraction",2);let yo=Zi;var Fw=Object.defineProperty,Iw=Object.getOwnPropertyDescriptor,un=(n,t,e,i)=>{for(var r=i>1?void 0:i?Iw(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&&Fw(t,e,r),r};const Yi=class xy 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 N}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 N)}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.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()],Yi.prototype,"people_per_area",2);un([l(),y()],Yi.prototype,"occupancy_schedule",2);un([l(),p()],Yi.prototype,"type",2);un([l(),p()],Yi.prototype,"activity_schedule",2);un([h(),p()],Yi.prototype,"radiant_fraction",2);un([p()],Yi.prototype,"latent_fraction",2);let yn=Yi;var Ey=(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))(Ey||{}),qw=Object.defineProperty,Tw=Object.getOwnPropertyDescriptor,Be=(n,t,e,i)=>{for(var r=i>1?void 0:i?Tw(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 oe=class Gy 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 Gy;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}};Be([h(),y()],oe.prototype,"watts",2);Be([l(),y()],oe.prototype,"schedule",2);Be([b(Ey),c(),y()],oe.prototype,"fuel_type",2);Be([l(),p()],oe.prototype,"type",2);Be([l(),p()],oe.prototype,"end_use_category",2);Be([h(),p()],oe.prototype,"radiant_fraction",2);Be([h(),p()],oe.prototype,"latent_fraction",2);Be([h(),p()],oe.prototype,"lost_fraction",2);let Ja=oe;var kw=Object.defineProperty,zw=Object.getOwnPropertyDescriptor,dn=(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&&kw(t,e,r),r};const Xi=class Dy 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 Dy;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()],Xi.prototype,"flow_per_area",2);dn([y()],Xi.prototype,"schedule",2);dn([l(),p()],Xi.prototype,"type",2);dn([h(),p()],Xi.prototype,"target_temperature",2);dn([h(),p()],Xi.prototype,"sensible_fraction",2);dn([h(),p()],Xi.prototype,"latent_fraction",2);let fo=Xi;var Lw=Object.defineProperty,Uw=Object.getOwnPropertyDescriptor,fn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Uw(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&&Lw(t,e,r),r};const Qi=class Jy 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 Jy;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()],Qi.prototype,"cooling_schedule",2);fn([y()],Qi.prototype,"heating_schedule",2);fn([l(),p()],Qi.prototype,"type",2);fn([p()],Qi.prototype,"humidifying_schedule",2);fn([p()],Qi.prototype,"dehumidifying_schedule",2);fn([h(),p()],Qi.prototype,"setpoint_cutout_difference",2);let mo=Qi;var Zw=Object.defineProperty,Yw=Object.getOwnPropertyDescriptor,mn=(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&&Zw(t,e,r),r};const Ki=class My 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 My;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()],Ki.prototype,"type",2);mn([h(),p()],Ki.prototype,"flow_per_person",2);mn([h(),p()],Ki.prototype,"flow_per_area",2);mn([h(),p()],Ki.prototype,"air_changes_per_hour",2);mn([h(),p()],Ki.prototype,"flow_per_zone",2);mn([p()],Ki.prototype,"schedule",2);let vo=Ki;var Xw=Object.defineProperty,Qw=Object.getOwnPropertyDescriptor,se=(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&&Xw(t,e,r),r};const It=class Ny 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 Ny;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()],It.prototype,"type",2);se([d(yo),c(),p()],It.prototype,"people",2);se([d(uo),c(),p()],It.prototype,"lighting",2);se([d(ao),c(),p()],It.prototype,"electric_equipment",2);se([d(ho),c(),p()],It.prototype,"gas_equipment",2);se([d(fo),c(),p()],It.prototype,"service_hot_water",2);se([d(_o),c(),p()],It.prototype,"infiltration",2);se([d(vo),c(),p()],It.prototype,"ventilation",2);se([d(mo),c(),p()],It.prototype,"setpoint",2);let Ma=It;var Kw=Object.defineProperty,tO=Object.getOwnPropertyDescriptor,vn=(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&&Kw(t,e,r),r};const tr=class Ry 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 Ry;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()],tr.prototype,"flow_per_area",2);vn([l(),y()],tr.prototype,"schedule",2);vn([l(),p()],tr.prototype,"type",2);vn([h(),p()],tr.prototype,"target_temperature",2);vn([h(),p()],tr.prototype,"sensible_fraction",2);vn([h(),p()],tr.prototype,"latent_fraction",2);let gn=tr;var eO=Object.defineProperty,iO=Object.getOwnPropertyDescriptor,bn=(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&&eO(t,e,r),r};const er=class Vy 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 Vy;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()],er.prototype,"cooling_schedule",2);bn([l(),y()],er.prototype,"heating_schedule",2);bn([l(),p()],er.prototype,"type",2);bn([l(),p()],er.prototype,"humidifying_schedule",2);bn([l(),p()],er.prototype,"dehumidifying_schedule",2);bn([h(),p()],er.prototype,"setpoint_cutout_difference",2);let wn=er;var rO=Object.defineProperty,nO=Object.getOwnPropertyDescriptor,On=(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&&rO(t,e,r),r};const ir=class Wy 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 Wy;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()],ir.prototype,"type",2);On([h(),p()],ir.prototype,"flow_per_person",2);On([h(),p()],ir.prototype,"flow_per_area",2);On([h(),p()],ir.prototype,"air_changes_per_hour",2);On([h(),p()],ir.prototype,"flow_per_zone",2);On([l(),p()],ir.prototype,"schedule",2);let Sn=ir;var oO=Object.defineProperty,sO=Object.getOwnPropertyDescriptor,ae=(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 qt=class By 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 By;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()],qt.prototype,"type",2);ae([d(yn),c(),p()],qt.prototype,"people",2);ae([d(hn),c(),p()],qt.prototype,"lighting",2);ae([d(Vi),c(),p()],qt.prototype,"electric_equipment",2);ae([d(Wi),c(),p()],qt.prototype,"gas_equipment",2);ae([d(gn),c(),p()],qt.prototype,"service_hot_water",2);ae([d(ln),c(),p()],qt.prototype,"infiltration",2);ae([d(Sn),c(),p()],qt.prototype,"ventilation",2);ae([d(wn),c(),p()],qt.prototype,"setpoint",2);let Na=qt;var gs=(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))(gs||{}),aO=Object.defineProperty,pO=Object.getOwnPropertyDescriptor,rr=(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 $e=class $y 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=j.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=gs.PSZAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.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:gs.PSZAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new $y;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(j),c(),p()],$e.prototype,"vintage",2);rr([b(ut),c(),p()],$e.prototype,"economizer_type",2);rr([h(),p()],$e.prototype,"sensible_heat_recovery",2);rr([h(),p()],$e.prototype,"latent_heat_recovery",2);rr([G(),p()],$e.prototype,"demand_controlled_ventilation",2);rr([l(),p()],$e.prototype,"type",2);rr([b(gs),c(),p()],$e.prototype,"equipment_type",2);let Ra=$e;var bs=(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))(bs||{}),cO=Object.defineProperty,lO=Object.getOwnPropertyDescriptor,jl=(n,t,e,i)=>{for(var r=i>1?void 0:i?lO(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 Va=class Hy extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="PTAC",this.equipment_type=bs.PTAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"PTAC",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:bs.PTAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Hy;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(j),c(),p()],Va.prototype,"vintage",2);jl([l(),p()],Va.prototype,"type",2);jl([b(bs),c(),p()],Va.prototype,"equipment_type",2);let Wa=Va;var ws=(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))(ws||{}),hO=Object.defineProperty,_O=Object.getOwnPropertyDescriptor,nr=(n,t,e,i)=>{for(var r=i>1?void 0:i?_O(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&&hO(t,e,r),r};const He=class Fy 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=j.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=ws.PVAV_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.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:ws.PVAV_Boiler)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Fy;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}};nr([b(j),c(),p()],He.prototype,"vintage",2);nr([b(ut),c(),p()],He.prototype,"economizer_type",2);nr([h(),p()],He.prototype,"sensible_heat_recovery",2);nr([h(),p()],He.prototype,"latent_heat_recovery",2);nr([G(),p()],He.prototype,"demand_controlled_ventilation",2);nr([l(),p()],He.prototype,"type",2);nr([b(ws),c(),p()],He.prototype,"equipment_type",2);let Ba=He;var Os=(n=>(n.Standard="Standard",n.Premium="Premium",n.ThinFilm="ThinFilm",n))(Os||{}),Ss=(n=>(n.FixedOpenRack="FixedOpenRack",n.FixedRoofMounted="FixedRoofMounted",n.OneAxis="OneAxis",n.OneAxisBacktracking="OneAxisBacktracking",n.TwoAxis="TwoAxis",n))(Ss||{}),uO=Object.defineProperty,yO=Object.getOwnPropertyDescriptor,jn=(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&&uO(t,e,r),r};const or=class Iy extends fr{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=Os.Standard,this.mounting_type=Ss.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:Os.Standard,this.mounting_type=t.mounting_type!==void 0?t.mounting_type:Ss.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 Iy;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()],or.prototype,"type",2);jn([h(),p()],or.prototype,"rated_efficiency",2);jn([h(),p()],or.prototype,"active_area_fraction",2);jn([b(Os),c(),p()],or.prototype,"module_type",2);jn([b(Ss),c(),p()],or.prototype,"mounting_type",2);jn([h(),p()],or.prototype,"system_loss_fraction",2);let $a=or;var js=(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))(js||{}),Pi=(n=>(n.Floor="Floor",n.Ceiling="Ceiling",n.FloorWithCarpet="FloorWithCarpet",n.CeilingMetalPanel="CeilingMetalPanel",n.FloorWithHardwood="FloorWithHardwood",n))(Pi||{}),dO=Object.defineProperty,fO=Object.getOwnPropertyDescriptor,An=(n,t,e,i)=>{for(var r=i>1?void 0:i?fO(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 sr=class qy 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=j.ASHRAE_2019,this.type="Radiant",this.equipment_type=js.Radiant_Chiller_Boiler,this.radiant_face_type=Pi.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:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"Radiant",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:js.Radiant_Chiller_Boiler,this.radiant_face_type=t.radiant_face_type!==void 0?t.radiant_face_type:Pi.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 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.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(j),c(),p()],sr.prototype,"vintage",2);An([l(),p()],sr.prototype,"type",2);An([b(js),c(),p()],sr.prototype,"equipment_type",2);An([b(Pi),c(),p()],sr.prototype,"radiant_face_type",2);An([h(),p()],sr.prototype,"minimum_operation_time",2);An([h(),p()],sr.prototype,"switch_over_time",2);let Ha=sr;var As=(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))(As||{}),mO=Object.defineProperty,vO=Object.getOwnPropertyDescriptor,Tt=(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&&mO(t,e,r),r};const xt=class Ty 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=j.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="RadiantwithDOASAbridged",this.equipment_type=As.DOAS_Radiant_Chiller_Boiler,this.radiant_face_type=Pi.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:j.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:As.DOAS_Radiant_Chiller_Boiler,this.radiant_face_type=t.radiant_face_type!==void 0?t.radiant_face_type:Pi.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 Ty;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}};Tt([b(j),c(),p()],xt.prototype,"vintage",2);Tt([h(),p()],xt.prototype,"sensible_heat_recovery",2);Tt([h(),p()],xt.prototype,"latent_heat_recovery",2);Tt([G(),p()],xt.prototype,"demand_controlled_ventilation",2);Tt([l(),p()],xt.prototype,"doas_availability_schedule",2);Tt([l(),p()],xt.prototype,"type",2);Tt([b(As),c(),p()],xt.prototype,"equipment_type",2);Tt([b(Pi),c(),p()],xt.prototype,"radiant_face_type",2);Tt([h(),p()],xt.prototype,"minimum_operation_time",2);Tt([h(),p()],xt.prototype,"switch_over_time",2);let Fa=xt;var Ps=(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))(Ps||{}),gO=Object.defineProperty,bO=Object.getOwnPropertyDescriptor,Al=(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&&gO(t,e,r),r};const Ia=class ky extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="Residential",this.equipment_type=Ps.ResidentialAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"Residential",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Ps.ResidentialAC_ElectricBaseboard)}static fromJS(t){t=typeof t=="object"?t:{};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.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(j),c(),p()],Ia.prototype,"vintage",2);Al([l(),p()],Ia.prototype,"type",2);Al([b(Ps),c(),p()],Ia.prototype,"equipment_type",2);let qa=Ia;var wO=Object.defineProperty,OO=Object.getOwnPropertyDescriptor,Ta=(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&&wO(t,e,r),r};const go=class zy extends fr{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 zy;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}};Ta([m(),c({each:!0}),y()],go.prototype,"values",2);Ta([l(),p()],go.prototype,"type",2);Ta([m(),c({each:!0}),p()],go.prototype,"times",2);Ta([G(),p()],go.prototype,"interpolate",2);let Pl=go;var SO=Object.defineProperty,jO=Object.getOwnPropertyDescriptor,AO=(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&&SO(t,e,r),r};const Ly=class Uy 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 Uy;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}};AO([l(),p()],Ly.prototype,"type",2);let Tr=Ly;var Cs=(n=>(n.Continuous="Continuous",n.Discrete="Discrete",n))(Cs||{}),xs=(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))(xs||{}),PO=Object.defineProperty,CO=Object.getOwnPropertyDescriptor,bo=(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 Pn=class Zy extends fr{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 Tr,this.upper_limit=new Tr,this.numeric_type=Cs.Continuous,this.unit_type=xs.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 Tr,this.upper_limit=t.upper_limit!==void 0?t.upper_limit:new Tr,this.numeric_type=t.numeric_type!==void 0?t.numeric_type:Cs.Continuous,this.unit_type=t.unit_type!==void 0?t.unit_type:xs.Dimensionless)}static fromJS(t){t=typeof t=="object"?t:{};let e=new Zy;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}};bo([l(),p()],Pn.prototype,"type",2);bo([p()],Pn.prototype,"lower_limit",2);bo([p()],Pn.prototype,"upper_limit",2);bo([b(Cs),c(),p()],Pn.prototype,"numeric_type",2);bo([b(xs),c(),p()],Pn.prototype,"unit_type",2);let wo=Pn;var xO=Object.defineProperty,EO=Object.getOwnPropertyDescriptor,ar=(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&&xO(t,e,r),r};const Fe=class Yy 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 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.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}};ar([m(),c({each:!0}),y()],Fe.prototype,"values",2);ar([l(),p()],Fe.prototype,"type",2);ar([d(wo),c(),p()],Fe.prototype,"schedule_type_limit",2);ar([$t(),p()],Fe.prototype,"timestep",2);ar([m(),c({each:!0}),p()],Fe.prototype,"start_date",2);ar([h(),p()],Fe.prototype,"placeholder_value",2);ar([G(),p()],Fe.prototype,"interpolate",2);let ka=Fe;var GO=Object.defineProperty,DO=Object.getOwnPropertyDescriptor,pr=(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&&GO(t,e,r),r};const Ie=class Xy 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 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.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}};pr([m(),c({each:!0}),y()],Ie.prototype,"values",2);pr([l(),p()],Ie.prototype,"type",2);pr([l(),p()],Ie.prototype,"schedule_type_limit",2);pr([$t(),p()],Ie.prototype,"timestep",2);pr([m(),c({each:!0}),p()],Ie.prototype,"start_date",2);pr([h(),p()],Ie.prototype,"placeholder_value",2);pr([G(),p()],Ie.prototype,"interpolate",2);let za=Ie;var JO=Object.defineProperty,MO=Object.getOwnPropertyDescriptor,qe=(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&&JO(t,e,r),r};const pe=class Qy 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 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.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()],pe.prototype,"day_schedules",2);qe([l(),y()],pe.prototype,"default_day_schedule",2);qe([l(),p()],pe.prototype,"type",2);qe([m(),c({each:!0}),p()],pe.prototype,"schedule_rules",2);qe([l(),p()],pe.prototype,"holiday_schedule",2);qe([l(),p()],pe.prototype,"summer_designday_schedule",2);qe([l(),p()],pe.prototype,"winter_designday_schedule",2);qe([d(wo),c(),p()],pe.prototype,"schedule_type_limit",2);let La=pe;var NO=Object.defineProperty,RO=Object.getOwnPropertyDescriptor,Te=(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&&NO(t,e,r),r};const ce=class Ky 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 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.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}};Te([m(),c({each:!0}),y()],ce.prototype,"day_schedules",2);Te([l(),y()],ce.prototype,"default_day_schedule",2);Te([l(),p()],ce.prototype,"type",2);Te([m(),c({each:!0}),p()],ce.prototype,"schedule_rules",2);Te([l(),p()],ce.prototype,"holiday_schedule",2);Te([l(),p()],ce.prototype,"summer_designday_schedule",2);Te([l(),p()],ce.prototype,"winter_designday_schedule",2);Te([l(),p()],ce.prototype,"schedule_type_limit",2);let Ua=ce;var Es=(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))(Es||{}),VO=Object.defineProperty,WO=Object.getOwnPropertyDescriptor,Oo=(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&&VO(t,e,r),r};const Cn=class td 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=Es.Gas_WaterHeater,this.heater_efficiency=new N,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:Es.Gas_WaterHeater,this.heater_efficiency=t.heater_efficiency!==void 0?t.heater_efficiency:new N,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 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.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}};Oo([l(),p()],Cn.prototype,"type",2);Oo([b(Es),c(),p()],Cn.prototype,"equipment_type",2);Oo([p()],Cn.prototype,"heater_efficiency",2);Oo([p()],Cn.prototype,"ambient_condition",2);Oo([h(),p()],Cn.prototype,"ambient_loss_coefficient",2);let Za=Cn;var Gs=(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))(Gs||{}),BO=Object.defineProperty,$O=Object.getOwnPropertyDescriptor,cr=(n,t,e,i)=>{for(var r=i>1?void 0:i?$O(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 ke=class ed 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=j.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=Gs.VAV_Chiller_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.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:Gs.VAV_Chiller_Boiler)}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.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}};cr([b(j),c(),p()],ke.prototype,"vintage",2);cr([b(ut),c(),p()],ke.prototype,"economizer_type",2);cr([h(),p()],ke.prototype,"sensible_heat_recovery",2);cr([h(),p()],ke.prototype,"latent_heat_recovery",2);cr([G(),p()],ke.prototype,"demand_controlled_ventilation",2);cr([l(),p()],ke.prototype,"type",2);cr([b(Gs),c(),p()],ke.prototype,"equipment_type",2);let Ya=ke;var HO=Object.defineProperty,FO=Object.getOwnPropertyDescriptor,lr=(n,t,e,i)=>{for(var r=i>1?void 0:i?FO(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&&HO(t,e,r),r};const ze=class id 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 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.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}};lr([l(),p()],ze.prototype,"type",2);lr([h(),p()],ze.prototype,"min_indoor_temperature",2);lr([h(),p()],ze.prototype,"max_indoor_temperature",2);lr([h(),p()],ze.prototype,"min_outdoor_temperature",2);lr([h(),p()],ze.prototype,"max_outdoor_temperature",2);lr([h(),p()],ze.prototype,"delta_temperature",2);lr([l(),p()],ze.prototype,"schedule",2);let So=ze;var Ds=(n=>(n.Exhaust="Exhaust",n.Intake="Intake",n.Balanced="Balanced",n))(Ds||{}),IO=Object.defineProperty,qO=Object.getOwnPropertyDescriptor,xn=(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&&IO(t,e,r),r};const hr=class rd extends fr{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=Ds.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:Ds.Balanced,this.control=t.control)}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.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()],hr.prototype,"flow_rate",2);xn([h(),y()],hr.prototype,"pressure_rise",2);xn([h(),y()],hr.prototype,"efficiency",2);xn([l(),p()],hr.prototype,"type",2);xn([b(Ds),c(),p()],hr.prototype,"ventilation_type",2);xn([d(So),c(),p()],hr.prototype,"control",2);let Cl=hr;var Js=(n=>(n.VRF="VRF",n))(Js||{}),TO=Object.defineProperty,kO=Object.getOwnPropertyDescriptor,xl=(n,t,e,i)=>{for(var r=i>1?void 0:i?kO(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 Xa=class nd extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="VRF",this.equipment_type=Js.VRF}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"VRF",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Js.VRF)}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}};xl([b(j),c(),p()],Xa.prototype,"vintage",2);xl([l(),p()],Xa.prototype,"type",2);xl([b(Js),c(),p()],Xa.prototype,"equipment_type",2);let Qa=Xa;var Ms=(n=>(n.DOAS_VRF="DOAS_VRF",n))(Ms||{}),zO=Object.defineProperty,LO=Object.getOwnPropertyDescriptor,_r=(n,t,e,i)=>{for(var r=i>1?void 0:i?LO(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 Le=class od 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=j.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="VRFwithDOASAbridged",this.equipment_type=Ms.DOAS_VRF}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.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:Ms.DOAS_VRF)}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.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}};_r([b(j),c(),p()],Le.prototype,"vintage",2);_r([h(),p()],Le.prototype,"sensible_heat_recovery",2);_r([h(),p()],Le.prototype,"latent_heat_recovery",2);_r([G(),p()],Le.prototype,"demand_controlled_ventilation",2);_r([l(),p()],Le.prototype,"doas_availability_schedule",2);_r([l(),p()],Le.prototype,"type",2);_r([b(Ms),c(),p()],Le.prototype,"equipment_type",2);let Ka=Le;var Ns=(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))(Ns||{}),UO=Object.defineProperty,ZO=Object.getOwnPropertyDescriptor,El=(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&&UO(t,e,r),r};const tp=class sd extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="WindowAC",this.equipment_type=Ns.WindowAC_ElectricBaseboard}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"WindowAC",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Ns.WindowAC_ElectricBaseboard)}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.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(j),c(),p()],tp.prototype,"vintage",2);El([l(),p()],tp.prototype,"type",2);El([b(Ns),c(),p()],tp.prototype,"equipment_type",2);let ep=tp;var YO=Object.defineProperty,XO=Object.getOwnPropertyDescriptor,Gl=(n,t,e,i)=>{for(var r=i>1?void 0:i?XO(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 ip=class ad 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 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.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()],ip.prototype,"materials",2);Gl([l(),p()],ip.prototype,"type",2);Gl([d(po),c(),p()],ip.prototype,"frame",2);let jo=ip;var QO=Object.defineProperty,KO=Object.getOwnPropertyDescriptor,Dl=(n,t,e,i)=>{for(var r=i>1?void 0:i?KO(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 rp=class pd 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 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.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()],rp.prototype,"materials",2);Dl([l(),p()],rp.prototype,"type",2);Dl([l(),p()],rp.prototype,"frame",2);let te=rp;var tS=Object.defineProperty,eS=Object.getOwnPropertyDescriptor,Jl=(n,t,e,i)=>{for(var r=i>1?void 0:i?eS(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&&tS(t,e,r),r};const np=class cd 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 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.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()],np.prototype,"constructions",2);Jl([y()],np.prototype,"schedule",2);Jl([l(),p()],np.prototype,"type",2);let op=np;var iS=Object.defineProperty,rS=Object.getOwnPropertyDescriptor,Ml=(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&&iS(t,e,r),r};const sp=class ld 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 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.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()],sp.prototype,"constructions",2);Ml([l(),y()],sp.prototype,"schedule",2);Ml([l(),p()],sp.prototype,"type",2);let Nl=sp;var Ci=(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))(Ci||{}),xi=(n=>(n.Interior="Interior",n.Between="Between",n.Exterior="Exterior",n))(xi||{}),nS=Object.defineProperty,oS=Object.getOwnPropertyDescriptor,ur=(n,t,e,i)=>{for(var r=i>1?void 0:i?oS(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 Ue=class hd 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=xi.Interior,this.control_type=Ci.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:xi.Interior,this.control_type=t.control_type!==void 0?t.control_type:Ci.AlwaysOn,this.setpoint=t.setpoint,this.schedule=t.schedule)}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.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}};ur([d(jo),c(),y()],Ue.prototype,"window_construction",2);ur([y()],Ue.prototype,"shade_material",2);ur([l(),p()],Ue.prototype,"type",2);ur([b(xi),c(),p()],Ue.prototype,"shade_location",2);ur([b(Ci),c(),p()],Ue.prototype,"control_type",2);ur([h(),p()],Ue.prototype,"setpoint",2);ur([p()],Ue.prototype,"schedule",2);let ap=Ue;var sS=Object.defineProperty,aS=Object.getOwnPropertyDescriptor,yr=(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&&sS(t,e,r),r};const Ze=class _d 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=xi.Interior,this.control_type=Ci.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:xi.Interior,this.control_type=t.control_type!==void 0?t.control_type:Ci.AlwaysOn,this.setpoint=t.setpoint,this.schedule=t.schedule)}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.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}};yr([d(te),c(),y()],Ze.prototype,"window_construction",2);yr([l(),y()],Ze.prototype,"shade_material",2);yr([l(),p()],Ze.prototype,"type",2);yr([b(xi),c(),p()],Ze.prototype,"shade_location",2);yr([b(Ci),c(),p()],Ze.prototype,"control_type",2);yr([h(),p()],Ze.prototype,"setpoint",2);yr([l(),p()],Ze.prototype,"schedule",2);let pp=Ze;var Rs=(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))(Rs||{}),pS=Object.defineProperty,cS=Object.getOwnPropertyDescriptor,Rl=(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 cp=class ud extends O{constructor(){super(),a(this,"vintage"),a(this,"type"),a(this,"equipment_type"),this.vintage=j.ASHRAE_2019,this.type="WSHP",this.equipment_type=Rs.WSHP_FluidCooler_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.ASHRAE_2019,this.type=t.type!==void 0?t.type:"WSHP",this.equipment_type=t.equipment_type!==void 0?t.equipment_type:Rs.WSHP_FluidCooler_Boiler)}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.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(j),c(),p()],cp.prototype,"vintage",2);Rl([l(),p()],cp.prototype,"type",2);Rl([b(Rs),c(),p()],cp.prototype,"equipment_type",2);let lp=cp;var Vs=(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))(Vs||{}),lS=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&&lS(t,e,r),r};const Ye=class yd 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=j.ASHRAE_2019,this.sensible_heat_recovery=0,this.latent_heat_recovery=0,this.demand_controlled_ventilation=!1,this.type="WSHPwithDOASAbridged",this.equipment_type=Vs.DOAS_WSHP_FluidCooler_Boiler}init(t){super.init(t),t&&(this.vintage=t.vintage!==void 0?t.vintage:j.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:Vs.DOAS_WSHP_FluidCooler_Boiler)}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.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}};dr([b(j),c(),p()],Ye.prototype,"vintage",2);dr([h(),p()],Ye.prototype,"sensible_heat_recovery",2);dr([h(),p()],Ye.prototype,"latent_heat_recovery",2);dr([G(),p()],Ye.prototype,"demand_controlled_ventilation",2);dr([l(),p()],Ye.prototype,"doas_availability_schedule",2);dr([l(),p()],Ye.prototype,"type",2);dr([b(Vs),c(),p()],Ye.prototype,"equipment_type",2);let hp=Ye;var _S=Object.defineProperty,uS=Object.getOwnPropertyDescriptor,Vl=(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&&_S(t,e,r),r};const _p=class dd 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 B;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 la;return i.init(t),i}if(t.type==="EnergyMaterialVegetation"){let i=new ha;return i.init(t),i}if(t.type==="OpaqueConstruction"){let i=new U;return i.init(t),i}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let i=new ga;return i.init(t),i}if(t.type==="EnergyWindowMaterialGlazing"){let i=new je;return i.init(t),i}if(t.type==="EnergyWindowMaterialGas"){let i=new Ur;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasCustom"){let i=new ya;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasMixture"){let i=new fa;return i.init(t),i}if(t.type==="EnergyWindowFrame"){let i=new po;return i.init(t),i}if(t.type==="WindowConstruction"){let i=new jo;return i.init(t),i}if(t.type==="EnergyWindowMaterialShade"){let i=new ma;return i.init(t),i}if(t.type==="EnergyWindowMaterialBlind"){let i=new _a;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 wo;return i.init(t),i}if(t.type==="ScheduleRuleset"){let i=new La;return i.init(t),i}if(t.type==="ScheduleFixedInterval"){let i=new ka;return i.init(t),i}if(t.type==="WindowConstructionShade"){let i=new ap;return i.init(t),i}if(t.type==="WindowConstructionDynamic"){let i=new op;return i.init(t),i}if(t.type==="ShadeConstruction"){let i=new Kt;return i.init(t),i}if(t.type==="AirBoundaryConstruction"){let i=new Qs;return i.init(t),i}if(t.type==="ConstructionSet"){let i=new sa;return i.init(t),i}if(t.type==="Lighting"){let i=new uo;return i.init(t),i}if(t.type==="FCUwithDOASAbridged"){let i=new ja;return i.init(t),i}if(t.type==="OpaqueConstructionAbridged"){let i=new q;return i.init(t),i}if(t.type==="WindowConstructionAbridged"){let i=new te;return i.init(t),i}if(t.type==="AirBoundaryConstructionAbridged"){let i=new kr;return i.init(t),i}if(t.type==="ConstructionSetAbridged"){let i=new pa;return i.init(t),i}if(t.type==="WindowConstructionShadeAbridged"){let i=new pp;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 Ea;return i.init(t),i}if(t.type==="VAV"){let i=new Ya;return i.init(t),i}if(t.type==="PVAV"){let i=new Ba;return i.init(t),i}if(t.type==="PSZ"){let i=new Ra;return i.init(t),i}if(t.type==="PTAC"){let i=new Wa;return i.init(t),i}if(t.type==="ForcedAirFurnace"){let i=new Pa;return i.init(t),i}if(t.type==="WSHPwithDOASAbridged"){let i=new hp;return i.init(t),i}if(t.type==="VRFwithDOASAbridged"){let i=new Ka;return i.init(t),i}if(t.type==="RadiantwithDOASAbridged"){let i=new Fa;return i.init(t),i}if(t.type==="FCU"){let i=new Sa;return i.init(t),i}if(t.type==="WSHP"){let i=new lp;return i.init(t),i}if(t.type==="VRF"){let i=new Qa;return i.init(t),i}if(t.type==="Baseboard"){let i=new ea;return i.init(t),i}if(t.type==="EvaporativeCooler"){let i=new wa;return i.init(t),i}if(t.type==="Residential"){let i=new qa;return i.init(t),i}if(t.type==="WindowAC"){let i=new ep;return i.init(t),i}if(t.type==="GasUnitHeater"){let i=new xa;return i.init(t),i}if(t.type==="Radiant"){let i=new Ha;return i.init(t),i}if(t.type==="DetailedHVAC"){let i=new ca;return i.init(t),i}if(t.type==="SHWSystem"){let i=new Za;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 Vi;return i.init(t),i}if(t.type==="_EquipmentBase"){let i=new Kr;return i.init(t),i}if(t.type==="GasEquipmentAbridged"){let i=new Wi;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 Na;return i.init(t),i}if(t.type==="People"){let i=new yo;return i.init(t),i}if(t.type==="ElectricEquipment"){let i=new ao;return i.init(t),i}if(t.type==="GasEquipment"){let i=new ho;return i.init(t),i}if(t.type==="ServiceHotWater"){let i=new fo;return i.init(t),i}if(t.type==="Infiltration"){let i=new _o;return i.init(t),i}if(t.type==="Ventilation"){let i=new vo;return i.init(t),i}if(t.type==="Setpoint"){let i=new mo;return i.init(t),i}if(t.type==="ProgramType"){let i=new Ma;return i.init(t),i}if(t.type==="ScheduleRulesetAbridged"){let i=new Ua;return i.init(t),i}if(t.type==="ScheduleFixedIntervalAbridged"){let i=new za;return i.init(t),i}if(t.type==="PVProperties"){let i=new $a;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 Ja;return i.init(t),i}if(t.type==="InternalMassAbridged"){let i=new Da;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 Ys;return i.init(t),i}if(t.type==="_HeatCoolBase"){let i=new Zs;return i.init(t),i}if(t.type==="_AllAirBase"){let i=new up;return i.init(t),i}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.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()],_p.prototype,"identifier",2);Vl([l(),p()],_p.prototype,"display_name",2);Vl([l(),p()],_p.prototype,"type",2);let fr=_p;var yS=Object.defineProperty,dS=Object.getOwnPropertyDescriptor,fd=(n,t,e,i)=>{for(var r=i>1?void 0:i?dS(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&&yS(t,e,r),r};const Wl=class md extends fr{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 B;return i.init(t),i}if(t.type==="EnergyMaterialNoMass"){let i=new la;return i.init(t),i}if(t.type==="EnergyMaterialVegetation"){let i=new ha;return i.init(t),i}if(t.type==="OpaqueConstruction"){let i=new U;return i.init(t),i}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let i=new ga;return i.init(t),i}if(t.type==="EnergyWindowMaterialGlazing"){let i=new je;return i.init(t),i}if(t.type==="EnergyWindowMaterialGas"){let i=new Ur;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasCustom"){let i=new ya;return i.init(t),i}if(t.type==="EnergyWindowMaterialGasMixture"){let i=new fa;return i.init(t),i}if(t.type==="EnergyWindowFrame"){let i=new po;return i.init(t),i}if(t.type==="WindowConstruction"){let i=new jo;return i.init(t),i}if(t.type==="EnergyWindowMaterialShade"){let i=new ma;return i.init(t),i}if(t.type==="EnergyWindowMaterialBlind"){let i=new _a;return i.init(t),i}if(t.type==="ScheduleRuleset"){let i=new La;return i.init(t),i}if(t.type==="ScheduleFixedInterval"){let i=new ka;return i.init(t),i}if(t.type==="WindowConstructionShade"){let i=new ap;return i.init(t),i}if(t.type==="WindowConstructionDynamic"){let i=new op;return i.init(t),i}if(t.type==="ShadeConstruction"){let i=new Kt;return i.init(t),i}if(t.type==="AirBoundaryConstruction"){let i=new Qs;return i.init(t),i}if(t.type==="ConstructionSet"){let i=new sa;return i.init(t),i}if(t.type==="Lighting"){let i=new uo;return i.init(t),i}if(t.type==="FCUwithDOASAbridged"){let i=new ja;return i.init(t),i}if(t.type==="OpaqueConstructionAbridged"){let i=new q;return i.init(t),i}if(t.type==="WindowConstructionAbridged"){let i=new te;return i.init(t),i}if(t.type==="AirBoundaryConstructionAbridged"){let i=new kr;return i.init(t),i}if(t.type==="ConstructionSetAbridged"){let i=new pa;return i.init(t),i}if(t.type==="WindowConstructionShadeAbridged"){let i=new pp;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 Ea;return i.init(t),i}if(t.type==="VAV"){let i=new Ya;return i.init(t),i}if(t.type==="PVAV"){let i=new Ba;return i.init(t),i}if(t.type==="PSZ"){let i=new Ra;return i.init(t),i}if(t.type==="PTAC"){let i=new Wa;return i.init(t),i}if(t.type==="ForcedAirFurnace"){let i=new Pa;return i.init(t),i}if(t.type==="WSHPwithDOASAbridged"){let i=new hp;return i.init(t),i}if(t.type==="VRFwithDOASAbridged"){let i=new Ka;return i.init(t),i}if(t.type==="RadiantwithDOASAbridged"){let i=new Fa;return i.init(t),i}if(t.type==="FCU"){let i=new Sa;return i.init(t),i}if(t.type==="WSHP"){let i=new lp;return i.init(t),i}if(t.type==="VRF"){let i=new Qa;return i.init(t),i}if(t.type==="Baseboard"){let i=new ea;return i.init(t),i}if(t.type==="EvaporativeCooler"){let i=new wa;return i.init(t),i}if(t.type==="Residential"){let i=new qa;return i.init(t),i}if(t.type==="WindowAC"){let i=new ep;return i.init(t),i}if(t.type==="GasUnitHeater"){let i=new xa;return i.init(t),i}if(t.type==="Radiant"){let i=new Ha;return i.init(t),i}if(t.type==="DetailedHVAC"){let i=new ca;return i.init(t),i}if(t.type==="SHWSystem"){let i=new Za;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 Vi;return i.init(t),i}if(t.type==="_EquipmentBase"){let i=new Kr;return i.init(t),i}if(t.type==="GasEquipmentAbridged"){let i=new Wi;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 Na;return i.init(t),i}if(t.type==="People"){let i=new yo;return i.init(t),i}if(t.type==="ElectricEquipment"){let i=new ao;return i.init(t),i}if(t.type==="GasEquipment"){let i=new ho;return i.init(t),i}if(t.type==="ServiceHotWater"){let i=new fo;return i.init(t),i}if(t.type==="Infiltration"){let i=new _o;return i.init(t),i}if(t.type==="Ventilation"){let i=new vo;return i.init(t),i}if(t.type==="Setpoint"){let i=new mo;return i.init(t),i}if(t.type==="ProgramType"){let i=new Ma;return i.init(t),i}if(t.type==="ScheduleRulesetAbridged"){let i=new Ua;return i.init(t),i}if(t.type==="ScheduleFixedIntervalAbridged"){let i=new za;return i.init(t),i}if(t.type==="ProcessAbridged"){let i=new Ja;return i.init(t),i}if(t.type==="InternalMassAbridged"){let i=new Da;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 Ys;return i.init(t),i}if(t.type==="_HeatCoolBase"){let i=new Zs;return i.init(t),i}if(t.type==="_AllAirBase"){let i=new up;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.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}};fd([p()],Wl.prototype,"user_data",2);fd([l(),p()],Wl.prototype,"type",2);let O=Wl;var fS=Object.defineProperty,mS=Object.getOwnPropertyDescriptor,En=(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&&fS(t,e,r),r};const mr=class vd 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=j.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:j.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 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.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}};En([b(j),c(),p()],mr.prototype,"vintage",2);En([b(ut),c(),p()],mr.prototype,"economizer_type",2);En([h(),p()],mr.prototype,"sensible_heat_recovery",2);En([h(),p()],mr.prototype,"latent_heat_recovery",2);En([G(),p()],mr.prototype,"demand_controlled_ventilation",2);En([l(),p()],mr.prototype,"type",2);let up=mr;var Xe=(n=>(n.Shade="Shade",n.Aperture="Aperture",n.Door="Door",n.Face="Face",n.Room="Room",n))(Xe||{}),vS=Object.defineProperty,gS=Object.getOwnPropertyDescriptor,yp=(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&&vS(t,e,r),r};const Ao=class gd 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 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.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}};yp([b(Xe),c(),y()],Ao.prototype,"element_type",2);yp([l(),y()],Ao.prototype,"element_id",2);yp([l(),p()],Ao.prototype,"element_name",2);yp([l(),p()],Ao.prototype,"type",2);let bS=Ao;var wS=Object.defineProperty,OS=Object.getOwnPropertyDescriptor,dp=(n,t,e,i)=>{for(var r=i>1?void 0:i?OS(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&&wS(t,e,r),r};const Po=class bd 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 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.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}};dp([d(U),c(),p()],Po.prototype,"interior_construction",2);dp([d(U),c(),p()],Po.prototype,"exterior_construction",2);dp([d(U),c(),p()],Po.prototype,"ground_construction",2);dp([l(),p()],Po.prototype,"type",2);let wd=Po;var SS=Object.defineProperty,jS=Object.getOwnPropertyDescriptor,Bl=(n,t,e,i)=>{for(var r=i>1?void 0:i?jS(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&&SS(t,e,r),r};const fp=class Od extends vr{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 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.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()],fp.prototype,"type",2);Bl([l(),p()],fp.prototype,"dynamic_group_identifier",2);Bl([m(),c({each:!0}),p()],fp.prototype,"states",2);let mp=fp;var AS=Object.defineProperty,PS=Object.getOwnPropertyDescriptor,$l=(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 vp=class Sd extends vr{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 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.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()],vp.prototype,"type",2);$l([l(),p()],vp.prototype,"dynamic_group_identifier",2);$l([m(),c({each:!0}),p()],vp.prototype,"states",2);let gp=vp;var CS=Object.defineProperty,xS=Object.getOwnPropertyDescriptor,ES=(n,t,e,i)=>{for(var r=i>1?void 0:i?xS(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 jd=class Ad extends vr{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 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,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()],jd.prototype,"type",2);let bp=jd;var GS=Object.defineProperty,DS=Object.getOwnPropertyDescriptor,JS=(n,t,e,i)=>{for(var r=i>1?void 0:i?DS(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&&GS(t,e,r),r};const Pd=class Cd extends vr{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 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,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()],Pd.prototype,"type",2);let Hl=Pd;var MS=Object.defineProperty,NS=Object.getOwnPropertyDescriptor,Fl=(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&&MS(t,e,r),r};const wp=class xd extends vr{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 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.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()],wp.prototype,"type",2);Fl([l(),p()],wp.prototype,"dynamic_group_identifier",2);Fl([m(),c({each:!0}),p()],wp.prototype,"states",2);let Op=wp;var RS=Object.defineProperty,VS=Object.getOwnPropertyDescriptor,Il=(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&&RS(t,e,r),r};const Sp=class Ed 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 mp;return i.init(t),i}if(t.type==="DoorRadiancePropertiesAbridged"){let i=new gp;return i.init(t),i}if(t.type==="ShadeRadiancePropertiesAbridged"){let i=new Op;return i.init(t),i}if(t.type==="FaceRadiancePropertiesAbridged"){let i=new bp;return i.init(t),i}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.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()],Sp.prototype,"modifier",2);Il([l(),p()],Sp.prototype,"modifier_blk",2);Il([l(),p()],Sp.prototype,"type",2);let vr=Sp;var WS=Object.defineProperty,BS=Object.getOwnPropertyDescriptor,$S=(n,t,e,i)=>{for(var r=i>1?void 0:i?BS(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&&WS(t,e,r),r};const Gd=class Dd 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 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}};$S([l(),p()],Gd.prototype,"type",2);let Q=Gd;var HS=Object.defineProperty,FS=Object.getOwnPropertyDescriptor,gr=(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&&HS(t,e,r),r};const Qe=class Jd extends Gt{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 Q,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 Q,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 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.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}};gr([p()],Qe.prototype,"modifier",2);gr([m(),c({each:!0}),p()],Qe.prototype,"dependencies",2);gr([h(),p()],Qe.prototype,"r_transmissivity",2);gr([h(),p()],Qe.prototype,"g_transmissivity",2);gr([h(),p()],Qe.prototype,"b_transmissivity",2);gr([h(),p()],Qe.prototype,"refraction_index",2);gr([l(),p()],Qe.prototype,"type",2);let Ae=Qe;var IS=Object.defineProperty,qS=Object.getOwnPropertyDescriptor,br=(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&&IS(t,e,r),r};const Ke=class Md extends Gt{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 Q,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 Q,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 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.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}};br([p()],Ke.prototype,"modifier",2);br([m(),c({each:!0}),p()],Ke.prototype,"dependencies",2);br([h(),p()],Ke.prototype,"r_emittance",2);br([h(),p()],Ke.prototype,"g_emittance",2);br([h(),p()],Ke.prototype,"b_emittance",2);br([h(),p()],Ke.prototype,"max_radius",2);br([l(),p()],Ke.prototype,"type",2);let jp=Ke;var TS=Object.defineProperty,kS=Object.getOwnPropertyDescriptor,Gn=(n,t,e,i)=>{for(var r=i>1?void 0:i?kS(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&&TS(t,e,r),r};const wr=class Nd extends Gt{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 Q,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 Q,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 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.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}};Gn([p()],wr.prototype,"modifier",2);Gn([m(),c({each:!0}),p()],wr.prototype,"dependencies",2);Gn([h(),p()],wr.prototype,"r_emittance",2);Gn([h(),p()],wr.prototype,"g_emittance",2);Gn([h(),p()],wr.prototype,"b_emittance",2);Gn([l(),p()],wr.prototype,"type",2);let Ap=wr;var zS=Object.defineProperty,LS=Object.getOwnPropertyDescriptor,ti=(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&&zS(t,e,r),r};const le=class Rd extends Gt{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 Q,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 Q,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 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.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()],le.prototype,"modifier",2);ti([m(),c({each:!0}),p()],le.prototype,"dependencies",2);ti([h(),p()],le.prototype,"r_reflectance",2);ti([h(),p()],le.prototype,"g_reflectance",2);ti([h(),p()],le.prototype,"b_reflectance",2);ti([h(),p()],le.prototype,"specularity",2);ti([h(),p()],le.prototype,"roughness",2);ti([l(),p()],le.prototype,"type",2);let Pp=le;var US=Object.defineProperty,ZS=Object.getOwnPropertyDescriptor,Or=(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&&US(t,e,r),r};const ei=class Vd extends Gt{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 Q,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 Q,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 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.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}};Or([p()],ei.prototype,"modifier",2);Or([m(),c({each:!0}),p()],ei.prototype,"dependencies",2);Or([h(),p()],ei.prototype,"r_reflectance",2);Or([h(),p()],ei.prototype,"g_reflectance",2);Or([h(),p()],ei.prototype,"b_reflectance",2);Or([p()],ei.prototype,"alternate_material",2);Or([l(),p()],ei.prototype,"type",2);let Cp=ei;var YS=Object.defineProperty,XS=Object.getOwnPropertyDescriptor,ii=(n,t,e,i)=>{for(var r=i>1?void 0:i?XS(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&&YS(t,e,r),r};const he=class Wd extends Gt{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 Q,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 Q,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 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.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()],he.prototype,"modifier",2);ii([m(),c({each:!0}),p()],he.prototype,"dependencies",2);ii([h(),p()],he.prototype,"r_reflectance",2);ii([h(),p()],he.prototype,"g_reflectance",2);ii([h(),p()],he.prototype,"b_reflectance",2);ii([h(),p()],he.prototype,"specularity",2);ii([h(),p()],he.prototype,"roughness",2);ii([l(),p()],he.prototype,"type",2);let X=he;var QS=Object.defineProperty,KS=Object.getOwnPropertyDescriptor,kt=(n,t,e,i)=>{for(var r=i>1?void 0:i?KS(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 Et=class Bd extends Gt{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 Q,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 Q,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 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.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}};kt([p()],Et.prototype,"modifier",2);kt([m(),c({each:!0}),p()],Et.prototype,"dependencies",2);kt([h(),p()],Et.prototype,"r_reflectance",2);kt([h(),p()],Et.prototype,"g_reflectance",2);kt([h(),p()],Et.prototype,"b_reflectance",2);kt([h(),p()],Et.prototype,"specularity",2);kt([h(),p()],Et.prototype,"roughness",2);kt([h(),p()],Et.prototype,"transmitted_diff",2);kt([h(),p()],Et.prototype,"transmitted_spec",2);kt([l(),p()],Et.prototype,"type",2);let Zr=Et;var tj=Object.defineProperty,ej=Object.getOwnPropertyDescriptor,ij=(n,t,e,i)=>{for(var r=i>1?void 0:i?ej(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 $d=class Hd extends Ar{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 Cp;return i.init(t),i}if(t.type==="Plastic"){let i=new X;return i.init(t),i}if(t.type==="Glass"){let i=new Ae;return i.init(t),i}if(t.type==="BSDF"){let i=new xp;return i.init(t),i}if(t.type==="Glow"){let i=new jp;return i.init(t),i}if(t.type==="Light"){let i=new Ap;return i.init(t),i}if(t.type==="Trans"){let i=new Zr;return i.init(t),i}if(t.type==="Metal"){let i=new Pp;return i.init(t),i}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}};ij([l(),p()],$d.prototype,"type",2);let Gt=$d;var rj=Object.defineProperty,nj=Object.getOwnPropertyDescriptor,Dt=(n,t,e,i)=>{for(var r=i>1?void 0:i?nj(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&&rj(t,e,r),r};const bt=class Fd extends Gt{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 Q,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 Q,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 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.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}};Dt([l(),y()],bt.prototype,"bsdf_data",2);Dt([p()],bt.prototype,"modifier",2);Dt([m(),c({each:!0}),p()],bt.prototype,"dependencies",2);Dt([m(),c({each:!0}),p()],bt.prototype,"up_orientation",2);Dt([h(),p()],bt.prototype,"thickness",2);Dt([l(),p()],bt.prototype,"function_file",2);Dt([l(),p()],bt.prototype,"transform",2);Dt([m(),c({each:!0}),p()],bt.prototype,"front_diffuse_reflectance",2);Dt([m(),c({each:!0}),p()],bt.prototype,"back_diffuse_reflectance",2);Dt([m(),c({each:!0}),p()],bt.prototype,"diffuse_transmittance",2);Dt([l(),p()],bt.prototype,"type",2);let xp=bt;var oj=Object.defineProperty,sj=Object.getOwnPropertyDescriptor,Co=(n,t,e,i)=>{for(var r=i>1?void 0:i?sj(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&&oj(t,e,r),r};const Dn=class Id 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 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.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}};Co([l(),p()],Dn.prototype,"type",2);Co([p()],Dn.prototype,"window_modifier",2);Co([p()],Dn.prototype,"interior_modifier",2);Co([p()],Dn.prototype,"skylight_modifier",2);Co([p()],Dn.prototype,"operable_modifier",2);let ql=Dn;var aj=Object.defineProperty,pj=Object.getOwnPropertyDescriptor,Jn=(n,t,e,i)=>{for(var r=i>1?void 0:i?pj(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&&aj(t,e,r),r};const Sr=class qd 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 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.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}};Jn([p()],Sr.prototype,"exterior_modifier",2);Jn([p()],Sr.prototype,"interior_modifier",2);Jn([p()],Sr.prototype,"interior_glass_modifier",2);Jn([p()],Sr.prototype,"exterior_glass_modifier",2);Jn([p()],Sr.prototype,"overhead_modifier",2);Jn([l(),p()],Sr.prototype,"type",2);let Tl=Sr;var cj=Object.defineProperty,lj=Object.getOwnPropertyDescriptor,kl=(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&&cj(t,e,r),r};const Ep=class Td 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 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.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()],Ep.prototype,"exterior_modifier",2);kl([p()],Ep.prototype,"interior_modifier",2);kl([l(),p()],Ep.prototype,"type",2);let zl=Ep;var hj=Object.defineProperty,_j=Object.getOwnPropertyDescriptor,Ll=(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&&hj(t,e,r),r};const Gp=class kd 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 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.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()],Gp.prototype,"exterior_modifier",2);Ll([p()],Gp.prototype,"interior_modifier",2);Ll([l(),p()],Gp.prototype,"type",2);let Ul=Gp;var uj=Object.defineProperty,yj=Object.getOwnPropertyDescriptor,Zl=(n,t,e,i)=>{for(var r=i>1?void 0:i?yj(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 Dp=class zd 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 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.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()],Dp.prototype,"exterior_modifier",2);Zl([p()],Dp.prototype,"interior_modifier",2);Zl([l(),p()],Dp.prototype,"type",2);let Yl=Dp;var dj=Object.defineProperty,fj=Object.getOwnPropertyDescriptor,Xl=(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&&dj(t,e,r),r};const Jp=class Ld 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 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.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()],Jp.prototype,"exterior_modifier",2);Xl([p()],Jp.prototype,"interior_modifier",2);Xl([l(),p()],Jp.prototype,"type",2);let Ql=Jp;var mj=Object.defineProperty,vj=Object.getOwnPropertyDescriptor,ri=(n,t,e,i)=>{for(var r=i>1?void 0:i?vj(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&&mj(t,e,r),r};const _e=class Ud extends Ar{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 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.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()],_e.prototype,"type",2);ri([d(Ql),c(),p()],_e.prototype,"wall_set",2);ri([d(zl),c(),p()],_e.prototype,"floor_set",2);ri([d(Ul),c(),p()],_e.prototype,"roof_ceiling_set",2);ri([d(ql),c(),p()],_e.prototype,"aperture_set",2);ri([d(Tl),c(),p()],_e.prototype,"door_set",2);ri([d(Yl),c(),p()],_e.prototype,"shade_set",2);ri([p()],_e.prototype,"air_boundary_modifier",2);let Kl=_e;var gj=Object.defineProperty,bj=Object.getOwnPropertyDescriptor,xo=(n,t,e,i)=>{for(var r=i>1?void 0:i?bj(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&&gj(t,e,r),r};const Mn=class Zd 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 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.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()],Mn.prototype,"type",2);xo([l(),p()],Mn.prototype,"window_modifier",2);xo([l(),p()],Mn.prototype,"interior_modifier",2);xo([l(),p()],Mn.prototype,"skylight_modifier",2);xo([l(),p()],Mn.prototype,"operable_modifier",2);let Yr=Mn;var wj=Object.defineProperty,Oj=Object.getOwnPropertyDescriptor,Sj=(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&&wj(t,e,r),r};const Yd=class Xd 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 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.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}};Sj([l(),p()],Yd.prototype,"type",2);let Ei=Yd;var jj=Object.defineProperty,Aj=Object.getOwnPropertyDescriptor,Pj=(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&&jj(t,e,r),r};const Qd=class Kd 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 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,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}};Pj([l(),p()],Qd.prototype,"type",2);let Gi=Qd;var Cj=Object.defineProperty,xj=Object.getOwnPropertyDescriptor,Ej=(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&&Cj(t,e,r),r};const tf=class ef 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 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.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()],tf.prototype,"type",2);let Di=tf;var Gj=Object.defineProperty,Dj=Object.getOwnPropertyDescriptor,Jj=(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&&Gj(t,e,r),r};const rf=class nf 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 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,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}};Jj([l(),p()],rf.prototype,"type",2);let Ji=rf;var Mj=Object.defineProperty,Nj=Object.getOwnPropertyDescriptor,th=(n,t,e,i)=>{for(var r=i>1?void 0:i?Nj(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&&Mj(t,e,r),r};const Mp=class of 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 Gi;return i.init(t),i}if(t.type==="DoorModifierSetAbridged"){let i=new Mi;return i.init(t),i}if(t.type==="WallModifierSetAbridged"){let i=new Ji;return i.init(t),i}if(t.type==="FloorModifierSetAbridged"){let i=new Ei;return i.init(t),i}if(t.type==="ShadeModifierSetAbridged"){let i=new Di;return i.init(t),i}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.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()],Mp.prototype,"exterior_modifier",2);th([l(),p()],Mp.prototype,"interior_modifier",2);th([l(),p()],Mp.prototype,"type",2);let jr=Mp;var Rj=Object.defineProperty,Vj=Object.getOwnPropertyDescriptor,Np=(n,t,e,i)=>{for(var r=i>1?void 0:i?Vj(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&&Rj(t,e,r),r};const Eo=class sf 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 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.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}};Np([l(),p()],Eo.prototype,"type",2);Np([l(),p()],Eo.prototype,"interior_glass_modifier",2);Np([l(),p()],Eo.prototype,"exterior_glass_modifier",2);Np([l(),p()],Eo.prototype,"overhead_modifier",2);let Mi=Eo;var Wj=Object.defineProperty,Bj=Object.getOwnPropertyDescriptor,ni=(n,t,e,i)=>{for(var r=i>1?void 0:i?Bj(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&&Wj(t,e,r),r};const ue=class af extends Ar{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 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.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()],ue.prototype,"type",2);ni([d(Ji),c(),p()],ue.prototype,"wall_set",2);ni([d(Ei),c(),p()],ue.prototype,"floor_set",2);ni([d(Gi),c(),p()],ue.prototype,"roof_ceiling_set",2);ni([d(Yr),c(),p()],ue.prototype,"aperture_set",2);ni([d(Mi),c(),p()],ue.prototype,"door_set",2);ni([d(Di),c(),p()],ue.prototype,"shade_set",2);ni([l(),p()],ue.prototype,"air_boundary_modifier",2);let eh=ue;var $j=Object.defineProperty,Hj=Object.getOwnPropertyDescriptor,Rp=(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&&$j(t,e,r),r};const Go=class pf 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 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.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}};Rp([m(),c({each:!0}),y()],Go.prototype,"vertices",2);Rp([m(),c({each:!0}),y()],Go.prototype,"faces",2);Rp([l(),p()],Go.prototype,"type",2);Rp([m(),c({each:!0}),p()],Go.prototype,"colors",2);let Vp=Go;var Fj=Object.defineProperty,Ij=Object.getOwnPropertyDescriptor,Do=(n,t,e,i)=>{for(var r=i>1?void 0:i?Ij(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 Nn=class cf extends Ip{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 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.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}};Do([m(),c({each:!0}),y()],Nn.prototype,"sensors",2);Do([l(),p()],Nn.prototype,"type",2);Do([d(Vp),c(),p()],Nn.prototype,"mesh",2);Do([m(),c({each:!0}),p()],Nn.prototype,"base_geometry",2);Do([l(),p()],Nn.prototype,"group_identifier",2);let ih=Nn;var qj=Object.defineProperty,Tj=Object.getOwnPropertyDescriptor,Wp=(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&&qj(t,e,r),r};const Jo=class lf 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 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.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}};Wp([m(),c({each:!0}),y()],Jo.prototype,"n",2);Wp([m(),c({each:!0}),y()],Jo.prototype,"o",2);Wp([l(),p()],Jo.prototype,"type",2);Wp([m(),c({each:!0}),p()],Jo.prototype,"x",2);let rh=Jo;var kj=Object.defineProperty,zj=Object.getOwnPropertyDescriptor,Bp=(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&&kj(t,e,r),r};const Mo=class hf 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 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.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}};Bp([m(),c({each:!0}),y()],Mo.prototype,"boundary",2);Bp([l(),p()],Mo.prototype,"type",2);Bp([m(),c({each:!0}),p()],Mo.prototype,"holes",2);Bp([d(rh),c(),p()],Mo.prototype,"plane",2);let zt=Mo;var Lj=Object.defineProperty,Uj=Object.getOwnPropertyDescriptor,$p=(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&&Lj(t,e,r),r};const No=class _f extends Ar{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 _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.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}};$p([d(zt),c(),y()],No.prototype,"geometry",2);$p([l(),p()],No.prototype,"type",2);$p([l(),p()],No.prototype,"modifier",2);$p([l(),p()],No.prototype,"modifier_direct",2);let nh=No;var Ws=(n=>(n.v="v",n.h="h",n.l="l",n.c="c",n.a="a",n.s="s",n))(Ws||{}),Zj=Object.defineProperty,Yj=Object.getOwnPropertyDescriptor,wt=(n,t,e,i)=>{for(var r=i>1?void 0:i?Yj(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 dt=class uf extends Ip{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=Ws.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:Ws.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 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.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}};wt([m(),c({each:!0}),y()],dt.prototype,"position",2);wt([m(),c({each:!0}),y()],dt.prototype,"direction",2);wt([m(),c({each:!0}),y()],dt.prototype,"up_vector",2);wt([l(),p()],dt.prototype,"type",2);wt([b(Ws),c(),p()],dt.prototype,"view_type",2);wt([h(),p()],dt.prototype,"h_size",2);wt([h(),p()],dt.prototype,"v_size",2);wt([h(),p()],dt.prototype,"shift",2);wt([h(),p()],dt.prototype,"lift",2);wt([h(),p()],dt.prototype,"fore_clip",2);wt([h(),p()],dt.prototype,"aft_clip",2);wt([l(),p()],dt.prototype,"group_identifier",2);let oh=dt;var Xj=Object.defineProperty,Qj=Object.getOwnPropertyDescriptor,sh=(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&&Xj(t,e,r),r};const Hp=class yf 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 Cp;return i.init(t),i}if(t.type==="ModifierBase"){let i=new Gt;return i.init(t),i}if(t.type==="Plastic"){let i=new X;return i.init(t),i}if(t.type==="Glass"){let i=new Ae;return i.init(t),i}if(t.type==="BSDF"){let i=new xp;return i.init(t),i}if(t.type==="Glow"){let i=new jp;return i.init(t),i}if(t.type==="Light"){let i=new Ap;return i.init(t),i}if(t.type==="Trans"){let i=new Zr;return i.init(t),i}if(t.type==="Metal"){let i=new Pp;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 Ip;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 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.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()],Hp.prototype,"identifier",2);sh([l(),p()],Hp.prototype,"display_name",2);sh([l(),p()],Hp.prototype,"type",2);let Ar=Hp;var Kj=Object.defineProperty,t2=Object.getOwnPropertyDescriptor,ah=(n,t,e,i)=>{for(var r=i>1?void 0:i?t2(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&&Kj(t,e,r),r};const Fp=class df extends Ar{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 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.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()],Fp.prototype,"room_identifier",2);ah([m(),c({each:!0}),p()],Fp.prototype,"light_path",2);ah([l(),p()],Fp.prototype,"type",2);let Ip=Fp;var e2=Object.defineProperty,i2=Object.getOwnPropertyDescriptor,ff=(n,t,e,i)=>{for(var r=i>1?void 0:i?i2(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&&e2(t,e,r),r};const ph=class mf 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 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.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}};ff([h(),y()],ph.prototype,"clearness",2);ff([l(),p()],ph.prototype,"type",2);let vf=ph;var r2=Object.defineProperty,n2=Object.getOwnPropertyDescriptor,ch=(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&&r2(t,e,r),r};const qp=class gf 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 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.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()],qp.prototype,"tau_b",2);ch([h(),y()],qp.prototype,"tau_d",2);ch([l(),p()],qp.prototype,"type",2);let bf=qp;var o2=Object.defineProperty,s2=Object.getOwnPropertyDescriptor,lh=(n,t,e,i)=>{for(var r=i>1?void 0:i?s2(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&&o2(t,e,r),r};const Tp=class wf 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 vf;return i.init(t),i}if(t.type==="ASHRAETau"){let i=new bf;return i.init(t),i}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.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()],Tp.prototype,"date",2);lh([G(),p()],Tp.prototype,"daylight_savings",2);lh([l(),p()],Tp.prototype,"type",2);let hh=Tp;var a2=Object.defineProperty,p2=Object.getOwnPropertyDescriptor,kp=(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 Ro=class Of 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 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.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}};kp([b(Xe),c(),y()],Ro.prototype,"element_type",2);kp([l(),y()],Ro.prototype,"element_id",2);kp([l(),p()],Ro.prototype,"element_name",2);kp([l(),p()],Ro.prototype,"type",2);let c2=Ro;var l2=Object.defineProperty,h2=Object.getOwnPropertyDescriptor,Vo=(n,t,e,i)=>{for(var r=i>1?void 0:i?h2(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&&l2(t,e,r),r};const Rn=class Sf 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 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.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}};Vo([b(Xe),c(),y()],Rn.prototype,"element_type",2);Vo([l(),y()],Rn.prototype,"element_id",2);Vo([m(),c({each:!0}),y()],Rn.prototype,"geometry",2);Vo([l(),p()],Rn.prototype,"element_name",2);Vo([l(),p()],Rn.prototype,"type",2);let _2=Rn;var u2=Object.defineProperty,y2=Object.getOwnPropertyDescriptor,d2=(n,t,e,i)=>{for(var r=i>1?void 0:i?y2(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 jf=class Af 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 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.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}};d2([l(),p()],jf.prototype,"type",2);let Pf=jf;var f2=Object.defineProperty,m2=Object.getOwnPropertyDescriptor,_h=(n,t,e,i)=>{for(var r=i>1?void 0:i?m2(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&&f2(t,e,r),r};const zp=class Cf 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 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.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()],zp.prototype,"flow_coefficient",2);_h([l(),p()],zp.prototype,"type",2);_h([h(),p()],zp.prototype,"flow_exponent",2);let uh=zp;var v2=Object.defineProperty,g2=Object.getOwnPropertyDescriptor,oi=(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&&v2(t,e,r),r};const ye=class xf 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 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.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()],ye.prototype,"type",2);oi([h(),p()],ye.prototype,"fraction_area_operable",2);oi([h(),p()],ye.prototype,"fraction_height_operable",2);oi([h(),p()],ye.prototype,"discharge_coefficient",2);oi([G(),p()],ye.prototype,"wind_cross_vent",2);oi([h(),p()],ye.prototype,"flow_coefficient_closed",2);oi([h(),p()],ye.prototype,"flow_exponent_closed",2);oi([h(),p()],ye.prototype,"two_way_threshold",2);let Wo=ye;var b2=Object.defineProperty,w2=Object.getOwnPropertyDescriptor,yh=(n,t,e,i)=>{for(var r=i>1?void 0:i?w2(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 Ef 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 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.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()],Lp.prototype,"type",2);yh([l(),p()],Lp.prototype,"construction",2);yh([d(Wo),c(),p()],Lp.prototype,"vent_opening",2);let dh=Lp;var O2=Object.defineProperty,S2=Object.getOwnPropertyDescriptor,fh=(n,t,e,i)=>{for(var r=i>1?void 0:i?S2(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&&O2(t,e,r),r};const Up=class Gf 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 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.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()],Up.prototype,"type",2);fh([d(dh),c(),p()],Up.prototype,"energy",2);fh([d(mp),c(),p()],Up.prototype,"radiance",2);let mh=Up;var j2=Object.defineProperty,A2=Object.getOwnPropertyDescriptor,vh=(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&&j2(t,e,r),r};const Zp=class Df 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 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.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()],Zp.prototype,"type",2);vh([l(),p()],Zp.prototype,"construction",2);vh([d(Wo),c(),p()],Zp.prototype,"vent_opening",2);let gh=Zp;var P2=Object.defineProperty,C2=Object.getOwnPropertyDescriptor,bh=(n,t,e,i)=>{for(var r=i>1?void 0:i?C2(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&&P2(t,e,r),r};const Yp=class Jf 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 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.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()],Yp.prototype,"type",2);bh([d(gh),c(),p()],Yp.prototype,"energy",2);bh([d(gp),c(),p()],Yp.prototype,"radiance",2);let wh=Yp;var x2=Object.defineProperty,E2=Object.getOwnPropertyDescriptor,Pr=(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&&x2(t,e,r),r};const si=class Mf extends ct{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 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.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}};Pr([d(zt),c(),y()],si.prototype,"geometry",2);Pr([y()],si.prototype,"boundary_condition",2);Pr([d(wh),c(),y()],si.prototype,"properties",2);Pr([l(),p()],si.prototype,"type",2);Pr([G(),p()],si.prototype,"is_glass",2);Pr([m(),c({each:!0}),p()],si.prototype,"indoor_shades",2);Pr([m(),c({each:!0}),p()],si.prototype,"outdoor_shades",2);let Oh=si;var G2=Object.defineProperty,D2=Object.getOwnPropertyDescriptor,Sh=(n,t,e,i)=>{for(var r=i>1?void 0:i?D2(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 Xp=class Nf 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 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.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()],Xp.prototype,"type",2);Sh([l(),p()],Xp.prototype,"construction",2);Sh([d(uh),c(),p()],Xp.prototype,"vent_crack",2);let jh=Xp;var J2=Object.defineProperty,M2=Object.getOwnPropertyDescriptor,Ah=(n,t,e,i)=>{for(var r=i>1?void 0:i?M2(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&&J2(t,e,r),r};const Qp=class Rf 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 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.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()],Qp.prototype,"type",2);Ah([d(jh),c(),p()],Qp.prototype,"energy",2);Ah([d(bp),c(),p()],Qp.prototype,"radiance",2);let Ph=Qp;var Vf=(n=>(n.Wall="Wall",n.Floor="Floor",n.RoofCeiling="RoofCeiling",n.AirBoundary="AirBoundary",n))(Vf||{}),N2=Object.defineProperty,R2=Object.getOwnPropertyDescriptor,de=(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&&N2(t,e,r),r};const Lt=class Wf extends ct{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 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.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}};de([d(zt),c(),y()],Lt.prototype,"geometry",2);de([b(Vf),c(),y()],Lt.prototype,"face_type",2);de([y()],Lt.prototype,"boundary_condition",2);de([d(Ph),c(),y()],Lt.prototype,"properties",2);de([l(),p()],Lt.prototype,"type",2);de([m(),c({each:!0}),p()],Lt.prototype,"apertures",2);de([m(),c({each:!0}),p()],Lt.prototype,"doors",2);de([m(),c({each:!0}),p()],Lt.prototype,"indoor_shades",2);de([m(),c({each:!0}),p()],Lt.prototype,"outdoor_shades",2);let Ch=Lt;var V2=Object.defineProperty,W2=Object.getOwnPropertyDescriptor,B2=(n,t,e,i)=>{for(var r=i>1?void 0:i?W2(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&&V2(t,e,r),r};const Bf=class $f 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 $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.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}};B2([l(),p()],Bf.prototype,"type",2);let Hf=Bf;var $2=Object.defineProperty,H2=Object.getOwnPropertyDescriptor,xh=(n,t,e,i)=>{for(var r=i>1?void 0:i?H2(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 Kp=class Ff 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 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.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}};xh([l(),p()],Kp.prototype,"type",2);xh([h(),p()],Kp.prototype,"inverter_efficiency",2);xh([h(),p()],Kp.prototype,"inverter_dc_to_ac_size_ratio",2);let If=Kp;var F2=Object.defineProperty,I2=Object.getOwnPropertyDescriptor,Jt=(n,t,e,i)=>{for(var r=i>1?void 0:i?I2(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&&F2(t,e,r),r};const Ot=class qf 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=[B.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}),B.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}),B.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}),B.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}),Ur.fromJS({identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"}),B.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}),B.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}),B.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}),B.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}),B.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}),je.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}),B.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}),B.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}),B.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}),je.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=[q.fromJS({identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]}),te.fromJS({identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null}),Kt.fromJS({identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1}),Kt.fromJS({identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1}),q.fromJS({identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),q.fromJS({identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]}),q.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"]}),q.fromJS({identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]}),q.fromJS({identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]}),q.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"]}),q.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"]}),q.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"]}),kr.fromJS({identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"}),q.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"]}),te.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}),q.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=Ai.fromJS({interior_construction:"Generic Interior Floor",exterior_construction:"Generic Exposed Floor",ground_construction:"Generic Ground Slab",type:"FloorConstructionSetAbridged"}),this.roof_ceiling_set=Si.fromJS({interior_construction:"Generic Interior Ceiling",exterior_construction:"Generic Roof",ground_construction:"Generic Underground Roof",type:"RoofCeilingConstructionSetAbridged"}),this.aperture_set=zr.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=Lr.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:[B.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}),B.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}),B.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}),B.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}),Ur.fromJS({identifier:"Generic Window Air Gap",display_name:null,user_data:null,type:"EnergyWindowMaterialGas",thickness:.0127,gas_type:"Air"}),B.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}),B.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}),B.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}),B.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}),B.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}),je.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}),B.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}),B.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}),B.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}),je.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:[q.fromJS({identifier:"Generic Interior Door",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 25mm Wood"]}),te.fromJS({identifier:"Generic Single Pane",display_name:null,user_data:null,type:"WindowConstructionAbridged",materials:["Generic Clear Glass"],frame:null}),Kt.fromJS({identifier:"Generic Shade",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.35,visible_reflectance:.35,is_specular:!1}),Kt.fromJS({identifier:"Generic Context",display_name:null,user_data:null,type:"ShadeConstruction",solar_reflectance:.2,visible_reflectance:.2,is_specular:!1}),q.fromJS({identifier:"Generic Interior Ceiling",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic LW Concrete","Generic Ceiling Air Gap","Generic Acoustic Tile"]}),q.fromJS({identifier:"Generic Interior Wall",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Gypsum Board","Generic Wall Air Gap","Generic Gypsum Board"]}),q.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"]}),q.fromJS({identifier:"Generic Interior Floor",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic Acoustic Tile","Generic Ceiling Air Gap","Generic LW Concrete"]}),q.fromJS({identifier:"Generic Ground Slab",display_name:null,user_data:null,type:"OpaqueConstructionAbridged",materials:["Generic 50mm Insulation","Generic HW Concrete"]}),q.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"]}),q.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"]}),q.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"]}),kr.fromJS({identifier:"Generic Air Boundary",display_name:null,user_data:null,type:"AirBoundaryConstructionAbridged",air_mixing_per_area:.1,air_mixing_schedule:"Always On"}),q.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"]}),te.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}),q.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:Ai.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:Si.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:zr.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:Lr.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 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,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}};Jt([l(),p()],Ot.prototype,"type",2);Jt([m(),c({each:!0}),p()],Ot.prototype,"materials",2);Jt([m(),c({each:!0}),p()],Ot.prototype,"constructions",2);Jt([d(ji),c(),p()],Ot.prototype,"wall_set",2);Jt([d(Ai),c(),p()],Ot.prototype,"floor_set",2);Jt([d(Si),c(),p()],Ot.prototype,"roof_ceiling_set",2);Jt([d(zr),c(),p()],Ot.prototype,"aperture_set",2);Jt([d(Lr),c(),p()],Ot.prototype,"door_set",2);Jt([l(),p()],Ot.prototype,"shade_construction",2);Jt([l(),p()],Ot.prototype,"context_construction",2);Jt([l(),p()],Ot.prototype,"air_boundary_construction",2);let Pe=Ot;var Bs=(n=>(n.LowRise="LowRise",n.HighRise="HighRise",n))(Bs||{}),$s=(n=>(n.SingleZone="SingleZone",n.MultiZoneWithDistribution="MultiZoneWithDistribution",n.MultiZoneWithoutDistribution="MultiZoneWithoutDistribution",n))($s||{}),q2=Object.defineProperty,T2=Object.getOwnPropertyDescriptor,ai=(n,t,e,i)=>{for(var r=i>1?void 0:i?T2(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 fe=class Tf 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=$s.SingleZone,this.reference_temperature=20,this.reference_pressure=101325,this.reference_humidity_ratio=0,this.building_type=Bs.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:$s.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:Bs.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 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.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}};ai([l(),p()],fe.prototype,"type",2);ai([b($s),c(),p()],fe.prototype,"vent_control_type",2);ai([h(),p()],fe.prototype,"reference_temperature",2);ai([h(),p()],fe.prototype,"reference_pressure",2);ai([h(),p()],fe.prototype,"reference_humidity_ratio",2);ai([b(Bs),c(),p()],fe.prototype,"building_type",2);ai([h(),p()],fe.prototype,"long_axis_angle",2);ai([h(),p()],fe.prototype,"aspect_ratio",2);let kf=fe;var k2=Object.defineProperty,z2=Object.getOwnPropertyDescriptor,St=(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&&k2(t,e,r),r};const ft=class zf 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=Pe.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:Pe.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 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,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}};St([l(),p()],ft.prototype,"type",2);St([d(Pe),c(),p()],ft.prototype,"global_construction_set",2);St([m(),c({each:!0}),p()],ft.prototype,"construction_sets",2);St([m(),c({each:!0}),p()],ft.prototype,"constructions",2);St([m(),c({each:!0}),p()],ft.prototype,"materials",2);St([m(),c({each:!0}),p()],ft.prototype,"hvacs",2);St([m(),c({each:!0}),p()],ft.prototype,"shws",2);St([m(),c({each:!0}),p()],ft.prototype,"program_types",2);St([m(),c({each:!0}),p()],ft.prototype,"schedules",2);St([m(),c({each:!0}),p()],ft.prototype,"schedule_type_limits",2);St([d(kf),c(),p()],ft.prototype,"ventilation_simulation_control",2);St([d(If),c(),p()],ft.prototype,"electric_load_center",2);let Lf=ft;var L2=Object.defineProperty,U2=Object.getOwnPropertyDescriptor,Ut=(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&&L2(t,e,r),r};const Mt=class Uf 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=[X.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}),X.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}),X.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}),X.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}),X.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}),X.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}),X.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}),Ae.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}),Ae.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}),Zr.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=Ji.fromJS({exterior_modifier:"generic_wall_0.50",interior_modifier:"generic_wall_0.50",type:"WallModifierSetAbridged"}),this.floor_set=Ei.fromJS({exterior_modifier:"generic_floor_0.20",interior_modifier:"generic_floor_0.20",type:"FloorModifierSetAbridged"}),this.roof_ceiling_set=Gi.fromJS({exterior_modifier:"generic_ceiling_0.80",interior_modifier:"generic_ceiling_0.80",type:"RoofCeilingModifierSetAbridged"}),this.aperture_set=Yr.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=Mi.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=Di.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:[X.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}),X.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}),X.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}),X.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}),X.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}),X.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}),X.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}),Ae.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}),Ae.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}),Zr.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:Ji.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:Ei.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:Gi.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:Yr.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:Mi.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:Di.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 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.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}};Ut([l(),p()],Mt.prototype,"type",2);Ut([m(),c({each:!0}),p()],Mt.prototype,"modifiers",2);Ut([d(Ji),c(),p()],Mt.prototype,"wall_set",2);Ut([d(Ei),c(),p()],Mt.prototype,"floor_set",2);Ut([d(Gi),c(),p()],Mt.prototype,"roof_ceiling_set",2);Ut([d(Yr),c(),p()],Mt.prototype,"aperture_set",2);Ut([d(Mi),c(),p()],Mt.prototype,"door_set",2);Ut([d(Di),c(),p()],Mt.prototype,"shade_set",2);Ut([l(),p()],Mt.prototype,"air_boundary_modifier",2);Ut([l(),p()],Mt.prototype,"context_modifier",2);let Ce=Mt;var Z2=Object.defineProperty,Y2=Object.getOwnPropertyDescriptor,Vn=(n,t,e,i)=>{for(var r=i>1?void 0:i?Y2(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 Cr=class Zf 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=Ce.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:Ce.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 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,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}};Vn([l(),p()],Cr.prototype,"type",2);Vn([d(Ce),c(),p()],Cr.prototype,"global_modifier_set",2);Vn([m(),c({each:!0}),p()],Cr.prototype,"modifiers",2);Vn([m(),c({each:!0}),p()],Cr.prototype,"modifier_sets",2);Vn([m(),c({each:!0}),p()],Cr.prototype,"sensor_grids",2);Vn([m(),c({each:!0}),p()],Cr.prototype,"views",2);let Yf=Cr;var X2=Object.defineProperty,Q2=Object.getOwnPropertyDescriptor,tc=(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&&X2(t,e,r),r};const Bo=class Xf 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 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.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}};tc([l(),p()],Bo.prototype,"type",2);tc([d(Lf),c(),p()],Bo.prototype,"energy",2);tc([d(Yf),c(),p()],Bo.prototype,"radiance",2);tc([d(Hf),c(),p()],Bo.prototype,"doe2",2);let Qf=Bo;var Ni=(n=>(n.Meters="Meters",n.Millimeters="Millimeters",n.Feet="Feet",n.Inches="Inches",n.Centimeters="Centimeters",n))(Ni||{}),K2=Object.defineProperty,tA=Object.getOwnPropertyDescriptor,jt=(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&&K2(t,e,r),r};const mt=class Kf extends ct{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=Ni.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:Ni.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 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.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}};jt([d(Qf),c(),y()],mt.prototype,"properties",2);jt([l(),p()],mt.prototype,"type",2);jt([l(),p()],mt.prototype,"version",2);jt([m(),c({each:!0}),p()],mt.prototype,"rooms",2);jt([m(),c({each:!0}),p()],mt.prototype,"orphaned_faces",2);jt([m(),c({each:!0}),p()],mt.prototype,"orphaned_shades",2);jt([m(),c({each:!0}),p()],mt.prototype,"orphaned_apertures",2);jt([m(),c({each:!0}),p()],mt.prototype,"orphaned_doors",2);jt([m(),c({each:!0}),p()],mt.prototype,"shade_meshes",2);jt([b(Ni),c(),p()],mt.prototype,"units",2);jt([h(),p()],mt.prototype,"tolerance",2);jt([h(),p()],mt.prototype,"angle_tolerance",2);let tm=mt;var eA=Object.defineProperty,iA=Object.getOwnPropertyDescriptor,xr=(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&&eA(t,e,r),r};const pi=class em 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 N,this.flow_per_area=new N,this.min_flow_ratio=new N,this.min_flow_per_area=new N,this.hmax_flow_ratio=new N}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 N,this.flow_per_area=t.flow_per_area!==void 0?t.flow_per_area:new N,this.min_flow_ratio=t.min_flow_ratio!==void 0?t.min_flow_ratio:new N,this.min_flow_per_area=t.min_flow_per_area!==void 0?t.min_flow_per_area:new N,this.hmax_flow_ratio=t.hmax_flow_ratio!==void 0?t.hmax_flow_ratio:new N,this.space_polygon_geometry=t.space_polygon_geometry)}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.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}};xr([l(),p()],pi.prototype,"type",2);xr([p()],pi.prototype,"assigned_flow",2);xr([p()],pi.prototype,"flow_per_area",2);xr([p()],pi.prototype,"min_flow_ratio",2);xr([p()],pi.prototype,"min_flow_per_area",2);xr([p()],pi.prototype,"hmax_flow_ratio",2);xr([d(zt),c(),p()],pi.prototype,"space_polygon_geometry",2);let Eh=pi;var rA=Object.defineProperty,nA=Object.getOwnPropertyDescriptor,Er=(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&&rA(t,e,r),r};const ci=class im 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 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.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}};Er([m(),c({each:!0}),y()],ci.prototype,"sensor_position",2);Er([l(),p()],ci.prototype,"type",2);Er([h(),p()],ci.prototype,"illuminance_setpoint",2);Er([h(),p()],ci.prototype,"control_fraction",2);Er([h(),p()],ci.prototype,"min_power_input",2);Er([h(),p()],ci.prototype,"min_light_output",2);Er([G(),p()],ci.prototype,"off_at_minimum",2);let Gh=ci;var oA=Object.defineProperty,sA=Object.getOwnPropertyDescriptor,tt=(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 Y=class rm 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 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_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}};tt([l(),p()],Y.prototype,"type",2);tt([l(),p()],Y.prototype,"construction_set",2);tt([l(),p()],Y.prototype,"program_type",2);tt([l(),p()],Y.prototype,"hvac",2);tt([l(),p()],Y.prototype,"shw",2);tt([d(yn),c(),p()],Y.prototype,"people",2);tt([d(hn),c(),p()],Y.prototype,"lighting",2);tt([d(Vi),c(),p()],Y.prototype,"electric_equipment",2);tt([d(Wi),c(),p()],Y.prototype,"gas_equipment",2);tt([d(gn),c(),p()],Y.prototype,"service_hot_water",2);tt([d(ln),c(),p()],Y.prototype,"infiltration",2);tt([d(Sn),c(),p()],Y.prototype,"ventilation",2);tt([d(wn),c(),p()],Y.prototype,"setpoint",2);tt([d(Gh),c(),p()],Y.prototype,"daylighting_control",2);tt([d(So),c(),p()],Y.prototype,"window_vent_control",2);tt([m(),c({each:!0}),p()],Y.prototype,"fans",2);tt([m(),c({each:!0}),p()],Y.prototype,"internal_masses",2);tt([m(),c({each:!0}),p()],Y.prototype,"process_loads",2);let Dh=Y;var aA=Object.defineProperty,pA=Object.getOwnPropertyDescriptor,nm=(n,t,e,i)=>{for(var r=i>1?void 0:i?pA(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&&aA(t,e,r),r};const Jh=class om 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 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.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}};nm([l(),p()],Jh.prototype,"type",2);nm([l(),p()],Jh.prototype,"modifier_set",2);let Mh=Jh;var cA=Object.defineProperty,lA=Object.getOwnPropertyDescriptor,ec=(n,t,e,i)=>{for(var r=i>1?void 0:i?lA(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&&cA(t,e,r),r};const $o=class sm 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 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.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}};ec([l(),p()],$o.prototype,"type",2);ec([d(Dh),c(),p()],$o.prototype,"energy",2);ec([d(Mh),c(),p()],$o.prototype,"radiance",2);ec([d(Eh),c(),p()],$o.prototype,"doe2",2);let Nh=$o;var hA=Object.defineProperty,_A=Object.getOwnPropertyDescriptor,li=(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&&hA(t,e,r),r};const me=class am extends ct{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 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.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}};li([m(),c({each:!0}),y()],me.prototype,"faces",2);li([d(Nh),c(),y()],me.prototype,"properties",2);li([l(),p()],me.prototype,"type",2);li([m(),c({each:!0}),p()],me.prototype,"indoor_shades",2);li([m(),c({each:!0}),p()],me.prototype,"outdoor_shades",2);li([$t(),p()],me.prototype,"multiplier",2);li([G(),p()],me.prototype,"exclude_floor_area",2);li([l(),p()],me.prototype,"story",2);let Rh=me;var uA=Object.defineProperty,yA=Object.getOwnPropertyDescriptor,ic=(n,t,e,i)=>{for(var r=i>1?void 0:i?yA(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&&uA(t,e,r),r};const Ho=class pm 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 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.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}};ic([l(),p()],Ho.prototype,"type",2);ic([l(),p()],Ho.prototype,"construction",2);ic([l(),p()],Ho.prototype,"transmittance_schedule",2);ic([d($a),c(),p()],Ho.prototype,"pv_properties",2);let Vh=Ho;var dA=Object.defineProperty,fA=Object.getOwnPropertyDescriptor,Wh=(n,t,e,i)=>{for(var r=i>1?void 0:i?fA(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&&dA(t,e,r),r};const rc=class cm 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 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.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()],rc.prototype,"type",2);Wh([d(Vh),c(),p()],rc.prototype,"energy",2);Wh([d(Op),c(),p()],rc.prototype,"radiance",2);let Bh=rc;var mA=Object.defineProperty,vA=Object.getOwnPropertyDescriptor,nc=(n,t,e,i)=>{for(var r=i>1?void 0:i?vA(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 Fo=class lm extends ct{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 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.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}};nc([d(zt),c(),y()],Fo.prototype,"geometry",2);nc([d(Bh),c(),y()],Fo.prototype,"properties",2);nc([l(),p()],Fo.prototype,"type",2);nc([G(),p()],Fo.prototype,"is_detached",2);let $h=Fo;var gA=Object.defineProperty,bA=Object.getOwnPropertyDescriptor,Hh=(n,t,e,i)=>{for(var r=i>1?void 0:i?bA(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 oc=class hm 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 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,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()],oc.prototype,"type",2);Hh([l(),p()],oc.prototype,"construction",2);Hh([l(),p()],oc.prototype,"transmittance_schedule",2);let _m=oc;var wA=Object.defineProperty,OA=Object.getOwnPropertyDescriptor,Fh=(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&&wA(t,e,r),r};const sc=class um 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 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,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()],sc.prototype,"type",2);Fh([d(_m),c(),p()],sc.prototype,"energy",2);Fh([d(Hl),c(),p()],sc.prototype,"radiance",2);let ym=sc;var SA=Object.defineProperty,jA=Object.getOwnPropertyDescriptor,ac=(n,t,e,i)=>{for(var r=i>1?void 0:i?jA(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 Io=class dm extends ct{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 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.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}};ac([d(Vp),c(),y()],Io.prototype,"geometry",2);ac([d(ym),c(),y()],Io.prototype,"properties",2);ac([l(),p()],Io.prototype,"type",2);ac([G(),p()],Io.prototype,"is_detached",2);let fm=Io;var AA=Object.defineProperty,PA=Object.getOwnPropertyDescriptor,pc=(n,t,e,i)=>{for(var r=i>1?void 0:i?PA(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&&AA(t,e,r),r};const qo=class mm 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 fm;return i.init(t),i}if(t.type==="Model"){let i=new tm;return i.init(t),i}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.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}};pc([l(),y()],qo.prototype,"identifier",2);pc([l(),p()],qo.prototype,"display_name",2);pc([p()],qo.prototype,"user_data",2);pc([l(),p()],qo.prototype,"type",2);let ct=qo;var CA=Object.defineProperty,xA=Object.getOwnPropertyDescriptor,Gr=(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&&CA(t,e,r),r};const hi=class vm extends ct{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 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.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}};Gr([d(zt),c(),y()],hi.prototype,"geometry",2);Gr([y()],hi.prototype,"boundary_condition",2);Gr([d(mh),c(),y()],hi.prototype,"properties",2);Gr([l(),p()],hi.prototype,"type",2);Gr([G(),p()],hi.prototype,"is_operable",2);Gr([m(),c({each:!0}),p()],hi.prototype,"indoor_shades",2);Gr([m(),c({each:!0}),p()],hi.prototype,"outdoor_shades",2);let Ih=hi;var EA=Object.defineProperty,GA=Object.getOwnPropertyDescriptor,qh=(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&&EA(t,e,r),r};const cc=class gm 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 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.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()],cc.prototype,"exterior_modifier",2);qh([p()],cc.prototype,"interior_modifier",2);qh([l(),p()],cc.prototype,"type",2);let bm=cc;var DA=Object.defineProperty,JA=Object.getOwnPropertyDescriptor,Dr=(n,t,e,i)=>{for(var r=i>1?void 0:i?JA(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&&DA(t,e,r),r};const _i=class wm 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 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.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}};Dr([b(Xe),c(),y()],_i.prototype,"element_type",2);Dr([l(),y()],_i.prototype,"element_id",2);Dr([l(),p()],_i.prototype,"element_name",2);Dr([G(),p()],_i.prototype,"update_geometry",2);Dr([G(),p()],_i.prototype,"update_energy",2);Dr([G(),p()],_i.prototype,"update_radiance",2);Dr([l(),p()],_i.prototype,"type",2);let MA=_i;var NA=Object.defineProperty,RA=Object.getOwnPropertyDescriptor,ve=(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&&NA(t,e,r),r};const Zt=class Om 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 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.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}};ve([b(Xe),c(),y()],Zt.prototype,"element_type",2);ve([l(),y()],Zt.prototype,"element_id",2);ve([G(),y()],Zt.prototype,"geometry_changed",2);ve([m(),c({each:!0}),y()],Zt.prototype,"geometry",2);ve([l(),p()],Zt.prototype,"element_name",2);ve([G(),p()],Zt.prototype,"energy_changed",2);ve([G(),p()],Zt.prototype,"radiance_changed",2);ve([m(),c({each:!0}),p()],Zt.prototype,"existing_geometry",2);ve([l(),p()],Zt.prototype,"type",2);let VA=Zt;var WA=Object.defineProperty,BA=Object.getOwnPropertyDescriptor,To=(n,t,e,i)=>{for(var r=i>1?void 0:i?BA(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&&WA(t,e,r),r};const Wn=class Sm 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 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.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}};To([$t(),y()],Wn.prototype,"r",2);To([$t(),y()],Wn.prototype,"g",2);To([$t(),y()],Wn.prototype,"b",2);To([l(),p()],Wn.prototype,"type",2);To([$t(),p()],Wn.prototype,"a",2);let jm=Wn;var $A=Object.defineProperty,HA=Object.getOwnPropertyDescriptor,lc=(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&&$A(t,e,r),r};const ko=class Am 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 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.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}};lc([l(),p()],ko.prototype,"type",2);lc([m(),c({each:!0}),p()],ko.prototype,"changed_objects",2);lc([m(),c({each:!0}),p()],ko.prototype,"deleted_objects",2);lc([m(),c({each:!0}),p()],ko.prototype,"added_objects",2);let FA=ko;var IA=Object.defineProperty,qA=Object.getOwnPropertyDescriptor,Th=(n,t,e,i)=>{for(var r=i>1?void 0:i?qA(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 hc=class Pm extends zo{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 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.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()],hc.prototype,"type",2);Th([m(),c({each:!0}),p()],hc.prototype,"start_date",2);Th([m(),c({each:!0}),p()],hc.prototype,"end_date",2);let kh=hc;var Hs=(n=>(n.Sunday="Sunday",n.Monday="Monday",n.Tuesday="Tuesday",n.Wednesday="Wednesday",n.Thursday="Thursday",n.Friday="Friday",n.Saturday="Saturday",n))(Hs||{}),TA=Object.defineProperty,kA=Object.getOwnPropertyDescriptor,Jr=(n,t,e,i)=>{for(var r=i>1?void 0:i?kA(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 ui=class Cm extends zo{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=Hs.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:Hs.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 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.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}};Jr([l(),p()],ui.prototype,"type",2);Jr([m(),c({each:!0}),p()],ui.prototype,"start_date",2);Jr([m(),c({each:!0}),p()],ui.prototype,"end_date",2);Jr([b(Hs),c(),p()],ui.prototype,"start_day_of_week",2);Jr([m(),c({each:!0}),p()],ui.prototype,"holidays",2);Jr([d(kh),c(),p()],ui.prototype,"daylight_saving_time",2);Jr([G(),p()],ui.prototype,"leap_year",2);let zh=ui;var zA=Object.defineProperty,LA=Object.getOwnPropertyDescriptor,Nt=(n,t,e,i)=>{for(var r=i>1?void 0:i?LA(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&&zA(t,e,r),r};const At=class xm extends zo{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 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.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}};Nt([l(),y()],At.prototype,"schedule_day",2);Nt([l(),p()],At.prototype,"type",2);Nt([G(),p()],At.prototype,"apply_sunday",2);Nt([G(),p()],At.prototype,"apply_monday",2);Nt([G(),p()],At.prototype,"apply_tuesday",2);Nt([G(),p()],At.prototype,"apply_wednesday",2);Nt([G(),p()],At.prototype,"apply_thursday",2);Nt([G(),p()],At.prototype,"apply_friday",2);Nt([G(),p()],At.prototype,"apply_saturday",2);Nt([m(),c({each:!0}),p()],At.prototype,"start_date",2);Nt([m(),c({each:!0}),p()],At.prototype,"end_date",2);let Lh=At;var UA=Object.defineProperty,ZA=Object.getOwnPropertyDescriptor,YA=(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&&UA(t,e,r),r};const Em=class Gm 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 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}};YA([l(),p()],Em.prototype,"type",2);let zo=Em;var XA=Object.defineProperty,QA=Object.getOwnPropertyDescriptor,_c=(n,t,e,i)=>{for(var r=i>1?void 0:i?QA(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&&XA(t,e,r),r};const Lo=class Dm 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 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.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}};_c([b(Xe),c(),y()],Lo.prototype,"element_type",2);_c([l(),y()],Lo.prototype,"element_id",2);_c([l(),p()],Lo.prototype,"element_name",2);_c([l(),p()],Lo.prototype,"type",2);let KA=Lo;var tP=Object.defineProperty,eP=Object.getOwnPropertyDescriptor,Uo=(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&&tP(t,e,r),r};const Bn=class Jm 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 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.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}};Uo([b(Xe),c(),y()],Bn.prototype,"element_type",2);Uo([l(),y()],Bn.prototype,"element_id",2);Uo([m(),c({each:!0}),y()],Bn.prototype,"geometry",2);Uo([l(),p()],Bn.prototype,"element_name",2);Uo([l(),p()],Bn.prototype,"type",2);let iP=Bn;var Mm=(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))(Mm||{}),rP=Object.defineProperty,nP=Object.getOwnPropertyDescriptor,Uh=(n,t,e,i)=>{for(var r=i>1?void 0:i?nP(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&&rP(t,e,r),r};const uc=class Nm 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 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.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()],uc.prototype,"dry_bulb_max",2);Uh([h(),y()],uc.prototype,"dry_bulb_range",2);Uh([l(),p()],uc.prototype,"type",2);let Rm=uc;var Vm=(n=>(n.Wetbulb="Wetbulb",n.Dewpoint="Dewpoint",n.HumidityRatio="HumidityRatio",n.Enthalpy="Enthalpy",n))(Vm||{}),oP=Object.defineProperty,sP=Object.getOwnPropertyDescriptor,$n=(n,t,e,i)=>{for(var r=i>1?void 0:i?sP(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&&oP(t,e,r),r};const Mr=class Wm 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 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.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}};$n([b(Vm),c(),y()],Mr.prototype,"humidity_type",2);$n([h(),y()],Mr.prototype,"humidity_value",2);$n([l(),p()],Mr.prototype,"type",2);$n([h(),p()],Mr.prototype,"barometric_pressure",2);$n([G(),p()],Mr.prototype,"rain",2);$n([G(),p()],Mr.prototype,"snow_on_ground",2);let Bm=Mr;var aP=Object.defineProperty,pP=Object.getOwnPropertyDescriptor,Zh=(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 yc=class $m 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 $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.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()],yc.prototype,"wind_speed",2);Zh([l(),p()],yc.prototype,"type",2);Zh([h(),p()],yc.prototype,"wind_direction",2);let Hm=yc;var cP=Object.defineProperty,lP=Object.getOwnPropertyDescriptor,Nr=(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&&cP(t,e,r),r};const yi=class Fm 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 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.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}};Nr([l(),y()],yi.prototype,"name",2);Nr([b(Mm),c(),y()],yi.prototype,"day_type",2);Nr([d(Rm),c(),y()],yi.prototype,"dry_bulb_condition",2);Nr([d(Bm),c(),y()],yi.prototype,"humidity_condition",2);Nr([d(Hm),c(),y()],yi.prototype,"wind_condition",2);Nr([y()],yi.prototype,"sky_condition",2);Nr([l(),p()],yi.prototype,"type",2);let hP=yi;var _P=Object.defineProperty,uP=Object.getOwnPropertyDescriptor,yP=(n,t,e,i)=>{for(var r=i>1?void 0:i?uP(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&&_P(t,e,r),r};const Im=class qm 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 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,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()],Im.prototype,"type",2);let Tm=Im;var dP=Object.defineProperty,fP=Object.getOwnPropertyDescriptor,di=(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&&dP(t,e,r),r};const ge=class km 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 N,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 N,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 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.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}};di([l(),p()],ge.prototype,"type",2);di([l(),p()],ge.prototype,"city",2);di([h(),p()],ge.prototype,"latitude",2);di([h(),p()],ge.prototype,"longitude",2);di([p()],ge.prototype,"time_zone",2);di([h(),p()],ge.prototype,"elevation",2);di([l(),p()],ge.prototype,"station_id",2);di([l(),p()],ge.prototype,"source",2);let zm=ge;var mP=Object.defineProperty,vP=Object.getOwnPropertyDescriptor,Yh=(n,t,e,i)=>{for(var r=i>1?void 0:i?vP(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&&mP(t,e,r),r};const dc=class Lm 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 N}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 N)}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.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()],dc.prototype,"type",2);Yh([h(),p()],dc.prototype,"heat_transfer_coefficient",2);Yh([p()],dc.prototype,"temperature",2);let Um=dc;var gP=Object.defineProperty,bP=Object.getOwnPropertyDescriptor,fc=(n,t,e,i)=>{for(var r=i>1?void 0:i?bP(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 Zo=class Zm 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 N}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 N)}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.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}};fc([l(),p()],Zo.prototype,"type",2);fc([G(),p()],Zo.prototype,"sun_exposure",2);fc([G(),p()],Zo.prototype,"wind_exposure",2);fc([p()],Zo.prototype,"view_factor",2);let Ym=Zo;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||{}),wP=Object.defineProperty,OP=Object.getOwnPropertyDescriptor,Rr=(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&&wP(t,e,r),r};const fi=class Xm 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 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.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}};Rr([l(),p()],fi.prototype,"type",2);Rr([h(),p()],fi.prototype,"north",2);Rr([m(),c({each:!0}),p()],fi.prototype,"weather_urls",2);Rr([d(zm),c(),p()],fi.prototype,"location",2);Rr([b(Xh),c(),p()],fi.prototype,"ashrae_climate_zone",2);Rr([m(),c({each:!0}),p()],fi.prototype,"building_type",2);Rr([m(),c({each:!0}),p()],fi.prototype,"vintage",2);let SP=fi;var jP=Object.defineProperty,AP=Object.getOwnPropertyDescriptor,Qh=(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&&jP(t,e,r),r};const mc=class Qm 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 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.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(zt),c(),p()],mc.prototype,"vmtx_geometry",2);Qh([d(zt),c(),p()],mc.prototype,"dmtx_geometry",2);Qh([l(),p()],mc.prototype,"type",2);let Kh=mc;var PP=Object.defineProperty,CP=Object.getOwnPropertyDescriptor,vc=(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 Yo=class Km 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 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=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}};vc([l(),p()],Yo.prototype,"type",2);vc([l(),p()],Yo.prototype,"modifier",2);vc([l(),p()],Yo.prototype,"modifier_direct",2);vc([m(),c({each:!0}),p()],Yo.prototype,"shades",2);let t_=Yo;var xP=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&&xP(t,e,r),r};const gc=class tv 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 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.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()],gc.prototype,"pos",2);e_([m(),c({each:!0}),y()],gc.prototype,"dir",2);e_([l(),p()],gc.prototype,"type",2);let GP=gc;var Fs=(n=>(n.PolygonClipping="PolygonClipping",n.PixelCounting="PixelCounting",n))(Fs||{}),Is=(n=>(n.Periodic="Periodic",n.Timestep="Timestep",n))(Is||{}),qs=(n=>(n.MinimalShadowing="MinimalShadowing",n.FullExterior="FullExterior",n.FullInteriorAndExterior="FullInteriorAndExterior",n.FullExteriorWithReflections="FullExteriorWithReflections",n.FullInteriorAndExteriorWithReflections="FullInteriorAndExteriorWithReflections",n))(qs||{}),DP=Object.defineProperty,JP=Object.getOwnPropertyDescriptor,Hn=(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&&DP(t,e,r),r};const Vr=class ev 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=qs.FullExteriorWithReflections,this.calculation_method=Fs.PolygonClipping,this.calculation_update_method=Is.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:qs.FullExteriorWithReflections,this.calculation_method=t.calculation_method!==void 0?t.calculation_method:Fs.PolygonClipping,this.calculation_update_method=t.calculation_update_method!==void 0?t.calculation_update_method:Is.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 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.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}};Hn([l(),p()],Vr.prototype,"type",2);Hn([b(qs),c(),p()],Vr.prototype,"solar_distribution",2);Hn([b(Fs),c(),p()],Vr.prototype,"calculation_method",2);Hn([b(Is),c(),p()],Vr.prototype,"calculation_update_method",2);Hn([$t(),p()],Vr.prototype,"calculation_frequency",2);Hn([$t(),p()],Vr.prototype,"maximum_figures",2);let iv=Vr;var MP=Object.defineProperty,NP=Object.getOwnPropertyDescriptor,Fn=(n,t,e,i)=>{for(var r=i>1?void 0:i?NP(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&&MP(t,e,r),r};const Wr=class rv 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 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.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}};Fn([l(),p()],Wr.prototype,"type",2);Fn([G(),p()],Wr.prototype,"do_zone_sizing",2);Fn([G(),p()],Wr.prototype,"do_system_sizing",2);Fn([G(),p()],Wr.prototype,"do_plant_sizing",2);Fn([G(),p()],Wr.prototype,"run_for_run_periods",2);Fn([G(),p()],Wr.prototype,"run_for_sizing_periods",2);let nv=Wr;var Ts=(n=>(n.Timestep="Timestep",n.Hourly="Hourly",n.Daily="Daily",n.Monthly="Monthly",n.Annual="Annual",n))(Ts||{}),RP=Object.defineProperty,VP=Object.getOwnPropertyDescriptor,Xo=(n,t,e,i)=>{for(var r=i>1?void 0:i?VP(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&&RP(t,e,r),r};const In=class ov 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=Ts.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:Ts.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 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.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}};Xo([l(),p()],In.prototype,"type",2);Xo([b(Ts),c(),p()],In.prototype,"reporting_frequency",2);Xo([m(),c({each:!0}),p()],In.prototype,"outputs",2);Xo([m(),c({each:!0}),p()],In.prototype,"summary_reports",2);Xo([h(),p()],In.prototype,"unmet_setpoint_tolerance",2);let sv=In;var av=(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))(av||{}),WP=Object.defineProperty,BP=Object.getOwnPropertyDescriptor,mi=(n,t,e,i)=>{for(var r=i>1?void 0:i?BP(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&&WP(t,e,r),r};const be=class pv 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 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.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}};mi([l(),p()],be.prototype,"type",2);mi([m(),c({each:!0}),p()],be.prototype,"design_days",2);mi([h(),p()],be.prototype,"heating_factor",2);mi([h(),p()],be.prototype,"cooling_factor",2);mi([b(av),c(),p()],be.prototype,"efficiency_standard",2);mi([b(Xh),c(),p()],be.prototype,"climate_zone",2);mi([l(),p()],be.prototype,"building_type",2);mi([G(),p()],be.prototype,"bypass_efficiency_sizing",2);let cv=be;var $P=Object.defineProperty,HP=Object.getOwnPropertyDescriptor,lv=(n,t,e,i)=>{for(var r=i>1?void 0:i?HP(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&&$P(t,e,r),r};const i_=class hv 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 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.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}};lv([m(),c({each:!0}),y()],i_.prototype,"boundary_condition_objects",2);lv([l(),p()],i_.prototype,"type",2);let _v=i_;var FP=Object.defineProperty,IP=Object.getOwnPropertyDescriptor,bc=(n,t,e,i)=>{for(var r=i>1?void 0:i?IP(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 Qo=class uv 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 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.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}};bc([l(),p()],Qo.prototype,"type",2);bc([m(),c({each:!0}),p()],Qo.prototype,"changed_objects",2);bc([m(),c({each:!0}),p()],Qo.prototype,"deleted_objects",2);bc([m(),c({each:!0}),p()],Qo.prototype,"added_objects",2);let qP=Qo;var TP=Object.defineProperty,kP=Object.getOwnPropertyDescriptor,zP=(n,t,e,i)=>{for(var r=i>1?void 0:i?kP(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&&TP(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 Q;return e.init(t),e}if(t.type==="Mirror"){let e=new Cp;return e.init(t),e}if(t.type==="ModifierBase"){let e=new Gt;return e.init(t),e}if(t.type==="IDdRadianceBaseModel"){let e=new Ar;return e.init(t),e}if(t.type==="Plastic"){let e=new X;return e.init(t),e}if(t.type==="Glass"){let e=new Ae;return e.init(t),e}if(t.type==="BSDF"){let e=new xp;return e.init(t),e}if(t.type==="Glow"){let e=new jp;return e.init(t),e}if(t.type==="Light"){let e=new Ap;return e.init(t),e}if(t.type==="Trans"){let e=new Zr;return e.init(t),e}if(t.type==="Metal"){let e=new Pp;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 Gi;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 B;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 fr;return e.init(t),e}if(t.type==="EnergyMaterialNoMass"){let e=new la;return e.init(t),e}if(t.type==="EnergyMaterialVegetation"){let e=new ha;return e.init(t),e}if(t.type==="OpaqueConstruction"){let e=new U;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 ga;return e.init(t),e}if(t.type==="Autocalculate"){let e=new N;return e.init(t),e}if(t.type==="EnergyWindowMaterialGlazing"){let e=new je;return e.init(t),e}if(t.type==="EnergyWindowMaterialGas"){let e=new Ur;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasCustom"){let e=new ya;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasMixture"){let e=new fa;return e.init(t),e}if(t.type==="EnergyWindowFrame"){let e=new po;return e.init(t),e}if(t.type==="WindowConstruction"){let e=new jo;return e.init(t),e}if(t.type==="EnergyWindowMaterialShade"){let e=new ma;return e.init(t),e}if(t.type==="EnergyWindowMaterialBlind"){let e=new _a;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 zo;return e.init(t),e}if(t.type==="NoLimit"){let e=new Tr;return e.init(t),e}if(t.type==="ScheduleTypeLimit"){let e=new wo;return e.init(t),e}if(t.type==="ScheduleRuleset"){let e=new La;return e.init(t),e}if(t.type==="ScheduleFixedInterval"){let e=new ka;return e.init(t),e}if(t.type==="WindowConstructionShade"){let e=new ap;return e.init(t),e}if(t.type==="WindowConstructionDynamic"){let e=new op;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 Kt;return e.init(t),e}if(t.type==="AirBoundaryConstruction"){let e=new Qs;return e.init(t),e}if(t.type==="ConstructionSet"){let e=new sa;return e.init(t),e}if(t.type==="DoorModifierSetAbridged"){let e=new Mi;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 Ip;return e.init(t),e}if(t.type==="Lighting"){let e=new uo;return e.init(t),e}if(t.type==="VentilationOpening"){let e=new Wo;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 ja;return e.init(t),e}if(t.type==="OpaqueConstructionAbridged"){let e=new q;return e.init(t),e}if(t.type==="WindowConstructionAbridged"){let e=new te;return e.init(t),e}if(t.type==="AirBoundaryConstructionAbridged"){let e=new kr;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 so;return e.init(t),e}if(t.type==="FloorConstructionSetAbridged"){let e=new Ai;return e.init(t),e}if(t.type==="RoofCeilingConstructionSetAbridged"){let e=new Si;return e.init(t),e}if(t.type==="ApertureConstructionSetAbridged"){let e=new zr;return e.init(t),e}if(t.type==="DoorConstructionSetAbridged"){let e=new Lr;return e.init(t),e}if(t.type==="GlobalConstructionSet"){let e=new Pe;return e.init(t),e}if(t.type==="ConstructionSetAbridged"){let e=new pa;return e.init(t),e}if(t.type==="WindowConstructionShadeAbridged"){let e=new pp;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 qr;return e.init(t),e}if(t.type==="IdealAirSystemAbridged"){let e=new Ea;return e.init(t),e}if(t.type==="VAV"){let e=new Ya;return e.init(t),e}if(t.type==="PVAV"){let e=new Ba;return e.init(t),e}if(t.type==="PSZ"){let e=new Ra;return e.init(t),e}if(t.type==="PTAC"){let e=new Wa;return e.init(t),e}if(t.type==="ForcedAirFurnace"){let e=new Pa;return e.init(t),e}if(t.type==="WSHPwithDOASAbridged"){let e=new hp;return e.init(t),e}if(t.type==="VRFwithDOASAbridged"){let e=new Ka;return e.init(t),e}if(t.type==="RadiantwithDOASAbridged"){let e=new Fa;return e.init(t),e}if(t.type==="FCU"){let e=new Sa;return e.init(t),e}if(t.type==="WSHP"){let e=new lp;return e.init(t),e}if(t.type==="VRF"){let e=new Qa;return e.init(t),e}if(t.type==="Baseboard"){let e=new ea;return e.init(t),e}if(t.type==="EvaporativeCooler"){let e=new wa;return e.init(t),e}if(t.type==="Residential"){let e=new qa;return e.init(t),e}if(t.type==="WindowAC"){let e=new ep;return e.init(t),e}if(t.type==="GasUnitHeater"){let e=new xa;return e.init(t),e}if(t.type==="Radiant"){let e=new Ha;return e.init(t),e}if(t.type==="DetailedHVAC"){let e=new ca;return e.init(t),e}if(t.type==="SHWSystem"){let e=new Za;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 Vi;return e.init(t),e}if(t.type==="_EquipmentBase"){let e=new Kr;return e.init(t),e}if(t.type==="GasEquipmentAbridged"){let e=new Wi;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 Na;return e.init(t),e}if(t.type==="People"){let e=new yo;return e.init(t),e}if(t.type==="ElectricEquipment"){let e=new ao;return e.init(t),e}if(t.type==="GasEquipment"){let e=new ho;return e.init(t),e}if(t.type==="ServiceHotWater"){let e=new fo;return e.init(t),e}if(t.type==="Infiltration"){let e=new _o;return e.init(t),e}if(t.type==="Ventilation"){let e=new vo;return e.init(t),e}if(t.type==="Setpoint"){let e=new mo;return e.init(t),e}if(t.type==="ProgramType"){let e=new Ma;return e.init(t),e}if(t.type==="ScheduleRulesetAbridged"){let e=new Ua;return e.init(t),e}if(t.type==="ScheduleFixedIntervalAbridged"){let e=new za;return e.init(t),e}if(t.type==="VentilationSimulationControl"){let e=new kf;return e.init(t),e}if(t.type==="ElectricLoadCenter"){let e=new If;return e.init(t),e}if(t.type==="ModelEnergyProperties"){let e=new Lf;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 vr;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 zt;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 mp;return e.init(t),e}if(t.type==="ApertureModifierSetAbridged"){let e=new Yr;return e.init(t),e}if(t.type==="Outdoors"){let e=new Ym;return e.init(t),e}if(t.type==="Surface"){let e=new _v;return e.init(t),e}if(t.type==="ModelDoe2Properties"){let e=new Hf;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 GP;return e.init(t),e}if(t.type==="DoorRadiancePropertiesAbridged"){let e=new gp;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 Tm;return e.init(t),e}if(t.type==="Adiabatic"){let e=new Pf;return e.init(t),e}if(t.type==="OtherSideTemperature"){let e=new Um;return e.init(t),e}if(t.type==="PVProperties"){let e=new $a;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 Op;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 ct;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 bp;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 So;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 jm;return e.init(t),e}if(t.type==="Mesh3D"){let e=new Vp;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 Ja;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 Da;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 Eh;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 _m;return e.init(t),e}if(t.type==="ShadeMeshPropertiesAbridged"){let e=new ym;return e.init(t),e}if(t.type==="ShadeMesh"){let e=new fm;return e.init(t),e}if(t.type==="WallModifierSetAbridged"){let e=new Ji;return e.init(t),e}if(t.type==="FloorModifierSetAbridged"){let e=new Ei;return e.init(t),e}if(t.type==="ShadeModifierSetAbridged"){let e=new Di;return e.init(t),e}if(t.type==="GlobalModifierSet"){let e=new Ce;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 Yf;return e.init(t),e}if(t.type==="ModelProperties"){let e=new Qf;return e.init(t),e}if(t.type==="Model"){let e=new tm;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 Ys;return e.init(t),e}if(t.type==="_HeatCoolBase"){let e=new Zs;return e.init(t),e}if(t.type==="_FaceSubSet"){let e=new wd;return e.init(t),e}if(t.type==="BaseModifierSet"){let e=new bm;return e.init(t),e}if(t.type==="_AllAirBase"){let e=new up;return e.init(t),e}if(t.type==="SimulationControl"){let e=new nv;return e.init(t),e}if(t.type==="SimulationOutput"){let e=new sv;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 iv;return e.init(t),e}if(t.type==="DryBulbCondition"){let e=new Rm;return e.init(t),e}if(t.type==="HumidityCondition"){let e=new Bm;return e.init(t),e}if(t.type==="WindCondition"){let e=new Hm;return e.init(t),e}if(t.type==="ASHRAEClearSky"){let e=new vf;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 bf;return e.init(t),e}if(t.type==="DesignDay"){let e=new hP;return e.init(t),e}if(t.type==="SizingParameter"){let e=new cv;return e.init(t),e}if(t.type==="SimulationParameter"){let e=new ZP;return e.init(t),e}if(t.type==="ChangedObject"){let e=new VA;return e.init(t),e}if(t.type==="DeletedObject"){let e=new iP;return e.init(t),e}if(t.type==="AddedObject"){let e=new _2;return e.init(t),e}if(t.type==="ComparisonReport"){let e=new FA;return e.init(t),e}if(t.type==="_DiffObjectBase"){let e=new bS;return e.init(t),e}if(t.type==="ChangedInstruction"){let e=new MA;return e.init(t),e}if(t.type==="DeletedInstruction"){let e=new KA;return e.init(t),e}if(t.type==="AddedInstruction"){let e=new c2;return e.init(t),e}if(t.type==="SyncInstructions"){let e=new qP;return e.init(t),e}if(t.type==="Location"){let e=new zm;return e.init(t),e}if(t.type==="ProjectInfo"){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}}zP([l(),p()],w.prototype,"type",2);var ks=(n=>(n.Ocean="Ocean",n.Country="Country",n.Suburbs="Suburbs",n.Urban="Urban",n.City="City",n))(ks||{}),LP=Object.defineProperty,UP=Object.getOwnPropertyDescriptor,we=(n,t,e,i)=>{for(var r=i>1?void 0:i?UP(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&&LP(t,e,r),r};const Yt=class yv 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=ks.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:ks.City)}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.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}};we([l(),p()],Yt.prototype,"type",2);we([d(sv),c(),p()],Yt.prototype,"output",2);we([d(zh),c(),p()],Yt.prototype,"run_period",2);we([$t(),p()],Yt.prototype,"timestep",2);we([d(nv),c(),p()],Yt.prototype,"simulation_control",2);we([d(iv),c(),p()],Yt.prototype,"shadow_calculation",2);we([d(cv),c(),p()],Yt.prototype,"sizing_parameter",2);we([h(),p()],Yt.prototype,"north_angle",2);we([b(ks),c(),p()],Yt.prototype,"terrain_type",2);let ZP=Yt;var dv=(n=>(n.Core="Core",n.Radiance="Radiance",n.Energy="Energy",n))(dv||{}),fv=(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))(fv||{}),YP=Object.defineProperty,XP=Object.getOwnPropertyDescriptor,Rt=(n,t,e,i)=>{for(var r=i>1?void 0:i?XP(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 Vt=class mv{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 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.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}};Rt([l(),y()],Vt.prototype,"code",2);Rt([l(),y()],Vt.prototype,"error_type",2);Rt([b(dv),c(),y()],Vt.prototype,"extension_type",2);Rt([b(fv),c(),y()],Vt.prototype,"element_type",2);Rt([m(),c({each:!0}),y()],Vt.prototype,"element_id",2);Rt([l(),y()],Vt.prototype,"message",2);Rt([l(),p()],Vt.prototype,"type",2);Rt([m(),c({each:!0}),p()],Vt.prototype,"element_name",2);Rt([m(),c({each:!0}),p()],Vt.prototype,"parents",2);Rt([m(),c({each:!0}),p()],Vt.prototype,"top_parents",2);Rt([m(),c({each:!0}),p()],Vt.prototype,"helper_geometry",2);var vv=(n=>(n.Aperture="Aperture",n.Door="Door",n.Face="Face",n.Room="Room",n.Story="Story",n.Building="Building",n))(vv||{}),QP=Object.defineProperty,KP=Object.getOwnPropertyDescriptor,wc=(n,t,e,i)=>{for(var r=i>1?void 0:i?KP(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};const Oc=class gv{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 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.parent_type=this.parent_type,t.id=this.id,t.type=this.type,t.name=this.name,t}};wc([b(vv),c(),y()],Oc.prototype,"parent_type",2);wc([l(),y()],Oc.prototype,"id",2);wc([l(),p()],Oc.prototype,"type",2);wc([l(),p()],Oc.prototype,"name",2);var t1=Object.defineProperty,e1=Object.getOwnPropertyDescriptor,Br=(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&&t1(t,e,r),r};const $r=class bv{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 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.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}};Br([l(),y()],$r.prototype,"app_version",2);Br([l(),y()],$r.prototype,"schema_version",2);Br([G(),y()],$r.prototype,"valid",2);Br([l(),p()],$r.prototype,"type",2);Br([l(),p()],$r.prototype,"app_name",2);Br([l(),p()],$r.prototype,"fatal_error",2);Br([m(),c({each:!0}),p()],$r.prototype,"errors",2);var i1=Object.defineProperty,r1=Object.getOwnPropertyDescriptor,Sc=(n,t,e,i)=>{for(var r=i>1?void 0:i?r1(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&&i1(t,e,r),r};const jc=class wv{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 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.x=this.x,t.y=this.y,t.z=this.z,t.type=this.type,t}};Sc([h(),y()],jc.prototype,"x",2);Sc([h(),y()],jc.prototype,"y",2);Sc([h(),y()],jc.prototype,"z",2);Sc([l(),p()],jc.prototype,"type",2);var n1=Object.defineProperty,o1=Object.getOwnPropertyDescriptor,r_=(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&&n1(t,e,r),r};const n_=class Ov{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 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.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 s1=Object.defineProperty,a1=Object.getOwnPropertyDescriptor,Sv=(n,t,e,i)=>{for(var r=i>1?void 0:i?a1(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 o_=class jv extends Ac{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 jv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Sv([nl(),V()],o_.prototype,"louver_count",2);Sv([x(),f()],o_.prototype,"type",2);let s_=o_;var p1=Object.defineProperty,c1=Object.getOwnPropertyDescriptor,Av=(n,t,e,i)=>{for(var r=i>1?void 0:i?c1(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&&p1(t,e,r),r};const a_=class Pv extends Ac{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 Pv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Av([$(),V()],a_.prototype,"distance",2);Av([x(),f()],a_.prototype,"type",2);let p_=a_;var l1=Object.defineProperty,h1=Object.getOwnPropertyDescriptor,qn=(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&&l1(t,e,r),r};const Hr=class Cv extends T{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 Cv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};qn([$(),V()],Hr.prototype,"depth",2);qn([$(),f()],Hr.prototype,"offset",2);qn([$(),f()],Hr.prototype,"angle",2);qn([R(),C({each:!0}),f()],Hr.prototype,"contour_vector",2);qn([Ge(),f()],Hr.prototype,"flip_start_side",2);qn([x(),f()],Hr.prototype,"type",2);let Ac=Hr;var _1=Object.defineProperty,u1=Object.getOwnPropertyDescriptor,c_=(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&&_1(t,e,r),r};const Pc=class xv extends vi{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 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.polygons=this.polygons,e.type=this.type,e.are_doors=this.are_doors,super.toJSON(e),e}async validate(){const e=await M(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_([R(),C({each:!0}),V()],Pc.prototype,"polygons",2);c_([x(),f()],Pc.prototype,"type",2);c_([R(),C({each:!0}),f()],Pc.prototype,"are_doors",2);let l_=Pc;var y1=Object.defineProperty,d1=Object.getOwnPropertyDescriptor,Ko=(n,t,e,i)=>{for(var r=i>1?void 0:i?d1(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&&y1(t,e,r),r};const Tn=class Ev extends vi{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 Ev;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Ko([R(),C({each:!0}),V()],Tn.prototype,"origins",2);Ko([R(),C({each:!0}),V()],Tn.prototype,"widths",2);Ko([R(),C({each:!0}),V()],Tn.prototype,"heights",2);Ko([x(),f()],Tn.prototype,"type",2);Ko([R(),C({each:!0}),f()],Tn.prototype,"are_doors",2);let h_=Tn;var f1=Object.defineProperty,m1=Object.getOwnPropertyDescriptor,kn=(n,t,e,i)=>{for(var r=i>1?void 0:i?m1(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 Fr=class Gv extends vi{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 Gv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};kn([$(),V()],Fr.prototype,"window_ratio",2);kn([$(),V()],Fr.prototype,"window_height",2);kn([$(),V()],Fr.prototype,"sill_height",2);kn([$(),V()],Fr.prototype,"horizontal_separation",2);kn([x(),f()],Fr.prototype,"type",2);kn([$(),f()],Fr.prototype,"vertical_separation",2);let __=Fr;var v1=Object.defineProperty,g1=Object.getOwnPropertyDescriptor,u_=(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&&v1(t,e,r),r};const Cc=class Dv extends vi{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 Dv;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 M(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_([$(),V()],Cc.prototype,"window_area",2);u_([x(),f()],Cc.prototype,"type",2);u_([Ge(),f()],Cc.prototype,"rect_split",2);let y_=Cc;var b1=Object.defineProperty,w1=Object.getOwnPropertyDescriptor,d_=(n,t,e,i)=>{for(var r=i>1?void 0:i?w1(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&&b1(t,e,r),r};const xc=class Jv extends vi{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 Jv;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 M(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_([$(),V()],xc.prototype,"window_ratio",2);d_([x(),f()],xc.prototype,"type",2);d_([Ge(),f()],xc.prototype,"rect_split",2);let f_=xc;var O1=Object.defineProperty,S1=Object.getOwnPropertyDescriptor,Ec=(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 ts=class Mv extends vi{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 Mv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Ec([$(),V()],ts.prototype,"width",2);Ec([$(),V()],ts.prototype,"height",2);Ec([x(),f()],ts.prototype,"type",2);Ec([$(),f()],ts.prototype,"sill_height",2);let m_=ts;var j1=Object.defineProperty,A1=Object.getOwnPropertyDescriptor,Nv=(n,t,e,i)=>{for(var r=i>1?void 0:i?A1(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&&j1(t,e,r),r};const v_=class Rv extends T{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 Rv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Nv([f()],v_.prototype,"user_data",2);Nv([x(),f()],v_.prototype,"type",2);let vi=v_;var P1=Object.defineProperty,C1=Object.getOwnPropertyDescriptor,Vv=(n,t,e,i)=>{for(var r=i>1?void 0:i?C1(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&&P1(t,e,r),r};const g_=class Wv extends T{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 Wv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Vv([x(),f()],g_.prototype,"type",2);Vv([x(),f()],g_.prototype,"construction_set",2);let b_=g_;var x1=Object.defineProperty,E1=Object.getOwnPropertyDescriptor,Bv=(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&&x1(t,e,r),r};const w_=class $v extends T{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 $v;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Bv([x(),f()],w_.prototype,"type",2);Bv([x(),f()],w_.prototype,"modifier_set",2);let O_=w_;var G1=Object.defineProperty,D1=Object.getOwnPropertyDescriptor,S_=(n,t,e,i)=>{for(var r=i>1?void 0:i?D1(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 Hv extends T{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 Hv;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 M(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()],Gc.prototype,"type",2);S_([L(b_),C(),f()],Gc.prototype,"energy",2);S_([L(O_),C(),f()],Gc.prototype,"radiance",2);let j_=Gc;var J1=Object.defineProperty,M1=Object.getOwnPropertyDescriptor,Fv=(n,t,e,i)=>{for(var r=i>1?void 0:i?M1(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&&J1(t,e,r),r};const A_=class Iv extends T{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 Iv;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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Fv([R(),C({each:!0}),V()],A_.prototype,"geometry",2);Fv([x(),f()],A_.prototype,"type",2);let Dc=A_;var N1=Object.defineProperty,R1=Object.getOwnPropertyDescriptor,es=(n,t,e,i)=>{for(var r=i>1?void 0:i?R1(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&&N1(t,e,r),r};const zn=class qv extends ct{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 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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};es([L(j_),C(),V()],zn.prototype,"properties",2);es([x(),f()],zn.prototype,"type",2);es([R(),C({each:!0}),f()],zn.prototype,"unique_stories",2);es([R(),C({each:!0}),f()],zn.prototype,"room_3ds",2);es([L(Dc),C(),f()],zn.prototype,"roof",2);let Tv=zn;var V1=Object.defineProperty,W1=Object.getOwnPropertyDescriptor,P_=(n,t,e,i)=>{for(var r=i>1?void 0:i?W1(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&&V1(t,e,r),r};const Jc=class kv extends T{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 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.type=this.type,e.construction=this.construction,e.transmittance_schedule=this.transmittance_schedule,super.toJSON(e),e}async validate(){const e=await M(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()],Jc.prototype,"type",2);P_([x(),f()],Jc.prototype,"construction",2);P_([x(),f()],Jc.prototype,"transmittance_schedule",2);let C_=Jc;var B1=Object.defineProperty,$1=Object.getOwnPropertyDescriptor,zv=(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&&B1(t,e,r),r};const x_=class Lv extends T{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 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.type=this.type,e.modifier=this.modifier,super.toJSON(e),e}async validate(){const e=await M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};zv([x(),f()],x_.prototype,"type",2);zv([x(),f()],x_.prototype,"modifier",2);let E_=x_;var H1=Object.defineProperty,F1=Object.getOwnPropertyDescriptor,G_=(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&&H1(t,e,r),r};const Mc=class Uv extends T{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 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.type=this.type,e.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await M(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()],Mc.prototype,"type",2);G_([L(C_),C(),f()],Mc.prototype,"energy",2);G_([L(E_),C(),f()],Mc.prototype,"radiance",2);let D_=Mc;var I1=Object.defineProperty,q1=Object.getOwnPropertyDescriptor,Nc=(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&&I1(t,e,r),r};const is=class Zv extends ct{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 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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Nc([R(),C({each:!0}),V()],is.prototype,"geometry",2);Nc([L(D_),C(),V()],is.prototype,"properties",2);Nc([x(),f()],is.prototype,"type",2);Nc([Ge(),f()],is.prototype,"is_detached",2);let Yv=is;var T1=Object.defineProperty,k1=Object.getOwnPropertyDescriptor,J_=(n,t,e,i)=>{for(var r=i>1?void 0:i?k1(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&&T1(t,e,r),r};const Rc=class Xv extends T{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 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.polygons=this.polygons,e.type=this.type,e.are_doors=this.are_doors,super.toJSON(e),e}async validate(){const e=await M(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_([R(),C({each:!0}),V()],Rc.prototype,"polygons",2);J_([x(),f()],Rc.prototype,"type",2);J_([R(),C({each:!0}),f()],Rc.prototype,"are_doors",2);let Qv=Rc;var Xn=(n=>(n.Wall="Wall",n.Roof="Roof",n.Floor="Floor",n.All="All",n))(Xn||{}),z1=Object.defineProperty,L1=Object.getOwnPropertyDescriptor,Vc=(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&&z1(t,e,r),r};const rs=class Kv extends ss{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=Xn.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:Xn.Wall,this.punched_geometry=e.punched_geometry!==void 0?e.punched_geometry:!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.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 M(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([x(),f()],rs.prototype,"type",2);Vc([$(),f()],rs.prototype,"offset",2);Vc([rl(Xn),C(),f()],rs.prototype,"face_type",2);Vc([Ge(),f()],rs.prototype,"punched_geometry",2);let M_=rs;var U1=Object.defineProperty,Z1=Object.getOwnPropertyDescriptor,tg=(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&&U1(t,e,r),r};const N_=class eg extends T{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 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.depth=this.depth,e.type=this.type,super.toJSON(e),e}async validate(){const e=await M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};tg([$(),V()],N_.prototype,"depth",2);tg([x(),f()],N_.prototype,"type",2);let ig=N_;var Y1=Object.defineProperty,X1=Object.getOwnPropertyDescriptor,R_=(n,t,e,i)=>{for(var r=i>1?void 0:i?X1(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&&Y1(t,e,r),r};const Wc=class rg extends T{constructor(){super();u(this,"skylight_area");u(this,"type");u(this,"spacing");this.type="GriddedSkylightArea",this.spacing=new N}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 N)}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.skylight_area=this.skylight_area,e.type=this.type,e.spacing=this.spacing,super.toJSON(e),e}async validate(){const e=await M(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_([$(),V()],Wc.prototype,"skylight_area",2);R_([x(),f()],Wc.prototype,"type",2);R_([f()],Wc.prototype,"spacing",2);let ng=Wc;var Q1=Object.defineProperty,K1=Object.getOwnPropertyDescriptor,V_=(n,t,e,i)=>{for(var r=i>1?void 0:i?K1(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 Bc=class og extends T{constructor(){super();u(this,"skylight_ratio");u(this,"type");u(this,"spacing");this.type="GriddedSkylightRatio",this.spacing=new N}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 N)}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.skylight_ratio=this.skylight_ratio,e.type=this.type,e.spacing=this.spacing,super.toJSON(e),e}async validate(){const e=await M(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_([$(),V()],Bc.prototype,"skylight_ratio",2);V_([x(),f()],Bc.prototype,"type",2);V_([f()],Bc.prototype,"spacing",2);let sg=Bc;var tC=Object.defineProperty,eC=Object.getOwnPropertyDescriptor,Xt=(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&&tC(t,e,r),r};const Wt=class ag extends T{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=Pe.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:Pe.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 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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Xt([x(),f()],Wt.prototype,"type",2);Xt([L(Pe),C(),f()],Wt.prototype,"global_construction_set",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"construction_sets",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"constructions",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"materials",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"hvacs",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"shws",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"program_types",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"schedules",2);Xt([R(),C({each:!0}),f()],Wt.prototype,"schedule_type_limits",2);let W_=Wt;var iC=Object.defineProperty,rC=Object.getOwnPropertyDescriptor,$c=(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&&iC(t,e,r),r};const ns=class pg extends T{constructor(){super();u(this,"type");u(this,"global_modifier_set");u(this,"modifier_sets");u(this,"modifiers");this.type="ModelRadianceProperties",this.global_modifier_set=Ce.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:Ce.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 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.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 M(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([x(),f()],ns.prototype,"type",2);$c([L(Ce),C(),f()],ns.prototype,"global_modifier_set",2);$c([R(),C({each:!0}),f()],ns.prototype,"modifier_sets",2);$c([R(),C({each:!0}),f()],ns.prototype,"modifiers",2);let B_=ns;var nC=Object.defineProperty,oC=Object.getOwnPropertyDescriptor,$_=(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&&nC(t,e,r),r};const Hc=class cg extends T{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 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.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await M(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()],Hc.prototype,"type",2);$_([L(W_),C(),f()],Hc.prototype,"energy",2);$_([L(B_),C(),f()],Hc.prototype,"radiance",2);let H_=Hc;var sC=Object.defineProperty,aC=Object.getOwnPropertyDescriptor,gi=(n,t,e,i)=>{for(var r=i>1?void 0:i?aC(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 Oe=class lg extends ct{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=Ni.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:Ni.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 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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};gi([L(H_),C(),V()],Oe.prototype,"properties",2);gi([x(),f()],Oe.prototype,"type",2);gi([x(),f()],Oe.prototype,"version",2);gi([R(),C({each:!0}),f()],Oe.prototype,"buildings",2);gi([R(),C({each:!0}),f()],Oe.prototype,"context_shades",2);gi([rl(Ni),C(),f()],Oe.prototype,"units",2);gi([$(),f()],Oe.prototype,"tolerance",2);gi([$(),f()],Oe.prototype,"angle_tolerance",2);let hg=Oe;var pC=Object.defineProperty,cC=Object.getOwnPropertyDescriptor,F_=(n,t,e,i)=>{for(var r=i>1?void 0:i?cC(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&&pC(t,e,r),r};const Fc=class _g extends T{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 _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,e.angle=this.angle,super.toJSON(e),e}async validate(){const e=await M(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_([$(),V()],Fc.prototype,"depth",2);F_([x(),f()],Fc.prototype,"type",2);F_([$(),f()],Fc.prototype,"angle",2);let ug=Fc;var lC=Object.defineProperty,hC=Object.getOwnPropertyDescriptor,bi=(n,t,e,i)=>{for(var r=i>1?void 0:i?hC(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&&lC(t,e,r),r};const Se=class yg extends T{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 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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};bi([x(),f()],Se.prototype,"type",2);bi([x(),f()],Se.prototype,"construction_set",2);bi([x(),f()],Se.prototype,"program_type",2);bi([x(),f()],Se.prototype,"hvac",2);bi([x(),f()],Se.prototype,"shw",2);bi([L(So),C(),f()],Se.prototype,"window_vent_control",2);bi([L(Wo),C(),f()],Se.prototype,"window_vent_opening",2);bi([R(),C({each:!0}),f()],Se.prototype,"process_loads",2);let I_=Se;var _C=Object.defineProperty,uC=Object.getOwnPropertyDescriptor,q_=(n,t,e,i)=>{for(var r=i>1?void 0:i?uC(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&&_C(t,e,r),r};const Ic=class dg extends T{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 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.modifier_set=this.modifier_set,e.grid_parameters=this.grid_parameters,super.toJSON(e),e}async validate(){const e=await M(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()],Ic.prototype,"type",2);q_([x(),f()],Ic.prototype,"modifier_set",2);q_([R(),C({each:!0}),f()],Ic.prototype,"grid_parameters",2);let T_=Ic;var yC=Object.defineProperty,dC=Object.getOwnPropertyDescriptor,k_=(n,t,e,i)=>{for(var r=i>1?void 0:i?dC(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&&yC(t,e,r),r};const qc=class fg extends T{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 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.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await M(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()],qc.prototype,"type",2);k_([L(I_),C(),f()],qc.prototype,"energy",2);k_([L(T_),C(),f()],qc.prototype,"radiance",2);let z_=qc;var fC=Object.defineProperty,mC=Object.getOwnPropertyDescriptor,vt=(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&&fC(t,e,r),r};const lt=class mg extends ct{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 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.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 M(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([R(),C({each:!0}),V()],lt.prototype,"floor_boundary",2);vt([$(),V()],lt.prototype,"floor_height",2);vt([$(),V()],lt.prototype,"floor_to_ceiling_height",2);vt([L(z_),C(),V()],lt.prototype,"properties",2);vt([x(),f()],lt.prototype,"type",2);vt([R(),C({each:!0}),f()],lt.prototype,"floor_holes",2);vt([Ge(),f()],lt.prototype,"is_ground_contact",2);vt([Ge(),f()],lt.prototype,"is_top_exposed",2);vt([R(),C({each:!0}),f()],lt.prototype,"boundary_conditions",2);vt([R(),C({each:!0}),f()],lt.prototype,"window_parameters",2);vt([R(),C({each:!0}),f()],lt.prototype,"shading_parameters",2);vt([R(),C({each:!0}),f()],lt.prototype,"air_boundaries",2);vt([f()],lt.prototype,"skylight_parameters",2);let vg=lt;var vC=Object.defineProperty,gC=Object.getOwnPropertyDescriptor,Tc=(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&&vC(t,e,r),r};const os=class gg extends Lc{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 N,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 N,this.type=e.type!==void 0?e.type:"RoomRadialGridParameter")}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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Tc([nl(),f()],os.prototype,"dir_count",2);Tc([R(),C({each:!0}),f()],os.prototype,"start_vector",2);Tc([f()],os.prototype,"mesh_radius",2);Tc([x(),f()],os.prototype,"type",2);let kc=os;var bC=Object.defineProperty,wC=Object.getOwnPropertyDescriptor,L_=(n,t,e,i)=>{for(var r=i>1?void 0:i?wC(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&&bC(t,e,r),r};const zc=class bg extends ss{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 kc;return r.init(e),r}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.offset=this.offset,e.wall_offset=this.wall_offset,super.toJSON(e),e}async validate(){const e=await M(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()],zc.prototype,"type",2);L_([$(),f()],zc.prototype,"offset",2);L_([$(),f()],zc.prototype,"wall_offset",2);let Lc=zc;var OC=Object.defineProperty,SC=Object.getOwnPropertyDescriptor,wg=(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 U_=class Og extends T{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 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.construction_set=this.construction_set,super.toJSON(e),e}async validate(){const e=await M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};wg([x(),f()],U_.prototype,"type",2);wg([x(),f()],U_.prototype,"construction_set",2);let Z_=U_;var jC=Object.defineProperty,AC=Object.getOwnPropertyDescriptor,Sg=(n,t,e,i)=>{for(var r=i>1?void 0:i?AC(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 Y_=class jg extends T{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 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.type=this.type,e.modifier_set=this.modifier_set,super.toJSON(e),e}async validate(){const e=await M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Sg([x(),f()],Y_.prototype,"type",2);Sg([x(),f()],Y_.prototype,"modifier_set",2);let X_=Y_;var PC=Object.defineProperty,CC=Object.getOwnPropertyDescriptor,Q_=(n,t,e,i)=>{for(var r=i>1?void 0:i?CC(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&&PC(t,e,r),r};const Uc=class Ag extends T{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 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.energy=this.energy,e.radiance=this.radiance,super.toJSON(e),e}async validate(){const e=await M(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()],Uc.prototype,"type",2);Q_([L(Z_),C(),f()],Uc.prototype,"energy",2);Q_([L(X_),C(),f()],Uc.prototype,"radiance",2);let K_=Uc;var xC=Object.defineProperty,EC=Object.getOwnPropertyDescriptor,Ir=(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&&xC(t,e,r),r};const wi=class Pg extends ct{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 N,this.floor_height=new N,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 N,this.floor_height=e.floor_height!==void 0?e.floor_height:new N,this.multiplier=e.multiplier!==void 0?e.multiplier:1,this.roof=e.roof)}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.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 M(this);if(e.length>0){const i=e.map(r=>Object.values(r.constraints||{}).join(", ")).join("; ");throw new Error(`Validation failed: ${i}`)}return!0}};Ir([R(),C({each:!0}),V()],wi.prototype,"room_2ds",2);Ir([L(K_),C(),V()],wi.prototype,"properties",2);Ir([x(),f()],wi.prototype,"type",2);Ir([f()],wi.prototype,"floor_to_floor_height",2);Ir([f()],wi.prototype,"floor_height",2);Ir([nl(),f()],wi.prototype,"multiplier",2);Ir([L(Dc),C(),f()],wi.prototype,"roof",2);let Cg=wi;var GC=Object.defineProperty,DC=Object.getOwnPropertyDescriptor,JC=(n,t,e,i)=>{for(var r=i>1?void 0:i?DC(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};class T{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 fr;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 zo;return e.init(t),e}if(t.type==="NoLimit"){let e=new Tr;return e.init(t),e}if(t.type==="ScheduleTypeLimit"){let e=new wo;return e.init(t),e}if(t.type==="ScheduleRuleset"){let e=new La;return e.init(t),e}if(t.type==="ScheduleFixedInterval"){let e=new ka;return e.init(t),e}if(t.type==="Autocalculate"){let e=new N;return e.init(t),e}if(t.type==="People"){let e=new yo;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 so;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 Q;return e.init(t),e}if(t.type==="Mirror"){let e=new Cp;return e.init(t),e}if(t.type==="ModifierBase"){let e=new Gt;return e.init(t),e}if(t.type==="IDdRadianceBaseModel"){let e=new Ar;return e.init(t),e}if(t.type==="Plastic"){let e=new X;return e.init(t),e}if(t.type==="Glass"){let e=new Ae;return e.init(t),e}if(t.type==="BSDF"){let e=new xp;return e.init(t),e}if(t.type==="Glow"){let e=new jp;return e.init(t),e}if(t.type==="Light"){let e=new Ap;return e.init(t),e}if(t.type==="Trans"){let e=new Zr;return e.init(t),e}if(t.type==="Metal"){let e=new Pp;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 zt;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 mp;return e.init(t),e}if(t.type==="_PropertiesBaseAbridged"){let e=new vr;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 Vi;return e.init(t),e}if(t.type==="_EquipmentBase"){let e=new Kr;return e.init(t),e}if(t.type==="GasEquipmentAbridged"){let e=new Wi;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 Na;return e.init(t),e}if(t.type==="SHWSystem"){let e=new Za;return e.init(t),e}if(t.type==="EnergyWindowMaterialSimpleGlazSys"){let e=new ga;return e.init(t),e}if(t.type==="EnergyWindowMaterialGlazing"){let e=new je;return e.init(t),e}if(t.type==="EnergyWindowMaterialGas"){let e=new Ur;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasCustom"){let e=new ya;return e.init(t),e}if(t.type==="EnergyWindowMaterialGasMixture"){let e=new fa;return e.init(t),e}if(t.type==="EnergyWindowFrame"){let e=new po;return e.init(t),e}if(t.type==="WindowConstruction"){let e=new jo;return e.init(t),e}if(t.type==="EnergyWindowMaterialShade"){let e=new ma;return e.init(t),e}if(t.type==="EnergyWindowMaterialBlind"){let e=new _a;return e.init(t),e}if(t.type==="WindowConstructionShade"){let e=new ap;return e.init(t),e}if(t.type==="WindowConstructionDynamic"){let e=new op;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 Tm;return e.init(t),e}if(t.type==="Outdoors"){let e=new Ym;return e.init(t),e}if(t.type==="Adiabatic"){let e=new Pf;return e.init(t),e}if(t.type==="Surface"){let e=new _v;return e.init(t),e}if(t.type==="OtherSideTemperature"){let e=new Um;return e.init(t),e}if(t.type==="PVProperties"){let e=new $a;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 Op;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 ct;return e.init(t),e}if(t.type==="VentilationOpening"){let e=new Wo;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 gp;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 bp;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 So;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 Da;return e.init(t),e}if(t.type==="ProcessAbridged"){let e=new Ja;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 Eh;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 Ei;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 vi;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 qa;return e.init(t),e}if(t.type==="OpaqueConstructionAbridged"){let e=new q;return e.init(t),e}if(t.type==="Color"){let e=new jm;return e.init(t),e}if(t.type==="Mesh3D"){let e=new Vp;return e.init(t),e}if(t.type==="ContextShadeRadiancePropertiesAbridged"){let e=new E_;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 B;return e.init(t),e}if(t.type==="EnergyMaterialNoMass"){let e=new la;return e.init(t),e}if(t.type==="WindowConstructionAbridged"){let e=new te;return e.init(t),e}if(t.type==="ShadeConstruction"){let e=new Kt;return e.init(t),e}if(t.type==="AirBoundaryConstructionAbridged"){let e=new kr;return e.init(t),e}if(t.type==="FloorConstructionSetAbridged"){let e=new Ai;return e.init(t),e}if(t.type==="RoofCeilingConstructionSetAbridged"){let e=new Si;return e.init(t),e}if(t.type==="ApertureConstructionSetAbridged"){let e=new zr;return e.init(t),e}if(t.type==="DoorConstructionSetAbridged"){let e=new Lr;return e.init(t),e}if(t.type==="GlobalConstructionSet"){let e=new Pe;return e.init(t),e}if(t.type==="ConstructionSetAbridged"){let e=new pa;return e.init(t),e}if(t.type==="EnergyMaterialVegetation"){let e=new ha;return e.init(t),e}if(t.type==="OpaqueConstruction"){let e=new U;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 Qs;return e.init(t),e}if(t.type==="ConstructionSet"){let e=new sa;return e.init(t),e}if(t.type==="Autosize"){let e=new qr;return e.init(t),e}if(t.type==="IdealAirSystemAbridged"){let e=new Ea;return e.init(t),e}if(t.type==="VAV"){let e=new Ya;return e.init(t),e}if(t.type==="PVAV"){let e=new Ba;return e.init(t),e}if(t.type==="PSZ"){let e=new Ra;return e.init(t),e}if(t.type==="PTAC"){let e=new Wa;return e.init(t),e}if(t.type==="ForcedAirFurnace"){let e=new Pa;return e.init(t),e}if(t.type==="FCUwithDOASAbridged"){let e=new ja;return e.init(t),e}if(t.type==="WSHPwithDOASAbridged"){let e=new hp;return e.init(t),e}if(t.type==="VRFwithDOASAbridged"){let e=new Ka;return e.init(t),e}if(t.type==="RadiantwithDOASAbridged"){let e=new Fa;return e.init(t),e}if(t.type==="FCU"){let e=new Sa;return e.init(t),e}if(t.type==="WSHP"){let e=new lp;return e.init(t),e}if(t.type==="VRF"){let e=new Qa;return e.init(t),e}if(t.type==="Baseboard"){let e=new ea;return e.init(t),e}if(t.type==="EvaporativeCooler"){let e=new wa;return e.init(t),e}if(t.type==="WindowAC"){let e=new ep;return e.init(t),e}if(t.type==="GasUnitHeater"){let e=new xa;return e.init(t),e}if(t.type==="Radiant"){let e=new Ha;return e.init(t),e}if(t.type==="DetailedHVAC"){let e=new ca;return e.init(t),e}if(t.type==="Lighting"){let e=new uo;return e.init(t),e}if(t.type==="ElectricEquipment"){let e=new ao;return e.init(t),e}if(t.type==="GasEquipment"){let e=new ho;return e.init(t),e}if(t.type==="ServiceHotWater"){let e=new fo;return e.init(t),e}if(t.type==="Infiltration"){let e=new _o;return e.init(t),e}if(t.type==="Ventilation"){let e=new vo;return e.init(t),e}if(t.type==="Setpoint"){let e=new mo;return e.init(t),e}if(t.type==="ProgramType"){let e=new Ma;return e.init(t),e}if(t.type==="ScheduleRulesetAbridged"){let e=new Ua;return e.init(t),e}if(t.type==="ScheduleFixedIntervalAbridged"){let e=new za;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 Ji;return e.init(t),e}if(t.type==="RoofCeilingModifierSetAbridged"){let e=new Gi;return e.init(t),e}if(t.type==="ApertureModifierSetAbridged"){let e=new Yr;return e.init(t),e}if(t.type==="DoorModifierSetAbridged"){let e=new Mi;return e.init(t),e}if(t.type==="ShadeModifierSetAbridged"){let e=new Di;return e.init(t),e}if(t.type==="GlobalModifierSet"){let e=new Ce;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 Lc;return e.init(t),e}if(t.type==="_GridParameterBase"){let e=new ss;return e.init(t),e}if(t.type==="RoomRadialGridParameter"){let e=new kc;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 Qv;return e.init(t),e}if(t.type==="ContextShade"){let e=new Yv;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 ig;return e.init(t),e}if(t.type==="Overhang"){let e=new ug;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 Ac;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 ng;return e.init(t),e}if(t.type==="GriddedSkylightRatio"){let e=new sg;return e.init(t),e}if(t.type==="Room2D"){let e=new vg;return e.init(t),e}if(t.type==="RoofSpecification"){let e=new Dc;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 Cg;return e.init(t),e}if(t.type==="Building"){let e=new Tv;return e.init(t),e}if(t.type==="Model"){let e=new hg;return e.init(t),e}if(t.type==="BaseModifierSet"){let e=new bm;return e.init(t),e}if(t.type==="WindowConstructionShadeAbridged"){let e=new pp;return e.init(t),e}if(t.type==="_HeatCoolBase"){let e=new Zs;return e.init(t),e}if(t.type==="_TemplateSystem"){let e=new Ys;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 wd;return e.init(t),e}if(t.type==="_AllAirBase"){let e=new up;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}}JC([x(),f()],T.prototype,"type",2);var MC=Object.defineProperty,NC=Object.getOwnPropertyDescriptor,tu=(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&&MC(t,e,r),r};const Zc=class xg extends T{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 Lc;return r.init(e),r}if(e.type==="RoomRadialGridParameter"){let r=new kc;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 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.dimension=this.dimension,e.include_mesh=this.include_mesh,e.type=this.type,super.toJSON(e),e}async validate(){const e=await M(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([$(),V()],Zc.prototype,"dimension",2);tu([Ge(),f()],Zc.prototype,"include_mesh",2);tu([x(),f()],Zc.prototype,"type",2);let ss=Zc;var Qn=(n=>(n.Window="Window",n.Skylight="Skylight",n.All="All",n))(Qn||{}),RC=Object.defineProperty,VC=Object.getOwnPropertyDescriptor,eu=(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&&RC(t,e,r),r};const Yc=class Eg extends ss{constructor(){super();u(this,"type");u(this,"offset");u(this,"aperture_type");this.type="ExteriorApertureGridParameter",this.offset=.1,this.aperture_type=Qn.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:Qn.All)}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.offset=this.offset,e.aperture_type=this.aperture_type,super.toJSON(e),e}async validate(){const e=await M(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()],Yc.prototype,"type",2);eu([$(),f()],Yc.prototype,"offset",2);eu([rl(Qn),C(),f()],Yc.prototype,"aperture_type",2);let iu=Yc;exports.Building=Tv;exports.BuildingEnergyPropertiesAbridged=b_;exports.BuildingPropertiesAbridged=j_;exports.BuildingRadiancePropertiesAbridged=O_;exports.ContextShade=Yv;exports.ContextShadeEnergyPropertiesAbridged=C_;exports.ContextShadePropertiesAbridged=D_;exports.ContextShadeRadiancePropertiesAbridged=E_;exports.DetailedSkylights=Qv;exports.DetailedWindows=l_;exports.ExteriorApertureGridParameter=iu;exports.ExteriorApertureType=Qn;exports.ExteriorFaceGridParameter=M_;exports.ExteriorFaceType=Xn;exports.ExtrudedBorder=ig;exports.GriddedSkylightArea=ng;exports.GriddedSkylightRatio=sg;exports.LouversByCount=s_;exports.LouversByDistance=p_;exports.Model=hg;exports.ModelEnergyProperties=W_;exports.ModelProperties=H_;exports.ModelRadianceProperties=B_;exports.Overhang=ug;exports.RectangularWindows=h_;exports.RepeatingWindowRatio=__;exports.RoofSpecification=Dc;exports.Room2D=vg;exports.Room2DEnergyPropertiesAbridged=I_;exports.Room2DPropertiesAbridged=z_;exports.Room2DRadiancePropertiesAbridged=T_;exports.RoomGridParameter=Lc;exports.RoomRadialGridParameter=kc;exports.SimpleWindowArea=y_;exports.SimpleWindowRatio=f_;exports.SingleWindow=m_;exports.Story=Cg;exports.StoryEnergyPropertiesAbridged=Z_;exports.StoryPropertiesAbridged=K_;exports.StoryRadiancePropertiesAbridged=X_;exports._GridParameterBase=ss;exports._LouversBase=Ac;exports._OpenAPIGenBaseModel=T;exports._WindowParameterBase=vi;