From 680b37698662fea871d5d7afa88d1617390a4b07 Mon Sep 17 00:00:00 2001 From: lindsay Date: Wed, 13 Sep 2023 04:14:47 +0200 Subject: [PATCH] rebuild --- dist/xeokit-bim-viewer.es.js | 22 ---------------------- dist/xeokit-bim-viewer.min.es.js | 2 +- dist/xeokit-bim-viewer.min.umd.js | 2 +- dist/xeokit-bim-viewer.umd.js | 22 ---------------------- package-lock.json | 18 +++++++++--------- 5 files changed, 11 insertions(+), 55 deletions(-) diff --git a/dist/xeokit-bim-viewer.es.js b/dist/xeokit-bim-viewer.es.js index fe371531..5641914d 100644 --- a/dist/xeokit-bim-viewer.es.js +++ b/dist/xeokit-bim-viewer.es.js @@ -90189,28 +90189,6 @@ let Type; */ const IFCObjectDefaults = { - IfcOpeningElement: { - pickable: false, - visible: false - }, - - IfcSpace: { - colorize: [0.137255, 0.403922, 0.870588], - pickable: false, - visible: false, - opacity: 0.4 - }, - - IfcWindow: { - colorize: [0.137255, 0.403922, 0.870588], - opacity: 0.3 - }, - - IfcPlate: { - colorize: [0.8470588235, 0.427450980392, 0, 0.5], - opacity: 0.3 - }, - DEFAULT: { } }; diff --git a/dist/xeokit-bim-viewer.min.es.js b/dist/xeokit-bim-viewer.min.es.js index 785aa9db..b73ab68a 100644 --- a/dist/xeokit-bim-viewer.min.es.js +++ b/dist/xeokit-bim-viewer.min.es.js @@ -43,5 +43,5 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var Ul=function(e,t){return Ul=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])},Ul(e,t)};function Hl(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function s(){this.constructor=e}Ul(e,t),e.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)}var Gl=function(){return Gl=Object.assign||function(e){for(var t,s=1,i=arguments.length;s0&&r[r.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=55296&&r<=56319&&s>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},Yl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Xl="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zl=0;Zl=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),sh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ih="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rh=0;rh>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i0;){var n=i[--o];if(Array.isArray(e)?-1!==e.indexOf(n):e===n)for(var a=s;a<=i.length;){var l;if((l=i[++a])===t)return!0;if(l!==oh)break}if(n!==oh)break}return!1},Hh=function(e,t){for(var s=e;s>=0;){var i=t[s];if(i!==oh)return i;s--}return 0},Gh=function(e,t,s,i,r){if(0===s[i])return"×";var o=i-1;if(Array.isArray(r)&&!0===r[o])return"×";var n=o-1,a=o+1,l=t[o],h=n>=0?t[n]:0,c=t[a];if(2===l&&3===c)return"×";if(-1!==xh.indexOf(l))return"!";if(-1!==xh.indexOf(c))return"×";if(-1!==wh.indexOf(c))return"×";if(8===Hh(o,t))return"÷";if(11===Oh.get(e[o]))return"×";if((l===vh||l===Ih)&&11===Oh.get(e[a]))return"×";if(7===l||7===c)return"×";if(9===l)return"×";if(-1===[oh,nh,ah].indexOf(l)&&9===c)return"×";if(-1!==[lh,hh,ch,dh,yh].indexOf(c))return"×";if(Hh(o,t)===ph)return"×";if(Uh(23,ph,o,t))return"×";if(Uh([lh,hh],Ah,o,t))return"×";if(Uh(12,12,o,t))return"×";if(l===oh)return"÷";if(23===l||23===c)return"×";if(16===c||16===l)return"÷";if(-1!==[nh,ah,Ah].indexOf(c)||14===l)return"×";if(36===h&&-1!==Lh.indexOf(l))return"×";if(l===yh&&36===c)return"×";if(c===uh)return"×";if(-1!==Sh.indexOf(c)&&l===fh||-1!==Sh.indexOf(l)&&c===fh)return"×";if(l===Eh&&-1!==[Rh,vh,Ih].indexOf(c)||-1!==[Rh,vh,Ih].indexOf(l)&&c===mh)return"×";if(-1!==Sh.indexOf(l)&&-1!==Bh.indexOf(c)||-1!==Bh.indexOf(l)&&-1!==Sh.indexOf(c))return"×";if(-1!==[Eh,mh].indexOf(l)&&(c===fh||-1!==[ph,ah].indexOf(c)&&t[a+1]===fh)||-1!==[ph,ah].indexOf(l)&&c===fh||l===fh&&-1!==[fh,yh,dh].indexOf(c))return"×";if(-1!==[fh,yh,dh,lh,hh].indexOf(c))for(var u=o;u>=0;){if((A=t[u])===fh)return"×";if(-1===[yh,dh].indexOf(A))break;u--}if(-1!==[Eh,mh].indexOf(c))for(u=-1!==[lh,hh].indexOf(l)?n:o;u>=0;){var A;if((A=t[u])===fh)return"×";if(-1===[yh,dh].indexOf(A))break;u--}if(Ph===l&&-1!==[Ph,Dh,Th,_h].indexOf(c)||-1!==[Dh,Th].indexOf(l)&&-1!==[Dh,Nh].indexOf(c)||-1!==[Nh,_h].indexOf(l)&&c===Nh)return"×";if(-1!==Mh.indexOf(l)&&-1!==[uh,mh].indexOf(c)||-1!==Mh.indexOf(c)&&l===Eh)return"×";if(-1!==Sh.indexOf(l)&&-1!==Sh.indexOf(c))return"×";if(l===dh&&-1!==Sh.indexOf(c))return"×";if(-1!==Sh.concat(fh).indexOf(l)&&c===ph&&-1===bh.indexOf(e[a])||-1!==Sh.concat(fh).indexOf(c)&&l===hh)return"×";if(41===l&&41===c){for(var p=s[o],d=1;p>0&&41===t[--p];)d++;if(d%2!=0)return"×"}return l===vh&&c===Ih?"×":"÷"},kh=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var s=function(e,t){void 0===t&&(t="strict");var s=[],i=[],r=[];return e.forEach((function(e,o){var n=Oh.get(e);if(n>50?(r.push(!0),n-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(o),s.push(16);if(4===n||11===n){if(0===o)return i.push(o),s.push(gh);var a=s[o-1];return-1===Fh.indexOf(a)?(i.push(i[o-1]),s.push(a)):(i.push(o),s.push(gh))}return i.push(o),31===n?s.push("strict"===t?Ah:Rh):n===Ch||29===n?s.push(gh):43===n?e>=131072&&e<=196605||e>=196608&&e<=262141?s.push(Rh):s.push(gh):void s.push(n)})),[i,s,r]}(e,t.lineBreak),i=s[0],r=s[1],o=s[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(r=r.map((function(e){return-1!==[fh,gh,Ch].indexOf(e)?Rh:e})));var n="keep-all"===t.wordBreak?o.map((function(t,s){return t&&e[s]>=19968&&e[s]<=40959})):void 0;return[i,r,n]},Vh=function(){function e(e,t,s,i){this.codePoints=e,this.required="!"===t,this.start=s,this.end=i}return e.prototype.slice=function(){return Kl.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),Qh=function(e){return e>=48&&e<=57},jh=function(e){return Qh(e)||e>=65&&e<=70||e>=97&&e<=102},Wh=function(e){return 10===e||9===e||32===e},zh=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},Kh=function(e){return zh(e)||Qh(e)||45===e},Yh=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},Xh=function(e,t){return 92===e&&10!==t},Zh=function(e,t,s){return 45===e?zh(t)||Xh(t,s):!!zh(e)||!(92!==e||!Xh(e,t))},qh=function(e,t,s){return 43===e||45===e?!!Qh(t)||46===t&&Qh(s):Qh(46===e?t:e)},Jh=function(e){var t=0,s=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(s=-1),t++);for(var i=[];Qh(e[t]);)i.push(e[t++]);var r=i.length?parseInt(Kl.apply(void 0,i),10):0;46===e[t]&&t++;for(var o=[];Qh(e[t]);)o.push(e[t++]);var n=o.length,a=n?parseInt(Kl.apply(void 0,o),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(l=-1),t++);for(var h=[];Qh(e[t]);)h.push(e[t++]);var c=h.length?parseInt(Kl.apply(void 0,h),10):0;return s*(r+a*Math.pow(10,-n))*Math.pow(10,l*c)},$h={type:2},ec={type:3},tc={type:4},sc={type:13},ic={type:8},rc={type:21},oc={type:9},nc={type:10},ac={type:11},lc={type:12},hc={type:14},cc={type:23},uc={type:1},Ac={type:25},pc={type:24},dc={type:26},fc={type:27},mc={type:28},Ec={type:29},yc={type:31},gc={type:32},vc=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(zl(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==gc;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),s=this.peekCodePoint(1),i=this.peekCodePoint(2);if(Kh(t)||Xh(s,i)){var r=Zh(t,s,i)?2:1;return{type:5,value:this.consumeName(),flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),sc;break;case 39:return this.consumeStringToken(39);case 40:return $h;case 41:return ec;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),hc;break;case 43:if(qh(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return tc;case 45:var o=e,n=this.peekCodePoint(0),a=this.peekCodePoint(1);if(qh(o,n,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(Zh(o,n,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===n&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),pc;break;case 46:if(qh(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(-1===l)return this.consumeToken()}break;case 58:return dc;case 59:return fc;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),Ac;break;case 64:var h=this.peekCodePoint(0),c=this.peekCodePoint(1),u=this.peekCodePoint(2);if(Zh(h,c,u))return{type:7,value:this.consumeName()};break;case 91:return mc;case 92:if(Xh(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return Ec;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ic;break;case 123:return ac;case 125:return lc;case 117:case 85:var A=this.peekCodePoint(0),p=this.peekCodePoint(1);return 43!==A||!jh(p)&&63!==p||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),oc;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),rc;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nc;break;case-1:return gc}return Wh(e)?(this.consumeWhiteSpace(),yc):Qh(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):zh(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Kl(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();jh(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var s=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),s=!0;if(s)return{type:30,start:parseInt(Kl.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Kl.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(Kl.apply(void 0,e),16);if(45===this.peekCodePoint(0)&&jh(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var r=[];jh(t)&&r.length<6;)r.push(t),t=this.consumeCodePoint();return{type:30,start:i,end:parseInt(Kl.apply(void 0,r),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var s=this.consumeStringToken(this.consumeCodePoint());return 0===s.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:s.value}):(this.consumeBadUrlRemnants(),cc)}for(;;){var i=this.consumeCodePoint();if(-1===i||41===i)return{type:22,value:Kl.apply(void 0,e)};if(Wh(i))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Kl.apply(void 0,e)}):(this.consumeBadUrlRemnants(),cc);if(34===i||39===i||40===i||Yh(i))return this.consumeBadUrlRemnants(),cc;if(92===i){if(!Xh(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),cc;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;Wh(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;Xh(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var s=Math.min(5e4,e);t+=Kl.apply(void 0,this._value.splice(0,s)),e-=s}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",s=0;;){var i=this._value[s];if(-1===i||void 0===i||i===e)return{type:0,value:t+=this.consumeStringSlice(s)};if(10===i)return this._value.splice(0,s),uc;if(92===i){var r=this._value[s+1];-1!==r&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(s),s=-1,this._value.shift()):Xh(i,r)&&(t+=this.consumeStringSlice(s),t+=Kl(this.consumeEscapedCodePoint()),s=-1))}s++}},e.prototype.consumeNumber=function(){var e=[],t=4,s=this.peekCodePoint(0);for(43!==s&&45!==s||e.push(this.consumeCodePoint());Qh(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===s&&Qh(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Qh(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===s||101===s)&&((43===i||45===i)&&Qh(r)||Qh(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Qh(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Jh(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],s=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);return Zh(i,r,o)?{type:15,number:t,flags:s,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:t,flags:s}):{type:17,number:t,flags:s}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(jh(e)){for(var t=Kl(e);jh(this.peekCodePoint(0))&&t.length<6;)t+=Kl(this.consumeCodePoint());Wh(this.peekCodePoint(0))&&this.consumeCodePoint();var s=parseInt(t,16);return 0===s||function(e){return e>=55296&&e<=57343}(s)||s>1114111?65533:s}return-1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(Kh(t))e+=Kl(t);else{if(!Xh(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Kl(this.consumeEscapedCodePoint())}}},e}(),Ic=function(){function e(e){this._tokens=e}return e.create=function(t){var s=new vc;return s.write(t),new e(s.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},s=this.consumeToken();;){if(32===s.type||Oc(s,e))return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue()),s=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var s=this.consumeToken();if(32===s.type||3===s.type)return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?gc:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Tc=function(e){return 15===e.type},_c=function(e){return 17===e.type},Rc=function(e){return 20===e.type},Pc=function(e){return 0===e.type},Dc=function(e,t){return Rc(e)&&e.value===t},Nc=function(e){return 31!==e.type},Cc=function(e){return 31!==e.type&&4!==e.type},bc=function(e){var t=[],s=[];return e.forEach((function(e){if(4===e.type){if(0===s.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(s),void(s=[])}31!==e.type&&s.push(e)})),s.length&&t.push(s),t},Oc=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},Sc=function(e){return 17===e.type||15===e.type},xc=function(e){return 16===e.type||Sc(e)},wc=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},Bc={type:17,number:0,flags:4},Fc={type:16,number:50,flags:4},Mc={type:16,number:100,flags:4},Lc=function(e,t,s){var i=e[0],r=e[1];return[Uc(i,t),Uc(void 0!==r?r:i,s)]},Uc=function(e,t){if(16===e.type)return e.number/100*t;if(Tc(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},Hc=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},Gc=function(e){return 15===e.type&&("deg"===e.unit||"grad"===e.unit||"rad"===e.unit||"turn"===e.unit)},kc=function(e){switch(e.filter(Rc).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Bc,Bc];case"to top":case"bottom":return Vc(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Bc,Mc];case"to right":case"left":return Vc(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Mc,Mc];case"to bottom":case"top":return Vc(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Mc,Bc];case"to left":case"right":return Vc(270)}return 0},Vc=function(e){return Math.PI*e/180},Qc=function(e,t){if(18===t.type){var s=qc[t.name];if(void 0===s)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return s(e,t.values)}if(5===t.type){if(3===t.value.length){var i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return zc(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);var n=t.value.substring(3,4);return zc(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(n+n,16)/255)}if(6===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return zc(parseInt(i,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),n=t.value.substring(6,8);return zc(parseInt(i,16),parseInt(r,16),parseInt(o,16),parseInt(n,16)/255)}}if(20===t.type){var a=$c[t.value.toUpperCase()];if(void 0!==a)return a}return $c.TRANSPARENT},jc=function(e){return 0==(255&e)},Wc=function(e){var t=255&e,s=255&e>>8,i=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+i+","+s+","+t/255+")":"rgb("+r+","+i+","+s+")"},zc=function(e,t,s,i){return(e<<24|t<<16|s<<8|Math.round(255*i)<<0)>>>0},Kc=function(e,t){if(17===e.type)return e.number;if(16===e.type){var s=3===t?1:255;return 3===t?e.number/100*s:Math.round(e.number/100*s)}return 0},Yc=function(e,t){var s=t.filter(Cc);if(3===s.length){var i=s.map(Kc),r=i[0],o=i[1],n=i[2];return zc(r,o,n,1)}if(4===s.length){var a=s.map(Kc),l=(r=a[0],o=a[1],n=a[2],a[3]);return zc(r,o,n,l)}return 0};function Xc(e,t,s){return s<0&&(s+=1),s>=1&&(s-=1),s<1/6?(t-e)*s*6+e:s<.5?t:s<2/3?6*(t-e)*(2/3-s)+e:e}var Zc=function(e,t){var s=t.filter(Cc),i=s[0],r=s[1],o=s[2],n=s[3],a=(17===i.type?Vc(i.number):Hc(e,i))/(2*Math.PI),l=xc(r)?r.number/100:0,h=xc(o)?o.number/100:0,c=void 0!==n&&xc(n)?Uc(n,1):1;if(0===l)return zc(255*h,255*h,255*h,1);var u=h<=.5?h*(l+1):h+l-h*l,A=2*h-u,p=Xc(A,u,a+1/3),d=Xc(A,u,a),f=Xc(A,u,a-1/3);return zc(255*p,255*d,255*f,c)},qc={hsl:Zc,hsla:Zc,rgb:Yc,rgba:Yc},Jc=function(e,t){return Qc(e,Ic.create(t).parseComponentValue())},$c={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},eu={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Rc(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},tu={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},su=function(e,t){var s=Qc(e,t[0]),i=t[1];return i&&xc(i)?{color:s,stop:i}:{color:s,stop:null}},iu=function(e,t){var s=e[0],i=e[e.length-1];null===s.stop&&(s.stop=Bc),null===i.stop&&(i.stop=Mc);for(var r=[],o=0,n=0;no?r.push(l):r.push(o),o=l}else r.push(null)}var h=null;for(n=0;ne.optimumDistance)?{optimumCorner:t,optimumDistance:a}:e}),{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},au=function(e,t){var s=Vc(180),i=[];return bc(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(s=kc(t));if(Gc(o))return void(s=(Hc(e,o)+Vc(270))%Vc(360))}var n=su(e,t);i.push(n)})),{angle:s,stops:i,type:1}},lu=function(e,t){var s=0,i=3,r=[],o=[];return bc(t).forEach((function(t,n){var a=!0;if(0===n?a=t.reduce((function(e,t){if(Rc(t))switch(t.value){case"center":return o.push(Fc),!1;case"top":case"left":return o.push(Bc),!1;case"right":case"bottom":return o.push(Mc),!1}else if(xc(t)||Sc(t))return o.push(t),!1;return e}),a):1===n&&(a=t.reduce((function(e,t){if(Rc(t))switch(t.value){case"circle":return s=0,!1;case"ellipse":return s=1,!1;case"contain":case"closest-side":return i=0,!1;case"farthest-side":return i=1,!1;case"closest-corner":return i=2,!1;case"cover":case"farthest-corner":return i=3,!1}else if(Sc(t)||xc(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)),a){var l=su(e,t);r.push(l)}})),{size:i,shape:s,stops:r,position:o,type:2}},hu=function(e,t){if(22===t.type){var s={url:t.value,type:0};return e.cache.addImage(t.value),s}if(18===t.type){var i=uu[t.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return i(e,t.values)}throw new Error("Unsupported image type "+t.type)};var cu,uu={"linear-gradient":function(e,t){var s=Vc(180),i=[];return bc(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value)return void(s=kc(t));if(Gc(o))return void(s=Hc(e,o))}var n=su(e,t);i.push(n)})),{angle:s,stops:i,type:1}},"-moz-linear-gradient":au,"-ms-linear-gradient":au,"-o-linear-gradient":au,"-webkit-linear-gradient":au,"radial-gradient":function(e,t){var s=0,i=3,r=[],o=[];return bc(t).forEach((function(t,n){var a=!0;if(0===n){var l=!1;a=t.reduce((function(e,t){if(l)if(Rc(t))switch(t.value){case"center":return o.push(Fc),e;case"top":case"left":return o.push(Bc),e;case"right":case"bottom":return o.push(Mc),e}else(xc(t)||Sc(t))&&o.push(t);else if(Rc(t))switch(t.value){case"circle":return s=0,!1;case"ellipse":return s=1,!1;case"at":return l=!0,!1;case"closest-side":return i=0,!1;case"cover":case"farthest-side":return i=1,!1;case"contain":case"closest-corner":return i=2,!1;case"farthest-corner":return i=3,!1}else if(Sc(t)||xc(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)}if(a){var h=su(e,t);r.push(h)}})),{size:i,shape:s,stops:r,position:o,type:2}},"-moz-radial-gradient":lu,"-ms-radial-gradient":lu,"-o-radial-gradient":lu,"-webkit-radial-gradient":lu,"-webkit-gradient":function(e,t){var s=Vc(180),i=[],r=1;return bc(t).forEach((function(t,s){var o=t[0];if(0===s){if(Rc(o)&&"linear"===o.value)return void(r=1);if(Rc(o)&&"radial"===o.value)return void(r=2)}if(18===o.type)if("from"===o.name){var n=Qc(e,o.values[0]);i.push({stop:Bc,color:n})}else if("to"===o.name){n=Qc(e,o.values[0]);i.push({stop:Mc,color:n})}else if("color-stop"===o.name){var a=o.values.filter(Cc);if(2===a.length){n=Qc(e,a[1]);var l=a[0];_c(l)&&i.push({stop:{type:16,number:100*l.number,flags:l.flags},color:n})}}})),1===r?{angle:(s+Vc(180))%Vc(360),stops:i,type:r}:{size:3,shape:0,stops:i,position:[],type:r}}},Au={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var s=t[0];return 20===s.type&&"none"===s.value?[]:t.filter((function(e){return Cc(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!uu[e.name])}(e)})).map((function(t){return hu(e,t)}))}},pu={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Rc(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},du={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return bc(t).map((function(e){return e.filter(xc)})).map(wc)}},fu={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return bc(t).map((function(e){return e.filter(Rc).map((function(e){return e.value})).join(" ")})).map(mu)}},mu=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(cu||(cu={}));var Eu,yu={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return bc(t).map((function(e){return e.filter(gu)}))}},gu=function(e){return Rc(e)||xc(e)},vu=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Iu=vu("top"),Tu=vu("right"),_u=vu("bottom"),Ru=vu("left"),Pu=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return wc(t.filter(xc))}}},Du=Pu("top-left"),Nu=Pu("top-right"),Cu=Pu("bottom-right"),bu=Pu("bottom-left"),Ou=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Su=Ou("top"),xu=Ou("right"),wu=Ou("bottom"),Bu=Ou("left"),Fu=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Tc(t)?t.number:0}}},Mu=Fu("top"),Lu=Fu("right"),Uu=Fu("bottom"),Hu=Fu("left"),Gu={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ku={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},Vu={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Rc).reduce((function(e,t){return e|Qu(t.value)}),0)}},Qu=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},ju={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Wu={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(Eu||(Eu={}));var zu,Ku={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?Eu.STRICT:Eu.NORMAL}},Yu={name:"line-height",initialValue:"normal",prefix:!1,type:4},Xu=function(e,t){return Rc(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:xc(e)?Uc(e,t):t},Zu={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:hu(e,t)}},qu={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},Ju={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},$u=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},eA=$u("top"),tA=$u("right"),sA=$u("bottom"),iA=$u("left"),rA={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Rc).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},oA={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},nA=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},aA=nA("top"),lA=nA("right"),hA=nA("bottom"),cA=nA("left"),uA={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},AA={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},pA={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Dc(t[0],"none")?[]:bc(t).map((function(t){for(var s={color:$c.TRANSPARENT,offsetX:Bc,offsetY:Bc,blur:Bc},i=0,r=0;r1?1:0],this.overflowWrap=zA(e,oA,t.overflowWrap),this.paddingTop=zA(e,aA,t.paddingTop),this.paddingRight=zA(e,lA,t.paddingRight),this.paddingBottom=zA(e,hA,t.paddingBottom),this.paddingLeft=zA(e,cA,t.paddingLeft),this.paintOrder=zA(e,GA,t.paintOrder),this.position=zA(e,AA,t.position),this.textAlign=zA(e,uA,t.textAlign),this.textDecorationColor=zA(e,PA,null!==(s=t.textDecorationColor)&&void 0!==s?s:t.color),this.textDecorationLine=zA(e,DA,null!==(i=t.textDecorationLine)&&void 0!==i?i:t.textDecoration),this.textShadow=zA(e,pA,t.textShadow),this.textTransform=zA(e,dA,t.textTransform),this.transform=zA(e,fA,t.transform),this.transformOrigin=zA(e,gA,t.transformOrigin),this.visibility=zA(e,vA,t.visibility),this.webkitTextStrokeColor=zA(e,kA,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=zA(e,VA,t.webkitTextStrokeWidth),this.wordBreak=zA(e,IA,t.wordBreak),this.zIndex=zA(e,TA,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return jc(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return xA(this.display,4)||xA(this.display,33554432)||xA(this.display,268435456)||xA(this.display,536870912)||xA(this.display,67108864)||xA(this.display,134217728)},e}(),jA=function(e,t){this.content=zA(e,wA,t.content),this.quotes=zA(e,LA,t.quotes)},WA=function(e,t){this.counterIncrement=zA(e,BA,t.counterIncrement),this.counterReset=zA(e,FA,t.counterReset)},zA=function(e,t,s){var i=new vc,r=null!=s?s.toString():t.initialValue;i.write(r);var o=new Ic(i.read());switch(t.type){case 2:var n=o.parseComponentValue();return t.parse(e,Rc(n)?n.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return Hc(e,o.parseComponentValue());case"color":return Qc(e,o.parseComponentValue());case"image":return hu(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return Sc(a)?a:Bc;case"length-percentage":var l=o.parseComponentValue();return xc(l)?l:Bc;case"time":return _A(e,o.parseComponentValue())}}},KA=function(e,t){var s=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===s||t===s},YA=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,KA(t,3),this.styles=new QA(e,window.getComputedStyle(t,null)),Yp(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=Wl(this.context,t),KA(t,4)&&(this.flags|=16)},XA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ZA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),qA=0;qA=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),ep="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),sp=0;sp>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},hp=function(e,t){var s,i,r,o=function(e){var t,s,i,r,o,n=.75*e.length,a=e.length,l=0;"="===e[e.length-1]&&(n--,"="===e[e.length-2]&&n--);var h="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(n):new Array(n),c=Array.isArray(h)?h:new Uint8Array(h);for(t=0;t>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i=55296&&r<=56319&&s=s)return{done:!0,value:null};for(var e="×";in.x||r.y>n.y;return n=r,0===t||a}));return e.body.removeChild(t),a}(document);return Object.defineProperty(mp,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,s=e.createElement("canvas"),i=s.getContext("2d");if(!i)return!1;t.src="data:image/svg+xml,";try{i.drawImage(t,0,0),s.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(mp,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),s=100;t.width=s,t.height=s;var i=t.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,s,s);var r=new Image,o=t.toDataURL();r.src=o;var n=dp(s,s,0,0,r);return i.fillStyle="red",i.fillRect(0,0,s,s),fp(n).then((function(t){i.drawImage(t,0,0);var r=i.getImageData(0,0,s,s).data;i.fillStyle="red",i.fillRect(0,0,s,s);var n=e.createElement("div");return n.style.backgroundImage="url("+o+")",n.style.height="100px",pp(r)?fp(dp(s,s,0,0,n)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),pp(i.getImageData(0,0,s,s).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(mp,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(mp,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(mp,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(mp,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(mp,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ep=function(e,t){this.text=e,this.bounds=t},yp=function(e,t){var s=t.ownerDocument;if(s){var i=s.createElement("html2canvaswrapper");i.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(i,t);var o=Wl(e,i);return i.firstChild&&r.replaceChild(i.firstChild,i),o}}return jl.EMPTY},gp=function(e,t,s){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var r=i.createRange();return r.setStart(e,t),r.setEnd(e,t+s),r},vp=function(e){if(mp.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,s=Ap(e),i=[];!(t=s.next()).done;)t.value&&i.push(t.value.slice());return i}(e)},Ip=function(e,t){return 0!==t.letterSpacing?vp(e):function(e,t){if(mp.SUPPORT_NATIVE_TEXT_SEGMENTATION){var s=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(s.segment(e)).map((function(e){return e.segment}))}return _p(e,t)}(e,t)},Tp=[32,160,4961,65792,65793,4153,4241],_p=function(e,t){for(var s,i=function(e,t){var s=zl(e),i=kh(s,t),r=i[0],o=i[1],n=i[2],a=s.length,l=0,h=0;return{next:function(){if(h>=a)return{done:!0,value:null};for(var e="×";h0)if(mp.SUPPORT_RANGE_BOUNDS){var r=gp(i,n,t.length).getClientRects();if(r.length>1){var a=vp(t),l=0;a.forEach((function(t){o.push(new Ep(t,jl.fromDOMRectList(e,gp(i,l+n,t.length).getClientRects()))),l+=t.length}))}else o.push(new Ep(t,jl.fromDOMRectList(e,r)))}else{var h=i.splitText(t.length);o.push(new Ep(t,yp(e,i))),i=h}else mp.SUPPORT_RANGE_BOUNDS||(i=i.splitText(t.length));n+=t.length})),o}(e,this.text,s,t)},Pp=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Dp,Np);case 2:return e.toUpperCase();default:return e}},Dp=/(^|\s|:|-|\(|\))([a-z])/g,Np=function(e,t,s){return e.length>0?t+s.toUpperCase():e},Cp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.src=s.currentSrc||s.src,i.intrinsicWidth=s.naturalWidth,i.intrinsicHeight=s.naturalHeight,i.context.cache.addImage(i.src),i}return Hl(t,e),t}(YA),bp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.canvas=s,i.intrinsicWidth=s.width,i.intrinsicHeight=s.height,i}return Hl(t,e),t}(YA),Op=function(e){function t(t,s){var i=e.call(this,t,s)||this,r=new XMLSerializer,o=Wl(t,s);return s.setAttribute("width",o.width+"px"),s.setAttribute("height",o.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(s)),i.intrinsicWidth=s.width.baseVal.value,i.intrinsicHeight=s.height.baseVal.value,i.context.cache.addImage(i.svg),i}return Hl(t,e),t}(YA),Sp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.value=s.value,i}return Hl(t,e),t}(YA),xp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.start=s.start,i.reversed="boolean"==typeof s.reversed&&!0===s.reversed,i}return Hl(t,e),t}(YA),wp=[{type:15,flags:0,unit:"px",number:3}],Bp=[{type:16,flags:0,number:50}],Fp="password",Mp=function(e){function t(t,s){var i,r,o,n=e.call(this,t,s)||this;switch(n.type=s.type.toLowerCase(),n.checked=s.checked,n.value=0===(r=(i=s).type===Fp?new Array(i.value.length+1).join("•"):i.value).length?i.placeholder||"":r,"checkbox"!==n.type&&"radio"!==n.type||(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=(o=n.bounds).width>o.height?new jl(o.left+(o.width-o.height)/2,o.top,o.height,o.height):o.width0)s.textNodes.push(new Rp(e,r,s.styles));else if(Kp(r))if(ld(r)&&r.assignedNodes)r.assignedNodes().forEach((function(t){return kp(e,t,s,i)}));else{var n=Vp(e,r);n.styles.isVisible()&&(jp(r,n,i)?n.flags|=4:Wp(n.styles)&&(n.flags|=2),-1!==Gp.indexOf(r.tagName)&&(n.flags|=8),s.elements.push(n),r.slot,r.shadowRoot?kp(e,r.shadowRoot,n,i):nd(r)||$p(r)||ad(r)||kp(e,r,n,i))}},Vp=function(e,t){return id(t)?new Cp(e,t):td(t)?new bp(e,t):$p(t)?new Op(e,t):Zp(t)?new Sp(e,t):qp(t)?new xp(e,t):Jp(t)?new Mp(e,t):ad(t)?new Lp(e,t):nd(t)?new Up(e,t):rd(t)?new Hp(e,t):new YA(e,t)},Qp=function(e,t){var s=Vp(e,t);return s.flags|=4,kp(e,t,s,s),s},jp=function(e,t,s){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ed(e)&&s.styles.isTransparent()},Wp=function(e){return e.isPositioned()||e.isFloating()},zp=function(e){return e.nodeType===Node.TEXT_NODE},Kp=function(e){return e.nodeType===Node.ELEMENT_NODE},Yp=function(e){return Kp(e)&&void 0!==e.style&&!Xp(e)},Xp=function(e){return"object"==typeof e.className},Zp=function(e){return"LI"===e.tagName},qp=function(e){return"OL"===e.tagName},Jp=function(e){return"INPUT"===e.tagName},$p=function(e){return"svg"===e.tagName},ed=function(e){return"BODY"===e.tagName},td=function(e){return"CANVAS"===e.tagName},sd=function(e){return"VIDEO"===e.tagName},id=function(e){return"IMG"===e.tagName},rd=function(e){return"IFRAME"===e.tagName},od=function(e){return"STYLE"===e.tagName},nd=function(e){return"TEXTAREA"===e.tagName},ad=function(e){return"SELECT"===e.tagName},ld=function(e){return"SLOT"===e.tagName},hd=function(e){return e.tagName.indexOf("-")>0},cd=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,s=e.counterIncrement,i=e.counterReset,r=!0;null!==s&&s.forEach((function(e){var s=t.counters[e.counter];s&&0!==e.increment&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=e.increment)}));var o=[];return r&&i.forEach((function(e){var s=t.counters[e.counter];o.push(e.counter),s||(s=t.counters[e.counter]=[]),s.push(e.reset)})),o},e}(),ud={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ad={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},pd={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},dd={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},fd=function(e,t,s,i,r,o){return es?vd(e,r,o.length>0):i.integers.reduce((function(t,s,r){for(;e>=s;)e-=s,t+=i.values[r];return t}),"")+o},md=function(e,t,s,i){var r="";do{s||e--,r=i(e)+r,e/=t}while(e*t>=t);return r},Ed=function(e,t,s,i,r){var o=s-t+1;return(e<0?"-":"")+(md(Math.abs(e),o,i,(function(e){return Kl(Math.floor(e%o)+t)}))+r)},yd=function(e,t,s){void 0===s&&(s=". ");var i=t.length;return md(Math.abs(e),i,!1,(function(e){return t[Math.floor(e%i)]}))+s},gd=function(e,t,s,i,r,o){if(e<-9999||e>9999)return vd(e,4,r.length>0);var n=Math.abs(e),a=r;if(0===n)return t[0]+a;for(var l=0;n>0&&l<=4;l++){var h=n%10;0===h&&xA(o,1)&&""!==a?a=t[h]+a:h>1||1===h&&0===l||1===h&&1===l&&xA(o,2)||1===h&&1===l&&xA(o,4)&&e>100||1===h&&l>1&&xA(o,8)?a=t[h]+(l>0?s[l-1]:"")+a:1===h&&l>0&&(a=s[l-1]+a),n=Math.floor(n/10)}return(e<0?i:"")+a},vd=function(e,t,s){var i=s?". ":"",r=s?"、":"",o=s?", ":"",n=s?" ":"";switch(t){case 0:return"•"+n;case 1:return"◦"+n;case 2:return"◾"+n;case 5:var a=Ed(e,48,57,!0,i);return a.length<4?"0"+a:a;case 4:return yd(e,"〇一二三四五六七八九",r);case 6:return fd(e,1,3999,ud,3,i).toLowerCase();case 7:return fd(e,1,3999,ud,3,i);case 8:return Ed(e,945,969,!1,i);case 9:return Ed(e,97,122,!1,i);case 10:return Ed(e,65,90,!1,i);case 11:return Ed(e,1632,1641,!0,i);case 12:case 49:return fd(e,1,9999,Ad,3,i);case 35:return fd(e,1,9999,Ad,3,i).toLowerCase();case 13:return Ed(e,2534,2543,!0,i);case 14:case 30:return Ed(e,6112,6121,!0,i);case 15:return yd(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return yd(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return gd(e,"零一二三四五六七八九","十百千萬","負",r,14);case 47:return gd(e,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",r,15);case 42:return gd(e,"零一二三四五六七八九","十百千萬","负",r,14);case 41:return gd(e,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",r,15);case 26:return gd(e,"〇一二三四五六七八九","十百千万","マイナス",r,0);case 25:return gd(e,"零壱弐参四伍六七八九","拾百千万","マイナス",r,7);case 31:return gd(e,"영일이삼사오육칠팔구","십백천만","마이너스",o,7);case 33:return gd(e,"零一二三四五六七八九","十百千萬","마이너스",o,0);case 32:return gd(e,"零壹貳參四五六七八九","拾百千","마이너스",o,7);case 18:return Ed(e,2406,2415,!0,i);case 20:return fd(e,1,19999,dd,3,i);case 21:return Ed(e,2790,2799,!0,i);case 22:return Ed(e,2662,2671,!0,i);case 22:return fd(e,1,10999,pd,3,i);case 23:return yd(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return yd(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Ed(e,3302,3311,!0,i);case 28:return yd(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return yd(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return Ed(e,3792,3801,!0,i);case 37:return Ed(e,6160,6169,!0,i);case 38:return Ed(e,4160,4169,!0,i);case 39:return Ed(e,2918,2927,!0,i);case 40:return Ed(e,1776,1785,!0,i);case 43:return Ed(e,3046,3055,!0,i);case 44:return Ed(e,3174,3183,!0,i);case 45:return Ed(e,3664,3673,!0,i);case 46:return Ed(e,3872,3881,!0,i);default:return Ed(e,48,57,!0,i)}},Id=function(){function e(e,t,s){if(this.context=e,this.options=s,this.scrolledElements=[],this.referenceElement=t,this.counters=new cd,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var s=this,i=_d(e,t);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,n=i.contentWindow,a=n.document,l=Dd(i).then((function(){return kl(s,void 0,void 0,(function(){var e,s;return Vl(this,(function(r){switch(r.label){case 0:return this.scrolledElements.forEach(Sd),n&&(n.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||n.scrollY===t.top&&n.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(n.scrollX-t.left,n.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(s=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:a.fonts&&a.fonts.ready?[4,a.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Pd(a)]:[3,4];case 3:r.sent(),r.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(a,s)})).then((function(){return i}))]:[2,i]}}))}))}));return a.open(),a.write(bd(document.doctype)+""),Od(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),l},e.prototype.createElementClone=function(e){if(KA(e,2),td(e))return this.createCanvasClone(e);if(sd(e))return this.createVideoClone(e);if(od(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return id(t)&&(id(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),hd(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return Cd(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var s=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=s,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var s=e.ownerDocument.createElement("img");try{return s.src=e.toDataURL(),s}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),o=i.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var n=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(n){var a=n.getContextAttributes();!1===(null==a?void 0:a.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}return i}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var s=t.getContext("2d");try{return s&&(s.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||s.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,t,s){Kp(t)&&("SCRIPT"===t.tagName||t.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&Kp(t)&&od(t)||e.appendChild(this.cloneNode(t,s))},e.prototype.cloneChildNodes=function(e,t,s){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(Kp(r)&&ld(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach((function(e){return i.appendChildNode(t,e,s)}))}else this.appendChildNode(t,r,s)},e.prototype.cloneNode=function(e,t){if(zp(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var s=e.ownerDocument.defaultView;if(s&&Kp(e)&&(Yp(e)||Xp(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=s.getComputedStyle(e),o=s.getComputedStyle(e,":before"),n=s.getComputedStyle(e,":after");this.referenceElement===e&&Yp(i)&&(this.clonedReferenceElement=i),ed(i)&&Bd(i);var a=this.counters.parse(new WA(this.context,r)),l=this.resolvePseudoContent(e,i,o,ip.BEFORE);hd(e)&&(t=!0),sd(e)||this.cloneChildNodes(e,i,t),l&&i.insertBefore(l,i.firstChild);var h=this.resolvePseudoContent(e,i,n,ip.AFTER);return h&&i.appendChild(h),this.counters.pop(a),(r&&(this.options.copyStyles||Xp(e))&&!rd(e)||t)&&Cd(r,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(nd(e)||ad(e))&&(nd(i)||ad(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,s,i){var r=this;if(s){var o=s.content,n=t.ownerDocument;if(n&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==s.display){this.counters.parse(new WA(this.context,s));var a=new jA(this.context,s),l=n.createElement("html2canvaspseudoelement");Cd(s,l),a.content.forEach((function(t){if(0===t.type)l.appendChild(n.createTextNode(t.value));else if(22===t.type){var s=n.createElement("img");s.src=t.value,s.style.opacity="1",l.appendChild(s)}else if(18===t.type){if("attr"===t.name){var i=t.values.filter(Rc);i.length&&l.appendChild(n.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(Cc),h=o[0],c=o[1];if(h&&Rc(h)){var u=r.counters.getCounterValue(h.value),A=c&&Rc(c)?Ju.parse(r.context,c.value):3;l.appendChild(n.createTextNode(vd(u,A,!1)))}}else if("counters"===t.name){var p=t.values.filter(Cc),d=(h=p[0],p[1]);c=p[2];if(h&&Rc(h)){var f=r.counters.getCounterValues(h.value),m=c&&Rc(c)?Ju.parse(r.context,c.value):3,E=d&&0===d.type?d.value:"",y=f.map((function(e){return vd(e,m,!1)})).join(E);l.appendChild(n.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(n.createTextNode(UA(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":l.appendChild(n.createTextNode(UA(a.quotes,--r.quoteDepth,!1)));break;default:l.appendChild(n.createTextNode(t.value))}})),l.className=xd+" "+wd;var h=i===ip.BEFORE?" "+xd:" "+wd;return Xp(t)?t.className.baseValue+=h:t.className+=h,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(ip||(ip={}));var Td,_d=function(e,t){var s=e.createElement("iframe");return s.className="html2canvas-container",s.style.visibility="hidden",s.style.position="fixed",s.style.left="-10000px",s.style.top="0px",s.style.border="0",s.width=t.width.toString(),s.height=t.height.toString(),s.scrolling="no",s.setAttribute("data-html2canvas-ignore","true"),e.body.appendChild(s),s},Rd=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},Pd=function(e){return Promise.all([].slice.call(e.images,0).map(Rd))},Dd=function(e){return new Promise((function(t,s){var i=e.contentWindow;if(!i)return s("No window assigned for iframe");var r=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var s=setInterval((function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(s),t(e))}),50)}}))},Nd=["all","d","content"],Cd=function(e,t){for(var s=e.length-1;s>=0;s--){var i=e.item(s);-1===Nd.indexOf(i)&&t.style.setProperty(i,e.getPropertyValue(i))}return t},bd=function(e){var t="";return e&&(t+=""),t},Od=function(e,t,s){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||s!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,s)},Sd=function(e){var t=e[0],s=e[1],i=e[2];t.scrollLeft=s,t.scrollTop=i},xd="___html2canvas___pseudoelement_before",wd="___html2canvas___pseudoelement_after",Bd=function(e){Fd(e,"."+xd+':before{\n content: "" !important;\n display: none !important;\n}\n .'+wd+':after{\n content: "" !important;\n display: none !important;\n}')},Fd=function(e,t){var s=e.ownerDocument;if(s){var i=s.createElement("style");i.textContent=t,e.appendChild(i)}},Md=function(){function e(){}return e.getOrigin=function(t){var s=e._link;return s?(s.href=t,s.href=s.href,s.protocol+s.hostname+s.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Ld=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:jd(e)||kd(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return kl(this,void 0,void 0,(function(){var t,s,i,r,o=this;return Vl(this,(function(n){switch(n.label){case 0:return t=Md.isSameOrigin(e),s=!Vd(e)&&!0===this._options.useCORS&&mp.SUPPORT_CORS_IMAGES&&!t,i=!Vd(e)&&!t&&!jd(e)&&"string"==typeof this._options.proxy&&mp.SUPPORT_CORS_XHR&&!s,t||!1!==this._options.allowTaint||Vd(e)||jd(e)||i||s?(r=e,i?[4,this.proxy(r)]:[3,2]):[2];case 1:r=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var i=new Image;i.onload=function(){return e(i)},i.onerror=t,(Qd(r)||s)&&(i.crossOrigin="anonymous"),i.src=r,!0===i.complete&&setTimeout((function(){return e(i)}),500),o._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,s=this._options.proxy;if(!s)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(r,o){var n=mp.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(200===a.status)if("text"===n)r(a.response);else{var e=new FileReader;e.addEventListener("load",(function(){return r(e.result)}),!1),e.addEventListener("error",(function(e){return o(e)}),!1),e.readAsDataURL(a.response)}else o("Failed to proxy resource "+i+" with status code "+a.status)},a.onerror=o;var l=s.indexOf("?")>-1?"&":"?";if(a.open("GET",""+s+l+"url="+encodeURIComponent(e)+"&responseType="+n),"text"!==n&&a instanceof XMLHttpRequest&&(a.responseType=n),t._options.imageTimeout){var h=t._options.imageTimeout;a.timeout=h,a.ontimeout=function(){return o("Timed out ("+h+"ms) proxying "+i)}}a.send()}))},e}(),Ud=/^data:image\/svg\+xml/i,Hd=/^data:image\/.*;base64,/i,Gd=/^data:image\/.*/i,kd=function(e){return mp.SUPPORT_SVG_DRAWING||!Wd(e)},Vd=function(e){return Gd.test(e)},Qd=function(e){return Hd.test(e)},jd=function(e){return"blob"===e.substr(0,4)},Wd=function(e){return"svg"===e.substr(-3).toLowerCase()||Ud.test(e)},zd=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,s){return new e(this.x+t,this.y+s)},e}(),Kd=function(e,t,s){return new zd(e.x+(t.x-e.x)*s,e.y+(t.y-e.y)*s)},Yd=function(){function e(e,t,s,i){this.type=1,this.start=e,this.startControl=t,this.endControl=s,this.end=i}return e.prototype.subdivide=function(t,s){var i=Kd(this.start,this.startControl,t),r=Kd(this.startControl,this.endControl,t),o=Kd(this.endControl,this.end,t),n=Kd(i,r,t),a=Kd(r,o,t),l=Kd(n,a,t);return s?new e(this.start,i,n,l):new e(l,a,o,this.end)},e.prototype.add=function(t,s){return new e(this.start.add(t,s),this.startControl.add(t,s),this.endControl.add(t,s),this.end.add(t,s))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Xd=function(e){return 1===e.type},Zd=function(e){var t=e.styles,s=e.bounds,i=Lc(t.borderTopLeftRadius,s.width,s.height),r=i[0],o=i[1],n=Lc(t.borderTopRightRadius,s.width,s.height),a=n[0],l=n[1],h=Lc(t.borderBottomRightRadius,s.width,s.height),c=h[0],u=h[1],A=Lc(t.borderBottomLeftRadius,s.width,s.height),p=A[0],d=A[1],f=[];f.push((r+a)/s.width),f.push((p+c)/s.width),f.push((o+d)/s.height),f.push((l+u)/s.height);var m=Math.max.apply(Math,f);m>1&&(r/=m,o/=m,a/=m,l/=m,c/=m,u/=m,p/=m,d/=m);var E=s.width-a,y=s.height-u,g=s.width-c,v=s.height-d,I=t.borderTopWidth,T=t.borderRightWidth,_=t.borderBottomWidth,R=t.borderLeftWidth,P=Uc(t.paddingTop,e.bounds.width),D=Uc(t.paddingRight,e.bounds.width),N=Uc(t.paddingBottom,e.bounds.width),C=Uc(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?qd(s.left+R/3,s.top+I/3,r-R/3,o-I/3,Td.TOP_LEFT):new zd(s.left+R/3,s.top+I/3),this.topRightBorderDoubleOuterBox=r>0||o>0?qd(s.left+E,s.top+I/3,a-T/3,l-I/3,Td.TOP_RIGHT):new zd(s.left+s.width-T/3,s.top+I/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?qd(s.left+g,s.top+y,c-T/3,u-_/3,Td.BOTTOM_RIGHT):new zd(s.left+s.width-T/3,s.top+s.height-_/3),this.bottomLeftBorderDoubleOuterBox=p>0||d>0?qd(s.left+R/3,s.top+v,p-R/3,d-_/3,Td.BOTTOM_LEFT):new zd(s.left+R/3,s.top+s.height-_/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?qd(s.left+2*R/3,s.top+2*I/3,r-2*R/3,o-2*I/3,Td.TOP_LEFT):new zd(s.left+2*R/3,s.top+2*I/3),this.topRightBorderDoubleInnerBox=r>0||o>0?qd(s.left+E,s.top+2*I/3,a-2*T/3,l-2*I/3,Td.TOP_RIGHT):new zd(s.left+s.width-2*T/3,s.top+2*I/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?qd(s.left+g,s.top+y,c-2*T/3,u-2*_/3,Td.BOTTOM_RIGHT):new zd(s.left+s.width-2*T/3,s.top+s.height-2*_/3),this.bottomLeftBorderDoubleInnerBox=p>0||d>0?qd(s.left+2*R/3,s.top+v,p-2*R/3,d-2*_/3,Td.BOTTOM_LEFT):new zd(s.left+2*R/3,s.top+s.height-2*_/3),this.topLeftBorderStroke=r>0||o>0?qd(s.left+R/2,s.top+I/2,r-R/2,o-I/2,Td.TOP_LEFT):new zd(s.left+R/2,s.top+I/2),this.topRightBorderStroke=r>0||o>0?qd(s.left+E,s.top+I/2,a-T/2,l-I/2,Td.TOP_RIGHT):new zd(s.left+s.width-T/2,s.top+I/2),this.bottomRightBorderStroke=c>0||u>0?qd(s.left+g,s.top+y,c-T/2,u-_/2,Td.BOTTOM_RIGHT):new zd(s.left+s.width-T/2,s.top+s.height-_/2),this.bottomLeftBorderStroke=p>0||d>0?qd(s.left+R/2,s.top+v,p-R/2,d-_/2,Td.BOTTOM_LEFT):new zd(s.left+R/2,s.top+s.height-_/2),this.topLeftBorderBox=r>0||o>0?qd(s.left,s.top,r,o,Td.TOP_LEFT):new zd(s.left,s.top),this.topRightBorderBox=a>0||l>0?qd(s.left+E,s.top,a,l,Td.TOP_RIGHT):new zd(s.left+s.width,s.top),this.bottomRightBorderBox=c>0||u>0?qd(s.left+g,s.top+y,c,u,Td.BOTTOM_RIGHT):new zd(s.left+s.width,s.top+s.height),this.bottomLeftBorderBox=p>0||d>0?qd(s.left,s.top+v,p,d,Td.BOTTOM_LEFT):new zd(s.left,s.top+s.height),this.topLeftPaddingBox=r>0||o>0?qd(s.left+R,s.top+I,Math.max(0,r-R),Math.max(0,o-I),Td.TOP_LEFT):new zd(s.left+R,s.top+I),this.topRightPaddingBox=a>0||l>0?qd(s.left+Math.min(E,s.width-T),s.top+I,E>s.width+T?0:Math.max(0,a-T),Math.max(0,l-I),Td.TOP_RIGHT):new zd(s.left+s.width-T,s.top+I),this.bottomRightPaddingBox=c>0||u>0?qd(s.left+Math.min(g,s.width-R),s.top+Math.min(y,s.height-_),Math.max(0,c-T),Math.max(0,u-_),Td.BOTTOM_RIGHT):new zd(s.left+s.width-T,s.top+s.height-_),this.bottomLeftPaddingBox=p>0||d>0?qd(s.left+R,s.top+Math.min(v,s.height-_),Math.max(0,p-R),Math.max(0,d-_),Td.BOTTOM_LEFT):new zd(s.left+R,s.top+s.height-_),this.topLeftContentBox=r>0||o>0?qd(s.left+R+C,s.top+I+P,Math.max(0,r-(R+C)),Math.max(0,o-(I+P)),Td.TOP_LEFT):new zd(s.left+R+C,s.top+I+P),this.topRightContentBox=a>0||l>0?qd(s.left+Math.min(E,s.width+R+C),s.top+I+P,E>s.width+R+C?0:a-R+C,l-(I+P),Td.TOP_RIGHT):new zd(s.left+s.width-(T+D),s.top+I+P),this.bottomRightContentBox=c>0||u>0?qd(s.left+Math.min(g,s.width-(R+C)),s.top+Math.min(y,s.height+I+P),Math.max(0,c-(T+D)),u-(_+N),Td.BOTTOM_RIGHT):new zd(s.left+s.width-(T+D),s.top+s.height-(_+N)),this.bottomLeftContentBox=p>0||d>0?qd(s.left+R+C,s.top+v,Math.max(0,p-(R+C)),d-(_+N),Td.BOTTOM_LEFT):new zd(s.left+R+C,s.top+s.height-(_+N))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Td||(Td={}));var qd=function(e,t,s,i,r){var o=(Math.sqrt(2)-1)/3*4,n=s*o,a=i*o,l=e+s,h=t+i;switch(r){case Td.TOP_LEFT:return new Yd(new zd(e,h),new zd(e,h-a),new zd(l-n,t),new zd(l,t));case Td.TOP_RIGHT:return new Yd(new zd(e,t),new zd(e+n,t),new zd(l,h-a),new zd(l,h));case Td.BOTTOM_RIGHT:return new Yd(new zd(l,t),new zd(l,t+a),new zd(e+n,h),new zd(e,h));case Td.BOTTOM_LEFT:default:return new Yd(new zd(l,h),new zd(l-n,h),new zd(e,t+a),new zd(e,t))}},Jd=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},$d=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},ef=function(e,t,s){this.offsetX=e,this.offsetY=t,this.matrix=s,this.type=0,this.target=6},tf=function(e,t){this.path=e,this.target=t,this.type=1},sf=function(e){this.opacity=e,this.type=2,this.target=6},rf=function(e){return 1===e.type},of=function(e,t){return e.length===t.length&&e.some((function(e,s){return e===t[s]}))},nf=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},af=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Zd(this.container),this.container.styles.opacity<1&&this.effects.push(new sf(this.container.styles.opacity)),null!==this.container.styles.transform){var s=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new ef(s,i,r))}if(0!==this.container.styles.overflowX){var o=Jd(this.curves),n=$d(this.curves);of(o,n)?this.effects.push(new tf(o,6)):(this.effects.push(new tf(o,2)),this.effects.push(new tf(n,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),s=this.parent,i=this.effects.slice(0);s;){var r=s.effects.filter((function(e){return!rf(e)}));if(t||0!==s.container.styles.position||!s.parent){if(i.unshift.apply(i,r),t=-1===[2,3].indexOf(s.container.styles.position),0!==s.container.styles.overflowX){var o=Jd(s.curves),n=$d(s.curves);of(o,n)||i.unshift(new tf(n,6))}}else i.unshift.apply(i,r);s=s.parent}return i.filter((function(t){return xA(t.target,e)}))},e}(),lf=function(e,t,s,i){e.container.elements.forEach((function(r){var o=xA(r.flags,4),n=xA(r.flags,2),a=new af(r,e);xA(r.styles.display,2048)&&i.push(a);var l=xA(r.flags,8)?[]:i;if(o||n){var h=o||r.styles.isPositioned()?s:t,c=new nf(a);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var A=0;h.negativeZIndex.some((function(e,t){return u>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),h.negativeZIndex.splice(A,0,c)}else if(u>0){var p=0;h.positiveZIndex.some((function(e,t){return u>=e.element.container.styles.zIndex.order?(p=t+1,!1):p>0})),h.positiveZIndex.splice(p,0,c)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?h.nonPositionedFloats.push(c):h.nonPositionedInlineLevel.push(c);lf(a,c,o?c:s,l)}else r.styles.isInlineLevel()?t.inlineLevel.push(a):t.nonInlineLevel.push(a),lf(a,t,s,l);xA(r.flags,8)&&hf(r,l)}))},hf=function(e,t){for(var s=e instanceof xp?e.start:1,i=e instanceof xp&&e.reversed,r=0;r0&&e.intrinsicHeight>0){var i=df(e),r=$d(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return kl(this,void 0,void 0,(function(){var s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g;return Vl(this,(function(v){switch(v.label){case 0:this.applyEffects(e.getEffects(4)),s=e.container,i=e.curves,r=s.styles,o=0,n=s.textNodes,v.label=1;case 1:return o0&&_>0&&(E=i.ctx.createPattern(d,"repeat"),i.renderRepeat(g,E,P,D))):function(e){return 2===e.type}(s)&&(y=ff(e,t,[null,null,null]),g=y[0],v=y[1],I=y[2],T=y[3],_=y[4],R=0===s.position.length?[Fc]:s.position,P=Uc(R[0],T),D=Uc(R[R.length-1],_),N=function(e,t,s,i,r){var o=0,n=0;switch(e.size){case 0:0===e.shape?o=n=Math.min(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-i)),n=Math.min(Math.abs(s),Math.abs(s-r)));break;case 2:if(0===e.shape)o=n=Math.min(ou(t,s),ou(t,s-r),ou(t-i,s),ou(t-i,s-r));else if(1===e.shape){var a=Math.min(Math.abs(s),Math.abs(s-r))/Math.min(Math.abs(t),Math.abs(t-i)),l=nu(i,r,t,s,!0),h=l[0],c=l[1];n=a*(o=ou(h-t,(c-s)/a))}break;case 1:0===e.shape?o=n=Math.max(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-i)),n=Math.max(Math.abs(s),Math.abs(s-r)));break;case 3:if(0===e.shape)o=n=Math.max(ou(t,s),ou(t,s-r),ou(t-i,s),ou(t-i,s-r));else if(1===e.shape){a=Math.max(Math.abs(s),Math.abs(s-r))/Math.max(Math.abs(t),Math.abs(t-i));var u=nu(i,r,t,s,!1);h=u[0],c=u[1],n=a*(o=ou(h-t,(c-s)/a))}}return Array.isArray(e.size)&&(o=Uc(e.size[0],i),n=2===e.size.length?Uc(e.size[1],r):o),[o,n]}(s,P,D,T,_),C=N[0],b=N[1],C>0&&b>0&&(O=i.ctx.createRadialGradient(v+P,I+D,0,v+P,I+D,C),iu(s.stops,2*C).forEach((function(e){return O.addColorStop(e.stop,Wc(e.color))})),i.path(g),i.ctx.fillStyle=O,C!==b?(S=e.bounds.left+.5*e.bounds.width,x=e.bounds.top+.5*e.bounds.height,B=1/(w=b/C),i.ctx.save(),i.ctx.translate(S,x),i.ctx.transform(1,0,0,w,0,0),i.ctx.translate(-S,-x),i.ctx.fillRect(v,B*(I-x)+x,T,_*B),i.ctx.restore()):i.ctx.fill())),F.label=6;case 6:return t--,[2]}}))},i=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return r0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,o,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return n++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,s,i,r){return kl(this,void 0,void 0,(function(){var o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v;return Vl(this,(function(I){return this.ctx.save(),o=function(e,t){switch(t){case 0:return uf(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return uf(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return uf(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return uf(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(i,s),n=cf(i,s),2===r&&(this.path(n),this.ctx.clip()),Xd(n[0])?(a=n[0].start.x,l=n[0].start.y):(a=n[0].x,l=n[0].y),Xd(n[1])?(h=n[1].end.x,c=n[1].end.y):(h=n[1].x,c=n[1].y),u=0===s||2===s?Math.abs(a-h):Math.abs(l-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(n.slice(0,2)),A=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(A=t,p=t),d=!0,u<=2*A?d=!1:u<=2*A+p?(A*=f=u/(2*A+p),p*=f):(m=Math.floor((u+p)/(A+p)),E=(u-m*A)/(m-1),p=(y=(u-(m+1)*A)/m)<=0||Math.abs(p-E){s=1e3*this._delayBeforeRestoreSeconds,i||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,i=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",r),this._onCameraMatrix=e.scene.camera.on("matrix",r),this._onSceneTick=e.scene.on("tick",(t=>{i&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),i=!1))}));let o=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{o=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{o=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{o&&r()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}Boolean("object"!=typeof process||"[object process]"!==String(process)||process.browser);const Uf="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function Hf(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}Uf&&parseFloat(Uf[1]);const Gf="object"!=typeof process||"[object process]"!==String(process)||process.browser,kf="undefined"!=typeof window&&void 0!==window.orientation,Vf="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function Qf(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Vf&&parseFloat(Vf[1]);class jf{constructor(e,t){Qf(this,"name",void 0),Qf(this,"workerThread",void 0),Qf(this,"isRunning",!0),Qf(this,"result",void 0),Qf(this,"_resolve",(()=>{})),Qf(this,"_reject",(()=>{})),this.name=e,this.workerThread=t,this.result=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Hf(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Hf(this.isRunning),this.isRunning=!1,this._reject(e)}}class Wf{}const zf=new Map;function Kf(e){Hf(e.source&&!e.url||!e.source&&e.url);let t=zf.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return Yf((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),zf.set(e.url,t)),e.source&&(t=Yf(e.source),zf.set(e.source,t))),Hf(t),t}function Yf(e){const t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function Xf(e,t=!0,s){const i=s||new Set;if(e){if(Zf(e))i.add(e);else if(Zf(e.buffer))i.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"==typeof e)for(const s in e)Xf(e[s],t,i)}else;return void 0===s?Array.from(i):[]}function Zf(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}const qf=()=>{};class Jf{static isSupported(){return"undefined"!=typeof Worker&&Gf||void 0!==typeof Wf}constructor(e){Qf(this,"name",void 0),Qf(this,"source",void 0),Qf(this,"url",void 0),Qf(this,"terminated",!1),Qf(this,"worker",void 0),Qf(this,"onMessage",void 0),Qf(this,"onError",void 0),Qf(this,"_loadableURL","");const{name:t,source:s,url:i}=e;Hf(s||i),this.name=t,this.source=s,this.url=i,this.onMessage=qf,this.onError=e=>console.log(e),this.worker=Gf?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=qf,this.onError=qf,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||Xf(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}_createBrowserWorker(){this._loadableURL=Kf({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=e=>{e.data?this.onMessage(e.data):this.onError(new Error("No data received"))},e.onerror=e=>{this.onError(this._getErrorFromErrorEvent(e)),this.terminated=!0},e.onmessageerror=e=>console.error(e),e}_createNodeWorker(){let e;if(this.url){const t=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Wf(t,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Wf(this.source,{eval:!0})}return e.on("message",(e=>{this.onMessage(e)})),e.on("error",(e=>{this.onError(e)})),e.on("exit",(e=>{})),e}}class $f{static isSupported(){return Jf.isSupported()}constructor(e){Qf(this,"name","unnamed"),Qf(this,"source",void 0),Qf(this,"url",void 0),Qf(this,"maxConcurrency",1),Qf(this,"maxMobileConcurrency",1),Qf(this,"onDebug",(()=>{})),Qf(this,"reuseWorkers",!0),Qf(this,"props",{}),Qf(this,"jobQueue",[]),Qf(this,"idleQueue",[]),Qf(this,"count",0),Qf(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach((e=>e.destroy())),this.isDestroyed=!0}setProps(e){this.props={...this.props,...e},void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}async startJob(e,t=((e,t,s)=>e.done(s)),s=((e,t)=>e.error(t))){const i=new Promise((i=>(this.jobQueue.push({name:e,onMessage:t,onError:s,onStart:i}),this)));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:e,backlog:this.jobQueue.length});const s=new jf(t.name,e);e.onMessage=e=>t.onMessage(s,e.type,e.payload),e.onError=e=>t.onError(s,e),t.onStart(s);try{await s.result}finally{this.returnWorkerToQueue(e)}}}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}};class tm{static isSupported(){return Jf.isSupported()}static getWorkerFarm(e={}){return tm._workerFarm=tm._workerFarm||new tm({}),tm._workerFarm.setProps(e),tm._workerFarm}constructor(e){Qf(this,"props",void 0),Qf(this,"workerPools",new Map),this.props={...em},this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy();this.workerPools=new Map}setProps(e){this.props={...this.props,...e};for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:s,url:i}=e;let r=this.workerPools.get(t);return r||(r=new $f({name:t,source:s,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}Qf(tm,"_workerFarm",void 0);const sm={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},im=sm.window||sm.self||sm.global,rm=sm.process||{},om="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",nm=!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}();class am{constructor(e,t,s="sessionStorage"){this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function lm(e,t,s,i=600){const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}const hm={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function cm(e){return"string"==typeof e?hm[e.toUpperCase()]||hm.WHITE:e}function um(e,t){if(!e)throw new Error(t||"Assertion failed")}function Am(){let e;if(nm&&im.performance)e=im.performance.now();else if(rm.hrtime){const t=rm.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}const pm={debug:nm&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},dm={enabled:!0,level:0};function fm(){}const mm={},Em={once:!0};function ym(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}class gm{constructor({id:e}={id:""}){this.id=e,this.VERSION=om,this._startTs=Am(),this._deltaTs=Am(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new am("__probe-".concat(this.id,"__"),dm),this.userData={},this.timeStamp("".concat(this.id," started")),function(e,t=["constructor"]){const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Am()-this._startTs).toPrecision(10))}getDelta(){return Number((Am()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}assert(e,t){um(e,t)}warn(e){return this._getLogFunction(0,e,pm.warn,arguments,Em)}error(e){return this._getLogFunction(0,e,pm.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,pm.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,pm.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,pm.debug||pm.info,arguments,Em)}table(e,t,s){return t?this._getLogFunction(e,t,console.table||fm,s&&[s],{tag:ym(t)}):fm}image({logLevel:e,priority:t,image:s,message:i="",scale:r=1}){return this._shouldLog(e||t)?nm?function({image:e,message:t="",scale:s=1}){if("string"==typeof e){const i=new Image;return i.onload=()=>{const e=lm(i,t,s);console.log(...e)},i.src=e,fm}const i=e.nodeName||"";if("img"===i.toLowerCase())return console.log(...lm(e,t,s)),fm;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...lm(i,t,s)),i.src=e.toDataURL(),fm}return fm}({image:s,message:i,scale:r}):function({image:e,message:t="",scale:s=1}){let i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return()=>i(e,{fit:"box",width:"".concat(Math.round(80*s),"%")}).then((e=>console.log(e)));return fm}({image:s,message:i,scale:r}):fm}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||fm)}group(e,t,s={collapsed:!1}){s=Im({logLevel:e,message:t,opts:s});const{collapsed:i}=s;return s.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(e,t,s={}){return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||fm)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=vm(e)}_getLogFunction(e,t,s,i=[],r){if(this._shouldLog(e)){r=Im({logLevel:e,message:t,args:i,opts:r}),um(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Am();const o=r.tag||r.message;if(r.once){if(mm[o])return fm;mm[o]=Am()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e,t=8){const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return nm||"string"!=typeof e||(t&&(t=cm(t),e="[".concat(t,"m").concat(e,"")),s&&(t=cm(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return fm}}function vm(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return um(Number.isFinite(t)&&t>=0),t}function Im(e){const{logLevel:t,message:s}=e;e.logLevel=vm(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(e.args=i,typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return um("string"===r||"object"===r),Object.assign(e,e.opts)}gm.VERSION=om,new gm({id:"loaders.gl"});function Tm(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}()}new class{constructor(){Qf(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}};const _m={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Rm=_m.window||_m.self||_m.global,Pm=_m.process||{},Dm="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";Tm();class Nm{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Qf(this,"storage",void 0),Qf(this,"id",void 0),Qf(this,"config",{}),this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function Cm(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600;const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}let bm;function Om(e){return"string"==typeof e?bm[e.toUpperCase()]||bm.WHITE:e}function Sm(e,t){if(!e)throw new Error(t||"Assertion failed")}function xm(){let e;var t,s;if(Tm&&"performance"in Rm)e=null==Rm||null===(t=Rm.performance)||void 0===t||null===(s=t.now)||void 0===s?void 0:s.call(t);else if("hrtime"in Pm){var i;const t=null==Pm||null===(i=Pm.hrtime)||void 0===i?void 0:i.call(Pm);e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(bm||(bm={}));const wm={debug:Tm&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Bm={enabled:!0,level:0};function Fm(){}const Mm={},Lm={once:!0};class Um{constructor(){let{id:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""};Qf(this,"id",void 0),Qf(this,"VERSION",Dm),Qf(this,"_startTs",xm()),Qf(this,"_deltaTs",xm()),Qf(this,"_storage",void 0),Qf(this,"userData",{}),Qf(this,"LOG_THROTTLE_TIMEOUT",0),this.id=e,this._storage=new Nm("__probe-".concat(this.id,"__"),Bm),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"];const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((xm()-this._startTs).toPrecision(10))}getDelta(){return Number((xm()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){Sm(e,t)}warn(e){return this._getLogFunction(0,e,wm.warn,arguments,Lm)}error(e){return this._getLogFunction(0,e,wm.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,wm.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,wm.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){for(var s=arguments.length,i=new Array(s>2?s-2:0),r=2;r{const t=Cm(e,s,i);console.log(...t)},e.src=t,Fm}const r=t.nodeName||"";if("img"===r.toLowerCase())return console.log(...Cm(t,s,i)),Fm;if("canvas"===r.toLowerCase()){const e=new Image;return e.onload=()=>console.log(...Cm(e,s,i)),e.src=t.toDataURL(),Fm}return Fm}({image:i,message:r,scale:o}):function(e){let{image:t,message:s="",scale:i=1}=e,r=null;try{r=module.require("asciify-image")}catch(e){}if(r)return()=>r(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((e=>console.log(e)));return Fm}({image:i,message:r,scale:o}):Fm}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||Fm)}group(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1};const i=Gm({logLevel:e,message:t,opts:s}),{collapsed:r}=s;return i.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Fm)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=Hm(e)}_getLogFunction(e,t,s,i,r){if(this._shouldLog(e)){r=Gm({logLevel:e,message:t,args:i,opts:r}),Sm(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=xm();const o=r.tag||r.message;if(r.once){if(Mm[o])return Fm;Mm[o]=xm()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return Tm||"string"!=typeof e||(t&&(t=Om(t),e="[".concat(t,"m").concat(e,"")),s&&(t=Om(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return Fm}}function Hm(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Sm(Number.isFinite(t)&&t>=0),t}function Gm(e){const{logLevel:t,message:s}=e;e.logLevel=Hm(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return Sm("string"===r||"object"===r),Object.assign(e,{args:i},e.opts)}function km(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}var Vm,Qm,jm,Wm,zm,Km,Ym,Xm,Zm;let qm;Qf(Um,"VERSION",Dm),new Um({id:"loaders.gl"}),(Zm=Vm||(Vm={}))[Zm.NONE=0]="NONE",Zm[Zm.BASISLZ=1]="BASISLZ",Zm[Zm.ZSTD=2]="ZSTD",Zm[Zm.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Qm||(Qm={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(jm||(jm={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(Wm||(Wm={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(zm||(zm={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(Km||(Km={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(Ym||(Ym={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(Xm||(Xm={})),function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(qm||(qm={}));const Jm={IfcOpeningElement:{pickable:!1,visible:!1},IfcSpace:{colorize:[.137255,.403922,.870588],pickable:!1,visible:!1,opacity:.4},IfcWindow:{colorize:[.137255,.403922,.870588],opacity:.3},IfcPlate:{colorize:[.8470588235,.427450980392,0,.5],opacity:.3},DEFAULT:{}};function $m(e,t,s={}){const i="lightgrey",r=s.hoverColor||"rgba(0,0,0,0.4)",o=500,n=o+o/3,a=n/24,l=[{boundary:[6,6,6,6],color:s.frontColor||s.color||"#55FF55"},{boundary:[18,6,6,6],color:s.backColor||s.color||"#55FF55"},{boundary:[12,6,6,6],color:s.leftColor||s.color||"#FF5555"},{boundary:[0,6,6,6],color:s.rightColor||s.color||"#FF5555"},{boundary:[6,0,6,6],color:s.topColor||s.color||"#7777FF"},{boundary:[6,12,6,6],color:s.bottomColor||s.color||"#7777FF"}],h=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];s.frontColor||s.color,s.backColor||s.color,s.leftColor||s.color,s.rightColor||s.color,s.topColor||s.color,s.bottomColor||s.color;const c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}];for(let e=0,t=h.length;e=r[0]*a&&t<=(r[0]+r[2])*a&&s>=r[1]*a&&s<=(r[1]+r[3])*a)return i}}return-1},this.setAreaHighlighted=function(e,t){var s=u[e];if(!s)throw"Area not found: "+e;s.highlighted=!!t,f()},this.getAreaDir=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}const eE=A.vec3(),tE=A.vec3();A.mat4();class sE extends n{constructor(e,t={}){super("NavCube",e,t),e.navCube=this;try{this._navCubeScene=new zt(e,{canvasId:t.canvasId,canvasElement:t.canvasElement,transparent:!0}),this._navCubeCanvas=this._navCubeScene.canvas.canvas,this._navCubeScene.input.keyboardEnabled=!1}catch(e){return void this.error(e)}const s=this._navCubeScene;s.clearLights(),new Ye(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Ye(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Ye(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._navCubeCamera=s.camera,this._navCubeCamera.ortho.scale=7,this._navCubeCamera.ortho.near=.1,this._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,this._zUp=Boolean(e.camera.zUp);var i=this;this.setIsProjectNorth(t.isProjectNorth),this.setProjectNorthOffsetAngle(t.projectNorthOffsetAngle);const r=function(){const e=A.mat4();return function(t,s,r){return A.identityMat4(e),A.rotationMat4v(t*i._projectNorthOffsetAngle*A.DEGTORAD,[0,1,0],e),A.transformVec3(e,s,r)}}();this._synchCamera=function(){var t=A.rotationMat4c(-90*A.DEGTORAD,1,0,0),s=A.vec3(),o=A.vec3(),n=A.vec3();return function(){var a=e.camera.eye,l=e.camera.look,h=e.camera.up;s=A.mulVec3Scalar(A.normalizeVec3(A.subVec3(a,l,s)),5),i._isProjectNorth&&i._projectNorthOffsetAngle&&(s=r(-1,s,eE),h=r(-1,h,tE)),i._zUp?(A.transformVec3(t,s,o),A.transformVec3(t,h,n),i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=A.transformVec3(t,s,o),i._navCubeCamera.up=A.transformPoint3(t,h,n)):(i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=s,i._navCubeCamera.up=h)}}(),this._cubeTextureCanvas=new $m(e,s,t),this._cubeSampler=new ni(s,{image:this._cubeTextureCanvas.getImage(),flipY:!0,wrapS:1001,wrapT:1001}),this._cubeMesh=new Ls(s,{geometry:new at(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new At(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:this._cubeSampler,emissiveMap:this._cubeSampler}),visible:!0,edges:!0}),this._shadow=!1===t.shadowVisible?null:new Ls(s,{geometry:new at(s,Hs({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new At(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!0,pickable:!1,backfaces:!1}),this._onCameraMatrix=e.camera.on("matrix",this._synchCamera),this._onCameraWorldAxis=e.camera.on("worldAxis",(()=>{e.camera.zUp?(this._zUp=!0,this._cubeTextureCanvas.setZUp(),this._repaint(),this._synchCamera()):e.camera.yUp&&(this._zUp=!1,this._cubeTextureCanvas.setYUp(),this._repaint(),this._synchCamera())})),this._onCameraFOV=e.camera.perspective.on("fov",(e=>{this._synchProjection&&(this._navCubeCamera.perspective.fov=e)})),this._onCameraProjection=e.camera.on("projection",(e=>{this._synchProjection&&(this._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var o=-1;function n(e){var t=[0,0];if(e){for(var s=e.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-i,t[1]=e.pageY-r}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var a,l,h=null,c=null,u=!1,p=!1,d=.5;i._navCubeCanvas.addEventListener("mouseenter",i._onMouseEnter=function(e){p=!0}),i._navCubeCanvas.addEventListener("mouseleave",i._onMouseLeave=function(e){p=!1}),i._navCubeCanvas.addEventListener("mousedown",i._onMouseDown=function(e){if(1===e.which){h=e.x,c=e.y,a=e.clientX,l=e.clientY;var t=n(e),i=s.pick({canvasPos:t});u=!!i}}),document.addEventListener("mouseup",i._onMouseUp=function(e){if(1===e.which&&(u=!1,null!==h)){var t=n(e),a=s.pick({canvasPos:t,pickSurface:!0});if(a&&a.uv){var l=i._cubeTextureCanvas.getArea(a.uv);if(l>=0&&(document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0)){if(i._cubeTextureCanvas.setAreaHighlighted(l,!0),o=l,i._repaint(),e.xh+3||e.yc+3)return;var A=i._cubeTextureCanvas.getAreaDir(l);if(A){var p=i._cubeTextureCanvas.getAreaUp(l);i._isProjectNorth&&i._projectNorthOffsetAngle&&(A=r(1,A,eE),p=r(1,p,tE)),f(A,p,(function(){o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0&&(i._cubeTextureCanvas.setAreaHighlighted(l,!1),o=-1,i._repaint())}))}}}}}),document.addEventListener("mousemove",i._onMouseMove=function(t){if(o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),1!==t.buttons||u){if(u){var r=t.clientX,h=t.clientY;return document.body.style.cursor="move",void function(t,s){var i=(t-a)*-d,r=(s-l)*-d;e.camera.orbitYaw(i),e.camera.orbitPitch(-r),a=t,l=s}(r,h)}if(p){var c=n(t),A=s.pick({canvasPos:c,pickSurface:!0});if(A){if(A.uv){document.body.style.cursor="pointer";var f=i._cubeTextureCanvas.getArea(A.uv);if(f===o)return;o>=0&&i._cubeTextureCanvas.setAreaHighlighted(o,!1),f>=0&&(i._cubeTextureCanvas.setAreaHighlighted(f,!0),i._repaint(),o=f)}}else document.body.style.cursor="default",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1)}}});var f=function(){var t=A.vec3();return function(s,r,o){var n=i._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,a=A.getAABB3Diag(n);A.getAABB3Center(n,t);var l=Math.abs(a/Math.tan(i._cameraFitFOV*A.DEGTORAD));e.cameraControl.pivotPos=t,i._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV,duration:i._cameraFlyDuration},o):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV},o)}}();this._onUpdated=e.localeService.on("updated",(()=>{this._cubeTextureCanvas.clear(),this._repaint()})),this.setVisible(t.visible),this.setCameraFitFOV(t.cameraFitFOV),this.setCameraFly(t.cameraFly),this.setCameraFlyDuration(t.cameraFlyDuration),this.setFitVisible(t.fitVisible),this.setSynchProjection(t.synchProjection)}send(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}_repaint(){const e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}setVisible(e=!0){this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}getVisible(){return!!this._navCubeCanvas&&this._cubeMesh.visible}setFitVisible(e=!1){this._fitVisible=e}getFitVisible(){return this._fitVisible}setCameraFly(e=!0){this._cameraFly=e}getCameraFly(){return this._cameraFly}setCameraFitFOV(e=45){this._cameraFitFOV=e}getCameraFitFOV(){return this._cameraFitFOV}setCameraFlyDuration(e=.5){this._cameraFlyDuration=e}getCameraFlyDuration(){return this._cameraFlyDuration}setSynchProjection(e=!1){this._synchProjection=e}getSynchProjection(){return this._synchProjection}setIsProjectNorth(e=!1){this._isProjectNorth=e}getIsProjectNorth(){return this._isProjectNorth}setProjectNorthOffsetAngle(e){this._projectNorthOffsetAngle=e}getProjectNorthOffsetAngle(){return this._projectNorthOffsetAngle}destroy(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,super.destroy()}}A.vec3();const iE=new Float64Array([0,0,1]),rE=new Float64Array(4);class oE{constructor(e){this.id=null,this._viewer=e.viewer,this._visible=!1,this._pos=A.vec3(),this._origin=A.vec3(),this._rtcPos=A.vec3(),this._baseDir=A.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}_setSectionPlane(e){this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(()=>{this._setPos(this._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(()=>{this._ignoreNextSectionPlaneDirUpdate?this._ignoreNextSectionPlaneDirUpdate=!1:this._setDir(this._sectionPlane.dir)})))}get sectionPlane(){return this._sectionPlane}_setPos(e){this._pos.set(e),function(e,t,s){const i=Float32Array.from([e[0]])[0],r=e[0]-i,o=Float32Array.from([e[1]])[0],n=e[1]-o,a=Float32Array.from([e[2]])[0],l=e[2]-a;t[0]=i,t[1]=o,t[2]=a,s[0]=r,s[1]=n,s[2]=l}(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}_setDir(e){this._baseDir.set(e),this._rootNode.quaternion=A.vec3PairToQuaternion(iE,e,rE)}_setSectionPlaneDir(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}setVisible(e=!0){if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}getVisible(){return this._visible}setCulled(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}_createNodes(){const e=!1,t=this._viewer.scene,s=.01;this._rootNode=new qs(t,{position:[0,0,0],scale:[5,5,5]});const i=this._rootNode,r={arrowHead:new at(i,Hs({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new at(i,Hs({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new at(i,Hs({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new at(i,Ai({radius:.8,tube:s,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new at(i,Ai({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new at(i,Ai({radius:.8,tube:s,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new at(i,Hs({radiusTop:s,radiusBottom:s,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new at(i,Hs({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new At(i,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new At(i,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new dt(i,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new At(i,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new dt(i,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new At(i,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new dt(i,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new At(i,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new dt(i,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new dt(i,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:i.addChild(new Ls(i,{geometry:new at(i,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new At(i,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new dt(i,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:i.addChild(new Ls(i,{geometry:new at(i,Ai({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new At(i,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new dt(i,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:i.addChild(new Ls(i,{geometry:r.curve,material:o.red,matrix:function(){const e=A.rotationMat4v(90*A.DEGTORAD,[0,1,0],A.identityMat4()),t=A.rotationMat4v(270*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:i.addChild(new Ls(i,{geometry:r.curveHandle,material:o.pickable,matrix:function(){const e=A.rotationMat4v(90*A.DEGTORAD,[0,1,0],A.identityMat4()),t=A.rotationMat4v(270*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=A.translateMat4c(0,-.07,-.8,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(0*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=A.translateMat4c(0,-.8,-.07,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:i.addChild(new Ls(i,{geometry:r.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:i.addChild(new Ls(i,{geometry:r.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=A.translateMat4c(.07,0,-.8,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=A.translateMat4c(.8,0,-.07,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:i.addChild(new Ls(i,{geometry:r.curve,material:o.blue,matrix:A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:i.addChild(new Ls(i,{geometry:r.curveHandle,material:o.pickable,matrix:A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=A.translateMat4c(.8,-.07,0,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4());return A.mulMat4(e,t,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=A.translateMat4c(.05,-.8,0,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:i.addChild(new Ls(i,{geometry:new at(i,Gs({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:i.addChild(new Ls(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:i.addChild(new Ls(i,{geometry:r.axis,material:o.red,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:i.addChild(new Ls(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:i.addChild(new Ls(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:i.addChild(new Ls(i,{geometry:r.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:i.addChild(new Ls(i,{geometry:r.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[.8,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:i.addChild(new Ls(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[.8,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:i.addChild(new Ls(i,{geometry:r.axis,material:o.blue,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:i.addChild(new Ls(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:i.addChild(new Ls(i,{geometry:new at(i,Ai({center:[0,0,0],radius:2,tube:s,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new At(i,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new dt(i,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:i.addChild(new Ls(i,{geometry:r.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){const e=A.rotationMat4v(90*A.DEGTORAD,[0,1,0],A.identityMat4()),t=A.rotationMat4v(270*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:i.addChild(new Ls(i,{geometry:r.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:i.addChild(new Ls(i,{geometry:r.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHeadBig,material:o.red,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHeadBig,material:o.green,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHeadBig,material:o.blue,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[.8,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}_bindEvents(){const e=this;var t=!1;const s=-1,i=0,r=1,o=2,n=3,a=4,l=5,h=this._rootNode;var c=null,u=null;const p=A.vec2(),d=A.vec3([1,0,0]),f=A.vec3([0,1,0]),m=A.vec3([0,0,1]),E=this._viewer.scene.canvas.canvas,y=this._viewer.camera,g=this._viewer.scene;{const e=A.vec3([0,0,0]);let t=-1;this._onCameraViewMatrix=g.camera.on("viewMatrix",(()=>{})),this._onCameraProjMatrix=g.camera.on("projMatrix",(()=>{})),this._onSceneTick=g.on("tick",(()=>{const s=Math.abs(A.lenVec3(A.subVec3(g.camera.eye,this._pos,e)));if(s!==t&&"perspective"===y.projection){const e=.07*(Math.tan(y.perspective.fov*A.DEGTORAD)*s);h.scale=[e,e,e],t=s}if("ortho"===y.projection){const e=y.ortho.scale/10;h.scale=[e,e,e],t=s}}))}const v=function(){const e=new Float64Array(2);return function(t){if(t){for(var s=t.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;e[0]=t.pageX-i,e[1]=t.pageY-r}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),I=function(){const t=A.mat4();return function(s,i){return A.quaternionToMat4(e._rootNode.quaternion,t),A.transformVec3(t,s,i),A.normalizeVec3(i),i}}();var T=function(){const e=A.vec3();return function(t){const s=Math.abs(t[0]);return s>Math.abs(t[1])&&s>Math.abs(t[2])?A.cross3Vec3(t,[0,1,0],e):A.cross3Vec3(t,[1,0,0],e),A.cross3Vec3(e,t,e),A.normalizeVec3(e),e}}();const _=function(){const t=A.vec3(),s=A.vec3(),i=A.vec4();return function(r,o,n){I(r,i);const a=T(i,o,n);P(o,a,t),P(n,a,s),A.subVec3(s,t);const l=A.dotVec3(s,i);e._pos[0]+=i[0]*l,e._pos[1]+=i[1]*l,e._pos[2]+=i[2]*l,e._rootNode.position=e._pos,e._sectionPlane&&(e._sectionPlane.pos=e._pos)}}();var R=function(){const t=A.vec4(),s=A.vec4(),i=A.vec4(),r=A.vec4();return function(o,n,a){I(o,r);if(!(P(n,r,t)&&P(a,r,s))){const e=T(r,n,a);P(n,e,t,1),P(a,e,s,1);var l=A.dotVec3(t,r);t[0]-=l*r[0],t[1]-=l*r[1],t[2]-=l*r[2],l=A.dotVec3(s,r),s[0]-=l*r[0],s[1]-=l*r[1],s[2]-=l*r[2]}A.normalizeVec3(t),A.normalizeVec3(s),l=A.dotVec3(t,s),l=A.clamp(l,-1,1);var h=Math.acos(l)*A.RADTODEG;A.cross3Vec3(t,s,i),A.dotVec3(i,r)<0&&(h=-h),e._rootNode.rotate(o,h),D()}}(),P=function(){const t=A.vec4([0,0,0,1]),s=A.mat4();return function(i,r,o,n){n=n||0,t[0]=i[0]/E.width*2-1,t[1]=-(i[1]/E.height*2-1),t[2]=0,t[3]=1,A.mulMat4(y.projMatrix,y.viewMatrix,s),A.inverseMat4(s),A.transformVec4(s,t,t),A.mulVec4Scalar(t,1/t[3]);var a=y.eye;A.subVec4(t,a,t);const l=e._sectionPlane.pos;var h=-A.dotVec3(l,r)-n,c=A.dotVec3(r,t);if(Math.abs(c)>.005){var u=-(A.dotVec3(r,a)+h)/c;return A.mulVec3Scalar(t,u,o),A.addVec3(o,a),A.subVec3(o,l,o),!0}return!1}}();const D=function(){const t=A.vec3(),s=A.mat4();return function(){e.sectionPlane&&(A.quaternionToMat4(h.quaternion,s),A.transformVec3(s,[0,0,1],t),e._setSectionPlaneDir(t))}}();var N,C=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(e=>{if(!this._visible)return;if(C)return;var h;t=!1,N&&(N.visible=!1);switch(e.entity.id){case this._displayMeshes.xAxisArrowHandle.id:case this._displayMeshes.xAxisHandle.id:h=this._affordanceMeshes.xAxisArrow,c=i;break;case this._displayMeshes.yAxisArrowHandle.id:case this._displayMeshes.yShaftHandle.id:h=this._affordanceMeshes.yAxisArrow,c=r;break;case this._displayMeshes.zAxisArrowHandle.id:case this._displayMeshes.zAxisHandle.id:h=this._affordanceMeshes.zAxisArrow,c=o;break;case this._displayMeshes.xCurveHandle.id:h=this._affordanceMeshes.xHoop,c=n;break;case this._displayMeshes.yCurveHandle.id:h=this._affordanceMeshes.yHoop,c=a;break;case this._displayMeshes.zCurveHandle.id:h=this._affordanceMeshes.zHoop,c=l;break;default:return void(c=s)}h&&(h.visible=!0),N=h,t=!0})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(e=>{this._visible&&(N&&(N.visible=!1),N=null,c=s)})),E.addEventListener("mousedown",this._canvasMouseDownListener=e=>{if(e.preventDefault(),this._visible&&t&&(this._viewer.cameraControl.pointerEnabled=!1,1===e.which)){C=!0;var s=v(e);u=c,p[0]=s[0],p[1]=s[1]}}),E.addEventListener("mousemove",this._canvasMouseMoveListener=e=>{if(!this._visible)return;if(!C)return;var t=v(e);const s=t[0],h=t[1];switch(u){case i:_(d,p,t);break;case r:_(f,p,t);break;case o:_(m,p,t);break;case n:R(d,p,t);break;case a:R(f,p,t);break;case l:R(m,p,t)}p[0]=s,p[1]=h}),E.addEventListener("mouseup",this._canvasMouseUpListener=e=>{this._visible&&(this._viewer.cameraControl.pointerEnabled=!0,C&&(e.which,C=!1,t=!1))}),E.addEventListener("wheel",this._canvasWheelListener=e=>{if(this._visible)Math.max(-1,Math.min(1,40*-e.deltaY))})}_destroy(){this._unbindEvents(),this._destroyNodes()}_unbindEvents(){const e=this._viewer,t=e.scene,s=t.canvas.canvas,i=e.camera,r=e.cameraControl;t.off(this._onSceneTick),s.removeEventListener("mousedown",this._canvasMouseDownListener),s.removeEventListener("mousemove",this._canvasMouseMoveListener),s.removeEventListener("mouseup",this._canvasMouseUpListener),s.removeEventListener("wheel",this._canvasWheelListener),i.off(this._onCameraViewMatrix),i.off(this._onCameraProjMatrix),r.off(this._onCameraControlHover),r.off(this._onCameraControlHoverLeave)}_destroyNodes(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}class nE{constructor(e,t,s){this.id=s.id,this._sectionPlane=s,this._mesh=new Ls(t,{id:s.id,geometry:new at(t,lt({xSize:.5,ySize:.5,zSize:.001})),material:new At(t,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new mt(t,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new dt(t,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new dt(t,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});{const e=A.vec3([0,0,0]),t=A.vec3(),s=A.vec3([0,0,1]),i=A.vec4(4),r=A.vec3(),o=()=>{const o=this._sectionPlane.scene.center,n=[-this._sectionPlane.dir[0],-this._sectionPlane.dir[1],-this._sectionPlane.dir[2]];A.subVec3(o,this._sectionPlane.pos,e);const a=-A.dotVec3(n,e);A.normalizeVec3(n),A.mulVec3Scalar(n,a,t);const l=A.vec3PairToQuaternion(s,this._sectionPlane.dir,i);r[0]=.1*t[0],r[1]=.1*t[1],r[2]=.1*t[2],this._mesh.quaternion=l,this._mesh.position=r};this._onSectionPlanePos=this._sectionPlane.on("pos",o),this._onSectionPlaneDir=this._sectionPlane.on("dir",o)}this._highlighted=!1,this._selected=!1}setHighlighted(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}getHighlighted(){return this._highlighted}setSelected(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}getSelected(){return this._selected}destroy(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}class aE{constructor(e,t){if(!(t.onHoverEnterPlane&&t.onHoverLeavePlane&&t.onClickedNothing&&t.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=e,this._viewer=e.viewer,this._onHoverEnterPlane=t.onHoverEnterPlane,this._onHoverLeavePlane=t.onHoverLeavePlane,this._onClickedNothing=t.onClickedNothing,this._onClickedPlane=t.onClickedPlane,this._visible=!0,this._planes={},this._canvas=t.overviewCanvas,this._scene=new zt(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new Ye(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Ye(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Ye(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;{const e=this._scene.camera,t=A.rotationMat4c(-90*A.DEGTORAD,1,0,0),s=A.vec3(),i=A.vec3(),r=A.vec3();this._synchCamera=()=>{const o=this._viewer.camera.eye,n=this._viewer.camera.look,a=this._viewer.camera.up;A.mulVec3Scalar(A.normalizeVec3(A.subVec3(o,n,s)),7),this._zUp?(A.transformVec3(t,s,i),A.transformVec3(t,a,r),e.look=[0,0,0],e.eye=A.transformVec3(t,s,i),e.up=A.transformPoint3(t,a,r)):(e.look=[0,0,0],e.eye=s,e.up=a)}}this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(e=>{this._scene.camera.perspective.fov=e}));var s=null;this._onInputMouseMove=this._scene.input.on("mousemove",(e=>{const t=this._scene.pick({canvasPos:e});if(t){if(!s||t.entity.id!==s.id){if(s){this._planes[s.id]&&this._onHoverLeavePlane(s.id)}s=t.entity;this._planes[s.id]&&this._onHoverEnterPlane(s.id)}}else s&&(this._onHoverLeavePlane(s.id),s=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=()=>{if(s){this._planes[s.id]&&this._onClickedPlane(s.id)}else this._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=()=>{s&&(this._onHoverLeavePlane(s.id),s=null)}),this.setVisible(t.overviewVisible)}addSectionPlane(e){this._planes[e.id]=new nE(this,this._scene,e)}setPlaneHighlighted(e,t){const s=this._planes[e];s&&s.setHighlighted(t)}setPlaneSelected(e,t){const s=this._planes[e];s&&s.setSelected(t)}removeSectionPlane(e){const t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}setVisible(e=!0){this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}getVisible(){return this._visible}destroy(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}const lE=A.AABB3(),hE=A.vec3();class cE extends n{constructor(e,t={}){if(super("SectionPlanes",e),this._freeControls=[],this._sectionPlanes=e.scene.sectionPlanes,this._controls={},this._shownControlId=null,null!==t.overviewCanvasId&&void 0!==t.overviewCanvasId){const e=document.getElementById(t.overviewCanvasId);e?this._overview=new aE(this,{overviewCanvas:e,visible:t.overviewVisible,onHoverEnterPlane:e=>{this._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:e=>{this._overview.setPlaneHighlighted(e,!1)},onClickedPlane:e=>{if(this.getShownControl()===e)return void this.hideControl();this.showControl(e);const t=this.sectionPlanes[e].pos;lE.set(this.viewer.scene.aabb),A.getAABB3Center(lE,hE),lE[0]+=t[0]-hE[0],lE[1]+=t[1]-hE[1],lE[2]+=t[2]-hE[2],lE[3]+=t[0]-hE[0],lE[4]+=t[1]-hE[1],lE[5]+=t[2]-hE[2],this.viewer.cameraFlight.flyTo({aabb:lE,fitFOV:65})},onClickedNothing:()=>{this.hideControl()}}):this.warn("Can't find overview canvas: '"+t.overviewCanvasId+"' - will create plugin without overview")}this._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(e=>{this._sectionPlaneCreated(e)}))}setOverviewVisible(e){this._overview&&this._overview.setVisible(e)}getOverviewVisible(){if(this._overview)return this._overview.getVisible()}get sectionPlanes(){return this._sectionPlanes}createSectionPlane(e={}){void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);return new ks(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0})}_sectionPlaneCreated(e){const t=this._freeControls.length>0?this._freeControls.pop():new oE(this);t._setSectionPlane(e),t.setVisible(!1),this._controls[e.id]=t,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(()=>{this._sectionPlaneDestroyed(e)}))}flipSectionPlanes(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].flipDir()}}showControl(e){const t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}getShownControl(){return this._shownControlId}hideControl(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}destroySectionPlane(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}_sectionPlaneDestroyed(e){this._overview&&this._overview.removeSectionPlane(e);const t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}clear(){const e=Object.keys(this._sectionPlanes);for(var t=0,s=e.length;t{e.preventDefault()},this._onObjectVisibility=this._viewer.scene.on("objectVisibility",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;const i=e.visible;if(!(i!==s.checked))return;this._muteTreeEvents=!0,s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;const r=document.getElementById(`checkbox-${s.nodeId}`);r&&(r.checked=i);let o=s.parent;for(;o;){o.checked=i,i?o.numVisibleEntities++:o.numVisibleEntities--;const e=document.getElementById(`checkbox-${o.nodeId}`);if(e){const t=o.numVisibleEntities>0;t!==e.checked&&(e.checked=t)}o=o.parent}this._muteTreeEvents=!1})),this._onObjectXrayed=this._viewer.scene.on("objectXRayed",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;this._muteTreeEvents=!0;const i=e.xrayed;if(!(i!==s.xrayed))return;s.xrayed=i;const r=s.nodeId,o=document.getElementById(r);null!==o&&(i?o.classList.add("xrayed-node"):o.classList.remove("xrayed-node")),this._muteTreeEvents=!1})),this._switchExpandHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._expandSwitchElement(t)},this._switchCollapseHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._collapseSwitchElement(t)},this._checkboxChangeHandler=e=>{if(this._muteTreeEvents)return;this._muteSceneEvents=!0;const t=e.target,s=t.checked,i=t.id.replace("checkbox-",""),r=this._nodeNodes[i],o=this._viewer.scene.objects;let n=0;this._withNodeTree(r,(e=>{const t=e.objectId,i=`checkbox-${e.nodeId}`,r=o[t],a=0===e.children.length;e.numVisibleEntities=s?e.numEntities:0,a&&s!==e.checked&&n++,e.checked=s;const l=document.getElementById(i);l&&(l.checked=s),r&&(r.visible=s)}));let a=r.parent;for(;a;){a.checked=s;const e=document.getElementById(`checkbox-${a.nodeId}`);s?a.numVisibleEntities+=n:a.numVisibleEntities-=n;const t=a.numVisibleEntities>0;t!==e.checked&&(e.checked=t),a=a.parent}this._muteSceneEvents=!1},this._hierarchy=t.hierarchy||"containment",this._autoExpandDepth=t.autoExpandDepth||0,this._autoAddModels){const e=Object.keys(this.viewer.metaScene.metaModels);for(let t=0,s=e.length;t{this.viewer.metaScene.metaModels[e]&&this.addModel(e)}))}this.hierarchy=t.hierarchy}else this.error("Config expected: containerElement")}set hierarchy(e){"containment"!==(e=e||"containment")&&"storeys"!==e&&"types"!==e&&(this.error("Unsupported value for `hierarchy' - defaulting to 'containment'"),e="containment"),this._hierarchy!==e&&(this._hierarchy=e,this._createNodes())}get hierarchy(){return this._hierarchy}addModel(e,t={}){if(!this._containerElement)return;const s=this.viewer.scene.models[e];if(!s)throw"Model not found: "+e;const i=this.viewer.metaScene.metaModels[e];i?this._metaModels[e]?this.warn("Model already added: "+e):(this._metaModels[e]=i,s.on("destroyed",(()=>{this.removeModel(s.id)})),this._createNodes()):this.error("MetaModel not found: "+e)}removeModel(e){if(!this._containerElement)return;this._metaModels[e]&&(delete this._metaModels[e],this._createNodes())}showNode(e){this._showListItemElementId&&this.unShowNode();const t=this._objectNodes[e];if(!t)return;const s=t.nodeId,i="switch-"+s,r=document.getElementById(i);if(r)return this._expandSwitchElement(r),void r.scrollIntoView();const o=[];o.unshift(t);let n=t.parent;for(;n;)o.unshift(n),n=n.parent;for(let e=0,t=o.length;e{if(i===e)return;const r="switch-"+s.nodeId,o=document.getElementById(r);if(o){this._expandSwitchElement(o);const e=s.children;for(var n=0,a=e.length;n0;return this.valid}_validateMetaModelForStoreysHierarchy(e=0,t,s){return!0}_createEnabledNodes(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}_createDisabledNodes(){const e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);const t=this._viewer.metaScene.rootMetaObjects;for(let s in t){const i=t[s],r=i.type,o=i.name,n=o&&""!==o&&"Undefined"!==o&&"Default"!==o?o:r,a=document.createElement("li");e.appendChild(a);const l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),a.appendChild(l);const h=document.createElement("span");h.textContent=n,a.appendChild(h)}}_findEmptyNodes(){const e=this._viewer.metaScene.rootMetaObjects;for(let t in e)this._findEmptyNodes2(e[t])}_findEmptyNodes2(e,t=0){const s=this.viewer.scene,i=e.children,r=e.id,o=s.objects[r];if(e._countEntities=0,o&&e._countEntities++,i)for(let t=0,s=i.length;t{e.aabb&&r.aabb||(e.aabb||(e.aabb=t.getAABB(i.getObjectIDsInSubtree(e.objectId))),r.aabb||(r.aabb=t.getAABB(i.getObjectIDsInSubtree(r.objectId))));let o=0;return o=s.xUp?0:s.yUp?1:2,e.aabb[o]>r.aabb[o]?-1:e.aabb[o]i?1:0}_synchNodesToEntities(){const e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,s=this._viewer.scene.objects;for(let i=0,r=e.length;ithis._createNodeElement(e))),t=document.createElement("ul");e.forEach((e=>{t.appendChild(e)})),this._containerElement.appendChild(t),this._rootElement=t}_createNodeElement(e){const t=document.createElement("li"),s=e.nodeId;if(e.xrayed&&t.classList.add("xrayed-node"),t.id=s,e.children.length>0){const e="switch-"+s,i=document.createElement("a");i.href="#",i.id=e,i.textContent="+",i.classList.add("plus"),i.addEventListener("click",this._switchExpandHandler),t.appendChild(i)}const i=document.createElement("input");i.id=`checkbox-${s}`,i.type="checkbox",i.checked=e.checked,i.style["pointer-events"]="all",i.addEventListener("change",this._checkboxChangeHandler),t.appendChild(i);const r=document.createElement("span");return r.textContent=e.title,t.appendChild(r),r.oncontextmenu=t=>{this.fire("contextmenu",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},r.onclick=t=>{this.fire("nodeTitleClicked",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},t}_expandSwitchElement(e){const t=e.parentElement;if(t.getElementsByTagName("li")[0])return;const s=t.id,i=this._nodeNodes[s].children.map((e=>this._createNodeElement(e))),r=document.createElement("ul");i.forEach((e=>{r.appendChild(e)})),t.appendChild(r),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}_collapseNode(e){const t="switch-"+e,s=document.getElementById(t);this._collapseSwitchElement(s)}_collapseSwitchElement(e){if(!e)return;const t=e.parentElement;if(!t)return;const s=t.querySelector("ul");s&&(t.removeChild(s),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}class pE{constructor(){}getManifest(e,t,s){E.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getMetaModel(e,t,s){E.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getXKT(e,t,s){var i=()=>{};t=t||i,s=s||i;const r=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(r){const e=!!r[2];var o=r[3];o=window.decodeURIComponent(o),e&&(o=window.atob(o));try{const e=new ArrayBuffer(o.length),s=new Uint8Array(e);for(var n=0;n0&&r[r.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=55296&&r<=56319&&s>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},Yl="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Xl="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zl=0;Zl=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),sh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ih="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rh=0;rh>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i0;){var n=i[--o];if(Array.isArray(e)?-1!==e.indexOf(n):e===n)for(var a=s;a<=i.length;){var l;if((l=i[++a])===t)return!0;if(l!==oh)break}if(n!==oh)break}return!1},Hh=function(e,t){for(var s=e;s>=0;){var i=t[s];if(i!==oh)return i;s--}return 0},Gh=function(e,t,s,i,r){if(0===s[i])return"×";var o=i-1;if(Array.isArray(r)&&!0===r[o])return"×";var n=o-1,a=o+1,l=t[o],h=n>=0?t[n]:0,c=t[a];if(2===l&&3===c)return"×";if(-1!==xh.indexOf(l))return"!";if(-1!==xh.indexOf(c))return"×";if(-1!==wh.indexOf(c))return"×";if(8===Hh(o,t))return"÷";if(11===Oh.get(e[o]))return"×";if((l===vh||l===Ih)&&11===Oh.get(e[a]))return"×";if(7===l||7===c)return"×";if(9===l)return"×";if(-1===[oh,nh,ah].indexOf(l)&&9===c)return"×";if(-1!==[lh,hh,ch,dh,yh].indexOf(c))return"×";if(Hh(o,t)===ph)return"×";if(Uh(23,ph,o,t))return"×";if(Uh([lh,hh],Ah,o,t))return"×";if(Uh(12,12,o,t))return"×";if(l===oh)return"÷";if(23===l||23===c)return"×";if(16===c||16===l)return"÷";if(-1!==[nh,ah,Ah].indexOf(c)||14===l)return"×";if(36===h&&-1!==Lh.indexOf(l))return"×";if(l===yh&&36===c)return"×";if(c===uh)return"×";if(-1!==Sh.indexOf(c)&&l===fh||-1!==Sh.indexOf(l)&&c===fh)return"×";if(l===Eh&&-1!==[Rh,vh,Ih].indexOf(c)||-1!==[Rh,vh,Ih].indexOf(l)&&c===mh)return"×";if(-1!==Sh.indexOf(l)&&-1!==Bh.indexOf(c)||-1!==Bh.indexOf(l)&&-1!==Sh.indexOf(c))return"×";if(-1!==[Eh,mh].indexOf(l)&&(c===fh||-1!==[ph,ah].indexOf(c)&&t[a+1]===fh)||-1!==[ph,ah].indexOf(l)&&c===fh||l===fh&&-1!==[fh,yh,dh].indexOf(c))return"×";if(-1!==[fh,yh,dh,lh,hh].indexOf(c))for(var u=o;u>=0;){if((A=t[u])===fh)return"×";if(-1===[yh,dh].indexOf(A))break;u--}if(-1!==[Eh,mh].indexOf(c))for(u=-1!==[lh,hh].indexOf(l)?n:o;u>=0;){var A;if((A=t[u])===fh)return"×";if(-1===[yh,dh].indexOf(A))break;u--}if(Ph===l&&-1!==[Ph,Dh,Th,_h].indexOf(c)||-1!==[Dh,Th].indexOf(l)&&-1!==[Dh,Nh].indexOf(c)||-1!==[Nh,_h].indexOf(l)&&c===Nh)return"×";if(-1!==Mh.indexOf(l)&&-1!==[uh,mh].indexOf(c)||-1!==Mh.indexOf(c)&&l===Eh)return"×";if(-1!==Sh.indexOf(l)&&-1!==Sh.indexOf(c))return"×";if(l===dh&&-1!==Sh.indexOf(c))return"×";if(-1!==Sh.concat(fh).indexOf(l)&&c===ph&&-1===bh.indexOf(e[a])||-1!==Sh.concat(fh).indexOf(c)&&l===hh)return"×";if(41===l&&41===c){for(var p=s[o],d=1;p>0&&41===t[--p];)d++;if(d%2!=0)return"×"}return l===vh&&c===Ih?"×":"÷"},kh=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var s=function(e,t){void 0===t&&(t="strict");var s=[],i=[],r=[];return e.forEach((function(e,o){var n=Oh.get(e);if(n>50?(r.push(!0),n-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(o),s.push(16);if(4===n||11===n){if(0===o)return i.push(o),s.push(gh);var a=s[o-1];return-1===Fh.indexOf(a)?(i.push(i[o-1]),s.push(a)):(i.push(o),s.push(gh))}return i.push(o),31===n?s.push("strict"===t?Ah:Rh):n===Ch||29===n?s.push(gh):43===n?e>=131072&&e<=196605||e>=196608&&e<=262141?s.push(Rh):s.push(gh):void s.push(n)})),[i,s,r]}(e,t.lineBreak),i=s[0],r=s[1],o=s[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(r=r.map((function(e){return-1!==[fh,gh,Ch].indexOf(e)?Rh:e})));var n="keep-all"===t.wordBreak?o.map((function(t,s){return t&&e[s]>=19968&&e[s]<=40959})):void 0;return[i,r,n]},Vh=function(){function e(e,t,s,i){this.codePoints=e,this.required="!"===t,this.start=s,this.end=i}return e.prototype.slice=function(){return Kl.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),Qh=function(e){return e>=48&&e<=57},jh=function(e){return Qh(e)||e>=65&&e<=70||e>=97&&e<=102},Wh=function(e){return 10===e||9===e||32===e},zh=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},Kh=function(e){return zh(e)||Qh(e)||45===e},Yh=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},Xh=function(e,t){return 92===e&&10!==t},Zh=function(e,t,s){return 45===e?zh(t)||Xh(t,s):!!zh(e)||!(92!==e||!Xh(e,t))},qh=function(e,t,s){return 43===e||45===e?!!Qh(t)||46===t&&Qh(s):Qh(46===e?t:e)},Jh=function(e){var t=0,s=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(s=-1),t++);for(var i=[];Qh(e[t]);)i.push(e[t++]);var r=i.length?parseInt(Kl.apply(void 0,i),10):0;46===e[t]&&t++;for(var o=[];Qh(e[t]);)o.push(e[t++]);var n=o.length,a=n?parseInt(Kl.apply(void 0,o),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(l=-1),t++);for(var h=[];Qh(e[t]);)h.push(e[t++]);var c=h.length?parseInt(Kl.apply(void 0,h),10):0;return s*(r+a*Math.pow(10,-n))*Math.pow(10,l*c)},$h={type:2},ec={type:3},tc={type:4},sc={type:13},ic={type:8},rc={type:21},oc={type:9},nc={type:10},ac={type:11},lc={type:12},hc={type:14},cc={type:23},uc={type:1},Ac={type:25},pc={type:24},dc={type:26},fc={type:27},mc={type:28},Ec={type:29},yc={type:31},gc={type:32},vc=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(zl(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==gc;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),s=this.peekCodePoint(1),i=this.peekCodePoint(2);if(Kh(t)||Xh(s,i)){var r=Zh(t,s,i)?2:1;return{type:5,value:this.consumeName(),flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),sc;break;case 39:return this.consumeStringToken(39);case 40:return $h;case 41:return ec;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),hc;break;case 43:if(qh(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return tc;case 45:var o=e,n=this.peekCodePoint(0),a=this.peekCodePoint(1);if(qh(o,n,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(Zh(o,n,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===n&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),pc;break;case 46:if(qh(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(-1===l)return this.consumeToken()}break;case 58:return dc;case 59:return fc;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),Ac;break;case 64:var h=this.peekCodePoint(0),c=this.peekCodePoint(1),u=this.peekCodePoint(2);if(Zh(h,c,u))return{type:7,value:this.consumeName()};break;case 91:return mc;case 92:if(Xh(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return Ec;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ic;break;case 123:return ac;case 125:return lc;case 117:case 85:var A=this.peekCodePoint(0),p=this.peekCodePoint(1);return 43!==A||!jh(p)&&63!==p||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),oc;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),rc;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),nc;break;case-1:return gc}return Wh(e)?(this.consumeWhiteSpace(),yc):Qh(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):zh(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Kl(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();jh(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var s=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),s=!0;if(s)return{type:30,start:parseInt(Kl.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Kl.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(Kl.apply(void 0,e),16);if(45===this.peekCodePoint(0)&&jh(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var r=[];jh(t)&&r.length<6;)r.push(t),t=this.consumeCodePoint();return{type:30,start:i,end:parseInt(Kl.apply(void 0,r),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var s=this.consumeStringToken(this.consumeCodePoint());return 0===s.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:s.value}):(this.consumeBadUrlRemnants(),cc)}for(;;){var i=this.consumeCodePoint();if(-1===i||41===i)return{type:22,value:Kl.apply(void 0,e)};if(Wh(i))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Kl.apply(void 0,e)}):(this.consumeBadUrlRemnants(),cc);if(34===i||39===i||40===i||Yh(i))return this.consumeBadUrlRemnants(),cc;if(92===i){if(!Xh(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),cc;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;Wh(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;Xh(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var s=Math.min(5e4,e);t+=Kl.apply(void 0,this._value.splice(0,s)),e-=s}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",s=0;;){var i=this._value[s];if(-1===i||void 0===i||i===e)return{type:0,value:t+=this.consumeStringSlice(s)};if(10===i)return this._value.splice(0,s),uc;if(92===i){var r=this._value[s+1];-1!==r&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(s),s=-1,this._value.shift()):Xh(i,r)&&(t+=this.consumeStringSlice(s),t+=Kl(this.consumeEscapedCodePoint()),s=-1))}s++}},e.prototype.consumeNumber=function(){var e=[],t=4,s=this.peekCodePoint(0);for(43!==s&&45!==s||e.push(this.consumeCodePoint());Qh(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===s&&Qh(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Qh(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===s||101===s)&&((43===i||45===i)&&Qh(r)||Qh(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Qh(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Jh(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],s=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);return Zh(i,r,o)?{type:15,number:t,flags:s,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:t,flags:s}):{type:17,number:t,flags:s}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(jh(e)){for(var t=Kl(e);jh(this.peekCodePoint(0))&&t.length<6;)t+=Kl(this.consumeCodePoint());Wh(this.peekCodePoint(0))&&this.consumeCodePoint();var s=parseInt(t,16);return 0===s||function(e){return e>=55296&&e<=57343}(s)||s>1114111?65533:s}return-1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(Kh(t))e+=Kl(t);else{if(!Xh(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Kl(this.consumeEscapedCodePoint())}}},e}(),Ic=function(){function e(e){this._tokens=e}return e.create=function(t){var s=new vc;return s.write(t),new e(s.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},s=this.consumeToken();;){if(32===s.type||Oc(s,e))return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue()),s=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var s=this.consumeToken();if(32===s.type||3===s.type)return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?gc:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Tc=function(e){return 15===e.type},_c=function(e){return 17===e.type},Rc=function(e){return 20===e.type},Pc=function(e){return 0===e.type},Dc=function(e,t){return Rc(e)&&e.value===t},Nc=function(e){return 31!==e.type},Cc=function(e){return 31!==e.type&&4!==e.type},bc=function(e){var t=[],s=[];return e.forEach((function(e){if(4===e.type){if(0===s.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(s),void(s=[])}31!==e.type&&s.push(e)})),s.length&&t.push(s),t},Oc=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},Sc=function(e){return 17===e.type||15===e.type},xc=function(e){return 16===e.type||Sc(e)},wc=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},Bc={type:17,number:0,flags:4},Fc={type:16,number:50,flags:4},Mc={type:16,number:100,flags:4},Lc=function(e,t,s){var i=e[0],r=e[1];return[Uc(i,t),Uc(void 0!==r?r:i,s)]},Uc=function(e,t){if(16===e.type)return e.number/100*t;if(Tc(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},Hc=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},Gc=function(e){return 15===e.type&&("deg"===e.unit||"grad"===e.unit||"rad"===e.unit||"turn"===e.unit)},kc=function(e){switch(e.filter(Rc).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Bc,Bc];case"to top":case"bottom":return Vc(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Bc,Mc];case"to right":case"left":return Vc(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Mc,Mc];case"to bottom":case"top":return Vc(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Mc,Bc];case"to left":case"right":return Vc(270)}return 0},Vc=function(e){return Math.PI*e/180},Qc=function(e,t){if(18===t.type){var s=qc[t.name];if(void 0===s)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return s(e,t.values)}if(5===t.type){if(3===t.value.length){var i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return zc(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);var n=t.value.substring(3,4);return zc(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(n+n,16)/255)}if(6===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return zc(parseInt(i,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),n=t.value.substring(6,8);return zc(parseInt(i,16),parseInt(r,16),parseInt(o,16),parseInt(n,16)/255)}}if(20===t.type){var a=$c[t.value.toUpperCase()];if(void 0!==a)return a}return $c.TRANSPARENT},jc=function(e){return 0==(255&e)},Wc=function(e){var t=255&e,s=255&e>>8,i=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+i+","+s+","+t/255+")":"rgb("+r+","+i+","+s+")"},zc=function(e,t,s,i){return(e<<24|t<<16|s<<8|Math.round(255*i)<<0)>>>0},Kc=function(e,t){if(17===e.type)return e.number;if(16===e.type){var s=3===t?1:255;return 3===t?e.number/100*s:Math.round(e.number/100*s)}return 0},Yc=function(e,t){var s=t.filter(Cc);if(3===s.length){var i=s.map(Kc),r=i[0],o=i[1],n=i[2];return zc(r,o,n,1)}if(4===s.length){var a=s.map(Kc),l=(r=a[0],o=a[1],n=a[2],a[3]);return zc(r,o,n,l)}return 0};function Xc(e,t,s){return s<0&&(s+=1),s>=1&&(s-=1),s<1/6?(t-e)*s*6+e:s<.5?t:s<2/3?6*(t-e)*(2/3-s)+e:e}var Zc=function(e,t){var s=t.filter(Cc),i=s[0],r=s[1],o=s[2],n=s[3],a=(17===i.type?Vc(i.number):Hc(e,i))/(2*Math.PI),l=xc(r)?r.number/100:0,h=xc(o)?o.number/100:0,c=void 0!==n&&xc(n)?Uc(n,1):1;if(0===l)return zc(255*h,255*h,255*h,1);var u=h<=.5?h*(l+1):h+l-h*l,A=2*h-u,p=Xc(A,u,a+1/3),d=Xc(A,u,a),f=Xc(A,u,a-1/3);return zc(255*p,255*d,255*f,c)},qc={hsl:Zc,hsla:Zc,rgb:Yc,rgba:Yc},Jc=function(e,t){return Qc(e,Ic.create(t).parseComponentValue())},$c={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},eu={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Rc(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},tu={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},su=function(e,t){var s=Qc(e,t[0]),i=t[1];return i&&xc(i)?{color:s,stop:i}:{color:s,stop:null}},iu=function(e,t){var s=e[0],i=e[e.length-1];null===s.stop&&(s.stop=Bc),null===i.stop&&(i.stop=Mc);for(var r=[],o=0,n=0;no?r.push(l):r.push(o),o=l}else r.push(null)}var h=null;for(n=0;ne.optimumDistance)?{optimumCorner:t,optimumDistance:a}:e}),{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},au=function(e,t){var s=Vc(180),i=[];return bc(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(s=kc(t));if(Gc(o))return void(s=(Hc(e,o)+Vc(270))%Vc(360))}var n=su(e,t);i.push(n)})),{angle:s,stops:i,type:1}},lu=function(e,t){var s=0,i=3,r=[],o=[];return bc(t).forEach((function(t,n){var a=!0;if(0===n?a=t.reduce((function(e,t){if(Rc(t))switch(t.value){case"center":return o.push(Fc),!1;case"top":case"left":return o.push(Bc),!1;case"right":case"bottom":return o.push(Mc),!1}else if(xc(t)||Sc(t))return o.push(t),!1;return e}),a):1===n&&(a=t.reduce((function(e,t){if(Rc(t))switch(t.value){case"circle":return s=0,!1;case"ellipse":return s=1,!1;case"contain":case"closest-side":return i=0,!1;case"farthest-side":return i=1,!1;case"closest-corner":return i=2,!1;case"cover":case"farthest-corner":return i=3,!1}else if(Sc(t)||xc(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)),a){var l=su(e,t);r.push(l)}})),{size:i,shape:s,stops:r,position:o,type:2}},hu=function(e,t){if(22===t.type){var s={url:t.value,type:0};return e.cache.addImage(t.value),s}if(18===t.type){var i=uu[t.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return i(e,t.values)}throw new Error("Unsupported image type "+t.type)};var cu,uu={"linear-gradient":function(e,t){var s=Vc(180),i=[];return bc(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value)return void(s=kc(t));if(Gc(o))return void(s=Hc(e,o))}var n=su(e,t);i.push(n)})),{angle:s,stops:i,type:1}},"-moz-linear-gradient":au,"-ms-linear-gradient":au,"-o-linear-gradient":au,"-webkit-linear-gradient":au,"radial-gradient":function(e,t){var s=0,i=3,r=[],o=[];return bc(t).forEach((function(t,n){var a=!0;if(0===n){var l=!1;a=t.reduce((function(e,t){if(l)if(Rc(t))switch(t.value){case"center":return o.push(Fc),e;case"top":case"left":return o.push(Bc),e;case"right":case"bottom":return o.push(Mc),e}else(xc(t)||Sc(t))&&o.push(t);else if(Rc(t))switch(t.value){case"circle":return s=0,!1;case"ellipse":return s=1,!1;case"at":return l=!0,!1;case"closest-side":return i=0,!1;case"cover":case"farthest-side":return i=1,!1;case"contain":case"closest-corner":return i=2,!1;case"farthest-corner":return i=3,!1}else if(Sc(t)||xc(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)}if(a){var h=su(e,t);r.push(h)}})),{size:i,shape:s,stops:r,position:o,type:2}},"-moz-radial-gradient":lu,"-ms-radial-gradient":lu,"-o-radial-gradient":lu,"-webkit-radial-gradient":lu,"-webkit-gradient":function(e,t){var s=Vc(180),i=[],r=1;return bc(t).forEach((function(t,s){var o=t[0];if(0===s){if(Rc(o)&&"linear"===o.value)return void(r=1);if(Rc(o)&&"radial"===o.value)return void(r=2)}if(18===o.type)if("from"===o.name){var n=Qc(e,o.values[0]);i.push({stop:Bc,color:n})}else if("to"===o.name){n=Qc(e,o.values[0]);i.push({stop:Mc,color:n})}else if("color-stop"===o.name){var a=o.values.filter(Cc);if(2===a.length){n=Qc(e,a[1]);var l=a[0];_c(l)&&i.push({stop:{type:16,number:100*l.number,flags:l.flags},color:n})}}})),1===r?{angle:(s+Vc(180))%Vc(360),stops:i,type:r}:{size:3,shape:0,stops:i,position:[],type:r}}},Au={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var s=t[0];return 20===s.type&&"none"===s.value?[]:t.filter((function(e){return Cc(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!uu[e.name])}(e)})).map((function(t){return hu(e,t)}))}},pu={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Rc(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},du={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return bc(t).map((function(e){return e.filter(xc)})).map(wc)}},fu={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return bc(t).map((function(e){return e.filter(Rc).map((function(e){return e.value})).join(" ")})).map(mu)}},mu=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(cu||(cu={}));var Eu,yu={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return bc(t).map((function(e){return e.filter(gu)}))}},gu=function(e){return Rc(e)||xc(e)},vu=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Iu=vu("top"),Tu=vu("right"),_u=vu("bottom"),Ru=vu("left"),Pu=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return wc(t.filter(xc))}}},Du=Pu("top-left"),Nu=Pu("top-right"),Cu=Pu("bottom-right"),bu=Pu("bottom-left"),Ou=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Su=Ou("top"),xu=Ou("right"),wu=Ou("bottom"),Bu=Ou("left"),Fu=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Tc(t)?t.number:0}}},Mu=Fu("top"),Lu=Fu("right"),Uu=Fu("bottom"),Hu=Fu("left"),Gu={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},ku={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},Vu={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Rc).reduce((function(e,t){return e|Qu(t.value)}),0)}},Qu=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},ju={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},Wu={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(Eu||(Eu={}));var zu,Ku={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?Eu.STRICT:Eu.NORMAL}},Yu={name:"line-height",initialValue:"normal",prefix:!1,type:4},Xu=function(e,t){return Rc(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:xc(e)?Uc(e,t):t},Zu={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:hu(e,t)}},qu={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},Ju={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},$u=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},eA=$u("top"),tA=$u("right"),sA=$u("bottom"),iA=$u("left"),rA={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Rc).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},oA={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},nA=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},aA=nA("top"),lA=nA("right"),hA=nA("bottom"),cA=nA("left"),uA={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},AA={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},pA={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Dc(t[0],"none")?[]:bc(t).map((function(t){for(var s={color:$c.TRANSPARENT,offsetX:Bc,offsetY:Bc,blur:Bc},i=0,r=0;r1?1:0],this.overflowWrap=zA(e,oA,t.overflowWrap),this.paddingTop=zA(e,aA,t.paddingTop),this.paddingRight=zA(e,lA,t.paddingRight),this.paddingBottom=zA(e,hA,t.paddingBottom),this.paddingLeft=zA(e,cA,t.paddingLeft),this.paintOrder=zA(e,GA,t.paintOrder),this.position=zA(e,AA,t.position),this.textAlign=zA(e,uA,t.textAlign),this.textDecorationColor=zA(e,PA,null!==(s=t.textDecorationColor)&&void 0!==s?s:t.color),this.textDecorationLine=zA(e,DA,null!==(i=t.textDecorationLine)&&void 0!==i?i:t.textDecoration),this.textShadow=zA(e,pA,t.textShadow),this.textTransform=zA(e,dA,t.textTransform),this.transform=zA(e,fA,t.transform),this.transformOrigin=zA(e,gA,t.transformOrigin),this.visibility=zA(e,vA,t.visibility),this.webkitTextStrokeColor=zA(e,kA,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=zA(e,VA,t.webkitTextStrokeWidth),this.wordBreak=zA(e,IA,t.wordBreak),this.zIndex=zA(e,TA,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return jc(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return xA(this.display,4)||xA(this.display,33554432)||xA(this.display,268435456)||xA(this.display,536870912)||xA(this.display,67108864)||xA(this.display,134217728)},e}(),jA=function(e,t){this.content=zA(e,wA,t.content),this.quotes=zA(e,LA,t.quotes)},WA=function(e,t){this.counterIncrement=zA(e,BA,t.counterIncrement),this.counterReset=zA(e,FA,t.counterReset)},zA=function(e,t,s){var i=new vc,r=null!=s?s.toString():t.initialValue;i.write(r);var o=new Ic(i.read());switch(t.type){case 2:var n=o.parseComponentValue();return t.parse(e,Rc(n)?n.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return Hc(e,o.parseComponentValue());case"color":return Qc(e,o.parseComponentValue());case"image":return hu(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return Sc(a)?a:Bc;case"length-percentage":var l=o.parseComponentValue();return xc(l)?l:Bc;case"time":return _A(e,o.parseComponentValue())}}},KA=function(e,t){var s=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===s||t===s},YA=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,KA(t,3),this.styles=new QA(e,window.getComputedStyle(t,null)),Yp(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=Wl(this.context,t),KA(t,4)&&(this.flags|=16)},XA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ZA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),qA=0;qA=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),ep="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),sp=0;sp>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},hp=function(e,t){var s,i,r,o=function(e){var t,s,i,r,o,n=.75*e.length,a=e.length,l=0;"="===e[e.length-1]&&(n--,"="===e[e.length-2]&&n--);var h="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(n):new Array(n),c=Array.isArray(h)?h:new Uint8Array(h);for(t=0;t>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i=55296&&r<=56319&&s=s)return{done:!0,value:null};for(var e="×";in.x||r.y>n.y;return n=r,0===t||a}));return e.body.removeChild(t),a}(document);return Object.defineProperty(mp,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,s=e.createElement("canvas"),i=s.getContext("2d");if(!i)return!1;t.src="data:image/svg+xml,";try{i.drawImage(t,0,0),s.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(mp,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),s=100;t.width=s,t.height=s;var i=t.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,s,s);var r=new Image,o=t.toDataURL();r.src=o;var n=dp(s,s,0,0,r);return i.fillStyle="red",i.fillRect(0,0,s,s),fp(n).then((function(t){i.drawImage(t,0,0);var r=i.getImageData(0,0,s,s).data;i.fillStyle="red",i.fillRect(0,0,s,s);var n=e.createElement("div");return n.style.backgroundImage="url("+o+")",n.style.height="100px",pp(r)?fp(dp(s,s,0,0,n)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),pp(i.getImageData(0,0,s,s).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(mp,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(mp,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(mp,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(mp,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(mp,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ep=function(e,t){this.text=e,this.bounds=t},yp=function(e,t){var s=t.ownerDocument;if(s){var i=s.createElement("html2canvaswrapper");i.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(i,t);var o=Wl(e,i);return i.firstChild&&r.replaceChild(i.firstChild,i),o}}return jl.EMPTY},gp=function(e,t,s){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var r=i.createRange();return r.setStart(e,t),r.setEnd(e,t+s),r},vp=function(e){if(mp.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,s=Ap(e),i=[];!(t=s.next()).done;)t.value&&i.push(t.value.slice());return i}(e)},Ip=function(e,t){return 0!==t.letterSpacing?vp(e):function(e,t){if(mp.SUPPORT_NATIVE_TEXT_SEGMENTATION){var s=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(s.segment(e)).map((function(e){return e.segment}))}return _p(e,t)}(e,t)},Tp=[32,160,4961,65792,65793,4153,4241],_p=function(e,t){for(var s,i=function(e,t){var s=zl(e),i=kh(s,t),r=i[0],o=i[1],n=i[2],a=s.length,l=0,h=0;return{next:function(){if(h>=a)return{done:!0,value:null};for(var e="×";h0)if(mp.SUPPORT_RANGE_BOUNDS){var r=gp(i,n,t.length).getClientRects();if(r.length>1){var a=vp(t),l=0;a.forEach((function(t){o.push(new Ep(t,jl.fromDOMRectList(e,gp(i,l+n,t.length).getClientRects()))),l+=t.length}))}else o.push(new Ep(t,jl.fromDOMRectList(e,r)))}else{var h=i.splitText(t.length);o.push(new Ep(t,yp(e,i))),i=h}else mp.SUPPORT_RANGE_BOUNDS||(i=i.splitText(t.length));n+=t.length})),o}(e,this.text,s,t)},Pp=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Dp,Np);case 2:return e.toUpperCase();default:return e}},Dp=/(^|\s|:|-|\(|\))([a-z])/g,Np=function(e,t,s){return e.length>0?t+s.toUpperCase():e},Cp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.src=s.currentSrc||s.src,i.intrinsicWidth=s.naturalWidth,i.intrinsicHeight=s.naturalHeight,i.context.cache.addImage(i.src),i}return Hl(t,e),t}(YA),bp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.canvas=s,i.intrinsicWidth=s.width,i.intrinsicHeight=s.height,i}return Hl(t,e),t}(YA),Op=function(e){function t(t,s){var i=e.call(this,t,s)||this,r=new XMLSerializer,o=Wl(t,s);return s.setAttribute("width",o.width+"px"),s.setAttribute("height",o.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(s)),i.intrinsicWidth=s.width.baseVal.value,i.intrinsicHeight=s.height.baseVal.value,i.context.cache.addImage(i.svg),i}return Hl(t,e),t}(YA),Sp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.value=s.value,i}return Hl(t,e),t}(YA),xp=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.start=s.start,i.reversed="boolean"==typeof s.reversed&&!0===s.reversed,i}return Hl(t,e),t}(YA),wp=[{type:15,flags:0,unit:"px",number:3}],Bp=[{type:16,flags:0,number:50}],Fp="password",Mp=function(e){function t(t,s){var i,r,o,n=e.call(this,t,s)||this;switch(n.type=s.type.toLowerCase(),n.checked=s.checked,n.value=0===(r=(i=s).type===Fp?new Array(i.value.length+1).join("•"):i.value).length?i.placeholder||"":r,"checkbox"!==n.type&&"radio"!==n.type||(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=(o=n.bounds).width>o.height?new jl(o.left+(o.width-o.height)/2,o.top,o.height,o.height):o.width0)s.textNodes.push(new Rp(e,r,s.styles));else if(Kp(r))if(ld(r)&&r.assignedNodes)r.assignedNodes().forEach((function(t){return kp(e,t,s,i)}));else{var n=Vp(e,r);n.styles.isVisible()&&(jp(r,n,i)?n.flags|=4:Wp(n.styles)&&(n.flags|=2),-1!==Gp.indexOf(r.tagName)&&(n.flags|=8),s.elements.push(n),r.slot,r.shadowRoot?kp(e,r.shadowRoot,n,i):nd(r)||$p(r)||ad(r)||kp(e,r,n,i))}},Vp=function(e,t){return id(t)?new Cp(e,t):td(t)?new bp(e,t):$p(t)?new Op(e,t):Zp(t)?new Sp(e,t):qp(t)?new xp(e,t):Jp(t)?new Mp(e,t):ad(t)?new Lp(e,t):nd(t)?new Up(e,t):rd(t)?new Hp(e,t):new YA(e,t)},Qp=function(e,t){var s=Vp(e,t);return s.flags|=4,kp(e,t,s,s),s},jp=function(e,t,s){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ed(e)&&s.styles.isTransparent()},Wp=function(e){return e.isPositioned()||e.isFloating()},zp=function(e){return e.nodeType===Node.TEXT_NODE},Kp=function(e){return e.nodeType===Node.ELEMENT_NODE},Yp=function(e){return Kp(e)&&void 0!==e.style&&!Xp(e)},Xp=function(e){return"object"==typeof e.className},Zp=function(e){return"LI"===e.tagName},qp=function(e){return"OL"===e.tagName},Jp=function(e){return"INPUT"===e.tagName},$p=function(e){return"svg"===e.tagName},ed=function(e){return"BODY"===e.tagName},td=function(e){return"CANVAS"===e.tagName},sd=function(e){return"VIDEO"===e.tagName},id=function(e){return"IMG"===e.tagName},rd=function(e){return"IFRAME"===e.tagName},od=function(e){return"STYLE"===e.tagName},nd=function(e){return"TEXTAREA"===e.tagName},ad=function(e){return"SELECT"===e.tagName},ld=function(e){return"SLOT"===e.tagName},hd=function(e){return e.tagName.indexOf("-")>0},cd=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,s=e.counterIncrement,i=e.counterReset,r=!0;null!==s&&s.forEach((function(e){var s=t.counters[e.counter];s&&0!==e.increment&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=e.increment)}));var o=[];return r&&i.forEach((function(e){var s=t.counters[e.counter];o.push(e.counter),s||(s=t.counters[e.counter]=[]),s.push(e.reset)})),o},e}(),ud={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ad={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},pd={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},dd={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},fd=function(e,t,s,i,r,o){return es?vd(e,r,o.length>0):i.integers.reduce((function(t,s,r){for(;e>=s;)e-=s,t+=i.values[r];return t}),"")+o},md=function(e,t,s,i){var r="";do{s||e--,r=i(e)+r,e/=t}while(e*t>=t);return r},Ed=function(e,t,s,i,r){var o=s-t+1;return(e<0?"-":"")+(md(Math.abs(e),o,i,(function(e){return Kl(Math.floor(e%o)+t)}))+r)},yd=function(e,t,s){void 0===s&&(s=". ");var i=t.length;return md(Math.abs(e),i,!1,(function(e){return t[Math.floor(e%i)]}))+s},gd=function(e,t,s,i,r,o){if(e<-9999||e>9999)return vd(e,4,r.length>0);var n=Math.abs(e),a=r;if(0===n)return t[0]+a;for(var l=0;n>0&&l<=4;l++){var h=n%10;0===h&&xA(o,1)&&""!==a?a=t[h]+a:h>1||1===h&&0===l||1===h&&1===l&&xA(o,2)||1===h&&1===l&&xA(o,4)&&e>100||1===h&&l>1&&xA(o,8)?a=t[h]+(l>0?s[l-1]:"")+a:1===h&&l>0&&(a=s[l-1]+a),n=Math.floor(n/10)}return(e<0?i:"")+a},vd=function(e,t,s){var i=s?". ":"",r=s?"、":"",o=s?", ":"",n=s?" ":"";switch(t){case 0:return"•"+n;case 1:return"◦"+n;case 2:return"◾"+n;case 5:var a=Ed(e,48,57,!0,i);return a.length<4?"0"+a:a;case 4:return yd(e,"〇一二三四五六七八九",r);case 6:return fd(e,1,3999,ud,3,i).toLowerCase();case 7:return fd(e,1,3999,ud,3,i);case 8:return Ed(e,945,969,!1,i);case 9:return Ed(e,97,122,!1,i);case 10:return Ed(e,65,90,!1,i);case 11:return Ed(e,1632,1641,!0,i);case 12:case 49:return fd(e,1,9999,Ad,3,i);case 35:return fd(e,1,9999,Ad,3,i).toLowerCase();case 13:return Ed(e,2534,2543,!0,i);case 14:case 30:return Ed(e,6112,6121,!0,i);case 15:return yd(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return yd(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return gd(e,"零一二三四五六七八九","十百千萬","負",r,14);case 47:return gd(e,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",r,15);case 42:return gd(e,"零一二三四五六七八九","十百千萬","负",r,14);case 41:return gd(e,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",r,15);case 26:return gd(e,"〇一二三四五六七八九","十百千万","マイナス",r,0);case 25:return gd(e,"零壱弐参四伍六七八九","拾百千万","マイナス",r,7);case 31:return gd(e,"영일이삼사오육칠팔구","십백천만","마이너스",o,7);case 33:return gd(e,"零一二三四五六七八九","十百千萬","마이너스",o,0);case 32:return gd(e,"零壹貳參四五六七八九","拾百千","마이너스",o,7);case 18:return Ed(e,2406,2415,!0,i);case 20:return fd(e,1,19999,dd,3,i);case 21:return Ed(e,2790,2799,!0,i);case 22:return Ed(e,2662,2671,!0,i);case 22:return fd(e,1,10999,pd,3,i);case 23:return yd(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return yd(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return Ed(e,3302,3311,!0,i);case 28:return yd(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return yd(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return Ed(e,3792,3801,!0,i);case 37:return Ed(e,6160,6169,!0,i);case 38:return Ed(e,4160,4169,!0,i);case 39:return Ed(e,2918,2927,!0,i);case 40:return Ed(e,1776,1785,!0,i);case 43:return Ed(e,3046,3055,!0,i);case 44:return Ed(e,3174,3183,!0,i);case 45:return Ed(e,3664,3673,!0,i);case 46:return Ed(e,3872,3881,!0,i);default:return Ed(e,48,57,!0,i)}},Id=function(){function e(e,t,s){if(this.context=e,this.options=s,this.scrolledElements=[],this.referenceElement=t,this.counters=new cd,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var s=this,i=_d(e,t);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,n=i.contentWindow,a=n.document,l=Dd(i).then((function(){return kl(s,void 0,void 0,(function(){var e,s;return Vl(this,(function(r){switch(r.label){case 0:return this.scrolledElements.forEach(Sd),n&&(n.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||n.scrollY===t.top&&n.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(n.scrollX-t.left,n.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(s=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:a.fonts&&a.fonts.ready?[4,a.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Pd(a)]:[3,4];case 3:r.sent(),r.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(a,s)})).then((function(){return i}))]:[2,i]}}))}))}));return a.open(),a.write(bd(document.doctype)+""),Od(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),l},e.prototype.createElementClone=function(e){if(KA(e,2),td(e))return this.createCanvasClone(e);if(sd(e))return this.createVideoClone(e);if(od(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return id(t)&&(id(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),hd(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return Cd(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var s=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=s,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var s=e.ownerDocument.createElement("img");try{return s.src=e.toDataURL(),s}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),o=i.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var n=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(n){var a=n.getContextAttributes();!1===(null==a?void 0:a.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}return i}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var s=t.getContext("2d");try{return s&&(s.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||s.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,t,s){Kp(t)&&("SCRIPT"===t.tagName||t.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&Kp(t)&&od(t)||e.appendChild(this.cloneNode(t,s))},e.prototype.cloneChildNodes=function(e,t,s){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(Kp(r)&&ld(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach((function(e){return i.appendChildNode(t,e,s)}))}else this.appendChildNode(t,r,s)},e.prototype.cloneNode=function(e,t){if(zp(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var s=e.ownerDocument.defaultView;if(s&&Kp(e)&&(Yp(e)||Xp(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=s.getComputedStyle(e),o=s.getComputedStyle(e,":before"),n=s.getComputedStyle(e,":after");this.referenceElement===e&&Yp(i)&&(this.clonedReferenceElement=i),ed(i)&&Bd(i);var a=this.counters.parse(new WA(this.context,r)),l=this.resolvePseudoContent(e,i,o,ip.BEFORE);hd(e)&&(t=!0),sd(e)||this.cloneChildNodes(e,i,t),l&&i.insertBefore(l,i.firstChild);var h=this.resolvePseudoContent(e,i,n,ip.AFTER);return h&&i.appendChild(h),this.counters.pop(a),(r&&(this.options.copyStyles||Xp(e))&&!rd(e)||t)&&Cd(r,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(nd(e)||ad(e))&&(nd(i)||ad(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,s,i){var r=this;if(s){var o=s.content,n=t.ownerDocument;if(n&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==s.display){this.counters.parse(new WA(this.context,s));var a=new jA(this.context,s),l=n.createElement("html2canvaspseudoelement");Cd(s,l),a.content.forEach((function(t){if(0===t.type)l.appendChild(n.createTextNode(t.value));else if(22===t.type){var s=n.createElement("img");s.src=t.value,s.style.opacity="1",l.appendChild(s)}else if(18===t.type){if("attr"===t.name){var i=t.values.filter(Rc);i.length&&l.appendChild(n.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(Cc),h=o[0],c=o[1];if(h&&Rc(h)){var u=r.counters.getCounterValue(h.value),A=c&&Rc(c)?Ju.parse(r.context,c.value):3;l.appendChild(n.createTextNode(vd(u,A,!1)))}}else if("counters"===t.name){var p=t.values.filter(Cc),d=(h=p[0],p[1]);c=p[2];if(h&&Rc(h)){var f=r.counters.getCounterValues(h.value),m=c&&Rc(c)?Ju.parse(r.context,c.value):3,E=d&&0===d.type?d.value:"",y=f.map((function(e){return vd(e,m,!1)})).join(E);l.appendChild(n.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(n.createTextNode(UA(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":l.appendChild(n.createTextNode(UA(a.quotes,--r.quoteDepth,!1)));break;default:l.appendChild(n.createTextNode(t.value))}})),l.className=xd+" "+wd;var h=i===ip.BEFORE?" "+xd:" "+wd;return Xp(t)?t.className.baseValue+=h:t.className+=h,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(ip||(ip={}));var Td,_d=function(e,t){var s=e.createElement("iframe");return s.className="html2canvas-container",s.style.visibility="hidden",s.style.position="fixed",s.style.left="-10000px",s.style.top="0px",s.style.border="0",s.width=t.width.toString(),s.height=t.height.toString(),s.scrolling="no",s.setAttribute("data-html2canvas-ignore","true"),e.body.appendChild(s),s},Rd=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},Pd=function(e){return Promise.all([].slice.call(e.images,0).map(Rd))},Dd=function(e){return new Promise((function(t,s){var i=e.contentWindow;if(!i)return s("No window assigned for iframe");var r=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var s=setInterval((function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(s),t(e))}),50)}}))},Nd=["all","d","content"],Cd=function(e,t){for(var s=e.length-1;s>=0;s--){var i=e.item(s);-1===Nd.indexOf(i)&&t.style.setProperty(i,e.getPropertyValue(i))}return t},bd=function(e){var t="";return e&&(t+=""),t},Od=function(e,t,s){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||s!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,s)},Sd=function(e){var t=e[0],s=e[1],i=e[2];t.scrollLeft=s,t.scrollTop=i},xd="___html2canvas___pseudoelement_before",wd="___html2canvas___pseudoelement_after",Bd=function(e){Fd(e,"."+xd+':before{\n content: "" !important;\n display: none !important;\n}\n .'+wd+':after{\n content: "" !important;\n display: none !important;\n}')},Fd=function(e,t){var s=e.ownerDocument;if(s){var i=s.createElement("style");i.textContent=t,e.appendChild(i)}},Md=function(){function e(){}return e.getOrigin=function(t){var s=e._link;return s?(s.href=t,s.href=s.href,s.protocol+s.hostname+s.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Ld=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:jd(e)||kd(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return kl(this,void 0,void 0,(function(){var t,s,i,r,o=this;return Vl(this,(function(n){switch(n.label){case 0:return t=Md.isSameOrigin(e),s=!Vd(e)&&!0===this._options.useCORS&&mp.SUPPORT_CORS_IMAGES&&!t,i=!Vd(e)&&!t&&!jd(e)&&"string"==typeof this._options.proxy&&mp.SUPPORT_CORS_XHR&&!s,t||!1!==this._options.allowTaint||Vd(e)||jd(e)||i||s?(r=e,i?[4,this.proxy(r)]:[3,2]):[2];case 1:r=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var i=new Image;i.onload=function(){return e(i)},i.onerror=t,(Qd(r)||s)&&(i.crossOrigin="anonymous"),i.src=r,!0===i.complete&&setTimeout((function(){return e(i)}),500),o._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,s=this._options.proxy;if(!s)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(r,o){var n=mp.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(200===a.status)if("text"===n)r(a.response);else{var e=new FileReader;e.addEventListener("load",(function(){return r(e.result)}),!1),e.addEventListener("error",(function(e){return o(e)}),!1),e.readAsDataURL(a.response)}else o("Failed to proxy resource "+i+" with status code "+a.status)},a.onerror=o;var l=s.indexOf("?")>-1?"&":"?";if(a.open("GET",""+s+l+"url="+encodeURIComponent(e)+"&responseType="+n),"text"!==n&&a instanceof XMLHttpRequest&&(a.responseType=n),t._options.imageTimeout){var h=t._options.imageTimeout;a.timeout=h,a.ontimeout=function(){return o("Timed out ("+h+"ms) proxying "+i)}}a.send()}))},e}(),Ud=/^data:image\/svg\+xml/i,Hd=/^data:image\/.*;base64,/i,Gd=/^data:image\/.*/i,kd=function(e){return mp.SUPPORT_SVG_DRAWING||!Wd(e)},Vd=function(e){return Gd.test(e)},Qd=function(e){return Hd.test(e)},jd=function(e){return"blob"===e.substr(0,4)},Wd=function(e){return"svg"===e.substr(-3).toLowerCase()||Ud.test(e)},zd=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,s){return new e(this.x+t,this.y+s)},e}(),Kd=function(e,t,s){return new zd(e.x+(t.x-e.x)*s,e.y+(t.y-e.y)*s)},Yd=function(){function e(e,t,s,i){this.type=1,this.start=e,this.startControl=t,this.endControl=s,this.end=i}return e.prototype.subdivide=function(t,s){var i=Kd(this.start,this.startControl,t),r=Kd(this.startControl,this.endControl,t),o=Kd(this.endControl,this.end,t),n=Kd(i,r,t),a=Kd(r,o,t),l=Kd(n,a,t);return s?new e(this.start,i,n,l):new e(l,a,o,this.end)},e.prototype.add=function(t,s){return new e(this.start.add(t,s),this.startControl.add(t,s),this.endControl.add(t,s),this.end.add(t,s))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),Xd=function(e){return 1===e.type},Zd=function(e){var t=e.styles,s=e.bounds,i=Lc(t.borderTopLeftRadius,s.width,s.height),r=i[0],o=i[1],n=Lc(t.borderTopRightRadius,s.width,s.height),a=n[0],l=n[1],h=Lc(t.borderBottomRightRadius,s.width,s.height),c=h[0],u=h[1],A=Lc(t.borderBottomLeftRadius,s.width,s.height),p=A[0],d=A[1],f=[];f.push((r+a)/s.width),f.push((p+c)/s.width),f.push((o+d)/s.height),f.push((l+u)/s.height);var m=Math.max.apply(Math,f);m>1&&(r/=m,o/=m,a/=m,l/=m,c/=m,u/=m,p/=m,d/=m);var E=s.width-a,y=s.height-u,g=s.width-c,v=s.height-d,I=t.borderTopWidth,T=t.borderRightWidth,_=t.borderBottomWidth,R=t.borderLeftWidth,P=Uc(t.paddingTop,e.bounds.width),D=Uc(t.paddingRight,e.bounds.width),N=Uc(t.paddingBottom,e.bounds.width),C=Uc(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?qd(s.left+R/3,s.top+I/3,r-R/3,o-I/3,Td.TOP_LEFT):new zd(s.left+R/3,s.top+I/3),this.topRightBorderDoubleOuterBox=r>0||o>0?qd(s.left+E,s.top+I/3,a-T/3,l-I/3,Td.TOP_RIGHT):new zd(s.left+s.width-T/3,s.top+I/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?qd(s.left+g,s.top+y,c-T/3,u-_/3,Td.BOTTOM_RIGHT):new zd(s.left+s.width-T/3,s.top+s.height-_/3),this.bottomLeftBorderDoubleOuterBox=p>0||d>0?qd(s.left+R/3,s.top+v,p-R/3,d-_/3,Td.BOTTOM_LEFT):new zd(s.left+R/3,s.top+s.height-_/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?qd(s.left+2*R/3,s.top+2*I/3,r-2*R/3,o-2*I/3,Td.TOP_LEFT):new zd(s.left+2*R/3,s.top+2*I/3),this.topRightBorderDoubleInnerBox=r>0||o>0?qd(s.left+E,s.top+2*I/3,a-2*T/3,l-2*I/3,Td.TOP_RIGHT):new zd(s.left+s.width-2*T/3,s.top+2*I/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?qd(s.left+g,s.top+y,c-2*T/3,u-2*_/3,Td.BOTTOM_RIGHT):new zd(s.left+s.width-2*T/3,s.top+s.height-2*_/3),this.bottomLeftBorderDoubleInnerBox=p>0||d>0?qd(s.left+2*R/3,s.top+v,p-2*R/3,d-2*_/3,Td.BOTTOM_LEFT):new zd(s.left+2*R/3,s.top+s.height-2*_/3),this.topLeftBorderStroke=r>0||o>0?qd(s.left+R/2,s.top+I/2,r-R/2,o-I/2,Td.TOP_LEFT):new zd(s.left+R/2,s.top+I/2),this.topRightBorderStroke=r>0||o>0?qd(s.left+E,s.top+I/2,a-T/2,l-I/2,Td.TOP_RIGHT):new zd(s.left+s.width-T/2,s.top+I/2),this.bottomRightBorderStroke=c>0||u>0?qd(s.left+g,s.top+y,c-T/2,u-_/2,Td.BOTTOM_RIGHT):new zd(s.left+s.width-T/2,s.top+s.height-_/2),this.bottomLeftBorderStroke=p>0||d>0?qd(s.left+R/2,s.top+v,p-R/2,d-_/2,Td.BOTTOM_LEFT):new zd(s.left+R/2,s.top+s.height-_/2),this.topLeftBorderBox=r>0||o>0?qd(s.left,s.top,r,o,Td.TOP_LEFT):new zd(s.left,s.top),this.topRightBorderBox=a>0||l>0?qd(s.left+E,s.top,a,l,Td.TOP_RIGHT):new zd(s.left+s.width,s.top),this.bottomRightBorderBox=c>0||u>0?qd(s.left+g,s.top+y,c,u,Td.BOTTOM_RIGHT):new zd(s.left+s.width,s.top+s.height),this.bottomLeftBorderBox=p>0||d>0?qd(s.left,s.top+v,p,d,Td.BOTTOM_LEFT):new zd(s.left,s.top+s.height),this.topLeftPaddingBox=r>0||o>0?qd(s.left+R,s.top+I,Math.max(0,r-R),Math.max(0,o-I),Td.TOP_LEFT):new zd(s.left+R,s.top+I),this.topRightPaddingBox=a>0||l>0?qd(s.left+Math.min(E,s.width-T),s.top+I,E>s.width+T?0:Math.max(0,a-T),Math.max(0,l-I),Td.TOP_RIGHT):new zd(s.left+s.width-T,s.top+I),this.bottomRightPaddingBox=c>0||u>0?qd(s.left+Math.min(g,s.width-R),s.top+Math.min(y,s.height-_),Math.max(0,c-T),Math.max(0,u-_),Td.BOTTOM_RIGHT):new zd(s.left+s.width-T,s.top+s.height-_),this.bottomLeftPaddingBox=p>0||d>0?qd(s.left+R,s.top+Math.min(v,s.height-_),Math.max(0,p-R),Math.max(0,d-_),Td.BOTTOM_LEFT):new zd(s.left+R,s.top+s.height-_),this.topLeftContentBox=r>0||o>0?qd(s.left+R+C,s.top+I+P,Math.max(0,r-(R+C)),Math.max(0,o-(I+P)),Td.TOP_LEFT):new zd(s.left+R+C,s.top+I+P),this.topRightContentBox=a>0||l>0?qd(s.left+Math.min(E,s.width+R+C),s.top+I+P,E>s.width+R+C?0:a-R+C,l-(I+P),Td.TOP_RIGHT):new zd(s.left+s.width-(T+D),s.top+I+P),this.bottomRightContentBox=c>0||u>0?qd(s.left+Math.min(g,s.width-(R+C)),s.top+Math.min(y,s.height+I+P),Math.max(0,c-(T+D)),u-(_+N),Td.BOTTOM_RIGHT):new zd(s.left+s.width-(T+D),s.top+s.height-(_+N)),this.bottomLeftContentBox=p>0||d>0?qd(s.left+R+C,s.top+v,Math.max(0,p-(R+C)),d-(_+N),Td.BOTTOM_LEFT):new zd(s.left+R+C,s.top+s.height-(_+N))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Td||(Td={}));var qd=function(e,t,s,i,r){var o=(Math.sqrt(2)-1)/3*4,n=s*o,a=i*o,l=e+s,h=t+i;switch(r){case Td.TOP_LEFT:return new Yd(new zd(e,h),new zd(e,h-a),new zd(l-n,t),new zd(l,t));case Td.TOP_RIGHT:return new Yd(new zd(e,t),new zd(e+n,t),new zd(l,h-a),new zd(l,h));case Td.BOTTOM_RIGHT:return new Yd(new zd(l,t),new zd(l,t+a),new zd(e+n,h),new zd(e,h));case Td.BOTTOM_LEFT:default:return new Yd(new zd(l,h),new zd(l-n,h),new zd(e,t+a),new zd(e,t))}},Jd=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},$d=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},ef=function(e,t,s){this.offsetX=e,this.offsetY=t,this.matrix=s,this.type=0,this.target=6},tf=function(e,t){this.path=e,this.target=t,this.type=1},sf=function(e){this.opacity=e,this.type=2,this.target=6},rf=function(e){return 1===e.type},of=function(e,t){return e.length===t.length&&e.some((function(e,s){return e===t[s]}))},nf=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},af=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Zd(this.container),this.container.styles.opacity<1&&this.effects.push(new sf(this.container.styles.opacity)),null!==this.container.styles.transform){var s=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new ef(s,i,r))}if(0!==this.container.styles.overflowX){var o=Jd(this.curves),n=$d(this.curves);of(o,n)?this.effects.push(new tf(o,6)):(this.effects.push(new tf(o,2)),this.effects.push(new tf(n,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),s=this.parent,i=this.effects.slice(0);s;){var r=s.effects.filter((function(e){return!rf(e)}));if(t||0!==s.container.styles.position||!s.parent){if(i.unshift.apply(i,r),t=-1===[2,3].indexOf(s.container.styles.position),0!==s.container.styles.overflowX){var o=Jd(s.curves),n=$d(s.curves);of(o,n)||i.unshift(new tf(n,6))}}else i.unshift.apply(i,r);s=s.parent}return i.filter((function(t){return xA(t.target,e)}))},e}(),lf=function(e,t,s,i){e.container.elements.forEach((function(r){var o=xA(r.flags,4),n=xA(r.flags,2),a=new af(r,e);xA(r.styles.display,2048)&&i.push(a);var l=xA(r.flags,8)?[]:i;if(o||n){var h=o||r.styles.isPositioned()?s:t,c=new nf(a);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var A=0;h.negativeZIndex.some((function(e,t){return u>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),h.negativeZIndex.splice(A,0,c)}else if(u>0){var p=0;h.positiveZIndex.some((function(e,t){return u>=e.element.container.styles.zIndex.order?(p=t+1,!1):p>0})),h.positiveZIndex.splice(p,0,c)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?h.nonPositionedFloats.push(c):h.nonPositionedInlineLevel.push(c);lf(a,c,o?c:s,l)}else r.styles.isInlineLevel()?t.inlineLevel.push(a):t.nonInlineLevel.push(a),lf(a,t,s,l);xA(r.flags,8)&&hf(r,l)}))},hf=function(e,t){for(var s=e instanceof xp?e.start:1,i=e instanceof xp&&e.reversed,r=0;r0&&e.intrinsicHeight>0){var i=df(e),r=$d(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return kl(this,void 0,void 0,(function(){var s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g;return Vl(this,(function(v){switch(v.label){case 0:this.applyEffects(e.getEffects(4)),s=e.container,i=e.curves,r=s.styles,o=0,n=s.textNodes,v.label=1;case 1:return o0&&_>0&&(E=i.ctx.createPattern(d,"repeat"),i.renderRepeat(g,E,P,D))):function(e){return 2===e.type}(s)&&(y=ff(e,t,[null,null,null]),g=y[0],v=y[1],I=y[2],T=y[3],_=y[4],R=0===s.position.length?[Fc]:s.position,P=Uc(R[0],T),D=Uc(R[R.length-1],_),N=function(e,t,s,i,r){var o=0,n=0;switch(e.size){case 0:0===e.shape?o=n=Math.min(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-i)),n=Math.min(Math.abs(s),Math.abs(s-r)));break;case 2:if(0===e.shape)o=n=Math.min(ou(t,s),ou(t,s-r),ou(t-i,s),ou(t-i,s-r));else if(1===e.shape){var a=Math.min(Math.abs(s),Math.abs(s-r))/Math.min(Math.abs(t),Math.abs(t-i)),l=nu(i,r,t,s,!0),h=l[0],c=l[1];n=a*(o=ou(h-t,(c-s)/a))}break;case 1:0===e.shape?o=n=Math.max(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-i)),n=Math.max(Math.abs(s),Math.abs(s-r)));break;case 3:if(0===e.shape)o=n=Math.max(ou(t,s),ou(t,s-r),ou(t-i,s),ou(t-i,s-r));else if(1===e.shape){a=Math.max(Math.abs(s),Math.abs(s-r))/Math.max(Math.abs(t),Math.abs(t-i));var u=nu(i,r,t,s,!1);h=u[0],c=u[1],n=a*(o=ou(h-t,(c-s)/a))}}return Array.isArray(e.size)&&(o=Uc(e.size[0],i),n=2===e.size.length?Uc(e.size[1],r):o),[o,n]}(s,P,D,T,_),C=N[0],b=N[1],C>0&&b>0&&(O=i.ctx.createRadialGradient(v+P,I+D,0,v+P,I+D,C),iu(s.stops,2*C).forEach((function(e){return O.addColorStop(e.stop,Wc(e.color))})),i.path(g),i.ctx.fillStyle=O,C!==b?(S=e.bounds.left+.5*e.bounds.width,x=e.bounds.top+.5*e.bounds.height,B=1/(w=b/C),i.ctx.save(),i.ctx.translate(S,x),i.ctx.transform(1,0,0,w,0,0),i.ctx.translate(-S,-x),i.ctx.fillRect(v,B*(I-x)+x,T,_*B),i.ctx.restore()):i.ctx.fill())),F.label=6;case 6:return t--,[2]}}))},i=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return r0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,o,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return n++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,s,i,r){return kl(this,void 0,void 0,(function(){var o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v;return Vl(this,(function(I){return this.ctx.save(),o=function(e,t){switch(t){case 0:return uf(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return uf(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return uf(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return uf(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(i,s),n=cf(i,s),2===r&&(this.path(n),this.ctx.clip()),Xd(n[0])?(a=n[0].start.x,l=n[0].start.y):(a=n[0].x,l=n[0].y),Xd(n[1])?(h=n[1].end.x,c=n[1].end.y):(h=n[1].x,c=n[1].y),u=0===s||2===s?Math.abs(a-h):Math.abs(l-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(n.slice(0,2)),A=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(A=t,p=t),d=!0,u<=2*A?d=!1:u<=2*A+p?(A*=f=u/(2*A+p),p*=f):(m=Math.floor((u+p)/(A+p)),E=(u-m*A)/(m-1),p=(y=(u-(m+1)*A)/m)<=0||Math.abs(p-E){s=1e3*this._delayBeforeRestoreSeconds,i||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,i=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",r),this._onCameraMatrix=e.scene.camera.on("matrix",r),this._onSceneTick=e.scene.on("tick",(t=>{i&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),i=!1))}));let o=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{o=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{o=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{o&&r()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}Boolean("object"!=typeof process||"[object process]"!==String(process)||process.browser);const Uf="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function Hf(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}Uf&&parseFloat(Uf[1]);const Gf="object"!=typeof process||"[object process]"!==String(process)||process.browser,kf="undefined"!=typeof window&&void 0!==window.orientation,Vf="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function Qf(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Vf&&parseFloat(Vf[1]);class jf{constructor(e,t){Qf(this,"name",void 0),Qf(this,"workerThread",void 0),Qf(this,"isRunning",!0),Qf(this,"result",void 0),Qf(this,"_resolve",(()=>{})),Qf(this,"_reject",(()=>{})),this.name=e,this.workerThread=t,this.result=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){Hf(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Hf(this.isRunning),this.isRunning=!1,this._reject(e)}}class Wf{}const zf=new Map;function Kf(e){Hf(e.source&&!e.url||!e.source&&e.url);let t=zf.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return Yf((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),zf.set(e.url,t)),e.source&&(t=Yf(e.source),zf.set(e.source,t))),Hf(t),t}function Yf(e){const t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function Xf(e,t=!0,s){const i=s||new Set;if(e){if(Zf(e))i.add(e);else if(Zf(e.buffer))i.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"==typeof e)for(const s in e)Xf(e[s],t,i)}else;return void 0===s?Array.from(i):[]}function Zf(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}const qf=()=>{};class Jf{static isSupported(){return"undefined"!=typeof Worker&&Gf||void 0!==typeof Wf}constructor(e){Qf(this,"name",void 0),Qf(this,"source",void 0),Qf(this,"url",void 0),Qf(this,"terminated",!1),Qf(this,"worker",void 0),Qf(this,"onMessage",void 0),Qf(this,"onError",void 0),Qf(this,"_loadableURL","");const{name:t,source:s,url:i}=e;Hf(s||i),this.name=t,this.source=s,this.url=i,this.onMessage=qf,this.onError=e=>console.log(e),this.worker=Gf?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=qf,this.onError=qf,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||Xf(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}_createBrowserWorker(){this._loadableURL=Kf({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=e=>{e.data?this.onMessage(e.data):this.onError(new Error("No data received"))},e.onerror=e=>{this.onError(this._getErrorFromErrorEvent(e)),this.terminated=!0},e.onmessageerror=e=>console.error(e),e}_createNodeWorker(){let e;if(this.url){const t=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Wf(t,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Wf(this.source,{eval:!0})}return e.on("message",(e=>{this.onMessage(e)})),e.on("error",(e=>{this.onError(e)})),e.on("exit",(e=>{})),e}}class $f{static isSupported(){return Jf.isSupported()}constructor(e){Qf(this,"name","unnamed"),Qf(this,"source",void 0),Qf(this,"url",void 0),Qf(this,"maxConcurrency",1),Qf(this,"maxMobileConcurrency",1),Qf(this,"onDebug",(()=>{})),Qf(this,"reuseWorkers",!0),Qf(this,"props",{}),Qf(this,"jobQueue",[]),Qf(this,"idleQueue",[]),Qf(this,"count",0),Qf(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach((e=>e.destroy())),this.isDestroyed=!0}setProps(e){this.props={...this.props,...e},void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}async startJob(e,t=((e,t,s)=>e.done(s)),s=((e,t)=>e.error(t))){const i=new Promise((i=>(this.jobQueue.push({name:e,onMessage:t,onError:s,onStart:i}),this)));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:e,backlog:this.jobQueue.length});const s=new jf(t.name,e);e.onMessage=e=>t.onMessage(s,e.type,e.payload),e.onError=e=>t.onError(s,e),t.onStart(s);try{await s.result}finally{this.returnWorkerToQueue(e)}}}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}};class tm{static isSupported(){return Jf.isSupported()}static getWorkerFarm(e={}){return tm._workerFarm=tm._workerFarm||new tm({}),tm._workerFarm.setProps(e),tm._workerFarm}constructor(e){Qf(this,"props",void 0),Qf(this,"workerPools",new Map),this.props={...em},this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy();this.workerPools=new Map}setProps(e){this.props={...this.props,...e};for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:s,url:i}=e;let r=this.workerPools.get(t);return r||(r=new $f({name:t,source:s,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}Qf(tm,"_workerFarm",void 0);const sm={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},im=sm.window||sm.self||sm.global,rm=sm.process||{},om="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",nm=!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}();class am{constructor(e,t,s="sessionStorage"){this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function lm(e,t,s,i=600){const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}const hm={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function cm(e){return"string"==typeof e?hm[e.toUpperCase()]||hm.WHITE:e}function um(e,t){if(!e)throw new Error(t||"Assertion failed")}function Am(){let e;if(nm&&im.performance)e=im.performance.now();else if(rm.hrtime){const t=rm.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}const pm={debug:nm&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},dm={enabled:!0,level:0};function fm(){}const mm={},Em={once:!0};function ym(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}class gm{constructor({id:e}={id:""}){this.id=e,this.VERSION=om,this._startTs=Am(),this._deltaTs=Am(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new am("__probe-".concat(this.id,"__"),dm),this.userData={},this.timeStamp("".concat(this.id," started")),function(e,t=["constructor"]){const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((Am()-this._startTs).toPrecision(10))}getDelta(){return Number((Am()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}assert(e,t){um(e,t)}warn(e){return this._getLogFunction(0,e,pm.warn,arguments,Em)}error(e){return this._getLogFunction(0,e,pm.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,pm.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,pm.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,pm.debug||pm.info,arguments,Em)}table(e,t,s){return t?this._getLogFunction(e,t,console.table||fm,s&&[s],{tag:ym(t)}):fm}image({logLevel:e,priority:t,image:s,message:i="",scale:r=1}){return this._shouldLog(e||t)?nm?function({image:e,message:t="",scale:s=1}){if("string"==typeof e){const i=new Image;return i.onload=()=>{const e=lm(i,t,s);console.log(...e)},i.src=e,fm}const i=e.nodeName||"";if("img"===i.toLowerCase())return console.log(...lm(e,t,s)),fm;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...lm(i,t,s)),i.src=e.toDataURL(),fm}return fm}({image:s,message:i,scale:r}):function({image:e,message:t="",scale:s=1}){let i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return()=>i(e,{fit:"box",width:"".concat(Math.round(80*s),"%")}).then((e=>console.log(e)));return fm}({image:s,message:i,scale:r}):fm}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||fm)}group(e,t,s={collapsed:!1}){s=Im({logLevel:e,message:t,opts:s});const{collapsed:i}=s;return s.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(e,t,s={}){return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||fm)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=vm(e)}_getLogFunction(e,t,s,i=[],r){if(this._shouldLog(e)){r=Im({logLevel:e,message:t,args:i,opts:r}),um(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=Am();const o=r.tag||r.message;if(r.once){if(mm[o])return fm;mm[o]=Am()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e,t=8){const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return nm||"string"!=typeof e||(t&&(t=cm(t),e="[".concat(t,"m").concat(e,"")),s&&(t=cm(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return fm}}function vm(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return um(Number.isFinite(t)&&t>=0),t}function Im(e){const{logLevel:t,message:s}=e;e.logLevel=vm(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(e.args=i,typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return um("string"===r||"object"===r),Object.assign(e,e.opts)}gm.VERSION=om,new gm({id:"loaders.gl"});function Tm(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}()}new class{constructor(){Qf(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}};const _m={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},Rm=_m.window||_m.self||_m.global,Pm=_m.process||{},Dm="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";Tm();class Nm{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Qf(this,"storage",void 0),Qf(this,"id",void 0),Qf(this,"config",{}),this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function Cm(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600;const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}let bm;function Om(e){return"string"==typeof e?bm[e.toUpperCase()]||bm.WHITE:e}function Sm(e,t){if(!e)throw new Error(t||"Assertion failed")}function xm(){let e;var t,s;if(Tm&&"performance"in Rm)e=null==Rm||null===(t=Rm.performance)||void 0===t||null===(s=t.now)||void 0===s?void 0:s.call(t);else if("hrtime"in Pm){var i;const t=null==Pm||null===(i=Pm.hrtime)||void 0===i?void 0:i.call(Pm);e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(bm||(bm={}));const wm={debug:Tm&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Bm={enabled:!0,level:0};function Fm(){}const Mm={},Lm={once:!0};class Um{constructor(){let{id:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""};Qf(this,"id",void 0),Qf(this,"VERSION",Dm),Qf(this,"_startTs",xm()),Qf(this,"_deltaTs",xm()),Qf(this,"_storage",void 0),Qf(this,"userData",{}),Qf(this,"LOG_THROTTLE_TIMEOUT",0),this.id=e,this._storage=new Nm("__probe-".concat(this.id,"__"),Bm),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"];const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((xm()-this._startTs).toPrecision(10))}getDelta(){return Number((xm()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){Sm(e,t)}warn(e){return this._getLogFunction(0,e,wm.warn,arguments,Lm)}error(e){return this._getLogFunction(0,e,wm.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,wm.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,wm.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){for(var s=arguments.length,i=new Array(s>2?s-2:0),r=2;r{const t=Cm(e,s,i);console.log(...t)},e.src=t,Fm}const r=t.nodeName||"";if("img"===r.toLowerCase())return console.log(...Cm(t,s,i)),Fm;if("canvas"===r.toLowerCase()){const e=new Image;return e.onload=()=>console.log(...Cm(e,s,i)),e.src=t.toDataURL(),Fm}return Fm}({image:i,message:r,scale:o}):function(e){let{image:t,message:s="",scale:i=1}=e,r=null;try{r=module.require("asciify-image")}catch(e){}if(r)return()=>r(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((e=>console.log(e)));return Fm}({image:i,message:r,scale:o}):Fm}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||Fm)}group(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1};const i=Gm({logLevel:e,message:t,opts:s}),{collapsed:r}=s;return i.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||Fm)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=Hm(e)}_getLogFunction(e,t,s,i,r){if(this._shouldLog(e)){r=Gm({logLevel:e,message:t,args:i,opts:r}),Sm(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=xm();const o=r.tag||r.message;if(r.once){if(Mm[o])return Fm;Mm[o]=xm()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return Tm||"string"!=typeof e||(t&&(t=Om(t),e="[".concat(t,"m").concat(e,"")),s&&(t=Om(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return Fm}}function Hm(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return Sm(Number.isFinite(t)&&t>=0),t}function Gm(e){const{logLevel:t,message:s}=e;e.logLevel=Hm(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return Sm("string"===r||"object"===r),Object.assign(e,{args:i},e.opts)}function km(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}var Vm,Qm,jm,Wm,zm,Km,Ym,Xm,Zm;let qm;Qf(Um,"VERSION",Dm),new Um({id:"loaders.gl"}),(Zm=Vm||(Vm={}))[Zm.NONE=0]="NONE",Zm[Zm.BASISLZ=1]="BASISLZ",Zm[Zm.ZSTD=2]="ZSTD",Zm[Zm.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Qm||(Qm={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(jm||(jm={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(Wm||(Wm={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(zm||(zm={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(Km||(Km={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(Ym||(Ym={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(Xm||(Xm={})),function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(qm||(qm={}));const Jm={DEFAULT:{}};function $m(e,t,s={}){const i="lightgrey",r=s.hoverColor||"rgba(0,0,0,0.4)",o=500,n=o+o/3,a=n/24,l=[{boundary:[6,6,6,6],color:s.frontColor||s.color||"#55FF55"},{boundary:[18,6,6,6],color:s.backColor||s.color||"#55FF55"},{boundary:[12,6,6,6],color:s.leftColor||s.color||"#FF5555"},{boundary:[0,6,6,6],color:s.rightColor||s.color||"#FF5555"},{boundary:[6,0,6,6],color:s.topColor||s.color||"#7777FF"},{boundary:[6,12,6,6],color:s.bottomColor||s.color||"#7777FF"}],h=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];s.frontColor||s.color,s.backColor||s.color,s.leftColor||s.color,s.rightColor||s.color,s.topColor||s.color,s.bottomColor||s.color;const c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}];for(let e=0,t=h.length;e=r[0]*a&&t<=(r[0]+r[2])*a&&s>=r[1]*a&&s<=(r[1]+r[3])*a)return i}}return-1},this.setAreaHighlighted=function(e,t){var s=u[e];if(!s)throw"Area not found: "+e;s.highlighted=!!t,f()},this.getAreaDir=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}const eE=A.vec3(),tE=A.vec3();A.mat4();class sE extends n{constructor(e,t={}){super("NavCube",e,t),e.navCube=this;try{this._navCubeScene=new zt(e,{canvasId:t.canvasId,canvasElement:t.canvasElement,transparent:!0}),this._navCubeCanvas=this._navCubeScene.canvas.canvas,this._navCubeScene.input.keyboardEnabled=!1}catch(e){return void this.error(e)}const s=this._navCubeScene;s.clearLights(),new Ye(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Ye(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Ye(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._navCubeCamera=s.camera,this._navCubeCamera.ortho.scale=7,this._navCubeCamera.ortho.near=.1,this._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,this._zUp=Boolean(e.camera.zUp);var i=this;this.setIsProjectNorth(t.isProjectNorth),this.setProjectNorthOffsetAngle(t.projectNorthOffsetAngle);const r=function(){const e=A.mat4();return function(t,s,r){return A.identityMat4(e),A.rotationMat4v(t*i._projectNorthOffsetAngle*A.DEGTORAD,[0,1,0],e),A.transformVec3(e,s,r)}}();this._synchCamera=function(){var t=A.rotationMat4c(-90*A.DEGTORAD,1,0,0),s=A.vec3(),o=A.vec3(),n=A.vec3();return function(){var a=e.camera.eye,l=e.camera.look,h=e.camera.up;s=A.mulVec3Scalar(A.normalizeVec3(A.subVec3(a,l,s)),5),i._isProjectNorth&&i._projectNorthOffsetAngle&&(s=r(-1,s,eE),h=r(-1,h,tE)),i._zUp?(A.transformVec3(t,s,o),A.transformVec3(t,h,n),i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=A.transformVec3(t,s,o),i._navCubeCamera.up=A.transformPoint3(t,h,n)):(i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=s,i._navCubeCamera.up=h)}}(),this._cubeTextureCanvas=new $m(e,s,t),this._cubeSampler=new ni(s,{image:this._cubeTextureCanvas.getImage(),flipY:!0,wrapS:1001,wrapT:1001}),this._cubeMesh=new Ls(s,{geometry:new at(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new At(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:this._cubeSampler,emissiveMap:this._cubeSampler}),visible:!0,edges:!0}),this._shadow=!1===t.shadowVisible?null:new Ls(s,{geometry:new at(s,Hs({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new At(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!0,pickable:!1,backfaces:!1}),this._onCameraMatrix=e.camera.on("matrix",this._synchCamera),this._onCameraWorldAxis=e.camera.on("worldAxis",(()=>{e.camera.zUp?(this._zUp=!0,this._cubeTextureCanvas.setZUp(),this._repaint(),this._synchCamera()):e.camera.yUp&&(this._zUp=!1,this._cubeTextureCanvas.setYUp(),this._repaint(),this._synchCamera())})),this._onCameraFOV=e.camera.perspective.on("fov",(e=>{this._synchProjection&&(this._navCubeCamera.perspective.fov=e)})),this._onCameraProjection=e.camera.on("projection",(e=>{this._synchProjection&&(this._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var o=-1;function n(e){var t=[0,0];if(e){for(var s=e.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-i,t[1]=e.pageY-r}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var a,l,h=null,c=null,u=!1,p=!1,d=.5;i._navCubeCanvas.addEventListener("mouseenter",i._onMouseEnter=function(e){p=!0}),i._navCubeCanvas.addEventListener("mouseleave",i._onMouseLeave=function(e){p=!1}),i._navCubeCanvas.addEventListener("mousedown",i._onMouseDown=function(e){if(1===e.which){h=e.x,c=e.y,a=e.clientX,l=e.clientY;var t=n(e),i=s.pick({canvasPos:t});u=!!i}}),document.addEventListener("mouseup",i._onMouseUp=function(e){if(1===e.which&&(u=!1,null!==h)){var t=n(e),a=s.pick({canvasPos:t,pickSurface:!0});if(a&&a.uv){var l=i._cubeTextureCanvas.getArea(a.uv);if(l>=0&&(document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0)){if(i._cubeTextureCanvas.setAreaHighlighted(l,!0),o=l,i._repaint(),e.xh+3||e.yc+3)return;var A=i._cubeTextureCanvas.getAreaDir(l);if(A){var p=i._cubeTextureCanvas.getAreaUp(l);i._isProjectNorth&&i._projectNorthOffsetAngle&&(A=r(1,A,eE),p=r(1,p,tE)),f(A,p,(function(){o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0&&(i._cubeTextureCanvas.setAreaHighlighted(l,!1),o=-1,i._repaint())}))}}}}}),document.addEventListener("mousemove",i._onMouseMove=function(t){if(o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),1!==t.buttons||u){if(u){var r=t.clientX,h=t.clientY;return document.body.style.cursor="move",void function(t,s){var i=(t-a)*-d,r=(s-l)*-d;e.camera.orbitYaw(i),e.camera.orbitPitch(-r),a=t,l=s}(r,h)}if(p){var c=n(t),A=s.pick({canvasPos:c,pickSurface:!0});if(A){if(A.uv){document.body.style.cursor="pointer";var f=i._cubeTextureCanvas.getArea(A.uv);if(f===o)return;o>=0&&i._cubeTextureCanvas.setAreaHighlighted(o,!1),f>=0&&(i._cubeTextureCanvas.setAreaHighlighted(f,!0),i._repaint(),o=f)}}else document.body.style.cursor="default",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1)}}});var f=function(){var t=A.vec3();return function(s,r,o){var n=i._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,a=A.getAABB3Diag(n);A.getAABB3Center(n,t);var l=Math.abs(a/Math.tan(i._cameraFitFOV*A.DEGTORAD));e.cameraControl.pivotPos=t,i._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV,duration:i._cameraFlyDuration},o):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV},o)}}();this._onUpdated=e.localeService.on("updated",(()=>{this._cubeTextureCanvas.clear(),this._repaint()})),this.setVisible(t.visible),this.setCameraFitFOV(t.cameraFitFOV),this.setCameraFly(t.cameraFly),this.setCameraFlyDuration(t.cameraFlyDuration),this.setFitVisible(t.fitVisible),this.setSynchProjection(t.synchProjection)}send(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}_repaint(){const e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}setVisible(e=!0){this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}getVisible(){return!!this._navCubeCanvas&&this._cubeMesh.visible}setFitVisible(e=!1){this._fitVisible=e}getFitVisible(){return this._fitVisible}setCameraFly(e=!0){this._cameraFly=e}getCameraFly(){return this._cameraFly}setCameraFitFOV(e=45){this._cameraFitFOV=e}getCameraFitFOV(){return this._cameraFitFOV}setCameraFlyDuration(e=.5){this._cameraFlyDuration=e}getCameraFlyDuration(){return this._cameraFlyDuration}setSynchProjection(e=!1){this._synchProjection=e}getSynchProjection(){return this._synchProjection}setIsProjectNorth(e=!1){this._isProjectNorth=e}getIsProjectNorth(){return this._isProjectNorth}setProjectNorthOffsetAngle(e){this._projectNorthOffsetAngle=e}getProjectNorthOffsetAngle(){return this._projectNorthOffsetAngle}destroy(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,super.destroy()}}A.vec3();const iE=new Float64Array([0,0,1]),rE=new Float64Array(4);class oE{constructor(e){this.id=null,this._viewer=e.viewer,this._visible=!1,this._pos=A.vec3(),this._origin=A.vec3(),this._rtcPos=A.vec3(),this._baseDir=A.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}_setSectionPlane(e){this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(()=>{this._setPos(this._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(()=>{this._ignoreNextSectionPlaneDirUpdate?this._ignoreNextSectionPlaneDirUpdate=!1:this._setDir(this._sectionPlane.dir)})))}get sectionPlane(){return this._sectionPlane}_setPos(e){this._pos.set(e),function(e,t,s){const i=Float32Array.from([e[0]])[0],r=e[0]-i,o=Float32Array.from([e[1]])[0],n=e[1]-o,a=Float32Array.from([e[2]])[0],l=e[2]-a;t[0]=i,t[1]=o,t[2]=a,s[0]=r,s[1]=n,s[2]=l}(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}_setDir(e){this._baseDir.set(e),this._rootNode.quaternion=A.vec3PairToQuaternion(iE,e,rE)}_setSectionPlaneDir(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}setVisible(e=!0){if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}getVisible(){return this._visible}setCulled(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}_createNodes(){const e=!1,t=this._viewer.scene,s=.01;this._rootNode=new qs(t,{position:[0,0,0],scale:[5,5,5]});const i=this._rootNode,r={arrowHead:new at(i,Hs({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new at(i,Hs({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new at(i,Hs({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new at(i,Ai({radius:.8,tube:s,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new at(i,Ai({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new at(i,Ai({radius:.8,tube:s,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new at(i,Hs({radiusTop:s,radiusBottom:s,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new at(i,Hs({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new At(i,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new At(i,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new dt(i,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new At(i,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new dt(i,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new At(i,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new dt(i,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new At(i,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new dt(i,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new dt(i,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:i.addChild(new Ls(i,{geometry:new at(i,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new At(i,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new dt(i,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:i.addChild(new Ls(i,{geometry:new at(i,Ai({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new At(i,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new dt(i,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:i.addChild(new Ls(i,{geometry:r.curve,material:o.red,matrix:function(){const e=A.rotationMat4v(90*A.DEGTORAD,[0,1,0],A.identityMat4()),t=A.rotationMat4v(270*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:i.addChild(new Ls(i,{geometry:r.curveHandle,material:o.pickable,matrix:function(){const e=A.rotationMat4v(90*A.DEGTORAD,[0,1,0],A.identityMat4()),t=A.rotationMat4v(270*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=A.translateMat4c(0,-.07,-.8,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(0*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=A.translateMat4c(0,-.8,-.07,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:i.addChild(new Ls(i,{geometry:r.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:i.addChild(new Ls(i,{geometry:r.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=A.translateMat4c(.07,0,-.8,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=A.translateMat4c(.8,0,-.07,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:i.addChild(new Ls(i,{geometry:r.curve,material:o.blue,matrix:A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:i.addChild(new Ls(i,{geometry:r.curveHandle,material:o.pickable,matrix:A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=A.translateMat4c(.8,-.07,0,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4());return A.mulMat4(e,t,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=A.translateMat4c(.05,-.8,0,A.identityMat4()),t=A.scaleMat4v([.6,.6,.6],A.identityMat4()),s=A.rotationMat4v(90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(A.mulMat4(e,t,A.identityMat4()),s,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:i.addChild(new Ls(i,{geometry:new at(i,Gs({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:i.addChild(new Ls(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:i.addChild(new Ls(i,{geometry:r.axis,material:o.red,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:i.addChild(new Ls(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:i.addChild(new Ls(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:i.addChild(new Ls(i,{geometry:r.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:i.addChild(new Ls(i,{geometry:r.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[.8,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:i.addChild(new Ls(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[.8,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:i.addChild(new Ls(i,{geometry:r.axis,material:o.blue,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:i.addChild(new Ls(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=A.translateMat4c(0,.5,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:i.addChild(new Ls(i,{geometry:new at(i,Ai({center:[0,0,0],radius:2,tube:s,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new At(i,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new dt(i,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:i.addChild(new Ls(i,{geometry:r.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){const e=A.rotationMat4v(90*A.DEGTORAD,[0,1,0],A.identityMat4()),t=A.rotationMat4v(270*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:i.addChild(new Ls(i,{geometry:r.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:i.addChild(new Ls(i,{geometry:r.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHeadBig,material:o.red,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[0,0,1],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHeadBig,material:o.green,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(180*A.DEGTORAD,[1,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new Ls(i,{geometry:r.arrowHeadBig,material:o.blue,matrix:function(){const e=A.translateMat4c(0,1.1,0,A.identityMat4()),t=A.rotationMat4v(-90*A.DEGTORAD,[.8,0,0],A.identityMat4());return A.mulMat4(t,e,A.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}_bindEvents(){const e=this;var t=!1;const s=-1,i=0,r=1,o=2,n=3,a=4,l=5,h=this._rootNode;var c=null,u=null;const p=A.vec2(),d=A.vec3([1,0,0]),f=A.vec3([0,1,0]),m=A.vec3([0,0,1]),E=this._viewer.scene.canvas.canvas,y=this._viewer.camera,g=this._viewer.scene;{const e=A.vec3([0,0,0]);let t=-1;this._onCameraViewMatrix=g.camera.on("viewMatrix",(()=>{})),this._onCameraProjMatrix=g.camera.on("projMatrix",(()=>{})),this._onSceneTick=g.on("tick",(()=>{const s=Math.abs(A.lenVec3(A.subVec3(g.camera.eye,this._pos,e)));if(s!==t&&"perspective"===y.projection){const e=.07*(Math.tan(y.perspective.fov*A.DEGTORAD)*s);h.scale=[e,e,e],t=s}if("ortho"===y.projection){const e=y.ortho.scale/10;h.scale=[e,e,e],t=s}}))}const v=function(){const e=new Float64Array(2);return function(t){if(t){for(var s=t.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;e[0]=t.pageX-i,e[1]=t.pageY-r}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),I=function(){const t=A.mat4();return function(s,i){return A.quaternionToMat4(e._rootNode.quaternion,t),A.transformVec3(t,s,i),A.normalizeVec3(i),i}}();var T=function(){const e=A.vec3();return function(t){const s=Math.abs(t[0]);return s>Math.abs(t[1])&&s>Math.abs(t[2])?A.cross3Vec3(t,[0,1,0],e):A.cross3Vec3(t,[1,0,0],e),A.cross3Vec3(e,t,e),A.normalizeVec3(e),e}}();const _=function(){const t=A.vec3(),s=A.vec3(),i=A.vec4();return function(r,o,n){I(r,i);const a=T(i,o,n);P(o,a,t),P(n,a,s),A.subVec3(s,t);const l=A.dotVec3(s,i);e._pos[0]+=i[0]*l,e._pos[1]+=i[1]*l,e._pos[2]+=i[2]*l,e._rootNode.position=e._pos,e._sectionPlane&&(e._sectionPlane.pos=e._pos)}}();var R=function(){const t=A.vec4(),s=A.vec4(),i=A.vec4(),r=A.vec4();return function(o,n,a){I(o,r);if(!(P(n,r,t)&&P(a,r,s))){const e=T(r,n,a);P(n,e,t,1),P(a,e,s,1);var l=A.dotVec3(t,r);t[0]-=l*r[0],t[1]-=l*r[1],t[2]-=l*r[2],l=A.dotVec3(s,r),s[0]-=l*r[0],s[1]-=l*r[1],s[2]-=l*r[2]}A.normalizeVec3(t),A.normalizeVec3(s),l=A.dotVec3(t,s),l=A.clamp(l,-1,1);var h=Math.acos(l)*A.RADTODEG;A.cross3Vec3(t,s,i),A.dotVec3(i,r)<0&&(h=-h),e._rootNode.rotate(o,h),D()}}(),P=function(){const t=A.vec4([0,0,0,1]),s=A.mat4();return function(i,r,o,n){n=n||0,t[0]=i[0]/E.width*2-1,t[1]=-(i[1]/E.height*2-1),t[2]=0,t[3]=1,A.mulMat4(y.projMatrix,y.viewMatrix,s),A.inverseMat4(s),A.transformVec4(s,t,t),A.mulVec4Scalar(t,1/t[3]);var a=y.eye;A.subVec4(t,a,t);const l=e._sectionPlane.pos;var h=-A.dotVec3(l,r)-n,c=A.dotVec3(r,t);if(Math.abs(c)>.005){var u=-(A.dotVec3(r,a)+h)/c;return A.mulVec3Scalar(t,u,o),A.addVec3(o,a),A.subVec3(o,l,o),!0}return!1}}();const D=function(){const t=A.vec3(),s=A.mat4();return function(){e.sectionPlane&&(A.quaternionToMat4(h.quaternion,s),A.transformVec3(s,[0,0,1],t),e._setSectionPlaneDir(t))}}();var N,C=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(e=>{if(!this._visible)return;if(C)return;var h;t=!1,N&&(N.visible=!1);switch(e.entity.id){case this._displayMeshes.xAxisArrowHandle.id:case this._displayMeshes.xAxisHandle.id:h=this._affordanceMeshes.xAxisArrow,c=i;break;case this._displayMeshes.yAxisArrowHandle.id:case this._displayMeshes.yShaftHandle.id:h=this._affordanceMeshes.yAxisArrow,c=r;break;case this._displayMeshes.zAxisArrowHandle.id:case this._displayMeshes.zAxisHandle.id:h=this._affordanceMeshes.zAxisArrow,c=o;break;case this._displayMeshes.xCurveHandle.id:h=this._affordanceMeshes.xHoop,c=n;break;case this._displayMeshes.yCurveHandle.id:h=this._affordanceMeshes.yHoop,c=a;break;case this._displayMeshes.zCurveHandle.id:h=this._affordanceMeshes.zHoop,c=l;break;default:return void(c=s)}h&&(h.visible=!0),N=h,t=!0})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(e=>{this._visible&&(N&&(N.visible=!1),N=null,c=s)})),E.addEventListener("mousedown",this._canvasMouseDownListener=e=>{if(e.preventDefault(),this._visible&&t&&(this._viewer.cameraControl.pointerEnabled=!1,1===e.which)){C=!0;var s=v(e);u=c,p[0]=s[0],p[1]=s[1]}}),E.addEventListener("mousemove",this._canvasMouseMoveListener=e=>{if(!this._visible)return;if(!C)return;var t=v(e);const s=t[0],h=t[1];switch(u){case i:_(d,p,t);break;case r:_(f,p,t);break;case o:_(m,p,t);break;case n:R(d,p,t);break;case a:R(f,p,t);break;case l:R(m,p,t)}p[0]=s,p[1]=h}),E.addEventListener("mouseup",this._canvasMouseUpListener=e=>{this._visible&&(this._viewer.cameraControl.pointerEnabled=!0,C&&(e.which,C=!1,t=!1))}),E.addEventListener("wheel",this._canvasWheelListener=e=>{if(this._visible)Math.max(-1,Math.min(1,40*-e.deltaY))})}_destroy(){this._unbindEvents(),this._destroyNodes()}_unbindEvents(){const e=this._viewer,t=e.scene,s=t.canvas.canvas,i=e.camera,r=e.cameraControl;t.off(this._onSceneTick),s.removeEventListener("mousedown",this._canvasMouseDownListener),s.removeEventListener("mousemove",this._canvasMouseMoveListener),s.removeEventListener("mouseup",this._canvasMouseUpListener),s.removeEventListener("wheel",this._canvasWheelListener),i.off(this._onCameraViewMatrix),i.off(this._onCameraProjMatrix),r.off(this._onCameraControlHover),r.off(this._onCameraControlHoverLeave)}_destroyNodes(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}class nE{constructor(e,t,s){this.id=s.id,this._sectionPlane=s,this._mesh=new Ls(t,{id:s.id,geometry:new at(t,lt({xSize:.5,ySize:.5,zSize:.001})),material:new At(t,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new mt(t,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new dt(t,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new dt(t,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});{const e=A.vec3([0,0,0]),t=A.vec3(),s=A.vec3([0,0,1]),i=A.vec4(4),r=A.vec3(),o=()=>{const o=this._sectionPlane.scene.center,n=[-this._sectionPlane.dir[0],-this._sectionPlane.dir[1],-this._sectionPlane.dir[2]];A.subVec3(o,this._sectionPlane.pos,e);const a=-A.dotVec3(n,e);A.normalizeVec3(n),A.mulVec3Scalar(n,a,t);const l=A.vec3PairToQuaternion(s,this._sectionPlane.dir,i);r[0]=.1*t[0],r[1]=.1*t[1],r[2]=.1*t[2],this._mesh.quaternion=l,this._mesh.position=r};this._onSectionPlanePos=this._sectionPlane.on("pos",o),this._onSectionPlaneDir=this._sectionPlane.on("dir",o)}this._highlighted=!1,this._selected=!1}setHighlighted(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}getHighlighted(){return this._highlighted}setSelected(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}getSelected(){return this._selected}destroy(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}class aE{constructor(e,t){if(!(t.onHoverEnterPlane&&t.onHoverLeavePlane&&t.onClickedNothing&&t.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=e,this._viewer=e.viewer,this._onHoverEnterPlane=t.onHoverEnterPlane,this._onHoverLeavePlane=t.onHoverLeavePlane,this._onClickedNothing=t.onClickedNothing,this._onClickedPlane=t.onClickedPlane,this._visible=!0,this._planes={},this._canvas=t.overviewCanvas,this._scene=new zt(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new Ye(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Ye(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Ye(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;{const e=this._scene.camera,t=A.rotationMat4c(-90*A.DEGTORAD,1,0,0),s=A.vec3(),i=A.vec3(),r=A.vec3();this._synchCamera=()=>{const o=this._viewer.camera.eye,n=this._viewer.camera.look,a=this._viewer.camera.up;A.mulVec3Scalar(A.normalizeVec3(A.subVec3(o,n,s)),7),this._zUp?(A.transformVec3(t,s,i),A.transformVec3(t,a,r),e.look=[0,0,0],e.eye=A.transformVec3(t,s,i),e.up=A.transformPoint3(t,a,r)):(e.look=[0,0,0],e.eye=s,e.up=a)}}this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(e=>{this._scene.camera.perspective.fov=e}));var s=null;this._onInputMouseMove=this._scene.input.on("mousemove",(e=>{const t=this._scene.pick({canvasPos:e});if(t){if(!s||t.entity.id!==s.id){if(s){this._planes[s.id]&&this._onHoverLeavePlane(s.id)}s=t.entity;this._planes[s.id]&&this._onHoverEnterPlane(s.id)}}else s&&(this._onHoverLeavePlane(s.id),s=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=()=>{if(s){this._planes[s.id]&&this._onClickedPlane(s.id)}else this._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=()=>{s&&(this._onHoverLeavePlane(s.id),s=null)}),this.setVisible(t.overviewVisible)}addSectionPlane(e){this._planes[e.id]=new nE(this,this._scene,e)}setPlaneHighlighted(e,t){const s=this._planes[e];s&&s.setHighlighted(t)}setPlaneSelected(e,t){const s=this._planes[e];s&&s.setSelected(t)}removeSectionPlane(e){const t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}setVisible(e=!0){this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}getVisible(){return this._visible}destroy(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}const lE=A.AABB3(),hE=A.vec3();class cE extends n{constructor(e,t={}){if(super("SectionPlanes",e),this._freeControls=[],this._sectionPlanes=e.scene.sectionPlanes,this._controls={},this._shownControlId=null,null!==t.overviewCanvasId&&void 0!==t.overviewCanvasId){const e=document.getElementById(t.overviewCanvasId);e?this._overview=new aE(this,{overviewCanvas:e,visible:t.overviewVisible,onHoverEnterPlane:e=>{this._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:e=>{this._overview.setPlaneHighlighted(e,!1)},onClickedPlane:e=>{if(this.getShownControl()===e)return void this.hideControl();this.showControl(e);const t=this.sectionPlanes[e].pos;lE.set(this.viewer.scene.aabb),A.getAABB3Center(lE,hE),lE[0]+=t[0]-hE[0],lE[1]+=t[1]-hE[1],lE[2]+=t[2]-hE[2],lE[3]+=t[0]-hE[0],lE[4]+=t[1]-hE[1],lE[5]+=t[2]-hE[2],this.viewer.cameraFlight.flyTo({aabb:lE,fitFOV:65})},onClickedNothing:()=>{this.hideControl()}}):this.warn("Can't find overview canvas: '"+t.overviewCanvasId+"' - will create plugin without overview")}this._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(e=>{this._sectionPlaneCreated(e)}))}setOverviewVisible(e){this._overview&&this._overview.setVisible(e)}getOverviewVisible(){if(this._overview)return this._overview.getVisible()}get sectionPlanes(){return this._sectionPlanes}createSectionPlane(e={}){void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);return new ks(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0})}_sectionPlaneCreated(e){const t=this._freeControls.length>0?this._freeControls.pop():new oE(this);t._setSectionPlane(e),t.setVisible(!1),this._controls[e.id]=t,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(()=>{this._sectionPlaneDestroyed(e)}))}flipSectionPlanes(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].flipDir()}}showControl(e){const t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}getShownControl(){return this._shownControlId}hideControl(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}destroySectionPlane(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}_sectionPlaneDestroyed(e){this._overview&&this._overview.removeSectionPlane(e);const t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}clear(){const e=Object.keys(this._sectionPlanes);for(var t=0,s=e.length;t{e.preventDefault()},this._onObjectVisibility=this._viewer.scene.on("objectVisibility",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;const i=e.visible;if(!(i!==s.checked))return;this._muteTreeEvents=!0,s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;const r=document.getElementById(`checkbox-${s.nodeId}`);r&&(r.checked=i);let o=s.parent;for(;o;){o.checked=i,i?o.numVisibleEntities++:o.numVisibleEntities--;const e=document.getElementById(`checkbox-${o.nodeId}`);if(e){const t=o.numVisibleEntities>0;t!==e.checked&&(e.checked=t)}o=o.parent}this._muteTreeEvents=!1})),this._onObjectXrayed=this._viewer.scene.on("objectXRayed",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;this._muteTreeEvents=!0;const i=e.xrayed;if(!(i!==s.xrayed))return;s.xrayed=i;const r=s.nodeId,o=document.getElementById(r);null!==o&&(i?o.classList.add("xrayed-node"):o.classList.remove("xrayed-node")),this._muteTreeEvents=!1})),this._switchExpandHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._expandSwitchElement(t)},this._switchCollapseHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._collapseSwitchElement(t)},this._checkboxChangeHandler=e=>{if(this._muteTreeEvents)return;this._muteSceneEvents=!0;const t=e.target,s=t.checked,i=t.id.replace("checkbox-",""),r=this._nodeNodes[i],o=this._viewer.scene.objects;let n=0;this._withNodeTree(r,(e=>{const t=e.objectId,i=`checkbox-${e.nodeId}`,r=o[t],a=0===e.children.length;e.numVisibleEntities=s?e.numEntities:0,a&&s!==e.checked&&n++,e.checked=s;const l=document.getElementById(i);l&&(l.checked=s),r&&(r.visible=s)}));let a=r.parent;for(;a;){a.checked=s;const e=document.getElementById(`checkbox-${a.nodeId}`);s?a.numVisibleEntities+=n:a.numVisibleEntities-=n;const t=a.numVisibleEntities>0;t!==e.checked&&(e.checked=t),a=a.parent}this._muteSceneEvents=!1},this._hierarchy=t.hierarchy||"containment",this._autoExpandDepth=t.autoExpandDepth||0,this._autoAddModels){const e=Object.keys(this.viewer.metaScene.metaModels);for(let t=0,s=e.length;t{this.viewer.metaScene.metaModels[e]&&this.addModel(e)}))}this.hierarchy=t.hierarchy}else this.error("Config expected: containerElement")}set hierarchy(e){"containment"!==(e=e||"containment")&&"storeys"!==e&&"types"!==e&&(this.error("Unsupported value for `hierarchy' - defaulting to 'containment'"),e="containment"),this._hierarchy!==e&&(this._hierarchy=e,this._createNodes())}get hierarchy(){return this._hierarchy}addModel(e,t={}){if(!this._containerElement)return;const s=this.viewer.scene.models[e];if(!s)throw"Model not found: "+e;const i=this.viewer.metaScene.metaModels[e];i?this._metaModels[e]?this.warn("Model already added: "+e):(this._metaModels[e]=i,s.on("destroyed",(()=>{this.removeModel(s.id)})),this._createNodes()):this.error("MetaModel not found: "+e)}removeModel(e){if(!this._containerElement)return;this._metaModels[e]&&(delete this._metaModels[e],this._createNodes())}showNode(e){this._showListItemElementId&&this.unShowNode();const t=this._objectNodes[e];if(!t)return;const s=t.nodeId,i="switch-"+s,r=document.getElementById(i);if(r)return this._expandSwitchElement(r),void r.scrollIntoView();const o=[];o.unshift(t);let n=t.parent;for(;n;)o.unshift(n),n=n.parent;for(let e=0,t=o.length;e{if(i===e)return;const r="switch-"+s.nodeId,o=document.getElementById(r);if(o){this._expandSwitchElement(o);const e=s.children;for(var n=0,a=e.length;n0;return this.valid}_validateMetaModelForStoreysHierarchy(e=0,t,s){return!0}_createEnabledNodes(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}_createDisabledNodes(){const e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);const t=this._viewer.metaScene.rootMetaObjects;for(let s in t){const i=t[s],r=i.type,o=i.name,n=o&&""!==o&&"Undefined"!==o&&"Default"!==o?o:r,a=document.createElement("li");e.appendChild(a);const l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),a.appendChild(l);const h=document.createElement("span");h.textContent=n,a.appendChild(h)}}_findEmptyNodes(){const e=this._viewer.metaScene.rootMetaObjects;for(let t in e)this._findEmptyNodes2(e[t])}_findEmptyNodes2(e,t=0){const s=this.viewer.scene,i=e.children,r=e.id,o=s.objects[r];if(e._countEntities=0,o&&e._countEntities++,i)for(let t=0,s=i.length;t{e.aabb&&r.aabb||(e.aabb||(e.aabb=t.getAABB(i.getObjectIDsInSubtree(e.objectId))),r.aabb||(r.aabb=t.getAABB(i.getObjectIDsInSubtree(r.objectId))));let o=0;return o=s.xUp?0:s.yUp?1:2,e.aabb[o]>r.aabb[o]?-1:e.aabb[o]i?1:0}_synchNodesToEntities(){const e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,s=this._viewer.scene.objects;for(let i=0,r=e.length;ithis._createNodeElement(e))),t=document.createElement("ul");e.forEach((e=>{t.appendChild(e)})),this._containerElement.appendChild(t),this._rootElement=t}_createNodeElement(e){const t=document.createElement("li"),s=e.nodeId;if(e.xrayed&&t.classList.add("xrayed-node"),t.id=s,e.children.length>0){const e="switch-"+s,i=document.createElement("a");i.href="#",i.id=e,i.textContent="+",i.classList.add("plus"),i.addEventListener("click",this._switchExpandHandler),t.appendChild(i)}const i=document.createElement("input");i.id=`checkbox-${s}`,i.type="checkbox",i.checked=e.checked,i.style["pointer-events"]="all",i.addEventListener("change",this._checkboxChangeHandler),t.appendChild(i);const r=document.createElement("span");return r.textContent=e.title,t.appendChild(r),r.oncontextmenu=t=>{this.fire("contextmenu",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},r.onclick=t=>{this.fire("nodeTitleClicked",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},t}_expandSwitchElement(e){const t=e.parentElement;if(t.getElementsByTagName("li")[0])return;const s=t.id,i=this._nodeNodes[s].children.map((e=>this._createNodeElement(e))),r=document.createElement("ul");i.forEach((e=>{r.appendChild(e)})),t.appendChild(r),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}_collapseNode(e){const t="switch-"+e,s=document.getElementById(t);this._collapseSwitchElement(s)}_collapseSwitchElement(e){if(!e)return;const t=e.parentElement;if(!t)return;const s=t.querySelector("ul");s&&(t.removeChild(s),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}class pE{constructor(){}getManifest(e,t,s){E.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getMetaModel(e,t,s){E.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getXKT(e,t,s){var i=()=>{};t=t||i,s=s||i;const r=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(r){const e=!!r[2];var o=r[3];o=window.decodeURIComponent(o),e&&(o=window.atob(o));try{const e=new ArrayBuffer(o.length),s=new Uint8Array(e);for(var n=0;n=0;)e[t]=0}const s=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),i=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),o=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),n=new Array(576);t(n);const a=new Array(60);t(a);const l=new Array(512);t(l);const h=new Array(256);t(h);const c=new Array(29);t(c);const u=new Array(30);function A(e,t,s,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=s,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}let p,d,f;function m(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(u);const E=e=>e<256?l[e]:l[256+(e>>>7)],y=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},g=(e,t,s)=>{e.bi_valid>16-s?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=s-16):(e.bi_buf|=t<{g(e,s[2*t],s[2*t+1])},I=(e,t)=>{let s=0;do{s|=1&e,e>>>=1,s<<=1}while(--t>0);return s>>>1},T=(e,t,s)=>{const i=new Array(16);let r,o,n=0;for(r=1;r<=15;r++)n=n+s[r-1]<<1,i[r]=n;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=I(i[t]++,t))}},_=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},R=e=>{e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=(e,t,s,i)=>{const r=2*t,o=2*s;return e[r]{const i=e.heap[s];let r=s<<1;for(;r<=e.heap_len&&(r{let o,n,a,l,A=0;if(0!==e.sym_next)do{o=255&e.pending_buf[e.sym_buf+A++],o+=(255&e.pending_buf[e.sym_buf+A++])<<8,n=e.pending_buf[e.sym_buf+A++],0===o?v(e,n,t):(a=h[n],v(e,a+256+1,t),l=s[a],0!==l&&(n-=c[a],g(e,n,l)),o--,a=E(o),v(e,a,r),l=i[a],0!==l&&(o-=u[a],g(e,o,l)))}while(A{const s=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,o=t.stat_desc.elems;let n,a,l,h=-1;for(e.heap_len=0,e.heap_max=573,n=0;n>1;n>=1;n--)D(e,s,n);l=o;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],D(e,s,1),a=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=a,s[2*l]=s[2*n]+s[2*a],e.depth[l]=(e.depth[n]>=e.depth[a]?e.depth[n]:e.depth[a])+1,s[2*n+1]=s[2*a+1]=l,e.heap[1]=l++,D(e,s,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const s=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,n=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,l=t.stat_desc.max_length;let h,c,u,A,p,d,f=0;for(A=0;A<=15;A++)e.bl_count[A]=0;for(s[2*e.heap[e.heap_max]+1]=0,h=e.heap_max+1;h<573;h++)c=e.heap[h],A=s[2*s[2*c+1]+1]+1,A>l&&(A=l,f++),s[2*c+1]=A,c>i||(e.bl_count[A]++,p=0,c>=a&&(p=n[c-a]),d=s[2*c],e.opt_len+=d*(A+p),o&&(e.static_len+=d*(r[2*c+1]+p)));if(0!==f){do{for(A=l-1;0===e.bl_count[A];)A--;e.bl_count[A]--,e.bl_count[A+1]+=2,e.bl_count[l]--,f-=2}while(f>0);for(A=l;0!==A;A--)for(c=e.bl_count[A];0!==c;)u=e.heap[--h],u>i||(s[2*u+1]!==A&&(e.opt_len+=(A-s[2*u+1])*s[2*u],s[2*u+1]=A),c--)}})(e,t),T(s,h,e.bl_count)},b=(e,t,s)=>{let i,r,o=-1,n=t[1],a=0,l=7,h=4;for(0===n&&(l=138,h=3),t[2*(s+1)+1]=65535,i=0;i<=s;i++)r=n,n=t[2*(i+1)+1],++a{let i,r,o=-1,n=t[1],a=0,l=7,h=4;for(0===n&&(l=138,h=3),i=0;i<=s;i++)if(r=n,n=t[2*(i+1)+1],!(++a{g(e,0+(i?1:0),3),R(e),y(e,s),y(e,~s),s&&e.pending_buf.set(e.window.subarray(t,t+s),e.pending),e.pending+=s};var w={_tr_init:e=>{S||((()=>{let e,t,o,m,E;const y=new Array(16);for(o=0,m=0;m<28;m++)for(c[m]=o,e=0;e<1<>=7;m<30;m++)for(u[m]=E<<7,e=0;e<1<{let r,l,h=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,s=4093624447;for(t=0;t<=31;t++,s>>>=1)if(1&s&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),C(e,e.l_desc),C(e,e.d_desc),h=(e=>{let t;for(b(e,e.dyn_ltree,e.l_desc.max_code),b(e,e.dyn_dtree,e.d_desc.max_code),C(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*o[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),r=e.opt_len+3+7>>>3,l=e.static_len+3+7>>>3,l<=r&&(r=l)):r=l=s+5,s+4<=r&&-1!==t?x(e,t,s,i):4===e.strategy||l===r?(g(e,2+(i?1:0),3),N(e,n,a)):(g(e,4+(i?1:0),3),((e,t,s,i)=>{let r;for(g(e,t-257,5),g(e,s-1,5),g(e,i-4,4),r=0;r(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=s,0===t?e.dyn_ltree[2*s]++:(e.matches++,t--,e.dyn_ltree[2*(h[s]+256+1)]++,e.dyn_dtree[2*E(t)]++),e.sym_next===e.sym_end),_tr_align:e=>{g(e,2,3),v(e,256,n),(e=>{16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}},B=(e,t,s,i)=>{let r=65535&e|0,o=e>>>16&65535|0,n=0;for(;0!==s;){n=s>2e3?2e3:s,s-=n;do{r=r+t[i++]|0,o=o+r|0}while(--n);r%=65521,o%=65521}return r|o<<16|0};const F=new Uint32Array((()=>{let e,t=[];for(var s=0;s<256;s++){e=s;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[s]=e}return t})());var M=(e,t,s,i)=>{const r=F,o=i+s;e^=-1;for(let s=i;s>>8^r[255&(e^t[s])];return-1^e},L={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},U={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:H,_tr_stored_block:G,_tr_flush_block:k,_tr_tally:V,_tr_align:Q}=w,{Z_NO_FLUSH:j,Z_PARTIAL_FLUSH:W,Z_FULL_FLUSH:z,Z_FINISH:K,Z_BLOCK:Y,Z_OK:X,Z_STREAM_END:Z,Z_STREAM_ERROR:q,Z_DATA_ERROR:J,Z_BUF_ERROR:$,Z_DEFAULT_COMPRESSION:ee,Z_FILTERED:te,Z_HUFFMAN_ONLY:se,Z_RLE:ie,Z_FIXED:re,Z_DEFAULT_STRATEGY:oe,Z_UNKNOWN:ne,Z_DEFLATED:ae}=U,le=258,he=262,ce=42,ue=113,Ae=666,pe=(e,t)=>(e.msg=L[t],t),de=e=>2*e-(e>4?9:0),fe=e=>{let t=e.length;for(;--t>=0;)e[t]=0},me=e=>{let t,s,i,r=e.w_size;t=e.hash_size,i=t;do{s=e.head[--i],e.head[i]=s>=r?s-r:0}while(--t);t=r,i=t;do{s=e.prev[--i],e.prev[i]=s>=r?s-r:0}while(--t)};let Ee=(e,t,s)=>(t<{const t=e.state;let s=t.pending;s>e.avail_out&&(s=e.avail_out),0!==s&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+s),e.next_out),e.next_out+=s,t.pending_out+=s,e.total_out+=s,e.avail_out-=s,t.pending-=s,0===t.pending&&(t.pending_out=0))},ge=(e,t)=>{k(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ye(e.strm)},ve=(e,t)=>{e.pending_buf[e.pending++]=t},Ie=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Te=(e,t,s,i)=>{let r=e.avail_in;return r>i&&(r=i),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),s),1===e.state.wrap?e.adler=B(e.adler,t,r,s):2===e.state.wrap&&(e.adler=M(e.adler,t,r,s)),e.next_in+=r,e.total_in+=r,r)},_e=(e,t)=>{let s,i,r=e.max_chain_length,o=e.strstart,n=e.prev_length,a=e.nice_match;const l=e.strstart>e.w_size-he?e.strstart-(e.w_size-he):0,h=e.window,c=e.w_mask,u=e.prev,A=e.strstart+le;let p=h[o+n-1],d=h[o+n];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(s=t,h[s+n]===d&&h[s+n-1]===p&&h[s]===h[o]&&h[++s]===h[o+1]){o+=2,s++;do{}while(h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&on){if(e.match_start=t,n=i,i>=a)break;p=h[o+n-1],d=h[o+n]}}}while((t=u[t&c])>l&&0!=--r);return n<=e.lookahead?n:e.lookahead},Re=e=>{const t=e.w_size;let s,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-he)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),me(e),i+=t),0===e.strm.avail_in)break;if(s=Te(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=s,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=Ee(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=Ee(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead{let s,i,r,o=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,n=0,a=e.strm.avail_in;do{if(s=65535,r=e.bi_valid+42>>3,e.strm.avail_outi+e.strm.avail_in&&(s=i+e.strm.avail_in),s>r&&(s=r),s>8,e.pending_buf[e.pending-2]=~s,e.pending_buf[e.pending-1]=~s>>8,ye(e.strm),i&&(i>s&&(i=s),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,s-=i),s&&(Te(e.strm,e.strm.output,e.strm.next_out,s),e.strm.next_out+=s,e.strm.avail_out-=s,e.strm.total_out+=s)}while(0===n);return a-=e.strm.avail_in,a&&(a>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=a&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-a,e.strm.next_in),e.strstart),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.block_start=e.strstart),e.high_waterr&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,r+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),r>e.strm.avail_in&&(r=e.strm.avail_in),r&&(Te(e.strm,e.window,e.strstart,r),e.strstart+=r,e.insert+=r>e.w_size-e.insert?e.w_size-e.insert:r),e.high_water>3,r=e.pending_buf_size-r>65535?65535:e.pending_buf_size-r,o=r>e.w_size?e.w_size:r,i=e.strstart-e.block_start,(i>=o||(i||t===K)&&t!==j&&0===e.strm.avail_in&&i<=r)&&(s=i>r?r:i,n=t===K&&0===e.strm.avail_in&&s===i?1:0,G(e,e.block_start,s,n),e.block_start+=s,ye(e.strm)),n?3:1)},De=(e,t)=>{let s,i;for(;;){if(e.lookahead=3&&(e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==s&&e.strstart-s<=e.w_size-he&&(e.match_length=_e(e,s)),e.match_length>=3)if(i=V(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+1]);else i=V(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ge(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2},Ne=(e,t)=>{let s,i,r;for(;;){if(e.lookahead=3&&(e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==s&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,i=V(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,i&&(ge(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(i=V(e,0,e.window[e.strstart-1]),i&&ge(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=V(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2};function Ce(e,t,s,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=s,this.max_chain=i,this.func=r}const be=[new Ce(0,0,0,0,Pe),new Ce(4,4,8,4,De),new Ce(4,5,16,8,De),new Ce(4,6,32,32,De),new Ce(4,4,16,16,Ne),new Ce(8,16,32,32,Ne),new Ce(8,16,128,128,Ne),new Ce(8,32,128,256,Ne),new Ce(32,128,258,1024,Ne),new Ce(32,258,258,4096,Ne)];function Oe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ae,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),fe(this.dyn_ltree),fe(this.dyn_dtree),fe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),fe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),fe(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Se=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==ce&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==ue&&t.status!==Ae?1:0},xe=e=>{if(Se(e))return pe(e,q);e.total_in=e.total_out=0,e.data_type=ne;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?ce:ue,e.adler=2===t.wrap?0:1,t.last_flush=-2,H(t),X},we=e=>{const t=xe(e);var s;return t===X&&((s=e.state).window_size=2*s.w_size,fe(s.head),s.max_lazy_match=be[s.level].max_lazy,s.good_match=be[s.level].good_length,s.nice_match=be[s.level].nice_length,s.max_chain_length=be[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=2,s.match_available=0,s.ins_h=0),t},Be=(e,t,s,i,r,o)=>{if(!e)return q;let n=1;if(t===ee&&(t=6),i<0?(n=0,i=-i):i>15&&(n=2,i-=16),r<1||r>9||s!==ae||i<8||i>15||t<0||t>9||o<0||o>re||8===i&&1!==n)return pe(e,q);8===i&&(i=9);const a=new Oe;return e.state=a,a.strm=e,a.status=ce,a.wrap=n,a.gzhead=null,a.w_bits=i,a.w_size=1<Se(e)||2!==e.state.wrap?q:(e.state.gzhead=t,X),Le=(e,t)=>{if(Se(e)||t>Y||t<0)return e?pe(e,q):q;const s=e.state;if(!e.output||0!==e.avail_in&&!e.input||s.status===Ae&&t!==K)return pe(e,0===e.avail_out?$:q);const i=s.last_flush;if(s.last_flush=t,0!==s.pending){if(ye(e),0===e.avail_out)return s.last_flush=-1,X}else if(0===e.avail_in&&de(t)<=de(i)&&t!==K)return pe(e,$);if(s.status===Ae&&0!==e.avail_in)return pe(e,$);if(s.status===ce&&0===s.wrap&&(s.status=ue),s.status===ce){let t=ae+(s.w_bits-8<<4)<<8,i=-1;if(i=s.strategy>=se||s.level<2?0:s.level<6?1:6===s.level?2:3,t|=i<<6,0!==s.strstart&&(t|=32),t+=31-t%31,Ie(s,t),0!==s.strstart&&(Ie(s,e.adler>>>16),Ie(s,65535&e.adler)),e.adler=1,s.status=ue,ye(e),0!==s.pending)return s.last_flush=-1,X}if(57===s.status)if(e.adler=0,ve(s,31),ve(s,139),ve(s,8),s.gzhead)ve(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),ve(s,255&s.gzhead.time),ve(s,s.gzhead.time>>8&255),ve(s,s.gzhead.time>>16&255),ve(s,s.gzhead.time>>24&255),ve(s,9===s.level?2:s.strategy>=se||s.level<2?4:0),ve(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(ve(s,255&s.gzhead.extra.length),ve(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(e.adler=M(e.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=69;else if(ve(s,0),ve(s,0),ve(s,0),ve(s,0),ve(s,0),ve(s,9===s.level?2:s.strategy>=se||s.level<2?4:0),ve(s,3),s.status=ue,ye(e),0!==s.pending)return s.last_flush=-1,X;if(69===s.status){if(s.gzhead.extra){let t=s.pending,i=(65535&s.gzhead.extra.length)-s.gzindex;for(;s.pending+i>s.pending_buf_size;){let r=s.pending_buf_size-s.pending;if(s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex,s.gzindex+r),s.pending),s.pending=s.pending_buf_size,s.gzhead.hcrc&&s.pending>t&&(e.adler=M(e.adler,s.pending_buf,s.pending-t,t)),s.gzindex+=r,ye(e),0!==s.pending)return s.last_flush=-1,X;t=0,i-=r}let r=new Uint8Array(s.gzhead.extra);s.pending_buf.set(r.subarray(s.gzindex,s.gzindex+i),s.pending),s.pending+=i,s.gzhead.hcrc&&s.pending>t&&(e.adler=M(e.adler,s.pending_buf,s.pending-t,t)),s.gzindex=0}s.status=73}if(73===s.status){if(s.gzhead.name){let t,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i)),ye(e),0!==s.pending)return s.last_flush=-1,X;i=0}t=s.gzindexi&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i)),s.gzindex=0}s.status=91}if(91===s.status){if(s.gzhead.comment){let t,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i)),ye(e),0!==s.pending)return s.last_flush=-1,X;i=0}t=s.gzindexi&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i))}s.status=103}if(103===s.status){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size&&(ye(e),0!==s.pending))return s.last_flush=-1,X;ve(s,255&e.adler),ve(s,e.adler>>8&255),e.adler=0}if(s.status=ue,ye(e),0!==s.pending)return s.last_flush=-1,X}if(0!==e.avail_in||0!==s.lookahead||t!==j&&s.status!==Ae){let i=0===s.level?Pe(s,t):s.strategy===se?((e,t)=>{let s;for(;;){if(0===e.lookahead&&(Re(e),0===e.lookahead)){if(t===j)return 1;break}if(e.match_length=0,s=V(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,s&&(ge(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2})(s,t):s.strategy===ie?((e,t)=>{let s,i,r,o;const n=e.window;for(;;){if(e.lookahead<=le){if(Re(e),e.lookahead<=le&&t===j)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=e.strstart-1,i=n[r],i===n[++r]&&i===n[++r]&&i===n[++r])){o=e.strstart+le;do{}while(i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(s=V(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(s=V(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),s&&(ge(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2})(s,t):be[s.level].func(s,t);if(3!==i&&4!==i||(s.status=Ae),1===i||3===i)return 0===e.avail_out&&(s.last_flush=-1),X;if(2===i&&(t===W?Q(s):t!==Y&&(G(s,0,0,!1),t===z&&(fe(s.head),0===s.lookahead&&(s.strstart=0,s.block_start=0,s.insert=0))),ye(e),0===e.avail_out))return s.last_flush=-1,X}return t!==K?X:s.wrap<=0?Z:(2===s.wrap?(ve(s,255&e.adler),ve(s,e.adler>>8&255),ve(s,e.adler>>16&255),ve(s,e.adler>>24&255),ve(s,255&e.total_in),ve(s,e.total_in>>8&255),ve(s,e.total_in>>16&255),ve(s,e.total_in>>24&255)):(Ie(s,e.adler>>>16),Ie(s,65535&e.adler)),ye(e),s.wrap>0&&(s.wrap=-s.wrap),0!==s.pending?X:Z)},Ue=e=>{if(Se(e))return q;const t=e.state.status;return e.state=null,t===ue?pe(e,J):X},He=(e,t)=>{let s=t.length;if(Se(e))return q;const i=e.state,r=i.wrap;if(2===r||1===r&&i.status!==ce||i.lookahead)return q;if(1===r&&(e.adler=B(e.adler,t,s,0)),i.wrap=0,s>=i.w_size){0===r&&(fe(i.head),i.strstart=0,i.block_start=0,i.insert=0);let e=new Uint8Array(i.w_size);e.set(t.subarray(s-i.w_size,s),0),t=e,s=i.w_size}const o=e.avail_in,n=e.next_in,a=e.input;for(e.avail_in=s,e.next_in=0,e.input=t,Re(i);i.lookahead>=3;){let e=i.strstart,t=i.lookahead-2;do{i.ins_h=Ee(i,i.ins_h,i.window[e+3-1]),i.prev[e&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=e,e++}while(--t);i.strstart=e,i.lookahead=2,Re(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,e.next_in=n,e.input=a,e.avail_in=o,i.wrap=r,X};const Ge=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var ke=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const s=t.shift();if(s){if("object"!=typeof s)throw new TypeError(s+"must be non-object");for(const t in s)Ge(s,t)&&(e[t]=s[t])}}return e},Ve=e=>{let t=0;for(let s=0,i=e.length;s=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;je[254]=je[254]=1;var We=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,s,i,r,o,n=e.length,a=0;for(r=0;r>>6,t[o++]=128|63&s):s<65536?(t[o++]=224|s>>>12,t[o++]=128|s>>>6&63,t[o++]=128|63&s):(t[o++]=240|s>>>18,t[o++]=128|s>>>12&63,t[o++]=128|s>>>6&63,t[o++]=128|63&s);return t},ze=(e,t)=>{const s=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let i,r;const o=new Array(2*s);for(r=0,i=0;i4)o[r++]=65533,i+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&i1?o[r++]=65533:t<65536?o[r++]=t:(t-=65536,o[r++]=55296|t>>10&1023,o[r++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&Qe)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let s="";for(let i=0;i{(t=t||e.length)>e.length&&(t=e.length);let s=t-1;for(;s>=0&&128==(192&e[s]);)s--;return s<0||0===s?t:s+je[e[s]]>t?s:t},Ye=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Xe=Object.prototype.toString,{Z_NO_FLUSH:Ze,Z_SYNC_FLUSH:qe,Z_FULL_FLUSH:Je,Z_FINISH:$e,Z_OK:et,Z_STREAM_END:tt,Z_DEFAULT_COMPRESSION:st,Z_DEFAULT_STRATEGY:it,Z_DEFLATED:rt}=U;function ot(e){this.options=ke({level:st,method:rt,chunkSize:16384,windowBits:15,memLevel:8,strategy:it},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ye,this.strm.avail_out=0;let s=Fe(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(s!==et)throw new Error(L[s]);if(t.header&&Me(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?We(t.dictionary):"[object ArrayBuffer]"===Xe.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,s=He(this.strm,e),s!==et)throw new Error(L[s]);this._dict_set=!0}}function nt(e,t){const s=new ot(t);if(s.push(e,!0),s.err)throw s.msg||L[s.err];return s.result}ot.prototype.push=function(e,t){const s=this.strm,i=this.options.chunkSize;let r,o;if(this.ended)return!1;for(o=t===~~t?t:!0===t?$e:Ze,"string"==typeof e?s.input=We(e):"[object ArrayBuffer]"===Xe.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;;)if(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),(o===qe||o===Je)&&s.avail_out<=6)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else{if(r=Le(s,o),r===tt)return s.next_out>0&&this.onData(s.output.subarray(0,s.next_out)),r=Ue(this.strm),this.onEnd(r),this.ended=!0,r===et;if(0!==s.avail_out){if(o>0&&s.next_out>0)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else if(0===s.avail_in)break}else this.onData(s.output)}return!0},ot.prototype.onData=function(e){this.chunks.push(e)},ot.prototype.onEnd=function(e){e===et&&(this.result=Ve(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var at={Deflate:ot,deflate:nt,deflateRaw:function(e,t){return(t=t||{}).raw=!0,nt(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,nt(e,t)},constants:U};const lt=16209;var ht=function(e,t){let s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_,R,P;const D=e.state;s=e.next_in,R=e.input,i=s+(e.avail_in-5),r=e.next_out,P=e.output,o=r-(t-e.avail_out),n=r+(e.avail_out-257),a=D.dmax,l=D.wsize,h=D.whave,c=D.wnext,u=D.window,A=D.hold,p=D.bits,d=D.lencode,f=D.distcode,m=(1<>>24,A>>>=g,p-=g,g=y>>>16&255,0===g)P[r++]=65535&y;else{if(!(16&g)){if(0==(64&g)){y=d[(65535&y)+(A&(1<>>=g,p-=g),p<15&&(A+=R[s++]<>>24,A>>>=g,p-=g,g=y>>>16&255,!(16&g)){if(0==(64&g)){y=f[(65535&y)+(A&(1<a){e.msg="invalid distance too far back",D.mode=lt;break e}if(A>>>=g,p-=g,g=r-o,I>g){if(g=I-g,g>h&&D.sane){e.msg="invalid distance too far back",D.mode=lt;break e}if(T=0,_=u,0===c){if(T+=l-g,g2;)P[r++]=_[T++],P[r++]=_[T++],P[r++]=_[T++],v-=3;v&&(P[r++]=_[T++],v>1&&(P[r++]=_[T++]))}else{T=r-I;do{P[r++]=P[T++],P[r++]=P[T++],P[r++]=P[T++],v-=3}while(v>2);v&&(P[r++]=P[T++],v>1&&(P[r++]=P[T++]))}break}}break}}while(s>3,s-=v,p-=v<<3,A&=(1<{const l=a.bits;let h,c,u,A,p,d,f=0,m=0,E=0,y=0,g=0,v=0,I=0,T=0,_=0,R=0,P=null;const D=new Uint16Array(16),N=new Uint16Array(16);let C,b,O,S=null;for(f=0;f<=15;f++)D[f]=0;for(m=0;m=1&&0===D[y];y--);if(g>y&&(g=y),0===y)return r[o++]=20971520,r[o++]=20971520,a.bits=1,0;for(E=1;E0&&(0===e||1!==y))return-1;for(N[1]=0,f=1;f<15;f++)N[f+1]=N[f]+D[f];for(m=0;m852||2===e&&_>592)return 1;for(;;){C=f-I,n[m]+1=d?(b=S[n[m]-d],O=P[n[m]-d]):(b=96,O=0),h=1<>I)+c]=C<<24|b<<16|O|0}while(0!==c);for(h=1<>=1;if(0!==h?(R&=h-1,R+=h):R=0,m++,0==--D[f]){if(f===y)break;f=t[s+n[m]]}if(f>g&&(R&A)!==u){for(0===I&&(I=g),p+=E,v=f-I,T=1<852||2===e&&_>592)return 1;u=R&A,r[u]=g<<24|v<<16|p-o|0}}return 0!==R&&(r[p+R]=f-I<<24|64<<16|0),a.bits=g,0};const{Z_FINISH:ft,Z_BLOCK:mt,Z_TREES:Et,Z_OK:yt,Z_STREAM_END:gt,Z_NEED_DICT:vt,Z_STREAM_ERROR:It,Z_DATA_ERROR:Tt,Z_MEM_ERROR:_t,Z_BUF_ERROR:Rt,Z_DEFLATED:Pt}=U,Dt=16180,Nt=16190,Ct=16191,bt=16192,Ot=16194,St=16199,xt=16200,wt=16206,Bt=16209,Ft=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Mt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Lt=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode16211?1:0},Ut=e=>{if(Lt(e))return It;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Dt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,yt},Ht=e=>{if(Lt(e))return It;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ut(e)},Gt=(e,t)=>{let s;if(Lt(e))return It;const i=e.state;return t<0?(s=0,t=-t):(s=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?It:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=s,i.wbits=t,Ht(e))},kt=(e,t)=>{if(!e)return It;const s=new Mt;e.state=s,s.strm=e,s.window=null,s.mode=Dt;const i=Gt(e,t);return i!==yt&&(e.state=null),i};let Vt,Qt,jt=!0;const Wt=e=>{if(jt){Vt=new Int32Array(512),Qt=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(dt(1,e.lens,0,288,Vt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;dt(2,e.lens,0,32,Qt,0,e.work,{bits:5}),jt=!1}e.lencode=Vt,e.lenbits=9,e.distcode=Qt,e.distbits=5},zt=(e,t,s,i)=>{let r;const o=e.state;return null===o.window&&(o.wsize=1<=o.wsize?(o.window.set(t.subarray(s-o.wsize,s),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),o.window.set(t.subarray(s-i,s-i+r),o.wnext),(i-=r)?(o.window.set(t.subarray(s-i,s),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave{let s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_,R=0;const P=new Uint8Array(4);let D,N;const C=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Lt(e)||!e.output||!e.input&&0!==e.avail_in)return It;s=e.state,s.mode===Ct&&(s.mode=bt),n=e.next_out,r=e.output,l=e.avail_out,o=e.next_in,i=e.input,a=e.avail_in,h=s.hold,c=s.bits,u=a,A=l,_=yt;e:for(;;)switch(s.mode){case Dt:if(0===s.wrap){s.mode=bt;break}for(;c<16;){if(0===a)break e;a--,h+=i[o++]<>>8&255,s.check=M(s.check,P,2,0),h=0,c=0,s.mode=16181;break}if(s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",s.mode=Bt;break}if((15&h)!==Pt){e.msg="unknown compression method",s.mode=Bt;break}if(h>>>=4,c-=4,T=8+(15&h),0===s.wbits&&(s.wbits=T),T>15||T>s.wbits){e.msg="invalid window size",s.mode=Bt;break}s.dmax=1<>8&1),512&s.flags&&4&s.wrap&&(P[0]=255&h,P[1]=h>>>8&255,s.check=M(s.check,P,2,0)),h=0,c=0,s.mode=16182;case 16182:for(;c<32;){if(0===a)break e;a--,h+=i[o++]<>>8&255,P[2]=h>>>16&255,P[3]=h>>>24&255,s.check=M(s.check,P,4,0)),h=0,c=0,s.mode=16183;case 16183:for(;c<16;){if(0===a)break e;a--,h+=i[o++]<>8),512&s.flags&&4&s.wrap&&(P[0]=255&h,P[1]=h>>>8&255,s.check=M(s.check,P,2,0)),h=0,c=0,s.mode=16184;case 16184:if(1024&s.flags){for(;c<16;){if(0===a)break e;a--,h+=i[o++]<>>8&255,s.check=M(s.check,P,2,0)),h=0,c=0}else s.head&&(s.head.extra=null);s.mode=16185;case 16185:if(1024&s.flags&&(p=s.length,p>a&&(p=a),p&&(s.head&&(T=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Uint8Array(s.head.extra_len)),s.head.extra.set(i.subarray(o,o+p),T)),512&s.flags&&4&s.wrap&&(s.check=M(s.check,i,p,o)),a-=p,o+=p,s.length-=p),s.length))break e;s.length=0,s.mode=16186;case 16186:if(2048&s.flags){if(0===a)break e;p=0;do{T=i[o+p++],s.head&&T&&s.length<65536&&(s.head.name+=String.fromCharCode(T))}while(T&&p>9&1,s.head.done=!0),e.adler=s.check=0,s.mode=Ct;break;case 16189:for(;c<32;){if(0===a)break e;a--,h+=i[o++]<>>=7&c,c-=7&c,s.mode=wt;break}for(;c<3;){if(0===a)break e;a--,h+=i[o++]<>>=1,c-=1,3&h){case 0:s.mode=16193;break;case 1:if(Wt(s),s.mode=St,t===Et){h>>>=2,c-=2;break e}break;case 2:s.mode=16196;break;case 3:e.msg="invalid block type",s.mode=Bt}h>>>=2,c-=2;break;case 16193:for(h>>>=7&c,c-=7&c;c<32;){if(0===a)break e;a--,h+=i[o++]<>>16^65535)){e.msg="invalid stored block lengths",s.mode=Bt;break}if(s.length=65535&h,h=0,c=0,s.mode=Ot,t===Et)break e;case Ot:s.mode=16195;case 16195:if(p=s.length,p){if(p>a&&(p=a),p>l&&(p=l),0===p)break e;r.set(i.subarray(o,o+p),n),a-=p,o+=p,l-=p,n+=p,s.length-=p;break}s.mode=Ct;break;case 16196:for(;c<14;){if(0===a)break e;a--,h+=i[o++]<>>=5,c-=5,s.ndist=1+(31&h),h>>>=5,c-=5,s.ncode=4+(15&h),h>>>=4,c-=4,s.nlen>286||s.ndist>30){e.msg="too many length or distance symbols",s.mode=Bt;break}s.have=0,s.mode=16197;case 16197:for(;s.have>>=3,c-=3}for(;s.have<19;)s.lens[C[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,D={bits:s.lenbits},_=dt(0,s.lens,0,19,s.lencode,0,s.work,D),s.lenbits=D.bits,_){e.msg="invalid code lengths set",s.mode=Bt;break}s.have=0,s.mode=16198;case 16198:for(;s.have>>24,E=R>>>16&255,y=65535&R,!(m<=c);){if(0===a)break e;a--,h+=i[o++]<>>=m,c-=m,s.lens[s.have++]=y;else{if(16===y){for(N=m+2;c>>=m,c-=m,0===s.have){e.msg="invalid bit length repeat",s.mode=Bt;break}T=s.lens[s.have-1],p=3+(3&h),h>>>=2,c-=2}else if(17===y){for(N=m+3;c>>=m,c-=m,T=0,p=3+(7&h),h>>>=3,c-=3}else{for(N=m+7;c>>=m,c-=m,T=0,p=11+(127&h),h>>>=7,c-=7}if(s.have+p>s.nlen+s.ndist){e.msg="invalid bit length repeat",s.mode=Bt;break}for(;p--;)s.lens[s.have++]=T}}if(s.mode===Bt)break;if(0===s.lens[256]){e.msg="invalid code -- missing end-of-block",s.mode=Bt;break}if(s.lenbits=9,D={bits:s.lenbits},_=dt(1,s.lens,0,s.nlen,s.lencode,0,s.work,D),s.lenbits=D.bits,_){e.msg="invalid literal/lengths set",s.mode=Bt;break}if(s.distbits=6,s.distcode=s.distdyn,D={bits:s.distbits},_=dt(2,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,D),s.distbits=D.bits,_){e.msg="invalid distances set",s.mode=Bt;break}if(s.mode=St,t===Et)break e;case St:s.mode=xt;case xt:if(a>=6&&l>=258){e.next_out=n,e.avail_out=l,e.next_in=o,e.avail_in=a,s.hold=h,s.bits=c,ht(e,A),n=e.next_out,r=e.output,l=e.avail_out,o=e.next_in,i=e.input,a=e.avail_in,h=s.hold,c=s.bits,s.mode===Ct&&(s.back=-1);break}for(s.back=0;R=s.lencode[h&(1<>>24,E=R>>>16&255,y=65535&R,!(m<=c);){if(0===a)break e;a--,h+=i[o++]<>g)],m=R>>>24,E=R>>>16&255,y=65535&R,!(g+m<=c);){if(0===a)break e;a--,h+=i[o++]<>>=g,c-=g,s.back+=g}if(h>>>=m,c-=m,s.back+=m,s.length=y,0===E){s.mode=16205;break}if(32&E){s.back=-1,s.mode=Ct;break}if(64&E){e.msg="invalid literal/length code",s.mode=Bt;break}s.extra=15&E,s.mode=16201;case 16201:if(s.extra){for(N=s.extra;c>>=s.extra,c-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=16202;case 16202:for(;R=s.distcode[h&(1<>>24,E=R>>>16&255,y=65535&R,!(m<=c);){if(0===a)break e;a--,h+=i[o++]<>g)],m=R>>>24,E=R>>>16&255,y=65535&R,!(g+m<=c);){if(0===a)break e;a--,h+=i[o++]<>>=g,c-=g,s.back+=g}if(h>>>=m,c-=m,s.back+=m,64&E){e.msg="invalid distance code",s.mode=Bt;break}s.offset=y,s.extra=15&E,s.mode=16203;case 16203:if(s.extra){for(N=s.extra;c>>=s.extra,c-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){e.msg="invalid distance too far back",s.mode=Bt;break}s.mode=16204;case 16204:if(0===l)break e;if(p=A-l,s.offset>p){if(p=s.offset-p,p>s.whave&&s.sane){e.msg="invalid distance too far back",s.mode=Bt;break}p>s.wnext?(p-=s.wnext,d=s.wsize-p):d=s.wnext-p,p>s.length&&(p=s.length),f=s.window}else f=r,d=n-s.offset,p=s.length;p>l&&(p=l),l-=p,s.length-=p;do{r[n++]=f[d++]}while(--p);0===s.length&&(s.mode=xt);break;case 16205:if(0===l)break e;r[n++]=s.length,l--,s.mode=xt;break;case wt:if(s.wrap){for(;c<32;){if(0===a)break e;a--,h|=i[o++]<{if(Lt(e))return It;let t=e.state;return t.window&&(t.window=null),e.state=null,yt},qt=(e,t)=>{if(Lt(e))return It;const s=e.state;return 0==(2&s.wrap)?It:(s.head=t,t.done=!1,yt)},Jt=(e,t)=>{const s=t.length;let i,r,o;return Lt(e)?It:(i=e.state,0!==i.wrap&&i.mode!==Nt?It:i.mode===Nt&&(r=1,r=B(r,t,s,0),r!==i.check)?Tt:(o=zt(e,t,s,s),o?(i.mode=16210,_t):(i.havedict=1,yt)))},$t=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const es=Object.prototype.toString,{Z_NO_FLUSH:ts,Z_FINISH:ss,Z_OK:is,Z_STREAM_END:rs,Z_NEED_DICT:os,Z_STREAM_ERROR:ns,Z_DATA_ERROR:as,Z_MEM_ERROR:ls}=U;function hs(e){this.options=ke({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ye,this.strm.avail_out=0;let s=Yt(this.strm,t.windowBits);if(s!==is)throw new Error(L[s]);if(this.header=new $t,qt(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=We(t.dictionary):"[object ArrayBuffer]"===es.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(s=Jt(this.strm,t.dictionary),s!==is)))throw new Error(L[s])}function cs(e,t){const s=new hs(t);if(s.push(e),s.err)throw s.msg||L[s.err];return s.result}hs.prototype.push=function(e,t){const s=this.strm,i=this.options.chunkSize,r=this.options.dictionary;let o,n,a;if(this.ended)return!1;for(n=t===~~t?t:!0===t?ss:ts,"[object ArrayBuffer]"===es.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;;){for(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),o=Xt(s,n),o===os&&r&&(o=Jt(s,r),o===is?o=Xt(s,n):o===as&&(o=os));s.avail_in>0&&o===rs&&s.state.wrap>0&&0!==e[s.next_in];)Kt(s),o=Xt(s,n);switch(o){case ns:case as:case os:case ls:return this.onEnd(o),this.ended=!0,!1}if(a=s.avail_out,s.next_out&&(0===s.avail_out||o===rs))if("string"===this.options.to){let e=Ke(s.output,s.next_out),t=s.next_out-e,r=ze(s.output,e);s.next_out=t,s.avail_out=i-t,t&&s.output.set(s.output.subarray(e,e+t),0),this.onData(r)}else this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out));if(o!==is||0!==a){if(o===rs)return o=Zt(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===s.avail_in)break}}return!0},hs.prototype.onData=function(e){this.chunks.push(e)},hs.prototype.onEnd=function(e){e===is&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ve(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var us={Inflate:hs,inflate:cs,inflateRaw:function(e,t){return(t=t||{}).raw=!0,cs(e,t)},ungzip:cs,constants:U};const{Deflate:As,deflate:ps,deflateRaw:ds,gzip:fs}=at,{Inflate:ms,inflate:Es,inflateRaw:ys,ungzip:gs}=us;var vs=As,Is=ps,Ts=ds,_s=fs,Rs=ms,Ps=Es,Ds=ys,Ns=gs,Cs=U,bs={Deflate:vs,deflate:Is,deflateRaw:Ts,gzip:_s,Inflate:Rs,inflate:Ps,inflateRaw:Ds,ungzip:Ns,constants:Cs};e.Deflate=vs,e.Inflate=Rs,e.constants=Cs,e.default=bs,e.deflate=Is,e.deflateRaw=Ts,e.gzip=_s,e.inflate=Ps,e.inflateRaw=Ds,e.ungzip=Ns,Object.defineProperty(e,"__esModule",{value:!0})}));var dE=Object.freeze({__proto__:null});let fE=window.pako||dE;fE.inflate||(fE=fE.default);const mE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const EE={version:1,parse:function(e,t,s,i,r,o){const n=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],meshPositions:e[4],meshIndices:e[5],meshEdgesIndices:e[6],meshColors:e[7],entityIDs:e[8],entityMeshes:e[9],entityIsObjects:e[10],positionsDecodeMatrix:e[11]}}(s),a=function(e){return{positions:new Uint16Array(fE.inflate(e.positions).buffer),normals:new Int8Array(fE.inflate(e.normals).buffer),indices:new Uint32Array(fE.inflate(e.indices).buffer),edgeIndices:new Uint32Array(fE.inflate(e.edgeIndices).buffer),meshPositions:new Uint32Array(fE.inflate(e.meshPositions).buffer),meshIndices:new Uint32Array(fE.inflate(e.meshIndices).buffer),meshEdgesIndices:new Uint32Array(fE.inflate(e.meshEdgesIndices).buffer),meshColors:new Uint8Array(fE.inflate(e.meshColors).buffer),entityIDs:fE.inflate(e.entityIDs,{to:"string"}),entityMeshes:new Uint32Array(fE.inflate(e.entityMeshes).buffer),entityIsObjects:new Uint8Array(fE.inflate(e.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(fE.inflate(e.positionsDecodeMatrix).buffer)}}(n);!function(e,t,s,i,r,o){o.getNextId(),i.positionsCompression="precompressed",i.normalsCompression="precompressed";const n=s.positions,a=s.normals,l=s.indices,h=s.edgeIndices,c=s.meshPositions,u=s.meshIndices,p=s.meshEdgesIndices,d=s.meshColors,f=JSON.parse(s.entityIDs),m=s.entityMeshes,y=s.entityIsObjects,g=c.length,v=m.length;for(let r=0;rm[e]m[t]?1:0));for(let e=0;e1||(C[s]=e)}}for(let e=0;e<_;e++){const t=D[e],s=t===_-1,r=P[t]>1,o=PE(y.subarray(4*t,4*t+3)),A=y[4*t+3]/255,g=a.subarray(p[t],s?a.length:p[t+1]),I=l.subarray(p[t],s?l.length:p[t+1]),T=h.subarray(d[t],s?h.length:d[t+1]),R=c.subarray(f[t],s?c.length:f[t+1]),N=u.subarray(m[t],m[t]+16);if(r){const e=`${n}-geometry.${t}`;i.createGeometry({id:e,primitive:"triangles",positionsCompressed:g,normalsCompressed:I,indices:T,edgeIndices:R,positionsDecodeMatrix:N})}else{const e=`${n}-${t}`;v[C[t]];const s={};i.createMesh(E.apply(s,{id:e,primitive:"triangles",positionsCompressed:g,normalsCompressed:I,indices:T,edgeIndices:R,positionsDecodeMatrix:N,color:o,opacity:A}))}}let b=0;for(let e=0;e1){const t={},r=`${n}-instance.${b++}`,o=`${n}-geometry.${s}`,a=16*T[e],h=A.subarray(a,a+16);i.createMesh(E.apply(t,{id:r,geometryId:o,matrix:h})),l.push(r)}else l.push(s)}if(l.length>0){const e={};i.createEntity(E.apply(e,{id:r,isObject:!0,meshIds:l}))}}}(0,0,a,i,0,o)}};let NE=window.pako||dE;NE.inflate||(NE=NE.default);const CE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const bE={version:5,parse:function(e,t,s,i,r,o){const n=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],eachPrimitivePositionsAndNormalsPortion:e[5],eachPrimitiveIndicesPortion:e[6],eachPrimitiveEdgeIndicesPortion:e[7],eachPrimitiveColor:e[8],primitiveInstances:e[9],eachEntityId:e[10],eachEntityPrimitiveInstancesPortion:e[11],eachEntityMatricesPortion:e[12]}}(s),a=function(e){return{positions:new Float32Array(NE.inflate(e.positions).buffer),normals:new Int8Array(NE.inflate(e.normals).buffer),indices:new Uint32Array(NE.inflate(e.indices).buffer),edgeIndices:new Uint32Array(NE.inflate(e.edgeIndices).buffer),matrices:new Float32Array(NE.inflate(e.matrices).buffer),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(NE.inflate(e.eachPrimitivePositionsAndNormalsPortion).buffer),eachPrimitiveIndicesPortion:new Uint32Array(NE.inflate(e.eachPrimitiveIndicesPortion).buffer),eachPrimitiveEdgeIndicesPortion:new Uint32Array(NE.inflate(e.eachPrimitiveEdgeIndicesPortion).buffer),eachPrimitiveColor:new Uint8Array(NE.inflate(e.eachPrimitiveColor).buffer),primitiveInstances:new Uint32Array(NE.inflate(e.primitiveInstances).buffer),eachEntityId:NE.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(NE.inflate(e.eachEntityPrimitiveInstancesPortion).buffer),eachEntityMatricesPortion:new Uint32Array(NE.inflate(e.eachEntityMatricesPortion).buffer)}}(n);!function(e,t,s,i,r,o){const n=o.getNextId();i.positionsCompression="disabled",i.normalsCompression="precompressed";const a=s.positions,l=s.normals,h=s.indices,c=s.edgeIndices,u=s.matrices,A=s.eachPrimitivePositionsAndNormalsPortion,p=s.eachPrimitiveIndicesPortion,d=s.eachPrimitiveEdgeIndicesPortion,f=s.eachPrimitiveColor,m=s.primitiveInstances,y=JSON.parse(s.eachEntityId),g=s.eachEntityPrimitiveInstancesPortion,v=s.eachEntityMatricesPortion,I=A.length,T=m.length,_=new Uint8Array(I),R=y.length;for(let e=0;e1||(P[s]=e)}}for(let e=0;e1,r=CE(f.subarray(4*e,4*e+3)),o=f[4*e+3]/255,u=a.subarray(A[e],t?a.length:A[e+1]),m=l.subarray(A[e],t?l.length:A[e+1]),g=h.subarray(p[e],t?h.length:p[e+1]),v=c.subarray(d[e],t?c.length:d[e+1]);if(s){const t=`${n}-geometry.${e}`;i.createGeometry({id:t,primitive:"triangles",positionsCompressed:u,normalsCompressed:m,indices:g,edgeIndices:v})}else{const t=e;y[P[e]];const s={};i.createMesh(E.apply(s,{id:t,primitive:"triangles",positionsCompressed:u,normalsCompressed:m,indices:g,edgeIndices:v,color:r,opacity:o}))}}let D=0;for(let e=0;e1){const t={},r="instance."+D++,o="geometry"+s,n=16*v[e],l=u.subarray(n,n+16);i.createMesh(E.apply(t,{id:r,geometryId:o,matrix:l})),a.push(r)}else a.push(s)}if(a.length>0){const e={};i.createEntity(E.apply(e,{id:r,isObject:!0,meshIds:a}))}}}(0,0,a,i,0,o)}};let OE=window.pako||dE;OE.inflate||(OE=OE.default);const SE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const xE={version:6,parse:function(e,t,s,i,r,o){const n=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],reusedPrimitivesDecodeMatrix:e[5],eachPrimitivePositionsAndNormalsPortion:e[6],eachPrimitiveIndicesPortion:e[7],eachPrimitiveEdgeIndicesPortion:e[8],eachPrimitiveColorAndOpacity:e[9],primitiveInstances:e[10],eachEntityId:e[11],eachEntityPrimitiveInstancesPortion:e[12],eachEntityMatricesPortion:e[13],eachTileAABB:e[14],eachTileEntitiesPortion:e[15]}}(s),a=function(e){function t(e,t){return 0===e.length?[]:OE.inflate(e,t).buffer}return{positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedPrimitivesDecodeMatrix:new Float32Array(t(e.reusedPrimitivesDecodeMatrix)),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(t(e.eachPrimitivePositionsAndNormalsPortion)),eachPrimitiveIndicesPortion:new Uint32Array(t(e.eachPrimitiveIndicesPortion)),eachPrimitiveEdgeIndicesPortion:new Uint32Array(t(e.eachPrimitiveEdgeIndicesPortion)),eachPrimitiveColorAndOpacity:new Uint8Array(t(e.eachPrimitiveColorAndOpacity)),primitiveInstances:new Uint32Array(t(e.primitiveInstances)),eachEntityId:OE.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(t(e.eachEntityPrimitiveInstancesPortion)),eachEntityMatricesPortion:new Uint32Array(t(e.eachEntityMatricesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(n);!function(e,t,s,i,r,o){const n=o.getNextId(),a=s.positions,l=s.normals,h=s.indices,c=s.edgeIndices,u=s.matrices,p=s.reusedPrimitivesDecodeMatrix,d=s.eachPrimitivePositionsAndNormalsPortion,f=s.eachPrimitiveIndicesPortion,m=s.eachPrimitiveEdgeIndicesPortion,y=s.eachPrimitiveColorAndOpacity,g=s.primitiveInstances,v=JSON.parse(s.eachEntityId),I=s.eachEntityPrimitiveInstancesPortion,T=s.eachEntityMatricesPortion,_=s.eachTileAABB,R=s.eachTileEntitiesPortion,P=d.length,D=g.length,N=v.length,C=R.length,b=new Uint32Array(P);for(let e=0;e1,u=t===P-1,A=a.subarray(d[t],u?a.length:d[t+1]),v=l.subarray(d[t],u?l.length:d[t+1]),I=h.subarray(f[t],u?h.length:f[t+1]),T=c.subarray(m[t],u?c.length:m[t+1]),_=SE(y.subarray(4*t,4*t+3)),R=y[4*t+3]/255,D=o.getNextId();if(r){const e=`${n}-geometry.${s}.${t}`;M[e]||(i.createGeometry({id:e,primitive:"triangles",positionsCompressed:A,indices:I,edgeIndices:T,positionsDecodeMatrix:p}),M[e]=!0),i.createMesh(E.apply(H,{id:D,geometryId:e,origin:O,matrix:C,color:_,opacity:R})),B.push(D)}else i.createMesh(E.apply(H,{id:D,origin:O,primitive:"triangles",positionsCompressed:A,normalsCompressed:v,indices:I,edgeIndices:T,positionsDecodeMatrix:F,color:_,opacity:R})),B.push(D)}B.length>0&&i.createEntity(E.apply(U,{id:R,isObject:!0,meshIds:B}))}}}(e,t,a,i,0,o)}};let wE=window.pako||dE;wE.inflate||(wE=wE.default);const BE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function FE(e){const t=[];for(let s=0,i=e.length;s1,A=t===b-1,P=BE(R.subarray(6*e,6*e+3)),D=R[6*e+3]/255,N=R[6*e+4]/255,C=R[6*e+5]/255,O=o.getNextId();if(r){const r=_[e],o=p.slice(r,r+16),T=`${n}-geometry.${s}.${t}`;if(!G[T]){let e,s,r,o,n,p;switch(f[t]){case 0:e="solid",s=a.subarray(m[t],A?a.length:m[t+1]),r=l.subarray(y[t],A?l.length:y[t+1]),n=c.subarray(v[t],A?c.length:v[t+1]),p=u.subarray(I[t],A?u.length:I[t+1]);break;case 1:e="surface",s=a.subarray(m[t],A?a.length:m[t+1]),r=l.subarray(y[t],A?l.length:y[t+1]),n=c.subarray(v[t],A?c.length:v[t+1]),p=u.subarray(I[t],A?u.length:I[t+1]);break;case 2:e="points",s=a.subarray(m[t],A?a.length:m[t+1]),o=FE(h.subarray(g[t],A?h.length:g[t+1]));break;case 3:e="lines",s=a.subarray(m[t],A?a.length:m[t+1]),n=c.subarray(v[t],A?c.length:v[t+1]);break;default:continue}i.createGeometry({id:T,primitive:e,positionsCompressed:s,normalsCompressed:r,colors:o,indices:n,edgeIndices:p,positionsDecodeMatrix:d}),G[T]=!0}i.createMesh(E.apply(k,{id:O,geometryId:T,origin:B,matrix:o,color:P,metallic:N,roughness:C,opacity:D})),M.push(O)}else{let e,s,r,o,n,p;switch(f[t]){case 0:e="solid",s=a.subarray(m[t],A?a.length:m[t+1]),r=l.subarray(y[t],A?l.length:y[t+1]),n=c.subarray(v[t],A?c.length:v[t+1]),p=u.subarray(I[t],A?u.length:I[t+1]);break;case 1:e="surface",s=a.subarray(m[t],A?a.length:m[t+1]),r=l.subarray(y[t],A?l.length:y[t+1]),n=c.subarray(v[t],A?c.length:v[t+1]),p=u.subarray(I[t],A?u.length:I[t+1]);break;case 2:e="points",s=a.subarray(m[t],A?a.length:m[t+1]),o=FE(h.subarray(g[t],A?h.length:g[t+1]));break;case 3:e="lines",s=a.subarray(m[t],A?a.length:m[t+1]),n=c.subarray(v[t],A?c.length:v[t+1]);break;default:continue}i.createMesh(E.apply(k,{id:O,origin:B,primitive:e,positionsCompressed:s,normalsCompressed:r,colors:o,indices:n,edgeIndices:p,positionsDecodeMatrix:H,color:P,metallic:N,roughness:C,opacity:D})),M.push(O)}}M.length>0&&i.createEntity(E.apply(U,{id:C,isObject:!0,meshIds:M}))}}}(e,t,a,i,0,o)}};let LE=window.pako||dE;LE.inflate||(LE=LE.default);const UE=A.vec4(),HE=A.vec4();const GE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function kE(e){const t=[];for(let s=0,i=e.length;s1,l=r===F-1,h=GE(b.subarray(6*e,6*e+3)),c=b[6*e+3]/255,u=b[6*e+4]/255,O=b[6*e+5]/255,S=o.getNextId();if(a){const o=C[e],a=g.slice(o,o+16),N=`${n}-geometry.${s}.${r}`;let b=V[N];if(!b){b={batchThisMesh:!t.reuseGeometries};let e=!1;switch(I[r]){case 0:b.primitiveName="solid",b.geometryPositions=p.subarray(T[r],l?p.length:T[r+1]),b.geometryNormals=d.subarray(_[r],l?d.length:_[r+1]),b.geometryIndices=m.subarray(P[r],l?m.length:P[r+1]),b.geometryEdgeIndices=y.subarray(D[r],l?y.length:D[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 1:b.primitiveName="surface",b.geometryPositions=p.subarray(T[r],l?p.length:T[r+1]),b.geometryNormals=d.subarray(_[r],l?d.length:_[r+1]),b.geometryIndices=m.subarray(P[r],l?m.length:P[r+1]),b.geometryEdgeIndices=y.subarray(D[r],l?y.length:D[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 2:b.primitiveName="points",b.geometryPositions=p.subarray(T[r],l?p.length:T[r+1]),b.geometryColors=kE(f.subarray(R[r],l?f.length:R[r+1])),e=b.geometryPositions.length>0;break;case 3:b.primitiveName="lines",b.geometryPositions=p.subarray(T[r],l?p.length:T[r+1]),b.geometryIndices=m.subarray(P[r],l?m.length:P[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;default:continue}if(e||(b=null),b&&(b.geometryPositions.length,b.batchThisMesh)){b.decompressedPositions=new Float32Array(b.geometryPositions.length);const e=b.geometryPositions,t=b.decompressedPositions;for(let s=0,i=e.length;s0&&n.length>0;break;case 1:e="surface",t=p.subarray(T[r],l?p.length:T[r+1]),s=d.subarray(_[r],l?d.length:_[r+1]),n=m.subarray(P[r],l?m.length:P[r+1]),a=y.subarray(D[r],l?y.length:D[r+1]),A=t.length>0&&n.length>0;break;case 2:e="points",t=p.subarray(T[r],l?p.length:T[r+1]),o=kE(f.subarray(R[r],l?f.length:R[r+1])),A=t.length>0;break;case 3:e="lines",t=p.subarray(T[r],l?p.length:T[r+1]),n=m.subarray(P[r],l?m.length:P[r+1]),A=t.length>0&&n.length>0;break;default:continue}A&&(i.createMesh(E.apply(j,{id:S,origin:G,primitive:e,positionsCompressed:t,normalsCompressed:s,colorsCompressed:o,indices:n,edgeIndices:a,positionsDecodeMatrix:B,color:h,metallic:u,roughness:O,opacity:c})),w.push(S))}}w.length>0&&i.createEntity(E.apply(Q,{id:h,isObject:!0,meshIds:w}))}}}(e,t,a,i,r,o)}};let QE=window.pako||dE;QE.inflate||(QE=QE.default);const jE=A.vec4(),WE=A.vec4();const zE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const KE={version:9,parse:function(e,t,s,i,r,o){const n=function(e){return{metadata:e[0],positions:e[1],normals:e[2],colors:e[3],indices:e[4],edgeIndices:e[5],matrices:e[6],reusedGeometriesDecodeMatrix:e[7],eachGeometryPrimitiveType:e[8],eachGeometryPositionsPortion:e[9],eachGeometryNormalsPortion:e[10],eachGeometryColorsPortion:e[11],eachGeometryIndicesPortion:e[12],eachGeometryEdgeIndicesPortion:e[13],eachMeshGeometriesPortion:e[14],eachMeshMatricesPortion:e[15],eachMeshMaterial:e[16],eachEntityId:e[17],eachEntityMeshesPortion:e[18],eachTileAABB:e[19],eachTileEntitiesPortion:e[20]}}(s),a=function(e){function t(e,t){return 0===e.length?[]:QE.inflate(e,t).buffer}return{metadata:JSON.parse(QE.inflate(e.metadata,{to:"string"})),positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),colors:new Uint8Array(t(e.colors)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedGeometriesDecodeMatrix:new Float32Array(t(e.reusedGeometriesDecodeMatrix)),eachGeometryPrimitiveType:new Uint8Array(t(e.eachGeometryPrimitiveType)),eachGeometryPositionsPortion:new Uint32Array(t(e.eachGeometryPositionsPortion)),eachGeometryNormalsPortion:new Uint32Array(t(e.eachGeometryNormalsPortion)),eachGeometryColorsPortion:new Uint32Array(t(e.eachGeometryColorsPortion)),eachGeometryIndicesPortion:new Uint32Array(t(e.eachGeometryIndicesPortion)),eachGeometryEdgeIndicesPortion:new Uint32Array(t(e.eachGeometryEdgeIndicesPortion)),eachMeshGeometriesPortion:new Uint32Array(t(e.eachMeshGeometriesPortion)),eachMeshMatricesPortion:new Uint32Array(t(e.eachMeshMatricesPortion)),eachMeshMaterial:new Uint8Array(t(e.eachMeshMaterial)),eachEntityId:JSON.parse(QE.inflate(e.eachEntityId,{to:"string"})),eachEntityMeshesPortion:new Uint32Array(t(e.eachEntityMeshesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(n);!function(e,t,s,i,r,o){const n=o.getNextId(),a=s.metadata,l=s.positions,h=s.normals,c=s.colors,u=s.indices,p=s.edgeIndices,d=s.matrices,f=s.reusedGeometriesDecodeMatrix,m=s.eachGeometryPrimitiveType,y=s.eachGeometryPositionsPortion,g=s.eachGeometryNormalsPortion,v=s.eachGeometryColorsPortion,I=s.eachGeometryIndicesPortion,T=s.eachGeometryEdgeIndicesPortion,_=s.eachMeshGeometriesPortion,R=s.eachMeshMatricesPortion,P=s.eachMeshMaterial,D=s.eachEntityId,N=s.eachEntityMeshesPortion,C=s.eachTileAABB,b=s.eachTileEntitiesPortion,O=y.length,S=_.length,x=N.length,w=b.length;r&&r.loadData(a);const B=new Uint32Array(O);for(let e=0;e1,D=r===O-1,N=zE(P.subarray(6*e,6*e+3)),C=P[6*e+3]/255,b=P[6*e+4]/255,S=P[6*e+5]/255,x=o.getNextId();if(a){const o=R[e],a=d.slice(o,o+16),_=`${n}-geometry.${s}.${r}`;let P=L[_];if(!P){P={batchThisMesh:!t.reuseGeometries};let e=!1;switch(m[r]){case 0:P.primitiveName="solid",P.geometryPositions=l.subarray(y[r],D?l.length:y[r+1]),P.geometryNormals=h.subarray(g[r],D?h.length:g[r+1]),P.geometryIndices=u.subarray(I[r],D?u.length:I[r+1]),P.geometryEdgeIndices=p.subarray(T[r],D?p.length:T[r+1]),e=P.geometryPositions.length>0&&P.geometryIndices.length>0;break;case 1:P.primitiveName="surface",P.geometryPositions=l.subarray(y[r],D?l.length:y[r+1]),P.geometryNormals=h.subarray(g[r],D?h.length:g[r+1]),P.geometryIndices=u.subarray(I[r],D?u.length:I[r+1]),P.geometryEdgeIndices=p.subarray(T[r],D?p.length:T[r+1]),e=P.geometryPositions.length>0&&P.geometryIndices.length>0;break;case 2:P.primitiveName="points",P.geometryPositions=l.subarray(y[r],D?l.length:y[r+1]),P.geometryColors=c.subarray(v[r],D?c.length:v[r+1]),e=P.geometryPositions.length>0;break;case 3:P.primitiveName="lines",P.geometryPositions=l.subarray(y[r],D?l.length:y[r+1]),P.geometryIndices=u.subarray(I[r],D?u.length:I[r+1]),e=P.geometryPositions.length>0&&P.geometryIndices.length>0;break;default:continue}if(e||(P=null),P&&(P.geometryPositions.length,P.batchThisMesh)){P.decompressedPositions=new Float32Array(P.geometryPositions.length),P.transformedAndRecompressedPositions=new Uint16Array(P.geometryPositions.length);const e=P.geometryPositions,t=P.decompressedPositions;for(let s=0,i=e.length;s0&&n.length>0;break;case 1:e="surface",t=l.subarray(y[r],D?l.length:y[r+1]),s=h.subarray(g[r],D?h.length:g[r+1]),n=u.subarray(I[r],D?u.length:I[r+1]),a=p.subarray(T[r],D?p.length:T[r+1]),A=t.length>0&&n.length>0;break;case 2:e="points",t=l.subarray(y[r],D?l.length:y[r+1]),o=c.subarray(v[r],D?c.length:v[r+1]),A=t.length>0;break;case 3:e="lines",t=l.subarray(y[r],D?l.length:y[r+1]),n=u.subarray(I[r],D?u.length:I[r+1]),A=t.length>0&&n.length>0;break;default:continue}A&&(i.createMesh(E.apply(Q,{id:x,origin:F,primitive:e,positionsCompressed:t,normalsCompressed:s,colorsCompressed:o,indices:n,edgeIndices:a,positionsDecodeMatrix:G,color:N,metallic:b,roughness:S,opacity:C})),U.push(x))}}U.length>0&&i.createEntity(E.apply(V,{id:C,isObject:!0,meshIds:U}))}}}(e,t,a,i,r,o)}};let YE=window.pako||dE;YE.inflate||(YE=YE.default);const XE=A.vec4(),ZE=A.vec4();const qE=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function JE(e,t){const s=[];if(t.length>1)for(let e=0,i=t.length-1;e1)for(let t=0,i=e.length/3-1;t0,a=9*e,u=1===c[a+0],A=c[a+1];c[a+2],c[a+3];const p=c[a+4],d=c[a+5],f=c[a+6],m=c[a+7],E=c[a+8];if(o){const t=new Uint8Array(l.subarray(s,r)).buffer,o=`${n}-texture-${e}`;if(u)i.createTexture({id:o,buffers:[t],minFilter:p,magFilter:d,wrapS:f,wrapT:m,wrapR:E});else{const e=new Blob([t],{type:10001===A?"image/jpeg":10002===A?"image/png":"image/gif"}),s=(window.URL||window.webkitURL).createObjectURL(e),r=document.createElement("img");r.src=s,i.createTexture({id:o,image:r,minFilter:p,magFilter:d,wrapS:f,wrapT:m,wrapR:E})}}}for(let e=0;e=0?`${n}-texture-${r}`:null,normalsTextureId:a>=0?`${n}-texture-${a}`:null,metallicRoughnessTextureId:o>=0?`${n}-texture-${o}`:null,emissiveTextureId:l>=0?`${n}-texture-${l}`:null,occlusionTextureId:h>=0?`${n}-texture-${h}`:null})}const Q=new Uint32Array(H);for(let e=0;e1,l=r===H-1,h=S[e],c=h>=0?`${n}-textureSet-${h}`:null,w=qE(x.subarray(6*e,6*e+3)),B=x[6*e+3]/255,F=x[6*e+4]/255,U=x[6*e+5]/255,G=o.getNextId();if(a){const o=O[e],a=v.slice(o,o+16),h=`${n}-geometry.${s}.${r}`;let b=z[h];if(!b){b={batchThisMesh:!t.reuseGeometries};let e=!1;switch(T[r]){case 0:b.primitiveName="solid",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryNormals=p.subarray(R[r],l?p.length:R[r+1]),b.geometryUVs=f.subarray(D[r],l?f.length:D[r+1]),b.geometryIndices=m.subarray(N[r],l?m.length:N[r+1]),b.geometryEdgeIndices=y.subarray(C[r],l?y.length:C[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 1:b.primitiveName="surface",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryNormals=p.subarray(R[r],l?p.length:R[r+1]),b.geometryUVs=f.subarray(D[r],l?f.length:D[r+1]),b.geometryIndices=m.subarray(N[r],l?m.length:N[r+1]),b.geometryEdgeIndices=y.subarray(C[r],l?y.length:C[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 2:b.primitiveName="points",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryColors=d.subarray(P[r],l?d.length:P[r+1]),e=b.geometryPositions.length>0;break;case 3:b.primitiveName="lines",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryIndices=m.subarray(N[r],l?m.length:N[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 4:b.primitiveName="lines",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryIndices=JE(b.geometryPositions,m.subarray(N[r],l?m.length:N[r+1])),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;default:continue}if(e||(b=null),b&&(b.geometryPositions.length,b.batchThisMesh)){b.decompressedPositions=new Float32Array(b.geometryPositions.length),b.transformedAndRecompressedPositions=new Uint16Array(b.geometryPositions.length);const e=b.geometryPositions,t=b.decompressedPositions;for(let s=0,i=e.length;s0&&a.length>0;break;case 1:e="surface",t=u.subarray(_[r],l?u.length:_[r+1]),s=p.subarray(R[r],l?p.length:R[r+1]),o=f.subarray(D[r],l?f.length:D[r+1]),a=m.subarray(N[r],l?m.length:N[r+1]),h=y.subarray(C[r],l?y.length:C[r+1]),A=t.length>0&&a.length>0;break;case 2:e="points",t=u.subarray(_[r],l?u.length:_[r+1]),n=d.subarray(P[r],l?d.length:P[r+1]),A=t.length>0;break;case 3:e="lines",t=u.subarray(_[r],l?u.length:_[r+1]),a=m.subarray(N[r],l?m.length:N[r+1]),A=t.length>0&&a.length>0;break;case 4:e="lines",t=u.subarray(_[r],l?u.length:_[r+1]),a=JE(t,m.subarray(N[r],l?m.length:N[r+1])),A=t.length>0&&a.length>0;break;default:continue}A&&(i.createMesh(E.apply(V,{id:G,textureSetId:c,origin:j,primitive:e,positionsCompressed:t,normalsCompressed:s,uv:o&&o.length>0?o:null,colorsCompressed:n,indices:a,edgeIndices:h,positionsDecodeMatrix:g,color:w,metallic:F,roughness:U,opacity:B})),M.push(G))}}M.length>0&&i.createEntity(E.apply(G,{id:l,isObject:!0,meshIds:M}))}}}(e,t,a,i,r,o)}},ey={};ey[EE.version]=EE,ey[vE.version]=vE,ey[_E.version]=_E,ey[DE.version]=DE,ey[bE.version]=bE,ey[xE.version]=xE,ey[ME.version]=ME,ey[VE.version]=VE,ey[KE.version]=KE,ey[$E.version]=$E;class ty extends n{constructor(e,t={}){super("XKTLoader",e,t),this._maxGeometryBatchSize=t.maxGeometryBatchSize,this.textureTranscoder=t.textureTranscoder,this.dataSource=t.dataSource,this.objectDefaults=t.objectDefaults,this.includeTypes=t.includeTypes,this.excludeTypes=t.excludeTypes,this.excludeUnclassifiedObjects=t.excludeUnclassifiedObjects,this.reuseGeometries=t.reuseGeometries}get supportedVersions(){return Object.keys(ey)}get textureTranscoder(){return this._textureTranscoder}set textureTranscoder(e){this._textureTranscoder=e}get dataSource(){return this._dataSource}set dataSource(e){this._dataSource=e||new pE}get objectDefaults(){return this._objectDefaults}set objectDefaults(e){this._objectDefaults=e||Jm}get includeTypes(){return this._includeTypes}set includeTypes(e){this._includeTypes=e}get excludeTypes(){return this._excludeTypes}set excludeTypes(e){this._excludeTypes=e}get excludeUnclassifiedObjects(){return this._excludeUnclassifiedObjects}set excludeUnclassifiedObjects(e){this._excludeUnclassifiedObjects=!!e}get globalizeObjectIds(){return this._globalizeObjectIds}set globalizeObjectIds(e){this._globalizeObjectIds=!!e}get reuseGeometries(){return this._reuseGeometries}set reuseGeometries(e){this._reuseGeometries=!1!==e}load(e={}){if(e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id),!e.src&&!e.xkt&&!e.manifestSrc)return this.error("load() param expected: src, xkt or manifestSrc"),o;const t={},s=e.includeTypes||this._includeTypes,i=e.excludeTypes||this._excludeTypes,r=e.objectDefaults||this._objectDefaults;if(t.reuseGeometries=null!==e.reuseGeometries&&void 0!==e.reuseGeometries?e.reuseGeometries:!1!==this._reuseGeometries,s){t.includeTypesMap={};for(let e=0,i=s.length;e{o.finalize(),a.finalize(),this.viewer.scene.canvas.spinner.processes--,o.once("destroyed",(()=>{this.viewer.metaScene.destroyMetaModel(a.id)})),o.scene.once("tick",(()=>{o.destroyed||(o.scene.fire("modelLoaded",o.id),o.fire("loaded",!0,!1))}))},h=e=>{this.viewer.scene.canvas.spinner.processes--,this.error(e),o.fire("error",e)};let c=0;const u={getNextId:()=>`${n}.${c++}`};if(e.metaModelSrc||e.metaModelData)if(e.metaModelSrc){const r=e.metaModelSrc;this._dataSource.getMetaModel(r,(r=>{o.destroyed||(a.loadData(r,{includeTypes:s,excludeTypes:i,globalizeObjectIds:t.globalizeObjectIds}),e.src?this._loadModel(e.src,e,t,o,null,u,l,h):(this._parseModel(e.xkt,e,t,o,null,u),l()))}),(e=>{h(`load(): Failed to load model metadata for model '${n} from '${r}' - ${e}`)}))}else e.metaModelData&&(a.loadData(e.metaModelData,{includeTypes:s,excludeTypes:i,globalizeObjectIds:t.globalizeObjectIds}),e.src?this._loadModel(e.src,e,t,o,null,u,l,h):(this._parseModel(e.xkt,e,t,o,null,u),l()));else if(e.src)this._loadModel(e.src,e,t,o,a,u,l,h);else if(e.xkt)this._parseModel(e.xkt,e,t,o,a,u),l();else if(e.manifestSrc){const r=function(e){const t=e.split("/");return t.pop(),t.join("/")+"/"}(e.manifestSrc),n=(e,o,n)=>{let l=0;const h=()=>{l>=e.length?o():this._dataSource.getMetaModel(`${r}${e[l]}`,(e=>{a.loadData(e,{includeTypes:s,excludeTypes:i,globalizeObjectIds:t.globalizeObjectIds}),l++,h()}),n)};h()},c=(s,i,n)=>{let l=0;const h=()=>{l>=s.length?i():this._dataSource.getXKT(`${r}${s[l]}`,(s=>{this._parseModel(s,e,t,o,a,u),l++,h()}),n)};h()};this._dataSource.getManifest(e.manifestSrc,(e=>{if(o.destroyed)return;const t=e.xktFiles;if(!t||0===t.length)return void h("load(): Failed to load model manifest - manifest not valid");const s=e.metaModelFiles;s?n(s,(()=>{c(t,l,h)}),h):c(t,l,h)}),h)}return o}_loadModel(e,t,s,i,r,o,n,a){this._dataSource.getXKT(t.src,(e=>{this._parseModel(e,t,s,i,r,o),n()}),a)}_parseModel(e,t,s,i,r,o){if(i.destroyed)return;const n=new DataView(e),a=new Uint8Array(e),l=n.getUint32(0,!0),h=ey[l];if(!h)return void this.error("Unsupported .XKT file version: "+l+" - this XKTLoaderPlugin supports versions "+Object.keys(ey));this.log("Loading .xkt V"+l);const c=n.getUint32(4,!0),u=[];let A=4*(c+2);for(let e=0;ee.size)throw new RangeError("offset:"+t+", length:"+s+", size:"+e.size);return e.slice?e.slice(t,t+s):e.webkitSlice?e.webkitSlice(t,t+s):e.mozSlice?e.mozSlice(t,t+s):e.msSlice?e.msSlice(t,t+s):void 0}(e,t,s))}catch(e){r(e)}}}function d(){}function f(e){var s,i=this;i.init=function(e){s=new Blob([],{type:n}),e()},i.writeUint8Array=function(e,i){s=new Blob([s,t?e:e.buffer],{type:n}),i()},i.getData=function(t,i){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=i,r.readAsText(s,e)}}function m(t){var s=this,i="",r="";s.init=function(e){i+="data:"+(t||"")+";base64,",e()},s.writeUint8Array=function(t,s){var o,n=r.length,a=r;for(r="",o=0;o<3*Math.floor((n+t.length)/3)-n;o++)a+=String.fromCharCode(t[o]);for(;o2?i+=e.btoa(a):r=a,s()},s.getData=function(t){t(i+e.btoa(r))}}function E(e){var s,i=this;i.init=function(t){s=new Blob([],{type:e}),t()},i.writeUint8Array=function(i,r){s=new Blob([s,t?i:i.buffer],{type:e}),r()},i.getData=function(e){e(s)}}function y(e,t,s,i,r,n,a,l,h,c){var u,A,p,d=0,f=t.sn;function m(){e.removeEventListener("message",E,!1),l(A,p)}function E(t){var s=t.data,r=s.data,o=s.error;if(o)return o.toString=function(){return"Error: "+this.message},void h(o);if(s.sn===f)switch("number"==typeof s.codecTime&&(e.codecTime+=s.codecTime),"number"==typeof s.crcTime&&(e.crcTime+=s.crcTime),s.type){case"append":r?(A+=r.length,i.writeUint8Array(r,(function(){y()}),c)):y();break;case"flush":p=s.crc,r?(A+=r.length,i.writeUint8Array(r,(function(){m()}),c)):m();break;case"progress":a&&a(u+s.loaded,n);break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",s)}}function y(){(u=d*o)<=n?s.readUint8Array(r+u,Math.min(o,n-u),(function(s){a&&a(u,n);var i=0===u?t:{sn:f};i.type="append",i.data=s;try{e.postMessage(i,[s.buffer])}catch(t){e.postMessage(i)}d++}),h):e.postMessage({sn:f,type:"flush"})}A=0,e.addEventListener("message",E,!1),y()}function g(e,t,s,i,r,n,l,h,c,u){var A,p=0,d=0,f="input"===n,m="output"===n,E=new a;!function n(){var a;if((A=p*o)127?r[s-128]:String.fromCharCode(s);return i}function T(e){return decodeURIComponent(escape(e))}function _(e){var t,s="";for(t=0;t>16,s=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&s)>>11,(2016&s)>>5,2*(31&s),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?((i||8!=(8&e.bitFlag))&&(e.crc32=t.view.getUint32(s+10,!0),e.compressedSize=t.view.getUint32(s+14,!0),e.uncompressedSize=t.view.getUint32(s+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(s+22,!0),e.extraFieldLength=t.view.getUint16(s+24,!0)):r("File is using Zip64 (4gb+ file size).")):r("File contains encrypted entry.")}function P(t,o,n){var a=0;function l(){}l.prototype.getData=function(i,o,l,c){var u=this;function A(e,t){c&&!function(e){var t=h(4);return t.view.setUint32(0,e),u.crc32==t.view.getUint32(0)}(t)?n("CRC failed."):i.getData((function(e){o(e)}))}function p(e){n(e||r)}function d(e){n(e||"Error while writing file data.")}t.readUint8Array(u.offset,30,(function(r){var o,f=h(r.length,r);1347093252==f.view.getUint32(0)?(R(u,f,4,!1,n),o=u.offset+30+u.filenameLength+u.extraFieldLength,i.init((function(){0===u.compressionMethod?v(u._worker,a++,t,i,o,u.compressedSize,c,A,l,p,d):function(t,s,i,r,o,n,a,l,h,c,u){var A=a?"output":"none";e.zip.useWebWorkers?y(t,{sn:s,codecClass:"Inflater",crcType:A},i,r,o,n,h,l,c,u):g(new e.zip.Inflater,i,r,o,n,A,h,l,c,u)}(u._worker,a++,t,i,o,u.compressedSize,c,A,l,p,d)}),d)):n(s)}),p)};var c={getEntries:function(e){var r=this._worker;!function(e){t.size<22?n(s):r(22,(function(){r(Math.min(65558,t.size),(function(){n(s)}))}));function r(s,r){t.readUint8Array(t.size-s,s,(function(t){for(var s=t.length-22;s>=0;s--)if(80===t[s]&&75===t[s+1]&&5===t[s+2]&&6===t[s+3])return void e(new DataView(t.buffer,s,22));r()}),(function(){n(i)}))}}((function(o){var a,c;a=o.getUint32(16,!0),c=o.getUint16(8,!0),a<0||a>=t.size?n(s):t.readUint8Array(a,t.size-a,(function(t){var i,o,a,u,A=0,p=[],d=h(t.length,t);for(i=0;i>>8^s[255&(t^e[i])];this.crc=t},a.prototype.get=function(){return~this.crc},a.prototype.table=function(){var e,t,s,i=[];for(e=0;e<256;e++){for(s=e,t=0;t<8;t++)1&s?s=s>>>1^3988292384:s>>>=1;i[e]=s}return i}(),l.prototype.append=function(e,t){return e},l.prototype.flush=function(){},u.prototype=new c,u.prototype.constructor=u,A.prototype=new c,A.prototype.constructor=A,p.prototype=new c,p.prototype.constructor=p,d.prototype.getData=function(e){e(this.data)},f.prototype=new d,f.prototype.constructor=f,m.prototype=new d,m.prototype.constructor=m,E.prototype=new d,E.prototype.constructor=E;var b={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function O(t,s,i){if(null===e.zip.workerScripts||null===e.zip.workerScriptsPath){var r;if(e.zip.workerScripts){if(r=e.zip.workerScripts[t],!Array.isArray(r))return void i(new Error("zip.workerScripts."+t+" is not an array!"));r=function(e){var t=document.createElement("a");return e.map((function(e){return t.href=e,t.href}))}(r)}else(r=b[t].slice(0))[0]=(e.zip.workerScriptsPath||"")+r[0];var o=new Worker(r[0]);o.codecTime=o.crcTime=0,o.postMessage({type:"importScripts",scripts:r.slice(1)}),o.addEventListener("message",(function e(t){var r=t.data;if(r.error)return o.terminate(),void i(r.error);"importScripts"===r.type&&(o.removeEventListener("message",e),o.removeEventListener("error",n),s(o))})),o.addEventListener("error",n)}else i(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));function n(e){o.terminate(),i(e)}}function S(e){console.error(e)}e.zip={Reader:c,Writer:d,BlobReader:p,Data64URIReader:A,TextReader:u,BlobWriter:E,Data64URIWriter:m,TextWriter:f,createReader:function(e,t,s){s=s||S,e.init((function(){P(e,t,s)}),s)},createWriter:function(e,t,s,i){s=s||S,i=!!i,e.init((function(){C(e,t,s,i)}),s)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}}(sy);!function(e){var t,s,i=e.Reader,r=e.Writer;try{s=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function o(e){var t=this;function s(s,i){var r;t.data?s():((r=new XMLHttpRequest).addEventListener("load",(function(){t.size||(t.size=Number(r.getResponseHeader("Content-Length"))||Number(r.response.byteLength)),t.data=new Uint8Array(r.response),s()}),!1),r.addEventListener("error",i,!1),r.open("GET",e),r.responseType="arraybuffer",r.send())}t.size=0,t.init=function(i,r){if(function(e){var t=document.createElement("a");return t.href=e,"http:"===t.protocol||"https:"===t.protocol}(e)){var o=new XMLHttpRequest;o.addEventListener("load",(function(){t.size=Number(o.getResponseHeader("Content-Length")),t.size?i():s(i,r)}),!1),o.addEventListener("error",r,!1),o.open("HEAD",e),o.send()}else s(i,r)},t.readUint8Array=function(e,i,r,o){s((function(){r(new Uint8Array(t.data.subarray(e,e+i)))}),o)}}function n(e){var t=this;t.size=0,t.init=function(s,i){var r=new XMLHttpRequest;r.addEventListener("load",(function(){t.size=Number(r.getResponseHeader("Content-Length")),"bytes"==r.getResponseHeader("Accept-Ranges")?s():i("HTTP Range not supported.")}),!1),r.addEventListener("error",i,!1),r.open("HEAD",e),r.send()},t.readUint8Array=function(t,s,i,r){!function(t,s,i,r){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="arraybuffer",o.setRequestHeader("Range","bytes="+t+"-"+(t+s-1)),o.addEventListener("load",(function(){i(o.response)}),!1),o.addEventListener("error",r,!1),o.send()}(t,s,(function(e){i(new Uint8Array(e))}),r)}}function a(e){var t=this;t.size=0,t.init=function(s,i){t.size=e.byteLength,s()},t.readUint8Array=function(t,s,i,r){i(new Uint8Array(e.slice(t,t+s)))}}function l(){var e,t=this;t.init=function(t,s){e=new Uint8Array,t()},t.writeUint8Array=function(t,s,i){var r=new Uint8Array(e.length+t.length);r.set(e),r.set(t,e.length),e=r,s()},t.getData=function(t){t(e.buffer)}}function h(e,t){var i,r=this;r.init=function(t,s){e.createWriter((function(e){i=e,t()}),s)},r.writeUint8Array=function(e,r,o){var n=new Blob([s?e:e.buffer],{type:t});i.onwrite=function(){i.onwrite=null,r()},i.onerror=o,i.write(n)},r.getData=function(t){e.file(t)}}o.prototype=new i,o.prototype.constructor=o,n.prototype=new i,n.prototype.constructor=n,a.prototype=new i,a.prototype.constructor=a,l.prototype=new r,l.prototype.constructor=l,h.prototype=new r,h.prototype.constructor=h,e.FileWriter=h,e.HttpReader=o,e.HttpRangeReader=n,e.ArrayBufferReader=a,e.ArrayBufferWriter=l,e.fs&&((t=e.fs.ZipDirectoryEntry).prototype.addHttpContent=function(s,i,r){return function(s,i,r,o){if(s.directory)return o?new t(s.fs,i,r,s):new e.fs.ZipFileEntry(s.fs,i,r,s);throw"Parent entry is not a directory."}(this,s,{data:i,Reader:r?n:o})},t.prototype.importHttpContent=function(e,t,s,i){this.importZip(t?new n(e):new o(e),s,i)},e.fs.FS.prototype.importHttpContent=function(e,s,i,r){this.entries=[],this.root=new t(this),this.root.importHttpContent(e,s,i,r)})}(sy.zip);var iy,ry,oy,ny,ay,ly,hy,cy=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},uy=cy({"dist/web-ifc-mt.js"(e,t){var s,i=(s="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){function t(){return N.buffer!=w.buffer&&z(),w}function i(){return N.buffer!=w.buffer&&z(),B}function r(){return N.buffer!=w.buffer&&z(),F}function o(){return N.buffer!=w.buffer&&z(),M}function n(){return N.buffer!=w.buffer&&z(),L}function a(){return N.buffer!=w.buffer&&z(),U}function l(){return N.buffer!=w.buffer&&z(),G}var h,c,u=void 0!==e?e:{};u.ready=new Promise((function(e,t){h=e,c=t}));var A,p,d,f=Object.assign({},u),m="./this.program",E=(e,t)=>{throw t},y="object"==typeof window,g="function"==typeof importScripts,v="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,I=u.ENVIRONMENT_IS_PTHREAD||!1,T="";function _(e){return u.locateFile?u.locateFile(e,T):T+e}(y||g)&&(g?T=self.location.href:"undefined"!=typeof document&&document.currentScript&&(T=document.currentScript.src),s&&(T=s),T=0!==T.indexOf("blob:")?T.substr(0,T.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},g&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),p=(e,t,s)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):s()},i.onerror=s,i.send(null)});var R,P=u.print||console.log.bind(console),D=u.printErr||console.warn.bind(console);Object.assign(u,f),f=null,u.arguments,u.thisProgram&&(m=u.thisProgram),u.quit&&(E=u.quit),u.wasmBinary&&(R=u.wasmBinary);var N,C,b=u.noExitRuntime||!0;"object"!=typeof WebAssembly&&ae("no native wasm support detected");var O,S=!1;function x(e,t){e||ae(t)}var w,B,F,M,L,U,H,G,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function V(e,t,s){for(var i=(t>>>=0)+s,r=t;e[r]&&!(r>=i);)++r;if(r-t>16&&e.buffer&&k)return k.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,r):e.subarray(t,r));for(var o="";t>10,56320|1023&h)}}else o+=String.fromCharCode((31&n)<<6|a)}else o+=String.fromCharCode(n)}return o}function Q(e,t){return(e>>>=0)?V(i(),e,t):""}function j(e,t,s,i){if(!(i>0))return 0;for(var r=s>>>=0,o=s+i-1,n=0;n=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),a<=127){if(s>=o)break;t[s++>>>0]=a}else if(a<=2047){if(s+1>=o)break;t[s++>>>0]=192|a>>6,t[s++>>>0]=128|63&a}else if(a<=65535){if(s+2>=o)break;t[s++>>>0]=224|a>>12,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}else{if(s+3>=o)break;t[s++>>>0]=240|a>>18,t[s++>>>0]=128|a>>12&63,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}}return t[s>>>0]=0,s-r}function W(e){for(var t=0,s=0;s=55296&&i<=57343?(t+=4,++s):t+=3}return t}function z(){var e=N.buffer;u.HEAP8=w=new Int8Array(e),u.HEAP16=F=new Int16Array(e),u.HEAP32=L=new Int32Array(e),u.HEAPU8=B=new Uint8Array(e),u.HEAPU16=M=new Uint16Array(e),u.HEAPU32=U=new Uint32Array(e),u.HEAPF32=H=new Float32Array(e),u.HEAPF64=G=new Float64Array(e)}var K,Y=u.INITIAL_MEMORY||16777216;if(x(Y>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+Y+"! (STACK_SIZE=5242880)"),I)N=u.wasmMemory;else if(u.wasmMemory)N=u.wasmMemory;else if(!((N=new WebAssembly.Memory({initial:Y/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw D("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),v&&D("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");z(),Y=N.buffer.byteLength;var X=[],Z=[],q=[];function J(){return b}function $(){I||(u.noFSInit||ye.init.initialized||ye.init(),ye.ignorePermissions=!1,_e(Z))}var ee,te,se,ie=0,re=null;function oe(e){ie++,u.monitorRunDependencies&&u.monitorRunDependencies(ie)}function ne(e){if(ie--,u.monitorRunDependencies&&u.monitorRunDependencies(ie),0==ie&&re){var t=re;re=null,t()}}function ae(e){u.onAbort&&u.onAbort(e),D(e="Aborted("+e+")"),S=!0,O=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw c(t),t}function le(e){return e.startsWith("data:application/octet-stream;base64,")}function he(e){try{if(e==ee&&R)return new Uint8Array(R);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}catch(e){ae(e)}}function ce(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function ue(e){var t=Te.pthreads[e];x(t),Te.returnWorkerToPool(t)}le(ee="web-ifc-mt.wasm")||(ee=_(ee));var Ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var s=0,i=e.length-1;i>=0;i--){var r=e[i];"."===r?e.splice(i,1):".."===r?(e.splice(i,1),s++):s&&(e.splice(i,1),s--)}if(t)for(;s;s--)e.unshift("..");return e},normalize:e=>{var t=Ae.isAbs(e),s="/"===e.substr(-1);return e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),e||t||(e="."),e&&s&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=Ae.splitPath(e),s=t[0],i=t[1];return s||i?(i&&(i=i.substr(0,i.length-1)),s+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=Ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Ae.normalize(e.join("/"))},join2:(e,t)=>Ae.normalize(e+"/"+t)},pe={resolve:function(){for(var e="",t=!1,s=arguments.length-1;s>=-1&&!t;s--){var i=s>=0?arguments[s]:ye.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=Ae.isAbs(i)}return e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),(t?"/":"")+e||"."},relative:(e,t)=>{function s(e){for(var t=0;t=0&&""===e[s];s--);return t>s?[]:e.slice(t,s-t+1)}e=pe.resolve(e).substr(1),t=pe.resolve(t).substr(1);for(var i=s(e.split("/")),r=s(t.split("/")),o=Math.min(i.length,r.length),n=o,a=0;a0?s:W(e)+1,r=new Array(i),o=j(e,r,0,r.length);return t&&(r.length=o),r}var fe={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){fe.ttys[e]={input:[],output:[],ops:t},ye.registerDevice(e,fe.stream_ops)},stream_ops:{open:function(e){var t=fe.ttys[e.node.rdev];if(!t)throw new ye.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,s,i,r){if(!e.tty||!e.tty.ops.get_char)throw new ye.ErrnoError(60);for(var o=0,n=0;n0&&(P(V(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(D(V(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(D(V(e.output,0)),e.output=[])}}};function me(e){ae()}var Ee={ops_table:null,mount:function(e){return Ee.createNode(null,"/",16895,0)},createNode:function(e,t,s,i){if(ye.isBlkdev(s)||ye.isFIFO(s))throw new ye.ErrnoError(63);Ee.ops_table||(Ee.ops_table={dir:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,lookup:Ee.node_ops.lookup,mknod:Ee.node_ops.mknod,rename:Ee.node_ops.rename,unlink:Ee.node_ops.unlink,rmdir:Ee.node_ops.rmdir,readdir:Ee.node_ops.readdir,symlink:Ee.node_ops.symlink},stream:{llseek:Ee.stream_ops.llseek}},file:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:{llseek:Ee.stream_ops.llseek,read:Ee.stream_ops.read,write:Ee.stream_ops.write,allocate:Ee.stream_ops.allocate,mmap:Ee.stream_ops.mmap,msync:Ee.stream_ops.msync}},link:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,readlink:Ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:ye.chrdev_stream_ops}});var r=ye.createNode(e,t,s,i);return ye.isDir(r.mode)?(r.node_ops=Ee.ops_table.dir.node,r.stream_ops=Ee.ops_table.dir.stream,r.contents={}):ye.isFile(r.mode)?(r.node_ops=Ee.ops_table.file.node,r.stream_ops=Ee.ops_table.file.stream,r.usedBytes=0,r.contents=null):ye.isLink(r.mode)?(r.node_ops=Ee.ops_table.link.node,r.stream_ops=Ee.ops_table.link.stream):ye.isChrdev(r.mode)&&(r.node_ops=Ee.ops_table.chrdev.node,r.stream_ops=Ee.ops_table.chrdev.stream),r.timestamp=Date.now(),e&&(e.contents[t]=r,e.timestamp=r.timestamp),r},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var s=e.contents?e.contents.length:0;if(!(s>=t)){t=Math.max(t,s*(s<1048576?2:1.125)>>>0),0!=s&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var s=e.contents;e.contents=new Uint8Array(t),s&&e.contents.set(s.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=ye.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ye.isDir(e.mode)?t.size=4096:ye.isFile(e.mode)?t.size=e.usedBytes:ye.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Ee.resizeFileStorage(e,t.size)},lookup:function(e,t){throw ye.genericErrors[44]},mknod:function(e,t,s,i){return Ee.createNode(e,t,s,i)},rename:function(e,t,s){if(ye.isDir(e.mode)){var i;try{i=ye.lookupNode(t,s)}catch(e){}if(i)for(var r in i.contents)throw new ye.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=s,t.contents[s]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var s=ye.lookupNode(e,t);for(var i in s.contents)throw new ye.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var s in e.contents)e.contents.hasOwnProperty(s)&&t.push(s);return t},symlink:function(e,t,s){var i=Ee.createNode(e,t,41471,0);return i.link=s,i},readlink:function(e){if(!ye.isLink(e.mode))throw new ye.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,s,i,r){var o=e.node.contents;if(r>=e.node.usedBytes)return 0;var n=Math.min(e.node.usedBytes-r,i);if(n>8&&o.subarray)t.set(o.subarray(r,r+n),s);else for(var a=0;a0||i+s>>=0,t().set(l,n>>>0)}else a=!1,n=l.byteOffset;return{ptr:n,allocated:a}},msync:function(e,t,s,i,r){return Ee.stream_ops.write(e,t,0,i,s,!1),0}}},ye={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=pe.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ye.ErrnoError(32);for(var s=e.split("/").filter((e=>!!e)),i=ye.root,r="/",o=0;o40)throw new ye.ErrnoError(32)}}return{path:r,node:i}},getPath:e=>{for(var t;;){if(ye.isRoot(e)){var s=e.mount.mountpoint;return t?"/"!==s[s.length-1]?s+"/"+t:s+t:s}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var s=0,i=0;i>>0)%ye.nameTable.length},hashAddNode:e=>{var t=ye.hashName(e.parent.id,e.name);e.name_next=ye.nameTable[t],ye.nameTable[t]=e},hashRemoveNode:e=>{var t=ye.hashName(e.parent.id,e.name);if(ye.nameTable[t]===e)ye.nameTable[t]=e.name_next;else for(var s=ye.nameTable[t];s;){if(s.name_next===e){s.name_next=e.name_next;break}s=s.name_next}},lookupNode:(e,t)=>{var s=ye.mayLookup(e);if(s)throw new ye.ErrnoError(s,e);for(var i=ye.hashName(e.id,t),r=ye.nameTable[i];r;r=r.name_next){var o=r.name;if(r.parent.id===e.id&&o===t)return r}return ye.lookup(e,t)},createNode:(e,t,s,i)=>{var r=new ye.FSNode(e,t,s,i);return ye.hashAddNode(r),r},destroyNode:e=>{ye.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=ye.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ye.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=ye.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{return ye.lookupNode(e,t),20}catch(e){}return ye.nodePermissions(e,"wx")},mayDelete:(e,t,s)=>{var i;try{i=ye.lookupNode(e,t)}catch(e){return e.errno}var r=ye.nodePermissions(e,"wx");if(r)return r;if(s){if(!ye.isDir(i.mode))return 54;if(ye.isRoot(i)||ye.getPath(i)===ye.cwd())return 10}else if(ye.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ye.isLink(e.mode)?32:ye.isDir(e.mode)&&("r"!==ye.flagsToPermissionString(t)||512&t)?31:ye.nodePermissions(e,ye.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=ye.MAX_OPEN_FDS)=>{for(var s=e;s<=t;s++)if(!ye.streams[s])return s;throw new ye.ErrnoError(33)},getStream:e=>ye.streams[e],createStream:(e,t,s)=>{ye.FSStream||(ye.FSStream=function(){this.shared={}},ye.FSStream.prototype={},Object.defineProperties(ye.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new ye.FSStream,e);var i=ye.nextfd(t,s);return e.fd=i,ye.streams[i]=e,e},closeStream:e=>{ye.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ye.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ye.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ye.devices[e]={stream_ops:t}},getDevice:e=>ye.devices[e],getMounts:e=>{for(var t=[],s=[e];s.length;){var i=s.pop();t.push(i),s.push.apply(s,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ye.syncFSRequests++,ye.syncFSRequests>1&&D("warning: "+ye.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=ye.getMounts(ye.root.mount),i=0;function r(e){return ye.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,r(e));++i>=s.length&&r(null)}s.forEach((t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:(e,t,s)=>{var i,r="/"===s,o=!s;if(r&&ye.root)throw new ye.ErrnoError(10);if(!r&&!o){var n=ye.lookupPath(s,{follow_mount:!1});if(s=n.path,i=n.node,ye.isMountpoint(i))throw new ye.ErrnoError(10);if(!ye.isDir(i.mode))throw new ye.ErrnoError(54)}var a={type:e,opts:t,mountpoint:s,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,r?ye.root=l:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),l},unmount:e=>{var t=ye.lookupPath(e,{follow_mount:!1});if(!ye.isMountpoint(t.node))throw new ye.ErrnoError(28);var s=t.node,i=s.mounted,r=ye.getMounts(i);Object.keys(ye.nameTable).forEach((e=>{for(var t=ye.nameTable[e];t;){var s=t.name_next;r.includes(t.mount)&&ye.destroyNode(t),t=s}})),s.mounted=null;var o=s.mount.mounts.indexOf(i);s.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,s)=>{var i=ye.lookupPath(e,{parent:!0}).node,r=Ae.basename(e);if(!r||"."===r||".."===r)throw new ye.ErrnoError(28);var o=ye.mayCreate(i,r);if(o)throw new ye.ErrnoError(o);if(!i.node_ops.mknod)throw new ye.ErrnoError(63);return i.node_ops.mknod(i,r,t,s)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ye.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ye.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var s=e.split("/"),i="",r=0;r(void 0===s&&(s=t,t=438),t|=8192,ye.mknod(e,t,s)),symlink:(e,t)=>{if(!pe.resolve(e))throw new ye.ErrnoError(44);var s=ye.lookupPath(t,{parent:!0}).node;if(!s)throw new ye.ErrnoError(44);var i=Ae.basename(t),r=ye.mayCreate(s,i);if(r)throw new ye.ErrnoError(r);if(!s.node_ops.symlink)throw new ye.ErrnoError(63);return s.node_ops.symlink(s,i,e)},rename:(e,t)=>{var s,i,r=Ae.dirname(e),o=Ae.dirname(t),n=Ae.basename(e),a=Ae.basename(t);if(s=ye.lookupPath(e,{parent:!0}).node,i=ye.lookupPath(t,{parent:!0}).node,!s||!i)throw new ye.ErrnoError(44);if(s.mount!==i.mount)throw new ye.ErrnoError(75);var l,h=ye.lookupNode(s,n),c=pe.relative(e,o);if("."!==c.charAt(0))throw new ye.ErrnoError(28);if("."!==(c=pe.relative(t,r)).charAt(0))throw new ye.ErrnoError(55);try{l=ye.lookupNode(i,a)}catch(e){}if(h!==l){var u=ye.isDir(h.mode),A=ye.mayDelete(s,n,u);if(A)throw new ye.ErrnoError(A);if(A=l?ye.mayDelete(i,a,u):ye.mayCreate(i,a))throw new ye.ErrnoError(A);if(!s.node_ops.rename)throw new ye.ErrnoError(63);if(ye.isMountpoint(h)||l&&ye.isMountpoint(l))throw new ye.ErrnoError(10);if(i!==s&&(A=ye.nodePermissions(s,"w")))throw new ye.ErrnoError(A);ye.hashRemoveNode(h);try{s.node_ops.rename(h,i,a)}catch(e){throw e}finally{ye.hashAddNode(h)}}},rmdir:e=>{var t=ye.lookupPath(e,{parent:!0}).node,s=Ae.basename(e),i=ye.lookupNode(t,s),r=ye.mayDelete(t,s,!0);if(r)throw new ye.ErrnoError(r);if(!t.node_ops.rmdir)throw new ye.ErrnoError(63);if(ye.isMountpoint(i))throw new ye.ErrnoError(10);t.node_ops.rmdir(t,s),ye.destroyNode(i)},readdir:e=>{var t=ye.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ye.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ye.lookupPath(e,{parent:!0}).node;if(!t)throw new ye.ErrnoError(44);var s=Ae.basename(e),i=ye.lookupNode(t,s),r=ye.mayDelete(t,s,!1);if(r)throw new ye.ErrnoError(r);if(!t.node_ops.unlink)throw new ye.ErrnoError(63);if(ye.isMountpoint(i))throw new ye.ErrnoError(10);t.node_ops.unlink(t,s),ye.destroyNode(i)},readlink:e=>{var t=ye.lookupPath(e).node;if(!t)throw new ye.ErrnoError(44);if(!t.node_ops.readlink)throw new ye.ErrnoError(28);return pe.resolve(ye.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var s=ye.lookupPath(e,{follow:!t}).node;if(!s)throw new ye.ErrnoError(44);if(!s.node_ops.getattr)throw new ye.ErrnoError(63);return s.node_ops.getattr(s)},lstat:e=>ye.stat(e,!0),chmod:(e,t,s)=>{var i;if(!(i="string"==typeof e?ye.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new ye.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ye.chmod(e,t,!0)},fchmod:(e,t)=>{var s=ye.getStream(e);if(!s)throw new ye.ErrnoError(8);ye.chmod(s.node,t)},chown:(e,t,s,i)=>{var r;if(!(r="string"==typeof e?ye.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ye.ErrnoError(63);r.node_ops.setattr(r,{timestamp:Date.now()})},lchown:(e,t,s)=>{ye.chown(e,t,s,!0)},fchown:(e,t,s)=>{var i=ye.getStream(e);if(!i)throw new ye.ErrnoError(8);ye.chown(i.node,t,s)},truncate:(e,t)=>{if(t<0)throw new ye.ErrnoError(28);var s;if(!(s="string"==typeof e?ye.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ye.ErrnoError(63);if(ye.isDir(s.mode))throw new ye.ErrnoError(31);if(!ye.isFile(s.mode))throw new ye.ErrnoError(28);var i=ye.nodePermissions(s,"w");if(i)throw new ye.ErrnoError(i);s.node_ops.setattr(s,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var s=ye.getStream(e);if(!s)throw new ye.ErrnoError(8);if(0==(2097155&s.flags))throw new ye.ErrnoError(28);ye.truncate(s.node,t)},utime:(e,t,s)=>{var i=ye.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,s)})},open:(e,t,s)=>{if(""===e)throw new ye.ErrnoError(44);var i;if(s=void 0===s?438:s,s=64&(t="string"==typeof t?ye.modeStringToFlags(t):t)?4095&s|32768:0,"object"==typeof e)i=e;else{e=Ae.normalize(e);try{i=ye.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var r=!1;if(64&t)if(i){if(128&t)throw new ye.ErrnoError(20)}else i=ye.mknod(e,s,0),r=!0;if(!i)throw new ye.ErrnoError(44);if(ye.isChrdev(i.mode)&&(t&=-513),65536&t&&!ye.isDir(i.mode))throw new ye.ErrnoError(54);if(!r){var o=ye.mayOpen(i,t);if(o)throw new ye.ErrnoError(o)}512&t&&!r&&ye.truncate(i,0),t&=-131713;var n=ye.createStream({node:i,path:ye.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return n.stream_ops.open&&n.stream_ops.open(n),!u.logReadFiles||1&t||(ye.readFiles||(ye.readFiles={}),e in ye.readFiles||(ye.readFiles[e]=1)),n},close:e=>{if(ye.isClosed(e))throw new ye.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ye.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,s)=>{if(ye.isClosed(e))throw new ye.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ye.ErrnoError(70);if(0!=s&&1!=s&&2!=s)throw new ye.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,s),e.ungotten=[],e.position},read:(e,t,s,i,r)=>{if(s>>>=0,i<0||r<0)throw new ye.ErrnoError(28);if(ye.isClosed(e))throw new ye.ErrnoError(8);if(1==(2097155&e.flags))throw new ye.ErrnoError(8);if(ye.isDir(e.node.mode))throw new ye.ErrnoError(31);if(!e.stream_ops.read)throw new ye.ErrnoError(28);var o=void 0!==r;if(o){if(!e.seekable)throw new ye.ErrnoError(70)}else r=e.position;var n=e.stream_ops.read(e,t,s,i,r);return o||(e.position+=n),n},write:(e,t,s,i,r,o)=>{if(s>>>=0,i<0||r<0)throw new ye.ErrnoError(28);if(ye.isClosed(e))throw new ye.ErrnoError(8);if(0==(2097155&e.flags))throw new ye.ErrnoError(8);if(ye.isDir(e.node.mode))throw new ye.ErrnoError(31);if(!e.stream_ops.write)throw new ye.ErrnoError(28);e.seekable&&1024&e.flags&&ye.llseek(e,0,2);var n=void 0!==r;if(n){if(!e.seekable)throw new ye.ErrnoError(70)}else r=e.position;var a=e.stream_ops.write(e,t,s,i,r,o);return n||(e.position+=a),a},allocate:(e,t,s)=>{if(ye.isClosed(e))throw new ye.ErrnoError(8);if(t<0||s<=0)throw new ye.ErrnoError(28);if(0==(2097155&e.flags))throw new ye.ErrnoError(8);if(!ye.isFile(e.node.mode)&&!ye.isDir(e.node.mode))throw new ye.ErrnoError(43);if(!e.stream_ops.allocate)throw new ye.ErrnoError(138);e.stream_ops.allocate(e,t,s)},mmap:(e,t,s,i,r)=>{if(0!=(2&i)&&0==(2&r)&&2!=(2097155&e.flags))throw new ye.ErrnoError(2);if(1==(2097155&e.flags))throw new ye.ErrnoError(2);if(!e.stream_ops.mmap)throw new ye.ErrnoError(43);return e.stream_ops.mmap(e,t,s,i,r)},msync:(e,t,s,i,r)=>(s>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,s,i,r):0),munmap:e=>0,ioctl:(e,t,s)=>{if(!e.stream_ops.ioctl)throw new ye.ErrnoError(59);return e.stream_ops.ioctl(e,t,s)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var s,i=ye.open(e,t.flags),r=ye.stat(e).size,o=new Uint8Array(r);return ye.read(i,o,0,r,0),"utf8"===t.encoding?s=V(o,0):"binary"===t.encoding&&(s=o),ye.close(i),s},writeFile:(e,t,s={})=>{s.flags=s.flags||577;var i=ye.open(e,s.flags,s.mode);if("string"==typeof t){var r=new Uint8Array(W(t)+1),o=j(t,r,0,r.length);ye.write(i,r,0,o,void 0,s.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ye.write(i,t,0,t.byteLength,void 0,s.canOwn)}ye.close(i)},cwd:()=>ye.currentPath,chdir:e=>{var t=ye.lookupPath(e,{follow:!0});if(null===t.node)throw new ye.ErrnoError(44);if(!ye.isDir(t.node.mode))throw new ye.ErrnoError(54);var s=ye.nodePermissions(t.node,"x");if(s)throw new ye.ErrnoError(s);ye.currentPath=t.path},createDefaultDirectories:()=>{ye.mkdir("/tmp"),ye.mkdir("/home"),ye.mkdir("/home/web_user")},createDefaultDevices:()=>{ye.mkdir("/dev"),ye.registerDevice(ye.makedev(1,3),{read:()=>0,write:(e,t,s,i,r)=>i}),ye.mkdev("/dev/null",ye.makedev(1,3)),fe.register(ye.makedev(5,0),fe.default_tty_ops),fe.register(ye.makedev(6,0),fe.default_tty1_ops),ye.mkdev("/dev/tty",ye.makedev(5,0)),ye.mkdev("/dev/tty1",ye.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>ae("randomDevice")}();ye.createDevice("/dev","random",e),ye.createDevice("/dev","urandom",e),ye.mkdir("/dev/shm"),ye.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ye.mkdir("/proc");var e=ye.mkdir("/proc/self");ye.mkdir("/proc/self/fd"),ye.mount({mount:()=>{var t=ye.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var s=+t,i=ye.getStream(s);if(!i)throw new ye.ErrnoError(8);var r={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return r.parent=r,r}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{u.stdin?ye.createDevice("/dev","stdin",u.stdin):ye.symlink("/dev/tty","/dev/stdin"),u.stdout?ye.createDevice("/dev","stdout",null,u.stdout):ye.symlink("/dev/tty","/dev/stdout"),u.stderr?ye.createDevice("/dev","stderr",null,u.stderr):ye.symlink("/dev/tty1","/dev/stderr"),ye.open("/dev/stdin",0),ye.open("/dev/stdout",1),ye.open("/dev/stderr",1)},ensureErrnoError:()=>{ye.ErrnoError||(ye.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ye.ErrnoError.prototype=new Error,ye.ErrnoError.prototype.constructor=ye.ErrnoError,[44].forEach((e=>{ye.genericErrors[e]=new ye.ErrnoError(e),ye.genericErrors[e].stack=""})))},staticInit:()=>{ye.ensureErrnoError(),ye.nameTable=new Array(4096),ye.mount(Ee,{},"/"),ye.createDefaultDirectories(),ye.createDefaultDevices(),ye.createSpecialDirectories(),ye.filesystems={MEMFS:Ee}},init:(e,t,s)=>{ye.init.initialized=!0,ye.ensureErrnoError(),u.stdin=e||u.stdin,u.stdout=t||u.stdout,u.stderr=s||u.stderr,ye.createStandardStreams()},quit:()=>{ye.init.initialized=!1;for(var e=0;e{var s=0;return e&&(s|=365),t&&(s|=146),s},findObject:(e,t)=>{var s=ye.analyzePath(e,t);return s.exists?s.object:null},analyzePath:(e,t)=>{try{e=(i=ye.lookupPath(e,{follow:!t})).path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ye.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=i.path,s.parentObject=i.node,s.name=Ae.basename(e),i=ye.lookupPath(e,{follow:!t}),s.exists=!0,s.path=i.path,s.object=i.node,s.name=i.node.name,s.isRoot="/"===i.path}catch(e){s.error=e.errno}return s},createPath:(e,t,s,i)=>{e="string"==typeof e?e:ye.getPath(e);for(var r=t.split("/").reverse();r.length;){var o=r.pop();if(o){var n=Ae.join2(e,o);try{ye.mkdir(n)}catch(e){}e=n}}return n},createFile:(e,t,s,i,r)=>{var o=Ae.join2("string"==typeof e?e:ye.getPath(e),t),n=ye.getMode(i,r);return ye.create(o,n)},createDataFile:(e,t,s,i,r,o)=>{var n=t;e&&(e="string"==typeof e?e:ye.getPath(e),n=t?Ae.join2(e,t):e);var a=ye.getMode(i,r),l=ye.create(n,a);if(s){if("string"==typeof s){for(var h=new Array(s.length),c=0,u=s.length;c{var r=Ae.join2("string"==typeof e?e:ye.getPath(e),t),o=ye.getMode(!!s,!!i);ye.createDevice.major||(ye.createDevice.major=64);var n=ye.makedev(ye.createDevice.major++,0);return ye.registerDevice(n,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,r,o)=>{for(var n=0,a=0;a{for(var n=0;n{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!A)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=de(A(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new ye.ErrnoError(29)}},createLazyFile:(e,s,i,r,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,s=e/this.chunkSize|0;return this.getter(s)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",i,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+i+". Status: "+e.status);var t,s=Number(e.getResponseHeader("Content-length")),r=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,n=1048576;r||(n=s);var a=this;a.setDataGetter((e=>{var t=e*n,r=(e+1)*n-1;if(r=Math.min(r,s-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>s-1)throw new Error("only "+s+" bytes available! programmer error!");var r=new XMLHttpRequest;if(r.open("GET",i,!1),s!==n&&r.setRequestHeader("Range","bytes="+e+"-"+t),r.responseType="arraybuffer",r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+i+". Status: "+r.status);return void 0!==r.response?new Uint8Array(r.response||[]):de(r.responseText||"",!0)})(t,r)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!o&&s||(n=s=1,s=this.getter(0).length,n=s,P("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=s,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!g)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:a}}else l={isDevice:!1,url:i};var h=ye.createFile(e,s,l,r,o);l.contents?h.contents=l.contents:l.url&&(h.contents=null,h.url=l.url),Object.defineProperties(h,{usedBytes:{get:function(){return this.contents.length}}});var c={};function u(e,t,s,i,r){var o=e.node.contents;if(r>=o.length)return 0;var n=Math.min(o.length-r,i);if(o.slice)for(var a=0;a{var t=h.stream_ops[e];c[e]=function(){return ye.forceLoadFile(h),t.apply(null,arguments)}})),c.read=(e,t,s,i,r)=>(ye.forceLoadFile(h),u(e,t,s,i,r)),c.mmap=(e,s,i,r,o)=>{ye.forceLoadFile(h);var n=me();if(!n)throw new ye.ErrnoError(48);return u(e,t(),n,s,i),{ptr:n,allocated:!0}},h.stream_ops=c,h},createPreloadedFile:(e,t,s,i,r,o,n,a,l,h)=>{var c=t?pe.resolve(Ae.join2(e,t)):e;function u(s){function u(s){h&&h(),a||ye.createDataFile(e,t,s,i,r,l),o&&o(),ne()}Browser.handledByPreloadPlugin(s,c,u,(()=>{n&&n(),ne()}))||u(s)}oe(),"string"==typeof s?function(e,t,s,i){var r=i?"":"al "+e;p(e,(s=>{x(s,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(s)),r&&ne()}),(t=>{if(!s)throw'Loading data file "'+e+'" failed.';s()})),r&&oe()}(s,(e=>u(e)),n):u(s)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=ye.indexedDB();try{var r=i.open(ye.DB_NAME(),ye.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=()=>{P("creating db"),r.result.createObjectStore(ye.DB_STORE_NAME)},r.onsuccess=()=>{var i=r.result.transaction([ye.DB_STORE_NAME],"readwrite"),o=i.objectStore(ye.DB_STORE_NAME),n=0,a=0,l=e.length;function h(){0==a?t():s()}e.forEach((e=>{var t=o.put(ye.analyzePath(e).object.contents,e);t.onsuccess=()=>{++n+a==l&&h()},t.onerror=()=>{a++,n+a==l&&h()}})),i.onerror=s},r.onerror=s},loadFilesFromDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=ye.indexedDB();try{var r=i.open(ye.DB_NAME(),ye.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=s,r.onsuccess=()=>{var i=r.result;try{var o=i.transaction([ye.DB_STORE_NAME],"readonly")}catch(e){return void s(e)}var n=o.objectStore(ye.DB_STORE_NAME),a=0,l=0,h=e.length;function c(){0==l?t():s()}e.forEach((e=>{var t=n.get(e);t.onsuccess=()=>{ye.analyzePath(e).exists&&ye.unlink(e),ye.createDataFile(Ae.dirname(e),Ae.basename(e),t.result,!0,!0,!0),++a+l==h&&c()},t.onerror=()=>{l++,a+l==h&&c()}})),o.onerror=s},r.onerror=s}},ge={DEFAULT_POLLMASK:5,calculateAt:function(e,t,s){if(Ae.isAbs(t))return t;var i;if(i=-100===e?ye.cwd():ge.getStreamFromFD(e).path,0==t.length){if(!s)throw new ye.ErrnoError(44);return i}return Ae.join2(i,t)},doStat:function(e,t,s){try{var i=e(t)}catch(e){if(e&&e.node&&Ae.normalize(t)!==Ae.normalize(ye.getPath(e.node)))return-54;throw e}n()[s>>>2]=i.dev,n()[s+8>>>2]=i.ino,n()[s+12>>>2]=i.mode,a()[s+16>>>2]=i.nlink,n()[s+20>>>2]=i.uid,n()[s+24>>>2]=i.gid,n()[s+28>>>2]=i.rdev,se=[i.size>>>0,(te=i.size,+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+40>>>2]=se[0],n()[s+44>>>2]=se[1],n()[s+48>>>2]=4096,n()[s+52>>>2]=i.blocks;var r=i.atime.getTime(),o=i.mtime.getTime(),l=i.ctime.getTime();return se=[Math.floor(r/1e3)>>>0,(te=Math.floor(r/1e3),+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+56>>>2]=se[0],n()[s+60>>>2]=se[1],a()[s+64>>>2]=r%1e3*1e3,se=[Math.floor(o/1e3)>>>0,(te=Math.floor(o/1e3),+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+72>>>2]=se[0],n()[s+76>>>2]=se[1],a()[s+80>>>2]=o%1e3*1e3,se=[Math.floor(l/1e3)>>>0,(te=Math.floor(l/1e3),+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+88>>>2]=se[0],n()[s+92>>>2]=se[1],a()[s+96>>>2]=l%1e3*1e3,se=[i.ino>>>0,(te=i.ino,+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+104>>>2]=se[0],n()[s+108>>>2]=se[1],0},doMsync:function(e,t,s,r,o){if(!ye.isFile(t.node.mode))throw new ye.ErrnoError(43);if(2&r)return 0;e>>>=0;var n=i().slice(e,e+s);ye.msync(t,n,o,s,r)},varargs:void 0,get:function(){return ge.varargs+=4,n()[ge.varargs-4>>>2]},getStr:function(e){return Q(e)},getStreamFromFD:function(e){var t=ye.getStream(e);if(!t)throw new ye.ErrnoError(8);return t}};function ve(e){if(I)return ls(1,1,e);O=e,J()||(Te.terminateAllThreads(),u.onExit&&u.onExit(e),S=!0),E(e,new ce(e))}var Ie=function(e,t){if(O=e,!t&&I)throw Re(e),"unwind";ve(e)},Te={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){I?Te.initWorker():Te.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)Te.allocateUnusedWorker()},initWorker:function(){b=!1},setExitStatus:function(e){O=e},terminateAllThreads:function(){for(var e of Object.values(Te.pthreads))Te.returnWorkerToPool(e);for(var e of Te.unusedWorkers)e.terminate();Te.unusedWorkers=[]},returnWorkerToPool:function(e){var t=e.pthread_ptr;delete Te.pthreads[t],Te.unusedWorkers.push(e),Te.runningWorkers.splice(Te.runningWorkers.indexOf(e),1),e.pthread_ptr=0,Fs(t)},receiveObjectTransfer:function(e){},threadInitTLS:function(){Te.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=s=>{var i,r=s.data,o=r.cmd;if(e.pthread_ptr&&(Te.currentProxiedOperationCallerThread=e.pthread_ptr),r.targetThread&&r.targetThread!=bs()){var n=Te.pthreads[r.targetThread];return n?n.postMessage(r,r.transferList):D('Internal error! Worker sent a message "'+o+'" to target pthread '+r.targetThread+", but that thread no longer exists!"),void(Te.currentProxiedOperationCallerThread=void 0)}"processProxyingQueue"===o?ts(r.queue):"spawnThread"===o?function(e){var t=Te.getNewWorker();if(!t)return 6;Te.runningWorkers.push(t),Te.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var s={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};t.postMessage(s,e.transferList)}(r):"cleanupThread"===o?ue(r.thread):"killThread"===o?function(e){var t=Te.pthreads[e];delete Te.pthreads[e],t.terminate(),Fs(e),Te.runningWorkers.splice(Te.runningWorkers.indexOf(t),1),t.pthread_ptr=0}(r.thread):"cancelThread"===o?(i=r.thread,Te.pthreads[i].postMessage({cmd:"cancel"})):"loaded"===o?(e.loaded=!0,t(e)):"print"===o?P("Thread "+r.threadId+": "+r.text):"printErr"===o?D("Thread "+r.threadId+": "+r.text):"alert"===o?alert("Thread "+r.threadId+": "+r.text):"setimmediate"===r.target?e.postMessage(r):"callHandler"===o?u[r.handler](...r.args):o&&D("worker sent an unknown command "+o),Te.currentProxiedOperationCallerThread=void 0},e.onerror=e=>{throw D("worker sent an error! "+e.filename+":"+e.lineno+": "+e.message),e};var i=[];for(var r of["onExit","onAbort","print","printErr"])u.hasOwnProperty(r)&&i.push(r);e.postMessage({cmd:"load",handlers:i,urlOrBlob:u.mainScriptUrlOrBlob||s,wasmMemory:N,wasmModule:C})})),loadWasmModuleToAllWorkers:function(e){if(I)return e();Promise.all(Te.unusedWorkers.map(Te.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker:function(){var e,t=_("web-ifc-mt.worker.js");e=new Worker(t),Te.unusedWorkers.push(e)},getNewWorker:function(){return 0==Te.unusedWorkers.length&&(Te.allocateUnusedWorker(),Te.loadWasmModuleToWorker(Te.unusedWorkers[0])),Te.unusedWorkers.pop()}};function _e(e){for(;e.length>0;)e.shift()(u)}function Re(e){if(I)return ls(2,0,e);try{Ie(e)}catch(e){!function(e){if(e instanceof ce||"unwind"==e)return O;E(1,e)}(e)}}u.PThread=Te,u.establishStackSpace=function(){var e=bs(),t=n()[e+52>>>2],s=n()[e+56>>>2];Us(t,t-s),Gs(t)};var Pe=[];function De(e){var t=Pe[e];return t||(e>=Pe.length&&(Pe.length=e+1),Pe[e]=t=K.get(e)),t}function Ne(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){a()[this.ptr+4>>>2]=e},this.get_type=function(){return a()[this.ptr+4>>>2]},this.set_destructor=function(e){a()[this.ptr+8>>>2]=e},this.get_destructor=function(){return a()[this.ptr+8>>>2]},this.set_refcount=function(e){n()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(n(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(n(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){a()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return a()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Vs(this.get_type()))return a()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}u.invokeEntryPoint=function(e,t){var s=De(e)(t);J()?Te.setExitStatus(s):Ms(s)};var Ce="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking",be={};function Oe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Se(e){return this.fromWireType(n()[e>>>2])}var xe={},we={},Be={};function Fe(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function Me(e,t){return e=Fe(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function Le(e,t){var s=Me(t,(function(e){this.name=t,this.message=e;var s=new Error(e).stack;void 0!==s&&(this.stack=this.toString()+"\n"+s.replace(/^Error(:[^\n]*)?\n/,""))}));return s.prototype=Object.create(e.prototype),s.prototype.constructor=s,s.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},s}var Ue=void 0;function He(e){throw new Ue(e)}function Ge(e,t,s){function i(t){var i=s(t);i.length!==e.length&&He("Mismatched type converter count");for(var r=0;r{we.hasOwnProperty(e)?r[t]=we[e]:(o.push(e),xe.hasOwnProperty(e)||(xe[e]=[]),xe[e].push((()=>{r[t]=we[e],++n===o.length&&i(r)})))})),0===o.length&&i(r)}var ke={};function Ve(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Qe=void 0;function je(e){for(var t="",s=e;i()[s>>>0];)t+=Qe[i()[s++>>>0]];return t}var We=void 0;function ze(e){throw new We(e)}function Ke(e,t,s={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||ze('type "'+i+'" must have a positive integer typeid pointer'),we.hasOwnProperty(e)){if(s.ignoreDuplicateRegistrations)return;ze("Cannot register type '"+i+"' twice")}if(we[e]=t,delete Be[e],xe.hasOwnProperty(e)){var r=xe[e];delete xe[e],r.forEach((e=>e()))}}function Ye(e){if(!(this instanceof Et))return!1;if(!(e instanceof Et))return!1;for(var t=this.$$.ptrType.registeredClass,s=this.$$.ptr,i=e.$$.ptrType.registeredClass,r=e.$$.ptr;t.baseClass;)s=t.upcast(s),t=t.baseClass;for(;i.baseClass;)r=i.upcast(r),i=i.baseClass;return t===i&&s===r}function Xe(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function Ze(e){ze(e.$$.ptrType.registeredClass.name+" instance already deleted")}var qe=!1;function Je(e){}function $e(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function et(e,t,s){if(t===s)return e;if(void 0===s.baseClass)return null;var i=et(e,t,s.baseClass);return null===i?null:s.downcast(i)}var tt={};function st(){return Object.keys(lt).length}function it(){var e=[];for(var t in lt)lt.hasOwnProperty(t)&&e.push(lt[t]);return e}var rt=[];function ot(){for(;rt.length;){var e=rt.pop();e.$$.deleteScheduled=!1,e.delete()}}var nt=void 0;function at(e){nt=e,rt.length&&nt&&nt(ot)}var lt={};function ht(e,t){return t=function(e,t){for(void 0===t&&ze("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),lt[t]}function ct(e,t){return t.ptrType&&t.ptr||He("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&He("Both smartPtrType and smartPtr must be specified"),t.count={value:1},At(Object.create(e,{$$:{value:t}}))}function ut(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var s=ht(this.registeredClass,t);if(void 0!==s){if(0===s.$$.count.value)return s.$$.ptr=t,s.$$.smartPtr=e,s.clone();var i=s.clone();return this.destructor(e),i}function r(){return this.isSmartPointer?ct(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ct(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,n=this.registeredClass.getActualType(t),a=tt[n];if(!a)return r.call(this);o=this.isConst?a.constPointerType:a.pointerType;var l=et(t,this.registeredClass,o.registeredClass);return null===l?r.call(this):this.isSmartPointer?ct(o.registeredClass.instancePrototype,{ptrType:o,ptr:l,smartPtrType:this,smartPtr:e}):ct(o.registeredClass.instancePrototype,{ptrType:o,ptr:l})}function At(e){return"undefined"==typeof FinalizationRegistry?(At=e=>e,e):(qe=new FinalizationRegistry((e=>{$e(e.$$)})),Je=e=>qe.unregister(e),(At=e=>{var t=e.$$;if(t.smartPtr){var s={$$:t};qe.register(e,s,e)}return e})(e))}function pt(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=At(Object.create(Object.getPrototypeOf(this),{$$:{value:Xe(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function dt(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ze("Object already scheduled for deletion"),Je(this),$e(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function ft(){return!this.$$.ptr}function mt(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ze("Object already scheduled for deletion"),rt.push(this),1===rt.length&&nt&&nt(ot),this.$$.deleteScheduled=!0,this}function Et(){}function yt(e,t,s){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ze("Function '"+s+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function gt(e,t,s){u.hasOwnProperty(e)?((void 0===s||void 0!==u[e].overloadTable&&void 0!==u[e].overloadTable[s])&&ze("Cannot register public name '"+e+"' twice"),yt(u,e,e),u.hasOwnProperty(s)&&ze("Cannot register multiple overloads of a function with the same number of arguments ("+s+")!"),u[e].overloadTable[s]=t):(u[e]=t,void 0!==s&&(u[e].numArguments=s))}function vt(e,t,s,i,r,o,n,a){this.name=e,this.constructor=t,this.instancePrototype=s,this.rawDestructor=i,this.baseClass=r,this.getActualType=o,this.upcast=n,this.downcast=a,this.pureVirtualFunctions=[]}function It(e,t,s){for(;t!==s;)t.upcast||ze("Expected null or instance of "+s.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Tt(e,t){if(null===t)return this.isReference&&ze("null is not a valid "+this.name),0;t.$$||ze('Cannot pass "'+Wt(t)+'" as a '+this.name),t.$$.ptr||ze("Cannot pass deleted object as a pointer of type "+this.name);var s=t.$$.ptrType.registeredClass;return It(t.$$.ptr,s,this.registeredClass)}function _t(e,t){var s;if(null===t)return this.isReference&&ze("null is not a valid "+this.name),this.isSmartPointer?(s=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,s),s):0;t.$$||ze('Cannot pass "'+Wt(t)+'" as a '+this.name),t.$$.ptr||ze("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&ze("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(s=It(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ze("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?s=t.$$.smartPtr:ze("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:s=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)s=t.$$.smartPtr;else{var r=t.clone();s=this.rawShare(s,Vt.toHandle((function(){r.delete()}))),null!==e&&e.push(this.rawDestructor,s)}break;default:ze("Unsupporting sharing policy")}return s}function Rt(e,t){if(null===t)return this.isReference&&ze("null is not a valid "+this.name),0;t.$$||ze('Cannot pass "'+Wt(t)+'" as a '+this.name),t.$$.ptr||ze("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&ze("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var s=t.$$.ptrType.registeredClass;return It(t.$$.ptr,s,this.registeredClass)}function Pt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Dt(e){this.rawDestructor&&this.rawDestructor(e)}function Nt(e){null!==e&&e.delete()}function Ct(e,t,s,i,r,o,n,a,l,h,c){this.name=e,this.registeredClass=t,this.isReference=s,this.isConst=i,this.isSmartPointer=r,this.pointeeType=o,this.sharingPolicy=n,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=h,this.rawDestructor=c,r||void 0!==t.baseClass?this.toWireType=_t:i?(this.toWireType=Tt,this.destructorFunction=null):(this.toWireType=Rt,this.destructorFunction=null)}function bt(e,t,s){u.hasOwnProperty(e)||He("Replacing nonexistant public symbol"),void 0!==u[e].overloadTable&&void 0!==s?u[e].overloadTable[s]=t:(u[e]=t,u[e].argCount=s)}function Ot(e,t,s){return e.includes("j")?function(e,t,s){var i=u["dynCall_"+e];return s&&s.length?i.apply(null,[t].concat(s)):i.call(null,t)}(e,t,s):De(t).apply(null,s)}function St(e,t){var s,i,r,o=(e=je(e)).includes("j")?(s=e,i=t,r=[],function(){return r.length=0,Object.assign(r,arguments),Ot(s,i,r)}):De(t);return"function"!=typeof o&&ze("unknown function pointer with signature "+e+": "+t),o}var xt=void 0;function wt(e){var t=Os(e),s=je(t);return Ls(t),s}function Bt(e,t){var s=[],i={};throw t.forEach((function e(t){i[t]||we[t]||(Be[t]?Be[t].forEach(e):(s.push(t),i[t]=!0))})),new xt(e+": "+s.map(wt).join([", "]))}function Ft(e,t){for(var s=[],i=0;i>>2]);return s}function Mt(e,t,s,i,r){var o=t.length;o<2&&ze("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var n=null!==t[1]&&null!==s,a=!1,l=1;l0?", ":"")+u),A+=(h?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",a)A+="runDestructors(destructors);\n";else for(l=n?1:2;l4&&0==--Ut[e].refcount&&(Ut[e]=void 0,Lt.push(e))}function Gt(){for(var e=0,t=5;t(e||ze("Cannot use deleted val. handle = "+e),Ut[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Lt.length?Lt.pop():Ut.length;return Ut[t]={refcount:1,value:e},t}}};function Qt(e,s,l){switch(s){case 0:return function(e){var s=l?t():i();return this.fromWireType(s[e>>>0])};case 1:return function(e){var t=l?r():o();return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=l?n():a();return this.fromWireType(t[e>>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function jt(e,t){var s=we[e];return void 0===s&&ze(t+" has unknown type "+wt(e)),s}function Wt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function zt(e,t){switch(t){case 2:return function(e){return this.fromWireType((N.buffer!=w.buffer&&z(),H)[e>>>2])};case 3:return function(e){return this.fromWireType(l()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Kt(e,s,l){switch(s){case 0:return l?function(e){return t()[e>>>0]}:function(e){return i()[e>>>0]};case 1:return l?function(e){return r()[e>>>1]}:function(e){return o()[e>>>1]};case 2:return l?function(e){return n()[e>>>2]}:function(e){return a()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var Yt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Xt(e,t){for(var s=e,n=s>>1,a=n+t/2;!(n>=a)&&o()[n>>>0];)++n;if((s=n<<1)-e>32&&Yt)return Yt.decode(i().slice(e,s));for(var l="",h=0;!(h>=t/2);++h){var c=r()[e+2*h>>>1];if(0==c)break;l+=String.fromCharCode(c)}return l}function Zt(e,t,s){if(void 0===s&&(s=2147483647),s<2)return 0;for(var i=t,o=(s-=2)<2*e.length?s/2:e.length,n=0;n>>1]=a,t+=2}return r()[t>>>1]=0,t-i}function qt(e){return 2*e.length}function Jt(e,t){for(var s=0,i="";!(s>=t/4);){var r=n()[e+4*s>>>2];if(0==r)break;if(++s,r>=65536){var o=r-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(r)}return i}function $t(e,t,s){if(void 0===s&&(s=2147483647),s<4)return 0;for(var i=t>>>=0,r=i+s-4,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),n()[t>>>2]=a,(t+=4)+4>r)break}return n()[t>>>2]=0,t-i}function es(e){for(var t=0,s=0;s=55296&&i<=57343&&++s,t+=4}return t}function ts(e){Atomics.store(n(),e>>2,1),bs()&&Bs(e),Atomics.compareExchange(n(),e>>2,1,0)}u.executeNotifiedProxyingQueue=ts;var ss,is={};function rs(e){var t=is[e];return void 0===t?je(e):t}function os(){return"object"==typeof globalThis?globalThis:Function("return this")()}function ns(e){ns.shown||(ns.shown={}),ns.shown[e]||(ns.shown[e]=1,D(e))}function as(e){var t=Hs(),s=e();return Gs(t),s}function ls(e,t){var s=arguments.length-2,i=arguments;return as((()=>{for(var r=s,o=ks(8*r),n=o>>3,a=0;a>>0]=h}return ws(e,r,o,t)}))}ss=()=>performance.timeOrigin+performance.now();var hs=[];function cs(e){var t=N.buffer;try{return N.grow(e-t.byteLength+65535>>>16),z(),1}catch(e){}}var us={};function As(){if(!As.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:m||"./this.program"};for(var t in us)void 0===us[t]?delete e[t]:e[t]=us[t];var s=[];for(var t in e)s.push(t+"="+e[t]);As.strings=s}return As.strings}function ps(e,s){if(I)return ls(3,1,e,s);var i=0;return As().forEach((function(r,o){var n=s+i;a()[e+4*o>>>2]=n,function(e,s,i){for(var r=0;r>>0]=e.charCodeAt(r);i||(t()[s>>>0]=0)}(r,n),i+=r.length+1})),0}function ds(e,t){if(I)return ls(4,1,e,t);var s=As();a()[e>>>2]=s.length;var i=0;return s.forEach((function(e){i+=e.length+1})),a()[t>>>2]=i,0}function fs(e){if(I)return ls(5,1,e);try{var t=ge.getStreamFromFD(e);return ye.close(t),0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}}function ms(e,s,i,r){if(I)return ls(6,1,e,s,i,r);try{var o=function(e,s,i,r){for(var o=0,n=0;n>>2],h=a()[s+4>>>2];s+=8;var c=ye.read(e,t(),l,h,r);if(c<0)return-1;if(o+=c,c>>2]=o,0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}}function Es(e,t,s,i,r){if(I)return ls(7,1,e,t,s,i,r);try{var o=(h=s)+2097152>>>0<4194305-!!(l=t)?(l>>>0)+4294967296*h:NaN;if(isNaN(o))return 61;var a=ge.getStreamFromFD(e);return ye.llseek(a,o,i),se=[a.position>>>0,(te=a.position,+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[r>>>2]=se[0],n()[r+4>>>2]=se[1],a.getdents&&0===o&&0===i&&(a.getdents=null),0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}var l,h}function ys(e,s,i,r){if(I)return ls(8,1,e,s,i,r);try{var o=function(e,s,i,r){for(var o=0,n=0;n>>2],h=a()[s+4>>>2];s+=8;var c=ye.write(e,t(),l,h,r);if(c<0)return-1;o+=c,void 0!==r&&(r+=c)}return o}(ge.getStreamFromFD(e),s,i);return a()[r>>>2]=o,0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}}function gs(e){return e%4==0&&(e%100!=0||e%400==0)}var vs=[31,29,31,30,31,30,31,31,30,31,30,31],Is=[31,28,31,30,31,30,31,31,30,31,30,31];function Ts(e,s,i,r){var o=n()[r+40>>>2],a={tm_sec:n()[r>>>2],tm_min:n()[r+4>>>2],tm_hour:n()[r+8>>>2],tm_mday:n()[r+12>>>2],tm_mon:n()[r+16>>>2],tm_year:n()[r+20>>>2],tm_wday:n()[r+24>>>2],tm_yday:n()[r+28>>>2],tm_isdst:n()[r+32>>>2],tm_gmtoff:n()[r+36>>>2],tm_zone:o?Q(o):""},l=Q(i),h={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in h)l=l.replace(new RegExp(c,"g"),h[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],A=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,s){for(var i="number"==typeof e?e.toString():e||"";i.length0?1:0}var i;return 0===(i=s(e.getFullYear()-t.getFullYear()))&&0===(i=s(e.getMonth()-t.getMonth()))&&(i=s(e.getDate()-t.getDate())),i}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function E(e){var t=function(e,t){for(var s=new Date(e.getTime());t>0;){var i=gs(s.getFullYear()),r=s.getMonth(),o=(i?vs:Is)[r];if(!(t>o-s.getDate()))return s.setDate(s.getDate()+t),s;t-=o-s.getDate()+1,s.setDate(1),r<11?s.setMonth(r+1):(s.setMonth(0),s.setFullYear(s.getFullYear()+1))}return s}(new Date(e.tm_year+1900,0,1),e.tm_yday),s=new Date(t.getFullYear(),0,4),i=new Date(t.getFullYear()+1,0,4),r=m(s),o=m(i);return f(r,t)<=0?f(o,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var y={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return A[e.tm_mon].substring(0,3)},"%B":function(e){return A[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return E(e).toString().substring(2)},"%G":function(e){return E(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+function(e,t){for(var s=0,i=0;i<=t;s+=e[i++]);return s}(gs(e.tm_year+1900)?vs:Is,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return d(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var s=(e.tm_wday+371-e.tm_yday)%7;4==s||3==s&&gs(e.tm_year)||(t=1)}}else{t=52;var i=(e.tm_wday+7-e.tm_yday-1)%7;(4==i||5==i&&gs(e.tm_year%400-1))&&t++}return d(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,s=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(s?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in l=l.replace(/%%/g,"\0\0"),y)l.includes(c)&&(l=l.replace(new RegExp(c,"g"),y[c](a)));var g,v,I=de(l=l.replace(/\0\0/g,"%"),!1);return I.length>s?0:(g=I,v=e,t().set(g,v>>>0),I.length-1)}Te.init();var _s=function(e,t,s,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ye.nextInode++,this.name=t,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=i},Rs=365,Ps=146;Object.defineProperties(_s.prototype,{read:{get:function(){return(this.mode&Rs)===Rs},set:function(e){e?this.mode|=Rs:this.mode&=-366}},write:{get:function(){return(this.mode&Ps)===Ps},set:function(e){e?this.mode|=Ps:this.mode&=-147}},isFolder:{get:function(){return ye.isDir(this.mode)}},isDevice:{get:function(){return ye.isChrdev(this.mode)}}}),ye.FSNode=_s,ye.staticInit(),Ue=u.InternalError=Le(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Qe=e}(),We=u.BindingError=Le(Error,"BindingError"),Et.prototype.isAliasOf=Ye,Et.prototype.clone=pt,Et.prototype.delete=dt,Et.prototype.isDeleted=ft,Et.prototype.deleteLater=mt,u.getInheritedInstanceCount=st,u.getLiveInheritedInstances=it,u.flushPendingDeletes=ot,u.setDelayFunction=at,Ct.prototype.getPointee=Pt,Ct.prototype.destructor=Dt,Ct.prototype.argPackAdvance=8,Ct.prototype.readValueFromPointer=Se,Ct.prototype.deleteObject=Nt,Ct.prototype.fromWireType=ut,xt=u.UnboundTypeError=Le(Error,"UnboundTypeError"),u.count_emval_handles=Gt,u.get_first_emval=kt;var Ds=[null,ve,Re,ps,ds,fs,ms,Es,ys],Ns={g:function(e,t,s){throw new Ne(e).init(t,s),e},T:function(e){Ss(e,!g,1,!y),Te.threadInitTLS()},J:function(e){I?postMessage({cmd:"cleanupThread",thread:e}):ue(e)},X:function(e){},_:function(e){ae(Ce)},Z:function(e,t){ae(Ce)},da:function(e){var t=be[e];delete be[e];var s=t.elements,i=s.length,r=s.map((function(e){return e.getterReturnType})).concat(s.map((function(e){return e.setterArgumentType}))),o=t.rawConstructor,n=t.rawDestructor;Ge([e],r,(function(e){return s.forEach(((t,s)=>{var r=e[s],o=t.getter,n=t.getterContext,a=e[s+i],l=t.setter,h=t.setterContext;t.read=e=>r.fromWireType(o(n,e)),t.write=(e,t)=>{var s=[];l(h,e,a.toWireType(s,t)),Oe(s)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(i),r=0;r>>l])},destructorFunction:null})},p:function(e,t,s,i,r,o,n,a,l,h,c,u,A){c=je(c),o=St(r,o),a&&(a=St(n,a)),h&&(h=St(l,h)),A=St(u,A);var p=Fe(c);gt(p,(function(){Bt("Cannot construct "+c+" due to unbound types",[i])})),Ge([e,t,s],i?[i]:[],(function(t){var s,r;t=t[0],r=i?(s=t.registeredClass).instancePrototype:Et.prototype;var n=Me(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new We("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new We(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new We("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(r,{constructor:{value:n}});n.prototype=l;var u=new vt(c,n,l,A,s,o,a,h),d=new Ct(c,u,!0,!1,!1),f=new Ct(c+"*",u,!1,!1,!1),m=new Ct(c+" const*",u,!1,!0,!1);return tt[e]={pointerType:f,constPointerType:m},bt(p,n),[d,f,m]}))},o:function(e,t,s,i,r,o){x(t>0);var n=Ft(t,s);r=St(i,r),Ge([],[e],(function(e){var s="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new We("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{Bt("Cannot construct "+e.name+" due to unbound types",n)},Ge([],n,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Mt(s,i,null,r,o),[]})),[]}))},c:function(e,t,s,i,r,o,n,a){var l=Ft(s,i);t=je(t),o=St(r,o),Ge([],[e],(function(e){var i=(e=e[0]).name+"."+t;function r(){Bt("Cannot call "+i+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var h=e.registeredClass.instancePrototype,c=h[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===s-2?(r.argCount=s-2,r.className=e.name,h[t]=r):(yt(h,t,i),h[t].overloadTable[s-2]=r),Ge([],l,(function(r){var a=Mt(i,r,e,o,n);return void 0===h[t].overloadTable?(a.argCount=s-2,h[t]=a):h[t].overloadTable[s-2]=a,[]})),[]}))},aa:function(e,t){Ke(e,{name:t=je(t),fromWireType:function(e){var t=Vt.toValue(e);return Ht(e),t},toWireType:function(e,t){return Vt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:null})},D:function(e,t,s,i){var r=Ve(s);function o(){}t=je(t),o.values={},Ke(e,{name:t,constructor:o,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:Qt(t,r,i),destructorFunction:null}),gt(t,o)},t:function(e,t,s){var i=jt(e,"enum");t=je(t);var r=i.constructor,o=Object.create(i.constructor.prototype,{value:{value:s},constructor:{value:Me(i.name+"_"+t,(function(){}))}});r.values[s]=o,r[t]=o},B:function(e,t,s){var i=Ve(s);Ke(e,{name:t=je(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:zt(t,i),destructorFunction:null})},d:function(e,t,s,i,r,o){var n=Ft(t,s);e=je(e),r=St(i,r),gt(e,(function(){Bt("Cannot call "+e+" due to unbound types",n)}),t-1),Ge([],n,(function(s){var i=[s[0],null].concat(s.slice(1));return bt(e,Mt(e,i,null,r,o),t-1),[]}))},s:function(e,t,s,i,r){t=je(t);var o=Ve(s),n=e=>e;if(0===i){var a=32-8*s;n=e=>e<>>a}var l=t.includes("unsigned");Ke(e,{name:t,fromWireType:n,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Kt(t,o,0!==i),destructorFunction:null})},i:function(e,t,s){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function r(e){e>>=2;var t=a(),s=t[e>>>0],r=t[e+1>>>0];return new i(t.buffer,r,s)}Ke(e,{name:s=je(s),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})},C:function(e,t){var s="std::string"===(t=je(t));Ke(e,{name:t,fromWireType:function(e){var t,r=a()[e>>>2],o=e+4;if(s)for(var n=o,l=0;l<=r;++l){var h=o+l;if(l==r||0==i()[h>>>0]){var c=Q(n,h-n);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),n=h+1}}else{var u=new Array(r);for(l=0;l>>0]);t=u.join("")}return Ls(e),t},toWireType:function(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ze("Cannot pass non-string to std::string"),r=s&&o?W(t):t.length;var n,l,h=Cs(4+r+1),c=h+4;if(c>>>=0,a()[h>>>2]=r,s&&o)n=c,l=r+1,j(t,i(),n,l);else if(o)for(var u=0;u255&&(Ls(c),ze("String has UTF-16 code units that do not fit in 8 bits")),i()[c+u>>>0]=A}else for(u=0;u>>0]=t[u];return null!==e&&e.push(Ls,h),h},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:function(e){Ls(e)}})},x:function(e,t,s){var i,r,n,l,h;s=je(s),2===t?(i=Xt,r=Zt,l=qt,n=()=>o(),h=1):4===t&&(i=Jt,r=$t,l=es,n=()=>a(),h=2),Ke(e,{name:s,fromWireType:function(e){for(var s,r=a()[e>>>2],o=n(),l=e+4,c=0;c<=r;++c){var u=e+4+c*t;if(c==r||0==o[u>>>h]){var A=i(l,u-l);void 0===s?s=A:(s+=String.fromCharCode(0),s+=A),l=u+t}}return Ls(e),s},toWireType:function(e,i){"string"!=typeof i&&ze("Cannot pass non-string to C++ string type "+s);var o=l(i),n=Cs(4+o+t);return n>>>=0,a()[n>>>2]=o>>h,r(i,n+4,o+t),null!==e&&e.push(Ls,n),n},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:function(e){Ls(e)}})},ea:function(e,t,s,i,r,o){be[e]={name:je(t),rawConstructor:St(s,i),rawDestructor:St(r,o),elements:[]}},j:function(e,t,s,i,r,o,n,a,l){be[e].elements.push({getterReturnType:t,getter:St(s,i),getterContext:r,setterArgumentType:o,setter:St(n,a),setterContext:l})},r:function(e,t,s,i,r,o){ke[e]={name:je(t),rawConstructor:St(s,i),rawDestructor:St(r,o),fields:[]}},f:function(e,t,s,i,r,o,n,a,l,h){ke[e].fields.push({fieldName:je(t),getterReturnType:s,getter:St(i,r),getterContext:o,setterArgumentType:n,setter:St(a,l),setterContext:h})},ca:function(e,t){Ke(e,{isVoid:!0,name:t=je(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},Y:function(e){D(Q(e))},V:function(e,t,s,i){if(e==t)setTimeout((()=>ts(i)));else if(I)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:i});else{var r=Te.pthreads[e];if(!r)return;r.postMessage({cmd:"processProxyingQueue",queue:i})}return 1},S:function(e,t,s){return-1},n:function(e,t,s){e=Vt.toValue(e),t=jt(t,"emval::as");var i=[],r=Vt.toHandle(i);return a()[s>>>2]=r,t.toWireType(i,e)},z:function(e,t,s,i){e=Vt.toValue(e);for(var r=function(e,t){for(var s=new Array(e),i=0;i>>2],"parameter "+i);return s}(t,s),o=new Array(t),n=0;n4&&(Ut[e].refcount+=1)},ga:function(e,t){return(e=Vt.toValue(e))instanceof(t=Vt.toValue(t))},y:function(e){return"number"==typeof(e=Vt.toValue(e))},E:function(e){return"string"==typeof(e=Vt.toValue(e))},fa:function(){return Vt.toHandle([])},h:function(e){return Vt.toHandle(rs(e))},w:function(){return Vt.toHandle({})},m:function(e){Oe(Vt.toValue(e)),Ht(e)},k:function(e,t,s){e=Vt.toValue(e),t=Vt.toValue(t),s=Vt.toValue(s),e[t]=s},e:function(e,t){var s=(e=jt(e,"_emval_take_value")).readValueFromPointer(t);return Vt.toHandle(s)},A:function(){ae("")},U:function(){g||ns("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")},v:ss,W:function(e,t,s){i().copyWithin(e>>>0,t>>>0,t+s>>>0)},R:function(e,t,s){hs.length=t;for(var i=s>>3,r=0;r>>0];return Ds[e].apply(null,hs)},P:function(e){var t=i().length;if((e>>>=0)<=t)return!1;var s,r,o=4294901760;if(e>o)return!1;for(var n=1;n<=4;n*=2){var a=t*(1+.2/n);if(a=Math.min(a,e+100663296),cs(Math.min(o,(s=Math.max(e,a))+((r=65536)-s%r)%r)))return!0}return!1},$:function(){throw"unwind"},L:ps,M:ds,I:Ie,N:fs,O:ms,G:Es,Q:ys,a:N||u.wasmMemory,K:function(e,t,s,i,r){return Ts(e,t,s,i)}};!function(){var e={a:Ns};function t(e,t){var s,i,r=e.exports;u.asm=r,s=u.asm.ka,Te.tlsInitFunctions.push(s),K=u.asm.ia,i=u.asm.ha,Z.unshift(i),C=t,Te.loadWasmModuleToAllWorkers((()=>ne()))}function s(e){t(e.instance,e.module)}function i(t){return(R||!y&&!g||"function"!=typeof fetch?Promise.resolve().then((function(){return he(ee)})):fetch(ee,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ee+"'";return e.arrayBuffer()})).catch((function(){return he(ee)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){D("failed to asynchronously prepare wasm: "+e),ae(e)}))}if(oe(),u.instantiateWasm)try{return u.instantiateWasm(e,t)}catch(e){D("Module.instantiateWasm callback failed with error: "+e),c(e)}(R||"function"!=typeof WebAssembly.instantiateStreaming||le(ee)||"function"!=typeof fetch?i(s):fetch(ee,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(s,(function(e){return D("wasm streaming compile failed: "+e),D("falling back to ArrayBuffer instantiation"),i(s)}))}))).catch(c)}();var Cs=function(){return(Cs=u.asm.ja).apply(null,arguments)};u.__emscripten_tls_init=function(){return(u.__emscripten_tls_init=u.asm.ka).apply(null,arguments)};var bs=u._pthread_self=function(){return(bs=u._pthread_self=u.asm.la).apply(null,arguments)},Os=u.___getTypeName=function(){return(Os=u.___getTypeName=u.asm.ma).apply(null,arguments)};u.__embind_initialize_bindings=function(){return(u.__embind_initialize_bindings=u.asm.na).apply(null,arguments)};var Ss=u.__emscripten_thread_init=function(){return(Ss=u.__emscripten_thread_init=u.asm.oa).apply(null,arguments)};u.__emscripten_thread_crashed=function(){return(u.__emscripten_thread_crashed=u.asm.pa).apply(null,arguments)};var xs,ws=function(){return(ws=u.asm.qa).apply(null,arguments)},Bs=u.__emscripten_proxy_execute_task_queue=function(){return(Bs=u.__emscripten_proxy_execute_task_queue=u.asm.ra).apply(null,arguments)},Fs=function(){return(Fs=u.asm.sa).apply(null,arguments)},Ms=u.__emscripten_thread_exit=function(){return(Ms=u.__emscripten_thread_exit=u.asm.ta).apply(null,arguments)},Ls=function(){return(Ls=u.asm.ua).apply(null,arguments)},Us=function(){return(Us=u.asm.va).apply(null,arguments)},Hs=function(){return(Hs=u.asm.wa).apply(null,arguments)},Gs=function(){return(Gs=u.asm.xa).apply(null,arguments)},ks=function(){return(ks=u.asm.ya).apply(null,arguments)},Vs=function(){return(Vs=u.asm.za).apply(null,arguments)};function Qs(){if(!(ie>0)){if(I)return h(u),$(),void startWorker(u);!function(){if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)e=u.preRun.shift(),X.unshift(e);var e;_e(X)}(),ie>0||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),e()}),1)):e())}function e(){xs||(xs=!0,u.calledRun=!0,S||($(),h(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),function(){if(!I){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)e=u.postRun.shift(),q.unshift(e);var e;_e(q)}}()))}}if(u.dynCall_jiji=function(){return(u.dynCall_jiji=u.asm.Aa).apply(null,arguments)},u.dynCall_viijii=function(){return(u.dynCall_viijii=u.asm.Ba).apply(null,arguments)},u.dynCall_iiiiij=function(){return(u.dynCall_iiiiij=u.asm.Ca).apply(null,arguments)},u.dynCall_iiiiijj=function(){return(u.dynCall_iiiiijj=u.asm.Da).apply(null,arguments)},u.dynCall_iiiiiijj=function(){return(u.dynCall_iiiiiijj=u.asm.Ea).apply(null,arguments)},u.keepRuntimeAlive=J,u.wasmMemory=N,u.ExitStatus=ce,u.PThread=Te,re=function e(){xs||Qs(),xs||(re=e)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();return Qs(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=i:"function"==typeof define&&define.amd?define([],(function(){return i})):"object"==typeof e&&(e.WebIFCWasm=i)}}),Ay=cy({"dist/web-ifc.js"(e,t){var s,i=(s="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,i,r=void 0!==e?e:{};r.ready=new Promise((function(e,s){t=e,i=s}));var o,n,a=Object.assign({},r),l="./this.program",h="";"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),s&&(h=s),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},n=(e,t,s)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):s()},i.onerror=s,i.send(null)};var c,u,A=r.print||console.log.bind(console),p=r.printErr||console.warn.bind(console);Object.assign(r,a),a=null,r.arguments,r.thisProgram&&(l=r.thisProgram),r.quit,r.wasmBinary&&(c=r.wasmBinary),r.noExitRuntime,"object"!=typeof WebAssembly&&V("no native wasm support detected");var d=!1;function f(e,t){e||V(t)}var m,E,y,g,v,I,T,_,R,P="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function D(e,t,s){for(var i=(t>>>=0)+s,r=t;e[r]&&!(r>=i);)++r;if(r-t>16&&e.buffer&&P)return P.decode(e.subarray(t,r));for(var o="";t>10,56320|1023&h)}}else o+=String.fromCharCode((31&n)<<6|a)}else o+=String.fromCharCode(n)}return o}function N(e,t){return(e>>>=0)?D(E,e,t):""}function C(e,t,s,i){if(!(i>0))return 0;for(var r=s>>>=0,o=s+i-1,n=0;n=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),a<=127){if(s>=o)break;t[s++>>>0]=a}else if(a<=2047){if(s+1>=o)break;t[s++>>>0]=192|a>>6,t[s++>>>0]=128|63&a}else if(a<=65535){if(s+2>=o)break;t[s++>>>0]=224|a>>12,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}else{if(s+3>=o)break;t[s++>>>0]=240|a>>18,t[s++>>>0]=128|a>>12&63,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}}return t[s>>>0]=0,s-r}function b(e){for(var t=0,s=0;s=55296&&i<=57343?(t+=4,++s):t+=3}return t}function O(){var e=u.buffer;r.HEAP8=m=new Int8Array(e),r.HEAP16=y=new Int16Array(e),r.HEAP32=v=new Int32Array(e),r.HEAPU8=E=new Uint8Array(e),r.HEAPU16=g=new Uint16Array(e),r.HEAPU32=I=new Uint32Array(e),r.HEAPF32=T=new Float32Array(e),r.HEAPF64=_=new Float64Array(e)}var S,x,w,B,F=[],M=[],L=[],U=0,H=null;function G(e){U++,r.monitorRunDependencies&&r.monitorRunDependencies(U)}function k(e){if(U--,r.monitorRunDependencies&&r.monitorRunDependencies(U),0==U&&H){var t=H;H=null,t()}}function V(e){r.onAbort&&r.onAbort(e),p(e="Aborted("+e+")"),d=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}function Q(e){return e.startsWith("data:application/octet-stream;base64,")}function j(e){try{if(e==S&&c)return new Uint8Array(c);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function W(e){for(;e.length>0;)e.shift()(r)}function z(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){I[this.ptr+4>>>2]=e},this.get_type=function(){return I[this.ptr+4>>>2]},this.set_destructor=function(e){I[this.ptr+8>>>2]=e},this.get_destructor=function(){return I[this.ptr+8>>>2]},this.set_refcount=function(e){v[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,m[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=m[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,m[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=m[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=v[this.ptr>>>2];v[this.ptr>>>2]=e+1},this.release_ref=function(){var e=v[this.ptr>>>2];return v[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){I[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return I[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Kt(this.get_type()))return I[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}Q(S="web-ifc.wasm")||(x=S,S=r.locateFile?r.locateFile(x,h):h+x);var K={};function Y(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function X(e){return this.fromWireType(v[e>>>2])}var Z={},q={},J={};function $(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function ee(e,t){return e=$(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function te(e,t){var s=ee(t,(function(e){this.name=t,this.message=e;var s=new Error(e).stack;void 0!==s&&(this.stack=this.toString()+"\n"+s.replace(/^Error(:[^\n]*)?\n/,""))}));return s.prototype=Object.create(e.prototype),s.prototype.constructor=s,s.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},s}var se=void 0;function ie(e){throw new se(e)}function re(e,t,s){function i(t){var i=s(t);i.length!==e.length&&ie("Mismatched type converter count");for(var r=0;r{q.hasOwnProperty(e)?r[t]=q[e]:(o.push(e),Z.hasOwnProperty(e)||(Z[e]=[]),Z[e].push((()=>{r[t]=q[e],++n===o.length&&i(r)})))})),0===o.length&&i(r)}var oe={};function ne(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var ae=void 0;function le(e){for(var t="",s=e;E[s>>>0];)t+=ae[E[s++>>>0]];return t}var he=void 0;function ce(e){throw new he(e)}function ue(e,t,s={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||ce('type "'+i+'" must have a positive integer typeid pointer'),q.hasOwnProperty(e)){if(s.ignoreDuplicateRegistrations)return;ce("Cannot register type '"+i+"' twice")}if(q[e]=t,delete J[e],Z.hasOwnProperty(e)){var r=Z[e];delete Z[e],r.forEach((e=>e()))}}function Ae(e){if(!(this instanceof Fe))return!1;if(!(e instanceof Fe))return!1;for(var t=this.$$.ptrType.registeredClass,s=this.$$.ptr,i=e.$$.ptrType.registeredClass,r=e.$$.ptr;t.baseClass;)s=t.upcast(s),t=t.baseClass;for(;i.baseClass;)r=i.upcast(r),i=i.baseClass;return t===i&&s===r}function pe(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function de(e){ce(e.$$.ptrType.registeredClass.name+" instance already deleted")}var fe=!1;function me(e){}function Ee(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function ye(e,t,s){if(t===s)return e;if(void 0===s.baseClass)return null;var i=ye(e,t,s.baseClass);return null===i?null:s.downcast(i)}var ge={};function ve(){return Object.keys(De).length}function Ie(){var e=[];for(var t in De)De.hasOwnProperty(t)&&e.push(De[t]);return e}var Te=[];function _e(){for(;Te.length;){var e=Te.pop();e.$$.deleteScheduled=!1,e.delete()}}var Re=void 0;function Pe(e){Re=e,Te.length&&Re&&Re(_e)}var De={};function Ne(e,t){return t=function(e,t){for(void 0===t&&ce("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),De[t]}function Ce(e,t){return t.ptrType&&t.ptr||ie("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ie("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Oe(Object.create(e,{$$:{value:t}}))}function be(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var s=Ne(this.registeredClass,t);if(void 0!==s){if(0===s.$$.count.value)return s.$$.ptr=t,s.$$.smartPtr=e,s.clone();var i=s.clone();return this.destructor(e),i}function r(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,n=this.registeredClass.getActualType(t),a=ge[n];if(!a)return r.call(this);o=this.isConst?a.constPointerType:a.pointerType;var l=ye(t,this.registeredClass,o.registeredClass);return null===l?r.call(this):this.isSmartPointer?Ce(o.registeredClass.instancePrototype,{ptrType:o,ptr:l,smartPtrType:this,smartPtr:e}):Ce(o.registeredClass.instancePrototype,{ptrType:o,ptr:l})}function Oe(e){return"undefined"==typeof FinalizationRegistry?(Oe=e=>e,e):(fe=new FinalizationRegistry((e=>{Ee(e.$$)})),me=e=>fe.unregister(e),(Oe=e=>{var t=e.$$;if(t.smartPtr){var s={$$:t};fe.register(e,s,e)}return e})(e))}function Se(){if(this.$$.ptr||de(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Oe(Object.create(Object.getPrototypeOf(this),{$$:{value:pe(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function xe(){this.$$.ptr||de(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ce("Object already scheduled for deletion"),me(this),Ee(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function we(){return!this.$$.ptr}function Be(){return this.$$.ptr||de(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ce("Object already scheduled for deletion"),Te.push(this),1===Te.length&&Re&&Re(_e),this.$$.deleteScheduled=!0,this}function Fe(){}function Me(e,t,s){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ce("Function '"+s+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,s){r.hasOwnProperty(e)?((void 0===s||void 0!==r[e].overloadTable&&void 0!==r[e].overloadTable[s])&&ce("Cannot register public name '"+e+"' twice"),Me(r,e,e),r.hasOwnProperty(s)&&ce("Cannot register multiple overloads of a function with the same number of arguments ("+s+")!"),r[e].overloadTable[s]=t):(r[e]=t,void 0!==s&&(r[e].numArguments=s))}function Ue(e,t,s,i,r,o,n,a){this.name=e,this.constructor=t,this.instancePrototype=s,this.rawDestructor=i,this.baseClass=r,this.getActualType=o,this.upcast=n,this.downcast=a,this.pureVirtualFunctions=[]}function He(e,t,s){for(;t!==s;)t.upcast||ce("Expected null or instance of "+s.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Ge(e,t){if(null===t)return this.isReference&&ce("null is not a valid "+this.name),0;t.$$||ce('Cannot pass "'+ut(t)+'" as a '+this.name),t.$$.ptr||ce("Cannot pass deleted object as a pointer of type "+this.name);var s=t.$$.ptrType.registeredClass;return He(t.$$.ptr,s,this.registeredClass)}function ke(e,t){var s;if(null===t)return this.isReference&&ce("null is not a valid "+this.name),this.isSmartPointer?(s=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,s),s):0;t.$$||ce('Cannot pass "'+ut(t)+'" as a '+this.name),t.$$.ptr||ce("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&ce("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(s=He(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ce("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?s=t.$$.smartPtr:ce("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:s=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)s=t.$$.smartPtr;else{var r=t.clone();s=this.rawShare(s,lt.toHandle((function(){r.delete()}))),null!==e&&e.push(this.rawDestructor,s)}break;default:ce("Unsupporting sharing policy")}return s}function Ve(e,t){if(null===t)return this.isReference&&ce("null is not a valid "+this.name),0;t.$$||ce('Cannot pass "'+ut(t)+'" as a '+this.name),t.$$.ptr||ce("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&ce("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var s=t.$$.ptrType.registeredClass;return He(t.$$.ptr,s,this.registeredClass)}function Qe(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function je(e){this.rawDestructor&&this.rawDestructor(e)}function We(e){null!==e&&e.delete()}function ze(e,t,s,i,r,o,n,a,l,h,c){this.name=e,this.registeredClass=t,this.isReference=s,this.isConst=i,this.isSmartPointer=r,this.pointeeType=o,this.sharingPolicy=n,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=h,this.rawDestructor=c,r||void 0!==t.baseClass?this.toWireType=ke:i?(this.toWireType=Ge,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}function Ke(e,t,s){r.hasOwnProperty(e)||ie("Replacing nonexistant public symbol"),void 0!==r[e].overloadTable&&void 0!==s?r[e].overloadTable[s]=t:(r[e]=t,r[e].argCount=s)}var Ye=[];function Xe(e){var t=Ye[e];return t||(e>=Ye.length&&(Ye.length=e+1),Ye[e]=t=R.get(e)),t}function Ze(e,t,s){return e.includes("j")?function(e,t,s){var i=r["dynCall_"+e];return s&&s.length?i.apply(null,[t].concat(s)):i.call(null,t)}(e,t,s):Xe(t).apply(null,s)}function qe(e,t){var s,i,r,o=(e=le(e)).includes("j")?(s=e,i=t,r=[],function(){return r.length=0,Object.assign(r,arguments),Ze(s,i,r)}):Xe(t);return"function"!=typeof o&&ce("unknown function pointer with signature "+e+": "+t),o}var Je=void 0;function $e(e){var t=jt(e),s=le(t);return zt(t),s}function et(e,t){var s=[],i={};throw t.forEach((function e(t){i[t]||q[t]||(J[t]?J[t].forEach(e):(s.push(t),i[t]=!0))})),new Je(e+": "+s.map($e).join([", "]))}function tt(e,t){for(var s=[],i=0;i>>2]);return s}function st(e,t,s,i,r){var o=t.length;o<2&&ce("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var n=null!==t[1]&&null!==s,a=!1,l=1;l0?", ":"")+u),A+=(h?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",a)A+="runDestructors(destructors);\n";else for(l=n?1:2;l4&&0==--rt[e].refcount&&(rt[e]=void 0,it.push(e))}function nt(){for(var e=0,t=5;t(e||ce("Cannot use deleted val. handle = "+e),rt[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=it.length?it.pop():rt.length;return rt[t]={refcount:1,value:e},t}}};function ht(e,t,s){switch(t){case 0:return function(e){var t=s?m:E;return this.fromWireType(t[e>>>0])};case 1:return function(e){var t=s?y:g;return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=s?v:I;return this.fromWireType(t[e>>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function ct(e,t){var s=q[e];return void 0===s&&ce(t+" has unknown type "+$e(e)),s}function ut(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function At(e,t){switch(t){case 2:return function(e){return this.fromWireType(T[e>>>2])};case 3:return function(e){return this.fromWireType(_[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function pt(e,t,s){switch(t){case 0:return s?function(e){return m[e>>>0]}:function(e){return E[e>>>0]};case 1:return s?function(e){return y[e>>>1]}:function(e){return g[e>>>1]};case 2:return s?function(e){return v[e>>>2]}:function(e){return I[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var dt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ft(e,t){for(var s=e,i=s>>1,r=i+t/2;!(i>=r)&&g[i>>>0];)++i;if((s=i<<1)-e>32&&dt)return dt.decode(E.subarray(e>>>0,s>>>0));for(var o="",n=0;!(n>=t/2);++n){var a=y[e+2*n>>>1];if(0==a)break;o+=String.fromCharCode(a)}return o}function mt(e,t,s){if(void 0===s&&(s=2147483647),s<2)return 0;for(var i=t,r=(s-=2)<2*e.length?s/2:e.length,o=0;o>>1]=n,t+=2}return y[t>>>1]=0,t-i}function Et(e){return 2*e.length}function yt(e,t){for(var s=0,i="";!(s>=t/4);){var r=v[e+4*s>>>2];if(0==r)break;if(++s,r>=65536){var o=r-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(r)}return i}function gt(e,t,s){if(void 0===s&&(s=2147483647),s<4)return 0;for(var i=t>>>=0,r=i+s-4,o=0;o=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++o)),v[t>>>2]=n,(t+=4)+4>r)break}return v[t>>>2]=0,t-i}function vt(e){for(var t=0,s=0;s=55296&&i<=57343&&++s,t+=4}return t}var It={};function Tt(e){var t=It[e];return void 0===t?le(e):t}function _t(){return"object"==typeof globalThis?globalThis:Function("return this")()}function Rt(e){var t=u.buffer;try{return u.grow(e-t.byteLength+65535>>>16),O(),1}catch(e){}}var Pt={};function Dt(){if(!Dt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:l||"./this.program"};for(var t in Pt)void 0===Pt[t]?delete e[t]:e[t]=Pt[t];var s=[];for(var t in e)s.push(t+"="+e[t]);Dt.strings=s}return Dt.strings}var Nt={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var s=0,i=e.length-1;i>=0;i--){var r=e[i];"."===r?e.splice(i,1):".."===r?(e.splice(i,1),s++):s&&(e.splice(i,1),s--)}if(t)for(;s;s--)e.unshift("..");return e},normalize:e=>{var t=Nt.isAbs(e),s="/"===e.substr(-1);return e=Nt.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),e||t||(e="."),e&&s&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=Nt.splitPath(e),s=t[0],i=t[1];return s||i?(i&&(i=i.substr(0,i.length-1)),s+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=Nt.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Nt.normalize(e.join("/"))},join2:(e,t)=>Nt.normalize(e+"/"+t)},Ct={resolve:function(){for(var e="",t=!1,s=arguments.length-1;s>=-1&&!t;s--){var i=s>=0?arguments[s]:wt.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=Nt.isAbs(i)}return e=Nt.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),(t?"/":"")+e||"."},relative:(e,t)=>{function s(e){for(var t=0;t=0&&""===e[s];s--);return t>s?[]:e.slice(t,s-t+1)}e=Ct.resolve(e).substr(1),t=Ct.resolve(t).substr(1);for(var i=s(e.split("/")),r=s(t.split("/")),o=Math.min(i.length,r.length),n=o,a=0;a0?s:b(e)+1,r=new Array(i),o=C(e,r,0,r.length);return t&&(r.length=o),r}var Ot={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Ot.ttys[e]={input:[],output:[],ops:t},wt.registerDevice(e,Ot.stream_ops)},stream_ops:{open:function(e){var t=Ot.ttys[e.node.rdev];if(!t)throw new wt.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,s,i,r){if(!e.tty||!e.tty.ops.get_char)throw new wt.ErrnoError(60);for(var o=0,n=0;n0&&(A(D(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(D(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(p(D(e.output,0)),e.output=[])}}};function St(e){V()}var xt={ops_table:null,mount:function(e){return xt.createNode(null,"/",16895,0)},createNode:function(e,t,s,i){if(wt.isBlkdev(s)||wt.isFIFO(s))throw new wt.ErrnoError(63);xt.ops_table||(xt.ops_table={dir:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr,lookup:xt.node_ops.lookup,mknod:xt.node_ops.mknod,rename:xt.node_ops.rename,unlink:xt.node_ops.unlink,rmdir:xt.node_ops.rmdir,readdir:xt.node_ops.readdir,symlink:xt.node_ops.symlink},stream:{llseek:xt.stream_ops.llseek}},file:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr},stream:{llseek:xt.stream_ops.llseek,read:xt.stream_ops.read,write:xt.stream_ops.write,allocate:xt.stream_ops.allocate,mmap:xt.stream_ops.mmap,msync:xt.stream_ops.msync}},link:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr,readlink:xt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr},stream:wt.chrdev_stream_ops}});var r=wt.createNode(e,t,s,i);return wt.isDir(r.mode)?(r.node_ops=xt.ops_table.dir.node,r.stream_ops=xt.ops_table.dir.stream,r.contents={}):wt.isFile(r.mode)?(r.node_ops=xt.ops_table.file.node,r.stream_ops=xt.ops_table.file.stream,r.usedBytes=0,r.contents=null):wt.isLink(r.mode)?(r.node_ops=xt.ops_table.link.node,r.stream_ops=xt.ops_table.link.stream):wt.isChrdev(r.mode)&&(r.node_ops=xt.ops_table.chrdev.node,r.stream_ops=xt.ops_table.chrdev.stream),r.timestamp=Date.now(),e&&(e.contents[t]=r,e.timestamp=r.timestamp),r},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var s=e.contents?e.contents.length:0;if(!(s>=t)){t=Math.max(t,s*(s<1048576?2:1.125)>>>0),0!=s&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var s=e.contents;e.contents=new Uint8Array(t),s&&e.contents.set(s.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=wt.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,wt.isDir(e.mode)?t.size=4096:wt.isFile(e.mode)?t.size=e.usedBytes:wt.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&xt.resizeFileStorage(e,t.size)},lookup:function(e,t){throw wt.genericErrors[44]},mknod:function(e,t,s,i){return xt.createNode(e,t,s,i)},rename:function(e,t,s){if(wt.isDir(e.mode)){var i;try{i=wt.lookupNode(t,s)}catch(e){}if(i)for(var r in i.contents)throw new wt.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=s,t.contents[s]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var s=wt.lookupNode(e,t);for(var i in s.contents)throw new wt.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var s in e.contents)e.contents.hasOwnProperty(s)&&t.push(s);return t},symlink:function(e,t,s){var i=xt.createNode(e,t,41471,0);return i.link=s,i},readlink:function(e){if(!wt.isLink(e.mode))throw new wt.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,s,i,r){var o=e.node.contents;if(r>=e.node.usedBytes)return 0;var n=Math.min(e.node.usedBytes-r,i);if(n>8&&o.subarray)t.set(o.subarray(r,r+n),s);else for(var a=0;a0||s+t>>=0,m.set(a,o>>>0)}else n=!1,o=a.byteOffset;return{ptr:o,allocated:n}},msync:function(e,t,s,i,r){return xt.stream_ops.write(e,t,0,i,s,!1),0}}},wt={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=Ct.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new wt.ErrnoError(32);for(var s=e.split("/").filter((e=>!!e)),i=wt.root,r="/",o=0;o40)throw new wt.ErrnoError(32)}}return{path:r,node:i}},getPath:e=>{for(var t;;){if(wt.isRoot(e)){var s=e.mount.mountpoint;return t?"/"!==s[s.length-1]?s+"/"+t:s+t:s}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var s=0,i=0;i>>0)%wt.nameTable.length},hashAddNode:e=>{var t=wt.hashName(e.parent.id,e.name);e.name_next=wt.nameTable[t],wt.nameTable[t]=e},hashRemoveNode:e=>{var t=wt.hashName(e.parent.id,e.name);if(wt.nameTable[t]===e)wt.nameTable[t]=e.name_next;else for(var s=wt.nameTable[t];s;){if(s.name_next===e){s.name_next=e.name_next;break}s=s.name_next}},lookupNode:(e,t)=>{var s=wt.mayLookup(e);if(s)throw new wt.ErrnoError(s,e);for(var i=wt.hashName(e.id,t),r=wt.nameTable[i];r;r=r.name_next){var o=r.name;if(r.parent.id===e.id&&o===t)return r}return wt.lookup(e,t)},createNode:(e,t,s,i)=>{var r=new wt.FSNode(e,t,s,i);return wt.hashAddNode(r),r},destroyNode:e=>{wt.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=wt.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>wt.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=wt.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{return wt.lookupNode(e,t),20}catch(e){}return wt.nodePermissions(e,"wx")},mayDelete:(e,t,s)=>{var i;try{i=wt.lookupNode(e,t)}catch(e){return e.errno}var r=wt.nodePermissions(e,"wx");if(r)return r;if(s){if(!wt.isDir(i.mode))return 54;if(wt.isRoot(i)||wt.getPath(i)===wt.cwd())return 10}else if(wt.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?wt.isLink(e.mode)?32:wt.isDir(e.mode)&&("r"!==wt.flagsToPermissionString(t)||512&t)?31:wt.nodePermissions(e,wt.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=wt.MAX_OPEN_FDS)=>{for(var s=e;s<=t;s++)if(!wt.streams[s])return s;throw new wt.ErrnoError(33)},getStream:e=>wt.streams[e],createStream:(e,t,s)=>{wt.FSStream||(wt.FSStream=function(){this.shared={}},wt.FSStream.prototype={},Object.defineProperties(wt.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new wt.FSStream,e);var i=wt.nextfd(t,s);return e.fd=i,wt.streams[i]=e,e},closeStream:e=>{wt.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=wt.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new wt.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{wt.devices[e]={stream_ops:t}},getDevice:e=>wt.devices[e],getMounts:e=>{for(var t=[],s=[e];s.length;){var i=s.pop();t.push(i),s.push.apply(s,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),wt.syncFSRequests++,wt.syncFSRequests>1&&p("warning: "+wt.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=wt.getMounts(wt.root.mount),i=0;function r(e){return wt.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,r(e));++i>=s.length&&r(null)}s.forEach((t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:(e,t,s)=>{var i,r="/"===s,o=!s;if(r&&wt.root)throw new wt.ErrnoError(10);if(!r&&!o){var n=wt.lookupPath(s,{follow_mount:!1});if(s=n.path,i=n.node,wt.isMountpoint(i))throw new wt.ErrnoError(10);if(!wt.isDir(i.mode))throw new wt.ErrnoError(54)}var a={type:e,opts:t,mountpoint:s,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,r?wt.root=l:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),l},unmount:e=>{var t=wt.lookupPath(e,{follow_mount:!1});if(!wt.isMountpoint(t.node))throw new wt.ErrnoError(28);var s=t.node,i=s.mounted,r=wt.getMounts(i);Object.keys(wt.nameTable).forEach((e=>{for(var t=wt.nameTable[e];t;){var s=t.name_next;r.includes(t.mount)&&wt.destroyNode(t),t=s}})),s.mounted=null;var o=s.mount.mounts.indexOf(i);s.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,s)=>{var i=wt.lookupPath(e,{parent:!0}).node,r=Nt.basename(e);if(!r||"."===r||".."===r)throw new wt.ErrnoError(28);var o=wt.mayCreate(i,r);if(o)throw new wt.ErrnoError(o);if(!i.node_ops.mknod)throw new wt.ErrnoError(63);return i.node_ops.mknod(i,r,t,s)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,wt.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,wt.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var s=e.split("/"),i="",r=0;r(void 0===s&&(s=t,t=438),t|=8192,wt.mknod(e,t,s)),symlink:(e,t)=>{if(!Ct.resolve(e))throw new wt.ErrnoError(44);var s=wt.lookupPath(t,{parent:!0}).node;if(!s)throw new wt.ErrnoError(44);var i=Nt.basename(t),r=wt.mayCreate(s,i);if(r)throw new wt.ErrnoError(r);if(!s.node_ops.symlink)throw new wt.ErrnoError(63);return s.node_ops.symlink(s,i,e)},rename:(e,t)=>{var s,i,r=Nt.dirname(e),o=Nt.dirname(t),n=Nt.basename(e),a=Nt.basename(t);if(s=wt.lookupPath(e,{parent:!0}).node,i=wt.lookupPath(t,{parent:!0}).node,!s||!i)throw new wt.ErrnoError(44);if(s.mount!==i.mount)throw new wt.ErrnoError(75);var l,h=wt.lookupNode(s,n),c=Ct.relative(e,o);if("."!==c.charAt(0))throw new wt.ErrnoError(28);if("."!==(c=Ct.relative(t,r)).charAt(0))throw new wt.ErrnoError(55);try{l=wt.lookupNode(i,a)}catch(e){}if(h!==l){var u=wt.isDir(h.mode),A=wt.mayDelete(s,n,u);if(A)throw new wt.ErrnoError(A);if(A=l?wt.mayDelete(i,a,u):wt.mayCreate(i,a))throw new wt.ErrnoError(A);if(!s.node_ops.rename)throw new wt.ErrnoError(63);if(wt.isMountpoint(h)||l&&wt.isMountpoint(l))throw new wt.ErrnoError(10);if(i!==s&&(A=wt.nodePermissions(s,"w")))throw new wt.ErrnoError(A);wt.hashRemoveNode(h);try{s.node_ops.rename(h,i,a)}catch(e){throw e}finally{wt.hashAddNode(h)}}},rmdir:e=>{var t=wt.lookupPath(e,{parent:!0}).node,s=Nt.basename(e),i=wt.lookupNode(t,s),r=wt.mayDelete(t,s,!0);if(r)throw new wt.ErrnoError(r);if(!t.node_ops.rmdir)throw new wt.ErrnoError(63);if(wt.isMountpoint(i))throw new wt.ErrnoError(10);t.node_ops.rmdir(t,s),wt.destroyNode(i)},readdir:e=>{var t=wt.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new wt.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=wt.lookupPath(e,{parent:!0}).node;if(!t)throw new wt.ErrnoError(44);var s=Nt.basename(e),i=wt.lookupNode(t,s),r=wt.mayDelete(t,s,!1);if(r)throw new wt.ErrnoError(r);if(!t.node_ops.unlink)throw new wt.ErrnoError(63);if(wt.isMountpoint(i))throw new wt.ErrnoError(10);t.node_ops.unlink(t,s),wt.destroyNode(i)},readlink:e=>{var t=wt.lookupPath(e).node;if(!t)throw new wt.ErrnoError(44);if(!t.node_ops.readlink)throw new wt.ErrnoError(28);return Ct.resolve(wt.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var s=wt.lookupPath(e,{follow:!t}).node;if(!s)throw new wt.ErrnoError(44);if(!s.node_ops.getattr)throw new wt.ErrnoError(63);return s.node_ops.getattr(s)},lstat:e=>wt.stat(e,!0),chmod:(e,t,s)=>{var i;if(!(i="string"==typeof e?wt.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new wt.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{wt.chmod(e,t,!0)},fchmod:(e,t)=>{var s=wt.getStream(e);if(!s)throw new wt.ErrnoError(8);wt.chmod(s.node,t)},chown:(e,t,s,i)=>{var r;if(!(r="string"==typeof e?wt.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new wt.ErrnoError(63);r.node_ops.setattr(r,{timestamp:Date.now()})},lchown:(e,t,s)=>{wt.chown(e,t,s,!0)},fchown:(e,t,s)=>{var i=wt.getStream(e);if(!i)throw new wt.ErrnoError(8);wt.chown(i.node,t,s)},truncate:(e,t)=>{if(t<0)throw new wt.ErrnoError(28);var s;if(!(s="string"==typeof e?wt.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new wt.ErrnoError(63);if(wt.isDir(s.mode))throw new wt.ErrnoError(31);if(!wt.isFile(s.mode))throw new wt.ErrnoError(28);var i=wt.nodePermissions(s,"w");if(i)throw new wt.ErrnoError(i);s.node_ops.setattr(s,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var s=wt.getStream(e);if(!s)throw new wt.ErrnoError(8);if(0==(2097155&s.flags))throw new wt.ErrnoError(28);wt.truncate(s.node,t)},utime:(e,t,s)=>{var i=wt.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,s)})},open:(e,t,s)=>{if(""===e)throw new wt.ErrnoError(44);var i;if(s=void 0===s?438:s,s=64&(t="string"==typeof t?wt.modeStringToFlags(t):t)?4095&s|32768:0,"object"==typeof e)i=e;else{e=Nt.normalize(e);try{i=wt.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var o=!1;if(64&t)if(i){if(128&t)throw new wt.ErrnoError(20)}else i=wt.mknod(e,s,0),o=!0;if(!i)throw new wt.ErrnoError(44);if(wt.isChrdev(i.mode)&&(t&=-513),65536&t&&!wt.isDir(i.mode))throw new wt.ErrnoError(54);if(!o){var n=wt.mayOpen(i,t);if(n)throw new wt.ErrnoError(n)}512&t&&!o&&wt.truncate(i,0),t&=-131713;var a=wt.createStream({node:i,path:wt.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!r.logReadFiles||1&t||(wt.readFiles||(wt.readFiles={}),e in wt.readFiles||(wt.readFiles[e]=1)),a},close:e=>{if(wt.isClosed(e))throw new wt.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{wt.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,s)=>{if(wt.isClosed(e))throw new wt.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new wt.ErrnoError(70);if(0!=s&&1!=s&&2!=s)throw new wt.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,s),e.ungotten=[],e.position},read:(e,t,s,i,r)=>{if(s>>>=0,i<0||r<0)throw new wt.ErrnoError(28);if(wt.isClosed(e))throw new wt.ErrnoError(8);if(1==(2097155&e.flags))throw new wt.ErrnoError(8);if(wt.isDir(e.node.mode))throw new wt.ErrnoError(31);if(!e.stream_ops.read)throw new wt.ErrnoError(28);var o=void 0!==r;if(o){if(!e.seekable)throw new wt.ErrnoError(70)}else r=e.position;var n=e.stream_ops.read(e,t,s,i,r);return o||(e.position+=n),n},write:(e,t,s,i,r,o)=>{if(s>>>=0,i<0||r<0)throw new wt.ErrnoError(28);if(wt.isClosed(e))throw new wt.ErrnoError(8);if(0==(2097155&e.flags))throw new wt.ErrnoError(8);if(wt.isDir(e.node.mode))throw new wt.ErrnoError(31);if(!e.stream_ops.write)throw new wt.ErrnoError(28);e.seekable&&1024&e.flags&&wt.llseek(e,0,2);var n=void 0!==r;if(n){if(!e.seekable)throw new wt.ErrnoError(70)}else r=e.position;var a=e.stream_ops.write(e,t,s,i,r,o);return n||(e.position+=a),a},allocate:(e,t,s)=>{if(wt.isClosed(e))throw new wt.ErrnoError(8);if(t<0||s<=0)throw new wt.ErrnoError(28);if(0==(2097155&e.flags))throw new wt.ErrnoError(8);if(!wt.isFile(e.node.mode)&&!wt.isDir(e.node.mode))throw new wt.ErrnoError(43);if(!e.stream_ops.allocate)throw new wt.ErrnoError(138);e.stream_ops.allocate(e,t,s)},mmap:(e,t,s,i,r)=>{if(0!=(2&i)&&0==(2&r)&&2!=(2097155&e.flags))throw new wt.ErrnoError(2);if(1==(2097155&e.flags))throw new wt.ErrnoError(2);if(!e.stream_ops.mmap)throw new wt.ErrnoError(43);return e.stream_ops.mmap(e,t,s,i,r)},msync:(e,t,s,i,r)=>(s>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,s,i,r):0),munmap:e=>0,ioctl:(e,t,s)=>{if(!e.stream_ops.ioctl)throw new wt.ErrnoError(59);return e.stream_ops.ioctl(e,t,s)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var s,i=wt.open(e,t.flags),r=wt.stat(e).size,o=new Uint8Array(r);return wt.read(i,o,0,r,0),"utf8"===t.encoding?s=D(o,0):"binary"===t.encoding&&(s=o),wt.close(i),s},writeFile:(e,t,s={})=>{s.flags=s.flags||577;var i=wt.open(e,s.flags,s.mode);if("string"==typeof t){var r=new Uint8Array(b(t)+1),o=C(t,r,0,r.length);wt.write(i,r,0,o,void 0,s.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");wt.write(i,t,0,t.byteLength,void 0,s.canOwn)}wt.close(i)},cwd:()=>wt.currentPath,chdir:e=>{var t=wt.lookupPath(e,{follow:!0});if(null===t.node)throw new wt.ErrnoError(44);if(!wt.isDir(t.node.mode))throw new wt.ErrnoError(54);var s=wt.nodePermissions(t.node,"x");if(s)throw new wt.ErrnoError(s);wt.currentPath=t.path},createDefaultDirectories:()=>{wt.mkdir("/tmp"),wt.mkdir("/home"),wt.mkdir("/home/web_user")},createDefaultDevices:()=>{wt.mkdir("/dev"),wt.registerDevice(wt.makedev(1,3),{read:()=>0,write:(e,t,s,i,r)=>i}),wt.mkdev("/dev/null",wt.makedev(1,3)),Ot.register(wt.makedev(5,0),Ot.default_tty_ops),Ot.register(wt.makedev(6,0),Ot.default_tty1_ops),wt.mkdev("/dev/tty",wt.makedev(5,0)),wt.mkdev("/dev/tty1",wt.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>V("randomDevice")}();wt.createDevice("/dev","random",e),wt.createDevice("/dev","urandom",e),wt.mkdir("/dev/shm"),wt.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{wt.mkdir("/proc");var e=wt.mkdir("/proc/self");wt.mkdir("/proc/self/fd"),wt.mount({mount:()=>{var t=wt.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var s=+t,i=wt.getStream(s);if(!i)throw new wt.ErrnoError(8);var r={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return r.parent=r,r}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?wt.createDevice("/dev","stdin",r.stdin):wt.symlink("/dev/tty","/dev/stdin"),r.stdout?wt.createDevice("/dev","stdout",null,r.stdout):wt.symlink("/dev/tty","/dev/stdout"),r.stderr?wt.createDevice("/dev","stderr",null,r.stderr):wt.symlink("/dev/tty1","/dev/stderr"),wt.open("/dev/stdin",0),wt.open("/dev/stdout",1),wt.open("/dev/stderr",1)},ensureErrnoError:()=>{wt.ErrnoError||(wt.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},wt.ErrnoError.prototype=new Error,wt.ErrnoError.prototype.constructor=wt.ErrnoError,[44].forEach((e=>{wt.genericErrors[e]=new wt.ErrnoError(e),wt.genericErrors[e].stack=""})))},staticInit:()=>{wt.ensureErrnoError(),wt.nameTable=new Array(4096),wt.mount(xt,{},"/"),wt.createDefaultDirectories(),wt.createDefaultDevices(),wt.createSpecialDirectories(),wt.filesystems={MEMFS:xt}},init:(e,t,s)=>{wt.init.initialized=!0,wt.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=s||r.stderr,wt.createStandardStreams()},quit:()=>{wt.init.initialized=!1;for(var e=0;e{var s=0;return e&&(s|=365),t&&(s|=146),s},findObject:(e,t)=>{var s=wt.analyzePath(e,t);return s.exists?s.object:null},analyzePath:(e,t)=>{try{e=(i=wt.lookupPath(e,{follow:!t})).path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=wt.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=i.path,s.parentObject=i.node,s.name=Nt.basename(e),i=wt.lookupPath(e,{follow:!t}),s.exists=!0,s.path=i.path,s.object=i.node,s.name=i.node.name,s.isRoot="/"===i.path}catch(e){s.error=e.errno}return s},createPath:(e,t,s,i)=>{e="string"==typeof e?e:wt.getPath(e);for(var r=t.split("/").reverse();r.length;){var o=r.pop();if(o){var n=Nt.join2(e,o);try{wt.mkdir(n)}catch(e){}e=n}}return n},createFile:(e,t,s,i,r)=>{var o=Nt.join2("string"==typeof e?e:wt.getPath(e),t),n=wt.getMode(i,r);return wt.create(o,n)},createDataFile:(e,t,s,i,r,o)=>{var n=t;e&&(e="string"==typeof e?e:wt.getPath(e),n=t?Nt.join2(e,t):e);var a=wt.getMode(i,r),l=wt.create(n,a);if(s){if("string"==typeof s){for(var h=new Array(s.length),c=0,u=s.length;c{var r=Nt.join2("string"==typeof e?e:wt.getPath(e),t),o=wt.getMode(!!s,!!i);wt.createDevice.major||(wt.createDevice.major=64);var n=wt.makedev(wt.createDevice.major++,0);return wt.registerDevice(n,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,r,o)=>{for(var n=0,a=0;a{for(var n=0;n{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=bt(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new wt.ErrnoError(29)}},createLazyFile:(e,t,s,i,r)=>{function o(){this.lengthKnown=!1,this.chunks=[]}if(o.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,s=e/this.chunkSize|0;return this.getter(s)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",s,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+s+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),r=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,n=1048576;r||(n=i);var a=this;a.setDataGetter((e=>{var t=e*n,r=(e+1)*n-1;if(r=Math.min(r,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var r=new XMLHttpRequest;if(r.open("GET",s,!1),i!==n&&r.setRequestHeader("Range","bytes="+e+"-"+t),r.responseType="arraybuffer",r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+s+". Status: "+r.status);return void 0!==r.response?new Uint8Array(r.response||[]):bt(r.responseText||"",!0)})(t,r)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!o&&i||(n=i=1,i=this.getter(0).length,n=i,A("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n={isDevice:!1,url:s},a=wt.createFile(e,t,n,i,r);n.contents?a.contents=n.contents:n.url&&(a.contents=null,a.url=n.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var l={};function h(e,t,s,i,r){var o=e.node.contents;if(r>=o.length)return 0;var n=Math.min(o.length-r,i);if(o.slice)for(var a=0;a{var t=a.stream_ops[e];l[e]=function(){return wt.forceLoadFile(a),t.apply(null,arguments)}})),l.read=(e,t,s,i,r)=>(wt.forceLoadFile(a),h(e,t,s,i,r)),l.mmap=(e,t,s,i,r)=>{wt.forceLoadFile(a);var o=St();if(!o)throw new wt.ErrnoError(48);return h(e,m,o,t,s),{ptr:o,allocated:!0}},a.stream_ops=l,a},createPreloadedFile:(e,t,s,i,r,o,a,l,h,c)=>{var u=t?Ct.resolve(Nt.join2(e,t)):e;function A(s){function n(s){c&&c(),l||wt.createDataFile(e,t,s,i,r,h),o&&o(),k()}Browser.handledByPreloadPlugin(s,u,n,(()=>{a&&a(),k()}))||n(s)}G(),"string"==typeof s?function(e,t,s,i){var r=i?"":"al "+e;n(e,(s=>{f(s,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(s)),r&&k()}),(t=>{if(!s)throw'Loading data file "'+e+'" failed.';s()})),r&&G()}(s,(e=>A(e)),a):A(s)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=wt.indexedDB();try{var r=i.open(wt.DB_NAME(),wt.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=()=>{A("creating db"),r.result.createObjectStore(wt.DB_STORE_NAME)},r.onsuccess=()=>{var i=r.result.transaction([wt.DB_STORE_NAME],"readwrite"),o=i.objectStore(wt.DB_STORE_NAME),n=0,a=0,l=e.length;function h(){0==a?t():s()}e.forEach((e=>{var t=o.put(wt.analyzePath(e).object.contents,e);t.onsuccess=()=>{++n+a==l&&h()},t.onerror=()=>{a++,n+a==l&&h()}})),i.onerror=s},r.onerror=s},loadFilesFromDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=wt.indexedDB();try{var r=i.open(wt.DB_NAME(),wt.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=s,r.onsuccess=()=>{var i=r.result;try{var o=i.transaction([wt.DB_STORE_NAME],"readonly")}catch(e){return void s(e)}var n=o.objectStore(wt.DB_STORE_NAME),a=0,l=0,h=e.length;function c(){0==l?t():s()}e.forEach((e=>{var t=n.get(e);t.onsuccess=()=>{wt.analyzePath(e).exists&&wt.unlink(e),wt.createDataFile(Nt.dirname(e),Nt.basename(e),t.result,!0,!0,!0),++a+l==h&&c()},t.onerror=()=>{l++,a+l==h&&c()}})),o.onerror=s},r.onerror=s}},Bt={DEFAULT_POLLMASK:5,calculateAt:function(e,t,s){if(Nt.isAbs(t))return t;var i;if(i=-100===e?wt.cwd():Bt.getStreamFromFD(e).path,0==t.length){if(!s)throw new wt.ErrnoError(44);return i}return Nt.join2(i,t)},doStat:function(e,t,s){try{var i=e(t)}catch(e){if(e&&e.node&&Nt.normalize(t)!==Nt.normalize(wt.getPath(e.node)))return-54;throw e}v[s>>>2]=i.dev,v[s+8>>>2]=i.ino,v[s+12>>>2]=i.mode,I[s+16>>>2]=i.nlink,v[s+20>>>2]=i.uid,v[s+24>>>2]=i.gid,v[s+28>>>2]=i.rdev,B=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+40>>>2]=B[0],v[s+44>>>2]=B[1],v[s+48>>>2]=4096,v[s+52>>>2]=i.blocks;var r=i.atime.getTime(),o=i.mtime.getTime(),n=i.ctime.getTime();return B=[Math.floor(r/1e3)>>>0,(w=Math.floor(r/1e3),+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+56>>>2]=B[0],v[s+60>>>2]=B[1],I[s+64>>>2]=r%1e3*1e3,B=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+72>>>2]=B[0],v[s+76>>>2]=B[1],I[s+80>>>2]=o%1e3*1e3,B=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+88>>>2]=B[0],v[s+92>>>2]=B[1],I[s+96>>>2]=n%1e3*1e3,B=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+104>>>2]=B[0],v[s+108>>>2]=B[1],0},doMsync:function(e,t,s,i,r){if(!wt.isFile(t.node.mode))throw new wt.ErrnoError(43);if(2&i)return 0;e>>>=0;var o=E.slice(e,e+s);wt.msync(t,o,r,s,i)},varargs:void 0,get:function(){return Bt.varargs+=4,v[Bt.varargs-4>>>2]},getStr:function(e){return N(e)},getStreamFromFD:function(e){var t=wt.getStream(e);if(!t)throw new wt.ErrnoError(8);return t}};function Ft(e){return e%4==0&&(e%100!=0||e%400==0)}var Mt=[31,29,31,30,31,30,31,31,30,31,30,31],Lt=[31,28,31,30,31,30,31,31,30,31,30,31];function Ut(e,t,s,i){var r=v[i+40>>>2],o={tm_sec:v[i>>>2],tm_min:v[i+4>>>2],tm_hour:v[i+8>>>2],tm_mday:v[i+12>>>2],tm_mon:v[i+16>>>2],tm_year:v[i+20>>>2],tm_wday:v[i+24>>>2],tm_yday:v[i+28>>>2],tm_isdst:v[i+32>>>2],tm_gmtoff:v[i+36>>>2],tm_zone:r?N(r):""},n=N(s),a={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in a)n=n.replace(new RegExp(l,"g"),a[l]);var h=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function u(e,t,s){for(var i="number"==typeof e?e.toString():e||"";i.length0?1:0}var i;return 0===(i=s(e.getFullYear()-t.getFullYear()))&&0===(i=s(e.getMonth()-t.getMonth()))&&(i=s(e.getDate()-t.getDate())),i}function d(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function f(e){var t=function(e,t){for(var s=new Date(e.getTime());t>0;){var i=Ft(s.getFullYear()),r=s.getMonth(),o=(i?Mt:Lt)[r];if(!(t>o-s.getDate()))return s.setDate(s.getDate()+t),s;t-=o-s.getDate()+1,s.setDate(1),r<11?s.setMonth(r+1):(s.setMonth(0),s.setFullYear(s.getFullYear()+1))}return s}(new Date(e.tm_year+1900,0,1),e.tm_yday),s=new Date(t.getFullYear(),0,4),i=new Date(t.getFullYear()+1,0,4),r=d(s),o=d(i);return p(r,t)<=0?p(o,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var E={"%a":function(e){return h[e.tm_wday].substring(0,3)},"%A":function(e){return h[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return A((e.tm_year+1900)/100|0,2)},"%d":function(e){return A(e.tm_mday,2)},"%e":function(e){return u(e.tm_mday,2," ")},"%g":function(e){return f(e).toString().substring(2)},"%G":function(e){return f(e)},"%H":function(e){return A(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),A(t,2)},"%j":function(e){return A(e.tm_mday+function(e,t){for(var s=0,i=0;i<=t;s+=e[i++]);return s}(Ft(e.tm_year+1900)?Mt:Lt,e.tm_mon-1),3)},"%m":function(e){return A(e.tm_mon+1,2)},"%M":function(e){return A(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return A(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return A(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var s=(e.tm_wday+371-e.tm_yday)%7;4==s||3==s&&Ft(e.tm_year)||(t=1)}}else{t=52;var i=(e.tm_wday+7-e.tm_yday-1)%7;(4==i||5==i&&Ft(e.tm_year%400-1))&&t++}return A(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return A(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,s=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(s?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in n=n.replace(/%%/g,"\0\0"),E)n.includes(l)&&(n=n.replace(new RegExp(l,"g"),E[l](o)));var y,g,I=bt(n=n.replace(/\0\0/g,"%"),!1);return I.length>t?0:(y=I,g=e,m.set(y,g>>>0),I.length-1)}se=r.InternalError=te(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);ae=e}(),he=r.BindingError=te(Error,"BindingError"),Fe.prototype.isAliasOf=Ae,Fe.prototype.clone=Se,Fe.prototype.delete=xe,Fe.prototype.isDeleted=we,Fe.prototype.deleteLater=Be,r.getInheritedInstanceCount=ve,r.getLiveInheritedInstances=Ie,r.flushPendingDeletes=_e,r.setDelayFunction=Pe,ze.prototype.getPointee=Qe,ze.prototype.destructor=je,ze.prototype.argPackAdvance=8,ze.prototype.readValueFromPointer=X,ze.prototype.deleteObject=We,ze.prototype.fromWireType=be,Je=r.UnboundTypeError=te(Error,"UnboundTypeError"),r.count_emval_handles=nt,r.get_first_emval=at;var Ht=function(e,t,s,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=wt.nextInode++,this.name=t,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=i},Gt=365,kt=146;Object.defineProperties(Ht.prototype,{read:{get:function(){return(this.mode&Gt)===Gt},set:function(e){e?this.mode|=Gt:this.mode&=-366}},write:{get:function(){return(this.mode&kt)===kt},set:function(e){e?this.mode|=kt:this.mode&=-147}},isFolder:{get:function(){return wt.isDir(this.mode)}},isDevice:{get:function(){return wt.isChrdev(this.mode)}}}),wt.FSNode=Ht,wt.staticInit();var Vt={f:function(e,t,s){throw new z(e).init(t,s),e},R:function(e){var t=K[e];delete K[e];var s=t.elements,i=s.length,r=s.map((function(e){return e.getterReturnType})).concat(s.map((function(e){return e.setterArgumentType}))),o=t.rawConstructor,n=t.rawDestructor;re([e],r,(function(e){return s.forEach(((t,s)=>{var r=e[s],o=t.getter,n=t.getterContext,a=e[s+i],l=t.setter,h=t.setterContext;t.read=e=>r.fromWireType(o(n,e)),t.write=(e,t)=>{var s=[];l(h,e,a.toWireType(s,t)),Y(s)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(i),r=0;r>>o])},destructorFunction:null})},o:function(e,t,s,i,r,o,n,a,l,h,c,u,A){c=le(c),o=qe(r,o),a&&(a=qe(n,a)),h&&(h=qe(l,h)),A=qe(u,A);var p=$(c);Le(p,(function(){et("Cannot construct "+c+" due to unbound types",[i])})),re([e,t,s],i?[i]:[],(function(t){var s,r;t=t[0],r=i?(s=t.registeredClass).instancePrototype:Fe.prototype;var n=ee(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new he(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(r,{constructor:{value:n}});n.prototype=l;var u=new Ue(c,n,l,A,s,o,a,h),d=new ze(c,u,!0,!1,!1),f=new ze(c+"*",u,!1,!1,!1),m=new ze(c+" const*",u,!1,!0,!1);return ge[e]={pointerType:f,constPointerType:m},Ke(p,n),[d,f,m]}))},n:function(e,t,s,i,r,o){f(t>0);var n=tt(t,s);r=qe(i,r),re([],[e],(function(e){var s="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{et("Cannot construct "+e.name+" due to unbound types",n)},re([],n,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=st(s,i,null,r,o),[]})),[]}))},b:function(e,t,s,i,r,o,n,a){var l=tt(s,i);t=le(t),o=qe(r,o),re([],[e],(function(e){var i=(e=e[0]).name+"."+t;function r(){et("Cannot call "+i+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var h=e.registeredClass.instancePrototype,c=h[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===s-2?(r.argCount=s-2,r.className=e.name,h[t]=r):(Me(h,t,i),h[t].overloadTable[s-2]=r),re([],l,(function(r){var a=st(i,r,e,o,n);return void 0===h[t].overloadTable?(a.argCount=s-2,h[t]=a):h[t].overloadTable[s-2]=a,[]})),[]}))},O:function(e,t){ue(e,{name:t=le(t),fromWireType:function(e){var t=lt.toValue(e);return ot(e),t},toWireType:function(e,t){return lt.toHandle(t)},argPackAdvance:8,readValueFromPointer:X,destructorFunction:null})},B:function(e,t,s,i){var r=ne(s);function o(){}t=le(t),o.values={},ue(e,{name:t,constructor:o,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:ht(t,r,i),destructorFunction:null}),Le(t,o)},s:function(e,t,s){var i=ct(e,"enum");t=le(t);var r=i.constructor,o=Object.create(i.constructor.prototype,{value:{value:s},constructor:{value:ee(i.name+"_"+t,(function(){}))}});r.values[s]=o,r[t]=o},z:function(e,t,s){var i=ne(s);ue(e,{name:t=le(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:At(t,i),destructorFunction:null})},c:function(e,t,s,i,r,o){var n=tt(t,s);e=le(e),r=qe(i,r),Le(e,(function(){et("Cannot call "+e+" due to unbound types",n)}),t-1),re([],n,(function(s){var i=[s[0],null].concat(s.slice(1));return Ke(e,st(e,i,null,r,o),t-1),[]}))},r:function(e,t,s,i,r){t=le(t);var o=ne(s),n=e=>e;if(0===i){var a=32-8*s;n=e=>e<>>a}var l=t.includes("unsigned");ue(e,{name:t,fromWireType:n,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:pt(t,o,0!==i),destructorFunction:null})},h:function(e,t,s){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function r(e){var t=I,s=t[(e>>=2)>>>0],r=t[e+1>>>0];return new i(t.buffer,r,s)}ue(e,{name:s=le(s),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})},A:function(e,t){var s="std::string"===(t=le(t));ue(e,{name:t,fromWireType:function(e){var t,i=I[e>>>2],r=e+4;if(s)for(var o=r,n=0;n<=i;++n){var a=r+n;if(n==i||0==E[a>>>0]){var l=N(o,a-o);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),o=a+1}}else{var h=new Array(i);for(n=0;n>>0]);t=h.join("")}return zt(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r="string"==typeof t;r||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ce("Cannot pass non-string to std::string"),i=s&&r?b(t):t.length;var o=Qt(4+i+1),n=o+4;if(n>>>=0,I[o>>>2]=i,s&&r)C(t,E,n,i+1);else if(r)for(var a=0;a255&&(zt(n),ce("String has UTF-16 code units that do not fit in 8 bits")),E[n+a>>>0]=l}else for(a=0;a>>0]=t[a];return null!==e&&e.push(zt,o),o},argPackAdvance:8,readValueFromPointer:X,destructorFunction:function(e){zt(e)}})},v:function(e,t,s){var i,r,o,n,a;s=le(s),2===t?(i=ft,r=mt,n=Et,o=()=>g,a=1):4===t&&(i=yt,r=gt,n=vt,o=()=>I,a=2),ue(e,{name:s,fromWireType:function(e){for(var s,r=I[e>>>2],n=o(),l=e+4,h=0;h<=r;++h){var c=e+4+h*t;if(h==r||0==n[c>>>a]){var u=i(l,c-l);void 0===s?s=u:(s+=String.fromCharCode(0),s+=u),l=c+t}}return zt(e),s},toWireType:function(e,i){"string"!=typeof i&&ce("Cannot pass non-string to C++ string type "+s);var o=n(i),l=Qt(4+o+t);return I[(l>>>=0)>>>2]=o>>a,r(i,l+4,o+t),null!==e&&e.push(zt,l),l},argPackAdvance:8,readValueFromPointer:X,destructorFunction:function(e){zt(e)}})},S:function(e,t,s,i,r,o){K[e]={name:le(t),rawConstructor:qe(s,i),rawDestructor:qe(r,o),elements:[]}},i:function(e,t,s,i,r,o,n,a,l){K[e].elements.push({getterReturnType:t,getter:qe(s,i),getterContext:r,setterArgumentType:o,setter:qe(n,a),setterContext:l})},q:function(e,t,s,i,r,o){oe[e]={name:le(t),rawConstructor:qe(s,i),rawDestructor:qe(r,o),fields:[]}},e:function(e,t,s,i,r,o,n,a,l,h){oe[e].fields.push({fieldName:le(t),getterReturnType:s,getter:qe(i,r),getterContext:o,setterArgumentType:n,setter:qe(a,l),setterContext:h})},Q:function(e,t){ue(e,{isVoid:!0,name:t=le(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},m:function(e,t,s){e=lt.toValue(e),t=ct(t,"emval::as");var i=[],r=lt.toHandle(i);return I[s>>>2]=r,t.toWireType(i,e)},x:function(e,t,s,i){e=lt.toValue(e);for(var r=function(e,t){for(var s=new Array(e),i=0;i>>2],"parameter "+i);return s}(t,s),o=new Array(t),n=0;n4&&(rt[e].refcount+=1)},U:function(e,t){return(e=lt.toValue(e))instanceof(t=lt.toValue(t))},w:function(e){return"number"==typeof(e=lt.toValue(e))},C:function(e){return"string"==typeof(e=lt.toValue(e))},T:function(){return lt.toHandle([])},g:function(e){return lt.toHandle(Tt(e))},u:function(){return lt.toHandle({})},l:function(e){Y(lt.toValue(e)),ot(e)},j:function(e,t,s){e=lt.toValue(e),t=lt.toValue(t),s=lt.toValue(s),e[t]=s},d:function(e,t){var s=(e=ct(e,"_emval_take_value")).readValueFromPointer(t);return lt.toHandle(s)},y:function(){V("")},N:function(e,t,s){E.copyWithin(e>>>0,t>>>0,t+s>>>0)},L:function(e){var t,s,i=E.length,r=4294901760;if((e>>>=0)>r)return!1;for(var o=1;o<=4;o*=2){var n=i*(1+.2/o);if(n=Math.min(n,e+100663296),Rt(Math.min(r,(t=Math.max(e,n))+((s=65536)-t%s)%s)))return!0}return!1},H:function(e,t){var s=0;return Dt().forEach((function(i,r){var o=t+s;I[e+4*r>>>2]=o,function(e,t,s){for(var i=0;i>>0]=e.charCodeAt(i);s||(m[t>>>0]=0)}(i,o),s+=i.length+1})),0},I:function(e,t){var s=Dt();I[e>>>2]=s.length;var i=0;return s.forEach((function(e){i+=e.length+1})),I[t>>>2]=i,0},J:function(e){try{var t=Bt.getStreamFromFD(e);return wt.close(t),0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}},K:function(e,t,s,i){try{var r=function(e,t,s,i){for(var r=0,o=0;o>>2],a=I[t+4>>>2];t+=8;var l=wt.read(e,m,n,a,i);if(l<0)return-1;if(r+=l,l>>2]=r,0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}},E:function(e,t,s,i,r){try{var o=(l=s)+2097152>>>0<4194305-!!(a=t)?(a>>>0)+4294967296*l:NaN;if(isNaN(o))return 61;var n=Bt.getStreamFromFD(e);return wt.llseek(n,o,i),B=[n.position>>>0,(w=n.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[r>>>2]=B[0],v[r+4>>>2]=B[1],n.getdents&&0===o&&0===i&&(n.getdents=null),0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}var a,l},M:function(e,t,s,i){try{var r=function(e,t,s,i){for(var r=0,o=0;o>>2],a=I[t+4>>>2];t+=8;var l=wt.write(e,m,n,a,i);if(l<0)return-1;r+=l,void 0!==i&&(i+=l)}return r}(Bt.getStreamFromFD(e),t,s);return I[i>>>2]=r,0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}},G:function(e,t,s,i,r){return Ut(e,t,s,i)}};!function(){var e={a:Vt};function t(e,t){var s,i=e.exports;r.asm=i,u=r.asm.V,O(),R=r.asm.X,s=r.asm.W,M.unshift(s),k()}function s(e){t(e.instance)}function o(t){return(c||"function"!=typeof fetch?Promise.resolve().then((function(){return j(S)})):fetch(S,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+S+"'";return e.arrayBuffer()})).catch((function(){return j(S)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){p("failed to asynchronously prepare wasm: "+e),V(e)}))}if(G(),r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){p("Module.instantiateWasm callback failed with error: "+e),i(e)}(c||"function"!=typeof WebAssembly.instantiateStreaming||Q(S)||"function"!=typeof fetch?o(s):fetch(S,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(s,(function(e){return p("wasm streaming compile failed: "+e),p("falling back to ArrayBuffer instantiation"),o(s)}))}))).catch(i)}();var Qt=function(){return(Qt=r.asm.Y).apply(null,arguments)},jt=r.___getTypeName=function(){return(jt=r.___getTypeName=r.asm.Z).apply(null,arguments)};r.__embind_initialize_bindings=function(){return(r.__embind_initialize_bindings=r.asm._).apply(null,arguments)};var Wt,zt=function(){return(zt=r.asm.$).apply(null,arguments)},Kt=function(){return(Kt=r.asm.aa).apply(null,arguments)};function Yt(){function e(){Wt||(Wt=!0,r.calledRun=!0,d||(r.noFSInit||wt.init.initialized||wt.init(),wt.ignorePermissions=!1,W(M),t(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),L.unshift(e);var e;W(L)}()))}U>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),F.unshift(e);var e;W(F)}(),U>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),e()}),1)):e()))}if(r.dynCall_jiji=function(){return(r.dynCall_jiji=r.asm.ba).apply(null,arguments)},r.dynCall_viijii=function(){return(r.dynCall_viijii=r.asm.ca).apply(null,arguments)},r.dynCall_iiiiij=function(){return(r.dynCall_iiiiij=r.asm.da).apply(null,arguments)},r.dynCall_iiiiijj=function(){return(r.dynCall_iiiiijj=r.asm.ea).apply(null,arguments)},r.dynCall_iiiiiijj=function(){return(r.dynCall_iiiiiijj=r.asm.fa).apply(null,arguments)},H=function e(){Wt||Yt(),Wt||(H=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Yt(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=i:"function"==typeof define&&define.amd?define([],(function(){return i})):"object"==typeof e&&(e.WebIFCWasm=i)}}),py=class{constructor(e){this.value=e,this.type=5}},dy=class{constructor(e){this.expressID=e,this.type=0}};if((ry=iy||(iy={})).IFC2X3="IFC2X3",ry.IFC4="IFC4",ry.IFC4X3="IFC4X3",function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcComplexNumber=class{constructor(e){this.value=e}};e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}};e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDaylightSavingHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t;e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}};e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}};e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}};e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}};e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHourInDay=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}};e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLabel=class{constructor(e){this.value=e,this.type=1}};e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMinuteInHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}};e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSecondInMinute=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcText=class{constructor(e){this.value=e,this.type=1}};e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}};e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}};e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}};e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class s{}s.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},s.COMPLETION_G1={type:3,value:"COMPLETION_G1"},s.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},s.SNOW_S={type:3,value:"SNOW_S"},s.WIND_W={type:3,value:"WIND_W"},s.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},s.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},s.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},s.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},s.FIRE={type:3,value:"FIRE"},s.IMPULSE={type:3,value:"IMPULSE"},s.IMPACT={type:3,value:"IMPACT"},s.TRANSPORT={type:3,value:"TRANSPORT"},s.ERECTION={type:3,value:"ERECTION"},s.PROPPING={type:3,value:"PROPPING"},s.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},s.SHRINKAGE={type:3,value:"SHRINKAGE"},s.CREEP={type:3,value:"CREEP"},s.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},s.BUOYANCY={type:3,value:"BUOYANCY"},s.ICE={type:3,value:"ICE"},s.CURRENT={type:3,value:"CURRENT"},s.WAVE={type:3,value:"WAVE"},s.RAIN={type:3,value:"RAIN"},s.BRAKES={type:3,value:"BRAKES"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=s;class i{}i.PERMANENT_G={type:3,value:"PERMANENT_G"},i.VARIABLE_Q={type:3,value:"VARIABLE_Q"},i.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=i;class r{}r.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},r.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},r.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},r.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},r.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=r;class o{}o.OFFICE={type:3,value:"OFFICE"},o.SITE={type:3,value:"SITE"},o.HOME={type:3,value:"HOME"},o.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},o.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=o;class n{}n.AHEAD={type:3,value:"AHEAD"},n.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=n;class a{}a.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},a.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},a.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=a;class l{}l.GRILLE={type:3,value:"GRILLE"},l.REGISTER={type:3,value:"REGISTER"},l.DIFFUSER={type:3,value:"DIFFUSER"},l.EYEBALL={type:3,value:"EYEBALL"},l.IRIS={type:3,value:"IRIS"},l.LINEARGRILLE={type:3,value:"LINEARGRILLE"},l.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},l.USERDEFINED={type:3,value:"USERDEFINED"},l.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=l;class h{}h.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},h.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},h.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},h.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},h.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},h.HEATPIPE={type:3,value:"HEATPIPE"},h.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},h.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},h.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=h;class c{}c.BELL={type:3,value:"BELL"},c.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},c.LIGHT={type:3,value:"LIGHT"},c.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},c.SIREN={type:3,value:"SIREN"},c.WHISTLE={type:3,value:"WHISTLE"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=c;class u{}u.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},u.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},u.LOADING_3D={type:3,value:"LOADING_3D"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=u;class A{}A.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},A.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},A.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},A.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=A;class p{}p.ADD={type:3,value:"ADD"},p.DIVIDE={type:3,value:"DIVIDE"},p.MULTIPLY={type:3,value:"MULTIPLY"},p.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=p;class d{}d.SITE={type:3,value:"SITE"},d.FACTORY={type:3,value:"FACTORY"},d.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=d;class f{}f.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},f.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},f.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},f.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},f.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},f.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=f;class m{}m.BEAM={type:3,value:"BEAM"},m.JOIST={type:3,value:"JOIST"},m.LINTEL={type:3,value:"LINTEL"},m.T_BEAM={type:3,value:"T_BEAM"},m.USERDEFINED={type:3,value:"USERDEFINED"},m.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=m;class E{}E.GREATERTHAN={type:3,value:"GREATERTHAN"},E.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},E.LESSTHAN={type:3,value:"LESSTHAN"},E.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},E.EQUALTO={type:3,value:"EQUALTO"},E.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=E;class y{}y.WATER={type:3,value:"WATER"},y.STEAM={type:3,value:"STEAM"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=y;class g{}g.UNION={type:3,value:"UNION"},g.INTERSECTION={type:3,value:"INTERSECTION"},g.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=g;class v{}v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=v;class I{}I.BEND={type:3,value:"BEND"},I.CROSS={type:3,value:"CROSS"},I.REDUCER={type:3,value:"REDUCER"},I.TEE={type:3,value:"TEE"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=I;class T{}T.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},T.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},T.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},T.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=T;class _{}_.CABLESEGMENT={type:3,value:"CABLESEGMENT"},_.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=_;class R{}R.NOCHANGE={type:3,value:"NOCHANGE"},R.MODIFIED={type:3,value:"MODIFIED"},R.ADDED={type:3,value:"ADDED"},R.DELETED={type:3,value:"DELETED"},R.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},R.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=R;class P{}P.AIRCOOLED={type:3,value:"AIRCOOLED"},P.WATERCOOLED={type:3,value:"WATERCOOLED"},P.HEATRECOVERY={type:3,value:"HEATRECOVERY"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=P;class D{}D.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},D.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},D.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},D.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},D.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},D.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=D;class N{}N.COLUMN={type:3,value:"COLUMN"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=N;class C{}C.DYNAMIC={type:3,value:"DYNAMIC"},C.RECIPROCATING={type:3,value:"RECIPROCATING"},C.ROTARY={type:3,value:"ROTARY"},C.SCROLL={type:3,value:"SCROLL"},C.TROCHOIDAL={type:3,value:"TROCHOIDAL"},C.SINGLESTAGE={type:3,value:"SINGLESTAGE"},C.BOOSTER={type:3,value:"BOOSTER"},C.OPENTYPE={type:3,value:"OPENTYPE"},C.HERMETIC={type:3,value:"HERMETIC"},C.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},C.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},C.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},C.ROTARYVANE={type:3,value:"ROTARYVANE"},C.SINGLESCREW={type:3,value:"SINGLESCREW"},C.TWINSCREW={type:3,value:"TWINSCREW"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=C;class b{}b.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},b.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},b.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},b.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},b.AIRCOOLED={type:3,value:"AIRCOOLED"},b.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=b;class O{}O.ATPATH={type:3,value:"ATPATH"},O.ATSTART={type:3,value:"ATSTART"},O.ATEND={type:3,value:"ATEND"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=O;class S{}S.HARD={type:3,value:"HARD"},S.SOFT={type:3,value:"SOFT"},S.ADVISORY={type:3,value:"ADVISORY"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=S;class x{}x.FLOATING={type:3,value:"FLOATING"},x.PROPORTIONAL={type:3,value:"PROPORTIONAL"},x.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},x.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},x.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},x.TWOPOSITION={type:3,value:"TWOPOSITION"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=x;class w{}w.ACTIVE={type:3,value:"ACTIVE"},w.PASSIVE={type:3,value:"PASSIVE"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=w;class B{}B.NATURALDRAFT={type:3,value:"NATURALDRAFT"},B.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},B.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=B;class F{}F.BUDGET={type:3,value:"BUDGET"},F.COSTPLAN={type:3,value:"COSTPLAN"},F.ESTIMATE={type:3,value:"ESTIMATE"},F.TENDER={type:3,value:"TENDER"},F.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},F.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},F.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=F;class M{}M.CEILING={type:3,value:"CEILING"},M.FLOORING={type:3,value:"FLOORING"},M.CLADDING={type:3,value:"CLADDING"},M.ROOFING={type:3,value:"ROOFING"},M.INSULATION={type:3,value:"INSULATION"},M.MEMBRANE={type:3,value:"MEMBRANE"},M.SLEEVING={type:3,value:"SLEEVING"},M.WRAPPING={type:3,value:"WRAPPING"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=M;class L{}L.AED={type:3,value:"AED"},L.AES={type:3,value:"AES"},L.ATS={type:3,value:"ATS"},L.AUD={type:3,value:"AUD"},L.BBD={type:3,value:"BBD"},L.BEG={type:3,value:"BEG"},L.BGL={type:3,value:"BGL"},L.BHD={type:3,value:"BHD"},L.BMD={type:3,value:"BMD"},L.BND={type:3,value:"BND"},L.BRL={type:3,value:"BRL"},L.BSD={type:3,value:"BSD"},L.BWP={type:3,value:"BWP"},L.BZD={type:3,value:"BZD"},L.CAD={type:3,value:"CAD"},L.CBD={type:3,value:"CBD"},L.CHF={type:3,value:"CHF"},L.CLP={type:3,value:"CLP"},L.CNY={type:3,value:"CNY"},L.CYS={type:3,value:"CYS"},L.CZK={type:3,value:"CZK"},L.DDP={type:3,value:"DDP"},L.DEM={type:3,value:"DEM"},L.DKK={type:3,value:"DKK"},L.EGL={type:3,value:"EGL"},L.EST={type:3,value:"EST"},L.EUR={type:3,value:"EUR"},L.FAK={type:3,value:"FAK"},L.FIM={type:3,value:"FIM"},L.FJD={type:3,value:"FJD"},L.FKP={type:3,value:"FKP"},L.FRF={type:3,value:"FRF"},L.GBP={type:3,value:"GBP"},L.GIP={type:3,value:"GIP"},L.GMD={type:3,value:"GMD"},L.GRX={type:3,value:"GRX"},L.HKD={type:3,value:"HKD"},L.HUF={type:3,value:"HUF"},L.ICK={type:3,value:"ICK"},L.IDR={type:3,value:"IDR"},L.ILS={type:3,value:"ILS"},L.INR={type:3,value:"INR"},L.IRP={type:3,value:"IRP"},L.ITL={type:3,value:"ITL"},L.JMD={type:3,value:"JMD"},L.JOD={type:3,value:"JOD"},L.JPY={type:3,value:"JPY"},L.KES={type:3,value:"KES"},L.KRW={type:3,value:"KRW"},L.KWD={type:3,value:"KWD"},L.KYD={type:3,value:"KYD"},L.LKR={type:3,value:"LKR"},L.LUF={type:3,value:"LUF"},L.MTL={type:3,value:"MTL"},L.MUR={type:3,value:"MUR"},L.MXN={type:3,value:"MXN"},L.MYR={type:3,value:"MYR"},L.NLG={type:3,value:"NLG"},L.NZD={type:3,value:"NZD"},L.OMR={type:3,value:"OMR"},L.PGK={type:3,value:"PGK"},L.PHP={type:3,value:"PHP"},L.PKR={type:3,value:"PKR"},L.PLN={type:3,value:"PLN"},L.PTN={type:3,value:"PTN"},L.QAR={type:3,value:"QAR"},L.RUR={type:3,value:"RUR"},L.SAR={type:3,value:"SAR"},L.SCR={type:3,value:"SCR"},L.SEK={type:3,value:"SEK"},L.SGD={type:3,value:"SGD"},L.SKP={type:3,value:"SKP"},L.THB={type:3,value:"THB"},L.TRL={type:3,value:"TRL"},L.TTD={type:3,value:"TTD"},L.TWD={type:3,value:"TWD"},L.USD={type:3,value:"USD"},L.VEB={type:3,value:"VEB"},L.VND={type:3,value:"VND"},L.XEU={type:3,value:"XEU"},L.ZAR={type:3,value:"ZAR"},L.ZWD={type:3,value:"ZWD"},L.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=L;class U{}U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=U;class H{}H.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},H.FIREDAMPER={type:3,value:"FIREDAMPER"},H.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},H.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},H.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},H.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},H.BLASTDAMPER={type:3,value:"BLASTDAMPER"},H.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},H.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},H.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},H.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},H.USERDEFINED={type:3,value:"USERDEFINED"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=H;class G{}G.MEASURED={type:3,value:"MEASURED"},G.PREDICTED={type:3,value:"PREDICTED"},G.SIMULATED={type:3,value:"SIMULATED"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=G;class k{}k.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},k.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},k.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},k.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},k.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},k.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},k.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},k.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},k.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},k.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},k.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},k.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},k.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},k.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},k.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},k.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},k.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},k.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},k.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},k.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},k.TORQUEUNIT={type:3,value:"TORQUEUNIT"},k.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},k.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},k.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},k.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},k.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},k.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},k.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},k.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},k.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},k.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},k.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},k.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},k.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},k.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},k.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},k.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},k.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},k.PHUNIT={type:3,value:"PHUNIT"},k.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},k.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},k.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},k.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},k.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},k.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},k.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},k.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},k.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},k.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=k;class V{}V.ORIGIN={type:3,value:"ORIGIN"},V.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=V;class Q{}Q.POSITIVE={type:3,value:"POSITIVE"},Q.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=Q;class j{}j.FORMEDDUCT={type:3,value:"FORMEDDUCT"},j.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},j.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},j.MANHOLE={type:3,value:"MANHOLE"},j.METERCHAMBER={type:3,value:"METERCHAMBER"},j.SUMP={type:3,value:"SUMP"},j.TRENCH={type:3,value:"TRENCH"},j.VALVECHAMBER={type:3,value:"VALVECHAMBER"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=j;class W{}W.PUBLIC={type:3,value:"PUBLIC"},W.RESTRICTED={type:3,value:"RESTRICTED"},W.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},W.PERSONAL={type:3,value:"PERSONAL"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=W;class z{}z.DRAFT={type:3,value:"DRAFT"},z.FINALDRAFT={type:3,value:"FINALDRAFT"},z.FINAL={type:3,value:"FINAL"},z.REVISION={type:3,value:"REVISION"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=z;class K{}K.SWINGING={type:3,value:"SWINGING"},K.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},K.SLIDING={type:3,value:"SLIDING"},K.FOLDING={type:3,value:"FOLDING"},K.REVOLVING={type:3,value:"REVOLVING"},K.ROLLINGUP={type:3,value:"ROLLINGUP"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=K;class Y{}Y.LEFT={type:3,value:"LEFT"},Y.MIDDLE={type:3,value:"MIDDLE"},Y.RIGHT={type:3,value:"RIGHT"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=Y;class X{}X.ALUMINIUM={type:3,value:"ALUMINIUM"},X.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},X.STEEL={type:3,value:"STEEL"},X.WOOD={type:3,value:"WOOD"},X.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},X.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},X.PLASTIC={type:3,value:"PLASTIC"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=X;class Z{}Z.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Z.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Z.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Z.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Z.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Z.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Z.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Z.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Z.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Z.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Z.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Z.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Z.REVOLVING={type:3,value:"REVOLVING"},Z.ROLLINGUP={type:3,value:"ROLLINGUP"},Z.USERDEFINED={type:3,value:"USERDEFINED"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Z;class q{}q.BEND={type:3,value:"BEND"},q.CONNECTOR={type:3,value:"CONNECTOR"},q.ENTRY={type:3,value:"ENTRY"},q.EXIT={type:3,value:"EXIT"},q.JUNCTION={type:3,value:"JUNCTION"},q.OBSTRUCTION={type:3,value:"OBSTRUCTION"},q.TRANSITION={type:3,value:"TRANSITION"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=q;class J{}J.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},J.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=J;class ${}$.FLATOVAL={type:3,value:"FLATOVAL"},$.RECTANGULAR={type:3,value:"RECTANGULAR"},$.ROUND={type:3,value:"ROUND"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=$;class ee{}ee.COMPUTER={type:3,value:"COMPUTER"},ee.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},ee.DISHWASHER={type:3,value:"DISHWASHER"},ee.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},ee.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},ee.FACSIMILE={type:3,value:"FACSIMILE"},ee.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},ee.FREEZER={type:3,value:"FREEZER"},ee.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},ee.HANDDRYER={type:3,value:"HANDDRYER"},ee.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},ee.MICROWAVE={type:3,value:"MICROWAVE"},ee.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},ee.PRINTER={type:3,value:"PRINTER"},ee.REFRIGERATOR={type:3,value:"REFRIGERATOR"},ee.RADIANTHEATER={type:3,value:"RADIANTHEATER"},ee.SCANNER={type:3,value:"SCANNER"},ee.TELEPHONE={type:3,value:"TELEPHONE"},ee.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},ee.TV={type:3,value:"TV"},ee.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},ee.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},ee.WATERHEATER={type:3,value:"WATERHEATER"},ee.WATERCOOLER={type:3,value:"WATERCOOLER"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=ee;class te{}te.ALTERNATING={type:3,value:"ALTERNATING"},te.DIRECT={type:3,value:"DIRECT"},te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=te;class se{}se.ALARMPANEL={type:3,value:"ALARMPANEL"},se.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},se.CONTROLPANEL={type:3,value:"CONTROLPANEL"},se.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},se.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},se.INDICATORPANEL={type:3,value:"INDICATORPANEL"},se.MIMICPANEL={type:3,value:"MIMICPANEL"},se.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},se.SWITCHBOARD={type:3,value:"SWITCHBOARD"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=se;class ie{}ie.BATTERY={type:3,value:"BATTERY"},ie.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ie.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ie.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ie.UPS={type:3,value:"UPS"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=ie;class re{}re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=re;class oe{}oe.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},oe.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},oe.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=oe;class ne{}ne.DC={type:3,value:"DC"},ne.INDUCTION={type:3,value:"INDUCTION"},ne.POLYPHASE={type:3,value:"POLYPHASE"},ne.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},ne.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=ne;class ae{}ae.TIMECLOCK={type:3,value:"TIMECLOCK"},ae.TIMEDELAY={type:3,value:"TIMEDELAY"},ae.RELAY={type:3,value:"RELAY"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=ae;class le{}le.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},le.ARCH={type:3,value:"ARCH"},le.BEAM_GRID={type:3,value:"BEAM_GRID"},le.BRACED_FRAME={type:3,value:"BRACED_FRAME"},le.GIRDER={type:3,value:"GIRDER"},le.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},le.RIGID_FRAME={type:3,value:"RIGID_FRAME"},le.SLAB_FIELD={type:3,value:"SLAB_FIELD"},le.TRUSS={type:3,value:"TRUSS"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=le;class he{}he.COMPLEX={type:3,value:"COMPLEX"},he.ELEMENT={type:3,value:"ELEMENT"},he.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=he;class ce{}ce.PRIMARY={type:3,value:"PRIMARY"},ce.SECONDARY={type:3,value:"SECONDARY"},ce.TERTIARY={type:3,value:"TERTIARY"},ce.AUXILIARY={type:3,value:"AUXILIARY"},ce.USERDEFINED={type:3,value:"USERDEFINED"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=ce;class ue{}ue.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},ue.DISPOSAL={type:3,value:"DISPOSAL"},ue.EXTRACTION={type:3,value:"EXTRACTION"},ue.INSTALLATION={type:3,value:"INSTALLATION"},ue.MANUFACTURE={type:3,value:"MANUFACTURE"},ue.TRANSPORTATION={type:3,value:"TRANSPORTATION"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=ue;class Ae{}Ae.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Ae.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Ae.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Ae.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Ae.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Ae.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Ae.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Ae.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Ae.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Ae;class pe{}pe.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},pe.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},pe.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},pe.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},pe.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=pe;class de{}de.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},de.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},de.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},de.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},de.TUBEAXIAL={type:3,value:"TUBEAXIAL"},de.VANEAXIAL={type:3,value:"VANEAXIAL"},de.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=de;class fe{}fe.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},fe.ODORFILTER={type:3,value:"ODORFILTER"},fe.OILFILTER={type:3,value:"OILFILTER"},fe.STRAINER={type:3,value:"STRAINER"},fe.WATERFILTER={type:3,value:"WATERFILTER"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=fe;class me{}me.BREECHINGINLET={type:3,value:"BREECHINGINLET"},me.FIREHYDRANT={type:3,value:"FIREHYDRANT"},me.HOSEREEL={type:3,value:"HOSEREEL"},me.SPRINKLER={type:3,value:"SPRINKLER"},me.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=me;class Ee{}Ee.SOURCE={type:3,value:"SOURCE"},Ee.SINK={type:3,value:"SINK"},Ee.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Ee;class ye{}ye.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ye.THERMOMETER={type:3,value:"THERMOMETER"},ye.AMMETER={type:3,value:"AMMETER"},ye.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ye.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ye.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ye.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ye.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ye;class ge{}ge.ELECTRICMETER={type:3,value:"ELECTRICMETER"},ge.ENERGYMETER={type:3,value:"ENERGYMETER"},ge.FLOWMETER={type:3,value:"FLOWMETER"},ge.GASMETER={type:3,value:"GASMETER"},ge.OILMETER={type:3,value:"OILMETER"},ge.WATERMETER={type:3,value:"WATERMETER"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=ge;class ve{}ve.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},ve.PAD_FOOTING={type:3,value:"PAD_FOOTING"},ve.PILE_CAP={type:3,value:"PILE_CAP"},ve.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=ve;class Ie{}Ie.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ie.GASBOOSTER={type:3,value:"GASBOOSTER"},Ie.GASBURNER={type:3,value:"GASBURNER"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ie;class Te{}Te.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Te.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Te.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Te.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Te.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Te.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Te.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Te;class _e{}_e.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},_e.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=_e;class Re{}Re.PLATE={type:3,value:"PLATE"},Re.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Re;class Pe{}Pe.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Pe.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Pe.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Pe.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Pe.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Pe.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Pe.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Pe.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Pe.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Pe.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Pe.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Pe.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Pe.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Pe;class De{}De.INTERNAL={type:3,value:"INTERNAL"},De.EXTERNAL={type:3,value:"EXTERNAL"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=De;class Ne{}Ne.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ne.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ne.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Ne;class Ce{}Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Ce;class be{}be.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},be.FLUORESCENT={type:3,value:"FLUORESCENT"},be.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},be.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},be.METALHALIDE={type:3,value:"METALHALIDE"},be.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=be;class Oe{}Oe.AXIS1={type:3,value:"AXIS1"},Oe.AXIS2={type:3,value:"AXIS2"},Oe.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Oe;class Se{}Se.TYPE_A={type:3,value:"TYPE_A"},Se.TYPE_B={type:3,value:"TYPE_B"},Se.TYPE_C={type:3,value:"TYPE_C"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Se;class xe{}xe.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},xe.FLUORESCENT={type:3,value:"FLUORESCENT"},xe.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},xe.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},xe.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},xe.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},xe.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},xe.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},xe.METALHALIDE={type:3,value:"METALHALIDE"},xe.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=xe;class we{}we.POINTSOURCE={type:3,value:"POINTSOURCE"},we.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=we;class Be{}Be.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Be.LOAD_CASE={type:3,value:"LOAD_CASE"},Be.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},Be.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Be;class Fe{}Fe.LOGICALAND={type:3,value:"LOGICALAND"},Fe.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=Fe;class Me{}Me.BRACE={type:3,value:"BRACE"},Me.CHORD={type:3,value:"CHORD"},Me.COLLAR={type:3,value:"COLLAR"},Me.MEMBER={type:3,value:"MEMBER"},Me.MULLION={type:3,value:"MULLION"},Me.PLATE={type:3,value:"PLATE"},Me.POST={type:3,value:"POST"},Me.PURLIN={type:3,value:"PURLIN"},Me.RAFTER={type:3,value:"RAFTER"},Me.STRINGER={type:3,value:"STRINGER"},Me.STRUT={type:3,value:"STRUT"},Me.STUD={type:3,value:"STUD"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Me;class Le{}Le.BELTDRIVE={type:3,value:"BELTDRIVE"},Le.COUPLING={type:3,value:"COUPLING"},Le.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=Le;class Ue{}Ue.NULL={type:3,value:"NULL"},e.IfcNullStyle=Ue;class He{}He.PRODUCT={type:3,value:"PRODUCT"},He.PROCESS={type:3,value:"PROCESS"},He.CONTROL={type:3,value:"CONTROL"},He.RESOURCE={type:3,value:"RESOURCE"},He.ACTOR={type:3,value:"ACTOR"},He.GROUP={type:3,value:"GROUP"},He.PROJECT={type:3,value:"PROJECT"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=He;class Ge{}Ge.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Ge.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Ge.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Ge.REQUIREMENT={type:3,value:"REQUIREMENT"},Ge.SPECIFICATION={type:3,value:"SPECIFICATION"},Ge.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Ge;class ke{}ke.ASSIGNEE={type:3,value:"ASSIGNEE"},ke.ASSIGNOR={type:3,value:"ASSIGNOR"},ke.LESSEE={type:3,value:"LESSEE"},ke.LESSOR={type:3,value:"LESSOR"},ke.LETTINGAGENT={type:3,value:"LETTINGAGENT"},ke.OWNER={type:3,value:"OWNER"},ke.TENANT={type:3,value:"TENANT"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=ke;class Ve{}Ve.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ve.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ve.POWEROUTLET={type:3,value:"POWEROUTLET"},Ve.USERDEFINED={type:3,value:"USERDEFINED"},Ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ve;class Qe{}Qe.GRILL={type:3,value:"GRILL"},Qe.LOUVER={type:3,value:"LOUVER"},Qe.SCREEN={type:3,value:"SCREEN"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Qe;class je{}je.PHYSICAL={type:3,value:"PHYSICAL"},je.VIRTUAL={type:3,value:"VIRTUAL"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=je;class We{}We.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},We.COMPOSITE={type:3,value:"COMPOSITE"},We.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},We.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=We;class ze{}ze.COHESION={type:3,value:"COHESION"},ze.FRICTION={type:3,value:"FRICTION"},ze.SUPPORT={type:3,value:"SUPPORT"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ze;class Ke{}Ke.BEND={type:3,value:"BEND"},Ke.CONNECTOR={type:3,value:"CONNECTOR"},Ke.ENTRY={type:3,value:"ENTRY"},Ke.EXIT={type:3,value:"EXIT"},Ke.JUNCTION={type:3,value:"JUNCTION"},Ke.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ke.TRANSITION={type:3,value:"TRANSITION"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Ke;class Ye{}Ye.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ye.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ye.GUTTER={type:3,value:"GUTTER"},Ye.SPOOL={type:3,value:"SPOOL"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Ye;class Xe{}Xe.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Xe.SHEET={type:3,value:"SHEET"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Xe;class Ze{}Ze.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ze.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ze.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ze.CALIBRATION={type:3,value:"CALIBRATION"},Ze.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ze.SHUTDOWN={type:3,value:"SHUTDOWN"},Ze.STARTUP={type:3,value:"STARTUP"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Ze;class qe{}qe.CURVE={type:3,value:"CURVE"},qe.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=qe;class Je{}Je.CHANGE={type:3,value:"CHANGE"},Je.MAINTENANCE={type:3,value:"MAINTENANCE"},Je.MOVE={type:3,value:"MOVE"},Je.PURCHASE={type:3,value:"PURCHASE"},Je.WORK={type:3,value:"WORK"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=Je;class $e{}$e.CHANGEORDER={type:3,value:"CHANGEORDER"},$e.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},$e.MOVEORDER={type:3,value:"MOVEORDER"},$e.PURCHASEORDER={type:3,value:"PURCHASEORDER"},$e.WORKORDER={type:3,value:"WORKORDER"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=$e;class et{}et.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},et.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=et;class tt{}tt.DESIGN={type:3,value:"DESIGN"},tt.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},tt.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},tt.SIMULATED={type:3,value:"SIMULATED"},tt.ASBUILT={type:3,value:"ASBUILT"},tt.COMMISSIONING={type:3,value:"COMMISSIONING"},tt.MEASURED={type:3,value:"MEASURED"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=tt;class st{}st.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},st.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},st.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},st.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},st.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},st.VARISTOR={type:3,value:"VARISTOR"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=st;class it{}it.CIRCULATOR={type:3,value:"CIRCULATOR"},it.ENDSUCTION={type:3,value:"ENDSUCTION"},it.SPLITCASE={type:3,value:"SPLITCASE"},it.VERTICALINLINE={type:3,value:"VERTICALINLINE"},it.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=it;class rt{}rt.HANDRAIL={type:3,value:"HANDRAIL"},rt.GUARDRAIL={type:3,value:"GUARDRAIL"},rt.BALUSTRADE={type:3,value:"BALUSTRADE"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=rt;class ot{}ot.STRAIGHT={type:3,value:"STRAIGHT"},ot.SPIRAL={type:3,value:"SPIRAL"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=ot;class nt{}nt.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},nt.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},nt.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},nt.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},nt.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},nt.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=nt;class at{}at.BLINN={type:3,value:"BLINN"},at.FLAT={type:3,value:"FLAT"},at.GLASS={type:3,value:"GLASS"},at.MATT={type:3,value:"MATT"},at.METAL={type:3,value:"METAL"},at.MIRROR={type:3,value:"MIRROR"},at.PHONG={type:3,value:"PHONG"},at.PLASTIC={type:3,value:"PLASTIC"},at.STRAUSS={type:3,value:"STRAUSS"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=at;class lt{}lt.MAIN={type:3,value:"MAIN"},lt.SHEAR={type:3,value:"SHEAR"},lt.LIGATURE={type:3,value:"LIGATURE"},lt.STUD={type:3,value:"STUD"},lt.PUNCHING={type:3,value:"PUNCHING"},lt.EDGE={type:3,value:"EDGE"},lt.RING={type:3,value:"RING"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=lt;class ht{}ht.PLAIN={type:3,value:"PLAIN"},ht.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=ht;class ct{}ct.CONSUMED={type:3,value:"CONSUMED"},ct.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},ct.NOTCONSUMED={type:3,value:"NOTCONSUMED"},ct.OCCUPIED={type:3,value:"OCCUPIED"},ct.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},ct.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},ct.USERDEFINED={type:3,value:"USERDEFINED"},ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=ct;class ut{}ut.DIRECTION_X={type:3,value:"DIRECTION_X"},ut.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=ut;class At{}At.SUPPLIER={type:3,value:"SUPPLIER"},At.MANUFACTURER={type:3,value:"MANUFACTURER"},At.CONTRACTOR={type:3,value:"CONTRACTOR"},At.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},At.ARCHITECT={type:3,value:"ARCHITECT"},At.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},At.COSTENGINEER={type:3,value:"COSTENGINEER"},At.CLIENT={type:3,value:"CLIENT"},At.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},At.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},At.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},At.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},At.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},At.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},At.CIVILENGINEER={type:3,value:"CIVILENGINEER"},At.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},At.ENGINEER={type:3,value:"ENGINEER"},At.OWNER={type:3,value:"OWNER"},At.CONSULTANT={type:3,value:"CONSULTANT"},At.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},At.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},At.RESELLER={type:3,value:"RESELLER"},At.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=At;class pt{}pt.FLAT_ROOF={type:3,value:"FLAT_ROOF"},pt.SHED_ROOF={type:3,value:"SHED_ROOF"},pt.GABLE_ROOF={type:3,value:"GABLE_ROOF"},pt.HIP_ROOF={type:3,value:"HIP_ROOF"},pt.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},pt.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},pt.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},pt.BARREL_ROOF={type:3,value:"BARREL_ROOF"},pt.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},pt.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},pt.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},pt.DOME_ROOF={type:3,value:"DOME_ROOF"},pt.FREEFORM={type:3,value:"FREEFORM"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=pt;class dt{}dt.EXA={type:3,value:"EXA"},dt.PETA={type:3,value:"PETA"},dt.TERA={type:3,value:"TERA"},dt.GIGA={type:3,value:"GIGA"},dt.MEGA={type:3,value:"MEGA"},dt.KILO={type:3,value:"KILO"},dt.HECTO={type:3,value:"HECTO"},dt.DECA={type:3,value:"DECA"},dt.DECI={type:3,value:"DECI"},dt.CENTI={type:3,value:"CENTI"},dt.MILLI={type:3,value:"MILLI"},dt.MICRO={type:3,value:"MICRO"},dt.NANO={type:3,value:"NANO"},dt.PICO={type:3,value:"PICO"},dt.FEMTO={type:3,value:"FEMTO"},dt.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=dt;class ft{}ft.AMPERE={type:3,value:"AMPERE"},ft.BECQUEREL={type:3,value:"BECQUEREL"},ft.CANDELA={type:3,value:"CANDELA"},ft.COULOMB={type:3,value:"COULOMB"},ft.CUBIC_METRE={type:3,value:"CUBIC_METRE"},ft.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},ft.FARAD={type:3,value:"FARAD"},ft.GRAM={type:3,value:"GRAM"},ft.GRAY={type:3,value:"GRAY"},ft.HENRY={type:3,value:"HENRY"},ft.HERTZ={type:3,value:"HERTZ"},ft.JOULE={type:3,value:"JOULE"},ft.KELVIN={type:3,value:"KELVIN"},ft.LUMEN={type:3,value:"LUMEN"},ft.LUX={type:3,value:"LUX"},ft.METRE={type:3,value:"METRE"},ft.MOLE={type:3,value:"MOLE"},ft.NEWTON={type:3,value:"NEWTON"},ft.OHM={type:3,value:"OHM"},ft.PASCAL={type:3,value:"PASCAL"},ft.RADIAN={type:3,value:"RADIAN"},ft.SECOND={type:3,value:"SECOND"},ft.SIEMENS={type:3,value:"SIEMENS"},ft.SIEVERT={type:3,value:"SIEVERT"},ft.SQUARE_METRE={type:3,value:"SQUARE_METRE"},ft.STERADIAN={type:3,value:"STERADIAN"},ft.TESLA={type:3,value:"TESLA"},ft.VOLT={type:3,value:"VOLT"},ft.WATT={type:3,value:"WATT"},ft.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=ft;class mt{}mt.BATH={type:3,value:"BATH"},mt.BIDET={type:3,value:"BIDET"},mt.CISTERN={type:3,value:"CISTERN"},mt.SHOWER={type:3,value:"SHOWER"},mt.SINK={type:3,value:"SINK"},mt.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},mt.TOILETPAN={type:3,value:"TOILETPAN"},mt.URINAL={type:3,value:"URINAL"},mt.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},mt.WCSEAT={type:3,value:"WCSEAT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=mt;class Et{}Et.UNIFORM={type:3,value:"UNIFORM"},Et.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Et;class yt{}yt.CO2SENSOR={type:3,value:"CO2SENSOR"},yt.FIRESENSOR={type:3,value:"FIRESENSOR"},yt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},yt.GASSENSOR={type:3,value:"GASSENSOR"},yt.HEATSENSOR={type:3,value:"HEATSENSOR"},yt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},yt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},yt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},yt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},yt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},yt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},yt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},yt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},yt.USERDEFINED={type:3,value:"USERDEFINED"},yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=yt;class gt{}gt.START_START={type:3,value:"START_START"},gt.START_FINISH={type:3,value:"START_FINISH"},gt.FINISH_START={type:3,value:"FINISH_START"},gt.FINISH_FINISH={type:3,value:"FINISH_FINISH"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=gt;class vt{}vt.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},vt.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},vt.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},vt.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},vt.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},vt.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},vt.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=vt;class It{}It.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},It.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},It.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},It.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},It.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=It;class Tt{}Tt.FLOOR={type:3,value:"FLOOR"},Tt.ROOF={type:3,value:"ROOF"},Tt.LANDING={type:3,value:"LANDING"},Tt.BASESLAB={type:3,value:"BASESLAB"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Tt;class _t{}_t.DBA={type:3,value:"DBA"},_t.DBB={type:3,value:"DBB"},_t.DBC={type:3,value:"DBC"},_t.NC={type:3,value:"NC"},_t.NR={type:3,value:"NR"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=_t;class Rt{}Rt.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Rt.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Rt.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Rt.CONVECTOR={type:3,value:"CONVECTOR"},Rt.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Rt.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Rt.UNITHEATER={type:3,value:"UNITHEATER"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Rt;class Pt{}Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Pt;class Dt{}Dt.BIRDCAGE={type:3,value:"BIRDCAGE"},Dt.COWL={type:3,value:"COWL"},Dt.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Dt;class Nt{}Nt.STRAIGHT={type:3,value:"STRAIGHT"},Nt.WINDER={type:3,value:"WINDER"},Nt.SPIRAL={type:3,value:"SPIRAL"},Nt.CURVED={type:3,value:"CURVED"},Nt.FREEFORM={type:3,value:"FREEFORM"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Nt;class Ct{}Ct.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ct.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ct.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ct.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ct.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ct.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ct.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ct.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ct.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ct.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ct.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ct.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ct.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ct.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ct;class bt{}bt.READWRITE={type:3,value:"READWRITE"},bt.READONLY={type:3,value:"READONLY"},bt.LOCKED={type:3,value:"LOCKED"},bt.READWRITELOCKED={type:3,value:"READWRITELOCKED"},bt.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=bt;class Ot{}Ot.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Ot.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Ot.CABLE={type:3,value:"CABLE"},Ot.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Ot.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=Ot;class St{}St.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},St.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},St.SHELL={type:3,value:"SHELL"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=St;class xt{}xt.POSITIVE={type:3,value:"POSITIVE"},xt.NEGATIVE={type:3,value:"NEGATIVE"},xt.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=xt;class wt{}wt.BUMP={type:3,value:"BUMP"},wt.OPACITY={type:3,value:"OPACITY"},wt.REFLECTION={type:3,value:"REFLECTION"},wt.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},wt.SHININESS={type:3,value:"SHININESS"},wt.SPECULAR={type:3,value:"SPECULAR"},wt.TEXTURE={type:3,value:"TEXTURE"},wt.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=wt;class Bt{}Bt.CONTACTOR={type:3,value:"CONTACTOR"},Bt.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Bt.STARTER={type:3,value:"STARTER"},Bt.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Bt.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Bt;class Ft{}Ft.PREFORMED={type:3,value:"PREFORMED"},Ft.SECTIONAL={type:3,value:"SECTIONAL"},Ft.EXPANSION={type:3,value:"EXPANSION"},Ft.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Ft;class Mt{}Mt.STRAND={type:3,value:"STRAND"},Mt.WIRE={type:3,value:"WIRE"},Mt.BAR={type:3,value:"BAR"},Mt.COATED={type:3,value:"COATED"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Mt;class Lt{}Lt.LEFT={type:3,value:"LEFT"},Lt.RIGHT={type:3,value:"RIGHT"},Lt.UP={type:3,value:"UP"},Lt.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Lt;class Ut{}Ut.PEOPLE={type:3,value:"PEOPLE"},Ut.LIGHTING={type:3,value:"LIGHTING"},Ut.EQUIPMENT={type:3,value:"EQUIPMENT"},Ut.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Ut.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Ut.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Ut.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Ut.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Ut.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Ut.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Ut.INFILTRATION={type:3,value:"INFILTRATION"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Ut;class Ht{}Ht.SENSIBLE={type:3,value:"SENSIBLE"},Ht.LATENT={type:3,value:"LATENT"},Ht.RADIANT={type:3,value:"RADIANT"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Ht;class Gt{}Gt.CONTINUOUS={type:3,value:"CONTINUOUS"},Gt.DISCRETE={type:3,value:"DISCRETE"},Gt.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Gt.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Gt.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Gt.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Gt;class kt{}kt.ANNUAL={type:3,value:"ANNUAL"},kt.MONTHLY={type:3,value:"MONTHLY"},kt.WEEKLY={type:3,value:"WEEKLY"},kt.DAILY={type:3,value:"DAILY"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=kt;class Vt{}Vt.CURRENT={type:3,value:"CURRENT"},Vt.FREQUENCY={type:3,value:"FREQUENCY"},Vt.VOLTAGE={type:3,value:"VOLTAGE"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Vt;class Qt{}Qt.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Qt.CONTINUOUS={type:3,value:"CONTINUOUS"},Qt.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Qt.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Qt;class jt{}jt.ELEVATOR={type:3,value:"ELEVATOR"},jt.ESCALATOR={type:3,value:"ESCALATOR"},jt.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=jt;class Wt{}Wt.CARTESIAN={type:3,value:"CARTESIAN"},Wt.PARAMETER={type:3,value:"PARAMETER"},Wt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Wt;class zt{}zt.FINNED={type:3,value:"FINNED"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=zt;class Kt{}Kt.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Kt.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Kt.AREAUNIT={type:3,value:"AREAUNIT"},Kt.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Kt.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Kt.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Kt.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Kt.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Kt.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Kt.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Kt.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Kt.FORCEUNIT={type:3,value:"FORCEUNIT"},Kt.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Kt.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Kt.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Kt.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Kt.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Kt.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Kt.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Kt.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Kt.MASSUNIT={type:3,value:"MASSUNIT"},Kt.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Kt.POWERUNIT={type:3,value:"POWERUNIT"},Kt.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Kt.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Kt.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Kt.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Kt.TIMEUNIT={type:3,value:"TIMEUNIT"},Kt.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Kt;class Yt{}Yt.AIRHANDLER={type:3,value:"AIRHANDLER"},Yt.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Yt.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Yt.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=Yt;class Xt{}Xt.AIRRELEASE={type:3,value:"AIRRELEASE"},Xt.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Xt.CHANGEOVER={type:3,value:"CHANGEOVER"},Xt.CHECK={type:3,value:"CHECK"},Xt.COMMISSIONING={type:3,value:"COMMISSIONING"},Xt.DIVERTING={type:3,value:"DIVERTING"},Xt.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Xt.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Xt.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Xt.FAUCET={type:3,value:"FAUCET"},Xt.FLUSHING={type:3,value:"FLUSHING"},Xt.GASCOCK={type:3,value:"GASCOCK"},Xt.GASTAP={type:3,value:"GASTAP"},Xt.ISOLATING={type:3,value:"ISOLATING"},Xt.MIXING={type:3,value:"MIXING"},Xt.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Xt.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Xt.REGULATING={type:3,value:"REGULATING"},Xt.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Xt.STEAMTRAP={type:3,value:"STEAMTRAP"},Xt.STOPCOCK={type:3,value:"STOPCOCK"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Xt;class Zt{}Zt.COMPRESSION={type:3,value:"COMPRESSION"},Zt.SPRING={type:3,value:"SPRING"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=Zt;class qt{}qt.STANDARD={type:3,value:"STANDARD"},qt.POLYGONAL={type:3,value:"POLYGONAL"},qt.SHEAR={type:3,value:"SHEAR"},qt.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},qt.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=qt;class Jt{}Jt.FLOORTRAP={type:3,value:"FLOORTRAP"},Jt.FLOORWASTE={type:3,value:"FLOORWASTE"},Jt.GULLYSUMP={type:3,value:"GULLYSUMP"},Jt.GULLYTRAP={type:3,value:"GULLYTRAP"},Jt.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},Jt.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},Jt.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},Jt.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Jt.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Jt.WASTETRAP={type:3,value:"WASTETRAP"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Jt;class $t{}$t.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},$t.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},$t.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},$t.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},$t.TOPHUNG={type:3,value:"TOPHUNG"},$t.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},$t.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},$t.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},$t.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},$t.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},$t.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},$t.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},$t.OTHEROPERATION={type:3,value:"OTHEROPERATION"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=$t;class es{}es.LEFT={type:3,value:"LEFT"},es.MIDDLE={type:3,value:"MIDDLE"},es.RIGHT={type:3,value:"RIGHT"},es.BOTTOM={type:3,value:"BOTTOM"},es.TOP={type:3,value:"TOP"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=es;class ts{}ts.ALUMINIUM={type:3,value:"ALUMINIUM"},ts.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ts.STEEL={type:3,value:"STEEL"},ts.WOOD={type:3,value:"WOOD"},ts.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ts.PLASTIC={type:3,value:"PLASTIC"},ts.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=ts;class ss{}ss.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ss.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ss.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ss.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ss.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ss.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ss.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ss.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ss.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=ss;class is{}is.ACTUAL={type:3,value:"ACTUAL"},is.BASELINE={type:3,value:"BASELINE"},is.PLANNED={type:3,value:"PLANNED"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=is;e.IfcActorRole=class extends dy{constructor(e,t,s,i){super(e),this.Role=t,this.UserDefinedRole=s,this.Description=i,this.type=3630933823}};class rs extends dy{constructor(e,t,s,i){super(e),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.type=618182010}}e.IfcAddress=rs;e.IfcApplication=class extends dy{constructor(e,t,s,i,r){super(e),this.ApplicationDeveloper=t,this.Version=s,this.ApplicationFullName=i,this.ApplicationIdentifier=r,this.type=639542469}};class os extends dy{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.type=411424972}}e.IfcAppliedValue=os;e.IfcAppliedValueRelationship=class extends dy{constructor(e,t,s,i,r,o){super(e),this.ComponentOfTotal=t,this.Components=s,this.ArithmeticOperator=i,this.Name=r,this.Description=o,this.type=1110488051}};e.IfcApproval=class extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.Description=t,this.ApprovalDateTime=s,this.ApprovalStatus=i,this.ApprovalLevel=r,this.ApprovalQualifier=o,this.Name=n,this.Identifier=a,this.type=130549933}};e.IfcApprovalActorRelationship=class extends dy{constructor(e,t,s,i){super(e),this.Actor=t,this.Approval=s,this.Role=i,this.type=2080292479}};e.IfcApprovalPropertyRelationship=class extends dy{constructor(e,t,s){super(e),this.ApprovedProperties=t,this.Approval=s,this.type=390851274}};e.IfcApprovalRelationship=class extends dy{constructor(e,t,s,i,r){super(e),this.RelatedApproval=t,this.RelatingApproval=s,this.Description=i,this.Name=r,this.type=3869604511}};class ns extends dy{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=ns;e.IfcBoundaryEdgeCondition=class extends ns{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearStiffnessByLengthX=s,this.LinearStiffnessByLengthY=i,this.LinearStiffnessByLengthZ=r,this.RotationalStiffnessByLengthX=o,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};e.IfcBoundaryFaceCondition=class extends ns{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.LinearStiffnessByAreaX=s,this.LinearStiffnessByAreaY=i,this.LinearStiffnessByAreaZ=r,this.type=3367102660}};class as extends ns{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearStiffnessX=s,this.LinearStiffnessY=i,this.LinearStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}e.IfcBoundaryNodeCondition=as;e.IfcBoundaryNodeConditionWarping=class extends as{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.LinearStiffnessX=s,this.LinearStiffnessY=i,this.LinearStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=l,this.type=2069777674}};e.IfcCalendarDate=class extends dy{constructor(e,t,s,i){super(e),this.DayComponent=t,this.MonthComponent=s,this.YearComponent=i,this.type=622194075}};e.IfcClassification=class extends dy{constructor(e,t,s,i,r){super(e),this.Source=t,this.Edition=s,this.EditionDate=i,this.Name=r,this.type=747523909}};e.IfcClassificationItem=class extends dy{constructor(e,t,s,i){super(e),this.Notation=t,this.ItemOf=s,this.Title=i,this.type=1767535486}};e.IfcClassificationItemRelationship=class extends dy{constructor(e,t,s){super(e),this.RelatingItem=t,this.RelatedItems=s,this.type=1098599126}};e.IfcClassificationNotation=class extends dy{constructor(e,t){super(e),this.NotationFacets=t,this.type=938368621}};e.IfcClassificationNotationFacet=class extends dy{constructor(e,t){super(e),this.NotationValue=t,this.type=3639012971}};class ls extends dy{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=ls;class hs extends dy{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=hs;class cs extends hs{constructor(e,t,s){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.type=2614616156}}e.IfcConnectionPointGeometry=cs;e.IfcConnectionPortGeometry=class extends hs{constructor(e,t,s,i){super(e),this.LocationAtRelatingElement=t,this.LocationAtRelatedElement=s,this.ProfileOfPort=i,this.type=4257277454}};e.IfcConnectionSurfaceGeometry=class extends hs{constructor(e,t,s){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=s,this.type=2732653382}};class us extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}e.IfcConstraint=us;e.IfcConstraintAggregationRelationship=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedConstraints=r,this.LogicalAggregator=o,this.type=1658513725}};e.IfcConstraintClassificationRelationship=class extends dy{constructor(e,t,s){super(e),this.ClassifiedConstraint=t,this.RelatedClassifications=s,this.type=613356794}};e.IfcConstraintRelationship=class extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedConstraints=r,this.type=347226245}};e.IfcCoordinatedUniversalTimeOffset=class extends dy{constructor(e,t,s,i){super(e),this.HourOffset=t,this.MinuteOffset=s,this.Sense=i,this.type=1065062679}};e.IfcCostValue=class extends os{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.CostType=a,this.Condition=l,this.type=602808272}};e.IfcCurrencyRelationship=class extends dy{constructor(e,t,s,i,r,o){super(e),this.RelatingMonetaryUnit=t,this.RelatedMonetaryUnit=s,this.ExchangeRate=i,this.RateDateTime=r,this.RateSource=o,this.type=539742890}};e.IfcCurveStyleFont=class extends dy{constructor(e,t,s){super(e),this.Name=t,this.PatternList=s,this.type=1105321065}};e.IfcCurveStyleFontAndScaling=class extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.CurveFont=s,this.CurveFontScaling=i,this.type=2367409068}};e.IfcCurveStyleFontPattern=class extends dy{constructor(e,t,s){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=s,this.type=3510044353}};e.IfcDateAndTime=class extends dy{constructor(e,t,s){super(e),this.DateComponent=t,this.TimeComponent=s,this.type=1072939445}};e.IfcDerivedUnit=class extends dy{constructor(e,t,s,i){super(e),this.Elements=t,this.UnitType=s,this.UserDefinedType=i,this.type=1765591967}};e.IfcDerivedUnitElement=class extends dy{constructor(e,t,s){super(e),this.Unit=t,this.Exponent=s,this.type=1045800335}};e.IfcDimensionalExponents=class extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.LengthExponent=t,this.MassExponent=s,this.TimeExponent=i,this.ElectricCurrentExponent=r,this.ThermodynamicTemperatureExponent=o,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};e.IfcDocumentElectronicFormat=class extends dy{constructor(e,t,s,i){super(e),this.FileExtension=t,this.MimeContentType=s,this.MimeSubtype=i,this.type=1376555844}};e.IfcDocumentInformation=class extends dy{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e),this.DocumentId=t,this.Name=s,this.Description=i,this.DocumentReferences=r,this.Purpose=o,this.IntendedUse=n,this.Scope=a,this.Revision=l,this.DocumentOwner=h,this.Editors=c,this.CreationTime=u,this.LastRevisionTime=A,this.ElectronicFormat=p,this.ValidFrom=d,this.ValidUntil=f,this.Confidentiality=m,this.Status=E,this.type=1154170062}};e.IfcDocumentInformationRelationship=class extends dy{constructor(e,t,s,i){super(e),this.RelatingDocument=t,this.RelatedDocuments=s,this.RelationshipType=i,this.type=770865208}};class As extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.RelatingDraughtingCallout=i,this.RelatedDraughtingCallout=r,this.type=3796139169}}e.IfcDraughtingCalloutRelationship=As;e.IfcEnvironmentalImpactValue=class extends os{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.ImpactType=a,this.Category=l,this.UserDefinedCategory=h,this.type=1648886627}};class ps extends dy{constructor(e,t,s,i){super(e),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3200245327}}e.IfcExternalReference=ps;e.IfcExternallyDefinedHatchStyle=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=2242383968}};e.IfcExternallyDefinedSurfaceStyle=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=1040185647}};e.IfcExternallyDefinedSymbol=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3207319532}};e.IfcExternallyDefinedTextFont=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3548104201}};e.IfcGridAxis=class extends dy{constructor(e,t,s,i){super(e),this.AxisTag=t,this.AxisCurve=s,this.SameSense=i,this.type=852622518}};e.IfcIrregularTimeSeriesValue=class extends dy{constructor(e,t,s){super(e),this.TimeStamp=t,this.ListValues=s,this.type=3020489413}};e.IfcLibraryInformation=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Version=s,this.Publisher=i,this.VersionDate=r,this.LibraryReference=o,this.type=2655187982}};e.IfcLibraryReference=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3452421091}};e.IfcLightDistributionData=class extends dy{constructor(e,t,s,i){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=s,this.LuminousIntensity=i,this.type=4162380809}};e.IfcLightIntensityDistribution=class extends dy{constructor(e,t,s){super(e),this.LightDistributionCurve=t,this.DistributionData=s,this.type=1566485204}};e.IfcLocalTime=class extends dy{constructor(e,t,s,i,r,o){super(e),this.HourComponent=t,this.MinuteComponent=s,this.SecondComponent=i,this.Zone=r,this.DaylightSavingOffset=o,this.type=30780891}};e.IfcMaterial=class extends dy{constructor(e,t){super(e),this.Name=t,this.type=1838606355}};e.IfcMaterialClassificationRelationship=class extends dy{constructor(e,t,s){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=s,this.type=1847130766}};e.IfcMaterialLayer=class extends dy{constructor(e,t,s,i){super(e),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.type=248100487}};e.IfcMaterialLayerSet=class extends dy{constructor(e,t,s){super(e),this.MaterialLayers=t,this.LayerSetName=s,this.type=3303938423}};e.IfcMaterialLayerSetUsage=class extends dy{constructor(e,t,s,i,r){super(e),this.ForLayerSet=t,this.LayerSetDirection=s,this.DirectionSense=i,this.OffsetFromReferenceLine=r,this.type=1303795690}};e.IfcMaterialList=class extends dy{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class ds extends dy{constructor(e,t){super(e),this.Material=t,this.type=3265635763}}e.IfcMaterialProperties=ds;e.IfcMeasureWithUnit=class extends dy{constructor(e,t,s){super(e),this.ValueComponent=t,this.UnitComponent=s,this.type=2597039031}};class fs extends ds{constructor(e,t,s,i,r,o,n){super(e,t),this.Material=t,this.DynamicViscosity=s,this.YoungModulus=i,this.ShearModulus=r,this.PoissonRatio=o,this.ThermalExpansionCoefficient=n,this.type=4256014907}}e.IfcMechanicalMaterialProperties=fs;e.IfcMechanicalSteelMaterialProperties=class extends fs{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n),this.Material=t,this.DynamicViscosity=s,this.YoungModulus=i,this.ShearModulus=r,this.PoissonRatio=o,this.ThermalExpansionCoefficient=n,this.YieldStress=a,this.UltimateStress=l,this.UltimateStrain=h,this.HardeningModule=c,this.ProportionalStress=u,this.PlasticStrain=A,this.Relaxations=p,this.type=677618848}};e.IfcMetric=class extends us{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=l,this.ValueSource=h,this.DataValue=c,this.type=3368373690}};e.IfcMonetaryUnit=class extends dy{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class ms extends dy{constructor(e,t,s){super(e),this.Dimensions=t,this.UnitType=s,this.type=1918398963}}e.IfcNamedUnit=ms;class Es extends dy{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=Es;e.IfcObjective=class extends us{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=l,this.ResultValues=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=u,this.type=2251480897}};e.IfcOpticalMaterialProperties=class extends ds{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t),this.Material=t,this.VisibleTransmittance=s,this.SolarTransmittance=i,this.ThermalIrTransmittance=r,this.ThermalIrEmissivityBack=o,this.ThermalIrEmissivityFront=n,this.VisibleReflectanceBack=a,this.VisibleReflectanceFront=l,this.SolarReflectanceFront=h,this.SolarReflectanceBack=c,this.type=1227763645}};e.IfcOrganization=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Id=t,this.Name=s,this.Description=i,this.Roles=r,this.Addresses=o,this.type=4251960020}};e.IfcOrganizationRelationship=class extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.RelatingOrganization=i,this.RelatedOrganizations=r,this.type=1411181986}};e.IfcOwnerHistory=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.OwningUser=t,this.OwningApplication=s,this.State=i,this.ChangeAction=r,this.LastModifiedDate=o,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=l,this.type=1207048766}};e.IfcPerson=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Id=t,this.FamilyName=s,this.GivenName=i,this.MiddleNames=r,this.PrefixTitles=o,this.SuffixTitles=n,this.Roles=a,this.Addresses=l,this.type=2077209135}};e.IfcPersonAndOrganization=class extends dy{constructor(e,t,s,i){super(e),this.ThePerson=t,this.TheOrganization=s,this.Roles=i,this.type=101040310}};class ys extends dy{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2483315170}}e.IfcPhysicalQuantity=ys;class gs extends ys{constructor(e,t,s,i){super(e,t,s),this.Name=t,this.Description=s,this.Unit=i,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=gs;e.IfcPostalAddress=class extends rs{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.InternalLocation=r,this.AddressLines=o,this.PostalBox=n,this.Town=a,this.Region=l,this.PostalCode=h,this.Country=c,this.type=3355820592}};class vs extends dy{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=vs;class Is extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=990879717}}e.IfcPreDefinedSymbol=Is;e.IfcPreDefinedTerminatorSymbol=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=3213052703}};class Ts extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=Ts;class _s extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.type=2022622350}}e.IfcPresentationLayerAssignment=_s;e.IfcPresentationLayerWithStyle=class extends _s{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.LayerOn=o,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=l,this.type=1304840413}};class Rs extends dy{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=Rs;e.IfcPresentationStyleAssignment=class extends dy{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class Ps extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Representations=i,this.type=2095639259}}e.IfcProductRepresentation=Ps;e.IfcProductsOfCombustionProperties=class extends ds{constructor(e,t,s,i,r,o){super(e,t),this.Material=t,this.SpecificHeatCapacity=s,this.N20Content=i,this.COContent=r,this.CO2Content=o,this.type=2267347899}};class Ds extends dy{constructor(e,t,s){super(e),this.ProfileType=t,this.ProfileName=s,this.type=3958567839}}e.IfcProfileDef=Ds;class Ns extends dy{constructor(e,t,s){super(e),this.ProfileName=t,this.ProfileDefinition=s,this.type=2802850158}}e.IfcProfileProperties=Ns;class Cs extends dy{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2598011224}}e.IfcProperty=Cs;e.IfcPropertyConstraintRelationship=class extends dy{constructor(e,t,s,i,r){super(e),this.RelatingConstraint=t,this.RelatedProperties=s,this.Name=i,this.Description=r,this.type=3896028662}};e.IfcPropertyDependencyRelationship=class extends dy{constructor(e,t,s,i,r,o){super(e),this.DependingProperty=t,this.DependantProperty=s,this.Name=i,this.Description=r,this.Expression=o,this.type=148025276}};e.IfcPropertyEnumeration=class extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.EnumerationValues=s,this.Unit=i,this.type=3710013099}};e.IfcQuantityArea=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.AreaValue=r,this.type=2044713172}};e.IfcQuantityCount=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.CountValue=r,this.type=2093928680}};e.IfcQuantityLength=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.LengthValue=r,this.type=931644368}};e.IfcQuantityTime=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.TimeValue=r,this.type=3252649465}};e.IfcQuantityVolume=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.VolumeValue=r,this.type=2405470396}};e.IfcQuantityWeight=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.WeightValue=r,this.type=825690147}};e.IfcReferencesValueDocument=class extends dy{constructor(e,t,s,i,r){super(e),this.ReferencedDocument=t,this.ReferencingValues=s,this.Name=i,this.Description=r,this.type=2692823254}};e.IfcReinforcementBarProperties=class extends dy{constructor(e,t,s,i,r,o,n){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=s,this.BarSurface=i,this.EffectiveDepth=r,this.NominalBarDiameter=o,this.BarCount=n,this.type=1580146022}};e.IfcRelaxation=class extends dy{constructor(e,t,s){super(e),this.RelaxationValue=t,this.InitialStress=s,this.type=1222501353}};class bs extends dy{constructor(e,t,s,i,r){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1076942058}}e.IfcRepresentation=bs;class Os extends dy{constructor(e,t,s){super(e),this.ContextIdentifier=t,this.ContextType=s,this.type=3377609919}}e.IfcRepresentationContext=Os;class Ss extends dy{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=Ss;e.IfcRepresentationMap=class extends dy{constructor(e,t,s){super(e),this.MappingOrigin=t,this.MappedRepresentation=s,this.type=1660063152}};e.IfcRibPlateProfileProperties=class extends Ns{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.ProfileName=t,this.ProfileDefinition=s,this.Thickness=i,this.RibHeight=r,this.RibWidth=o,this.RibSpacing=n,this.Direction=a,this.type=3679540991}};class xs extends dy{constructor(e,t,s,i,r){super(e),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2341007311}}e.IfcRoot=xs;e.IfcSIUnit=class extends ms{constructor(e,t,s,i){super(e,new py(0),t),this.UnitType=t,this.Prefix=s,this.Name=i,this.type=448429030}};e.IfcSectionProperties=class extends dy{constructor(e,t,s,i){super(e),this.SectionType=t,this.StartProfile=s,this.EndProfile=i,this.type=2042790032}};e.IfcSectionReinforcementProperties=class extends dy{constructor(e,t,s,i,r,o,n){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=s,this.TransversePosition=i,this.ReinforcementRole=r,this.SectionDefinition=o,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};e.IfcShapeAspect=class extends dy{constructor(e,t,s,i,r,o){super(e),this.ShapeRepresentations=t,this.Name=s,this.Description=i,this.ProductDefinitional=r,this.PartOfProductDefinitionShape=o,this.type=867548509}};class ws extends bs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3982875396}}e.IfcShapeModel=ws;e.IfcShapeRepresentation=class extends ws{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=4240577450}};class Bs extends Cs{constructor(e,t,s){super(e,t,s),this.Name=t,this.Description=s,this.type=3692461612}}e.IfcSimpleProperty=Bs;class Fs extends dy{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=Fs;class Ms extends dy{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Ms;class Ls extends Ms{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=Ls;e.IfcStructuralLoadTemperature=class extends Ls{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.DeltaT_Constant=s,this.DeltaT_Y=i,this.DeltaT_Z=r,this.type=3408363356}};class Us extends bs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=2830218821}}e.IfcStyleModel=Us;class Hs extends Ss{constructor(e,t,s,i){super(e),this.Item=t,this.Styles=s,this.Name=i,this.type=3958052878}}e.IfcStyledItem=Hs;e.IfcStyledRepresentation=class extends Us{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3049322572}};e.IfcSurfaceStyle=class extends Rs{constructor(e,t,s,i){super(e,t),this.Name=t,this.Side=s,this.Styles=i,this.type=1300840506}};e.IfcSurfaceStyleLighting=class extends dy{constructor(e,t,s,i,r){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=s,this.TransmissionColour=i,this.ReflectanceColour=r,this.type=3303107099}};e.IfcSurfaceStyleRefraction=class extends dy{constructor(e,t,s){super(e),this.RefractionIndex=t,this.DispersionFactor=s,this.type=1607154358}};class Gs extends dy{constructor(e,t){super(e),this.SurfaceColour=t,this.type=846575682}}e.IfcSurfaceStyleShading=Gs;e.IfcSurfaceStyleWithTextures=class extends dy{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class ks extends dy{constructor(e,t,s,i,r){super(e),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.type=626085974}}e.IfcSurfaceTexture=ks;e.IfcSymbolStyle=class extends Rs{constructor(e,t,s){super(e,t),this.Name=t,this.StyleOfSymbol=s,this.type=1290481447}};e.IfcTable=class extends dy{constructor(e,t,s){super(e),this.Name=t,this.Rows=s,this.type=985171141}};e.IfcTableRow=class extends dy{constructor(e,t,s){super(e),this.RowCells=t,this.IsHeading=s,this.type=531007025}};e.IfcTelecomAddress=class extends rs{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.TelephoneNumbers=r,this.FacsimileNumbers=o,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=l,this.type=912023232}};e.IfcTextStyle=class extends Rs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.TextCharacterAppearance=s,this.TextStyle=i,this.TextFontStyle=r,this.type=1447204868}};e.IfcTextStyleFontModel=class extends Ts{constructor(e,t,s,i,r,o,n){super(e,t),this.Name=t,this.FontFamily=s,this.FontStyle=i,this.FontVariant=r,this.FontWeight=o,this.FontSize=n,this.type=1983826977}};e.IfcTextStyleForDefinedFont=class extends dy{constructor(e,t,s){super(e),this.Colour=t,this.BackgroundColour=s,this.type=2636378356}};e.IfcTextStyleTextModel=class extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.TextIndent=t,this.TextAlign=s,this.TextDecoration=i,this.LetterSpacing=r,this.WordSpacing=o,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};e.IfcTextStyleWithBoxCharacteristics=class extends dy{constructor(e,t,s,i,r,o){super(e),this.BoxHeight=t,this.BoxWidth=s,this.BoxSlantAngle=i,this.BoxRotateAngle=r,this.CharacterSpacing=o,this.type=1484833681}};class Vs extends dy{constructor(e){super(e),this.type=280115917}}e.IfcTextureCoordinate=Vs;e.IfcTextureCoordinateGenerator=class extends Vs{constructor(e,t,s){super(e),this.Mode=t,this.Parameter=s,this.type=1742049831}};e.IfcTextureMap=class extends Vs{constructor(e,t){super(e),this.TextureMaps=t,this.type=2552916305}};e.IfcTextureVertex=class extends dy{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}};e.IfcThermalMaterialProperties=class extends ds{constructor(e,t,s,i,r,o){super(e,t),this.Material=t,this.SpecificHeatCapacity=s,this.BoilingPoint=i,this.FreezingPoint=r,this.ThermalConductivity=o,this.type=3317419933}};class Qs extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.type=3101149627}}e.IfcTimeSeries=Qs;e.IfcTimeSeriesReferenceRelationship=class extends dy{constructor(e,t,s){super(e),this.ReferencedTimeSeries=t,this.TimeSeriesReferences=s,this.type=1718945513}};e.IfcTimeSeriesValue=class extends dy{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class js extends Ss{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=js;e.IfcTopologyRepresentation=class extends ws{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1735638870}};e.IfcUnitAssignment=class extends dy{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Ws extends js{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Ws;e.IfcVertexBasedTextureMap=class extends dy{constructor(e,t,s){super(e),this.TextureVertices=t,this.TexturePoints=s,this.type=3304826586}};e.IfcVertexPoint=class extends Ws{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}};e.IfcVirtualGridIntersection=class extends dy{constructor(e,t,s){super(e),this.IntersectingAxes=t,this.OffsetDistances=s,this.type=891718957}};e.IfcWaterProperties=class extends ds{constructor(e,t,s,i,r,o,n,a,l){super(e,t),this.Material=t,this.IsPotable=s,this.Hardness=i,this.AlkalinityConcentration=r,this.AcidityConcentration=o,this.ImpuritiesContent=n,this.PHLevel=a,this.DissolvedSolidsContent=l,this.type=1065908215}};class zs extends Hs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=2442683028}}e.IfcAnnotationOccurrence=zs;e.IfcAnnotationSurfaceOccurrence=class extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=962685235}};class Ks extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=3612888222}}e.IfcAnnotationSymbolOccurrence=Ks;e.IfcAnnotationTextOccurrence=class extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=2297822566}};class Ys extends Ds{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Ys;class Xs extends Ds{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Xs;e.IfcArbitraryProfileDefWithVoids=class extends Ys{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.InnerCurves=r,this.type=2705031697}};e.IfcBlobTexture=class extends ks{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.RasterFormat=o,this.RasterCode=n,this.type=616511568}};e.IfcCenterLineProfileDef=class extends Xs{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.Thickness=r,this.type=3150382593}};e.IfcClassificationReference=class extends ps{constructor(e,t,s,i,r){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.ReferencedSource=r,this.type=647927063}};e.IfcColourRgb=class extends ls{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.Red=s,this.Green=i,this.Blue=r,this.type=776857604}};e.IfcComplexProperty=class extends Cs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.HasProperties=r,this.type=2542286263}};e.IfcCompositeProfileDef=class extends Ds{constructor(e,t,s,i,r){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Profiles=i,this.Label=r,this.type=1485152156}};class Zs extends js{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Zs;e.IfcConnectionCurveGeometry=class extends hs{constructor(e,t,s){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=s,this.type=1981873012}};e.IfcConnectionPointEccentricity=class extends cs{constructor(e,t,s,i,r,o){super(e,t,s),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.EccentricityInX=i,this.EccentricityInY=r,this.EccentricityInZ=o,this.type=45288368}};e.IfcContextDependentUnit=class extends ms{constructor(e,t,s,i){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.type=3050246964}};e.IfcConversionBasedUnit=class extends ms{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.type=2889183280}};e.IfcCurveStyle=class extends Rs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.CurveFont=s,this.CurveWidth=i,this.CurveColour=r,this.type=3800577675}};e.IfcDerivedProfileDef=class extends Ds{constructor(e,t,s,i,r,o){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=3632507154}};e.IfcDimensionCalloutRelationship=class extends As{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.Description=s,this.RelatingDraughtingCallout=i,this.RelatedDraughtingCallout=r,this.type=2273265877}};e.IfcDimensionPair=class extends As{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.Description=s,this.RelatingDraughtingCallout=i,this.RelatedDraughtingCallout=r,this.type=1694125774}};e.IfcDocumentReference=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3732053477}};e.IfcDraughtingPreDefinedTextFont=class extends Ts{constructor(e,t){super(e,t),this.Name=t,this.type=4170525392}};class qs extends js{constructor(e,t,s){super(e),this.EdgeStart=t,this.EdgeEnd=s,this.type=3900360178}}e.IfcEdge=qs;e.IfcEdgeCurve=class extends qs{constructor(e,t,s,i,r){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.EdgeGeometry=i,this.SameSense=r,this.type=476780140}};e.IfcExtendedMaterialProperties=class extends ds{constructor(e,t,s,i,r){super(e,t),this.Material=t,this.ExtendedProperties=s,this.Description=i,this.Name=r,this.type=1860660968}};class Js extends js{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=Js;class $s extends js{constructor(e,t,s){super(e),this.Bound=t,this.Orientation=s,this.type=1809719519}}e.IfcFaceBound=$s;e.IfcFaceOuterBound=class extends $s{constructor(e,t,s){super(e,t,s),this.Bound=t,this.Orientation=s,this.type=803316827}};e.IfcFaceSurface=class extends Js{constructor(e,t,s,i){super(e,t),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3008276851}};e.IfcFailureConnectionCondition=class extends Fs{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TensionFailureX=s,this.TensionFailureY=i,this.TensionFailureZ=r,this.CompressionFailureX=o,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};e.IfcFillAreaStyle=class extends Rs{constructor(e,t,s){super(e,t),this.Name=t,this.FillStyles=s,this.type=738692330}};e.IfcFuelProperties=class extends ds{constructor(e,t,s,i,r,o){super(e,t),this.Material=t,this.CombustionTemperature=s,this.CarbonContent=i,this.LowerHeatingValue=r,this.HigherHeatingValue=o,this.type=3857492461}};e.IfcGeneralMaterialProperties=class extends ds{constructor(e,t,s,i,r){super(e,t),this.Material=t,this.MolecularWeight=s,this.Porosity=i,this.MassDensity=r,this.type=803998398}};class ei extends Ns{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.ProfileName=t,this.ProfileDefinition=s,this.PhysicalWeight=i,this.Perimeter=r,this.MinimumPlateThickness=o,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.type=1446786286}}e.IfcGeneralProfileProperties=ei;class ti extends Os{constructor(e,t,s,i,r,o,n){super(e,t,s),this.ContextIdentifier=t,this.ContextType=s,this.CoordinateSpaceDimension=i,this.Precision=r,this.WorldCoordinateSystem=o,this.TrueNorth=n,this.type=3448662350}}e.IfcGeometricRepresentationContext=ti;class si extends Ss{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=si;e.IfcGeometricRepresentationSubContext=class extends ti{constructor(e,s,i,r,o,n,a){super(e,s,i,new t(0),null,new py(0),null),this.ContextIdentifier=s,this.ContextType=i,this.ParentContext=r,this.TargetScale=o,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class ii extends si{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=ii;e.IfcGridPlacement=class extends Es{constructor(e,t,s){super(e),this.PlacementLocation=t,this.PlacementRefDirection=s,this.type=178086475}};class ri extends si{constructor(e,t,s){super(e),this.BaseSurface=t,this.AgreementFlag=s,this.type=812098782}}e.IfcHalfSpaceSolid=ri;e.IfcHygroscopicMaterialProperties=class extends ds{constructor(e,t,s,i,r,o,n){super(e,t),this.Material=t,this.UpperVaporResistanceFactor=s,this.LowerVaporResistanceFactor=i,this.IsothermalMoistureCapacity=r,this.VaporPermeability=o,this.MoistureDiffusivity=n,this.type=2445078500}};e.IfcImageTexture=class extends ks{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.UrlReference=o,this.type=3905492369}};e.IfcIrregularTimeSeries=class extends Qs{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.Values=h,this.type=3741457305}};class oi extends si{constructor(e,t,s,i,r){super(e),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=1402838566}}e.IfcLightSource=oi;e.IfcLightSourceAmbient=class extends oi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=125510826}};e.IfcLightSourceDirectional=class extends oi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Orientation=o,this.type=2604431987}};e.IfcLightSourceGoniometric=class extends oi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=l,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class ni extends oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.type=1520743889}}e.IfcLightSourcePositional=ni;e.IfcLightSourceSpot=class extends ni{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=u,this.SpreadAngle=A,this.BeamWidthAngle=p,this.type=3422422726}};e.IfcLocalPlacement=class extends Es{constructor(e,t,s){super(e),this.PlacementRelTo=t,this.RelativePlacement=s,this.type=2624227202}};class ai extends js{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=ai;e.IfcMappedItem=class extends Ss{constructor(e,t,s){super(e),this.MappingSource=t,this.MappingTarget=s,this.type=2347385850}};e.IfcMaterialDefinitionRepresentation=class extends Ps{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.RepresentedMaterial=r,this.type=2022407955}};e.IfcMechanicalConcreteMaterialProperties=class extends fs{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n),this.Material=t,this.DynamicViscosity=s,this.YoungModulus=i,this.ShearModulus=r,this.PoissonRatio=o,this.ThermalExpansionCoefficient=n,this.CompressiveStrength=a,this.MaxAggregateSize=l,this.AdmixturesDescription=h,this.Workability=c,this.ProtectivePoreRatio=u,this.WaterImpermeability=A,this.type=1430189142}};class li extends xs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=219451334}}e.IfcObjectDefinition=li;class hi extends si{constructor(e,t){super(e),this.RepeatFactor=t,this.type=2833995503}}e.IfcOneDirectionRepeatFactor=hi;e.IfcOpenShell=class extends Zs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}};e.IfcOrientedEdge=class extends qs{constructor(e,t,s){super(e,new py(0),new py(0)),this.EdgeElement=t,this.Orientation=s,this.type=1029017970}};class ci extends Ds{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.type=2529465313}}e.IfcParameterizedProfileDef=ci;e.IfcPath=class extends js{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}};e.IfcPhysicalComplexQuantity=class extends ys{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.HasQuantities=i,this.Discrimination=r,this.Quality=o,this.Usage=n,this.type=3021840470}};e.IfcPixelTexture=class extends ks{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.Width=o,this.Height=n,this.ColourComponents=a,this.Pixel=l,this.type=597895409}};class ui extends si{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=ui;class Ai extends si{constructor(e,t,s){super(e),this.SizeInX=t,this.SizeInY=s,this.type=1663979128}}e.IfcPlanarExtent=Ai;class pi extends si{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=pi;e.IfcPointOnCurve=class extends pi{constructor(e,t,s){super(e),this.BasisCurve=t,this.PointParameter=s,this.type=4022376103}};e.IfcPointOnSurface=class extends pi{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.PointParameterU=s,this.PointParameterV=i,this.type=1423911732}};e.IfcPolyLoop=class extends ai{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}};e.IfcPolygonalBoundedHalfSpace=class extends ri{constructor(e,t,s,i,r){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Position=i,this.PolygonalBoundary=r,this.type=2775532180}};class di extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=di;class fi extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=fi;e.IfcPreDefinedDimensionSymbol=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=433424934}};e.IfcPreDefinedPointMarkerSymbol=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=179317114}};e.IfcProductDefinitionShape=class extends Ps{constructor(e,t,s,i){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.type=673634403}};e.IfcPropertyBoundedValue=class extends Bs{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.UpperBoundValue=i,this.LowerBoundValue=r,this.Unit=o,this.type=871118103}};class mi extends xs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1680319473}}e.IfcPropertyDefinition=mi;e.IfcPropertyEnumeratedValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.EnumerationValues=i,this.EnumerationReference=r,this.type=4166981789}};e.IfcPropertyListValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.ListValues=i,this.Unit=r,this.type=2752243245}};e.IfcPropertyReferenceValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.PropertyReference=r,this.type=941946838}};class Ei extends mi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3357820518}}e.IfcPropertySetDefinition=Ei;e.IfcPropertySingleValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.NominalValue=i,this.Unit=r,this.type=3650150729}};e.IfcPropertyTableValue=class extends Bs{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.Name=t,this.Description=s,this.DefiningValues=i,this.DefinedValues=r,this.Expression=o,this.DefiningUnit=n,this.DefinedUnit=a,this.type=110355661}};class yi extends ci{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.type=3615266464}}e.IfcRectangleProfileDef=yi;e.IfcRegularTimeSeries=class extends Qs{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.TimeStep=h,this.Values=c,this.type=3413951693}};e.IfcReinforcementDefinitionProperties=class extends Ei{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DefinitionType=o,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class gi extends xs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=478536968}}e.IfcRelationship=gi;e.IfcRoundedRectangleProfileDef=class extends yi{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.RoundingRadius=n,this.type=2778083089}};e.IfcSectionedSpine=class extends si{constructor(e,t,s,i){super(e),this.SpineCurve=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1509187699}};e.IfcServiceLifeFactor=class extends Ei{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PredefinedType=o,this.UpperValue=n,this.MostUsedValue=a,this.LowerValue=l,this.type=2411513650}};e.IfcShellBasedSurfaceModel=class extends si{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};e.IfcSlippageConnectionCondition=class extends Fs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SlippageX=s,this.SlippageY=i,this.SlippageZ=r,this.type=2609359061}};class vi extends si{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=vi;e.IfcSoundProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.IsAttenuating=o,this.SoundScale=n,this.SoundValues=a,this.type=2485662743}};e.IfcSoundValue=class extends Ei{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.SoundLevelTimeSeries=o,this.Frequency=n,this.SoundLevelSingleValue=a,this.type=1202362311}};e.IfcSpaceThermalLoadProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableValueRatio=o,this.ThermalLoadSource=n,this.PropertySource=a,this.SourceDescription=l,this.MaximumValue=h,this.MinimumValue=c,this.ThermalLoadTimeSeriesValues=u,this.UserDefinedThermalLoadSource=A,this.UserDefinedPropertySource=p,this.ThermalLoadType=d,this.type=390701378}};e.IfcStructuralLoadLinearForce=class extends Ls{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearForceX=s,this.LinearForceY=i,this.LinearForceZ=r,this.LinearMomentX=o,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};e.IfcStructuralLoadPlanarForce=class extends Ls{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.PlanarForceX=s,this.PlanarForceY=i,this.PlanarForceZ=r,this.type=2668620305}};class Ii extends Ls{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=Ii;e.IfcStructuralLoadSingleDisplacementDistortion=class extends Ii{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=l,this.type=1973038258}};class Ti extends Ls{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}e.IfcStructuralLoadSingleForce=Ti;e.IfcStructuralLoadSingleForceWarping=class extends Ti{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=l,this.type=1190533807}};class _i extends ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_){super(e,t,s,i,r,o,n,a),this.ProfileName=t,this.ProfileDefinition=s,this.PhysicalWeight=i,this.Perimeter=r,this.MinimumPlateThickness=o,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=l,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=u,this.WarpingConstant=A,this.ShearCentreZ=p,this.ShearCentreY=d,this.ShearDeformationAreaZ=f,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=E,this.MinimumSectionModulusY=y,this.MaximumSectionModulusZ=g,this.MinimumSectionModulusZ=v,this.TorsionalSectionModulus=I,this.CentreOfGravityInX=T,this.CentreOfGravityInY=_,this.type=3843319758}}e.IfcStructuralProfileProperties=_i;e.IfcStructuralSteelProfileProperties=class extends _i{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_,R,P,D,N){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_),this.ProfileName=t,this.ProfileDefinition=s,this.PhysicalWeight=i,this.Perimeter=r,this.MinimumPlateThickness=o,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=l,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=u,this.WarpingConstant=A,this.ShearCentreZ=p,this.ShearCentreY=d,this.ShearDeformationAreaZ=f,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=E,this.MinimumSectionModulusY=y,this.MaximumSectionModulusZ=g,this.MinimumSectionModulusZ=v,this.TorsionalSectionModulus=I,this.CentreOfGravityInX=T,this.CentreOfGravityInY=_,this.ShearAreaZ=R,this.ShearAreaY=P,this.PlasticShapeFactorY=D,this.PlasticShapeFactorZ=N,this.type=3653947884}};e.IfcSubedge=class extends qs{constructor(e,t,s,i){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.ParentEdge=i,this.type=2233826070}};class Ri extends si{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ri;e.IfcSurfaceStyleRendering=class extends Gs{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t),this.SurfaceColour=t,this.Transparency=s,this.DiffuseColour=i,this.TransmissionColour=r,this.DiffuseTransmissionColour=o,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=l,this.ReflectanceMethod=h,this.type=1878645084}};class Pi extends vi{constructor(e,t,s){super(e),this.SweptArea=t,this.Position=s,this.type=2247615214}}e.IfcSweptAreaSolid=Pi;e.IfcSweptDiskSolid=class extends vi{constructor(e,t,s,i,r,o){super(e),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.type=1260650574}};class Di extends Ri{constructor(e,t,s){super(e),this.SweptCurve=t,this.Position=s,this.type=230924584}}e.IfcSweptSurface=Di;e.IfcTShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=u,this.FlangeSlope=A,this.CentreOfGravityInY=p,this.type=3071757647}};class Ni extends Ks{constructor(e,t,s,i,r){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.AnnotatedCurve=r,this.type=3028897424}}e.IfcTerminatorSymbol=Ni;class Ci extends si{constructor(e,t,s,i){super(e),this.Literal=t,this.Placement=s,this.Path=i,this.type=4282788508}}e.IfcTextLiteral=Ci;e.IfcTextLiteralWithExtent=class extends Ci{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Literal=t,this.Placement=s,this.Path=i,this.Extent=r,this.BoxAlignment=o,this.type=3124975700}};e.IfcTrapeziumProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomXDim=r,this.TopXDim=o,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};e.IfcTwoDirectionRepeatFactor=class extends hi{constructor(e,t,s){super(e,t),this.RepeatFactor=t,this.SecondRepeatFactor=s,this.type=1345879162}};class bi extends li{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.type=1628702193}}e.IfcTypeObject=bi;class Oi extends bi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.type=2347495698}}e.IfcTypeProduct=Oi;e.IfcUShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.FlangeSlope=c,this.CentreOfGravityInX=u,this.type=427810014}};e.IfcVector=class extends si{constructor(e,t,s){super(e),this.Orientation=t,this.Magnitude=s,this.type=1417489154}};e.IfcVertexLoop=class extends ai{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}};e.IfcWindowLiningProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=l,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=u,this.SecondMullionOffset=A,this.ShapeAspectStyle=p,this.type=336235671}};e.IfcWindowPanelProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=512836454}};e.IfcWindowStyle=class extends Oi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=1299126871}};e.IfcZShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.type=2543172580}};class Si extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=3288037868}}e.IfcAnnotationCurveOccurrence=Si;e.IfcAnnotationFillArea=class extends si{constructor(e,t,s){super(e),this.OuterBoundary=t,this.InnerBoundaries=s,this.type=669184980}};e.IfcAnnotationFillAreaOccurrence=class extends zs{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.FillStyleTarget=r,this.GlobalOrLocal=o,this.type=2265737646}};e.IfcAnnotationSurface=class extends si{constructor(e,t,s){super(e),this.Item=t,this.TextureCoordinates=s,this.type=1302238472}};e.IfcAxis1Placement=class extends ui{constructor(e,t,s){super(e,t),this.Location=t,this.Axis=s,this.type=4261334040}};e.IfcAxis2Placement2D=class extends ui{constructor(e,t,s){super(e,t),this.Location=t,this.RefDirection=s,this.type=3125803723}};e.IfcAxis2Placement3D=class extends ui{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=2740243338}};class xi extends si{constructor(e,t,s,i){super(e),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=2736907675}}e.IfcBooleanResult=xi;class wi extends Ri{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=wi;e.IfcBoundingBox=class extends si{constructor(e,t,s,i,r){super(e),this.Corner=t,this.XDim=s,this.YDim=i,this.ZDim=r,this.type=2581212453}};e.IfcBoxedHalfSpace=class extends ri{constructor(e,t,s,i){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Enclosure=i,this.type=2713105998}};e.IfcCShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=l,this.CentreOfGravityInX=h,this.type=2898889636}};e.IfcCartesianPoint=class extends pi{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Bi extends si{constructor(e,t,s,i,r){super(e),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=59481748}}e.IfcCartesianTransformationOperator=Bi;class Fi extends Bi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Fi;e.IfcCartesianTransformationOperator2DnonUniform=class extends Fi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Scale2=o,this.type=3486308946}};class Mi extends Bi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Mi;e.IfcCartesianTransformationOperator3DnonUniform=class extends Mi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class Li extends ci{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.type=1383045692}}e.IfcCircleProfileDef=Li;e.IfcClosedShell=class extends Zs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}};e.IfcCompositeCurveSegment=class extends si{constructor(e,t,s,i){super(e),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.type=2485617015}};e.IfcCraneRailAShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallHeight=r,this.BaseWidth2=o,this.Radius=n,this.HeadWidth=a,this.HeadDepth2=l,this.HeadDepth3=h,this.WebThickness=c,this.BaseWidth4=u,this.BaseDepth1=A,this.BaseDepth2=p,this.BaseDepth3=d,this.CentreOfGravityInY=f,this.type=4133800736}};e.IfcCraneRailFShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallHeight=r,this.HeadWidth=o,this.Radius=n,this.HeadDepth2=a,this.HeadDepth3=l,this.WebThickness=h,this.BaseDepth1=c,this.BaseDepth2=u,this.CentreOfGravityInY=A,this.type=194851669}};class Ui extends si{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Ui;e.IfcCsgSolid=class extends vi{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Hi extends si{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Hi;e.IfcCurveBoundedPlane=class extends wi{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.OuterBoundary=s,this.InnerBoundaries=i,this.type=2827736869}};e.IfcDefinedSymbol=class extends si{constructor(e,t,s){super(e),this.Definition=t,this.Target=s,this.type=693772133}};e.IfcDimensionCurve=class extends Si{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=606661476}};e.IfcDimensionCurveTerminator=class extends Ni{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Item=t,this.Styles=s,this.Name=i,this.AnnotatedCurve=r,this.Role=o,this.type=4054601972}};e.IfcDirection=class extends si{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};e.IfcDoorLiningProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=l,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=u,this.ThresholdOffset=A,this.CasingThickness=p,this.CasingDepth=d,this.ShapeAspectStyle=f,this.type=2963535650}};e.IfcDoorPanelProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PanelDepth=o,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=l,this.ShapeAspectStyle=h,this.type=1714330368}};e.IfcDoorStyle=class extends Oi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=526551008}};class Gi extends si{constructor(e,t){super(e),this.Contents=t,this.type=3073041342}}e.IfcDraughtingCallout=Gi;e.IfcDraughtingPreDefinedColour=class extends di{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}};e.IfcDraughtingPreDefinedCurveFont=class extends fi{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};e.IfcEdgeLoop=class extends ai{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}};e.IfcElementQuantity=class extends Ei{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.MethodOfMeasurement=o,this.Quantities=n,this.type=1883228015}};class ki extends Oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=339256511}}e.IfcElementType=ki;class Vi extends Ri{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Vi;e.IfcEllipseProfileDef=class extends ci{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.SemiAxis1=r,this.SemiAxis2=o,this.type=2835456948}};class Qi extends Ei{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.EnergySequence=o,this.UserDefinedEnergySequence=n,this.type=80994333}}e.IfcEnergyProperties=Qi;e.IfcExtrudedAreaSolid=class extends Pi{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=477187591}};e.IfcFaceBasedSurfaceModel=class extends si{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}};e.IfcFillAreaStyleHatching=class extends si{constructor(e,t,s,i,r,o){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=s,this.PointOfReferenceHatchLine=i,this.PatternStart=r,this.HatchLineAngle=o,this.type=374418227}};e.IfcFillAreaStyleTileSymbolWithStyle=class extends si{constructor(e,t){super(e),this.Symbol=t,this.type=4203026998}};e.IfcFillAreaStyleTiles=class extends si{constructor(e,t,s,i){super(e),this.TilingPattern=t,this.Tiles=s,this.TilingScale=i,this.type=315944413}};e.IfcFluidFlowProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PropertySource=o,this.FlowConditionTimeSeries=n,this.VelocityTimeSeries=a,this.FlowrateTimeSeries=l,this.Fluid=h,this.PressureTimeSeries=c,this.UserDefinedPropertySource=u,this.TemperatureSingleValue=A,this.WetBulbTemperatureSingleValue=p,this.WetBulbTemperatureTimeSeries=d,this.TemperatureTimeSeries=f,this.FlowrateSingleValue=m,this.FlowConditionSingleValue=E,this.VelocitySingleValue=y,this.PressureSingleValue=g,this.type=3455213021}};class ji extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=4238390223}}e.IfcFurnishingElementType=ji;e.IfcFurnitureType=class extends ji{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.AssemblyPlace=c,this.type=1268542332}};e.IfcGeometricCurveSet=class extends ii{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};class Wi extends ci{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.type=1484403080}}e.IfcIShapeProfileDef=Wi;e.IfcLShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=l,this.LegSlope=h,this.CentreOfGravityInX=c,this.CentreOfGravityInY=u,this.type=572779678}};e.IfcLine=class extends Hi{constructor(e,t,s){super(e),this.Pnt=t,this.Dir=s,this.type=1281925730}};class zi extends vi{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=zi;class Ki extends li{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3888040117}}e.IfcObject=Ki;e.IfcOffsetCurve2D=class extends Hi{constructor(e,t,s,i){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.type=3388369263}};e.IfcOffsetCurve3D=class extends Hi{constructor(e,t,s,i,r){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.RefDirection=r,this.type=3505215534}};e.IfcPermeableCoveringProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=3566463478}};e.IfcPlanarBox=class extends Ai{constructor(e,t,s,i){super(e,t,s),this.SizeInX=t,this.SizeInY=s,this.Placement=i,this.type=603570806}};e.IfcPlane=class extends Vi{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class Yi extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2945172077}}e.IfcProcess=Yi;class Xi extends Ki{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}e.IfcProduct=Xi;e.IfcProject=class extends Ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=103090709}};e.IfcProjectionCurve=class extends Si{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=4194566429}};e.IfcPropertySet=class extends Ei{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.HasProperties=o,this.type=1451395588}};e.IfcProxy=class extends Xi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=l,this.Tag=h,this.type=3219374653}};e.IfcRectangleHollowProfileDef=class extends yi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=l,this.type=2770003689}};e.IfcRectangularPyramid=class extends Ui{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.Height=r,this.type=2798486643}};e.IfcRectangularTrimmedSurface=class extends wi{constructor(e,t,s,i,r,o,n,a){super(e),this.BasisSurface=t,this.U1=s,this.V1=i,this.U2=r,this.V2=o,this.Usense=n,this.Vsense=a,this.type=3454111270}};class Zi extends gi{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.type=3939117080}}e.IfcRelAssigns=Zi;class qi extends Zi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=1683148259}}e.IfcRelAssignsToActor=qi;class Ji extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}}e.IfcRelAssignsToControl=Ji;e.IfcRelAssignsToGroup=class extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}};e.IfcRelAssignsToProcess=class extends Zi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=l,this.type=4278684876}};e.IfcRelAssignsToProduct=class extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};e.IfcRelAssignsToProjectOrder=class extends Ji{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=3372526763}};e.IfcRelAssignsToResource=class extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class $i extends gi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=1865459582}}e.IfcRelAssociates=$i;e.IfcRelAssociatesAppliedValue=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingAppliedValue=n,this.type=1327628568}};e.IfcRelAssociatesApproval=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingApproval=n,this.type=4095574036}};e.IfcRelAssociatesClassification=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingClassification=n,this.type=919958153}};e.IfcRelAssociatesConstraint=class extends $i{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};e.IfcRelAssociatesDocument=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingDocument=n,this.type=982818633}};e.IfcRelAssociatesLibrary=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingLibrary=n,this.type=3840914261}};e.IfcRelAssociatesMaterial=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingMaterial=n,this.type=2655215786}};e.IfcRelAssociatesProfileProperties=class extends $i{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingProfileProperties=n,this.ProfileSectionLocation=a,this.ProfileOrientation=l,this.type=2851387026}};class er extends gi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=826625072}}e.IfcRelConnects=er;class tr extends er{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}e.IfcRelConnectsElements=tr;e.IfcRelConnectsPathElements=class extends tr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=l,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=u,this.type=3945020480}};e.IfcRelConnectsPortToElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedElement=n,this.type=4201705270}};e.IfcRelConnectsPorts=class extends er{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};e.IfcRelConnectsStructuralActivity=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralActivity=n,this.type=2127690289}};e.IfcRelConnectsStructuralElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralMember=n,this.type=3912681535}};class sr extends er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}e.IfcRelConnectsStructuralMember=sr;e.IfcRelConnectsWithEccentricity=class extends sr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=u,this.type=504942748}};e.IfcRelConnectsWithRealizingElements=class extends tr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=l,this.ConnectionType=h,this.type=3678494232}};e.IfcRelContainedInSpatialStructure=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=3242617779}};e.IfcRelCoversBldgElements=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedCoverings=n,this.type=886880790}};e.IfcRelCoversSpaces=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedSpace=o,this.RelatedCoverings=n,this.type=2802773753}};class ir extends gi{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=2551354335}}e.IfcRelDecomposes=ir;class rr extends gi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=693640335}}e.IfcRelDefines=rr;class or extends rr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.type=4186316022}}e.IfcRelDefinesByProperties=or;e.IfcRelDefinesByType=class extends rr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingType=n,this.type=781010003}};e.IfcRelFillsElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingOpeningElement=o,this.RelatedBuildingElement=n,this.type=3940055652}};e.IfcRelFlowControlElements=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedControlElements=o,this.RelatingFlowElement=n,this.type=279856033}};e.IfcRelInteractionRequirements=class extends er{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DailyInteraction=o,this.ImportanceRating=n,this.LocationOfInteraction=a,this.RelatedSpaceProgram=l,this.RelatingSpaceProgram=h,this.type=4189434867}};e.IfcRelNests=class extends ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=3268803585}};e.IfcRelOccupiesSpaces=class extends qi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=2051452291}};e.IfcRelOverridesProperties=class extends or{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.OverridingProperties=a,this.type=202636808}};e.IfcRelProjectsElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedFeatureElement=n,this.type=750771296}};e.IfcRelReferencedInSpatialStructure=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=1245217292}};e.IfcRelSchedulesCostItems=class extends Ji{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=1058617721}};e.IfcRelSequence=class extends er{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingProcess=o,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=l,this.type=4122056220}};e.IfcRelServicesBuildings=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSystem=o,this.RelatedBuildings=n,this.type=366585022}};e.IfcRelSpaceBoundary=class extends er{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.type=3451746338}};e.IfcRelVoidsElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedOpeningElement=n,this.type=1401173127}};class nr extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2914609552}}e.IfcResource=nr;e.IfcRevolvedAreaSolid=class extends Pi{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.type=1856042241}};e.IfcRightCircularCone=class extends Ui{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.BottomRadius=i,this.type=4158566097}};e.IfcRightCircularCylinder=class extends Ui{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.Radius=i,this.type=3626867408}};class ar extends Xi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=2706606064}}e.IfcSpatialStructureElement=ar;class lr extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893378262}}e.IfcSpatialStructureElementType=lr;e.IfcSphere=class extends Ui{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=451544542}};class hr extends Xi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3544373492}}e.IfcStructuralActivity=hr;class cr extends Xi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}e.IfcStructuralItem=cr;class ur extends cr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}e.IfcStructuralMember=ur;class Ar extends hr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3689010777}}e.IfcStructuralReaction=Ar;class pr extends ur{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=3979015343}}e.IfcStructuralSurfaceMember=pr;e.IfcStructuralSurfaceMemberVarying=class extends pr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.SubsequentThickness=c,this.VaryingThicknessLocation=u,this.type=2218152070}};e.IfcStructuredDimensionCallout=class extends Gi{constructor(e,t){super(e,t),this.Contents=t,this.type=4070609034}};e.IfcSurfaceCurveSweptAreaSolid=class extends Pi{constructor(e,t,s,i,r,o,n){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.ReferenceSurface=n,this.type=2028607225}};e.IfcSurfaceOfLinearExtrusion=class extends Di{constructor(e,t,s,i,r){super(e,t,s),this.SweptCurve=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=2809605785}};e.IfcSurfaceOfRevolution=class extends Di{constructor(e,t,s,i){super(e,t,s),this.SweptCurve=t,this.Position=s,this.AxisPosition=i,this.type=4124788165}};e.IfcSystemFurnitureElementType=class extends ji{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1580310250}};class dr extends Yi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TaskId=n,this.Status=a,this.WorkMethod=l,this.IsMilestone=h,this.Priority=c,this.type=3473067441}}e.IfcTask=dr;e.IfcTransportElementType=class extends ki{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class fr extends Ki{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.type=2296667514}}e.IfcActor=fr;e.IfcAnnotation=class extends Xi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};e.IfcAsymmetricIShapeProfileDef=class extends Wi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=u,this.CentreOfGravityInY=A,this.type=3207858831}};e.IfcBlock=class extends Ui{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.ZLength=r,this.type=1334484129}};e.IfcBooleanClippingResult=class extends xi{constructor(e,t,s,i){super(e,t,s,i),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=3649129432}};class mr extends Hi{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=mr;e.IfcBuilding=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=u,this.BuildingAddress=A,this.type=4031249490}};class Er extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1950629157}}e.IfcBuildingElementType=Er;e.IfcBuildingStorey=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};e.IfcCircleHollowProfileDef=class extends Li{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.WallThickness=o,this.type=2937912522}};e.IfcColumnType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};class yr extends mr{constructor(e,t,s){super(e),this.Segments=t,this.SelfIntersect=s,this.type=3732776249}}e.IfcCompositeCurve=yr;class gr extends Hi{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=gr;class vr extends nr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=2559216714}}e.IfcConstructionResource=vr;class Ir extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3293443760}}e.IfcControl=Ir;e.IfcCostItem=class extends Ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3895139033}};e.IfcCostSchedule=class extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.SubmittedBy=n,this.PreparedBy=a,this.SubmittedOn=l,this.Status=h,this.TargetUsers=c,this.UpdateDate=u,this.ID=A,this.PredefinedType=p,this.type=1419761937}};e.IfcCoveringType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};e.IfcCrewResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=3295246426}};e.IfcCurtainWallType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};class Tr extends Gi{constructor(e,t){super(e,t),this.Contents=t,this.type=681481545}}e.IfcDimensionCurveDirectedCallout=Tr;class _r extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3256556792}}e.IfcDistributionElementType=_r;class Rr extends _r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3849074793}}e.IfcDistributionFlowElementType=Rr;e.IfcElectricalBaseProperties=class extends Qi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.EnergySequence=o,this.UserDefinedEnergySequence=n,this.ElectricCurrentType=a,this.InputVoltage=l,this.InputFrequency=h,this.FullLoadCurrent=c,this.MinimumCircuitCurrent=u,this.MaximumPowerInput=A,this.RatedPowerInput=p,this.InputPhase=d,this.type=360485395}};class Pr extends Xi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1758889154}}e.IfcElement=Pr;e.IfcElementAssembly=class extends Pr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};class Dr extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1623761950}}e.IfcElementComponent=Dr;class Nr extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2590856083}}e.IfcElementComponentType=Nr;e.IfcEllipse=class extends gr{constructor(e,t,s,i){super(e,t),this.Position=t,this.SemiAxis1=s,this.SemiAxis2=i,this.type=1704287377}};class Cr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Cr;e.IfcEquipmentElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1962604670}};e.IfcEquipmentStandard=class extends Ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3272907226}};e.IfcEvaporativeCoolerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};e.IfcEvaporatorType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};e.IfcFacetedBrep=class extends zi{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}};e.IfcFacetedBrepWithVoids=class extends zi{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=3737207727}};class br extends Dr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=647756555}}e.IfcFastener=br;class Or extends Nr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2489546625}}e.IfcFastenerType=Or;class Sr extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2827207264}}e.IfcFeatureElement=Sr;class xr extends Sr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2143335405}}e.IfcFeatureElementAddition=xr;class wr extends Sr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1287392070}}e.IfcFeatureElementSubtraction=wr;class Br extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3907093117}}e.IfcFlowControllerType=Br;class Fr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3198132628}}e.IfcFlowFittingType=Fr;e.IfcFlowMeterType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Mr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1482959167}}e.IfcFlowMovingDeviceType=Mr;class Lr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1834744321}}e.IfcFlowSegmentType=Lr;class Ur extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1339347760}}e.IfcFlowStorageDeviceType=Ur;class Hr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2297155007}}e.IfcFlowTerminalType=Hr;class Gr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=Gr;e.IfcFurnishingElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=263784265}};e.IfcFurnitureStandard=class extends Ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=814719939}};e.IfcGasTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=200128114}};e.IfcGrid=class extends Xi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.UAxes=l,this.VAxes=h,this.WAxes=c,this.type=3009204131}};class kr extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2706460486}}e.IfcGroup=kr;e.IfcHeatExchangerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};e.IfcHumidifierType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};e.IfcInventory=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.InventoryType=n,this.Jurisdiction=a,this.ResponsiblePersons=l,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=u,this.type=2391368822}};e.IfcJunctionBoxType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};e.IfcLaborResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.SkillSet=c,this.type=3827777499}};e.IfcLampType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};e.IfcLightFixtureType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};e.IfcLinearDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=2506943328}};e.IfcMechanicalFastener=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NominalDiameter=h,this.NominalLength=c,this.type=377706215}};e.IfcMechanicalFastenerType=class extends Or{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2108223431}};e.IfcMemberType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};e.IfcMotorConnectionType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};e.IfcMove=class extends dr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TaskId=n,this.Status=a,this.WorkMethod=l,this.IsMilestone=h,this.Priority=c,this.MoveFrom=u,this.MoveTo=A,this.PunchList=p,this.type=1916936684}};e.IfcOccupant=class extends fr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};e.IfcOpeningElement=class extends wr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3588315303}};e.IfcOrderAction=class extends dr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TaskId=n,this.Status=a,this.WorkMethod=l,this.IsMilestone=h,this.Priority=c,this.ActionID=u,this.type=3425660407}};e.IfcOutletType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};e.IfcPerformanceHistory=class extends Ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LifeCyclePhase=n,this.type=2382730787}};e.IfcPermit=class extends Ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PermitID=n,this.type=3327091369}};e.IfcPipeFittingType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};e.IfcPipeSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};e.IfcPlateType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};e.IfcPolyline=class extends mr{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class Vr extends Xi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}e.IfcPort=Vr;e.IfcProcedure=class extends Yi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ProcedureID=n,this.ProcedureType=a,this.UserDefinedProcedureType=l,this.type=2744685151}};e.IfcProjectOrder=class extends Ir{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ID=n,this.PredefinedType=a,this.Status=l,this.type=2904328755}};e.IfcProjectOrderRecord=class extends Ir{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Records=n,this.PredefinedType=a,this.type=3642467123}};e.IfcProjectionElement=class extends xr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3651124850}};e.IfcProtectiveDeviceType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};e.IfcPumpType=class extends Mr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};e.IfcRadiusDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=3248260540}};e.IfcRailingType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};e.IfcRampFlightType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};e.IfcRelAggregates=class extends ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=160246688}};e.IfcRelAssignsTasks=class extends Ji{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.TimeForTask=l,this.type=2863920197}};e.IfcSanitaryTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};e.IfcScheduleTimeControl=class extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ActualStart=n,this.EarlyStart=a,this.LateStart=l,this.ScheduleStart=h,this.ActualFinish=c,this.EarlyFinish=u,this.LateFinish=A,this.ScheduleFinish=p,this.ScheduleDuration=d,this.ActualDuration=f,this.RemainingTime=m,this.FreeFloat=E,this.TotalFloat=y,this.IsCritical=g,this.StatusTime=v,this.StartFloat=I,this.FinishFloat=T,this.Completion=_,this.type=3517283431}};e.IfcServiceLife=class extends Ir{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ServiceLifeType=n,this.ServiceLifeDuration=a,this.type=4105383287}};e.IfcSite=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=u,this.RefElevation=A,this.LandTitleNumber=p,this.SiteAddress=d,this.type=4097777520}};e.IfcSlabType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};e.IfcSpace=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.InteriorOrExteriorSpace=c,this.ElevationWithFlooring=u,this.type=3856911033}};e.IfcSpaceHeaterType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};e.IfcSpaceProgram=class extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.SpaceProgramIdentifier=n,this.MaxRequiredArea=a,this.MinRequiredArea=l,this.RequestedLocation=h,this.StandardRequiredArea=c,this.type=652456506}};e.IfcSpaceType=class extends lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3812236995}};e.IfcStackTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};e.IfcStairFlightType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};class Qr extends hr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.type=682877961}}e.IfcStructuralAction=Qr;class jr extends cr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1179482911}}e.IfcStructuralConnection=jr;e.IfcStructuralCurveConnection=class extends jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=4243806635}};class Wr extends ur{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=214636428}}e.IfcStructuralCurveMember=Wr;e.IfcStructuralCurveMemberVarying=class extends Wr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=2445595289}};class zr extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.type=1807405624}}e.IfcStructuralLinearAction=zr;e.IfcStructuralLinearActionVarying=class extends zr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.VaryingAppliedLoadLocation=p,this.SubsequentAppliedLoads=d,this.type=1721250024}};e.IfcStructuralLoadGroup=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.type=1252848954}};class Kr extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.type=1621171031}}e.IfcStructuralPlanarAction=Kr;e.IfcStructuralPlanarActionVarying=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.VaryingAppliedLoadLocation=p,this.SubsequentAppliedLoads=d,this.type=3987759626}};e.IfcStructuralPointAction=class extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.type=2082059205}};e.IfcStructuralPointConnection=class extends jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=734778138}};e.IfcStructuralPointReaction=class extends Ar{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=1235345126}};e.IfcStructuralResultGroup=class extends kr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=l,this.type=2986769608}};e.IfcStructuralSurfaceConnection=class extends jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1975003073}};e.IfcSubContractResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.SubContractor=c,this.JobDescription=u,this.type=148013059}};e.IfcSwitchingDeviceType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Yr extends kr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2254336722}}e.IfcSystem=Yr;e.IfcTankType=class extends Ur{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};e.IfcTimeSeriesSchedule=class extends Ir{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ApplicableDates=n,this.TimeSeriesScheduleType=a,this.TimeSeries=l,this.type=1637806684}};e.IfcTransformerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};e.IfcTransportElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OperationType=h,this.CapacityByWeight=c,this.CapacityByNumber=u,this.type=1620046519}};e.IfcTrimmedCurve=class extends mr{constructor(e,t,s,i,r,o){super(e),this.BasisCurve=t,this.Trim1=s,this.Trim2=i,this.SenseAgreement=r,this.MasterRepresentation=o,this.type=3593883385}};e.IfcTubeBundleType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};e.IfcUnitaryEquipmentType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};e.IfcValveType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};e.IfcVirtualElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2769231204}};e.IfcWallType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};e.IfcWasteTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};class Xr extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identifier=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.WorkControlType=d,this.UserDefinedControlType=f,this.type=1028945134}}e.IfcWorkControl=Xr;e.IfcWorkPlan=class extends Xr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identifier=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.WorkControlType=d,this.UserDefinedControlType=f,this.type=4218914973}};e.IfcWorkSchedule=class extends Xr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identifier=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.WorkControlType=d,this.UserDefinedControlType=f,this.type=3342526732}};e.IfcZone=class extends kr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=1033361043}};e.Ifc2DCompositeCurve=class extends yr{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=1213861670}};e.IfcActionRequest=class extends Ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.RequestID=n,this.type=3821786052}};e.IfcAirTerminalBoxType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};e.IfcAirTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};e.IfcAirToAirHeatRecoveryType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};e.IfcAngularDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=2470393545}};e.IfcAsset=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.AssetID=n,this.OriginalValue=a,this.CurrentValue=l,this.TotalReplacementCost=h,this.Owner=c,this.User=u,this.ResponsiblePerson=A,this.IncorporationDate=p,this.DepreciatedValue=d,this.type=3460190687}};class Zr extends mr{constructor(e,t,s,i,r,o){super(e),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1967976161}}e.IfcBSplineCurve=Zr;e.IfcBeamType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};class qr extends Zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1916977116}}e.IfcBezierCurve=qr;e.IfcBoilerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class Jr extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3299480353}}e.IfcBuildingElement=Jr;class $r extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=52481810}}e.IfcBuildingElementComponent=$r;e.IfcBuildingElementPart=class extends $r{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2979338954}};e.IfcBuildingElementProxy=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.CompositionType=h,this.type=1095909175}};e.IfcBuildingElementProxyType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};e.IfcCableCarrierFittingType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};e.IfcCableCarrierSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};e.IfcCableSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};e.IfcChillerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};e.IfcCircle=class extends gr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=2611217952}};e.IfcCoilType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};e.IfcColumn=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=843113511}};e.IfcCompressorType=class extends Mr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};e.IfcCondenserType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};e.IfcCondition=class extends kr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2188551683}};e.IfcConditionCriterion=class extends Ir{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Criterion=n,this.CriterionDateTime=a,this.type=1163958913}};e.IfcConstructionEquipmentResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=3898045240}};e.IfcConstructionMaterialResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.Suppliers=c,this.UsageRatio=u,this.type=1060000209}};e.IfcConstructionProductResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=488727124}};e.IfcCooledBeamType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};e.IfcCoolingTowerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};e.IfcCovering=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1973544240}};e.IfcCurtainWall=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3495092785}};e.IfcDamperType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};e.IfcDiameterDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=4147604152}};e.IfcDiscreteAccessory=class extends Dr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1335981549}};class eo extends Nr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2635815018}}e.IfcDiscreteAccessoryType=eo;e.IfcDistributionChamberElementType=class extends Rr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class to extends _r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2063403501}}e.IfcDistributionControlElementType=to;class so extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1945004755}}e.IfcDistributionElement=so;class io extends so{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3040386961}}e.IfcDistributionFlowElement=io;e.IfcDistributionPort=class extends Vr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=l,this.type=3041715199}};e.IfcDoor=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.type=395920057}};e.IfcDuctFittingType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};e.IfcDuctSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};e.IfcDuctSilencerType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};class ro extends wr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.FeatureLength=h,this.type=855621170}}e.IfcEdgeFeature=ro;e.IfcElectricApplianceType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};e.IfcElectricFlowStorageDeviceType=class extends Ur{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};e.IfcElectricGeneratorType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};e.IfcElectricHeaterType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1365060375}};e.IfcElectricMotorType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};e.IfcElectricTimeControlType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};e.IfcElectricalCircuit=class extends Yr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=1634875225}};e.IfcElectricalElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=857184966}};e.IfcEnergyConversionDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1658829314}};e.IfcFanType=class extends Mr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};e.IfcFilterType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};e.IfcFireSuppressionTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class oo extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2058353004}}e.IfcFlowController=oo;e.IfcFlowFitting=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4278956645}};e.IfcFlowInstrumentType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};e.IfcFlowMovingDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3132237377}};e.IfcFlowSegment=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=987401354}};e.IfcFlowStorageDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=707683696}};e.IfcFlowTerminal=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2223149337}};e.IfcFlowTreatmentDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3508470533}};e.IfcFooting=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=900683007}};e.IfcMember=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1073191201}};e.IfcPile=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};e.IfcPlate=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3171933400}};e.IfcRailing=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2262370178}};e.IfcRamp=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ShapeType=h,this.type=3024970846}};e.IfcRampFlight=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3283111854}};e.IfcRationalBezierCurve=class extends qr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.WeightsData=n,this.type=3055160366}};class no extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=3027567501}}e.IfcReinforcingElement=no;e.IfcReinforcingMesh=class extends no{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=u,this.LongitudinalBarNominalDiameter=A,this.TransverseBarNominalDiameter=p,this.LongitudinalBarCrossSectionArea=d,this.TransverseBarCrossSectionArea=f,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=E,this.type=2320036040}};e.IfcRoof=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ShapeType=h,this.type=2016517767}};e.IfcRoundedEdgeFeature=class extends ro{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.FeatureLength=h,this.Radius=c,this.type=1376911519}};e.IfcSensorType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};e.IfcSlab=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1529196076}};e.IfcStair=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ShapeType=h,this.type=331165859}};e.IfcStairFlight=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NumberOfRiser=h,this.NumberOfTreads=c,this.RiserHeight=u,this.TreadLength=A,this.type=4252922144}};e.IfcStructuralAnalysisModel=class extends Yr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=l,this.HasResults=h,this.type=2515109513}};e.IfcTendon=class extends no{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.TensionForce=p,this.PreStress=d,this.FrictionCoefficient=f,this.AnchorageSlip=m,this.MinCurvatureRadius=E,this.type=3824725483}};e.IfcTendonAnchor=class extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=2347447852}};e.IfcVibrationIsolatorType=class extends eo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};class ao extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2391406946}}e.IfcWall=ao;e.IfcWallStandardCase=class extends ao{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3512223829}};e.IfcWindow=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.type=3304561284}};e.IfcActuatorType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};e.IfcAlarmType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};e.IfcBeam=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=753842376}};e.IfcChamferEdgeFeature=class extends ro{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.FeatureLength=h,this.Width=c,this.Height=u,this.type=2454782716}};e.IfcControllerType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};e.IfcDistributionChamberElement=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1052013943}};e.IfcDistributionControlElement=class extends so{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ControlElementId=h,this.type=1062813311}};e.IfcElectricDistributionPoint=class extends oo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.DistributionPointFunction=h,this.UserDefinedFunction=c,this.type=3700593921}};e.IfcReinforcingBar=class extends no{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=u,this.BarLength=A,this.BarRole=p,this.BarSurface=d,this.type=979691226}}}(oy||(oy={})),function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcArcIndex=class{constructor(e){this.value=e}};e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcComplexNumber=class{constructor(e){this.value=e}};e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}};e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDate=class{constructor(e){this.value=e,this.type=1}};e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}};e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t;e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDuration=class{constructor(e){this.value=e,this.type=1}};e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}};e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}};e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}};e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}};e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}};e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLabel=class{constructor(e){this.value=e,this.type=1}};e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}};e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLineIndex=class{constructor(e){this.value=e}};e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}};e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}};e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcText=class{constructor(e){this.value=e,this.type=1}};e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}};e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}};e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}};e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTime=class{constructor(e){this.value=e,this.type=1}};e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}};e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class s{}s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=s;class i{}i.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},i.COMPLETION_G1={type:3,value:"COMPLETION_G1"},i.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},i.SNOW_S={type:3,value:"SNOW_S"},i.WIND_W={type:3,value:"WIND_W"},i.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},i.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},i.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},i.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},i.FIRE={type:3,value:"FIRE"},i.IMPULSE={type:3,value:"IMPULSE"},i.IMPACT={type:3,value:"IMPACT"},i.TRANSPORT={type:3,value:"TRANSPORT"},i.ERECTION={type:3,value:"ERECTION"},i.PROPPING={type:3,value:"PROPPING"},i.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},i.SHRINKAGE={type:3,value:"SHRINKAGE"},i.CREEP={type:3,value:"CREEP"},i.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},i.BUOYANCY={type:3,value:"BUOYANCY"},i.ICE={type:3,value:"ICE"},i.CURRENT={type:3,value:"CURRENT"},i.WAVE={type:3,value:"WAVE"},i.RAIN={type:3,value:"RAIN"},i.BRAKES={type:3,value:"BRAKES"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=i;class r{}r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=r;class o{}o.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},o.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},o.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},o.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},o.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=o;class n{}n.OFFICE={type:3,value:"OFFICE"},n.SITE={type:3,value:"SITE"},n.HOME={type:3,value:"HOME"},n.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},n.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=n;class a{}a.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},a.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},a.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=a;class l{}l.DIFFUSER={type:3,value:"DIFFUSER"},l.GRILLE={type:3,value:"GRILLE"},l.LOUVRE={type:3,value:"LOUVRE"},l.REGISTER={type:3,value:"REGISTER"},l.USERDEFINED={type:3,value:"USERDEFINED"},l.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=l;class h{}h.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},h.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},h.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},h.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},h.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},h.HEATPIPE={type:3,value:"HEATPIPE"},h.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},h.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},h.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=h;class c{}c.BELL={type:3,value:"BELL"},c.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},c.LIGHT={type:3,value:"LIGHT"},c.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},c.SIREN={type:3,value:"SIREN"},c.WHISTLE={type:3,value:"WHISTLE"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=c;class u{}u.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},u.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},u.LOADING_3D={type:3,value:"LOADING_3D"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=u;class A{}A.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},A.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},A.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},A.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=A;class p{}p.ADD={type:3,value:"ADD"},p.DIVIDE={type:3,value:"DIVIDE"},p.MULTIPLY={type:3,value:"MULTIPLY"},p.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=p;class d{}d.SITE={type:3,value:"SITE"},d.FACTORY={type:3,value:"FACTORY"},d.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=d;class f{}f.AMPLIFIER={type:3,value:"AMPLIFIER"},f.CAMERA={type:3,value:"CAMERA"},f.DISPLAY={type:3,value:"DISPLAY"},f.MICROPHONE={type:3,value:"MICROPHONE"},f.PLAYER={type:3,value:"PLAYER"},f.PROJECTOR={type:3,value:"PROJECTOR"},f.RECEIVER={type:3,value:"RECEIVER"},f.SPEAKER={type:3,value:"SPEAKER"},f.SWITCHER={type:3,value:"SWITCHER"},f.TELEPHONE={type:3,value:"TELEPHONE"},f.TUNER={type:3,value:"TUNER"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=f;class m{}m.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},m.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},m.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},m.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},m.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},m.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=m;class E{}E.PLANE_SURF={type:3,value:"PLANE_SURF"},E.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},E.CONICAL_SURF={type:3,value:"CONICAL_SURF"},E.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},E.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},E.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},E.RULED_SURF={type:3,value:"RULED_SURF"},E.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},E.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},E.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},E.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=E;class y{}y.BEAM={type:3,value:"BEAM"},y.JOIST={type:3,value:"JOIST"},y.HOLLOWCORE={type:3,value:"HOLLOWCORE"},y.LINTEL={type:3,value:"LINTEL"},y.SPANDREL={type:3,value:"SPANDREL"},y.T_BEAM={type:3,value:"T_BEAM"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=y;class g{}g.GREATERTHAN={type:3,value:"GREATERTHAN"},g.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},g.LESSTHAN={type:3,value:"LESSTHAN"},g.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},g.EQUALTO={type:3,value:"EQUALTO"},g.NOTEQUALTO={type:3,value:"NOTEQUALTO"},g.INCLUDES={type:3,value:"INCLUDES"},g.NOTINCLUDES={type:3,value:"NOTINCLUDES"},g.INCLUDEDIN={type:3,value:"INCLUDEDIN"},g.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=g;class v{}v.WATER={type:3,value:"WATER"},v.STEAM={type:3,value:"STEAM"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=v;class I{}I.UNION={type:3,value:"UNION"},I.INTERSECTION={type:3,value:"INTERSECTION"},I.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=I;class T{}T.INSULATION={type:3,value:"INSULATION"},T.PRECASTPANEL={type:3,value:"PRECASTPANEL"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=T;class _{}_.COMPLEX={type:3,value:"COMPLEX"},_.ELEMENT={type:3,value:"ELEMENT"},_.PARTIAL={type:3,value:"PARTIAL"},_.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},_.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=_;class R{}R.FENESTRATION={type:3,value:"FENESTRATION"},R.FOUNDATION={type:3,value:"FOUNDATION"},R.LOADBEARING={type:3,value:"LOADBEARING"},R.OUTERSHELL={type:3,value:"OUTERSHELL"},R.SHADING={type:3,value:"SHADING"},R.TRANSPORT={type:3,value:"TRANSPORT"},R.USERDEFINED={type:3,value:"USERDEFINED"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=R;class P{}P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=P;class D{}D.BEND={type:3,value:"BEND"},D.CROSS={type:3,value:"CROSS"},D.REDUCER={type:3,value:"REDUCER"},D.TEE={type:3,value:"TEE"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=D;class N{}N.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},N.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},N.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},N.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=N;class C{}C.CONNECTOR={type:3,value:"CONNECTOR"},C.ENTRY={type:3,value:"ENTRY"},C.EXIT={type:3,value:"EXIT"},C.JUNCTION={type:3,value:"JUNCTION"},C.TRANSITION={type:3,value:"TRANSITION"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=C;class b{}b.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},b.CABLESEGMENT={type:3,value:"CABLESEGMENT"},b.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},b.CORESEGMENT={type:3,value:"CORESEGMENT"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=b;class O{}O.NOCHANGE={type:3,value:"NOCHANGE"},O.MODIFIED={type:3,value:"MODIFIED"},O.ADDED={type:3,value:"ADDED"},O.DELETED={type:3,value:"DELETED"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=O;class S{}S.AIRCOOLED={type:3,value:"AIRCOOLED"},S.WATERCOOLED={type:3,value:"WATERCOOLED"},S.HEATRECOVERY={type:3,value:"HEATRECOVERY"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=S;class x{}x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=x;class w{}w.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},w.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},w.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},w.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},w.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},w.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},w.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=w;class B{}B.COLUMN={type:3,value:"COLUMN"},B.PILASTER={type:3,value:"PILASTER"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=B;class F{}F.ANTENNA={type:3,value:"ANTENNA"},F.COMPUTER={type:3,value:"COMPUTER"},F.FAX={type:3,value:"FAX"},F.GATEWAY={type:3,value:"GATEWAY"},F.MODEM={type:3,value:"MODEM"},F.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},F.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},F.NETWORKHUB={type:3,value:"NETWORKHUB"},F.PRINTER={type:3,value:"PRINTER"},F.REPEATER={type:3,value:"REPEATER"},F.ROUTER={type:3,value:"ROUTER"},F.SCANNER={type:3,value:"SCANNER"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=F;class M{}M.P_COMPLEX={type:3,value:"P_COMPLEX"},M.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=M;class L{}L.DYNAMIC={type:3,value:"DYNAMIC"},L.RECIPROCATING={type:3,value:"RECIPROCATING"},L.ROTARY={type:3,value:"ROTARY"},L.SCROLL={type:3,value:"SCROLL"},L.TROCHOIDAL={type:3,value:"TROCHOIDAL"},L.SINGLESTAGE={type:3,value:"SINGLESTAGE"},L.BOOSTER={type:3,value:"BOOSTER"},L.OPENTYPE={type:3,value:"OPENTYPE"},L.HERMETIC={type:3,value:"HERMETIC"},L.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},L.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},L.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},L.ROTARYVANE={type:3,value:"ROTARYVANE"},L.SINGLESCREW={type:3,value:"SINGLESCREW"},L.TWINSCREW={type:3,value:"TWINSCREW"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=L;class U{}U.AIRCOOLED={type:3,value:"AIRCOOLED"},U.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},U.WATERCOOLED={type:3,value:"WATERCOOLED"},U.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},U.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},U.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},U.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=U;class H{}H.ATPATH={type:3,value:"ATPATH"},H.ATSTART={type:3,value:"ATSTART"},H.ATEND={type:3,value:"ATEND"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=H;class G{}G.HARD={type:3,value:"HARD"},G.SOFT={type:3,value:"SOFT"},G.ADVISORY={type:3,value:"ADVISORY"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=G;class k{}k.DEMOLISHING={type:3,value:"DEMOLISHING"},k.EARTHMOVING={type:3,value:"EARTHMOVING"},k.ERECTING={type:3,value:"ERECTING"},k.HEATING={type:3,value:"HEATING"},k.LIGHTING={type:3,value:"LIGHTING"},k.PAVING={type:3,value:"PAVING"},k.PUMPING={type:3,value:"PUMPING"},k.TRANSPORTING={type:3,value:"TRANSPORTING"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=k;class V{}V.AGGREGATES={type:3,value:"AGGREGATES"},V.CONCRETE={type:3,value:"CONCRETE"},V.DRYWALL={type:3,value:"DRYWALL"},V.FUEL={type:3,value:"FUEL"},V.GYPSUM={type:3,value:"GYPSUM"},V.MASONRY={type:3,value:"MASONRY"},V.METAL={type:3,value:"METAL"},V.PLASTIC={type:3,value:"PLASTIC"},V.WOOD={type:3,value:"WOOD"},V.NOTDEFINED={type:3,value:"NOTDEFINED"},V.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=V;class Q{}Q.ASSEMBLY={type:3,value:"ASSEMBLY"},Q.FORMWORK={type:3,value:"FORMWORK"},Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=Q;class j{}j.FLOATING={type:3,value:"FLOATING"},j.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},j.PROPORTIONAL={type:3,value:"PROPORTIONAL"},j.MULTIPOSITION={type:3,value:"MULTIPOSITION"},j.TWOPOSITION={type:3,value:"TWOPOSITION"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=j;class W{}W.ACTIVE={type:3,value:"ACTIVE"},W.PASSIVE={type:3,value:"PASSIVE"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=W;class z{}z.NATURALDRAFT={type:3,value:"NATURALDRAFT"},z.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},z.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=z;class K{}K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=K;class Y{}Y.BUDGET={type:3,value:"BUDGET"},Y.COSTPLAN={type:3,value:"COSTPLAN"},Y.ESTIMATE={type:3,value:"ESTIMATE"},Y.TENDER={type:3,value:"TENDER"},Y.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Y.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Y.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Y;class X{}X.CEILING={type:3,value:"CEILING"},X.FLOORING={type:3,value:"FLOORING"},X.CLADDING={type:3,value:"CLADDING"},X.ROOFING={type:3,value:"ROOFING"},X.MOLDING={type:3,value:"MOLDING"},X.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},X.INSULATION={type:3,value:"INSULATION"},X.MEMBRANE={type:3,value:"MEMBRANE"},X.SLEEVING={type:3,value:"SLEEVING"},X.WRAPPING={type:3,value:"WRAPPING"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=X;class Z{}Z.OFFICE={type:3,value:"OFFICE"},Z.SITE={type:3,value:"SITE"},Z.USERDEFINED={type:3,value:"USERDEFINED"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=Z;class q{}q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=q;class J{}J.LINEAR={type:3,value:"LINEAR"},J.LOG_LINEAR={type:3,value:"LOG_LINEAR"},J.LOG_LOG={type:3,value:"LOG_LOG"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=J;class ${}$.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},$.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},$.BLASTDAMPER={type:3,value:"BLASTDAMPER"},$.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},$.FIREDAMPER={type:3,value:"FIREDAMPER"},$.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},$.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},$.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},$.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},$.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},$.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=$;class ee{}ee.MEASURED={type:3,value:"MEASURED"},ee.PREDICTED={type:3,value:"PREDICTED"},ee.SIMULATED={type:3,value:"SIMULATED"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=ee;class te{}te.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},te.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},te.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},te.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},te.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},te.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},te.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},te.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},te.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},te.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},te.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},te.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},te.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},te.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},te.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},te.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},te.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},te.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},te.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},te.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},te.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},te.TORQUEUNIT={type:3,value:"TORQUEUNIT"},te.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},te.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},te.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},te.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},te.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},te.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},te.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},te.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},te.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},te.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},te.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},te.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},te.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},te.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},te.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},te.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},te.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},te.PHUNIT={type:3,value:"PHUNIT"},te.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},te.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},te.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},te.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},te.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},te.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},te.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},te.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},te.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},te.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},te.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},te.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},te.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=te;class se{}se.POSITIVE={type:3,value:"POSITIVE"},se.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=se;class ie{}ie.ANCHORPLATE={type:3,value:"ANCHORPLATE"},ie.BRACKET={type:3,value:"BRACKET"},ie.SHOE={type:3,value:"SHOE"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=ie;class re{}re.FORMEDDUCT={type:3,value:"FORMEDDUCT"},re.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},re.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},re.MANHOLE={type:3,value:"MANHOLE"},re.METERCHAMBER={type:3,value:"METERCHAMBER"},re.SUMP={type:3,value:"SUMP"},re.TRENCH={type:3,value:"TRENCH"},re.VALVECHAMBER={type:3,value:"VALVECHAMBER"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=re;class oe{}oe.CABLE={type:3,value:"CABLE"},oe.CABLECARRIER={type:3,value:"CABLECARRIER"},oe.DUCT={type:3,value:"DUCT"},oe.PIPE={type:3,value:"PIPE"},oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=oe;class ne{}ne.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},ne.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},ne.CHEMICAL={type:3,value:"CHEMICAL"},ne.CHILLEDWATER={type:3,value:"CHILLEDWATER"},ne.COMMUNICATION={type:3,value:"COMMUNICATION"},ne.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},ne.CONDENSERWATER={type:3,value:"CONDENSERWATER"},ne.CONTROL={type:3,value:"CONTROL"},ne.CONVEYING={type:3,value:"CONVEYING"},ne.DATA={type:3,value:"DATA"},ne.DISPOSAL={type:3,value:"DISPOSAL"},ne.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},ne.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},ne.DRAINAGE={type:3,value:"DRAINAGE"},ne.EARTHING={type:3,value:"EARTHING"},ne.ELECTRICAL={type:3,value:"ELECTRICAL"},ne.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},ne.EXHAUST={type:3,value:"EXHAUST"},ne.FIREPROTECTION={type:3,value:"FIREPROTECTION"},ne.FUEL={type:3,value:"FUEL"},ne.GAS={type:3,value:"GAS"},ne.HAZARDOUS={type:3,value:"HAZARDOUS"},ne.HEATING={type:3,value:"HEATING"},ne.LIGHTING={type:3,value:"LIGHTING"},ne.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},ne.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},ne.OIL={type:3,value:"OIL"},ne.OPERATIONAL={type:3,value:"OPERATIONAL"},ne.POWERGENERATION={type:3,value:"POWERGENERATION"},ne.RAINWATER={type:3,value:"RAINWATER"},ne.REFRIGERATION={type:3,value:"REFRIGERATION"},ne.SECURITY={type:3,value:"SECURITY"},ne.SEWAGE={type:3,value:"SEWAGE"},ne.SIGNAL={type:3,value:"SIGNAL"},ne.STORMWATER={type:3,value:"STORMWATER"},ne.TELEPHONE={type:3,value:"TELEPHONE"},ne.TV={type:3,value:"TV"},ne.VACUUM={type:3,value:"VACUUM"},ne.VENT={type:3,value:"VENT"},ne.VENTILATION={type:3,value:"VENTILATION"},ne.WASTEWATER={type:3,value:"WASTEWATER"},ne.WATERSUPPLY={type:3,value:"WATERSUPPLY"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=ne;class ae{}ae.PUBLIC={type:3,value:"PUBLIC"},ae.RESTRICTED={type:3,value:"RESTRICTED"},ae.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},ae.PERSONAL={type:3,value:"PERSONAL"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=ae;class le{}le.DRAFT={type:3,value:"DRAFT"},le.FINALDRAFT={type:3,value:"FINALDRAFT"},le.FINAL={type:3,value:"FINAL"},le.REVISION={type:3,value:"REVISION"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=le;class he{}he.SWINGING={type:3,value:"SWINGING"},he.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},he.SLIDING={type:3,value:"SLIDING"},he.FOLDING={type:3,value:"FOLDING"},he.REVOLVING={type:3,value:"REVOLVING"},he.ROLLINGUP={type:3,value:"ROLLINGUP"},he.FIXEDPANEL={type:3,value:"FIXEDPANEL"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=he;class ce{}ce.LEFT={type:3,value:"LEFT"},ce.MIDDLE={type:3,value:"MIDDLE"},ce.RIGHT={type:3,value:"RIGHT"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=ce;class ue{}ue.ALUMINIUM={type:3,value:"ALUMINIUM"},ue.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ue.STEEL={type:3,value:"STEEL"},ue.WOOD={type:3,value:"WOOD"},ue.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ue.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},ue.PLASTIC={type:3,value:"PLASTIC"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=ue;class Ae{}Ae.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ae.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ae.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ae.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ae.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ae.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ae.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ae.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ae.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ae.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ae.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ae.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ae.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ae.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ae.REVOLVING={type:3,value:"REVOLVING"},Ae.ROLLINGUP={type:3,value:"ROLLINGUP"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Ae;class pe{}pe.DOOR={type:3,value:"DOOR"},pe.GATE={type:3,value:"GATE"},pe.TRAPDOOR={type:3,value:"TRAPDOOR"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=pe;class de{}de.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},de.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},de.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},de.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},de.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},de.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},de.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},de.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},de.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},de.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},de.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},de.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},de.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},de.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},de.REVOLVING={type:3,value:"REVOLVING"},de.ROLLINGUP={type:3,value:"ROLLINGUP"},de.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},de.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=de;class fe{}fe.BEND={type:3,value:"BEND"},fe.CONNECTOR={type:3,value:"CONNECTOR"},fe.ENTRY={type:3,value:"ENTRY"},fe.EXIT={type:3,value:"EXIT"},fe.JUNCTION={type:3,value:"JUNCTION"},fe.OBSTRUCTION={type:3,value:"OBSTRUCTION"},fe.TRANSITION={type:3,value:"TRANSITION"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=fe;class me{}me.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},me.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=me;class Ee{}Ee.FLATOVAL={type:3,value:"FLATOVAL"},Ee.RECTANGULAR={type:3,value:"RECTANGULAR"},Ee.ROUND={type:3,value:"ROUND"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Ee;class ye{}ye.DISHWASHER={type:3,value:"DISHWASHER"},ye.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},ye.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},ye.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},ye.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},ye.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},ye.FREEZER={type:3,value:"FREEZER"},ye.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},ye.HANDDRYER={type:3,value:"HANDDRYER"},ye.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},ye.MICROWAVE={type:3,value:"MICROWAVE"},ye.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},ye.REFRIGERATOR={type:3,value:"REFRIGERATOR"},ye.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},ye.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},ye.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=ye;class ge{}ge.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},ge.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},ge.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},ge.SWITCHBOARD={type:3,value:"SWITCHBOARD"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=ge;class ve{}ve.BATTERY={type:3,value:"BATTERY"},ve.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ve.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ve.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ve.UPS={type:3,value:"UPS"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=ve;class Ie{}Ie.CHP={type:3,value:"CHP"},Ie.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Ie.STANDALONE={type:3,value:"STANDALONE"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Ie;class Te{}Te.DC={type:3,value:"DC"},Te.INDUCTION={type:3,value:"INDUCTION"},Te.POLYPHASE={type:3,value:"POLYPHASE"},Te.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Te.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Te;class _e{}_e.TIMECLOCK={type:3,value:"TIMECLOCK"},_e.TIMEDELAY={type:3,value:"TIMEDELAY"},_e.RELAY={type:3,value:"RELAY"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=_e;class Re{}Re.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Re.ARCH={type:3,value:"ARCH"},Re.BEAM_GRID={type:3,value:"BEAM_GRID"},Re.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Re.GIRDER={type:3,value:"GIRDER"},Re.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Re.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Re.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Re.TRUSS={type:3,value:"TRUSS"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Re;class Pe{}Pe.COMPLEX={type:3,value:"COMPLEX"},Pe.ELEMENT={type:3,value:"ELEMENT"},Pe.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Pe;class De{}De.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},De.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=De;class Ne{}Ne.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Ne.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Ne.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Ne.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Ne.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Ne.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Ne.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Ne.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Ne.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Ne;class Ce{}Ce.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ce.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ce.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ce.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ce.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ce.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Ce;class be{}be.EVENTRULE={type:3,value:"EVENTRULE"},be.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},be.EVENTTIME={type:3,value:"EVENTTIME"},be.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=be;class Oe{}Oe.STARTEVENT={type:3,value:"STARTEVENT"},Oe.ENDEVENT={type:3,value:"ENDEVENT"},Oe.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=Oe;class Se{}Se.EXTERNAL={type:3,value:"EXTERNAL"},Se.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Se.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Se.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=Se;class xe{}xe.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},xe.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},xe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},xe.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},xe.TUBEAXIAL={type:3,value:"TUBEAXIAL"},xe.VANEAXIAL={type:3,value:"VANEAXIAL"},xe.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=xe;class we{}we.GLUE={type:3,value:"GLUE"},we.MORTAR={type:3,value:"MORTAR"},we.WELD={type:3,value:"WELD"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=we;class Be{}Be.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Be.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Be.ODORFILTER={type:3,value:"ODORFILTER"},Be.OILFILTER={type:3,value:"OILFILTER"},Be.STRAINER={type:3,value:"STRAINER"},Be.WATERFILTER={type:3,value:"WATERFILTER"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Be;class Fe{}Fe.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Fe.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Fe.HOSEREEL={type:3,value:"HOSEREEL"},Fe.SPRINKLER={type:3,value:"SPRINKLER"},Fe.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=Fe;class Me{}Me.SOURCE={type:3,value:"SOURCE"},Me.SINK={type:3,value:"SINK"},Me.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Me;class Le{}Le.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Le.THERMOMETER={type:3,value:"THERMOMETER"},Le.AMMETER={type:3,value:"AMMETER"},Le.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Le.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Le.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Le.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Le.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=Le;class Ue{}Ue.ENERGYMETER={type:3,value:"ENERGYMETER"},Ue.GASMETER={type:3,value:"GASMETER"},Ue.OILMETER={type:3,value:"OILMETER"},Ue.WATERMETER={type:3,value:"WATERMETER"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Ue;class He{}He.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},He.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},He.PAD_FOOTING={type:3,value:"PAD_FOOTING"},He.PILE_CAP={type:3,value:"PILE_CAP"},He.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=He;class Ge{}Ge.CHAIR={type:3,value:"CHAIR"},Ge.TABLE={type:3,value:"TABLE"},Ge.DESK={type:3,value:"DESK"},Ge.BED={type:3,value:"BED"},Ge.FILECABINET={type:3,value:"FILECABINET"},Ge.SHELF={type:3,value:"SHELF"},Ge.SOFA={type:3,value:"SOFA"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Ge;class ke{}ke.TERRAIN={type:3,value:"TERRAIN"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=ke;class Ve{}Ve.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ve.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ve.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ve.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ve.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ve.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ve.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ve.USERDEFINED={type:3,value:"USERDEFINED"},Ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Ve;class Qe{}Qe.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Qe.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Qe;class je{}je.RECTANGULAR={type:3,value:"RECTANGULAR"},je.RADIAL={type:3,value:"RADIAL"},je.TRIANGULAR={type:3,value:"TRIANGULAR"},je.IRREGULAR={type:3,value:"IRREGULAR"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=je;class We{}We.PLATE={type:3,value:"PLATE"},We.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=We;class ze{}ze.STEAMINJECTION={type:3,value:"STEAMINJECTION"},ze.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},ze.ADIABATICPAN={type:3,value:"ADIABATICPAN"},ze.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},ze.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},ze.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},ze.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},ze.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},ze.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},ze.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},ze.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},ze.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},ze.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=ze;class Ke{}Ke.CYCLONIC={type:3,value:"CYCLONIC"},Ke.GREASE={type:3,value:"GREASE"},Ke.OIL={type:3,value:"OIL"},Ke.PETROL={type:3,value:"PETROL"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Ke;class Ye{}Ye.INTERNAL={type:3,value:"INTERNAL"},Ye.EXTERNAL={type:3,value:"EXTERNAL"},Ye.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ye.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ye.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Ye;class Xe{}Xe.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Xe.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Xe.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Xe;class Ze{}Ze.DATA={type:3,value:"DATA"},Ze.POWER={type:3,value:"POWER"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Ze;class qe{}qe.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},qe.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},qe.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},qe.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=qe;class Je{}Je.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Je.CARPENTRY={type:3,value:"CARPENTRY"},Je.CLEANING={type:3,value:"CLEANING"},Je.CONCRETE={type:3,value:"CONCRETE"},Je.DRYWALL={type:3,value:"DRYWALL"},Je.ELECTRIC={type:3,value:"ELECTRIC"},Je.FINISHING={type:3,value:"FINISHING"},Je.FLOORING={type:3,value:"FLOORING"},Je.GENERAL={type:3,value:"GENERAL"},Je.HVAC={type:3,value:"HVAC"},Je.LANDSCAPING={type:3,value:"LANDSCAPING"},Je.MASONRY={type:3,value:"MASONRY"},Je.PAINTING={type:3,value:"PAINTING"},Je.PAVING={type:3,value:"PAVING"},Je.PLUMBING={type:3,value:"PLUMBING"},Je.ROOFING={type:3,value:"ROOFING"},Je.SITEGRADING={type:3,value:"SITEGRADING"},Je.STEELWORK={type:3,value:"STEELWORK"},Je.SURVEYING={type:3,value:"SURVEYING"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Je;class $e{}$e.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},$e.FLUORESCENT={type:3,value:"FLUORESCENT"},$e.HALOGEN={type:3,value:"HALOGEN"},$e.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},$e.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},$e.LED={type:3,value:"LED"},$e.METALHALIDE={type:3,value:"METALHALIDE"},$e.OLED={type:3,value:"OLED"},$e.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=$e;class et{}et.AXIS1={type:3,value:"AXIS1"},et.AXIS2={type:3,value:"AXIS2"},et.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=et;class tt{}tt.TYPE_A={type:3,value:"TYPE_A"},tt.TYPE_B={type:3,value:"TYPE_B"},tt.TYPE_C={type:3,value:"TYPE_C"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=tt;class st{}st.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},st.FLUORESCENT={type:3,value:"FLUORESCENT"},st.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},st.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},st.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},st.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},st.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},st.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},st.METALHALIDE={type:3,value:"METALHALIDE"},st.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=st;class it{}it.POINTSOURCE={type:3,value:"POINTSOURCE"},it.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},it.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=it;class rt{}rt.LOAD_GROUP={type:3,value:"LOAD_GROUP"},rt.LOAD_CASE={type:3,value:"LOAD_CASE"},rt.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=rt;class ot{}ot.LOGICALAND={type:3,value:"LOGICALAND"},ot.LOGICALOR={type:3,value:"LOGICALOR"},ot.LOGICALXOR={type:3,value:"LOGICALXOR"},ot.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},ot.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=ot;class nt{}nt.ANCHORBOLT={type:3,value:"ANCHORBOLT"},nt.BOLT={type:3,value:"BOLT"},nt.DOWEL={type:3,value:"DOWEL"},nt.NAIL={type:3,value:"NAIL"},nt.NAILPLATE={type:3,value:"NAILPLATE"},nt.RIVET={type:3,value:"RIVET"},nt.SCREW={type:3,value:"SCREW"},nt.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},nt.STAPLE={type:3,value:"STAPLE"},nt.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=nt;class at{}at.AIRSTATION={type:3,value:"AIRSTATION"},at.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},at.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},at.OXYGENPLANT={type:3,value:"OXYGENPLANT"},at.VACUUMSTATION={type:3,value:"VACUUMSTATION"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=at;class lt{}lt.BRACE={type:3,value:"BRACE"},lt.CHORD={type:3,value:"CHORD"},lt.COLLAR={type:3,value:"COLLAR"},lt.MEMBER={type:3,value:"MEMBER"},lt.MULLION={type:3,value:"MULLION"},lt.PLATE={type:3,value:"PLATE"},lt.POST={type:3,value:"POST"},lt.PURLIN={type:3,value:"PURLIN"},lt.RAFTER={type:3,value:"RAFTER"},lt.STRINGER={type:3,value:"STRINGER"},lt.STRUT={type:3,value:"STRUT"},lt.STUD={type:3,value:"STUD"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=lt;class ht{}ht.BELTDRIVE={type:3,value:"BELTDRIVE"},ht.COUPLING={type:3,value:"COUPLING"},ht.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=ht;class ct{}ct.NULL={type:3,value:"NULL"},e.IfcNullStyle=ct;class ut{}ut.PRODUCT={type:3,value:"PRODUCT"},ut.PROCESS={type:3,value:"PROCESS"},ut.CONTROL={type:3,value:"CONTROL"},ut.RESOURCE={type:3,value:"RESOURCE"},ut.ACTOR={type:3,value:"ACTOR"},ut.GROUP={type:3,value:"GROUP"},ut.PROJECT={type:3,value:"PROJECT"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=ut;class At{}At.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},At.CODEWAIVER={type:3,value:"CODEWAIVER"},At.DESIGNINTENT={type:3,value:"DESIGNINTENT"},At.EXTERNAL={type:3,value:"EXTERNAL"},At.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},At.MERGECONFLICT={type:3,value:"MERGECONFLICT"},At.MODELVIEW={type:3,value:"MODELVIEW"},At.PARAMETER={type:3,value:"PARAMETER"},At.REQUIREMENT={type:3,value:"REQUIREMENT"},At.SPECIFICATION={type:3,value:"SPECIFICATION"},At.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=At;class pt{}pt.ASSIGNEE={type:3,value:"ASSIGNEE"},pt.ASSIGNOR={type:3,value:"ASSIGNOR"},pt.LESSEE={type:3,value:"LESSEE"},pt.LESSOR={type:3,value:"LESSOR"},pt.LETTINGAGENT={type:3,value:"LETTINGAGENT"},pt.OWNER={type:3,value:"OWNER"},pt.TENANT={type:3,value:"TENANT"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=pt;class dt{}dt.OPENING={type:3,value:"OPENING"},dt.RECESS={type:3,value:"RECESS"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=dt;class ft{}ft.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},ft.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},ft.POWEROUTLET={type:3,value:"POWEROUTLET"},ft.DATAOUTLET={type:3,value:"DATAOUTLET"},ft.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=ft;class mt{}mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=mt;class Et{}Et.GRILL={type:3,value:"GRILL"},Et.LOUVER={type:3,value:"LOUVER"},Et.SCREEN={type:3,value:"SCREEN"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Et;class yt{}yt.ACCESS={type:3,value:"ACCESS"},yt.BUILDING={type:3,value:"BUILDING"},yt.WORK={type:3,value:"WORK"},yt.USERDEFINED={type:3,value:"USERDEFINED"},yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=yt;class gt{}gt.PHYSICAL={type:3,value:"PHYSICAL"},gt.VIRTUAL={type:3,value:"VIRTUAL"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=gt;class vt{}vt.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},vt.COMPOSITE={type:3,value:"COMPOSITE"},vt.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},vt.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=vt;class It{}It.BORED={type:3,value:"BORED"},It.DRIVEN={type:3,value:"DRIVEN"},It.JETGROUTING={type:3,value:"JETGROUTING"},It.COHESION={type:3,value:"COHESION"},It.FRICTION={type:3,value:"FRICTION"},It.SUPPORT={type:3,value:"SUPPORT"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=It;class Tt{}Tt.BEND={type:3,value:"BEND"},Tt.CONNECTOR={type:3,value:"CONNECTOR"},Tt.ENTRY={type:3,value:"ENTRY"},Tt.EXIT={type:3,value:"EXIT"},Tt.JUNCTION={type:3,value:"JUNCTION"},Tt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Tt.TRANSITION={type:3,value:"TRANSITION"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Tt;class _t{}_t.CULVERT={type:3,value:"CULVERT"},_t.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},_t.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},_t.GUTTER={type:3,value:"GUTTER"},_t.SPOOL={type:3,value:"SPOOL"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=_t;class Rt{}Rt.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Rt.SHEET={type:3,value:"SHEET"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Rt;class Pt{}Pt.CURVE3D={type:3,value:"CURVE3D"},Pt.PCURVE_S1={type:3,value:"PCURVE_S1"},Pt.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Pt;class Dt{}Dt.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Dt.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Dt.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Dt.CALIBRATION={type:3,value:"CALIBRATION"},Dt.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Dt.SHUTDOWN={type:3,value:"SHUTDOWN"},Dt.STARTUP={type:3,value:"STARTUP"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Dt;class Nt{}Nt.CURVE={type:3,value:"CURVE"},Nt.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=Nt;class Ct{}Ct.CHANGEORDER={type:3,value:"CHANGEORDER"},Ct.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ct.MOVEORDER={type:3,value:"MOVEORDER"},Ct.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ct.WORKORDER={type:3,value:"WORKORDER"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ct;class bt{}bt.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},bt.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=bt;class Ot{}Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=Ot;class St{}St.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},St.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},St.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},St.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},St.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},St.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},St.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=St;class xt{}xt.ELECTRONIC={type:3,value:"ELECTRONIC"},xt.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},xt.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},xt.THERMAL={type:3,value:"THERMAL"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=xt;class wt{}wt.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},wt.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},wt.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},wt.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},wt.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},wt.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},wt.VARISTOR={type:3,value:"VARISTOR"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=wt;class Bt{}Bt.CIRCULATOR={type:3,value:"CIRCULATOR"},Bt.ENDSUCTION={type:3,value:"ENDSUCTION"},Bt.SPLITCASE={type:3,value:"SPLITCASE"},Bt.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Bt.SUMPPUMP={type:3,value:"SUMPPUMP"},Bt.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Bt.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=Bt;class Ft{}Ft.HANDRAIL={type:3,value:"HANDRAIL"},Ft.GUARDRAIL={type:3,value:"GUARDRAIL"},Ft.BALUSTRADE={type:3,value:"BALUSTRADE"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Ft;class Mt{}Mt.STRAIGHT={type:3,value:"STRAIGHT"},Mt.SPIRAL={type:3,value:"SPIRAL"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Mt;class Lt{}Lt.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Lt.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Lt.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Lt.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Lt.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Lt.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Lt;class Ut{}Ut.DAILY={type:3,value:"DAILY"},Ut.WEEKLY={type:3,value:"WEEKLY"},Ut.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Ut.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Ut.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Ut.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Ut.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Ut.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Ut;class Ht{}Ht.BLINN={type:3,value:"BLINN"},Ht.FLAT={type:3,value:"FLAT"},Ht.GLASS={type:3,value:"GLASS"},Ht.MATT={type:3,value:"MATT"},Ht.METAL={type:3,value:"METAL"},Ht.MIRROR={type:3,value:"MIRROR"},Ht.PHONG={type:3,value:"PHONG"},Ht.PLASTIC={type:3,value:"PLASTIC"},Ht.STRAUSS={type:3,value:"STRAUSS"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=Ht;class Gt{}Gt.MAIN={type:3,value:"MAIN"},Gt.SHEAR={type:3,value:"SHEAR"},Gt.LIGATURE={type:3,value:"LIGATURE"},Gt.STUD={type:3,value:"STUD"},Gt.PUNCHING={type:3,value:"PUNCHING"},Gt.EDGE={type:3,value:"EDGE"},Gt.RING={type:3,value:"RING"},Gt.ANCHORING={type:3,value:"ANCHORING"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Gt;class kt{}kt.PLAIN={type:3,value:"PLAIN"},kt.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=kt;class Vt{}Vt.ANCHORING={type:3,value:"ANCHORING"},Vt.EDGE={type:3,value:"EDGE"},Vt.LIGATURE={type:3,value:"LIGATURE"},Vt.MAIN={type:3,value:"MAIN"},Vt.PUNCHING={type:3,value:"PUNCHING"},Vt.RING={type:3,value:"RING"},Vt.SHEAR={type:3,value:"SHEAR"},Vt.STUD={type:3,value:"STUD"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=Vt;class Qt{}Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Qt;class jt{}jt.SUPPLIER={type:3,value:"SUPPLIER"},jt.MANUFACTURER={type:3,value:"MANUFACTURER"},jt.CONTRACTOR={type:3,value:"CONTRACTOR"},jt.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},jt.ARCHITECT={type:3,value:"ARCHITECT"},jt.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},jt.COSTENGINEER={type:3,value:"COSTENGINEER"},jt.CLIENT={type:3,value:"CLIENT"},jt.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},jt.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},jt.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},jt.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},jt.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},jt.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},jt.CIVILENGINEER={type:3,value:"CIVILENGINEER"},jt.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},jt.ENGINEER={type:3,value:"ENGINEER"},jt.OWNER={type:3,value:"OWNER"},jt.CONSULTANT={type:3,value:"CONSULTANT"},jt.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},jt.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},jt.RESELLER={type:3,value:"RESELLER"},jt.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=jt;class Wt{}Wt.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Wt.SHED_ROOF={type:3,value:"SHED_ROOF"},Wt.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Wt.HIP_ROOF={type:3,value:"HIP_ROOF"},Wt.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Wt.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Wt.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Wt.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Wt.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Wt.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Wt.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Wt.DOME_ROOF={type:3,value:"DOME_ROOF"},Wt.FREEFORM={type:3,value:"FREEFORM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Wt;class zt{}zt.EXA={type:3,value:"EXA"},zt.PETA={type:3,value:"PETA"},zt.TERA={type:3,value:"TERA"},zt.GIGA={type:3,value:"GIGA"},zt.MEGA={type:3,value:"MEGA"},zt.KILO={type:3,value:"KILO"},zt.HECTO={type:3,value:"HECTO"},zt.DECA={type:3,value:"DECA"},zt.DECI={type:3,value:"DECI"},zt.CENTI={type:3,value:"CENTI"},zt.MILLI={type:3,value:"MILLI"},zt.MICRO={type:3,value:"MICRO"},zt.NANO={type:3,value:"NANO"},zt.PICO={type:3,value:"PICO"},zt.FEMTO={type:3,value:"FEMTO"},zt.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=zt;class Kt{}Kt.AMPERE={type:3,value:"AMPERE"},Kt.BECQUEREL={type:3,value:"BECQUEREL"},Kt.CANDELA={type:3,value:"CANDELA"},Kt.COULOMB={type:3,value:"COULOMB"},Kt.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Kt.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Kt.FARAD={type:3,value:"FARAD"},Kt.GRAM={type:3,value:"GRAM"},Kt.GRAY={type:3,value:"GRAY"},Kt.HENRY={type:3,value:"HENRY"},Kt.HERTZ={type:3,value:"HERTZ"},Kt.JOULE={type:3,value:"JOULE"},Kt.KELVIN={type:3,value:"KELVIN"},Kt.LUMEN={type:3,value:"LUMEN"},Kt.LUX={type:3,value:"LUX"},Kt.METRE={type:3,value:"METRE"},Kt.MOLE={type:3,value:"MOLE"},Kt.NEWTON={type:3,value:"NEWTON"},Kt.OHM={type:3,value:"OHM"},Kt.PASCAL={type:3,value:"PASCAL"},Kt.RADIAN={type:3,value:"RADIAN"},Kt.SECOND={type:3,value:"SECOND"},Kt.SIEMENS={type:3,value:"SIEMENS"},Kt.SIEVERT={type:3,value:"SIEVERT"},Kt.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Kt.STERADIAN={type:3,value:"STERADIAN"},Kt.TESLA={type:3,value:"TESLA"},Kt.VOLT={type:3,value:"VOLT"},Kt.WATT={type:3,value:"WATT"},Kt.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Kt;class Yt{}Yt.BATH={type:3,value:"BATH"},Yt.BIDET={type:3,value:"BIDET"},Yt.CISTERN={type:3,value:"CISTERN"},Yt.SHOWER={type:3,value:"SHOWER"},Yt.SINK={type:3,value:"SINK"},Yt.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Yt.TOILETPAN={type:3,value:"TOILETPAN"},Yt.URINAL={type:3,value:"URINAL"},Yt.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Yt.WCSEAT={type:3,value:"WCSEAT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=Yt;class Xt{}Xt.UNIFORM={type:3,value:"UNIFORM"},Xt.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Xt;class Zt{}Zt.COSENSOR={type:3,value:"COSENSOR"},Zt.CO2SENSOR={type:3,value:"CO2SENSOR"},Zt.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Zt.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Zt.FIRESENSOR={type:3,value:"FIRESENSOR"},Zt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Zt.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Zt.GASSENSOR={type:3,value:"GASSENSOR"},Zt.HEATSENSOR={type:3,value:"HEATSENSOR"},Zt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Zt.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Zt.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Zt.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Zt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Zt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Zt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Zt.PHSENSOR={type:3,value:"PHSENSOR"},Zt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Zt.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Zt.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Zt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Zt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Zt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Zt.WINDSENSOR={type:3,value:"WINDSENSOR"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Zt;class qt{}qt.START_START={type:3,value:"START_START"},qt.START_FINISH={type:3,value:"START_FINISH"},qt.FINISH_START={type:3,value:"FINISH_START"},qt.FINISH_FINISH={type:3,value:"FINISH_FINISH"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=qt;class Jt{}Jt.JALOUSIE={type:3,value:"JALOUSIE"},Jt.SHUTTER={type:3,value:"SHUTTER"},Jt.AWNING={type:3,value:"AWNING"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=Jt;class $t{}$t.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},$t.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},$t.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},$t.P_LISTVALUE={type:3,value:"P_LISTVALUE"},$t.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},$t.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},$t.Q_LENGTH={type:3,value:"Q_LENGTH"},$t.Q_AREA={type:3,value:"Q_AREA"},$t.Q_VOLUME={type:3,value:"Q_VOLUME"},$t.Q_COUNT={type:3,value:"Q_COUNT"},$t.Q_WEIGHT={type:3,value:"Q_WEIGHT"},$t.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=$t;class es{}es.FLOOR={type:3,value:"FLOOR"},es.ROOF={type:3,value:"ROOF"},es.LANDING={type:3,value:"LANDING"},es.BASESLAB={type:3,value:"BASESLAB"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=es;class ts{}ts.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ts.SOLARPANEL={type:3,value:"SOLARPANEL"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=ts;class ss{}ss.CONVECTOR={type:3,value:"CONVECTOR"},ss.RADIATOR={type:3,value:"RADIATOR"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=ss;class is{}is.SPACE={type:3,value:"SPACE"},is.PARKING={type:3,value:"PARKING"},is.GFA={type:3,value:"GFA"},is.INTERNAL={type:3,value:"INTERNAL"},is.EXTERNAL={type:3,value:"EXTERNAL"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=is;class rs{}rs.CONSTRUCTION={type:3,value:"CONSTRUCTION"},rs.FIRESAFETY={type:3,value:"FIRESAFETY"},rs.LIGHTING={type:3,value:"LIGHTING"},rs.OCCUPANCY={type:3,value:"OCCUPANCY"},rs.SECURITY={type:3,value:"SECURITY"},rs.THERMAL={type:3,value:"THERMAL"},rs.TRANSPORT={type:3,value:"TRANSPORT"},rs.VENTILATION={type:3,value:"VENTILATION"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=rs;class os{}os.BIRDCAGE={type:3,value:"BIRDCAGE"},os.COWL={type:3,value:"COWL"},os.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=os;class ns{}ns.STRAIGHT={type:3,value:"STRAIGHT"},ns.WINDER={type:3,value:"WINDER"},ns.SPIRAL={type:3,value:"SPIRAL"},ns.CURVED={type:3,value:"CURVED"},ns.FREEFORM={type:3,value:"FREEFORM"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=ns;class as{}as.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},as.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},as.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},as.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},as.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},as.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},as.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},as.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},as.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},as.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},as.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},as.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},as.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},as.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=as;class ls{}ls.READWRITE={type:3,value:"READWRITE"},ls.READONLY={type:3,value:"READONLY"},ls.LOCKED={type:3,value:"LOCKED"},ls.READWRITELOCKED={type:3,value:"READWRITELOCKED"},ls.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=ls;class hs{}hs.CONST={type:3,value:"CONST"},hs.LINEAR={type:3,value:"LINEAR"},hs.POLYGONAL={type:3,value:"POLYGONAL"},hs.EQUIDISTANT={type:3,value:"EQUIDISTANT"},hs.SINUS={type:3,value:"SINUS"},hs.PARABOLA={type:3,value:"PARABOLA"},hs.DISCRETE={type:3,value:"DISCRETE"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=hs;class cs{}cs.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},cs.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},cs.CABLE={type:3,value:"CABLE"},cs.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},cs.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=cs;class us{}us.CONST={type:3,value:"CONST"},us.BILINEAR={type:3,value:"BILINEAR"},us.DISCRETE={type:3,value:"DISCRETE"},us.ISOCONTOUR={type:3,value:"ISOCONTOUR"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=us;class As{}As.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},As.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},As.SHELL={type:3,value:"SHELL"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=As;class ps{}ps.PURCHASE={type:3,value:"PURCHASE"},ps.WORK={type:3,value:"WORK"},ps.USERDEFINED={type:3,value:"USERDEFINED"},ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=ps;class ds{}ds.MARK={type:3,value:"MARK"},ds.TAG={type:3,value:"TAG"},ds.TREATMENT={type:3,value:"TREATMENT"},ds.USERDEFINED={type:3,value:"USERDEFINED"},ds.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=ds;class fs{}fs.POSITIVE={type:3,value:"POSITIVE"},fs.NEGATIVE={type:3,value:"NEGATIVE"},fs.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=fs;class ms{}ms.CONTACTOR={type:3,value:"CONTACTOR"},ms.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ms.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ms.KEYPAD={type:3,value:"KEYPAD"},ms.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ms.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ms.STARTER={type:3,value:"STARTER"},ms.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ms.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ms.USERDEFINED={type:3,value:"USERDEFINED"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ms;class Es{}Es.PANEL={type:3,value:"PANEL"},Es.WORKSURFACE={type:3,value:"WORKSURFACE"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Es;class ys{}ys.BASIN={type:3,value:"BASIN"},ys.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},ys.EXPANSION={type:3,value:"EXPANSION"},ys.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},ys.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},ys.STORAGE={type:3,value:"STORAGE"},ys.VESSEL={type:3,value:"VESSEL"},ys.USERDEFINED={type:3,value:"USERDEFINED"},ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=ys;class gs{}gs.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},gs.WORKTIME={type:3,value:"WORKTIME"},gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=gs;class vs{}vs.ATTENDANCE={type:3,value:"ATTENDANCE"},vs.CONSTRUCTION={type:3,value:"CONSTRUCTION"},vs.DEMOLITION={type:3,value:"DEMOLITION"},vs.DISMANTLE={type:3,value:"DISMANTLE"},vs.DISPOSAL={type:3,value:"DISPOSAL"},vs.INSTALLATION={type:3,value:"INSTALLATION"},vs.LOGISTIC={type:3,value:"LOGISTIC"},vs.MAINTENANCE={type:3,value:"MAINTENANCE"},vs.MOVE={type:3,value:"MOVE"},vs.OPERATION={type:3,value:"OPERATION"},vs.REMOVAL={type:3,value:"REMOVAL"},vs.RENOVATION={type:3,value:"RENOVATION"},vs.USERDEFINED={type:3,value:"USERDEFINED"},vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=vs;class Is{}Is.COUPLER={type:3,value:"COUPLER"},Is.FIXED_END={type:3,value:"FIXED_END"},Is.TENSIONING_END={type:3,value:"TENSIONING_END"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=Is;class Ts{}Ts.BAR={type:3,value:"BAR"},Ts.COATED={type:3,value:"COATED"},Ts.STRAND={type:3,value:"STRAND"},Ts.WIRE={type:3,value:"WIRE"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Ts;class _s{}_s.LEFT={type:3,value:"LEFT"},_s.RIGHT={type:3,value:"RIGHT"},_s.UP={type:3,value:"UP"},_s.DOWN={type:3,value:"DOWN"},e.IfcTextPath=_s;class Rs{}Rs.CONTINUOUS={type:3,value:"CONTINUOUS"},Rs.DISCRETE={type:3,value:"DISCRETE"},Rs.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Rs.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Rs.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Rs.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Rs;class Ps{}Ps.CURRENT={type:3,value:"CURRENT"},Ps.FREQUENCY={type:3,value:"FREQUENCY"},Ps.INVERTER={type:3,value:"INVERTER"},Ps.RECTIFIER={type:3,value:"RECTIFIER"},Ps.VOLTAGE={type:3,value:"VOLTAGE"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ps;class Ds{}Ds.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Ds.CONTINUOUS={type:3,value:"CONTINUOUS"},Ds.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Ds.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Ds;class Ns{}Ns.ELEVATOR={type:3,value:"ELEVATOR"},Ns.ESCALATOR={type:3,value:"ESCALATOR"},Ns.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Ns.CRANEWAY={type:3,value:"CRANEWAY"},Ns.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=Ns;class Cs{}Cs.CARTESIAN={type:3,value:"CARTESIAN"},Cs.PARAMETER={type:3,value:"PARAMETER"},Cs.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Cs;class bs{}bs.FINNED={type:3,value:"FINNED"},bs.USERDEFINED={type:3,value:"USERDEFINED"},bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=bs;class Os{}Os.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Os.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Os.AREAUNIT={type:3,value:"AREAUNIT"},Os.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Os.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Os.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Os.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Os.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Os.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Os.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Os.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Os.FORCEUNIT={type:3,value:"FORCEUNIT"},Os.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Os.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Os.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Os.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Os.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Os.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Os.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Os.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Os.MASSUNIT={type:3,value:"MASSUNIT"},Os.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Os.POWERUNIT={type:3,value:"POWERUNIT"},Os.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Os.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Os.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Os.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Os.TIMEUNIT={type:3,value:"TIMEUNIT"},Os.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Os.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Os;class Ss{}Ss.ALARMPANEL={type:3,value:"ALARMPANEL"},Ss.CONTROLPANEL={type:3,value:"CONTROLPANEL"},Ss.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},Ss.INDICATORPANEL={type:3,value:"INDICATORPANEL"},Ss.MIMICPANEL={type:3,value:"MIMICPANEL"},Ss.HUMIDISTAT={type:3,value:"HUMIDISTAT"},Ss.THERMOSTAT={type:3,value:"THERMOSTAT"},Ss.WEATHERSTATION={type:3,value:"WEATHERSTATION"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=Ss;class xs{}xs.AIRHANDLER={type:3,value:"AIRHANDLER"},xs.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},xs.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},xs.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},xs.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=xs;class ws{}ws.AIRRELEASE={type:3,value:"AIRRELEASE"},ws.ANTIVACUUM={type:3,value:"ANTIVACUUM"},ws.CHANGEOVER={type:3,value:"CHANGEOVER"},ws.CHECK={type:3,value:"CHECK"},ws.COMMISSIONING={type:3,value:"COMMISSIONING"},ws.DIVERTING={type:3,value:"DIVERTING"},ws.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},ws.DOUBLECHECK={type:3,value:"DOUBLECHECK"},ws.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},ws.FAUCET={type:3,value:"FAUCET"},ws.FLUSHING={type:3,value:"FLUSHING"},ws.GASCOCK={type:3,value:"GASCOCK"},ws.GASTAP={type:3,value:"GASTAP"},ws.ISOLATING={type:3,value:"ISOLATING"},ws.MIXING={type:3,value:"MIXING"},ws.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},ws.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},ws.REGULATING={type:3,value:"REGULATING"},ws.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},ws.STEAMTRAP={type:3,value:"STEAMTRAP"},ws.STOPCOCK={type:3,value:"STOPCOCK"},ws.USERDEFINED={type:3,value:"USERDEFINED"},ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=ws;class Bs{}Bs.COMPRESSION={type:3,value:"COMPRESSION"},Bs.SPRING={type:3,value:"SPRING"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=Bs;class Fs{}Fs.CUTOUT={type:3,value:"CUTOUT"},Fs.NOTCH={type:3,value:"NOTCH"},Fs.HOLE={type:3,value:"HOLE"},Fs.MITER={type:3,value:"MITER"},Fs.CHAMFER={type:3,value:"CHAMFER"},Fs.EDGE={type:3,value:"EDGE"},Fs.USERDEFINED={type:3,value:"USERDEFINED"},Fs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Fs;class Ms{}Ms.MOVABLE={type:3,value:"MOVABLE"},Ms.PARAPET={type:3,value:"PARAPET"},Ms.PARTITIONING={type:3,value:"PARTITIONING"},Ms.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Ms.SHEAR={type:3,value:"SHEAR"},Ms.SOLIDWALL={type:3,value:"SOLIDWALL"},Ms.STANDARD={type:3,value:"STANDARD"},Ms.POLYGONAL={type:3,value:"POLYGONAL"},Ms.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Ms;class Ls{}Ls.FLOORTRAP={type:3,value:"FLOORTRAP"},Ls.FLOORWASTE={type:3,value:"FLOORWASTE"},Ls.GULLYSUMP={type:3,value:"GULLYSUMP"},Ls.GULLYTRAP={type:3,value:"GULLYTRAP"},Ls.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ls.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ls.WASTETRAP={type:3,value:"WASTETRAP"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Ls;class Us{}Us.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Us.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Us.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Us.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Us.TOPHUNG={type:3,value:"TOPHUNG"},Us.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Us.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Us.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Us.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Us.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Us.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Us.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Us.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Us;class Hs{}Hs.LEFT={type:3,value:"LEFT"},Hs.MIDDLE={type:3,value:"MIDDLE"},Hs.RIGHT={type:3,value:"RIGHT"},Hs.BOTTOM={type:3,value:"BOTTOM"},Hs.TOP={type:3,value:"TOP"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Hs;class Gs{}Gs.ALUMINIUM={type:3,value:"ALUMINIUM"},Gs.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Gs.STEEL={type:3,value:"STEEL"},Gs.WOOD={type:3,value:"WOOD"},Gs.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Gs.PLASTIC={type:3,value:"PLASTIC"},Gs.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=Gs;class ks{}ks.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ks.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ks.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ks.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ks.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ks.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ks.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ks.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ks.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=ks;class Vs{}Vs.WINDOW={type:3,value:"WINDOW"},Vs.SKYLIGHT={type:3,value:"SKYLIGHT"},Vs.LIGHTDOME={type:3,value:"LIGHTDOME"},Vs.USERDEFINED={type:3,value:"USERDEFINED"},Vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=Vs;class Qs{}Qs.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Qs.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Qs.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Qs.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Qs.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Qs.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Qs.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Qs.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Qs.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=Qs;class js{}js.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},js.SECONDSHIFT={type:3,value:"SECONDSHIFT"},js.THIRDSHIFT={type:3,value:"THIRDSHIFT"},js.USERDEFINED={type:3,value:"USERDEFINED"},js.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=js;class Ws{}Ws.ACTUAL={type:3,value:"ACTUAL"},Ws.BASELINE={type:3,value:"BASELINE"},Ws.PLANNED={type:3,value:"PLANNED"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ws;class zs{}zs.ACTUAL={type:3,value:"ACTUAL"},zs.BASELINE={type:3,value:"BASELINE"},zs.PLANNED={type:3,value:"PLANNED"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=zs;e.IfcActorRole=class extends dy{constructor(e,t,s,i){super(e),this.Role=t,this.UserDefinedRole=s,this.Description=i,this.type=3630933823}};class Ks extends dy{constructor(e,t,s,i){super(e),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.type=618182010}}e.IfcAddress=Ks;e.IfcApplication=class extends dy{constructor(e,t,s,i,r){super(e),this.ApplicationDeveloper=t,this.Version=s,this.ApplicationFullName=i,this.ApplicationIdentifier=r,this.type=639542469}};class Ys extends dy{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}e.IfcAppliedValue=Ys;e.IfcApproval=class extends dy{constructor(e,t,s,i,r,o,n,a,l,h){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.TimeOfApproval=r,this.Status=o,this.Level=n,this.Qualifier=a,this.RequestingApproval=l,this.GivingApproval=h,this.type=130549933}};class Xs extends dy{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Xs;e.IfcBoundaryEdgeCondition=class extends Xs{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=s,this.TranslationalStiffnessByLengthY=i,this.TranslationalStiffnessByLengthZ=r,this.RotationalStiffnessByLengthX=o,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};e.IfcBoundaryFaceCondition=class extends Xs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=s,this.TranslationalStiffnessByAreaY=i,this.TranslationalStiffnessByAreaZ=r,this.type=3367102660}};class Zs extends Xs{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}e.IfcBoundaryNodeCondition=Zs;e.IfcBoundaryNodeConditionWarping=class extends Zs{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=l,this.type=2069777674}};class qs extends dy{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=qs;class Js extends qs{constructor(e,t,s){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.type=2614616156}}e.IfcConnectionPointGeometry=Js;e.IfcConnectionSurfaceGeometry=class extends qs{constructor(e,t,s){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=s,this.type=2732653382}};e.IfcConnectionVolumeGeometry=class extends qs{constructor(e,t,s){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=s,this.type=775493141}};class $s extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}e.IfcConstraint=$s;class ei extends dy{constructor(e,t,s){super(e),this.SourceCRS=t,this.TargetCRS=s,this.type=1785450214}}e.IfcCoordinateOperation=ei;class ti extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.type=1466758467}}e.IfcCoordinateReferenceSystem=ti;e.IfcCostValue=class extends Ys{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};e.IfcDerivedUnit=class extends dy{constructor(e,t,s,i){super(e),this.Elements=t,this.UnitType=s,this.UserDefinedType=i,this.type=1765591967}};e.IfcDerivedUnitElement=class extends dy{constructor(e,t,s){super(e),this.Unit=t,this.Exponent=s,this.type=1045800335}};e.IfcDimensionalExponents=class extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.LengthExponent=t,this.MassExponent=s,this.TimeExponent=i,this.ElectricCurrentExponent=r,this.ThermodynamicTemperatureExponent=o,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class si extends dy{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=si;class ii extends dy{constructor(e,t,s,i){super(e),this.Location=t,this.Identification=s,this.Name=i,this.type=3200245327}}e.IfcExternalReference=ii;e.IfcExternallyDefinedHatchStyle=class extends ii{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=2242383968}};e.IfcExternallyDefinedSurfaceStyle=class extends ii{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=1040185647}};e.IfcExternallyDefinedTextFont=class extends ii{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=3548104201}};e.IfcGridAxis=class extends dy{constructor(e,t,s,i){super(e),this.AxisTag=t,this.AxisCurve=s,this.SameSense=i,this.type=852622518}};e.IfcIrregularTimeSeriesValue=class extends dy{constructor(e,t,s){super(e),this.TimeStamp=t,this.ListValues=s,this.type=3020489413}};e.IfcLibraryInformation=class extends si{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Version=s,this.Publisher=i,this.VersionDate=r,this.Location=o,this.Description=n,this.type=2655187982}};e.IfcLibraryReference=class extends ii{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.Language=o,this.ReferencedLibrary=n,this.type=3452421091}};e.IfcLightDistributionData=class extends dy{constructor(e,t,s,i){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=s,this.LuminousIntensity=i,this.type=4162380809}};e.IfcLightIntensityDistribution=class extends dy{constructor(e,t,s){super(e),this.LightDistributionCurve=t,this.DistributionData=s,this.type=1566485204}};e.IfcMapConversion=class extends ei{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s),this.SourceCRS=t,this.TargetCRS=s,this.Eastings=i,this.Northings=r,this.OrthogonalHeight=o,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=l,this.type=3057273783}};e.IfcMaterialClassificationRelationship=class extends dy{constructor(e,t,s){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=s,this.type=1847130766}};class ri extends dy{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=ri;class oi extends ri{constructor(e,t,s,i,r,o,n,a){super(e),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.type=248100487}}e.IfcMaterialLayer=oi;e.IfcMaterialLayerSet=class extends ri{constructor(e,t,s,i){super(e),this.MaterialLayers=t,this.LayerSetName=s,this.Description=i,this.type=3303938423}};e.IfcMaterialLayerWithOffsets=class extends oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.OffsetDirection=l,this.OffsetValues=h,this.type=1847252529}};e.IfcMaterialList=class extends dy{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class ni extends ri{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.type=2235152071}}e.IfcMaterialProfile=ni;e.IfcMaterialProfileSet=class extends ri{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.MaterialProfiles=i,this.CompositeProfile=r,this.type=164193824}};e.IfcMaterialProfileWithOffsets=class extends ni{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.OffsetValues=a,this.type=552965576}};class ai extends dy{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=ai;e.IfcMeasureWithUnit=class extends dy{constructor(e,t,s){super(e),this.ValueComponent=t,this.UnitComponent=s,this.type=2597039031}};e.IfcMetric=class extends $s{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=l,this.ValueSource=h,this.DataValue=c,this.ReferencePath=u,this.type=3368373690}};e.IfcMonetaryUnit=class extends dy{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class li extends dy{constructor(e,t,s){super(e),this.Dimensions=t,this.UnitType=s,this.type=1918398963}}e.IfcNamedUnit=li;class hi extends dy{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=hi;e.IfcObjective=class extends $s{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=l,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=u,this.type=2251480897}};e.IfcOrganization=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Roles=r,this.Addresses=o,this.type=4251960020}};e.IfcOwnerHistory=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.OwningUser=t,this.OwningApplication=s,this.State=i,this.ChangeAction=r,this.LastModifiedDate=o,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=l,this.type=1207048766}};e.IfcPerson=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Identification=t,this.FamilyName=s,this.GivenName=i,this.MiddleNames=r,this.PrefixTitles=o,this.SuffixTitles=n,this.Roles=a,this.Addresses=l,this.type=2077209135}};e.IfcPersonAndOrganization=class extends dy{constructor(e,t,s,i){super(e),this.ThePerson=t,this.TheOrganization=s,this.Roles=i,this.type=101040310}};class ci extends dy{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2483315170}}e.IfcPhysicalQuantity=ci;class ui extends ci{constructor(e,t,s,i){super(e,t,s),this.Name=t,this.Description=s,this.Unit=i,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=ui;e.IfcPostalAddress=class extends Ks{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.InternalLocation=r,this.AddressLines=o,this.PostalBox=n,this.Town=a,this.Region=l,this.PostalCode=h,this.Country=c,this.type=3355820592}};class Ai extends dy{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=Ai;class pi extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.type=2022622350}}e.IfcPresentationLayerAssignment=pi;e.IfcPresentationLayerWithStyle=class extends pi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.LayerOn=o,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=l,this.type=1304840413}};class di extends dy{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=di;e.IfcPresentationStyleAssignment=class extends dy{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class fi extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Representations=i,this.type=2095639259}}e.IfcProductRepresentation=fi;class mi extends dy{constructor(e,t,s){super(e),this.ProfileType=t,this.ProfileName=s,this.type=3958567839}}e.IfcProfileDef=mi;e.IfcProjectedCRS=class extends ti{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.MapProjection=o,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class Ei extends dy{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=Ei;e.IfcPropertyEnumeration=class extends Ei{constructor(e,t,s,i){super(e),this.Name=t,this.EnumerationValues=s,this.Unit=i,this.type=3710013099}};e.IfcQuantityArea=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.AreaValue=r,this.Formula=o,this.type=2044713172}};e.IfcQuantityCount=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.CountValue=r,this.Formula=o,this.type=2093928680}};e.IfcQuantityLength=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.LengthValue=r,this.Formula=o,this.type=931644368}};e.IfcQuantityTime=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.TimeValue=r,this.Formula=o,this.type=3252649465}};e.IfcQuantityVolume=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.VolumeValue=r,this.Formula=o,this.type=2405470396}};e.IfcQuantityWeight=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.WeightValue=r,this.Formula=o,this.type=825690147}};e.IfcRecurrencePattern=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.RecurrenceType=t,this.DayComponent=s,this.WeekdayComponent=i,this.MonthComponent=r,this.Position=o,this.Interval=n,this.Occurrences=a,this.TimePeriods=l,this.type=3915482550}};e.IfcReference=class extends dy{constructor(e,t,s,i,r,o){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=s,this.InstanceName=i,this.ListPositions=r,this.InnerReference=o,this.type=2433181523}};class yi extends dy{constructor(e,t,s,i,r){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1076942058}}e.IfcRepresentation=yi;class gi extends dy{constructor(e,t,s){super(e),this.ContextIdentifier=t,this.ContextType=s,this.type=3377609919}}e.IfcRepresentationContext=gi;class vi extends dy{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=vi;e.IfcRepresentationMap=class extends dy{constructor(e,t,s){super(e),this.MappingOrigin=t,this.MappedRepresentation=s,this.type=1660063152}};class Ii extends dy{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2439245199}}e.IfcResourceLevelRelationship=Ii;class Ti extends dy{constructor(e,t,s,i,r){super(e),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2341007311}}e.IfcRoot=Ti;e.IfcSIUnit=class extends li{constructor(e,t,s,i){super(e,new py(0),t),this.UnitType=t,this.Prefix=s,this.Name=i,this.type=448429030}};class _i extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.type=1054537805}}e.IfcSchedulingTime=_i;e.IfcShapeAspect=class extends dy{constructor(e,t,s,i,r,o){super(e),this.ShapeRepresentations=t,this.Name=s,this.Description=i,this.ProductDefinitional=r,this.PartOfProductDefinitionShape=o,this.type=867548509}};class Ri extends yi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3982875396}}e.IfcShapeModel=Ri;e.IfcShapeRepresentation=class extends Ri{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=4240577450}};class Pi extends dy{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=Pi;class Di extends dy{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Di;e.IfcStructuralLoadConfiguration=class extends Di{constructor(e,t,s,i){super(e,t),this.Name=t,this.Values=s,this.Locations=i,this.type=3478079324}};class Ni extends Di{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=Ni;class Ci extends Ni{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=Ci;e.IfcStructuralLoadTemperature=class extends Ci{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.DeltaTConstant=s,this.DeltaTY=i,this.DeltaTZ=r,this.type=3408363356}};class bi extends yi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=2830218821}}e.IfcStyleModel=bi;e.IfcStyledItem=class extends vi{constructor(e,t,s,i){super(e),this.Item=t,this.Styles=s,this.Name=i,this.type=3958052878}};e.IfcStyledRepresentation=class extends bi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3049322572}};e.IfcSurfaceReinforcementArea=class extends Ni{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SurfaceReinforcement1=s,this.SurfaceReinforcement2=i,this.ShearReinforcement=r,this.type=2934153892}};e.IfcSurfaceStyle=class extends di{constructor(e,t,s,i){super(e,t),this.Name=t,this.Side=s,this.Styles=i,this.type=1300840506}};e.IfcSurfaceStyleLighting=class extends Ai{constructor(e,t,s,i,r){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=s,this.TransmissionColour=i,this.ReflectanceColour=r,this.type=3303107099}};e.IfcSurfaceStyleRefraction=class extends Ai{constructor(e,t,s){super(e),this.RefractionIndex=t,this.DispersionFactor=s,this.type=1607154358}};class Oi extends Ai{constructor(e,t,s){super(e),this.SurfaceColour=t,this.Transparency=s,this.type=846575682}}e.IfcSurfaceStyleShading=Oi;e.IfcSurfaceStyleWithTextures=class extends Ai{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Si extends Ai{constructor(e,t,s,i,r,o){super(e),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.type=626085974}}e.IfcSurfaceTexture=Si;e.IfcTable=class extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.Rows=s,this.Columns=i,this.type=985171141}};e.IfcTableColumn=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.Unit=r,this.ReferencePath=o,this.type=2043862942}};e.IfcTableRow=class extends dy{constructor(e,t,s){super(e),this.RowCells=t,this.IsHeading=s,this.type=531007025}};class xi extends _i{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.type=1549132990}}e.IfcTaskTime=xi;e.IfcTaskTimeRecurring=class extends xi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.Recurrence=I,this.type=2771591690}};e.IfcTelecomAddress=class extends Ks{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.TelephoneNumbers=r,this.FacsimileNumbers=o,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=l,this.MessagingIDs=h,this.type=912023232}};e.IfcTextStyle=class extends di{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.TextCharacterAppearance=s,this.TextStyle=i,this.TextFontStyle=r,this.ModelOrDraughting=o,this.type=1447204868}};e.IfcTextStyleForDefinedFont=class extends Ai{constructor(e,t,s){super(e),this.Colour=t,this.BackgroundColour=s,this.type=2636378356}};e.IfcTextStyleTextModel=class extends Ai{constructor(e,t,s,i,r,o,n,a){super(e),this.TextIndent=t,this.TextAlign=s,this.TextDecoration=i,this.LetterSpacing=r,this.WordSpacing=o,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class wi extends Ai{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=wi;e.IfcTextureCoordinateGenerator=class extends wi{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Mode=s,this.Parameter=i,this.type=1742049831}};e.IfcTextureMap=class extends wi{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Vertices=s,this.MappedTo=i,this.type=2552916305}};e.IfcTextureVertex=class extends Ai{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}};e.IfcTextureVertexList=class extends Ai{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}};e.IfcTimePeriod=class extends dy{constructor(e,t,s){super(e),this.StartTime=t,this.EndTime=s,this.type=1199560280}};class Bi extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.type=3101149627}}e.IfcTimeSeries=Bi;e.IfcTimeSeriesValue=class extends dy{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Fi extends vi{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Fi;e.IfcTopologyRepresentation=class extends Ri{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1735638870}};e.IfcUnitAssignment=class extends dy{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Mi extends Fi{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Mi;e.IfcVertexPoint=class extends Mi{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}};e.IfcVirtualGridIntersection=class extends dy{constructor(e,t,s){super(e),this.IntersectingAxes=t,this.OffsetDistances=s,this.type=891718957}};e.IfcWorkTime=class extends _i{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.RecurrencePattern=r,this.Start=o,this.Finish=n,this.type=1236880293}};e.IfcApprovalRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingApproval=i,this.RelatedApprovals=r,this.type=3869604511}};class Li extends mi{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Li;class Ui extends mi{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Ui;e.IfcArbitraryProfileDefWithVoids=class extends Li{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.InnerCurves=r,this.type=2705031697}};e.IfcBlobTexture=class extends Si{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};e.IfcCenterLineProfileDef=class extends Ui{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.Thickness=r,this.type=3150382593}};e.IfcClassification=class extends si{constructor(e,t,s,i,r,o,n,a){super(e),this.Source=t,this.Edition=s,this.EditionDate=i,this.Name=r,this.Description=o,this.Location=n,this.ReferenceTokens=a,this.type=747523909}};e.IfcClassificationReference=class extends ii{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.ReferencedSource=r,this.Description=o,this.Sort=n,this.type=647927063}};e.IfcColourRgbList=class extends Ai{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Hi extends Ai{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Hi;e.IfcCompositeProfileDef=class extends mi{constructor(e,t,s,i,r){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Profiles=i,this.Label=r,this.type=1485152156}};class Gi extends Fi{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Gi;e.IfcConnectionCurveGeometry=class extends qs{constructor(e,t,s){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=s,this.type=1981873012}};e.IfcConnectionPointEccentricity=class extends Js{constructor(e,t,s,i,r,o){super(e,t,s),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.EccentricityInX=i,this.EccentricityInY=r,this.EccentricityInZ=o,this.type=45288368}};e.IfcContextDependentUnit=class extends li{constructor(e,t,s,i){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.type=3050246964}};class ki extends li{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.type=2889183280}}e.IfcConversionBasedUnit=ki;e.IfcConversionBasedUnitWithOffset=class extends ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.ConversionOffset=o,this.type=2713554722}};e.IfcCurrencyRelationship=class extends Ii{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMonetaryUnit=i,this.RelatedMonetaryUnit=r,this.ExchangeRate=o,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};e.IfcCurveStyle=class extends di{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.CurveFont=s,this.CurveWidth=i,this.CurveColour=r,this.ModelOrDraughting=o,this.type=3800577675}};e.IfcCurveStyleFont=class extends Ai{constructor(e,t,s){super(e),this.Name=t,this.PatternList=s,this.type=1105321065}};e.IfcCurveStyleFontAndScaling=class extends Ai{constructor(e,t,s,i){super(e),this.Name=t,this.CurveFont=s,this.CurveFontScaling=i,this.type=2367409068}};e.IfcCurveStyleFontPattern=class extends Ai{constructor(e,t,s){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=s,this.type=3510044353}};class Vi extends mi{constructor(e,t,s,i,r,o){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=3632507154}}e.IfcDerivedProfileDef=Vi;e.IfcDocumentInformation=class extends si{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Location=r,this.Purpose=o,this.IntendedUse=n,this.Scope=a,this.Revision=l,this.DocumentOwner=h,this.Editors=c,this.CreationTime=u,this.LastRevisionTime=A,this.ElectronicFormat=p,this.ValidFrom=d,this.ValidUntil=f,this.Confidentiality=m,this.Status=E,this.type=1154170062}};e.IfcDocumentInformationRelationship=class extends Ii{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingDocument=i,this.RelatedDocuments=r,this.RelationshipType=o,this.type=770865208}};e.IfcDocumentReference=class extends ii{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.ReferencedDocument=o,this.type=3732053477}};class Qi extends Fi{constructor(e,t,s){super(e),this.EdgeStart=t,this.EdgeEnd=s,this.type=3900360178}}e.IfcEdge=Qi;e.IfcEdgeCurve=class extends Qi{constructor(e,t,s,i,r){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.EdgeGeometry=i,this.SameSense=r,this.type=476780140}};e.IfcEventTime=class extends _i{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ActualDate=r,this.EarlyDate=o,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class ji extends Ei{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Properties=i,this.type=297599258}}e.IfcExtendedProperties=ji;e.IfcExternalReferenceRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingReference=i,this.RelatedResourceObjects=r,this.type=1437805879}};class Wi extends Fi{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=Wi;class zi extends Fi{constructor(e,t,s){super(e),this.Bound=t,this.Orientation=s,this.type=1809719519}}e.IfcFaceBound=zi;e.IfcFaceOuterBound=class extends zi{constructor(e,t,s){super(e,t,s),this.Bound=t,this.Orientation=s,this.type=803316827}};class Ki extends Wi{constructor(e,t,s,i){super(e,t),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3008276851}}e.IfcFaceSurface=Ki;e.IfcFailureConnectionCondition=class extends Pi{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TensionFailureX=s,this.TensionFailureY=i,this.TensionFailureZ=r,this.CompressionFailureX=o,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};e.IfcFillAreaStyle=class extends di{constructor(e,t,s,i){super(e,t),this.Name=t,this.FillStyles=s,this.ModelorDraughting=i,this.type=738692330}};class Yi extends gi{constructor(e,t,s,i,r,o,n){super(e,t,s),this.ContextIdentifier=t,this.ContextType=s,this.CoordinateSpaceDimension=i,this.Precision=r,this.WorldCoordinateSystem=o,this.TrueNorth=n,this.type=3448662350}}e.IfcGeometricRepresentationContext=Yi;class Xi extends vi{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Xi;e.IfcGeometricRepresentationSubContext=class extends Yi{constructor(e,s,i,r,o,n,a){super(e,s,i,new t(0),null,new py(0),null),this.ContextIdentifier=s,this.ContextType=i,this.ParentContext=r,this.TargetScale=o,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class Zi extends Xi{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Zi;e.IfcGridPlacement=class extends hi{constructor(e,t,s){super(e),this.PlacementLocation=t,this.PlacementRefDirection=s,this.type=178086475}};class qi extends Xi{constructor(e,t,s){super(e),this.BaseSurface=t,this.AgreementFlag=s,this.type=812098782}}e.IfcHalfSpaceSolid=qi;e.IfcImageTexture=class extends Si{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.URLReference=n,this.type=3905492369}};e.IfcIndexedColourMap=class extends Ai{constructor(e,t,s,i,r){super(e),this.MappedTo=t,this.Opacity=s,this.Colours=i,this.ColourIndex=r,this.type=3570813810}};class Ji extends wi{constructor(e,t,s,i){super(e,t),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.type=1437953363}}e.IfcIndexedTextureMap=Ji;e.IfcIndexedTriangleTextureMap=class extends Ji{constructor(e,t,s,i,r){super(e,t,s,i),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.TexCoordIndex=r,this.type=2133299955}};e.IfcIrregularTimeSeries=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.Values=h,this.type=3741457305}};e.IfcLagTime=class extends _i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.LagValue=r,this.DurationType=o,this.type=1585845231}};class $i extends Xi{constructor(e,t,s,i,r){super(e),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=1402838566}}e.IfcLightSource=$i;e.IfcLightSourceAmbient=class extends $i{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=125510826}};e.IfcLightSourceDirectional=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Orientation=o,this.type=2604431987}};e.IfcLightSourceGoniometric=class extends $i{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=l,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class er extends $i{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.type=1520743889}}e.IfcLightSourcePositional=er;e.IfcLightSourceSpot=class extends er{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=u,this.SpreadAngle=A,this.BeamWidthAngle=p,this.type=3422422726}};e.IfcLocalPlacement=class extends hi{constructor(e,t,s){super(e),this.PlacementRelTo=t,this.RelativePlacement=s,this.type=2624227202}};class tr extends Fi{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=tr;e.IfcMappedItem=class extends vi{constructor(e,t,s){super(e),this.MappingSource=t,this.MappingTarget=s,this.type=2347385850}};e.IfcMaterial=class extends ri{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Category=i,this.type=1838606355}};e.IfcMaterialConstituent=class extends ri{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Description=s,this.Material=i,this.Fraction=r,this.Category=o,this.type=3708119e3}};e.IfcMaterialConstituentSet=class extends ri{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.MaterialConstituents=i,this.type=2852063980}};e.IfcMaterialDefinitionRepresentation=class extends fi{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.RepresentedMaterial=r,this.type=2022407955}};e.IfcMaterialLayerSetUsage=class extends ai{constructor(e,t,s,i,r,o){super(e),this.ForLayerSet=t,this.LayerSetDirection=s,this.DirectionSense=i,this.OffsetFromReferenceLine=r,this.ReferenceExtent=o,this.type=1303795690}};class sr extends ai{constructor(e,t,s,i){super(e),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.type=3079605661}}e.IfcMaterialProfileSetUsage=sr;e.IfcMaterialProfileSetUsageTapering=class extends sr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.ForProfileEndSet=r,this.CardinalEndPoint=o,this.type=3404854881}};e.IfcMaterialProperties=class extends ji{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.Material=r,this.type=3265635763}};e.IfcMaterialRelationship=class extends Ii{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMaterial=i,this.RelatedMaterials=r,this.Expression=o,this.type=853536259}};e.IfcMirroredProfileDef=class extends Vi{constructor(e,t,s,i,r){super(e,t,s,i,new py(0),r),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Label=r,this.type=2998442950}};class ir extends Ti{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=219451334}}e.IfcObjectDefinition=ir;e.IfcOpenShell=class extends Gi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}};e.IfcOrganizationRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingOrganization=i,this.RelatedOrganizations=r,this.type=1411181986}};e.IfcOrientedEdge=class extends Qi{constructor(e,t,s){super(e,new py(0),new py(0)),this.EdgeElement=t,this.Orientation=s,this.type=1029017970}};class rr extends mi{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.type=2529465313}}e.IfcParameterizedProfileDef=rr;e.IfcPath=class extends Fi{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}};e.IfcPhysicalComplexQuantity=class extends ci{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.HasQuantities=i,this.Discrimination=r,this.Quality=o,this.Usage=n,this.type=3021840470}};e.IfcPixelTexture=class extends Si{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.Width=n,this.Height=a,this.ColourComponents=l,this.Pixel=h,this.type=597895409}};class or extends Xi{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=or;class nr extends Xi{constructor(e,t,s){super(e),this.SizeInX=t,this.SizeInY=s,this.type=1663979128}}e.IfcPlanarExtent=nr;class ar extends Xi{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=ar;e.IfcPointOnCurve=class extends ar{constructor(e,t,s){super(e),this.BasisCurve=t,this.PointParameter=s,this.type=4022376103}};e.IfcPointOnSurface=class extends ar{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.PointParameterU=s,this.PointParameterV=i,this.type=1423911732}};e.IfcPolyLoop=class extends tr{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}};e.IfcPolygonalBoundedHalfSpace=class extends qi{constructor(e,t,s,i,r){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Position=i,this.PolygonalBoundary=r,this.type=2775532180}};class lr extends Ai{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=lr;class hr extends Ei{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=hr;class cr extends lr{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=cr;e.IfcProductDefinitionShape=class extends fi{constructor(e,t,s,i){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.type=673634403}};e.IfcProfileProperties=class extends ji{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.ProfileDefinition=r,this.type=2802850158}};class ur extends Ei{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2598011224}}e.IfcProperty=ur;class Ar extends Ti{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1680319473}}e.IfcPropertyDefinition=Ar;e.IfcPropertyDependencyRelationship=class extends Ii{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.DependingProperty=i,this.DependantProperty=r,this.Expression=o,this.type=148025276}};class pr extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3357820518}}e.IfcPropertySetDefinition=pr;class dr extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1482703590}}e.IfcPropertyTemplateDefinition=dr;class fr extends pr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2090586900}}e.IfcQuantitySet=fr;class mr extends rr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.type=3615266464}}e.IfcRectangleProfileDef=mr;e.IfcRegularTimeSeries=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.TimeStep=h,this.Values=c,this.type=3413951693}};e.IfcReinforcementBarProperties=class extends hr{constructor(e,t,s,i,r,o,n){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=s,this.BarSurface=i,this.EffectiveDepth=r,this.NominalBarDiameter=o,this.BarCount=n,this.type=1580146022}};class Er extends Ti{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=478536968}}e.IfcRelationship=Er;e.IfcResourceApprovalRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatedResourceObjects=i,this.RelatingApproval=r,this.type=2943643501}};e.IfcResourceConstraintRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedResourceObjects=r,this.type=1608871552}};e.IfcResourceTime=class extends _i{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ScheduleWork=r,this.ScheduleUsage=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=l,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=u,this.ActualWork=A,this.ActualUsage=p,this.ActualStart=d,this.ActualFinish=f,this.RemainingWork=m,this.RemainingUsage=E,this.Completion=y,this.type=1042787934}};e.IfcRoundedRectangleProfileDef=class extends mr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.RoundingRadius=n,this.type=2778083089}};e.IfcSectionProperties=class extends hr{constructor(e,t,s,i){super(e),this.SectionType=t,this.StartProfile=s,this.EndProfile=i,this.type=2042790032}};e.IfcSectionReinforcementProperties=class extends hr{constructor(e,t,s,i,r,o,n){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=s,this.TransversePosition=i,this.ReinforcementRole=r,this.SectionDefinition=o,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};e.IfcSectionedSpine=class extends Xi{constructor(e,t,s,i){super(e),this.SpineCurve=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1509187699}};e.IfcShellBasedSurfaceModel=class extends Xi{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class yr extends ur{constructor(e,t,s){super(e,t,s),this.Name=t,this.Description=s,this.type=3692461612}}e.IfcSimpleProperty=yr;e.IfcSlippageConnectionCondition=class extends Pi{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SlippageX=s,this.SlippageY=i,this.SlippageZ=r,this.type=2609359061}};class gr extends Xi{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=gr;e.IfcStructuralLoadLinearForce=class extends Ci{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearForceX=s,this.LinearForceY=i,this.LinearForceZ=r,this.LinearMomentX=o,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};e.IfcStructuralLoadPlanarForce=class extends Ci{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.PlanarForceX=s,this.PlanarForceY=i,this.PlanarForceZ=r,this.type=2668620305}};class vr extends Ci{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=vr;e.IfcStructuralLoadSingleDisplacementDistortion=class extends vr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=l,this.type=1973038258}};class Ir extends Ci{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}e.IfcStructuralLoadSingleForce=Ir;e.IfcStructuralLoadSingleForceWarping=class extends Ir{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=l,this.type=1190533807}};e.IfcSubedge=class extends Qi{constructor(e,t,s,i){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.ParentEdge=i,this.type=2233826070}};class Tr extends Xi{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Tr;e.IfcSurfaceStyleRendering=class extends Oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.SurfaceColour=t,this.Transparency=s,this.DiffuseColour=i,this.TransmissionColour=r,this.DiffuseTransmissionColour=o,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=l,this.ReflectanceMethod=h,this.type=1878645084}};class _r extends gr{constructor(e,t,s){super(e),this.SweptArea=t,this.Position=s,this.type=2247615214}}e.IfcSweptAreaSolid=_r;class Rr extends gr{constructor(e,t,s,i,r,o){super(e),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.type=1260650574}}e.IfcSweptDiskSolid=Rr;e.IfcSweptDiskSolidPolygonal=class extends Rr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.FilletRadius=n,this.type=1096409881}};class Pr extends Tr{constructor(e,t,s){super(e),this.SweptCurve=t,this.Position=s,this.type=230924584}}e.IfcSweptSurface=Pr;e.IfcTShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=u,this.FlangeSlope=A,this.type=3071757647}};class Dr extends Xi{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=Dr;class Nr extends Xi{constructor(e,t,s,i){super(e),this.Literal=t,this.Placement=s,this.Path=i,this.type=4282788508}}e.IfcTextLiteral=Nr;e.IfcTextLiteralWithExtent=class extends Nr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Literal=t,this.Placement=s,this.Path=i,this.Extent=r,this.BoxAlignment=o,this.type=3124975700}};e.IfcTextStyleFontModel=class extends cr{constructor(e,t,s,i,r,o,n){super(e,t),this.Name=t,this.FontFamily=s,this.FontStyle=i,this.FontVariant=r,this.FontWeight=o,this.FontSize=n,this.type=1983826977}};e.IfcTrapeziumProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomXDim=r,this.TopXDim=o,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class Cr extends ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.type=1628702193}}e.IfcTypeObject=Cr;class br extends Cr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.type=3736923433}}e.IfcTypeProcess=br;class Or extends Cr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.type=2347495698}}e.IfcTypeProduct=Or;class Sr extends Cr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.type=3698973494}}e.IfcTypeResource=Sr;e.IfcUShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};e.IfcVector=class extends Xi{constructor(e,t,s){super(e),this.Orientation=t,this.Magnitude=s,this.type=1417489154}};e.IfcVertexLoop=class extends tr{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}};e.IfcWindowStyle=class extends Or{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=1299126871}};e.IfcZShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.type=2543172580}};e.IfcAdvancedFace=class extends Ki{constructor(e,t,s,i){super(e,t,s,i),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3406155212}};e.IfcAnnotationFillArea=class extends Xi{constructor(e,t,s){super(e),this.OuterBoundary=t,this.InnerBoundaries=s,this.type=669184980}};e.IfcAsymmetricIShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomFlangeWidth=r,this.OverallDepth=o,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=l,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=u,this.BottomFlangeEdgeRadius=A,this.BottomFlangeSlope=p,this.TopFlangeEdgeRadius=d,this.TopFlangeSlope=f,this.type=3207858831}};e.IfcAxis1Placement=class extends or{constructor(e,t,s){super(e,t),this.Location=t,this.Axis=s,this.type=4261334040}};e.IfcAxis2Placement2D=class extends or{constructor(e,t,s){super(e,t),this.Location=t,this.RefDirection=s,this.type=3125803723}};e.IfcAxis2Placement3D=class extends or{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=2740243338}};class xr extends Xi{constructor(e,t,s,i){super(e),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=2736907675}}e.IfcBooleanResult=xr;class wr extends Tr{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=wr;e.IfcBoundingBox=class extends Xi{constructor(e,t,s,i,r){super(e),this.Corner=t,this.XDim=s,this.YDim=i,this.ZDim=r,this.type=2581212453}};e.IfcBoxedHalfSpace=class extends qi{constructor(e,t,s,i){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Enclosure=i,this.type=2713105998}};e.IfcCShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=l,this.type=2898889636}};e.IfcCartesianPoint=class extends ar{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Br extends Xi{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=Br;e.IfcCartesianPointList2D=class extends Br{constructor(e,t){super(e),this.CoordList=t,this.type=1675464909}};e.IfcCartesianPointList3D=class extends Br{constructor(e,t){super(e),this.CoordList=t,this.type=2059837836}};class Fr extends Xi{constructor(e,t,s,i,r){super(e),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=59481748}}e.IfcCartesianTransformationOperator=Fr;class Mr extends Fr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Mr;e.IfcCartesianTransformationOperator2DnonUniform=class extends Mr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Scale2=o,this.type=3486308946}};class Lr extends Fr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Lr;e.IfcCartesianTransformationOperator3DnonUniform=class extends Lr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class Ur extends rr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.type=1383045692}}e.IfcCircleProfileDef=Ur;e.IfcClosedShell=class extends Gi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}};e.IfcColourRgb=class extends Hi{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.Red=s,this.Green=i,this.Blue=r,this.type=776857604}};e.IfcComplexProperty=class extends ur{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.HasProperties=r,this.type=2542286263}};class Hr extends Xi{constructor(e,t,s,i){super(e),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.type=2485617015}}e.IfcCompositeCurveSegment=Hr;class Gr extends Sr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.type=2574617495}}e.IfcConstructionResourceType=Gr;class kr extends ir{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=3419103109}}e.IfcContext=kr;e.IfcCrewResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1815067380}};class Vr extends Xi{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Vr;e.IfcCsgSolid=class extends gr{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Qr extends Xi{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Qr;e.IfcCurveBoundedPlane=class extends wr{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.OuterBoundary=s,this.InnerBoundaries=i,this.type=2827736869}};e.IfcCurveBoundedSurface=class extends wr{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.Boundaries=s,this.ImplicitOuter=i,this.type=2629017746}};e.IfcDirection=class extends Xi{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};e.IfcDoorStyle=class extends Or{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=526551008}};e.IfcEdgeLoop=class extends tr{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}};e.IfcElementQuantity=class extends fr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.MethodOfMeasurement=o,this.Quantities=n,this.type=1883228015}};class jr extends Or{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=339256511}}e.IfcElementType=jr;class Wr extends Tr{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Wr;e.IfcEllipseProfileDef=class extends rr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.SemiAxis1=r,this.SemiAxis2=o,this.type=2835456948}};e.IfcEventType=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=u,this.UserDefinedEventTriggerType=A,this.type=4024345920}};class zr extends _r{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=477187591}}e.IfcExtrudedAreaSolid=zr;e.IfcExtrudedAreaSolidTapered=class extends zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.EndSweptArea=o,this.type=2804161546}};e.IfcFaceBasedSurfaceModel=class extends Xi{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}};e.IfcFillAreaStyleHatching=class extends Xi{constructor(e,t,s,i,r,o){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=s,this.PointOfReferenceHatchLine=i,this.PatternStart=r,this.HatchLineAngle=o,this.type=374418227}};e.IfcFillAreaStyleTiles=class extends Xi{constructor(e,t,s,i){super(e),this.TilingPattern=t,this.Tiles=s,this.TilingScale=i,this.type=315944413}};e.IfcFixedReferenceSweptAreaSolid=class extends _r{constructor(e,t,s,i,r,o,n){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.FixedReference=n,this.type=2652556860}};class Kr extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=4238390223}}e.IfcFurnishingElementType=Kr;e.IfcFurnitureType=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=u,this.type=1268542332}};e.IfcGeographicElementType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};e.IfcGeometricCurveSet=class extends Zi{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};e.IfcIShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class Yr extends Dr{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=Yr;e.IfcIndexedPolygonalFaceWithVoids=class extends Yr{constructor(e,t,s){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=s,this.type=2294589976}};e.IfcLShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=l,this.LegSlope=h,this.type=572779678}};e.IfcLaborResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=428585644}};e.IfcLine=class extends Qr{constructor(e,t,s){super(e),this.Pnt=t,this.Dir=s,this.type=1281925730}};class Xr extends gr{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Xr;class Zr extends ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3888040117}}e.IfcObject=Zr;e.IfcOffsetCurve2D=class extends Qr{constructor(e,t,s,i){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.type=3388369263}};e.IfcOffsetCurve3D=class extends Qr{constructor(e,t,s,i,r){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.RefDirection=r,this.type=3505215534}};e.IfcPcurve=class extends Qr{constructor(e,t,s){super(e),this.BasisSurface=t,this.ReferenceCurve=s,this.type=1682466193}};e.IfcPlanarBox=class extends nr{constructor(e,t,s,i){super(e,t,s),this.SizeInX=t,this.SizeInY=s,this.Placement=i,this.type=603570806}};e.IfcPlane=class extends Wr{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class qr extends lr{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=qr;class Jr extends lr{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=Jr;class $r extends pr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3967405729}}e.IfcPreDefinedPropertySet=$r;e.IfcProcedureType=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class eo extends Zr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2945172077}}e.IfcProcess=eo;class to extends Zr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}e.IfcProduct=to;e.IfcProject=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=103090709}};e.IfcProjectLibrary=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=653396225}};e.IfcPropertyBoundedValue=class extends yr{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.UpperBoundValue=i,this.LowerBoundValue=r,this.Unit=o,this.SetPointValue=n,this.type=871118103}};e.IfcPropertyEnumeratedValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.EnumerationValues=i,this.EnumerationReference=r,this.type=4166981789}};e.IfcPropertyListValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.ListValues=i,this.Unit=r,this.type=2752243245}};e.IfcPropertyReferenceValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.PropertyReference=r,this.type=941946838}};e.IfcPropertySet=class extends pr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.HasProperties=o,this.type=1451395588}};e.IfcPropertySetTemplate=class extends dr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};e.IfcPropertySingleValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.NominalValue=i,this.Unit=r,this.type=3650150729}};e.IfcPropertyTableValue=class extends yr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s),this.Name=t,this.Description=s,this.DefiningValues=i,this.DefinedValues=r,this.Expression=o,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=l,this.type=110355661}};class so extends dr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3521284610}}e.IfcPropertyTemplate=so;e.IfcProxy=class extends to{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=l,this.Tag=h,this.type=3219374653}};e.IfcRectangleHollowProfileDef=class extends mr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=l,this.type=2770003689}};e.IfcRectangularPyramid=class extends Vr{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.Height=r,this.type=2798486643}};e.IfcRectangularTrimmedSurface=class extends wr{constructor(e,t,s,i,r,o,n,a){super(e),this.BasisSurface=t,this.U1=s,this.V1=i,this.U2=r,this.V2=o,this.Usense=n,this.Vsense=a,this.type=3454111270}};e.IfcReinforcementDefinitionProperties=class extends $r{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DefinitionType=o,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class io extends Er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.type=3939117080}}e.IfcRelAssigns=io;e.IfcRelAssignsToActor=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=1683148259}};e.IfcRelAssignsToControl=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class ro extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}e.IfcRelAssignsToGroup=ro;e.IfcRelAssignsToGroupByFactor=class extends ro{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=l,this.type=1027710054}};e.IfcRelAssignsToProcess=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=l,this.type=4278684876}};e.IfcRelAssignsToProduct=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};e.IfcRelAssignsToResource=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class oo extends Er{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=1865459582}}e.IfcRelAssociates=oo;e.IfcRelAssociatesApproval=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingApproval=n,this.type=4095574036}};e.IfcRelAssociatesClassification=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingClassification=n,this.type=919958153}};e.IfcRelAssociatesConstraint=class extends oo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};e.IfcRelAssociatesDocument=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingDocument=n,this.type=982818633}};e.IfcRelAssociatesLibrary=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingLibrary=n,this.type=3840914261}};e.IfcRelAssociatesMaterial=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingMaterial=n,this.type=2655215786}};class no extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=826625072}}e.IfcRelConnects=no;class ao extends no{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}e.IfcRelConnectsElements=ao;e.IfcRelConnectsPathElements=class extends ao{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=l,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=u,this.type=3945020480}};e.IfcRelConnectsPortToElement=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedElement=n,this.type=4201705270}};e.IfcRelConnectsPorts=class extends no{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};e.IfcRelConnectsStructuralActivity=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralActivity=n,this.type=2127690289}};class lo extends no{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}e.IfcRelConnectsStructuralMember=lo;e.IfcRelConnectsWithEccentricity=class extends lo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=u,this.type=504942748}};e.IfcRelConnectsWithRealizingElements=class extends ao{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=l,this.ConnectionType=h,this.type=3678494232}};e.IfcRelContainedInSpatialStructure=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=3242617779}};e.IfcRelCoversBldgElements=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedCoverings=n,this.type=886880790}};e.IfcRelCoversSpaces=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedCoverings=n,this.type=2802773753}};e.IfcRelDeclares=class extends Er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingContext=o,this.RelatedDefinitions=n,this.type=2565941209}};class ho extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2551354335}}e.IfcRelDecomposes=ho;class co extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=693640335}}e.IfcRelDefines=co;e.IfcRelDefinesByObject=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingObject=n,this.type=1462361463}};e.IfcRelDefinesByProperties=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.type=4186316022}};e.IfcRelDefinesByTemplate=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedPropertySets=o,this.RelatingTemplate=n,this.type=307848117}};e.IfcRelDefinesByType=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingType=n,this.type=781010003}};e.IfcRelFillsElement=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingOpeningElement=o,this.RelatedBuildingElement=n,this.type=3940055652}};e.IfcRelFlowControlElements=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedControlElements=o,this.RelatingFlowElement=n,this.type=279856033}};e.IfcRelInterferesElements=class extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceType=l,this.ImpliedOrder=h,this.type=427948657}};e.IfcRelNests=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=3268803585}};e.IfcRelProjectsElement=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedFeatureElement=n,this.type=750771296}};e.IfcRelReferencedInSpatialStructure=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=1245217292}};e.IfcRelSequence=class extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingProcess=o,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=l,this.UserDefinedSequenceType=h,this.type=4122056220}};e.IfcRelServicesBuildings=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSystem=o,this.RelatedBuildings=n,this.type=366585022}};class uo extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.type=3451746338}}e.IfcRelSpaceBoundary=uo;class Ao extends uo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=Ao;e.IfcRelSpaceBoundary2ndLevel=class extends Ao{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=u,this.type=1521410863}};e.IfcRelVoidsElement=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedOpeningElement=n,this.type=1401173127}};e.IfcReparametrisedCompositeCurveSegment=class extends Hr{constructor(e,t,s,i,r){super(e,t,s,i),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.ParamLength=r,this.type=816062949}};class po extends Zr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2914609552}}e.IfcResource=po;class fo extends _r{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.type=1856042241}}e.IfcRevolvedAreaSolid=fo;e.IfcRevolvedAreaSolidTapered=class extends fo{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.EndSweptArea=o,this.type=3243963512}};e.IfcRightCircularCone=class extends Vr{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.BottomRadius=i,this.type=4158566097}};e.IfcRightCircularCylinder=class extends Vr{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.Radius=i,this.type=3626867408}};e.IfcSimplePropertyTemplate=class extends so{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=l,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=u,this.AccessState=A,this.type=3663146110}};class mo extends to{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=1412071761}}e.IfcSpatialElement=mo;class Eo extends Or{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=710998568}}e.IfcSpatialElementType=Eo;class yo extends mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=2706606064}}e.IfcSpatialStructureElement=yo;class go extends Eo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893378262}}e.IfcSpatialStructureElementType=go;e.IfcSpatialZone=class extends mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=463610769}};e.IfcSpatialZoneType=class extends Eo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=2481509218}};e.IfcSphere=class extends Vr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=451544542}};e.IfcSphericalSurface=class extends Wr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=4015995234}};class vo extends to{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3544373492}}e.IfcStructuralActivity=vo;class Io extends to{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}e.IfcStructuralItem=Io;class To extends Io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}e.IfcStructuralMember=To;class _o extends vo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3689010777}}e.IfcStructuralReaction=_o;class Ro extends To{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=3979015343}}e.IfcStructuralSurfaceMember=Ro;e.IfcStructuralSurfaceMemberVarying=class extends Ro{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=2218152070}};e.IfcStructuralSurfaceReaction=class extends _o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};e.IfcSubContractResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4095615324}};class Po extends Qr{constructor(e,t,s,i){super(e),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=699246055}}e.IfcSurfaceCurve=Po;e.IfcSurfaceCurveSweptAreaSolid=class extends _r{constructor(e,t,s,i,r,o,n){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.ReferenceSurface=n,this.type=2028607225}};e.IfcSurfaceOfLinearExtrusion=class extends Pr{constructor(e,t,s,i,r){super(e,t,s),this.SweptCurve=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=2809605785}};e.IfcSurfaceOfRevolution=class extends Pr{constructor(e,t,s,i){super(e,t,s),this.SweptCurve=t,this.Position=s,this.AxisPosition=i,this.type=4124788165}};e.IfcSystemFurnitureElementType=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};e.IfcTask=class extends eo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Status=l,this.WorkMethod=h,this.IsMilestone=c,this.Priority=u,this.TaskTime=A,this.PredefinedType=p,this.type=3473067441}};e.IfcTaskType=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=u,this.type=3206491090}};class Do extends Dr{constructor(e,t){super(e),this.Coordinates=t,this.type=2387106220}}e.IfcTessellatedFaceSet=Do;e.IfcToroidalSurface=class extends Wr{constructor(e,t,s,i){super(e,t),this.Position=t,this.MajorRadius=s,this.MinorRadius=i,this.type=1935646853}};e.IfcTransportElementType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};e.IfcTriangulatedFaceSet=class extends Do{constructor(e,t,s,i,r,o){super(e,t),this.Coordinates=t,this.Normals=s,this.Closed=i,this.CoordIndex=r,this.PnIndex=o,this.type=2916149573}};e.IfcWindowLiningProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=l,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=u,this.SecondMullionOffset=A,this.ShapeAspectStyle=p,this.LiningOffset=d,this.LiningToPanelOffsetX=f,this.LiningToPanelOffsetY=m,this.type=336235671}};e.IfcWindowPanelProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=512836454}};class No extends Zr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.type=2296667514}}e.IfcActor=No;class Co extends Xr{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Co;e.IfcAdvancedBrepWithVoids=class extends Co{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=2603310189}};e.IfcAnnotation=class extends to{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};class bo extends wr{constructor(e,t,s,i,r,o,n,a){super(e),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}e.IfcBSplineSurface=bo;class Oo extends bo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=Oo;e.IfcBlock=class extends Vr{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.ZLength=r,this.type=1334484129}};e.IfcBooleanClippingResult=class extends xr{constructor(e,t,s,i){super(e,t,s,i),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=3649129432}};class So extends Qr{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=So;e.IfcBuilding=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=u,this.BuildingAddress=A,this.type=4031249490}};class xo extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1950629157}}e.IfcBuildingElementType=xo;e.IfcBuildingStorey=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};e.IfcChimneyType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};e.IfcCircleHollowProfileDef=class extends Ur{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.WallThickness=o,this.type=2937912522}};e.IfcCivilElementType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893394355}};e.IfcColumnType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};e.IfcComplexPropertyTemplate=class extends so{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.UsageName=o,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class wo extends So{constructor(e,t,s){super(e),this.Segments=t,this.SelfIntersect=s,this.type=3732776249}}e.IfcCompositeCurve=wo;class Bo extends wo{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=15328376}}e.IfcCompositeCurveOnSurface=Bo;class Fo extends Qr{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=Fo;e.IfcConstructionEquipmentResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=2185764099}};e.IfcConstructionMaterialResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4105962743}};e.IfcConstructionProductResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1525564444}};class Mo extends po{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}e.IfcConstructionResource=Mo;class Lo extends Zr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.type=3293443760}}e.IfcControl=Lo;e.IfcCostItem=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.CostValues=l,this.CostQuantities=h,this.type=3895139033}};e.IfcCostSchedule=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};e.IfcCoveringType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};e.IfcCrewResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3295246426}};e.IfcCurtainWallType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};e.IfcCylindricalSurface=class extends Wr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=1213902940}};class Uo extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3256556792}}e.IfcDistributionElementType=Uo;class Ho extends Uo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3849074793}}e.IfcDistributionFlowElementType=Ho;e.IfcDoorLiningProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=l,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=u,this.ThresholdOffset=A,this.CasingThickness=p,this.CasingDepth=d,this.ShapeAspectStyle=f,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=E,this.type=2963535650}};e.IfcDoorPanelProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PanelDepth=o,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=l,this.ShapeAspectStyle=h,this.type=1714330368}};e.IfcDoorType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.OperationType=u,this.ParameterTakesPrecedence=A,this.UserDefinedOperationType=p,this.type=2323601079}};e.IfcDraughtingPreDefinedColour=class extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}};e.IfcDraughtingPreDefinedCurveFont=class extends Jr{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Go extends to{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1758889154}}e.IfcElement=Go;e.IfcElementAssembly=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};e.IfcElementAssemblyType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class ko extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1623761950}}e.IfcElementComponent=ko;class Vo extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2590856083}}e.IfcElementComponentType=Vo;e.IfcEllipse=class extends Fo{constructor(e,t,s,i){super(e,t),this.Position=t,this.SemiAxis1=s,this.SemiAxis2=i,this.type=1704287377}};class Qo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Qo;e.IfcEngineType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};e.IfcEvaporativeCoolerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};e.IfcEvaporatorType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};e.IfcEvent=class extends eo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=u,this.type=4148101412}};class jo extends mo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=2853485674}}e.IfcExternalSpatialStructureElement=jo;class Wo extends Xr{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=Wo;e.IfcFacetedBrepWithVoids=class extends Wo{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=3737207727}};e.IfcFastener=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=647756555}};e.IfcFastenerType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class zo extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2827207264}}e.IfcFeatureElement=zo;class Ko extends zo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2143335405}}e.IfcFeatureElementAddition=Ko;class Yo extends zo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1287392070}}e.IfcFeatureElementSubtraction=Yo;class Xo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3907093117}}e.IfcFlowControllerType=Xo;class Zo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3198132628}}e.IfcFlowFittingType=Zo;e.IfcFlowMeterType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class qo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1482959167}}e.IfcFlowMovingDeviceType=qo;class Jo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1834744321}}e.IfcFlowSegmentType=Jo;class $o extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1339347760}}e.IfcFlowStorageDeviceType=$o;class en extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2297155007}}e.IfcFlowTerminalType=en;class tn extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=tn;e.IfcFootingType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class sn extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=263784265}}e.IfcFurnishingElement=sn;e.IfcFurniture=class extends sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1509553395}};e.IfcGeographicElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3493046030}};e.IfcGrid=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.UAxes=l,this.VAxes=h,this.WAxes=c,this.PredefinedType=u,this.type=3009204131}};class rn extends Zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2706460486}}e.IfcGroup=rn;e.IfcHeatExchangerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};e.IfcHumidifierType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};e.IfcIndexedPolyCurve=class extends So{constructor(e,t,s,i){super(e),this.Points=t,this.Segments=s,this.SelfIntersect=i,this.type=2571569899}};e.IfcInterceptorType=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};e.IfcIntersectionCurve=class extends Po{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=3113134337}};e.IfcInventory=class extends rn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=l,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=u,this.type=2391368822}};e.IfcJunctionBoxType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};e.IfcLaborResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3827777499}};e.IfcLampType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};e.IfcLightFixtureType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};e.IfcMechanicalFastener=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=u,this.type=377706215}};e.IfcMechanicalFastenerType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.NominalLength=A,this.type=2108223431}};e.IfcMedicalDeviceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};e.IfcMemberType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};e.IfcMotorConnectionType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};e.IfcOccupant=class extends No{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};class on extends Yo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3588315303}}e.IfcOpeningElement=on;e.IfcOpeningStandardCase=class extends on{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3079942009}};e.IfcOutletType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};e.IfcPerformanceHistory=class extends Lo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=l,this.type=2382730787}};e.IfcPermeableCoveringProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=3566463478}};e.IfcPermit=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3327091369}};e.IfcPileType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};e.IfcPipeFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};e.IfcPipeSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};e.IfcPlateType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};e.IfcPolygonalFaceSet=class extends Do{constructor(e,t,s,i,r){super(e,t),this.Coordinates=t,this.Closed=s,this.Faces=i,this.PnIndex=r,this.type=2839578677}};e.IfcPolyline=class extends So{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class nn extends to{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}e.IfcPort=nn;e.IfcProcedure=class extends eo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.type=2744685151}};e.IfcProjectOrder=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=2904328755}};e.IfcProjectionElement=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3651124850}};e.IfcProtectiveDeviceType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};e.IfcPumpType=class extends qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};e.IfcRailingType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};e.IfcRampFlightType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};e.IfcRampType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};e.IfcRationalBSplineSurfaceWithKnots=class extends Oo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.WeightsData=p,this.type=683857671}};class an extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=3027567501}}e.IfcReinforcingElement=an;class ln extends Vo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=964333572}}e.IfcReinforcingElementType=ln;e.IfcReinforcingMesh=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=u,this.LongitudinalBarNominalDiameter=A,this.TransverseBarNominalDiameter=p,this.LongitudinalBarCrossSectionArea=d,this.TransverseBarCrossSectionArea=f,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=E,this.PredefinedType=y,this.type=2320036040}};e.IfcReinforcingMeshType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.MeshLength=u,this.MeshWidth=A,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=E,this.TransverseBarSpacing=y,this.BendingShapeCode=g,this.BendingParameters=v,this.type=2310774935}};e.IfcRelAggregates=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=160246688}};e.IfcRoofType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};e.IfcSanitaryTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};e.IfcSeamCurve=class extends Po{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=2157484638}};e.IfcShadingDeviceType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};e.IfcSite=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=u,this.RefElevation=A,this.LandTitleNumber=p,this.SiteAddress=d,this.type=4097777520}};e.IfcSlabType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};e.IfcSolarDeviceType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};e.IfcSpace=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=u,this.type=3856911033}};e.IfcSpaceHeaterType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};e.IfcSpaceType=class extends go{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=3812236995}};e.IfcStackTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};e.IfcStairFlightType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};e.IfcStairType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class hn extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}e.IfcStructuralAction=hn;class cn extends Io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1179482911}}e.IfcStructuralConnection=cn;class un extends hn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1004757350}}e.IfcStructuralCurveAction=un;e.IfcStructuralCurveConnection=class extends cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.Axis=h,this.type=4243806635}};class An extends To{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=214636428}}e.IfcStructuralCurveMember=An;e.IfcStructuralCurveMemberVarying=class extends An{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=2445595289}};e.IfcStructuralCurveReaction=class extends _o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};e.IfcStructuralLinearAction=class extends un{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1807405624}};class pn extends rn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}e.IfcStructuralLoadGroup=pn;e.IfcStructuralPointAction=class extends hn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};e.IfcStructuralPointConnection=class extends cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.ConditionCoordinateSystem=h,this.type=734778138}};e.IfcStructuralPointReaction=class extends _o{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=1235345126}};e.IfcStructuralResultGroup=class extends rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=l,this.type=2986769608}};class dn extends hn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=3657597509}}e.IfcStructuralSurfaceAction=dn;e.IfcStructuralSurfaceConnection=class extends cn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1975003073}};e.IfcSubContractResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=148013059}};e.IfcSurfaceFeature=class extends zo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3101698114}};e.IfcSwitchingDeviceType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class fn extends rn{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2254336722}}e.IfcSystem=fn;e.IfcSystemFurnitureElement=class extends sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=413509423}};e.IfcTankType=class extends $o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};e.IfcTendon=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.TensionForce=p,this.PreStress=d,this.FrictionCoefficient=f,this.AnchorageSlip=m,this.MinCurvatureRadius=E,this.type=3824725483}};e.IfcTendonAnchor=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};e.IfcTendonAnchorType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};e.IfcTendonType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.SheathDiameter=p,this.type=2415094496}};e.IfcTransformerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};e.IfcTransportElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1620046519}};e.IfcTrimmedCurve=class extends So{constructor(e,t,s,i,r,o){super(e),this.BasisCurve=t,this.Trim1=s,this.Trim2=i,this.SenseAgreement=r,this.MasterRepresentation=o,this.type=3593883385}};e.IfcTubeBundleType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};e.IfcUnitaryEquipmentType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};e.IfcValveType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};e.IfcVibrationIsolator=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391383451}};e.IfcVibrationIsolatorType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};e.IfcVirtualElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2769231204}};e.IfcVoidingFeature=class extends Yo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=926996030}};e.IfcWallType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};e.IfcWasteTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};e.IfcWindowType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=u,this.ParameterTakesPrecedence=A,this.UserDefinedPartitioningType=p,this.type=4009809668}};e.IfcWorkCalendar=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=l,this.PredefinedType=h,this.type=4088093105}};class mn extends Lo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.type=1028945134}}e.IfcWorkControl=mn;e.IfcWorkPlan=class extends mn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=4218914973}};e.IfcWorkSchedule=class extends mn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=3342526732}};e.IfcZone=class extends fn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.type=1033361043}};e.IfcActionRequest=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3821786052}};e.IfcAirTerminalBoxType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};e.IfcAirTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};e.IfcAirToAirHeatRecoveryType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};e.IfcAsset=class extends rn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.OriginalValue=a,this.CurrentValue=l,this.TotalReplacementCost=h,this.Owner=c,this.User=u,this.ResponsiblePerson=A,this.IncorporationDate=p,this.DepreciatedValue=d,this.type=3460190687}};e.IfcAudioVisualApplianceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class En extends So{constructor(e,t,s,i,r,o){super(e),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1967976161}}e.IfcBSplineCurve=En;class yn extends En{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.type=2461110595}}e.IfcBSplineCurveWithKnots=yn;e.IfcBeamType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};e.IfcBoilerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class gn extends Bo{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=1136057603}}e.IfcBoundaryCurve=gn;class vn extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3299480353}}e.IfcBuildingElement=vn;e.IfcBuildingElementPart=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2979338954}};e.IfcBuildingElementPartType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};e.IfcBuildingElementProxy=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1095909175}};e.IfcBuildingElementProxyType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};e.IfcBuildingSystem=class extends fn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};e.IfcBurnerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};e.IfcCableCarrierFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};e.IfcCableCarrierSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};e.IfcCableFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};e.IfcCableSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};e.IfcChillerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};e.IfcChimney=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3296154744}};e.IfcCircle=class extends Fo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=2611217952}};e.IfcCivilElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1677625105}};e.IfcCoilType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};class In extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=843113511}}e.IfcColumn=In;e.IfcColumnStandardCase=class extends In{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=905975707}};e.IfcCommunicationsApplianceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};e.IfcCompressorType=class extends qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};e.IfcCondenserType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};e.IfcConstructionEquipmentResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3898045240}};e.IfcConstructionMaterialResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=1060000209}};e.IfcConstructionProductResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=488727124}};e.IfcCooledBeamType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};e.IfcCoolingTowerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};e.IfcCovering=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1973544240}};e.IfcCurtainWall=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3495092785}};e.IfcDamperType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};e.IfcDiscreteAccessory=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1335981549}};e.IfcDiscreteAccessoryType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};e.IfcDistributionChamberElementType=class extends Ho{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class Tn extends Uo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2063403501}}e.IfcDistributionControlElementType=Tn;class _n extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1945004755}}e.IfcDistributionElement=_n;class Rn extends _n{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3040386961}}e.IfcDistributionFlowElement=Rn;e.IfcDistributionPort=class extends nn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=l,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Pn extends fn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}e.IfcDistributionSystem=Pn;class Dn extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.OperationType=A,this.UserDefinedOperationType=p,this.type=395920057}}e.IfcDoor=Dn;e.IfcDoorStandardCase=class extends Dn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.OperationType=A,this.UserDefinedOperationType=p,this.type=3242481149}};e.IfcDuctFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};e.IfcDuctSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};e.IfcDuctSilencerType=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};e.IfcElectricApplianceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};e.IfcElectricDistributionBoardType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};e.IfcElectricFlowStorageDeviceType=class extends $o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};e.IfcElectricGeneratorType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};e.IfcElectricMotorType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};e.IfcElectricTimeControlType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class Nn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1658829314}}e.IfcEnergyConversionDevice=Nn;e.IfcEngine=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2814081492}};e.IfcEvaporativeCooler=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3747195512}};e.IfcEvaporator=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=484807127}};e.IfcExternalSpatialElement=class extends jo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=1209101575}};e.IfcFanType=class extends qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};e.IfcFilterType=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};e.IfcFireSuppressionTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class Cn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2058353004}}e.IfcFlowController=Cn;class bn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4278956645}}e.IfcFlowFitting=bn;e.IfcFlowInstrumentType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};e.IfcFlowMeter=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2188021234}};class On extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3132237377}}e.IfcFlowMovingDevice=On;class Sn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=987401354}}e.IfcFlowSegment=Sn;class xn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=707683696}}e.IfcFlowStorageDevice=xn;class wn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2223149337}}e.IfcFlowTerminal=wn;class Bn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3508470533}}e.IfcFlowTreatmentDevice=Bn;e.IfcFooting=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=900683007}};e.IfcHeatExchanger=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3319311131}};e.IfcHumidifier=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2068733104}};e.IfcInterceptor=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4175244083}};e.IfcJunctionBox=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2176052936}};e.IfcLamp=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=76236018}};e.IfcLightFixture=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=629592764}};e.IfcMedicalDevice=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1437502449}};class Fn extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1073191201}}e.IfcMember=Fn;e.IfcMemberStandardCase=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1911478936}};e.IfcMotorConnection=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2474470126}};e.IfcOuterBoundaryCurve=class extends gn{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=144952367}};e.IfcOutlet=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3694346114}};e.IfcPile=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};e.IfcPipeFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=310824031}};e.IfcPipeSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3612865200}};class Mn extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3171933400}}e.IfcPlate=Mn;e.IfcPlateStandardCase=class extends Mn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1156407060}};e.IfcProtectiveDevice=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=738039164}};e.IfcProtectiveDeviceTrippingUnitType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};e.IfcPump=class extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=90941305}};e.IfcRailing=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2262370178}};e.IfcRamp=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3024970846}};e.IfcRampFlight=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3283111854}};e.IfcRationalBSplineCurveWithKnots=class extends yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.WeightsData=h,this.type=1232101972}};e.IfcReinforcingBar=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=u,this.BarLength=A,this.PredefinedType=p,this.BarSurface=d,this.type=979691226}};e.IfcReinforcingBarType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.BarLength=p,this.BarSurface=d,this.BendingShapeCode=f,this.BendingParameters=m,this.type=2572171363}};e.IfcRoof=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2016517767}};e.IfcSanitaryTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3053780830}};e.IfcSensorType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};e.IfcShadingDevice=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1329646415}};class Ln extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1529196076}}e.IfcSlab=Ln;e.IfcSlabElementedCase=class extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3127900445}};e.IfcSlabStandardCase=class extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3027962421}};e.IfcSolarDevice=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3420628829}};e.IfcSpaceHeater=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1999602285}};e.IfcStackTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1404847402}};e.IfcStair=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=331165859}};e.IfcStairFlight=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=u,this.TreadLength=A,this.PredefinedType=p,this.type=4252922144}};e.IfcStructuralAnalysisModel=class extends fn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=l,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};e.IfcStructuralLoadCase=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=u,this.type=385403989}};e.IfcStructuralPlanarAction=class extends dn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1621171031}};e.IfcSwitchingDevice=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1162798199}};e.IfcTank=class extends xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=812556717}};e.IfcTransformer=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3825984169}};e.IfcTubeBundle=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3026737570}};e.IfcUnitaryControlElementType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};e.IfcUnitaryEquipment=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4292641817}};e.IfcValve=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4207607924}};class Un extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391406946}}e.IfcWall=Un;e.IfcWallElementedCase=class extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4156078855}};e.IfcWallStandardCase=class extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3512223829}};e.IfcWasteTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4237592921}};class Hn extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.PartitioningType=A,this.UserDefinedPartitioningType=p,this.type=3304561284}}e.IfcWindow=Hn;e.IfcWindowStandardCase=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.PartitioningType=A,this.UserDefinedPartitioningType=p,this.type=486154966}};e.IfcActuatorType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};e.IfcAirTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1634111441}};e.IfcAirTerminalBox=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=177149247}};e.IfcAirToAirHeatRecovery=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2056796094}};e.IfcAlarmType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};e.IfcAudioVisualAppliance=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=277319702}};class Gn extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=753842376}}e.IfcBeam=Gn;e.IfcBeamStandardCase=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2906023776}};e.IfcBoiler=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=32344328}};e.IfcBurner=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2938176219}};e.IfcCableCarrierFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=635142910}};e.IfcCableCarrierSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3758799889}};e.IfcCableFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1051757585}};e.IfcCableSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4217484030}};e.IfcChiller=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3902619387}};e.IfcCoil=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=639361253}};e.IfcCommunicationsAppliance=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3221913625}};e.IfcCompressor=class extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3571504051}};e.IfcCondenser=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2272882330}};e.IfcControllerType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};e.IfcCooledBeam=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4136498852}};e.IfcCoolingTower=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3640358203}};e.IfcDamper=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4074379575}};e.IfcDistributionChamberElement=class extends Rn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1052013943}};e.IfcDistributionCircuit=class extends Pn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class kn extends _n{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1062813311}}e.IfcDistributionControlElement=kn;e.IfcDuctFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=342316401}};e.IfcDuctSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3518393246}};e.IfcDuctSilencer=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1360408905}};e.IfcElectricAppliance=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1904799276}};e.IfcElectricDistributionBoard=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=862014818}};e.IfcElectricFlowStorageDevice=class extends xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3310460725}};e.IfcElectricGenerator=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=264262732}};e.IfcElectricMotor=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=402227799}};e.IfcElectricTimeControl=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1003880860}};e.IfcFan=class extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3415622556}};e.IfcFilter=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=819412036}};e.IfcFireSuppressionTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1426591983}};e.IfcFlowInstrument=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=182646315}};e.IfcProtectiveDeviceTrippingUnit=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2295281155}};e.IfcSensor=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4086658281}};e.IfcUnitaryControlElement=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=630975310}};e.IfcActuator=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4288193352}};e.IfcAlarm=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3087945054}};e.IfcController=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=25142252}}}(ny||(ny={})),function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcArcIndex=class{constructor(e){this.value=e}};e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcComplexNumber=class{constructor(e){this.value=e}};e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}};e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDate=class{constructor(e){this.value=e,this.type=1}};e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}};e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t;e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDuration=class{constructor(e){this.value=e,this.type=1}};e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}};e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}};e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}};e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}};e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}};e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLabel=class{constructor(e){this.value=e,this.type=1}};e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}};e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLineIndex=class{constructor(e){this.value=e}};e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}};e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}};e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcText=class{constructor(e){this.value=e,this.type=1}};e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}};e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}};e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}};e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTime=class{constructor(e){this.value=e,this.type=1}};e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}};e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class s{}s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=s;class i{}i.BRAKES={type:3,value:"BRAKES"},i.BUOYANCY={type:3,value:"BUOYANCY"},i.COMPLETION_G1={type:3,value:"COMPLETION_G1"},i.CREEP={type:3,value:"CREEP"},i.CURRENT={type:3,value:"CURRENT"},i.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},i.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},i.ERECTION={type:3,value:"ERECTION"},i.FIRE={type:3,value:"FIRE"},i.ICE={type:3,value:"ICE"},i.IMPACT={type:3,value:"IMPACT"},i.IMPULSE={type:3,value:"IMPULSE"},i.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},i.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},i.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},i.PROPPING={type:3,value:"PROPPING"},i.RAIN={type:3,value:"RAIN"},i.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},i.SHRINKAGE={type:3,value:"SHRINKAGE"},i.SNOW_S={type:3,value:"SNOW_S"},i.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},i.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},i.TRANSPORT={type:3,value:"TRANSPORT"},i.WAVE={type:3,value:"WAVE"},i.WIND_W={type:3,value:"WIND_W"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=i;class r{}r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=r;class o{}o.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},o.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},o.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},o.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},o.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=o;class n{}n.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},n.HOME={type:3,value:"HOME"},n.OFFICE={type:3,value:"OFFICE"},n.SITE={type:3,value:"SITE"},n.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=n;class a{}a.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},a.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},a.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=a;class l{}l.DIFFUSER={type:3,value:"DIFFUSER"},l.GRILLE={type:3,value:"GRILLE"},l.LOUVRE={type:3,value:"LOUVRE"},l.REGISTER={type:3,value:"REGISTER"},l.USERDEFINED={type:3,value:"USERDEFINED"},l.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=l;class h{}h.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},h.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},h.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},h.HEATPIPE={type:3,value:"HEATPIPE"},h.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},h.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},h.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},h.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},h.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=h;class c{}c.BELL={type:3,value:"BELL"},c.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},c.LIGHT={type:3,value:"LIGHT"},c.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},c.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},c.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},c.SIREN={type:3,value:"SIREN"},c.WHISTLE={type:3,value:"WHISTLE"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=c;class u{}u.BLOSSCURVE={type:3,value:"BLOSSCURVE"},u.CONSTANTCANT={type:3,value:"CONSTANTCANT"},u.COSINECURVE={type:3,value:"COSINECURVE"},u.HELMERTCURVE={type:3,value:"HELMERTCURVE"},u.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},u.SINECURVE={type:3,value:"SINECURVE"},u.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=u;class A{}A.BLOSSCURVE={type:3,value:"BLOSSCURVE"},A.CIRCULARARC={type:3,value:"CIRCULARARC"},A.CLOTHOID={type:3,value:"CLOTHOID"},A.COSINECURVE={type:3,value:"COSINECURVE"},A.CUBIC={type:3,value:"CUBIC"},A.HELMERTCURVE={type:3,value:"HELMERTCURVE"},A.LINE={type:3,value:"LINE"},A.SINECURVE={type:3,value:"SINECURVE"},A.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=A;class p{}p.USERDEFINED={type:3,value:"USERDEFINED"},p.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=p;class d{}d.CIRCULARARC={type:3,value:"CIRCULARARC"},d.CLOTHOID={type:3,value:"CLOTHOID"},d.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},d.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=d;class f{}f.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},f.LOADING_3D={type:3,value:"LOADING_3D"},f.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=f;class m{}m.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},m.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},m.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},m.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},m.USERDEFINED={type:3,value:"USERDEFINED"},m.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=m;class E{}E.ASBUILTAREA={type:3,value:"ASBUILTAREA"},E.ASBUILTLINE={type:3,value:"ASBUILTLINE"},E.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},E.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},E.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},E.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},E.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},E.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},E.WIDTHEVENT={type:3,value:"WIDTHEVENT"},E.USERDEFINED={type:3,value:"USERDEFINED"},E.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=E;class y{}y.ADD={type:3,value:"ADD"},y.DIVIDE={type:3,value:"DIVIDE"},y.MULTIPLY={type:3,value:"MULTIPLY"},y.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=y;class g{}g.FACTORY={type:3,value:"FACTORY"},g.SITE={type:3,value:"SITE"},g.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=g;class v{}v.AMPLIFIER={type:3,value:"AMPLIFIER"},v.CAMERA={type:3,value:"CAMERA"},v.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},v.DISPLAY={type:3,value:"DISPLAY"},v.MICROPHONE={type:3,value:"MICROPHONE"},v.PLAYER={type:3,value:"PLAYER"},v.PROJECTOR={type:3,value:"PROJECTOR"},v.RECEIVER={type:3,value:"RECEIVER"},v.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},v.SPEAKER={type:3,value:"SPEAKER"},v.SWITCHER={type:3,value:"SWITCHER"},v.TELEPHONE={type:3,value:"TELEPHONE"},v.TUNER={type:3,value:"TUNER"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=v;class I{}I.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},I.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},I.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},I.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},I.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},I.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=I;class T{}T.CONICAL_SURF={type:3,value:"CONICAL_SURF"},T.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},T.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},T.PLANE_SURF={type:3,value:"PLANE_SURF"},T.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},T.RULED_SURF={type:3,value:"RULED_SURF"},T.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},T.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},T.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},T.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},T.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=T;class _{}_.BEAM={type:3,value:"BEAM"},_.CORNICE={type:3,value:"CORNICE"},_.DIAPHRAGM={type:3,value:"DIAPHRAGM"},_.EDGEBEAM={type:3,value:"EDGEBEAM"},_.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},_.HATSTONE={type:3,value:"HATSTONE"},_.HOLLOWCORE={type:3,value:"HOLLOWCORE"},_.JOIST={type:3,value:"JOIST"},_.LINTEL={type:3,value:"LINTEL"},_.PIERCAP={type:3,value:"PIERCAP"},_.SPANDREL={type:3,value:"SPANDREL"},_.T_BEAM={type:3,value:"T_BEAM"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=_;class R{}R.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},R.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},R.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},R.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=R;class P{}P.CYLINDRICAL={type:3,value:"CYLINDRICAL"},P.DISK={type:3,value:"DISK"},P.ELASTOMERIC={type:3,value:"ELASTOMERIC"},P.GUIDE={type:3,value:"GUIDE"},P.POT={type:3,value:"POT"},P.ROCKER={type:3,value:"ROCKER"},P.ROLLER={type:3,value:"ROLLER"},P.SPHERICAL={type:3,value:"SPHERICAL"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=P;class D{}D.EQUALTO={type:3,value:"EQUALTO"},D.GREATERTHAN={type:3,value:"GREATERTHAN"},D.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},D.INCLUDEDIN={type:3,value:"INCLUDEDIN"},D.INCLUDES={type:3,value:"INCLUDES"},D.LESSTHAN={type:3,value:"LESSTHAN"},D.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},D.NOTEQUALTO={type:3,value:"NOTEQUALTO"},D.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},D.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=D;class N{}N.STEAM={type:3,value:"STEAM"},N.WATER={type:3,value:"WATER"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=N;class C{}C.DIFFERENCE={type:3,value:"DIFFERENCE"},C.INTERSECTION={type:3,value:"INTERSECTION"},C.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=C;class b{}b.ABUTMENT={type:3,value:"ABUTMENT"},b.DECK={type:3,value:"DECK"},b.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},b.FOUNDATION={type:3,value:"FOUNDATION"},b.PIER={type:3,value:"PIER"},b.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},b.PYLON={type:3,value:"PYLON"},b.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},b.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},b.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=b;class O{}O.ARCHED={type:3,value:"ARCHED"},O.CABLE_STAYED={type:3,value:"CABLE_STAYED"},O.CANTILEVER={type:3,value:"CANTILEVER"},O.CULVERT={type:3,value:"CULVERT"},O.FRAMEWORK={type:3,value:"FRAMEWORK"},O.GIRDER={type:3,value:"GIRDER"},O.SUSPENSION={type:3,value:"SUSPENSION"},O.TRUSS={type:3,value:"TRUSS"},O.USERDEFINED={type:3,value:"USERDEFINED"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=O;class S{}S.APRON={type:3,value:"APRON"},S.ARMOURUNIT={type:3,value:"ARMOURUNIT"},S.INSULATION={type:3,value:"INSULATION"},S.PRECASTPANEL={type:3,value:"PRECASTPANEL"},S.SAFETYCAGE={type:3,value:"SAFETYCAGE"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=S;class x{}x.COMPLEX={type:3,value:"COMPLEX"},x.ELEMENT={type:3,value:"ELEMENT"},x.PARTIAL={type:3,value:"PARTIAL"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=x;class w{}w.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},w.FENESTRATION={type:3,value:"FENESTRATION"},w.FOUNDATION={type:3,value:"FOUNDATION"},w.LOADBEARING={type:3,value:"LOADBEARING"},w.OUTERSHELL={type:3,value:"OUTERSHELL"},w.PRESTRESSING={type:3,value:"PRESTRESSING"},w.REINFORCING={type:3,value:"REINFORCING"},w.SHADING={type:3,value:"SHADING"},w.TRANSPORT={type:3,value:"TRANSPORT"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=w;class B{}B.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},B.FENESTRATION={type:3,value:"FENESTRATION"},B.FOUNDATION={type:3,value:"FOUNDATION"},B.LOADBEARING={type:3,value:"LOADBEARING"},B.MOORING={type:3,value:"MOORING"},B.OUTERSHELL={type:3,value:"OUTERSHELL"},B.PRESTRESSING={type:3,value:"PRESTRESSING"},B.RAILWAYLINE={type:3,value:"RAILWAYLINE"},B.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},B.REINFORCING={type:3,value:"REINFORCING"},B.SHADING={type:3,value:"SHADING"},B.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},B.TRANSPORT={type:3,value:"TRANSPORT"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=B;class F{}F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=F;class M{}M.BEND={type:3,value:"BEND"},M.CONNECTOR={type:3,value:"CONNECTOR"},M.CROSS={type:3,value:"CROSS"},M.JUNCTION={type:3,value:"JUNCTION"},M.TEE={type:3,value:"TEE"},M.TRANSITION={type:3,value:"TRANSITION"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=M;class L{}L.CABLEBRACKET={type:3,value:"CABLEBRACKET"},L.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},L.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},L.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},L.CATENARYWIRE={type:3,value:"CATENARYWIRE"},L.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},L.DROPPER={type:3,value:"DROPPER"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=L;class U{}U.CONNECTOR={type:3,value:"CONNECTOR"},U.ENTRY={type:3,value:"ENTRY"},U.EXIT={type:3,value:"EXIT"},U.FANOUT={type:3,value:"FANOUT"},U.JUNCTION={type:3,value:"JUNCTION"},U.TRANSITION={type:3,value:"TRANSITION"},U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=U;class H{}H.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},H.CABLESEGMENT={type:3,value:"CABLESEGMENT"},H.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},H.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},H.CORESEGMENT={type:3,value:"CORESEGMENT"},H.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},H.FIBERTUBE={type:3,value:"FIBERTUBE"},H.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},H.STITCHWIRE={type:3,value:"STITCHWIRE"},H.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},H.USERDEFINED={type:3,value:"USERDEFINED"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=H;class G{}G.CAISSON={type:3,value:"CAISSON"},G.WELL={type:3,value:"WELL"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=G;class k{}k.ADDED={type:3,value:"ADDED"},k.DELETED={type:3,value:"DELETED"},k.MODIFIED={type:3,value:"MODIFIED"},k.NOCHANGE={type:3,value:"NOCHANGE"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=k;class V{}V.AIRCOOLED={type:3,value:"AIRCOOLED"},V.HEATRECOVERY={type:3,value:"HEATRECOVERY"},V.WATERCOOLED={type:3,value:"WATERCOOLED"},V.USERDEFINED={type:3,value:"USERDEFINED"},V.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=V;class Q{}Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=Q;class j{}j.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},j.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},j.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},j.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},j.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},j.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},j.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=j;class W{}W.COLUMN={type:3,value:"COLUMN"},W.PIERSTEM={type:3,value:"PIERSTEM"},W.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},W.PILASTER={type:3,value:"PILASTER"},W.STANDCOLUMN={type:3,value:"STANDCOLUMN"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=W;class z{}z.ANTENNA={type:3,value:"ANTENNA"},z.AUTOMATON={type:3,value:"AUTOMATON"},z.COMPUTER={type:3,value:"COMPUTER"},z.FAX={type:3,value:"FAX"},z.GATEWAY={type:3,value:"GATEWAY"},z.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},z.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},z.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},z.MODEM={type:3,value:"MODEM"},z.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},z.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},z.NETWORKHUB={type:3,value:"NETWORKHUB"},z.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},z.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},z.PRINTER={type:3,value:"PRINTER"},z.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},z.REPEATER={type:3,value:"REPEATER"},z.ROUTER={type:3,value:"ROUTER"},z.SCANNER={type:3,value:"SCANNER"},z.TELECOMMAND={type:3,value:"TELECOMMAND"},z.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},z.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},z.TRANSPONDER={type:3,value:"TRANSPONDER"},z.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=z;class K{}K.P_COMPLEX={type:3,value:"P_COMPLEX"},K.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=K;class Y{}Y.BOOSTER={type:3,value:"BOOSTER"},Y.DYNAMIC={type:3,value:"DYNAMIC"},Y.HERMETIC={type:3,value:"HERMETIC"},Y.OPENTYPE={type:3,value:"OPENTYPE"},Y.RECIPROCATING={type:3,value:"RECIPROCATING"},Y.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Y.ROTARY={type:3,value:"ROTARY"},Y.ROTARYVANE={type:3,value:"ROTARYVANE"},Y.SCROLL={type:3,value:"SCROLL"},Y.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Y.SINGLESCREW={type:3,value:"SINGLESCREW"},Y.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Y.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Y.TWINSCREW={type:3,value:"TWINSCREW"},Y.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=Y;class X{}X.AIRCOOLED={type:3,value:"AIRCOOLED"},X.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},X.WATERCOOLED={type:3,value:"WATERCOOLED"},X.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},X.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},X.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},X.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=X;class Z{}Z.ATEND={type:3,value:"ATEND"},Z.ATPATH={type:3,value:"ATPATH"},Z.ATSTART={type:3,value:"ATSTART"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=Z;class q{}q.ADVISORY={type:3,value:"ADVISORY"},q.HARD={type:3,value:"HARD"},q.SOFT={type:3,value:"SOFT"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=q;class J{}J.DEMOLISHING={type:3,value:"DEMOLISHING"},J.EARTHMOVING={type:3,value:"EARTHMOVING"},J.ERECTING={type:3,value:"ERECTING"},J.HEATING={type:3,value:"HEATING"},J.LIGHTING={type:3,value:"LIGHTING"},J.PAVING={type:3,value:"PAVING"},J.PUMPING={type:3,value:"PUMPING"},J.TRANSPORTING={type:3,value:"TRANSPORTING"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=J;class ${}$.AGGREGATES={type:3,value:"AGGREGATES"},$.CONCRETE={type:3,value:"CONCRETE"},$.DRYWALL={type:3,value:"DRYWALL"},$.FUEL={type:3,value:"FUEL"},$.GYPSUM={type:3,value:"GYPSUM"},$.MASONRY={type:3,value:"MASONRY"},$.METAL={type:3,value:"METAL"},$.PLASTIC={type:3,value:"PLASTIC"},$.WOOD={type:3,value:"WOOD"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=$;class ee{}ee.ASSEMBLY={type:3,value:"ASSEMBLY"},ee.FORMWORK={type:3,value:"FORMWORK"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=ee;class te{}te.FLOATING={type:3,value:"FLOATING"},te.MULTIPOSITION={type:3,value:"MULTIPOSITION"},te.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},te.PROPORTIONAL={type:3,value:"PROPORTIONAL"},te.TWOPOSITION={type:3,value:"TWOPOSITION"},te.USERDEFINED={type:3,value:"USERDEFINED"},te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=te;class se{}se.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},se.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},se.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},se.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=se;class ie{}ie.ACTIVE={type:3,value:"ACTIVE"},ie.PASSIVE={type:3,value:"PASSIVE"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=ie;class re{}re.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},re.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},re.NATURALDRAFT={type:3,value:"NATURALDRAFT"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=re;class oe{}oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=oe;class ne{}ne.BUDGET={type:3,value:"BUDGET"},ne.COSTPLAN={type:3,value:"COSTPLAN"},ne.ESTIMATE={type:3,value:"ESTIMATE"},ne.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},ne.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},ne.TENDER={type:3,value:"TENDER"},ne.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=ne;class ae{}ae.ARMOUR={type:3,value:"ARMOUR"},ae.BALLASTBED={type:3,value:"BALLASTBED"},ae.CORE={type:3,value:"CORE"},ae.FILTER={type:3,value:"FILTER"},ae.PAVEMENT={type:3,value:"PAVEMENT"},ae.PROTECTION={type:3,value:"PROTECTION"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=ae;class le{}le.CEILING={type:3,value:"CEILING"},le.CLADDING={type:3,value:"CLADDING"},le.COPING={type:3,value:"COPING"},le.FLOORING={type:3,value:"FLOORING"},le.INSULATION={type:3,value:"INSULATION"},le.MEMBRANE={type:3,value:"MEMBRANE"},le.MOLDING={type:3,value:"MOLDING"},le.ROOFING={type:3,value:"ROOFING"},le.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},le.SLEEVING={type:3,value:"SLEEVING"},le.TOPPING={type:3,value:"TOPPING"},le.WRAPPING={type:3,value:"WRAPPING"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=le;class he{}he.OFFICE={type:3,value:"OFFICE"},he.SITE={type:3,value:"SITE"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=he;class ce{}ce.USERDEFINED={type:3,value:"USERDEFINED"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=ce;class ue{}ue.LINEAR={type:3,value:"LINEAR"},ue.LOG_LINEAR={type:3,value:"LOG_LINEAR"},ue.LOG_LOG={type:3,value:"LOG_LOG"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=ue;class Ae{}Ae.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Ae.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Ae.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Ae.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Ae.FIREDAMPER={type:3,value:"FIREDAMPER"},Ae.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Ae.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Ae.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Ae.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Ae.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Ae.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Ae;class pe{}pe.MEASURED={type:3,value:"MEASURED"},pe.PREDICTED={type:3,value:"PREDICTED"},pe.SIMULATED={type:3,value:"SIMULATED"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=pe;class de{}de.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},de.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},de.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},de.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},de.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},de.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},de.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},de.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},de.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},de.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},de.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},de.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},de.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},de.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},de.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},de.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},de.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},de.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},de.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},de.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},de.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},de.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},de.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},de.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},de.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},de.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},de.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},de.PHUNIT={type:3,value:"PHUNIT"},de.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},de.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},de.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},de.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},de.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},de.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},de.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},de.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},de.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},de.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},de.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},de.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},de.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},de.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},de.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},de.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},de.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},de.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},de.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},de.TORQUEUNIT={type:3,value:"TORQUEUNIT"},de.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},de.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},de.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},de.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},de.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=de;class fe{}fe.NEGATIVE={type:3,value:"NEGATIVE"},fe.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=fe;class me{}me.ANCHORPLATE={type:3,value:"ANCHORPLATE"},me.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},me.BRACKET={type:3,value:"BRACKET"},me.CABLEARRANGER={type:3,value:"CABLEARRANGER"},me.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},me.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},me.FILLER={type:3,value:"FILLER"},me.FLASHING={type:3,value:"FLASHING"},me.INSULATOR={type:3,value:"INSULATOR"},me.LOCK={type:3,value:"LOCK"},me.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},me.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},me.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},me.RAILBRACE={type:3,value:"RAILBRACE"},me.RAILPAD={type:3,value:"RAILPAD"},me.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},me.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},me.SHOE={type:3,value:"SHOE"},me.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},me.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},me.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=me;class Ee{}Ee.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Ee.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Ee.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Ee.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Ee.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Ee.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=Ee;class ye{}ye.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ye.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ye.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ye.MANHOLE={type:3,value:"MANHOLE"},ye.METERCHAMBER={type:3,value:"METERCHAMBER"},ye.SUMP={type:3,value:"SUMP"},ye.TRENCH={type:3,value:"TRENCH"},ye.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=ye;class ge{}ge.CABLE={type:3,value:"CABLE"},ge.CABLECARRIER={type:3,value:"CABLECARRIER"},ge.DUCT={type:3,value:"DUCT"},ge.PIPE={type:3,value:"PIPE"},ge.WIRELESS={type:3,value:"WIRELESS"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=ge;class ve{}ve.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},ve.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},ve.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},ve.CHEMICAL={type:3,value:"CHEMICAL"},ve.CHILLEDWATER={type:3,value:"CHILLEDWATER"},ve.COMMUNICATION={type:3,value:"COMMUNICATION"},ve.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},ve.CONDENSERWATER={type:3,value:"CONDENSERWATER"},ve.CONTROL={type:3,value:"CONTROL"},ve.CONVEYING={type:3,value:"CONVEYING"},ve.DATA={type:3,value:"DATA"},ve.DISPOSAL={type:3,value:"DISPOSAL"},ve.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},ve.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},ve.DRAINAGE={type:3,value:"DRAINAGE"},ve.EARTHING={type:3,value:"EARTHING"},ve.ELECTRICAL={type:3,value:"ELECTRICAL"},ve.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},ve.EXHAUST={type:3,value:"EXHAUST"},ve.FIREPROTECTION={type:3,value:"FIREPROTECTION"},ve.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},ve.FUEL={type:3,value:"FUEL"},ve.GAS={type:3,value:"GAS"},ve.HAZARDOUS={type:3,value:"HAZARDOUS"},ve.HEATING={type:3,value:"HEATING"},ve.LIGHTING={type:3,value:"LIGHTING"},ve.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},ve.MOBILENETWORK={type:3,value:"MOBILENETWORK"},ve.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},ve.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},ve.OIL={type:3,value:"OIL"},ve.OPERATIONAL={type:3,value:"OPERATIONAL"},ve.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},ve.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},ve.POWERGENERATION={type:3,value:"POWERGENERATION"},ve.RAINWATER={type:3,value:"RAINWATER"},ve.REFRIGERATION={type:3,value:"REFRIGERATION"},ve.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},ve.SECURITY={type:3,value:"SECURITY"},ve.SEWAGE={type:3,value:"SEWAGE"},ve.SIGNAL={type:3,value:"SIGNAL"},ve.STORMWATER={type:3,value:"STORMWATER"},ve.TELEPHONE={type:3,value:"TELEPHONE"},ve.TV={type:3,value:"TV"},ve.VACUUM={type:3,value:"VACUUM"},ve.VENT={type:3,value:"VENT"},ve.VENTILATION={type:3,value:"VENTILATION"},ve.WASTEWATER={type:3,value:"WASTEWATER"},ve.WATERSUPPLY={type:3,value:"WATERSUPPLY"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=ve;class Ie{}Ie.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Ie.PERSONAL={type:3,value:"PERSONAL"},Ie.PUBLIC={type:3,value:"PUBLIC"},Ie.RESTRICTED={type:3,value:"RESTRICTED"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Ie;class Te{}Te.DRAFT={type:3,value:"DRAFT"},Te.FINAL={type:3,value:"FINAL"},Te.FINALDRAFT={type:3,value:"FINALDRAFT"},Te.REVISION={type:3,value:"REVISION"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Te;class _e{}_e.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},_e.FIXEDPANEL={type:3,value:"FIXEDPANEL"},_e.FOLDING={type:3,value:"FOLDING"},_e.REVOLVING={type:3,value:"REVOLVING"},_e.ROLLINGUP={type:3,value:"ROLLINGUP"},_e.SLIDING={type:3,value:"SLIDING"},_e.SWINGING={type:3,value:"SWINGING"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=_e;class Re{}Re.LEFT={type:3,value:"LEFT"},Re.MIDDLE={type:3,value:"MIDDLE"},Re.RIGHT={type:3,value:"RIGHT"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=Re;class Pe{}Pe.ALUMINIUM={type:3,value:"ALUMINIUM"},Pe.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Pe.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Pe.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Pe.PLASTIC={type:3,value:"PLASTIC"},Pe.STEEL={type:3,value:"STEEL"},Pe.WOOD={type:3,value:"WOOD"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Pe;class De{}De.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},De.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},De.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},De.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},De.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},De.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},De.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},De.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},De.REVOLVING={type:3,value:"REVOLVING"},De.ROLLINGUP={type:3,value:"ROLLINGUP"},De.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},De.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},De.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},De.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=De;class Ne{}Ne.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},Ne.DOOR={type:3,value:"DOOR"},Ne.GATE={type:3,value:"GATE"},Ne.TRAPDOOR={type:3,value:"TRAPDOOR"},Ne.TURNSTILE={type:3,value:"TURNSTILE"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Ne;class Ce{}Ce.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},Ce.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},Ce.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},Ce.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},Ce.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},Ce.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},Ce.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},Ce.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ce.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ce.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ce.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ce.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},Ce.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},Ce.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},Ce.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},Ce.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},Ce.ROLLINGUP={type:3,value:"ROLLINGUP"},Ce.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ce.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ce.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ce.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ce.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Ce.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Ce;class be{}be.BEND={type:3,value:"BEND"},be.CONNECTOR={type:3,value:"CONNECTOR"},be.ENTRY={type:3,value:"ENTRY"},be.EXIT={type:3,value:"EXIT"},be.JUNCTION={type:3,value:"JUNCTION"},be.OBSTRUCTION={type:3,value:"OBSTRUCTION"},be.TRANSITION={type:3,value:"TRANSITION"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=be;class Oe{}Oe.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Oe.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=Oe;class Se{}Se.FLATOVAL={type:3,value:"FLATOVAL"},Se.RECTANGULAR={type:3,value:"RECTANGULAR"},Se.ROUND={type:3,value:"ROUND"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Se;class xe{}xe.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},xe.CUT={type:3,value:"CUT"},xe.DREDGING={type:3,value:"DREDGING"},xe.EXCAVATION={type:3,value:"EXCAVATION"},xe.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},xe.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},xe.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},xe.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},xe.TRENCH={type:3,value:"TRENCH"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=xe;class we{}we.BACKFILL={type:3,value:"BACKFILL"},we.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},we.EMBANKMENT={type:3,value:"EMBANKMENT"},we.SLOPEFILL={type:3,value:"SLOPEFILL"},we.SUBGRADE={type:3,value:"SUBGRADE"},we.SUBGRADEBED={type:3,value:"SUBGRADEBED"},we.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=we;class Be{}Be.DISHWASHER={type:3,value:"DISHWASHER"},Be.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Be.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Be.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Be.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Be.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Be.FREEZER={type:3,value:"FREEZER"},Be.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Be.HANDDRYER={type:3,value:"HANDDRYER"},Be.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Be.MICROWAVE={type:3,value:"MICROWAVE"},Be.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Be.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Be.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Be.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Be.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=Be;class Fe{}Fe.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Fe.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Fe.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Fe.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=Fe;class Me{}Me.BATTERY={type:3,value:"BATTERY"},Me.CAPACITOR={type:3,value:"CAPACITOR"},Me.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Me.COMPENSATOR={type:3,value:"COMPENSATOR"},Me.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Me.INDUCTOR={type:3,value:"INDUCTOR"},Me.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Me.RECHARGER={type:3,value:"RECHARGER"},Me.UPS={type:3,value:"UPS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=Me;class Le{}Le.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=Le;class Ue{}Ue.CHP={type:3,value:"CHP"},Ue.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Ue.STANDALONE={type:3,value:"STANDALONE"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Ue;class He{}He.DC={type:3,value:"DC"},He.INDUCTION={type:3,value:"INDUCTION"},He.POLYPHASE={type:3,value:"POLYPHASE"},He.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},He.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=He;class Ge{}Ge.RELAY={type:3,value:"RELAY"},Ge.TIMECLOCK={type:3,value:"TIMECLOCK"},Ge.TIMEDELAY={type:3,value:"TIMEDELAY"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Ge;class ke{}ke.ABUTMENT={type:3,value:"ABUTMENT"},ke.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},ke.ARCH={type:3,value:"ARCH"},ke.BEAM_GRID={type:3,value:"BEAM_GRID"},ke.BRACED_FRAME={type:3,value:"BRACED_FRAME"},ke.CROSS_BRACING={type:3,value:"CROSS_BRACING"},ke.DECK={type:3,value:"DECK"},ke.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},ke.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},ke.GIRDER={type:3,value:"GIRDER"},ke.GRID={type:3,value:"GRID"},ke.MAST={type:3,value:"MAST"},ke.PIER={type:3,value:"PIER"},ke.PYLON={type:3,value:"PYLON"},ke.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},ke.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},ke.RIGID_FRAME={type:3,value:"RIGID_FRAME"},ke.SHELTER={type:3,value:"SHELTER"},ke.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},ke.SLAB_FIELD={type:3,value:"SLAB_FIELD"},ke.SUMPBUSTER={type:3,value:"SUMPBUSTER"},ke.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},ke.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},ke.TRACKPANEL={type:3,value:"TRACKPANEL"},ke.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},ke.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},ke.TRUSS={type:3,value:"TRUSS"},ke.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=ke;class Ve{}Ve.COMPLEX={type:3,value:"COMPLEX"},Ve.ELEMENT={type:3,value:"ELEMENT"},Ve.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Ve;class Qe{}Qe.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},Qe.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=Qe;class je{}je.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},je.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},je.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},je.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},je.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},je.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},je.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},je.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},je.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=je;class We{}We.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},We.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},We.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},We.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},We.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},We.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=We;class ze{}ze.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},ze.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},ze.EVENTRULE={type:3,value:"EVENTRULE"},ze.EVENTTIME={type:3,value:"EVENTTIME"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=ze;class Ke{}Ke.ENDEVENT={type:3,value:"ENDEVENT"},Ke.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},Ke.STARTEVENT={type:3,value:"STARTEVENT"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=Ke;class Ye{}Ye.EXTERNAL={type:3,value:"EXTERNAL"},Ye.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ye.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ye.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=Ye;class Xe{}Xe.ABOVEGROUND={type:3,value:"ABOVEGROUND"},Xe.BELOWGROUND={type:3,value:"BELOWGROUND"},Xe.JUNCTION={type:3,value:"JUNCTION"},Xe.LEVELCROSSING={type:3,value:"LEVELCROSSING"},Xe.SEGMENT={type:3,value:"SEGMENT"},Xe.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},Xe.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Xe.TERMINAL={type:3,value:"TERMINAL"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=Xe;class Ze{}Ze.LATERAL={type:3,value:"LATERAL"},Ze.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Ze.REGION={type:3,value:"REGION"},Ze.VERTICAL={type:3,value:"VERTICAL"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Ze;class qe{}qe.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},qe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},qe.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},qe.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},qe.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},qe.TUBEAXIAL={type:3,value:"TUBEAXIAL"},qe.VANEAXIAL={type:3,value:"VANEAXIAL"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=qe;class Je{}Je.GLUE={type:3,value:"GLUE"},Je.MORTAR={type:3,value:"MORTAR"},Je.WELD={type:3,value:"WELD"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=Je;class $e{}$e.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},$e.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},$e.ODORFILTER={type:3,value:"ODORFILTER"},$e.OILFILTER={type:3,value:"OILFILTER"},$e.STRAINER={type:3,value:"STRAINER"},$e.WATERFILTER={type:3,value:"WATERFILTER"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=$e;class et{}et.BREECHINGINLET={type:3,value:"BREECHINGINLET"},et.FIREHYDRANT={type:3,value:"FIREHYDRANT"},et.FIREMONITOR={type:3,value:"FIREMONITOR"},et.HOSEREEL={type:3,value:"HOSEREEL"},et.SPRINKLER={type:3,value:"SPRINKLER"},et.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},et.USERDEFINED={type:3,value:"USERDEFINED"},et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=et;class tt{}tt.SINK={type:3,value:"SINK"},tt.SOURCE={type:3,value:"SOURCE"},tt.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=tt;class st{}st.AMMETER={type:3,value:"AMMETER"},st.COMBINED={type:3,value:"COMBINED"},st.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},st.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},st.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},st.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},st.THERMOMETER={type:3,value:"THERMOMETER"},st.VOLTMETER={type:3,value:"VOLTMETER"},st.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},st.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=st;class it{}it.ENERGYMETER={type:3,value:"ENERGYMETER"},it.GASMETER={type:3,value:"GASMETER"},it.OILMETER={type:3,value:"OILMETER"},it.WATERMETER={type:3,value:"WATERMETER"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=it;class rt{}rt.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},rt.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},rt.PAD_FOOTING={type:3,value:"PAD_FOOTING"},rt.PILE_CAP={type:3,value:"PILE_CAP"},rt.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=rt;class ot{}ot.BED={type:3,value:"BED"},ot.CHAIR={type:3,value:"CHAIR"},ot.DESK={type:3,value:"DESK"},ot.FILECABINET={type:3,value:"FILECABINET"},ot.SHELF={type:3,value:"SHELF"},ot.SOFA={type:3,value:"SOFA"},ot.TABLE={type:3,value:"TABLE"},ot.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=ot;class nt{}nt.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},nt.TERRAIN={type:3,value:"TERRAIN"},nt.VEGETATION={type:3,value:"VEGETATION"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=nt;class at{}at.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},at.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},at.MODEL_VIEW={type:3,value:"MODEL_VIEW"},at.PLAN_VIEW={type:3,value:"PLAN_VIEW"},at.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},at.SECTION_VIEW={type:3,value:"SECTION_VIEW"},at.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=at;class lt{}lt.SOLID={type:3,value:"SOLID"},lt.VOID={type:3,value:"VOID"},lt.WATER={type:3,value:"WATER"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=lt;class ht{}ht.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},ht.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=ht;class ct{}ct.IRREGULAR={type:3,value:"IRREGULAR"},ct.RADIAL={type:3,value:"RADIAL"},ct.RECTANGULAR={type:3,value:"RECTANGULAR"},ct.TRIANGULAR={type:3,value:"TRIANGULAR"},ct.USERDEFINED={type:3,value:"USERDEFINED"},ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=ct;class ut{}ut.PLATE={type:3,value:"PLATE"},ut.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},ut.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=ut;class At{}At.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},At.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},At.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},At.ADIABATICPAN={type:3,value:"ADIABATICPAN"},At.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},At.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},At.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},At.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},At.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},At.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},At.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},At.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},At.STEAMINJECTION={type:3,value:"STEAMINJECTION"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=At;class pt{}pt.BUMPER={type:3,value:"BUMPER"},pt.CRASHCUSHION={type:3,value:"CRASHCUSHION"},pt.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},pt.FENDER={type:3,value:"FENDER"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=pt;class dt{}dt.CYCLONIC={type:3,value:"CYCLONIC"},dt.GREASE={type:3,value:"GREASE"},dt.OIL={type:3,value:"OIL"},dt.PETROL={type:3,value:"PETROL"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=dt;class ft{}ft.EXTERNAL={type:3,value:"EXTERNAL"},ft.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},ft.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},ft.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},ft.INTERNAL={type:3,value:"INTERNAL"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=ft;class mt{}mt.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},mt.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},mt.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=mt;class Et{}Et.DATA={type:3,value:"DATA"},Et.POWER={type:3,value:"POWER"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Et;class yt{}yt.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},yt.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},yt.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},yt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=yt;class gt{}gt.ADMINISTRATION={type:3,value:"ADMINISTRATION"},gt.CARPENTRY={type:3,value:"CARPENTRY"},gt.CLEANING={type:3,value:"CLEANING"},gt.CONCRETE={type:3,value:"CONCRETE"},gt.DRYWALL={type:3,value:"DRYWALL"},gt.ELECTRIC={type:3,value:"ELECTRIC"},gt.FINISHING={type:3,value:"FINISHING"},gt.FLOORING={type:3,value:"FLOORING"},gt.GENERAL={type:3,value:"GENERAL"},gt.HVAC={type:3,value:"HVAC"},gt.LANDSCAPING={type:3,value:"LANDSCAPING"},gt.MASONRY={type:3,value:"MASONRY"},gt.PAINTING={type:3,value:"PAINTING"},gt.PAVING={type:3,value:"PAVING"},gt.PLUMBING={type:3,value:"PLUMBING"},gt.ROOFING={type:3,value:"ROOFING"},gt.SITEGRADING={type:3,value:"SITEGRADING"},gt.STEELWORK={type:3,value:"STEELWORK"},gt.SURVEYING={type:3,value:"SURVEYING"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=gt;class vt{}vt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},vt.FLUORESCENT={type:3,value:"FLUORESCENT"},vt.HALOGEN={type:3,value:"HALOGEN"},vt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},vt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},vt.LED={type:3,value:"LED"},vt.METALHALIDE={type:3,value:"METALHALIDE"},vt.OLED={type:3,value:"OLED"},vt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=vt;class It{}It.AXIS1={type:3,value:"AXIS1"},It.AXIS2={type:3,value:"AXIS2"},It.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=It;class Tt{}Tt.TYPE_A={type:3,value:"TYPE_A"},Tt.TYPE_B={type:3,value:"TYPE_B"},Tt.TYPE_C={type:3,value:"TYPE_C"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Tt;class _t{}_t.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},_t.FLUORESCENT={type:3,value:"FLUORESCENT"},_t.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},_t.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},_t.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},_t.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},_t.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},_t.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},_t.METALHALIDE={type:3,value:"METALHALIDE"},_t.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=_t;class Rt{}Rt.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Rt.POINTSOURCE={type:3,value:"POINTSOURCE"},Rt.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=Rt;class Pt{}Pt.HOSEREEL={type:3,value:"HOSEREEL"},Pt.LOADINGARM={type:3,value:"LOADINGARM"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=Pt;class Dt{}Dt.LOAD_CASE={type:3,value:"LOAD_CASE"},Dt.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Dt.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Dt;class Nt{}Nt.LOGICALAND={type:3,value:"LOGICALAND"},Nt.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Nt.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},Nt.LOGICALOR={type:3,value:"LOGICALOR"},Nt.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=Nt;class Ct{}Ct.BARRIERBEACH={type:3,value:"BARRIERBEACH"},Ct.BREAKWATER={type:3,value:"BREAKWATER"},Ct.CANAL={type:3,value:"CANAL"},Ct.DRYDOCK={type:3,value:"DRYDOCK"},Ct.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},Ct.HYDROLIFT={type:3,value:"HYDROLIFT"},Ct.JETTY={type:3,value:"JETTY"},Ct.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},Ct.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},Ct.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},Ct.PORT={type:3,value:"PORT"},Ct.QUAY={type:3,value:"QUAY"},Ct.REVETMENT={type:3,value:"REVETMENT"},Ct.SHIPLIFT={type:3,value:"SHIPLIFT"},Ct.SHIPLOCK={type:3,value:"SHIPLOCK"},Ct.SHIPYARD={type:3,value:"SHIPYARD"},Ct.SLIPWAY={type:3,value:"SLIPWAY"},Ct.WATERWAY={type:3,value:"WATERWAY"},Ct.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=Ct;class bt{}bt.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},bt.ANCHORAGE={type:3,value:"ANCHORAGE"},bt.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},bt.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},bt.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},bt.CHAMBER={type:3,value:"CHAMBER"},bt.CILL_LEVEL={type:3,value:"CILL_LEVEL"},bt.COPELEVEL={type:3,value:"COPELEVEL"},bt.CORE={type:3,value:"CORE"},bt.CREST={type:3,value:"CREST"},bt.GATEHEAD={type:3,value:"GATEHEAD"},bt.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},bt.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},bt.LANDFIELD={type:3,value:"LANDFIELD"},bt.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},bt.LOWWATERLINE={type:3,value:"LOWWATERLINE"},bt.MANUFACTURING={type:3,value:"MANUFACTURING"},bt.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},bt.PROTECTION={type:3,value:"PROTECTION"},bt.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},bt.STORAGEAREA={type:3,value:"STORAGEAREA"},bt.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},bt.WATERFIELD={type:3,value:"WATERFIELD"},bt.WEATHERSIDE={type:3,value:"WEATHERSIDE"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=bt;class Ot{}Ot.ANCHORBOLT={type:3,value:"ANCHORBOLT"},Ot.BOLT={type:3,value:"BOLT"},Ot.CHAIN={type:3,value:"CHAIN"},Ot.COUPLER={type:3,value:"COUPLER"},Ot.DOWEL={type:3,value:"DOWEL"},Ot.NAIL={type:3,value:"NAIL"},Ot.NAILPLATE={type:3,value:"NAILPLATE"},Ot.RAILFASTENING={type:3,value:"RAILFASTENING"},Ot.RAILJOINT={type:3,value:"RAILJOINT"},Ot.RIVET={type:3,value:"RIVET"},Ot.ROPE={type:3,value:"ROPE"},Ot.SCREW={type:3,value:"SCREW"},Ot.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},Ot.STAPLE={type:3,value:"STAPLE"},Ot.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=Ot;class St{}St.AIRSTATION={type:3,value:"AIRSTATION"},St.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},St.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},St.OXYGENPLANT={type:3,value:"OXYGENPLANT"},St.VACUUMSTATION={type:3,value:"VACUUMSTATION"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=St;class xt{}xt.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},xt.BRACE={type:3,value:"BRACE"},xt.CHORD={type:3,value:"CHORD"},xt.COLLAR={type:3,value:"COLLAR"},xt.MEMBER={type:3,value:"MEMBER"},xt.MULLION={type:3,value:"MULLION"},xt.PLATE={type:3,value:"PLATE"},xt.POST={type:3,value:"POST"},xt.PURLIN={type:3,value:"PURLIN"},xt.RAFTER={type:3,value:"RAFTER"},xt.STAY_CABLE={type:3,value:"STAY_CABLE"},xt.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},xt.STRINGER={type:3,value:"STRINGER"},xt.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},xt.STRUT={type:3,value:"STRUT"},xt.STUD={type:3,value:"STUD"},xt.SUSPENDER={type:3,value:"SUSPENDER"},xt.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},xt.TIEBAR={type:3,value:"TIEBAR"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=xt;class wt{}wt.ACCESSPOINT={type:3,value:"ACCESSPOINT"},wt.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},wt.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},wt.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},wt.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},wt.MASTERUNIT={type:3,value:"MASTERUNIT"},wt.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},wt.MSCSERVER={type:3,value:"MSCSERVER"},wt.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},wt.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},wt.REMOTEUNIT={type:3,value:"REMOTEUNIT"},wt.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},wt.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=wt;class Bt{}Bt.BOLLARD={type:3,value:"BOLLARD"},Bt.LINETENSIONER={type:3,value:"LINETENSIONER"},Bt.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},Bt.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},Bt.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=Bt;class Ft{}Ft.BELTDRIVE={type:3,value:"BELTDRIVE"},Ft.COUPLING={type:3,value:"COUPLING"},Ft.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=Ft;class Mt{}Mt.BEACON={type:3,value:"BEACON"},Mt.BUOY={type:3,value:"BUOY"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=Mt;class Lt{}Lt.ACTOR={type:3,value:"ACTOR"},Lt.CONTROL={type:3,value:"CONTROL"},Lt.GROUP={type:3,value:"GROUP"},Lt.PROCESS={type:3,value:"PROCESS"},Lt.PRODUCT={type:3,value:"PRODUCT"},Lt.PROJECT={type:3,value:"PROJECT"},Lt.RESOURCE={type:3,value:"RESOURCE"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Lt;class Ut{}Ut.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Ut.CODEWAIVER={type:3,value:"CODEWAIVER"},Ut.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Ut.EXTERNAL={type:3,value:"EXTERNAL"},Ut.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Ut.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Ut.MODELVIEW={type:3,value:"MODELVIEW"},Ut.PARAMETER={type:3,value:"PARAMETER"},Ut.REQUIREMENT={type:3,value:"REQUIREMENT"},Ut.SPECIFICATION={type:3,value:"SPECIFICATION"},Ut.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Ut;class Ht{}Ht.ASSIGNEE={type:3,value:"ASSIGNEE"},Ht.ASSIGNOR={type:3,value:"ASSIGNOR"},Ht.LESSEE={type:3,value:"LESSEE"},Ht.LESSOR={type:3,value:"LESSOR"},Ht.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ht.OWNER={type:3,value:"OWNER"},Ht.TENANT={type:3,value:"TENANT"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ht;class Gt{}Gt.OPENING={type:3,value:"OPENING"},Gt.RECESS={type:3,value:"RECESS"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Gt;class kt{}kt.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},kt.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},kt.DATAOUTLET={type:3,value:"DATAOUTLET"},kt.POWEROUTLET={type:3,value:"POWEROUTLET"},kt.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=kt;class Vt{}Vt.FLEXIBLE={type:3,value:"FLEXIBLE"},Vt.RIGID={type:3,value:"RIGID"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=Vt;class Qt{}Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=Qt;class jt{}jt.GRILL={type:3,value:"GRILL"},jt.LOUVER={type:3,value:"LOUVER"},jt.SCREEN={type:3,value:"SCREEN"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=jt;class Wt{}Wt.ACCESS={type:3,value:"ACCESS"},Wt.BUILDING={type:3,value:"BUILDING"},Wt.WORK={type:3,value:"WORK"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Wt;class zt{}zt.PHYSICAL={type:3,value:"PHYSICAL"},zt.VIRTUAL={type:3,value:"VIRTUAL"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=zt;class Kt{}Kt.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Kt.COMPOSITE={type:3,value:"COMPOSITE"},Kt.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Kt.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=Kt;class Yt{}Yt.BORED={type:3,value:"BORED"},Yt.COHESION={type:3,value:"COHESION"},Yt.DRIVEN={type:3,value:"DRIVEN"},Yt.FRICTION={type:3,value:"FRICTION"},Yt.JETGROUTING={type:3,value:"JETGROUTING"},Yt.SUPPORT={type:3,value:"SUPPORT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Yt;class Xt{}Xt.BEND={type:3,value:"BEND"},Xt.CONNECTOR={type:3,value:"CONNECTOR"},Xt.ENTRY={type:3,value:"ENTRY"},Xt.EXIT={type:3,value:"EXIT"},Xt.JUNCTION={type:3,value:"JUNCTION"},Xt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Xt.TRANSITION={type:3,value:"TRANSITION"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Xt;class Zt{}Zt.CULVERT={type:3,value:"CULVERT"},Zt.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Zt.GUTTER={type:3,value:"GUTTER"},Zt.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Zt.SPOOL={type:3,value:"SPOOL"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Zt;class qt{}qt.BASE_PLATE={type:3,value:"BASE_PLATE"},qt.COVER_PLATE={type:3,value:"COVER_PLATE"},qt.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},qt.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},qt.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},qt.SHEET={type:3,value:"SHEET"},qt.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},qt.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},qt.WEB_PLATE={type:3,value:"WEB_PLATE"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=qt;class Jt{}Jt.CURVE3D={type:3,value:"CURVE3D"},Jt.PCURVE_S1={type:3,value:"PCURVE_S1"},Jt.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jt;class $t{}$t.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},$t.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},$t.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},$t.CALIBRATION={type:3,value:"CALIBRATION"},$t.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},$t.SHUTDOWN={type:3,value:"SHUTDOWN"},$t.STARTUP={type:3,value:"STARTUP"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=$t;class es{}es.AREA={type:3,value:"AREA"},es.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=es;class ts{}ts.CHANGEORDER={type:3,value:"CHANGEORDER"},ts.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},ts.MOVEORDER={type:3,value:"MOVEORDER"},ts.PURCHASEORDER={type:3,value:"PURCHASEORDER"},ts.WORKORDER={type:3,value:"WORKORDER"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=ts;class ss{}ss.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ss.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=ss;class is{}is.BLISTER={type:3,value:"BLISTER"},is.DEVIATOR={type:3,value:"DEVIATOR"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=is;class rs{}rs.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},rs.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},rs.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},rs.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},rs.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},rs.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},rs.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},rs.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},rs.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=rs;class os{}os.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},os.ELECTRONIC={type:3,value:"ELECTRONIC"},os.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},os.THERMAL={type:3,value:"THERMAL"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=os;class ns{}ns.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},ns.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ns.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ns.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ns.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ns.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ns.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ns.SPARKGAP={type:3,value:"SPARKGAP"},ns.VARISTOR={type:3,value:"VARISTOR"},ns.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=ns;class as{}as.CIRCULATOR={type:3,value:"CIRCULATOR"},as.ENDSUCTION={type:3,value:"ENDSUCTION"},as.SPLITCASE={type:3,value:"SPLITCASE"},as.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},as.SUMPPUMP={type:3,value:"SUMPPUMP"},as.VERTICALINLINE={type:3,value:"VERTICALINLINE"},as.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=as;class ls{}ls.BLADE={type:3,value:"BLADE"},ls.CHECKRAIL={type:3,value:"CHECKRAIL"},ls.GUARDRAIL={type:3,value:"GUARDRAIL"},ls.RACKRAIL={type:3,value:"RACKRAIL"},ls.RAIL={type:3,value:"RAIL"},ls.STOCKRAIL={type:3,value:"STOCKRAIL"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=ls;class hs{}hs.BALUSTRADE={type:3,value:"BALUSTRADE"},hs.FENCE={type:3,value:"FENCE"},hs.GUARDRAIL={type:3,value:"GUARDRAIL"},hs.HANDRAIL={type:3,value:"HANDRAIL"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=hs;class cs{}cs.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},cs.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},cs.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},cs.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},cs.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},cs.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},cs.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},cs.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=cs;class us{}us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=us;class As{}As.SPIRAL={type:3,value:"SPIRAL"},As.STRAIGHT={type:3,value:"STRAIGHT"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=As;class ps{}ps.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},ps.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},ps.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},ps.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},ps.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},ps.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},ps.USERDEFINED={type:3,value:"USERDEFINED"},ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=ps;class ds{}ds.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},ds.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},ds.DAILY={type:3,value:"DAILY"},ds.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},ds.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},ds.WEEKLY={type:3,value:"WEEKLY"},ds.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},ds.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=ds;class fs{}fs.BOUNDARY={type:3,value:"BOUNDARY"},fs.INTERSECTION={type:3,value:"INTERSECTION"},fs.KILOPOINT={type:3,value:"KILOPOINT"},fs.LANDMARK={type:3,value:"LANDMARK"},fs.MILEPOINT={type:3,value:"MILEPOINT"},fs.POSITION={type:3,value:"POSITION"},fs.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},fs.STATION={type:3,value:"STATION"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=fs;class ms{}ms.BLINN={type:3,value:"BLINN"},ms.FLAT={type:3,value:"FLAT"},ms.GLASS={type:3,value:"GLASS"},ms.MATT={type:3,value:"MATT"},ms.METAL={type:3,value:"METAL"},ms.MIRROR={type:3,value:"MIRROR"},ms.PHONG={type:3,value:"PHONG"},ms.PHYSICAL={type:3,value:"PHYSICAL"},ms.PLASTIC={type:3,value:"PLASTIC"},ms.STRAUSS={type:3,value:"STRAUSS"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=ms;class Es{}Es.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Es.GROUTED={type:3,value:"GROUTED"},Es.REPLACED={type:3,value:"REPLACED"},Es.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Es.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Es.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=Es;class ys{}ys.ANCHORING={type:3,value:"ANCHORING"},ys.EDGE={type:3,value:"EDGE"},ys.LIGATURE={type:3,value:"LIGATURE"},ys.MAIN={type:3,value:"MAIN"},ys.PUNCHING={type:3,value:"PUNCHING"},ys.RING={type:3,value:"RING"},ys.SHEAR={type:3,value:"SHEAR"},ys.STUD={type:3,value:"STUD"},ys.USERDEFINED={type:3,value:"USERDEFINED"},ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=ys;class gs{}gs.PLAIN={type:3,value:"PLAIN"},gs.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=gs;class vs{}vs.ANCHORING={type:3,value:"ANCHORING"},vs.EDGE={type:3,value:"EDGE"},vs.LIGATURE={type:3,value:"LIGATURE"},vs.MAIN={type:3,value:"MAIN"},vs.PUNCHING={type:3,value:"PUNCHING"},vs.RING={type:3,value:"RING"},vs.SHEAR={type:3,value:"SHEAR"},vs.SPACEBAR={type:3,value:"SPACEBAR"},vs.STUD={type:3,value:"STUD"},vs.USERDEFINED={type:3,value:"USERDEFINED"},vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=vs;class Is{}Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Is;class Ts{}Ts.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Ts.BUS_STOP={type:3,value:"BUS_STOP"},Ts.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Ts.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Ts.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Ts.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Ts.INTERSECTION={type:3,value:"INTERSECTION"},Ts.LAYBY={type:3,value:"LAYBY"},Ts.PARKINGBAY={type:3,value:"PARKINGBAY"},Ts.PASSINGBAY={type:3,value:"PASSINGBAY"},Ts.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Ts.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Ts.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Ts.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Ts.ROADSIDE={type:3,value:"ROADSIDE"},Ts.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Ts.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Ts.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Ts.SHOULDER={type:3,value:"SHOULDER"},Ts.SIDEWALK={type:3,value:"SIDEWALK"},Ts.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Ts.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Ts.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Ts.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Ts;class _s{}_s.USERDEFINED={type:3,value:"USERDEFINED"},_s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=_s;class Rs{}Rs.ARCHITECT={type:3,value:"ARCHITECT"},Rs.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Rs.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Rs.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Rs.CLIENT={type:3,value:"CLIENT"},Rs.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},Rs.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Rs.CONSULTANT={type:3,value:"CONSULTANT"},Rs.CONTRACTOR={type:3,value:"CONTRACTOR"},Rs.COSTENGINEER={type:3,value:"COSTENGINEER"},Rs.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Rs.ENGINEER={type:3,value:"ENGINEER"},Rs.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Rs.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Rs.MANUFACTURER={type:3,value:"MANUFACTURER"},Rs.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Rs.OWNER={type:3,value:"OWNER"},Rs.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Rs.RESELLER={type:3,value:"RESELLER"},Rs.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Rs.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Rs.SUPPLIER={type:3,value:"SUPPLIER"},Rs.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Rs;class Ps{}Ps.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ps.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ps.DOME_ROOF={type:3,value:"DOME_ROOF"},Ps.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ps.FREEFORM={type:3,value:"FREEFORM"},Ps.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ps.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ps.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ps.HIP_ROOF={type:3,value:"HIP_ROOF"},Ps.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ps.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ps.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ps.SHED_ROOF={type:3,value:"SHED_ROOF"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ps;class Ds{}Ds.ATTO={type:3,value:"ATTO"},Ds.CENTI={type:3,value:"CENTI"},Ds.DECA={type:3,value:"DECA"},Ds.DECI={type:3,value:"DECI"},Ds.EXA={type:3,value:"EXA"},Ds.FEMTO={type:3,value:"FEMTO"},Ds.GIGA={type:3,value:"GIGA"},Ds.HECTO={type:3,value:"HECTO"},Ds.KILO={type:3,value:"KILO"},Ds.MEGA={type:3,value:"MEGA"},Ds.MICRO={type:3,value:"MICRO"},Ds.MILLI={type:3,value:"MILLI"},Ds.NANO={type:3,value:"NANO"},Ds.PETA={type:3,value:"PETA"},Ds.PICO={type:3,value:"PICO"},Ds.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Ds;class Ns{}Ns.AMPERE={type:3,value:"AMPERE"},Ns.BECQUEREL={type:3,value:"BECQUEREL"},Ns.CANDELA={type:3,value:"CANDELA"},Ns.COULOMB={type:3,value:"COULOMB"},Ns.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Ns.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Ns.FARAD={type:3,value:"FARAD"},Ns.GRAM={type:3,value:"GRAM"},Ns.GRAY={type:3,value:"GRAY"},Ns.HENRY={type:3,value:"HENRY"},Ns.HERTZ={type:3,value:"HERTZ"},Ns.JOULE={type:3,value:"JOULE"},Ns.KELVIN={type:3,value:"KELVIN"},Ns.LUMEN={type:3,value:"LUMEN"},Ns.LUX={type:3,value:"LUX"},Ns.METRE={type:3,value:"METRE"},Ns.MOLE={type:3,value:"MOLE"},Ns.NEWTON={type:3,value:"NEWTON"},Ns.OHM={type:3,value:"OHM"},Ns.PASCAL={type:3,value:"PASCAL"},Ns.RADIAN={type:3,value:"RADIAN"},Ns.SECOND={type:3,value:"SECOND"},Ns.SIEMENS={type:3,value:"SIEMENS"},Ns.SIEVERT={type:3,value:"SIEVERT"},Ns.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Ns.STERADIAN={type:3,value:"STERADIAN"},Ns.TESLA={type:3,value:"TESLA"},Ns.VOLT={type:3,value:"VOLT"},Ns.WATT={type:3,value:"WATT"},Ns.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Ns;class Cs{}Cs.BATH={type:3,value:"BATH"},Cs.BIDET={type:3,value:"BIDET"},Cs.CISTERN={type:3,value:"CISTERN"},Cs.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Cs.SHOWER={type:3,value:"SHOWER"},Cs.SINK={type:3,value:"SINK"},Cs.TOILETPAN={type:3,value:"TOILETPAN"},Cs.URINAL={type:3,value:"URINAL"},Cs.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Cs.WCSEAT={type:3,value:"WCSEAT"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=Cs;class bs{}bs.TAPERED={type:3,value:"TAPERED"},bs.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=bs;class Os{}Os.CO2SENSOR={type:3,value:"CO2SENSOR"},Os.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Os.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Os.COSENSOR={type:3,value:"COSENSOR"},Os.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},Os.FIRESENSOR={type:3,value:"FIRESENSOR"},Os.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Os.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},Os.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Os.GASSENSOR={type:3,value:"GASSENSOR"},Os.HEATSENSOR={type:3,value:"HEATSENSOR"},Os.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Os.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Os.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Os.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Os.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Os.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Os.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Os.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},Os.PHSENSOR={type:3,value:"PHSENSOR"},Os.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Os.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Os.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Os.RAINSENSOR={type:3,value:"RAINSENSOR"},Os.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Os.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},Os.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Os.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Os.TRAINSENSOR={type:3,value:"TRAINSENSOR"},Os.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},Os.WHEELSENSOR={type:3,value:"WHEELSENSOR"},Os.WINDSENSOR={type:3,value:"WINDSENSOR"},Os.USERDEFINED={type:3,value:"USERDEFINED"},Os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Os;class Ss{}Ss.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ss.FINISH_START={type:3,value:"FINISH_START"},Ss.START_FINISH={type:3,value:"START_FINISH"},Ss.START_START={type:3,value:"START_START"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ss;class xs{}xs.AWNING={type:3,value:"AWNING"},xs.JALOUSIE={type:3,value:"JALOUSIE"},xs.SHUTTER={type:3,value:"SHUTTER"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=xs;class ws{}ws.MARKER={type:3,value:"MARKER"},ws.MIRROR={type:3,value:"MIRROR"},ws.PICTORAL={type:3,value:"PICTORAL"},ws.USERDEFINED={type:3,value:"USERDEFINED"},ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=ws;class Bs{}Bs.AUDIO={type:3,value:"AUDIO"},Bs.MIXED={type:3,value:"MIXED"},Bs.VISUAL={type:3,value:"VISUAL"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=Bs;class Fs{}Fs.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Fs.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Fs.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Fs.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Fs.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Fs.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Fs.Q_AREA={type:3,value:"Q_AREA"},Fs.Q_COUNT={type:3,value:"Q_COUNT"},Fs.Q_LENGTH={type:3,value:"Q_LENGTH"},Fs.Q_NUMBER={type:3,value:"Q_NUMBER"},Fs.Q_TIME={type:3,value:"Q_TIME"},Fs.Q_VOLUME={type:3,value:"Q_VOLUME"},Fs.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=Fs;class Ms{}Ms.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},Ms.BASESLAB={type:3,value:"BASESLAB"},Ms.FLOOR={type:3,value:"FLOOR"},Ms.LANDING={type:3,value:"LANDING"},Ms.PAVING={type:3,value:"PAVING"},Ms.ROOF={type:3,value:"ROOF"},Ms.SIDEWALK={type:3,value:"SIDEWALK"},Ms.TRACKSLAB={type:3,value:"TRACKSLAB"},Ms.WEARING={type:3,value:"WEARING"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Ms;class Ls{}Ls.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ls.SOLARPANEL={type:3,value:"SOLARPANEL"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Ls;class Us{}Us.CONVECTOR={type:3,value:"CONVECTOR"},Us.RADIATOR={type:3,value:"RADIATOR"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Us;class Hs{}Hs.BERTH={type:3,value:"BERTH"},Hs.EXTERNAL={type:3,value:"EXTERNAL"},Hs.GFA={type:3,value:"GFA"},Hs.INTERNAL={type:3,value:"INTERNAL"},Hs.PARKING={type:3,value:"PARKING"},Hs.SPACE={type:3,value:"SPACE"},Hs.USERDEFINED={type:3,value:"USERDEFINED"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Hs;class Gs{}Gs.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Gs.FIRESAFETY={type:3,value:"FIRESAFETY"},Gs.INTERFERENCE={type:3,value:"INTERFERENCE"},Gs.LIGHTING={type:3,value:"LIGHTING"},Gs.OCCUPANCY={type:3,value:"OCCUPANCY"},Gs.RESERVATION={type:3,value:"RESERVATION"},Gs.SECURITY={type:3,value:"SECURITY"},Gs.THERMAL={type:3,value:"THERMAL"},Gs.TRANSPORT={type:3,value:"TRANSPORT"},Gs.VENTILATION={type:3,value:"VENTILATION"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Gs;class ks{}ks.BIRDCAGE={type:3,value:"BIRDCAGE"},ks.COWL={type:3,value:"COWL"},ks.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=ks;class Vs{}Vs.CURVED={type:3,value:"CURVED"},Vs.FREEFORM={type:3,value:"FREEFORM"},Vs.SPIRAL={type:3,value:"SPIRAL"},Vs.STRAIGHT={type:3,value:"STRAIGHT"},Vs.WINDER={type:3,value:"WINDER"},Vs.USERDEFINED={type:3,value:"USERDEFINED"},Vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Vs;class Qs{}Qs.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Qs.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Qs.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Qs.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Qs.LADDER={type:3,value:"LADDER"},Qs.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Qs.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Qs.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Qs.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Qs.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Qs.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Qs.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Qs.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Qs.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Qs.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Qs;class js{}js.LOCKED={type:3,value:"LOCKED"},js.READONLY={type:3,value:"READONLY"},js.READONLYLOCKED={type:3,value:"READONLYLOCKED"},js.READWRITE={type:3,value:"READWRITE"},js.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=js;class Ws{}Ws.CONST={type:3,value:"CONST"},Ws.DISCRETE={type:3,value:"DISCRETE"},Ws.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ws.LINEAR={type:3,value:"LINEAR"},Ws.PARABOLA={type:3,value:"PARABOLA"},Ws.POLYGONAL={type:3,value:"POLYGONAL"},Ws.SINUS={type:3,value:"SINUS"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Ws;class zs{}zs.CABLE={type:3,value:"CABLE"},zs.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},zs.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},zs.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},zs.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=zs;class Ks{}Ks.BILINEAR={type:3,value:"BILINEAR"},Ks.CONST={type:3,value:"CONST"},Ks.DISCRETE={type:3,value:"DISCRETE"},Ks.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Ks;class Ys{}Ys.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Ys.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Ys.SHELL={type:3,value:"SHELL"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Ys;class Xs{}Xs.PURCHASE={type:3,value:"PURCHASE"},Xs.WORK={type:3,value:"WORK"},Xs.USERDEFINED={type:3,value:"USERDEFINED"},Xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Xs;class Zs{}Zs.DEFECT={type:3,value:"DEFECT"},Zs.HATCHMARKING={type:3,value:"HATCHMARKING"},Zs.LINEMARKING={type:3,value:"LINEMARKING"},Zs.MARK={type:3,value:"MARK"},Zs.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Zs.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Zs.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Zs.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Zs.TAG={type:3,value:"TAG"},Zs.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Zs.TREATMENT={type:3,value:"TREATMENT"},Zs.USERDEFINED={type:3,value:"USERDEFINED"},Zs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Zs;class qs{}qs.BOTH={type:3,value:"BOTH"},qs.NEGATIVE={type:3,value:"NEGATIVE"},qs.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=qs;class Js{}Js.CONTACTOR={type:3,value:"CONTACTOR"},Js.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},Js.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Js.KEYPAD={type:3,value:"KEYPAD"},Js.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},Js.RELAY={type:3,value:"RELAY"},Js.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},Js.STARTER={type:3,value:"STARTER"},Js.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},Js.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Js.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Js.USERDEFINED={type:3,value:"USERDEFINED"},Js.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Js;class $s{}$s.PANEL={type:3,value:"PANEL"},$s.SUBRACK={type:3,value:"SUBRACK"},$s.WORKSURFACE={type:3,value:"WORKSURFACE"},$s.USERDEFINED={type:3,value:"USERDEFINED"},$s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=$s;class ei{}ei.BASIN={type:3,value:"BASIN"},ei.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},ei.EXPANSION={type:3,value:"EXPANSION"},ei.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},ei.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},ei.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},ei.STORAGE={type:3,value:"STORAGE"},ei.VESSEL={type:3,value:"VESSEL"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=ei;class ti{}ti.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},ti.WORKTIME={type:3,value:"WORKTIME"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=ti;class si{}si.ADJUSTMENT={type:3,value:"ADJUSTMENT"},si.ATTENDANCE={type:3,value:"ATTENDANCE"},si.CALIBRATION={type:3,value:"CALIBRATION"},si.CONSTRUCTION={type:3,value:"CONSTRUCTION"},si.DEMOLITION={type:3,value:"DEMOLITION"},si.DISMANTLE={type:3,value:"DISMANTLE"},si.DISPOSAL={type:3,value:"DISPOSAL"},si.EMERGENCY={type:3,value:"EMERGENCY"},si.INSPECTION={type:3,value:"INSPECTION"},si.INSTALLATION={type:3,value:"INSTALLATION"},si.LOGISTIC={type:3,value:"LOGISTIC"},si.MAINTENANCE={type:3,value:"MAINTENANCE"},si.MOVE={type:3,value:"MOVE"},si.OPERATION={type:3,value:"OPERATION"},si.REMOVAL={type:3,value:"REMOVAL"},si.RENOVATION={type:3,value:"RENOVATION"},si.SAFETY={type:3,value:"SAFETY"},si.SHUTDOWN={type:3,value:"SHUTDOWN"},si.STARTUP={type:3,value:"STARTUP"},si.TESTING={type:3,value:"TESTING"},si.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=si;class ii{}ii.COUPLER={type:3,value:"COUPLER"},ii.FIXED_END={type:3,value:"FIXED_END"},ii.TENSIONING_END={type:3,value:"TENSIONING_END"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=ii;class ri{}ri.COUPLER={type:3,value:"COUPLER"},ri.DIABOLO={type:3,value:"DIABOLO"},ri.DUCT={type:3,value:"DUCT"},ri.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},ri.TRUMPET={type:3,value:"TRUMPET"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=ri;class oi{}oi.BAR={type:3,value:"BAR"},oi.COATED={type:3,value:"COATED"},oi.STRAND={type:3,value:"STRAND"},oi.WIRE={type:3,value:"WIRE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=oi;class ni{}ni.DOWN={type:3,value:"DOWN"},ni.LEFT={type:3,value:"LEFT"},ni.RIGHT={type:3,value:"RIGHT"},ni.UP={type:3,value:"UP"},e.IfcTextPath=ni;class ai{}ai.CONTINUOUS={type:3,value:"CONTINUOUS"},ai.DISCRETE={type:3,value:"DISCRETE"},ai.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},ai.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},ai.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},ai.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=ai;class li{}li.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},li.DERAILER={type:3,value:"DERAILER"},li.FROG={type:3,value:"FROG"},li.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},li.SLEEPER={type:3,value:"SLEEPER"},li.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},li.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},li.VEHICLESTOP={type:3,value:"VEHICLESTOP"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=li;class hi{}hi.CHOPPER={type:3,value:"CHOPPER"},hi.COMBINED={type:3,value:"COMBINED"},hi.CURRENT={type:3,value:"CURRENT"},hi.FREQUENCY={type:3,value:"FREQUENCY"},hi.INVERTER={type:3,value:"INVERTER"},hi.RECTIFIER={type:3,value:"RECTIFIER"},hi.VOLTAGE={type:3,value:"VOLTAGE"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=hi;class ci{}ci.CONTINUOUS={type:3,value:"CONTINUOUS"},ci.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ci.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},ci.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=ci;class ui{}ui.CRANEWAY={type:3,value:"CRANEWAY"},ui.ELEVATOR={type:3,value:"ELEVATOR"},ui.ESCALATOR={type:3,value:"ESCALATOR"},ui.HAULINGGEAR={type:3,value:"HAULINGGEAR"},ui.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},ui.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=ui;class Ai{}Ai.CARTESIAN={type:3,value:"CARTESIAN"},Ai.PARAMETER={type:3,value:"PARAMETER"},Ai.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Ai;class pi{}pi.FINNED={type:3,value:"FINNED"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=pi;class di{}di.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},di.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},di.AREAUNIT={type:3,value:"AREAUNIT"},di.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},di.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},di.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},di.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},di.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},di.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},di.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},di.ENERGYUNIT={type:3,value:"ENERGYUNIT"},di.FORCEUNIT={type:3,value:"FORCEUNIT"},di.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},di.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},di.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},di.LENGTHUNIT={type:3,value:"LENGTHUNIT"},di.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},di.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},di.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},di.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},di.MASSUNIT={type:3,value:"MASSUNIT"},di.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},di.POWERUNIT={type:3,value:"POWERUNIT"},di.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},di.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},di.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},di.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},di.TIMEUNIT={type:3,value:"TIMEUNIT"},di.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},di.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=di;class fi{}fi.ALARMPANEL={type:3,value:"ALARMPANEL"},fi.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},fi.COMBINED={type:3,value:"COMBINED"},fi.CONTROLPANEL={type:3,value:"CONTROLPANEL"},fi.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},fi.HUMIDISTAT={type:3,value:"HUMIDISTAT"},fi.INDICATORPANEL={type:3,value:"INDICATORPANEL"},fi.MIMICPANEL={type:3,value:"MIMICPANEL"},fi.THERMOSTAT={type:3,value:"THERMOSTAT"},fi.WEATHERSTATION={type:3,value:"WEATHERSTATION"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=fi;class mi{}mi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},mi.AIRHANDLER={type:3,value:"AIRHANDLER"},mi.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},mi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},mi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=mi;class Ei{}Ei.AIRRELEASE={type:3,value:"AIRRELEASE"},Ei.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Ei.CHANGEOVER={type:3,value:"CHANGEOVER"},Ei.CHECK={type:3,value:"CHECK"},Ei.COMMISSIONING={type:3,value:"COMMISSIONING"},Ei.DIVERTING={type:3,value:"DIVERTING"},Ei.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Ei.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Ei.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Ei.FAUCET={type:3,value:"FAUCET"},Ei.FLUSHING={type:3,value:"FLUSHING"},Ei.GASCOCK={type:3,value:"GASCOCK"},Ei.GASTAP={type:3,value:"GASTAP"},Ei.ISOLATING={type:3,value:"ISOLATING"},Ei.MIXING={type:3,value:"MIXING"},Ei.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Ei.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Ei.REGULATING={type:3,value:"REGULATING"},Ei.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Ei.STEAMTRAP={type:3,value:"STEAMTRAP"},Ei.STOPCOCK={type:3,value:"STOPCOCK"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Ei;class yi{}yi.CARGO={type:3,value:"CARGO"},yi.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},yi.VEHICLE={type:3,value:"VEHICLE"},yi.VEHICLEAIR={type:3,value:"VEHICLEAIR"},yi.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},yi.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},yi.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},yi.USERDEFINED={type:3,value:"USERDEFINED"},yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=yi;class gi{}gi.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},gi.BENDING_YIELD={type:3,value:"BENDING_YIELD"},gi.FRICTION={type:3,value:"FRICTION"},gi.RUBBER={type:3,value:"RUBBER"},gi.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},gi.VISCOUS={type:3,value:"VISCOUS"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=gi;class vi{}vi.BASE={type:3,value:"BASE"},vi.COMPRESSION={type:3,value:"COMPRESSION"},vi.SPRING={type:3,value:"SPRING"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=vi;class Ii{}Ii.BOUNDARY={type:3,value:"BOUNDARY"},Ii.CLEARANCE={type:3,value:"CLEARANCE"},Ii.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=Ii;class Ti{}Ti.CHAMFER={type:3,value:"CHAMFER"},Ti.CUTOUT={type:3,value:"CUTOUT"},Ti.EDGE={type:3,value:"EDGE"},Ti.HOLE={type:3,value:"HOLE"},Ti.MITER={type:3,value:"MITER"},Ti.NOTCH={type:3,value:"NOTCH"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Ti;class _i{}_i.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},_i.MOVABLE={type:3,value:"MOVABLE"},_i.PARAPET={type:3,value:"PARAPET"},_i.PARTITIONING={type:3,value:"PARTITIONING"},_i.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},_i.POLYGONAL={type:3,value:"POLYGONAL"},_i.RETAININGWALL={type:3,value:"RETAININGWALL"},_i.SHEAR={type:3,value:"SHEAR"},_i.SOLIDWALL={type:3,value:"SOLIDWALL"},_i.STANDARD={type:3,value:"STANDARD"},_i.WAVEWALL={type:3,value:"WAVEWALL"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=_i;class Ri{}Ri.FLOORTRAP={type:3,value:"FLOORTRAP"},Ri.FLOORWASTE={type:3,value:"FLOORWASTE"},Ri.GULLYSUMP={type:3,value:"GULLYSUMP"},Ri.GULLYTRAP={type:3,value:"GULLYTRAP"},Ri.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ri.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ri.WASTETRAP={type:3,value:"WASTETRAP"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Ri;class Pi{}Pi.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Pi.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Pi.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Pi.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Pi.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Pi.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Pi.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Pi.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Pi.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Pi.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Pi.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Pi.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Pi.TOPHUNG={type:3,value:"TOPHUNG"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Pi;class Di{}Di.BOTTOM={type:3,value:"BOTTOM"},Di.LEFT={type:3,value:"LEFT"},Di.MIDDLE={type:3,value:"MIDDLE"},Di.RIGHT={type:3,value:"RIGHT"},Di.TOP={type:3,value:"TOP"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Di;class Ni{}Ni.ALUMINIUM={type:3,value:"ALUMINIUM"},Ni.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Ni.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Ni.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Ni.PLASTIC={type:3,value:"PLASTIC"},Ni.STEEL={type:3,value:"STEEL"},Ni.WOOD={type:3,value:"WOOD"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=Ni;class Ci{}Ci.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Ci.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Ci.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Ci.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Ci.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Ci.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Ci.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Ci.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Ci.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Ci;class bi{}bi.LIGHTDOME={type:3,value:"LIGHTDOME"},bi.SKYLIGHT={type:3,value:"SKYLIGHT"},bi.WINDOW={type:3,value:"WINDOW"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=bi;class Oi{}Oi.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Oi.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Oi.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Oi.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Oi.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Oi.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Oi.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Oi.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Oi.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=Oi;class Si{}Si.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Si.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Si.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=Si;class xi{}xi.ACTUAL={type:3,value:"ACTUAL"},xi.BASELINE={type:3,value:"BASELINE"},xi.PLANNED={type:3,value:"PLANNED"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=xi;class wi{}wi.ACTUAL={type:3,value:"ACTUAL"},wi.BASELINE={type:3,value:"BASELINE"},wi.PLANNED={type:3,value:"PLANNED"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=wi;e.IfcActorRole=class extends dy{constructor(e,t,s,i){super(e),this.Role=t,this.UserDefinedRole=s,this.Description=i,this.type=3630933823}};class Bi extends dy{constructor(e,t,s,i){super(e),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.type=618182010}}e.IfcAddress=Bi;class Fi extends dy{constructor(e,t,s){super(e),this.StartTag=t,this.EndTag=s,this.type=2879124712}}e.IfcAlignmentParameterSegment=Fi;e.IfcAlignmentVerticalSegment=class extends Fi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.StartTag=t,this.EndTag=s,this.StartDistAlong=i,this.HorizontalLength=r,this.StartHeight=o,this.StartGradient=n,this.EndGradient=a,this.RadiusOfCurvature=l,this.PredefinedType=h,this.type=3633395639}};e.IfcApplication=class extends dy{constructor(e,t,s,i,r){super(e),this.ApplicationDeveloper=t,this.Version=s,this.ApplicationFullName=i,this.ApplicationIdentifier=r,this.type=639542469}};class Mi extends dy{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}e.IfcAppliedValue=Mi;e.IfcApproval=class extends dy{constructor(e,t,s,i,r,o,n,a,l,h){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.TimeOfApproval=r,this.Status=o,this.Level=n,this.Qualifier=a,this.RequestingApproval=l,this.GivingApproval=h,this.type=130549933}};class Li extends dy{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Li;e.IfcBoundaryEdgeCondition=class extends Li{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=s,this.TranslationalStiffnessByLengthY=i,this.TranslationalStiffnessByLengthZ=r,this.RotationalStiffnessByLengthX=o,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};e.IfcBoundaryFaceCondition=class extends Li{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=s,this.TranslationalStiffnessByAreaY=i,this.TranslationalStiffnessByAreaZ=r,this.type=3367102660}};class Ui extends Li{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}e.IfcBoundaryNodeCondition=Ui;e.IfcBoundaryNodeConditionWarping=class extends Ui{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=l,this.type=2069777674}};class Hi extends dy{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=Hi;class Gi extends Hi{constructor(e,t,s){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.type=2614616156}}e.IfcConnectionPointGeometry=Gi;e.IfcConnectionSurfaceGeometry=class extends Hi{constructor(e,t,s){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=s,this.type=2732653382}};e.IfcConnectionVolumeGeometry=class extends Hi{constructor(e,t,s){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=s,this.type=775493141}};class ki extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}e.IfcConstraint=ki;class Vi extends dy{constructor(e,t,s){super(e),this.SourceCRS=t,this.TargetCRS=s,this.type=1785450214}}e.IfcCoordinateOperation=Vi;class Qi extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.type=1466758467}}e.IfcCoordinateReferenceSystem=Qi;e.IfcCostValue=class extends Mi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};e.IfcDerivedUnit=class extends dy{constructor(e,t,s,i,r){super(e),this.Elements=t,this.UnitType=s,this.UserDefinedType=i,this.Name=r,this.type=1765591967}};e.IfcDerivedUnitElement=class extends dy{constructor(e,t,s){super(e),this.Unit=t,this.Exponent=s,this.type=1045800335}};e.IfcDimensionalExponents=class extends dy{constructor(e,t,s,i,r,o,n,a){super(e),this.LengthExponent=t,this.MassExponent=s,this.TimeExponent=i,this.ElectricCurrentExponent=r,this.ThermodynamicTemperatureExponent=o,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class ji extends dy{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=ji;class Wi extends dy{constructor(e,t,s,i){super(e),this.Location=t,this.Identification=s,this.Name=i,this.type=3200245327}}e.IfcExternalReference=Wi;e.IfcExternallyDefinedHatchStyle=class extends Wi{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=2242383968}};e.IfcExternallyDefinedSurfaceStyle=class extends Wi{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=1040185647}};e.IfcExternallyDefinedTextFont=class extends Wi{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=3548104201}};e.IfcGridAxis=class extends dy{constructor(e,t,s,i){super(e),this.AxisTag=t,this.AxisCurve=s,this.SameSense=i,this.type=852622518}};e.IfcIrregularTimeSeriesValue=class extends dy{constructor(e,t,s){super(e),this.TimeStamp=t,this.ListValues=s,this.type=3020489413}};e.IfcLibraryInformation=class extends ji{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Version=s,this.Publisher=i,this.VersionDate=r,this.Location=o,this.Description=n,this.type=2655187982}};e.IfcLibraryReference=class extends Wi{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.Language=o,this.ReferencedLibrary=n,this.type=3452421091}};e.IfcLightDistributionData=class extends dy{constructor(e,t,s,i){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=s,this.LuminousIntensity=i,this.type=4162380809}};e.IfcLightIntensityDistribution=class extends dy{constructor(e,t,s){super(e),this.LightDistributionCurve=t,this.DistributionData=s,this.type=1566485204}};e.IfcMapConversion=class extends Vi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s),this.SourceCRS=t,this.TargetCRS=s,this.Eastings=i,this.Northings=r,this.OrthogonalHeight=o,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=l,this.ScaleY=h,this.ScaleZ=c,this.type=3057273783}};e.IfcMaterialClassificationRelationship=class extends dy{constructor(e,t,s){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=s,this.type=1847130766}};class zi extends dy{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=zi;class Ki extends zi{constructor(e,t,s,i,r,o,n,a){super(e),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.type=248100487}}e.IfcMaterialLayer=Ki;e.IfcMaterialLayerSet=class extends zi{constructor(e,t,s,i){super(e),this.MaterialLayers=t,this.LayerSetName=s,this.Description=i,this.type=3303938423}};e.IfcMaterialLayerWithOffsets=class extends Ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.OffsetDirection=l,this.OffsetValues=h,this.type=1847252529}};e.IfcMaterialList=class extends dy{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class Yi extends zi{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.type=2235152071}}e.IfcMaterialProfile=Yi;e.IfcMaterialProfileSet=class extends zi{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.MaterialProfiles=i,this.CompositeProfile=r,this.type=164193824}};e.IfcMaterialProfileWithOffsets=class extends Yi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.OffsetValues=a,this.type=552965576}};class Xi extends dy{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=Xi;e.IfcMeasureWithUnit=class extends dy{constructor(e,t,s){super(e),this.ValueComponent=t,this.UnitComponent=s,this.type=2597039031}};e.IfcMetric=class extends ki{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=l,this.ValueSource=h,this.DataValue=c,this.ReferencePath=u,this.type=3368373690}};e.IfcMonetaryUnit=class extends dy{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class Zi extends dy{constructor(e,t,s){super(e),this.Dimensions=t,this.UnitType=s,this.type=1918398963}}e.IfcNamedUnit=Zi;class qi extends dy{constructor(e,t){super(e),this.PlacementRelTo=t,this.type=3701648758}}e.IfcObjectPlacement=qi;e.IfcObjective=class extends ki{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=l,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=u,this.type=2251480897}};e.IfcOrganization=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Roles=r,this.Addresses=o,this.type=4251960020}};e.IfcOwnerHistory=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.OwningUser=t,this.OwningApplication=s,this.State=i,this.ChangeAction=r,this.LastModifiedDate=o,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=l,this.type=1207048766}};e.IfcPerson=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Identification=t,this.FamilyName=s,this.GivenName=i,this.MiddleNames=r,this.PrefixTitles=o,this.SuffixTitles=n,this.Roles=a,this.Addresses=l,this.type=2077209135}};e.IfcPersonAndOrganization=class extends dy{constructor(e,t,s,i){super(e),this.ThePerson=t,this.TheOrganization=s,this.Roles=i,this.type=101040310}};class Ji extends dy{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2483315170}}e.IfcPhysicalQuantity=Ji;class $i extends Ji{constructor(e,t,s,i){super(e,t,s),this.Name=t,this.Description=s,this.Unit=i,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=$i;e.IfcPostalAddress=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.InternalLocation=r,this.AddressLines=o,this.PostalBox=n,this.Town=a,this.Region=l,this.PostalCode=h,this.Country=c,this.type=3355820592}};class er extends dy{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=er;class tr extends dy{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.type=2022622350}}e.IfcPresentationLayerAssignment=tr;e.IfcPresentationLayerWithStyle=class extends tr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.LayerOn=o,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=l,this.type=1304840413}};class sr extends dy{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=sr;class ir extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Representations=i,this.type=2095639259}}e.IfcProductRepresentation=ir;class rr extends dy{constructor(e,t,s){super(e),this.ProfileType=t,this.ProfileName=s,this.type=3958567839}}e.IfcProfileDef=rr;e.IfcProjectedCRS=class extends Qi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.MapProjection=o,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class or extends dy{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=or;e.IfcPropertyEnumeration=class extends or{constructor(e,t,s,i){super(e),this.Name=t,this.EnumerationValues=s,this.Unit=i,this.type=3710013099}};e.IfcQuantityArea=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.AreaValue=r,this.Formula=o,this.type=2044713172}};e.IfcQuantityCount=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.CountValue=r,this.Formula=o,this.type=2093928680}};e.IfcQuantityLength=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.LengthValue=r,this.Formula=o,this.type=931644368}};e.IfcQuantityNumber=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.NumberValue=r,this.Formula=o,this.type=2691318326}};e.IfcQuantityTime=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.TimeValue=r,this.Formula=o,this.type=3252649465}};e.IfcQuantityVolume=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.VolumeValue=r,this.Formula=o,this.type=2405470396}};e.IfcQuantityWeight=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.WeightValue=r,this.Formula=o,this.type=825690147}};e.IfcRecurrencePattern=class extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.RecurrenceType=t,this.DayComponent=s,this.WeekdayComponent=i,this.MonthComponent=r,this.Position=o,this.Interval=n,this.Occurrences=a,this.TimePeriods=l,this.type=3915482550}};e.IfcReference=class extends dy{constructor(e,t,s,i,r,o){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=s,this.InstanceName=i,this.ListPositions=r,this.InnerReference=o,this.type=2433181523}};class nr extends dy{constructor(e,t,s,i,r){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1076942058}}e.IfcRepresentation=nr;class ar extends dy{constructor(e,t,s){super(e),this.ContextIdentifier=t,this.ContextType=s,this.type=3377609919}}e.IfcRepresentationContext=ar;class lr extends dy{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=lr;e.IfcRepresentationMap=class extends dy{constructor(e,t,s){super(e),this.MappingOrigin=t,this.MappedRepresentation=s,this.type=1660063152}};class hr extends dy{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2439245199}}e.IfcResourceLevelRelationship=hr;class cr extends dy{constructor(e,t,s,i,r){super(e),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2341007311}}e.IfcRoot=cr;e.IfcSIUnit=class extends Zi{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Prefix=i,this.Name=r,this.type=448429030}};class ur extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.type=1054537805}}e.IfcSchedulingTime=ur;e.IfcShapeAspect=class extends dy{constructor(e,t,s,i,r,o){super(e),this.ShapeRepresentations=t,this.Name=s,this.Description=i,this.ProductDefinitional=r,this.PartOfProductDefinitionShape=o,this.type=867548509}};class Ar extends nr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3982875396}}e.IfcShapeModel=Ar;e.IfcShapeRepresentation=class extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=4240577450}};class pr extends dy{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=pr;class dr extends dy{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=dr;e.IfcStructuralLoadConfiguration=class extends dr{constructor(e,t,s,i){super(e,t),this.Name=t,this.Values=s,this.Locations=i,this.type=3478079324}};class fr extends dr{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=fr;class mr extends fr{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=mr;e.IfcStructuralLoadTemperature=class extends mr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.DeltaTConstant=s,this.DeltaTY=i,this.DeltaTZ=r,this.type=3408363356}};class Er extends nr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=2830218821}}e.IfcStyleModel=Er;e.IfcStyledItem=class extends lr{constructor(e,t,s,i){super(e),this.Item=t,this.Styles=s,this.Name=i,this.type=3958052878}};e.IfcStyledRepresentation=class extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3049322572}};e.IfcSurfaceReinforcementArea=class extends fr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SurfaceReinforcement1=s,this.SurfaceReinforcement2=i,this.ShearReinforcement=r,this.type=2934153892}};e.IfcSurfaceStyle=class extends sr{constructor(e,t,s,i){super(e,t),this.Name=t,this.Side=s,this.Styles=i,this.type=1300840506}};e.IfcSurfaceStyleLighting=class extends er{constructor(e,t,s,i,r){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=s,this.TransmissionColour=i,this.ReflectanceColour=r,this.type=3303107099}};e.IfcSurfaceStyleRefraction=class extends er{constructor(e,t,s){super(e),this.RefractionIndex=t,this.DispersionFactor=s,this.type=1607154358}};class yr extends er{constructor(e,t,s){super(e),this.SurfaceColour=t,this.Transparency=s,this.type=846575682}}e.IfcSurfaceStyleShading=yr;e.IfcSurfaceStyleWithTextures=class extends er{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class gr extends er{constructor(e,t,s,i,r,o){super(e),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.type=626085974}}e.IfcSurfaceTexture=gr;e.IfcTable=class extends dy{constructor(e,t,s,i){super(e),this.Name=t,this.Rows=s,this.Columns=i,this.type=985171141}};e.IfcTableColumn=class extends dy{constructor(e,t,s,i,r,o){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.Unit=r,this.ReferencePath=o,this.type=2043862942}};e.IfcTableRow=class extends dy{constructor(e,t,s){super(e),this.RowCells=t,this.IsHeading=s,this.type=531007025}};class vr extends ur{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.type=1549132990}}e.IfcTaskTime=vr;e.IfcTaskTimeRecurring=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.Recurrence=I,this.type=2771591690}};e.IfcTelecomAddress=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.TelephoneNumbers=r,this.FacsimileNumbers=o,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=l,this.MessagingIDs=h,this.type=912023232}};e.IfcTextStyle=class extends sr{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.TextCharacterAppearance=s,this.TextStyle=i,this.TextFontStyle=r,this.ModelOrDraughting=o,this.type=1447204868}};e.IfcTextStyleForDefinedFont=class extends er{constructor(e,t,s){super(e),this.Colour=t,this.BackgroundColour=s,this.type=2636378356}};e.IfcTextStyleTextModel=class extends er{constructor(e,t,s,i,r,o,n,a){super(e),this.TextIndent=t,this.TextAlign=s,this.TextDecoration=i,this.LetterSpacing=r,this.WordSpacing=o,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class Ir extends er{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=Ir;e.IfcTextureCoordinateGenerator=class extends Ir{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Mode=s,this.Parameter=i,this.type=1742049831}};class Tr extends dy{constructor(e,t,s){super(e),this.TexCoordIndex=t,this.TexCoordsOf=s,this.type=222769930}}e.IfcTextureCoordinateIndices=Tr;e.IfcTextureCoordinateIndicesWithVoids=class extends Tr{constructor(e,t,s,i){super(e,t,s),this.TexCoordIndex=t,this.TexCoordsOf=s,this.InnerTexCoordIndices=i,this.type=1010789467}};e.IfcTextureMap=class extends Ir{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Vertices=s,this.MappedTo=i,this.type=2552916305}};e.IfcTextureVertex=class extends er{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}};e.IfcTextureVertexList=class extends er{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}};e.IfcTimePeriod=class extends dy{constructor(e,t,s){super(e),this.StartTime=t,this.EndTime=s,this.type=1199560280}};class _r extends dy{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.type=3101149627}}e.IfcTimeSeries=_r;e.IfcTimeSeriesValue=class extends dy{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Rr extends lr{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Rr;e.IfcTopologyRepresentation=class extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1735638870}};e.IfcUnitAssignment=class extends dy{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Pr extends Rr{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Pr;e.IfcVertexPoint=class extends Pr{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}};e.IfcVirtualGridIntersection=class extends dy{constructor(e,t,s){super(e),this.IntersectingAxes=t,this.OffsetDistances=s,this.type=891718957}};e.IfcWorkTime=class extends ur{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.RecurrencePattern=r,this.StartDate=o,this.FinishDate=n,this.type=1236880293}};e.IfcAlignmentCantSegment=class extends Fi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.StartTag=t,this.EndTag=s,this.StartDistAlong=i,this.HorizontalLength=r,this.StartCantLeft=o,this.EndCantLeft=n,this.StartCantRight=a,this.EndCantRight=l,this.PredefinedType=h,this.type=3752311538}};e.IfcAlignmentHorizontalSegment=class extends Fi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.StartTag=t,this.EndTag=s,this.StartPoint=i,this.StartDirection=r,this.StartRadiusOfCurvature=o,this.EndRadiusOfCurvature=n,this.SegmentLength=a,this.GravityCenterLineHeight=l,this.PredefinedType=h,this.type=536804194}};e.IfcApprovalRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingApproval=i,this.RelatedApprovals=r,this.type=3869604511}};class Dr extends rr{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Dr;class Nr extends rr{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Nr;e.IfcArbitraryProfileDefWithVoids=class extends Dr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.InnerCurves=r,this.type=2705031697}};e.IfcBlobTexture=class extends gr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};e.IfcCenterLineProfileDef=class extends Nr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.Thickness=r,this.type=3150382593}};e.IfcClassification=class extends ji{constructor(e,t,s,i,r,o,n,a){super(e),this.Source=t,this.Edition=s,this.EditionDate=i,this.Name=r,this.Description=o,this.Specification=n,this.ReferenceTokens=a,this.type=747523909}};e.IfcClassificationReference=class extends Wi{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.ReferencedSource=r,this.Description=o,this.Sort=n,this.type=647927063}};e.IfcColourRgbList=class extends er{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Cr extends er{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Cr;e.IfcCompositeProfileDef=class extends rr{constructor(e,t,s,i,r){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Profiles=i,this.Label=r,this.type=1485152156}};class br extends Rr{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=br;e.IfcConnectionCurveGeometry=class extends Hi{constructor(e,t,s){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=s,this.type=1981873012}};e.IfcConnectionPointEccentricity=class extends Gi{constructor(e,t,s,i,r,o){super(e,t,s),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.EccentricityInX=i,this.EccentricityInY=r,this.EccentricityInZ=o,this.type=45288368}};e.IfcContextDependentUnit=class extends Zi{constructor(e,t,s,i){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.type=3050246964}};class Or extends Zi{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.type=2889183280}}e.IfcConversionBasedUnit=Or;e.IfcConversionBasedUnitWithOffset=class extends Or{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.ConversionOffset=o,this.type=2713554722}};e.IfcCurrencyRelationship=class extends hr{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMonetaryUnit=i,this.RelatedMonetaryUnit=r,this.ExchangeRate=o,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};e.IfcCurveStyle=class extends sr{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.CurveFont=s,this.CurveWidth=i,this.CurveColour=r,this.ModelOrDraughting=o,this.type=3800577675}};e.IfcCurveStyleFont=class extends er{constructor(e,t,s){super(e),this.Name=t,this.PatternList=s,this.type=1105321065}};e.IfcCurveStyleFontAndScaling=class extends er{constructor(e,t,s,i){super(e),this.Name=t,this.CurveStyleFont=s,this.CurveFontScaling=i,this.type=2367409068}};e.IfcCurveStyleFontPattern=class extends er{constructor(e,t,s){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=s,this.type=3510044353}};class Sr extends rr{constructor(e,t,s,i,r,o){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=3632507154}}e.IfcDerivedProfileDef=Sr;e.IfcDocumentInformation=class extends ji{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Location=r,this.Purpose=o,this.IntendedUse=n,this.Scope=a,this.Revision=l,this.DocumentOwner=h,this.Editors=c,this.CreationTime=u,this.LastRevisionTime=A,this.ElectronicFormat=p,this.ValidFrom=d,this.ValidUntil=f,this.Confidentiality=m,this.Status=E,this.type=1154170062}};e.IfcDocumentInformationRelationship=class extends hr{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingDocument=i,this.RelatedDocuments=r,this.RelationshipType=o,this.type=770865208}};e.IfcDocumentReference=class extends Wi{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.ReferencedDocument=o,this.type=3732053477}};class xr extends Rr{constructor(e,t,s){super(e),this.EdgeStart=t,this.EdgeEnd=s,this.type=3900360178}}e.IfcEdge=xr;e.IfcEdgeCurve=class extends xr{constructor(e,t,s,i,r){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.EdgeGeometry=i,this.SameSense=r,this.type=476780140}};e.IfcEventTime=class extends ur{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ActualDate=r,this.EarlyDate=o,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class wr extends or{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Properties=i,this.type=297599258}}e.IfcExtendedProperties=wr;e.IfcExternalReferenceRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingReference=i,this.RelatedResourceObjects=r,this.type=1437805879}};class Br extends Rr{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=Br;class Fr extends Rr{constructor(e,t,s){super(e),this.Bound=t,this.Orientation=s,this.type=1809719519}}e.IfcFaceBound=Fr;e.IfcFaceOuterBound=class extends Fr{constructor(e,t,s){super(e,t,s),this.Bound=t,this.Orientation=s,this.type=803316827}};class Mr extends Br{constructor(e,t,s,i){super(e,t),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3008276851}}e.IfcFaceSurface=Mr;e.IfcFailureConnectionCondition=class extends pr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TensionFailureX=s,this.TensionFailureY=i,this.TensionFailureZ=r,this.CompressionFailureX=o,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};e.IfcFillAreaStyle=class extends sr{constructor(e,t,s,i){super(e,t),this.Name=t,this.FillStyles=s,this.ModelOrDraughting=i,this.type=738692330}};class Lr extends ar{constructor(e,t,s,i,r,o,n){super(e,t,s),this.ContextIdentifier=t,this.ContextType=s,this.CoordinateSpaceDimension=i,this.Precision=r,this.WorldCoordinateSystem=o,this.TrueNorth=n,this.type=3448662350}}e.IfcGeometricRepresentationContext=Lr;class Ur extends lr{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Ur;e.IfcGeometricRepresentationSubContext=class extends Lr{constructor(e,s,i,r,o,n,a,l){super(e,s,i,new t(0),null,r,null),this.ContextIdentifier=s,this.ContextType=i,this.WorldCoordinateSystem=r,this.ParentContext=o,this.TargetScale=n,this.TargetView=a,this.UserDefinedTargetView=l,this.type=4142052618}};class Hr extends Ur{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Hr;e.IfcGridPlacement=class extends qi{constructor(e,t,s,i){super(e,t),this.PlacementRelTo=t,this.PlacementLocation=s,this.PlacementRefDirection=i,this.type=178086475}};class Gr extends Ur{constructor(e,t,s){super(e),this.BaseSurface=t,this.AgreementFlag=s,this.type=812098782}}e.IfcHalfSpaceSolid=Gr;e.IfcImageTexture=class extends gr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.URLReference=n,this.type=3905492369}};e.IfcIndexedColourMap=class extends er{constructor(e,t,s,i,r){super(e),this.MappedTo=t,this.Opacity=s,this.Colours=i,this.ColourIndex=r,this.type=3570813810}};class kr extends Ir{constructor(e,t,s,i){super(e,t),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.type=1437953363}}e.IfcIndexedTextureMap=kr;e.IfcIndexedTriangleTextureMap=class extends kr{constructor(e,t,s,i,r){super(e,t,s,i),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.TexCoordIndex=r,this.type=2133299955}};e.IfcIrregularTimeSeries=class extends _r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.Values=h,this.type=3741457305}};e.IfcLagTime=class extends ur{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.LagValue=r,this.DurationType=o,this.type=1585845231}};class Vr extends Ur{constructor(e,t,s,i,r){super(e),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=1402838566}}e.IfcLightSource=Vr;e.IfcLightSourceAmbient=class extends Vr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=125510826}};e.IfcLightSourceDirectional=class extends Vr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Orientation=o,this.type=2604431987}};e.IfcLightSourceGoniometric=class extends Vr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=l,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class Qr extends Vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.type=1520743889}}e.IfcLightSourcePositional=Qr;e.IfcLightSourceSpot=class extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=u,this.SpreadAngle=A,this.BeamWidthAngle=p,this.type=3422422726}};e.IfcLinearPlacement=class extends qi{constructor(e,t,s,i){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=s,this.CartesianPosition=i,this.type=388784114}};e.IfcLocalPlacement=class extends qi{constructor(e,t,s){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=s,this.type=2624227202}};class jr extends Rr{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=jr;e.IfcMappedItem=class extends lr{constructor(e,t,s){super(e),this.MappingSource=t,this.MappingTarget=s,this.type=2347385850}};e.IfcMaterial=class extends zi{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Category=i,this.type=1838606355}};e.IfcMaterialConstituent=class extends zi{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Description=s,this.Material=i,this.Fraction=r,this.Category=o,this.type=3708119e3}};e.IfcMaterialConstituentSet=class extends zi{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.MaterialConstituents=i,this.type=2852063980}};e.IfcMaterialDefinitionRepresentation=class extends ir{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.RepresentedMaterial=r,this.type=2022407955}};e.IfcMaterialLayerSetUsage=class extends Xi{constructor(e,t,s,i,r,o){super(e),this.ForLayerSet=t,this.LayerSetDirection=s,this.DirectionSense=i,this.OffsetFromReferenceLine=r,this.ReferenceExtent=o,this.type=1303795690}};class Wr extends Xi{constructor(e,t,s,i){super(e),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.type=3079605661}}e.IfcMaterialProfileSetUsage=Wr;e.IfcMaterialProfileSetUsageTapering=class extends Wr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.ForProfileEndSet=r,this.CardinalEndPoint=o,this.type=3404854881}};e.IfcMaterialProperties=class extends wr{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.Material=r,this.type=3265635763}};e.IfcMaterialRelationship=class extends hr{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMaterial=i,this.RelatedMaterials=r,this.MaterialExpression=o,this.type=853536259}};e.IfcMirroredProfileDef=class extends Sr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=2998442950}};class zr extends cr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=219451334}}e.IfcObjectDefinition=zr;e.IfcOpenCrossProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.HorizontalWidths=i,this.Widths=r,this.Slopes=o,this.Tags=n,this.OffsetPoint=a,this.type=182550632}};e.IfcOpenShell=class extends br{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}};e.IfcOrganizationRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingOrganization=i,this.RelatedOrganizations=r,this.type=1411181986}};e.IfcOrientedEdge=class extends xr{constructor(e,t,s,i){super(e,t,new py(0)),this.EdgeStart=t,this.EdgeElement=s,this.Orientation=i,this.type=1029017970}};class Kr extends rr{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.type=2529465313}}e.IfcParameterizedProfileDef=Kr;e.IfcPath=class extends Rr{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}};e.IfcPhysicalComplexQuantity=class extends Ji{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.HasQuantities=i,this.Discrimination=r,this.Quality=o,this.Usage=n,this.type=3021840470}};e.IfcPixelTexture=class extends gr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.Width=n,this.Height=a,this.ColourComponents=l,this.Pixel=h,this.type=597895409}};class Yr extends Ur{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=Yr;class Xr extends Ur{constructor(e,t,s){super(e),this.SizeInX=t,this.SizeInY=s,this.type=1663979128}}e.IfcPlanarExtent=Xr;class Zr extends Ur{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=Zr;e.IfcPointByDistanceExpression=class extends Zr{constructor(e,t,s,i,r,o){super(e),this.DistanceAlong=t,this.OffsetLateral=s,this.OffsetVertical=i,this.OffsetLongitudinal=r,this.BasisCurve=o,this.type=2165702409}};e.IfcPointOnCurve=class extends Zr{constructor(e,t,s){super(e),this.BasisCurve=t,this.PointParameter=s,this.type=4022376103}};e.IfcPointOnSurface=class extends Zr{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.PointParameterU=s,this.PointParameterV=i,this.type=1423911732}};e.IfcPolyLoop=class extends jr{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}};e.IfcPolygonalBoundedHalfSpace=class extends Gr{constructor(e,t,s,i,r){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Position=i,this.PolygonalBoundary=r,this.type=2775532180}};class qr extends er{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=qr;class Jr extends or{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=Jr;class $r extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=$r;e.IfcProductDefinitionShape=class extends ir{constructor(e,t,s,i){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.type=673634403}};e.IfcProfileProperties=class extends wr{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.ProfileDefinition=r,this.type=2802850158}};class eo extends or{constructor(e,t,s){super(e),this.Name=t,this.Specification=s,this.type=2598011224}}e.IfcProperty=eo;class to extends cr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1680319473}}e.IfcPropertyDefinition=to;e.IfcPropertyDependencyRelationship=class extends hr{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.DependingProperty=i,this.DependantProperty=r,this.Expression=o,this.type=148025276}};class so extends to{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3357820518}}e.IfcPropertySetDefinition=so;class io extends to{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1482703590}}e.IfcPropertyTemplateDefinition=io;class ro extends so{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2090586900}}e.IfcQuantitySet=ro;class oo extends Kr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.type=3615266464}}e.IfcRectangleProfileDef=oo;e.IfcRegularTimeSeries=class extends _r{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.TimeStep=h,this.Values=c,this.type=3413951693}};e.IfcReinforcementBarProperties=class extends Jr{constructor(e,t,s,i,r,o,n){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=s,this.BarSurface=i,this.EffectiveDepth=r,this.NominalBarDiameter=o,this.BarCount=n,this.type=1580146022}};class no extends cr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=478536968}}e.IfcRelationship=no;e.IfcResourceApprovalRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatedResourceObjects=i,this.RelatingApproval=r,this.type=2943643501}};e.IfcResourceConstraintRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedResourceObjects=r,this.type=1608871552}};e.IfcResourceTime=class extends ur{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ScheduleWork=r,this.ScheduleUsage=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=l,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=u,this.ActualWork=A,this.ActualUsage=p,this.ActualStart=d,this.ActualFinish=f,this.RemainingWork=m,this.RemainingUsage=E,this.Completion=y,this.type=1042787934}};e.IfcRoundedRectangleProfileDef=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.RoundingRadius=n,this.type=2778083089}};e.IfcSectionProperties=class extends Jr{constructor(e,t,s,i){super(e),this.SectionType=t,this.StartProfile=s,this.EndProfile=i,this.type=2042790032}};e.IfcSectionReinforcementProperties=class extends Jr{constructor(e,t,s,i,r,o,n){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=s,this.TransversePosition=i,this.ReinforcementRole=r,this.SectionDefinition=o,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};e.IfcSectionedSpine=class extends Ur{constructor(e,t,s,i){super(e),this.SpineCurve=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1509187699}};class ao extends Ur{constructor(e,t){super(e),this.Transition=t,this.type=823603102}}e.IfcSegment=ao;e.IfcShellBasedSurfaceModel=class extends Ur{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class lo extends eo{constructor(e,t,s){super(e,t,s),this.Name=t,this.Specification=s,this.type=3692461612}}e.IfcSimpleProperty=lo;e.IfcSlippageConnectionCondition=class extends pr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SlippageX=s,this.SlippageY=i,this.SlippageZ=r,this.type=2609359061}};class ho extends Ur{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=ho;e.IfcStructuralLoadLinearForce=class extends mr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearForceX=s,this.LinearForceY=i,this.LinearForceZ=r,this.LinearMomentX=o,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};e.IfcStructuralLoadPlanarForce=class extends mr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.PlanarForceX=s,this.PlanarForceY=i,this.PlanarForceZ=r,this.type=2668620305}};class co extends mr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=co;e.IfcStructuralLoadSingleDisplacementDistortion=class extends co{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=l,this.type=1973038258}};class uo extends mr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}e.IfcStructuralLoadSingleForce=uo;e.IfcStructuralLoadSingleForceWarping=class extends uo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=l,this.type=1190533807}};e.IfcSubedge=class extends xr{constructor(e,t,s,i){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.ParentEdge=i,this.type=2233826070}};class Ao extends Ur{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ao;e.IfcSurfaceStyleRendering=class extends yr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.SurfaceColour=t,this.Transparency=s,this.DiffuseColour=i,this.TransmissionColour=r,this.DiffuseTransmissionColour=o,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=l,this.ReflectanceMethod=h,this.type=1878645084}};class po extends ho{constructor(e,t,s){super(e),this.SweptArea=t,this.Position=s,this.type=2247615214}}e.IfcSweptAreaSolid=po;class fo extends ho{constructor(e,t,s,i,r,o){super(e),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.type=1260650574}}e.IfcSweptDiskSolid=fo;e.IfcSweptDiskSolidPolygonal=class extends fo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.FilletRadius=n,this.type=1096409881}};class mo extends Ao{constructor(e,t,s){super(e),this.SweptCurve=t,this.Position=s,this.type=230924584}}e.IfcSweptSurface=mo;e.IfcTShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=u,this.FlangeSlope=A,this.type=3071757647}};class Eo extends Ur{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=Eo;class yo extends Ur{constructor(e,t,s,i){super(e),this.Literal=t,this.Placement=s,this.Path=i,this.type=4282788508}}e.IfcTextLiteral=yo;e.IfcTextLiteralWithExtent=class extends yo{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Literal=t,this.Placement=s,this.Path=i,this.Extent=r,this.BoxAlignment=o,this.type=3124975700}};e.IfcTextStyleFontModel=class extends $r{constructor(e,t,s,i,r,o,n){super(e,t),this.Name=t,this.FontFamily=s,this.FontStyle=i,this.FontVariant=r,this.FontWeight=o,this.FontSize=n,this.type=1983826977}};e.IfcTrapeziumProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomXDim=r,this.TopXDim=o,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class go extends zr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.type=1628702193}}e.IfcTypeObject=go;class vo extends go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.type=3736923433}}e.IfcTypeProcess=vo;class Io extends go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.type=2347495698}}e.IfcTypeProduct=Io;class To extends go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.type=3698973494}}e.IfcTypeResource=To;e.IfcUShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};e.IfcVector=class extends Ur{constructor(e,t,s){super(e),this.Orientation=t,this.Magnitude=s,this.type=1417489154}};e.IfcVertexLoop=class extends jr{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}};e.IfcZShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.type=2543172580}};e.IfcAdvancedFace=class extends Mr{constructor(e,t,s,i){super(e,t,s,i),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3406155212}};e.IfcAnnotationFillArea=class extends Ur{constructor(e,t,s){super(e),this.OuterBoundary=t,this.InnerBoundaries=s,this.type=669184980}};e.IfcAsymmetricIShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomFlangeWidth=r,this.OverallDepth=o,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=l,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=u,this.BottomFlangeEdgeRadius=A,this.BottomFlangeSlope=p,this.TopFlangeEdgeRadius=d,this.TopFlangeSlope=f,this.type=3207858831}};e.IfcAxis1Placement=class extends Yr{constructor(e,t,s){super(e,t),this.Location=t,this.Axis=s,this.type=4261334040}};e.IfcAxis2Placement2D=class extends Yr{constructor(e,t,s){super(e,t),this.Location=t,this.RefDirection=s,this.type=3125803723}};e.IfcAxis2Placement3D=class extends Yr{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=2740243338}};e.IfcAxis2PlacementLinear=class extends Yr{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=3425423356}};class _o extends Ur{constructor(e,t,s,i){super(e),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=2736907675}}e.IfcBooleanResult=_o;class Ro extends Ao{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=Ro;e.IfcBoundingBox=class extends Ur{constructor(e,t,s,i,r){super(e),this.Corner=t,this.XDim=s,this.YDim=i,this.ZDim=r,this.type=2581212453}};e.IfcBoxedHalfSpace=class extends Gr{constructor(e,t,s,i){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Enclosure=i,this.type=2713105998}};e.IfcCShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=l,this.type=2898889636}};e.IfcCartesianPoint=class extends Zr{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Po extends Ur{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=Po;e.IfcCartesianPointList2D=class extends Po{constructor(e,t,s){super(e),this.CoordList=t,this.TagList=s,this.type=1675464909}};e.IfcCartesianPointList3D=class extends Po{constructor(e,t,s){super(e),this.CoordList=t,this.TagList=s,this.type=2059837836}};class Do extends Ur{constructor(e,t,s,i,r){super(e),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=59481748}}e.IfcCartesianTransformationOperator=Do;class No extends Do{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=No;e.IfcCartesianTransformationOperator2DnonUniform=class extends No{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Scale2=o,this.type=3486308946}};class Co extends Do{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Co;e.IfcCartesianTransformationOperator3DnonUniform=class extends Co{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class bo extends Kr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.type=1383045692}}e.IfcCircleProfileDef=bo;e.IfcClosedShell=class extends br{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}};e.IfcColourRgb=class extends Cr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.Red=s,this.Green=i,this.Blue=r,this.type=776857604}};e.IfcComplexProperty=class extends eo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.UsageName=i,this.HasProperties=r,this.type=2542286263}};class Oo extends ao{constructor(e,t,s,i){super(e,t),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.type=2485617015}}e.IfcCompositeCurveSegment=Oo;class So extends To{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.type=2574617495}}e.IfcConstructionResourceType=So;class xo extends zr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=3419103109}}e.IfcContext=xo;e.IfcCrewResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1815067380}};class wo extends Ur{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=wo;e.IfcCsgSolid=class extends ho{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Bo extends Ur{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Bo;e.IfcCurveBoundedPlane=class extends Ro{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.OuterBoundary=s,this.InnerBoundaries=i,this.type=2827736869}};e.IfcCurveBoundedSurface=class extends Ro{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.Boundaries=s,this.ImplicitOuter=i,this.type=2629017746}};e.IfcCurveSegment=class extends ao{constructor(e,t,s,i,r,o){super(e,t),this.Transition=t,this.Placement=s,this.SegmentStart=i,this.SegmentLength=r,this.ParentCurve=o,this.type=4212018352}};e.IfcDirection=class extends Ur{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};class Fo extends po{constructor(e,t,s,i,r,o){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.type=593015953}}e.IfcDirectrixCurveSweptAreaSolid=Fo;e.IfcEdgeLoop=class extends jr{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}};e.IfcElementQuantity=class extends ro{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.MethodOfMeasurement=o,this.Quantities=n,this.type=1883228015}};class Mo extends Io{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=339256511}}e.IfcElementType=Mo;class Lo extends Ao{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Lo;e.IfcEllipseProfileDef=class extends Kr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.SemiAxis1=r,this.SemiAxis2=o,this.type=2835456948}};e.IfcEventType=class extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=u,this.UserDefinedEventTriggerType=A,this.type=4024345920}};class Uo extends po{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=477187591}}e.IfcExtrudedAreaSolid=Uo;e.IfcExtrudedAreaSolidTapered=class extends Uo{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.EndSweptArea=o,this.type=2804161546}};e.IfcFaceBasedSurfaceModel=class extends Ur{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}};e.IfcFillAreaStyleHatching=class extends Ur{constructor(e,t,s,i,r,o){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=s,this.PointOfReferenceHatchLine=i,this.PatternStart=r,this.HatchLineAngle=o,this.type=374418227}};e.IfcFillAreaStyleTiles=class extends Ur{constructor(e,t,s,i){super(e),this.TilingPattern=t,this.Tiles=s,this.TilingScale=i,this.type=315944413}};class Ho extends Fo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.FixedReference=n,this.type=2652556860}}e.IfcFixedReferenceSweptAreaSolid=Ho;class Go extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=4238390223}}e.IfcFurnishingElementType=Go;e.IfcFurnitureType=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=u,this.type=1268542332}};e.IfcGeographicElementType=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};e.IfcGeometricCurveSet=class extends Hr{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};e.IfcIShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class ko extends Eo{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=ko;e.IfcIndexedPolygonalFaceWithVoids=class extends ko{constructor(e,t,s){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=s,this.type=2294589976}};e.IfcIndexedPolygonalTextureMap=class extends kr{constructor(e,t,s,i,r){super(e,t,s,i),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.TexCoordIndices=r,this.type=3465909080}};e.IfcLShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=l,this.LegSlope=h,this.type=572779678}};e.IfcLaborResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=428585644}};e.IfcLine=class extends Bo{constructor(e,t,s){super(e),this.Pnt=t,this.Dir=s,this.type=1281925730}};class Vo extends ho{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Vo;class Qo extends zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3888040117}}e.IfcObject=Qo;class jo extends Bo{constructor(e,t){super(e),this.BasisCurve=t,this.type=590820931}}e.IfcOffsetCurve=jo;e.IfcOffsetCurve2D=class extends jo{constructor(e,t,s,i){super(e,t),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.type=3388369263}};e.IfcOffsetCurve3D=class extends jo{constructor(e,t,s,i,r){super(e,t),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.RefDirection=r,this.type=3505215534}};e.IfcOffsetCurveByDistances=class extends jo{constructor(e,t,s,i){super(e,t),this.BasisCurve=t,this.OffsetValues=s,this.Tag=i,this.type=2485787929}};e.IfcPcurve=class extends Bo{constructor(e,t,s){super(e),this.BasisSurface=t,this.ReferenceCurve=s,this.type=1682466193}};e.IfcPlanarBox=class extends Xr{constructor(e,t,s,i){super(e,t,s),this.SizeInX=t,this.SizeInY=s,this.Placement=i,this.type=603570806}};e.IfcPlane=class extends Lo{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};e.IfcPolynomialCurve=class extends Bo{constructor(e,t,s,i,r){super(e),this.Position=t,this.CoefficientsX=s,this.CoefficientsY=i,this.CoefficientsZ=r,this.type=3381221214}};class Wo extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Wo;class zo extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=zo;class Ko extends so{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3967405729}}e.IfcPreDefinedPropertySet=Ko;e.IfcProcedureType=class extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class Yo extends Qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2945172077}}e.IfcProcess=Yo;class Xo extends Qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}e.IfcProduct=Xo;e.IfcProject=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=103090709}};e.IfcProjectLibrary=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=653396225}};e.IfcPropertyBoundedValue=class extends lo{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Specification=s,this.UpperBoundValue=i,this.LowerBoundValue=r,this.Unit=o,this.SetPointValue=n,this.type=871118103}};e.IfcPropertyEnumeratedValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.EnumerationValues=i,this.EnumerationReference=r,this.type=4166981789}};e.IfcPropertyListValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.ListValues=i,this.Unit=r,this.type=2752243245}};e.IfcPropertyReferenceValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.UsageName=i,this.PropertyReference=r,this.type=941946838}};e.IfcPropertySet=class extends so{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.HasProperties=o,this.type=1451395588}};e.IfcPropertySetTemplate=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};e.IfcPropertySingleValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.NominalValue=i,this.Unit=r,this.type=3650150729}};e.IfcPropertyTableValue=class extends lo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s),this.Name=t,this.Specification=s,this.DefiningValues=i,this.DefinedValues=r,this.Expression=o,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=l,this.type=110355661}};class Zo extends io{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3521284610}}e.IfcPropertyTemplate=Zo;e.IfcRectangleHollowProfileDef=class extends oo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=l,this.type=2770003689}};e.IfcRectangularPyramid=class extends wo{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.Height=r,this.type=2798486643}};e.IfcRectangularTrimmedSurface=class extends Ro{constructor(e,t,s,i,r,o,n,a){super(e),this.BasisSurface=t,this.U1=s,this.V1=i,this.U2=r,this.V2=o,this.Usense=n,this.Vsense=a,this.type=3454111270}};e.IfcReinforcementDefinitionProperties=class extends Ko{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DefinitionType=o,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class qo extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.type=3939117080}}e.IfcRelAssigns=qo;e.IfcRelAssignsToActor=class extends qo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=1683148259}};e.IfcRelAssignsToControl=class extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class Jo extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}e.IfcRelAssignsToGroup=Jo;e.IfcRelAssignsToGroupByFactor=class extends Jo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=l,this.type=1027710054}};e.IfcRelAssignsToProcess=class extends qo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=l,this.type=4278684876}};e.IfcRelAssignsToProduct=class extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};e.IfcRelAssignsToResource=class extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class $o extends no{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=1865459582}}e.IfcRelAssociates=$o;e.IfcRelAssociatesApproval=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingApproval=n,this.type=4095574036}};e.IfcRelAssociatesClassification=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingClassification=n,this.type=919958153}};e.IfcRelAssociatesConstraint=class extends $o{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};e.IfcRelAssociatesDocument=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingDocument=n,this.type=982818633}};e.IfcRelAssociatesLibrary=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingLibrary=n,this.type=3840914261}};e.IfcRelAssociatesMaterial=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingMaterial=n,this.type=2655215786}};e.IfcRelAssociatesProfileDef=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingProfileDef=n,this.type=1033248425}};class en extends no{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=826625072}}e.IfcRelConnects=en;class tn extends en{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}e.IfcRelConnectsElements=tn;e.IfcRelConnectsPathElements=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=l,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=u,this.type=3945020480}};e.IfcRelConnectsPortToElement=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedElement=n,this.type=4201705270}};e.IfcRelConnectsPorts=class extends en{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};e.IfcRelConnectsStructuralActivity=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralActivity=n,this.type=2127690289}};class sn extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}e.IfcRelConnectsStructuralMember=sn;e.IfcRelConnectsWithEccentricity=class extends sn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=u,this.type=504942748}};e.IfcRelConnectsWithRealizingElements=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=l,this.ConnectionType=h,this.type=3678494232}};e.IfcRelContainedInSpatialStructure=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=3242617779}};e.IfcRelCoversBldgElements=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedCoverings=n,this.type=886880790}};e.IfcRelCoversSpaces=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedCoverings=n,this.type=2802773753}};e.IfcRelDeclares=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingContext=o,this.RelatedDefinitions=n,this.type=2565941209}};class rn extends no{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2551354335}}e.IfcRelDecomposes=rn;class on extends no{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=693640335}}e.IfcRelDefines=on;e.IfcRelDefinesByObject=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingObject=n,this.type=1462361463}};e.IfcRelDefinesByProperties=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.type=4186316022}};e.IfcRelDefinesByTemplate=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedPropertySets=o,this.RelatingTemplate=n,this.type=307848117}};e.IfcRelDefinesByType=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingType=n,this.type=781010003}};e.IfcRelFillsElement=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingOpeningElement=o,this.RelatedBuildingElement=n,this.type=3940055652}};e.IfcRelFlowControlElements=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedControlElements=o,this.RelatingFlowElement=n,this.type=279856033}};e.IfcRelInterferesElements=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceSpace=l,this.InterferenceType=h,this.ImpliedOrder=c,this.type=427948657}};e.IfcRelNests=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=3268803585}};e.IfcRelPositions=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPositioningElement=o,this.RelatedProducts=n,this.type=1441486842}};e.IfcRelProjectsElement=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedFeatureElement=n,this.type=750771296}};e.IfcRelReferencedInSpatialStructure=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=1245217292}};e.IfcRelSequence=class extends en{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingProcess=o,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=l,this.UserDefinedSequenceType=h,this.type=4122056220}};e.IfcRelServicesBuildings=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSystem=o,this.RelatedBuildings=n,this.type=366585022}};class nn extends en{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.type=3451746338}}e.IfcRelSpaceBoundary=nn;class an extends nn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=an;e.IfcRelSpaceBoundary2ndLevel=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=u,this.type=1521410863}};e.IfcRelVoidsElement=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedOpeningElement=n,this.type=1401173127}};e.IfcReparametrisedCompositeCurveSegment=class extends Oo{constructor(e,t,s,i,r){super(e,t,s,i),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.ParamLength=r,this.type=816062949}};class ln extends Qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2914609552}}e.IfcResource=ln;class hn extends po{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.type=1856042241}}e.IfcRevolvedAreaSolid=hn;e.IfcRevolvedAreaSolidTapered=class extends hn{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.EndSweptArea=o,this.type=3243963512}};e.IfcRightCircularCone=class extends wo{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.BottomRadius=i,this.type=4158566097}};e.IfcRightCircularCylinder=class extends wo{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.Radius=i,this.type=3626867408}};class cn extends ho{constructor(e,t,s){super(e),this.Directrix=t,this.CrossSections=s,this.type=1862484736}}e.IfcSectionedSolid=cn;e.IfcSectionedSolidHorizontal=class extends cn{constructor(e,t,s,i){super(e,t,s),this.Directrix=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1290935644}};e.IfcSectionedSurface=class extends Ao{constructor(e,t,s,i){super(e),this.Directrix=t,this.CrossSectionPositions=s,this.CrossSections=i,this.type=1356537516}};e.IfcSimplePropertyTemplate=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=l,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=u,this.AccessState=A,this.type=3663146110}};class un extends Xo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=1412071761}}e.IfcSpatialElement=un;class An extends Io{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=710998568}}e.IfcSpatialElementType=An;class pn extends un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=2706606064}}e.IfcSpatialStructureElement=pn;class dn extends An{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893378262}}e.IfcSpatialStructureElementType=dn;e.IfcSpatialZone=class extends un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=463610769}};e.IfcSpatialZoneType=class extends An{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=2481509218}};e.IfcSphere=class extends wo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=451544542}};e.IfcSphericalSurface=class extends Lo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=4015995234}};class fn extends Bo{constructor(e,t){super(e),this.Position=t,this.type=2735484536}}e.IfcSpiral=fn;class mn extends Xo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3544373492}}e.IfcStructuralActivity=mn;class En extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}e.IfcStructuralItem=En;class yn extends En{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}e.IfcStructuralMember=yn;class gn extends mn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3689010777}}e.IfcStructuralReaction=gn;class vn extends yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=3979015343}}e.IfcStructuralSurfaceMember=vn;e.IfcStructuralSurfaceMemberVarying=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=2218152070}};e.IfcStructuralSurfaceReaction=class extends gn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};e.IfcSubContractResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4095615324}};class In extends Bo{constructor(e,t,s,i){super(e),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=699246055}}e.IfcSurfaceCurve=In;e.IfcSurfaceCurveSweptAreaSolid=class extends Fo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.ReferenceSurface=n,this.type=2028607225}};e.IfcSurfaceOfLinearExtrusion=class extends mo{constructor(e,t,s,i,r){super(e,t,s),this.SweptCurve=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=2809605785}};e.IfcSurfaceOfRevolution=class extends mo{constructor(e,t,s,i){super(e,t,s),this.SweptCurve=t,this.Position=s,this.AxisPosition=i,this.type=4124788165}};e.IfcSystemFurnitureElementType=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};e.IfcTask=class extends Yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Status=l,this.WorkMethod=h,this.IsMilestone=c,this.Priority=u,this.TaskTime=A,this.PredefinedType=p,this.type=3473067441}};e.IfcTaskType=class extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=u,this.type=3206491090}};class Tn extends Eo{constructor(e,t,s){super(e),this.Coordinates=t,this.Closed=s,this.type=2387106220}}e.IfcTessellatedFaceSet=Tn;e.IfcThirdOrderPolynomialSpiral=class extends fn{constructor(e,t,s,i,r,o){super(e,t),this.Position=t,this.CubicTerm=s,this.QuadraticTerm=i,this.LinearTerm=r,this.ConstantTerm=o,this.type=782932809}};e.IfcToroidalSurface=class extends Lo{constructor(e,t,s,i){super(e,t),this.Position=t,this.MajorRadius=s,this.MinorRadius=i,this.type=1935646853}};class _n extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3665877780}}e.IfcTransportationDeviceType=_n;class Rn extends Tn{constructor(e,t,s,i,r,o){super(e,t,s),this.Coordinates=t,this.Closed=s,this.Normals=i,this.CoordIndex=r,this.PnIndex=o,this.type=2916149573}}e.IfcTriangulatedFaceSet=Rn;e.IfcTriangulatedIrregularNetwork=class extends Rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Coordinates=t,this.Closed=s,this.Normals=i,this.CoordIndex=r,this.PnIndex=o,this.Flags=n,this.type=1229763772}};e.IfcVehicleType=class extends _n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3651464721}};e.IfcWindowLiningProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=l,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=u,this.SecondMullionOffset=A,this.ShapeAspectStyle=p,this.LiningOffset=d,this.LiningToPanelOffsetX=f,this.LiningToPanelOffsetY=m,this.type=336235671}};e.IfcWindowPanelProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=512836454}};class Pn extends Qo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.type=2296667514}}e.IfcActor=Pn;class Dn extends Vo{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Dn;e.IfcAdvancedBrepWithVoids=class extends Dn{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=2603310189}};e.IfcAnnotation=class extends Xo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=1674181508}};class Nn extends Ro{constructor(e,t,s,i,r,o,n,a){super(e),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}e.IfcBSplineSurface=Nn;class Cn extends Nn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=Cn;e.IfcBlock=class extends wo{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.ZLength=r,this.type=1334484129}};e.IfcBooleanClippingResult=class extends _o{constructor(e,t,s,i){super(e,t,s,i),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=3649129432}};class bn extends Bo{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=bn;e.IfcBuildingStorey=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};class On extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1626504194}}e.IfcBuiltElementType=On;e.IfcChimneyType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};e.IfcCircleHollowProfileDef=class extends bo{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.WallThickness=o,this.type=2937912522}};e.IfcCivilElementType=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893394355}};e.IfcClothoid=class extends fn{constructor(e,t,s){super(e,t),this.Position=t,this.ClothoidConstant=s,this.type=3497074424}};e.IfcColumnType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};e.IfcComplexPropertyTemplate=class extends Zo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.UsageName=o,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class Sn extends bn{constructor(e,t,s){super(e),this.Segments=t,this.SelfIntersect=s,this.type=3732776249}}e.IfcCompositeCurve=Sn;class xn extends Sn{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=15328376}}e.IfcCompositeCurveOnSurface=xn;class wn extends Bo{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=wn;e.IfcConstructionEquipmentResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=2185764099}};e.IfcConstructionMaterialResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4105962743}};e.IfcConstructionProductResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1525564444}};class Bn extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}e.IfcConstructionResource=Bn;class Fn extends Qo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.type=3293443760}}e.IfcControl=Fn;e.IfcCosineSpiral=class extends fn{constructor(e,t,s,i){super(e,t),this.Position=t,this.CosineTerm=s,this.ConstantTerm=i,this.type=2000195564}};e.IfcCostItem=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.CostValues=l,this.CostQuantities=h,this.type=3895139033}};e.IfcCostSchedule=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};e.IfcCourseType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4189326743}};e.IfcCoveringType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};e.IfcCrewResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3295246426}};e.IfcCurtainWallType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};e.IfcCylindricalSurface=class extends Lo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=1213902940}};class Mn extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1306400036}}e.IfcDeepFoundationType=Mn;e.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends Ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o,n),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.FixedReference=n,this.type=4234616927}};class Ln extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3256556792}}e.IfcDistributionElementType=Ln;class Un extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3849074793}}e.IfcDistributionFlowElementType=Un;e.IfcDoorLiningProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=l,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=u,this.ThresholdOffset=A,this.CasingThickness=p,this.CasingDepth=d,this.ShapeAspectStyle=f,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=E,this.type=2963535650}};e.IfcDoorPanelProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PanelDepth=o,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=l,this.ShapeAspectStyle=h,this.type=1714330368}};e.IfcDoorType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.OperationType=u,this.ParameterTakesPrecedence=A,this.UserDefinedOperationType=p,this.type=2323601079}};e.IfcDraughtingPreDefinedColour=class extends Wo{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}};e.IfcDraughtingPreDefinedCurveFont=class extends zo{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Hn extends Xo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1758889154}}e.IfcElement=Hn;e.IfcElementAssembly=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};e.IfcElementAssemblyType=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class Gn extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1623761950}}e.IfcElementComponent=Gn;class kn extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2590856083}}e.IfcElementComponentType=kn;e.IfcEllipse=class extends wn{constructor(e,t,s,i){super(e,t),this.Position=t,this.SemiAxis1=s,this.SemiAxis2=i,this.type=1704287377}};class Vn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Vn;e.IfcEngineType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};e.IfcEvaporativeCoolerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};e.IfcEvaporatorType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};e.IfcEvent=class extends Yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=u,this.type=4148101412}};class Qn extends un{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=2853485674}}e.IfcExternalSpatialStructureElement=Qn;class jn extends Vo{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=jn;e.IfcFacetedBrepWithVoids=class extends jn{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=3737207727}};class Wn extends pn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=24185140}}e.IfcFacility=Wn;class zn extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.type=1310830890}}e.IfcFacilityPart=zn;e.IfcFacilityPartCommon=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=4228831410}};e.IfcFastener=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=647756555}};e.IfcFastenerType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class Kn extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2827207264}}e.IfcFeatureElement=Kn;class Yn extends Kn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2143335405}}e.IfcFeatureElementAddition=Yn;class Xn extends Kn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1287392070}}e.IfcFeatureElementSubtraction=Xn;class Zn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3907093117}}e.IfcFlowControllerType=Zn;class qn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3198132628}}e.IfcFlowFittingType=qn;e.IfcFlowMeterType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Jn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1482959167}}e.IfcFlowMovingDeviceType=Jn;class $n extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1834744321}}e.IfcFlowSegmentType=$n;class ea extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1339347760}}e.IfcFlowStorageDeviceType=ea;class ta extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2297155007}}e.IfcFlowTerminalType=ta;class sa extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=sa;e.IfcFootingType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class ia extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=263784265}}e.IfcFurnishingElement=ia;e.IfcFurniture=class extends ia{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1509553395}};e.IfcGeographicElement=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3493046030}};class ra extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4230923436}}e.IfcGeotechnicalElement=ra;e.IfcGeotechnicalStratum=class extends ra{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1594536857}};e.IfcGradientCurve=class extends Sn{constructor(e,t,s,i,r){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.BaseCurve=i,this.EndPoint=r,this.type=2898700619}};class oa extends Qo{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2706460486}}e.IfcGroup=oa;e.IfcHeatExchangerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};e.IfcHumidifierType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};e.IfcImpactProtectionDevice=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2568555532}};e.IfcImpactProtectionDeviceType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3948183225}};e.IfcIndexedPolyCurve=class extends bn{constructor(e,t,s,i){super(e),this.Points=t,this.Segments=s,this.SelfIntersect=i,this.type=2571569899}};e.IfcInterceptorType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};e.IfcIntersectionCurve=class extends In{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=3113134337}};e.IfcInventory=class extends oa{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=l,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=u,this.type=2391368822}};e.IfcJunctionBoxType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};e.IfcKerbType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.Mountable=c,this.type=679976338}};e.IfcLaborResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3827777499}};e.IfcLampType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};e.IfcLightFixtureType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};class na extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=2176059722}}e.IfcLinearElement=na;e.IfcLiquidTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1770583370}};e.IfcMarineFacility=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=525669439}};e.IfcMarinePart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=976884017}};e.IfcMechanicalFastener=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=u,this.type=377706215}};e.IfcMechanicalFastenerType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.NominalLength=A,this.type=2108223431}};e.IfcMedicalDeviceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};e.IfcMemberType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};e.IfcMobileTelecommunicationsApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1950438474}};e.IfcMooringDeviceType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=710110818}};e.IfcMotorConnectionType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};e.IfcNavigationElementType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=506776471}};e.IfcOccupant=class extends Pn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};e.IfcOpeningElement=class extends Xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3588315303}};e.IfcOutletType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};e.IfcPavementType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=514975943}};e.IfcPerformanceHistory=class extends Fn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=l,this.type=2382730787}};e.IfcPermeableCoveringProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=3566463478}};e.IfcPermit=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3327091369}};e.IfcPileType=class extends Mn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};e.IfcPipeFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};e.IfcPipeSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};e.IfcPlateType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};e.IfcPolygonalFaceSet=class extends Tn{constructor(e,t,s,i,r){super(e,t,s),this.Coordinates=t,this.Closed=s,this.Faces=i,this.PnIndex=r,this.type=2839578677}};e.IfcPolyline=class extends bn{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class aa extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}e.IfcPort=aa;class la extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1946335990}}e.IfcPositioningElement=la;e.IfcProcedure=class extends Yo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.type=2744685151}};e.IfcProjectOrder=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=2904328755}};e.IfcProjectionElement=class extends Yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3651124850}};e.IfcProtectiveDeviceType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};e.IfcPumpType=class extends Jn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};e.IfcRailType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1763565496}};e.IfcRailingType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};e.IfcRailway=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=3992365140}};e.IfcRailwayPart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=1891881377}};e.IfcRampFlightType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};e.IfcRampType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};e.IfcRationalBSplineSurfaceWithKnots=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.WeightsData=p,this.type=683857671}};e.IfcReferent=class extends la{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=4021432810}};class ha extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=3027567501}}e.IfcReinforcingElement=ha;class ca extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=964333572}}e.IfcReinforcingElementType=ca;e.IfcReinforcingMesh=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=u,this.LongitudinalBarNominalDiameter=A,this.TransverseBarNominalDiameter=p,this.LongitudinalBarCrossSectionArea=d,this.TransverseBarCrossSectionArea=f,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=E,this.PredefinedType=y,this.type=2320036040}};e.IfcReinforcingMeshType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.MeshLength=u,this.MeshWidth=A,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=E,this.TransverseBarSpacing=y,this.BendingShapeCode=g,this.BendingParameters=v,this.type=2310774935}};e.IfcRelAdheresToElement=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedSurfaceFeatures=n,this.type=3818125796}};e.IfcRelAggregates=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=160246688}};e.IfcRoad=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=146592293}};e.IfcRoadPart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=550521510}};e.IfcRoofType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};e.IfcSanitaryTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};e.IfcSeamCurve=class extends In{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=2157484638}};e.IfcSecondOrderPolynomialSpiral=class extends fn{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.QuadraticTerm=s,this.LinearTerm=i,this.ConstantTerm=r,this.type=3649235739}};e.IfcSegmentedReferenceCurve=class extends Sn{constructor(e,t,s,i,r){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.BaseCurve=i,this.EndPoint=r,this.type=544395925}};e.IfcSeventhOrderPolynomialSpiral=class extends fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t),this.Position=t,this.SepticTerm=s,this.SexticTerm=i,this.QuinticTerm=r,this.QuarticTerm=o,this.CubicTerm=n,this.QuadraticTerm=a,this.LinearTerm=l,this.ConstantTerm=h,this.type=1027922057}};e.IfcShadingDeviceType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};e.IfcSign=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=33720170}};e.IfcSignType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3599934289}};e.IfcSignalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1894708472}};e.IfcSineSpiral=class extends fn{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.SineTerm=s,this.LinearTerm=i,this.ConstantTerm=r,this.type=42703149}};e.IfcSite=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=u,this.RefElevation=A,this.LandTitleNumber=p,this.SiteAddress=d,this.type=4097777520}};e.IfcSlabType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};e.IfcSolarDeviceType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};e.IfcSpace=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=u,this.type=3856911033}};e.IfcSpaceHeaterType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};e.IfcSpaceType=class extends dn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=3812236995}};e.IfcStackTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};e.IfcStairFlightType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};e.IfcStairType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class ua extends mn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}e.IfcStructuralAction=ua;class Aa extends En{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1179482911}}e.IfcStructuralConnection=Aa;class pa extends ua{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1004757350}}e.IfcStructuralCurveAction=pa;e.IfcStructuralCurveConnection=class extends Aa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.AxisDirection=h,this.type=4243806635}};class da extends yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=214636428}}e.IfcStructuralCurveMember=da;e.IfcStructuralCurveMemberVarying=class extends da{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=2445595289}};e.IfcStructuralCurveReaction=class extends gn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};e.IfcStructuralLinearAction=class extends pa{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1807405624}};class fa extends oa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}e.IfcStructuralLoadGroup=fa;e.IfcStructuralPointAction=class extends ua{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};e.IfcStructuralPointConnection=class extends Aa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.ConditionCoordinateSystem=h,this.type=734778138}};e.IfcStructuralPointReaction=class extends gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=1235345126}};e.IfcStructuralResultGroup=class extends oa{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=l,this.type=2986769608}};class ma extends ua{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=3657597509}}e.IfcStructuralSurfaceAction=ma;e.IfcStructuralSurfaceConnection=class extends Aa{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1975003073}};e.IfcSubContractResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=148013059}};e.IfcSurfaceFeature=class extends Kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3101698114}};e.IfcSwitchingDeviceType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Ea extends oa{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2254336722}}e.IfcSystem=Ea;e.IfcSystemFurnitureElement=class extends ia{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=413509423}};e.IfcTankType=class extends ea{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};e.IfcTendon=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.TensionForce=p,this.PreStress=d,this.FrictionCoefficient=f,this.AnchorageSlip=m,this.MinCurvatureRadius=E,this.type=3824725483}};e.IfcTendonAnchor=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};e.IfcTendonAnchorType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};e.IfcTendonConduit=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.type=3663046924}};e.IfcTendonConduitType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2281632017}};e.IfcTendonType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.SheathDiameter=p,this.type=2415094496}};e.IfcTrackElementType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=618700268}};e.IfcTransformerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};e.IfcTransportElementType=class extends _n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class ya extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1953115116}}e.IfcTransportationDevice=ya;e.IfcTrimmedCurve=class extends bn{constructor(e,t,s,i,r,o){super(e),this.BasisCurve=t,this.Trim1=s,this.Trim2=i,this.SenseAgreement=r,this.MasterRepresentation=o,this.type=3593883385}};e.IfcTubeBundleType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};e.IfcUnitaryEquipmentType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};e.IfcValveType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};e.IfcVehicle=class extends ya{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=840318589}};e.IfcVibrationDamper=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1530820697}};e.IfcVibrationDamperType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3956297820}};e.IfcVibrationIsolator=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391383451}};e.IfcVibrationIsolatorType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};e.IfcVirtualElement=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2769231204}};e.IfcVoidingFeature=class extends Xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=926996030}};e.IfcWallType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};e.IfcWasteTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};e.IfcWindowType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=u,this.ParameterTakesPrecedence=A,this.UserDefinedPartitioningType=p,this.type=4009809668}};e.IfcWorkCalendar=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=l,this.PredefinedType=h,this.type=4088093105}};class ga extends Fn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.type=1028945134}}e.IfcWorkControl=ga;e.IfcWorkPlan=class extends ga{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=4218914973}};e.IfcWorkSchedule=class extends ga{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=3342526732}};e.IfcZone=class extends Ea{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.type=1033361043}};e.IfcActionRequest=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3821786052}};e.IfcAirTerminalBoxType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};e.IfcAirTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};e.IfcAirToAirHeatRecoveryType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};e.IfcAlignmentCant=class extends na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.RailHeadDistance=l,this.type=4266260250}};e.IfcAlignmentHorizontal=class extends na{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1545765605}};e.IfcAlignmentSegment=class extends na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.DesignParameters=l,this.type=317615605}};e.IfcAlignmentVertical=class extends na{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1662888072}};e.IfcAsset=class extends oa{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.OriginalValue=a,this.CurrentValue=l,this.TotalReplacementCost=h,this.Owner=c,this.User=u,this.ResponsiblePerson=A,this.IncorporationDate=p,this.DepreciatedValue=d,this.type=3460190687}};e.IfcAudioVisualApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class va extends bn{constructor(e,t,s,i,r,o){super(e),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1967976161}}e.IfcBSplineCurve=va;class Ia extends va{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.type=2461110595}}e.IfcBSplineCurveWithKnots=Ia;e.IfcBeamType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};e.IfcBearingType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3649138523}};e.IfcBoilerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class Ta extends xn{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=1136057603}}e.IfcBoundaryCurve=Ta;e.IfcBridge=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=644574406}};e.IfcBridgePart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=963979645}};e.IfcBuilding=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=u,this.BuildingAddress=A,this.type=4031249490}};e.IfcBuildingElementPart=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2979338954}};e.IfcBuildingElementPartType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};e.IfcBuildingElementProxyType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};e.IfcBuildingSystem=class extends Ea{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};class _a extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1876633798}}e.IfcBuiltElement=_a;e.IfcBuiltSystem=class extends Ea{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.LongName=a,this.type=3862327254}};e.IfcBurnerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};e.IfcCableCarrierFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};e.IfcCableCarrierSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};e.IfcCableFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};e.IfcCableSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};e.IfcCaissonFoundationType=class extends Mn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3203706013}};e.IfcChillerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};e.IfcChimney=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3296154744}};e.IfcCircle=class extends wn{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=2611217952}};e.IfcCivilElement=class extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1677625105}};e.IfcCoilType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};e.IfcColumn=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=843113511}};e.IfcCommunicationsApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};e.IfcCompressorType=class extends Jn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};e.IfcCondenserType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};e.IfcConstructionEquipmentResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3898045240}};e.IfcConstructionMaterialResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=1060000209}};e.IfcConstructionProductResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=488727124}};e.IfcConveyorSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2940368186}};e.IfcCooledBeamType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};e.IfcCoolingTowerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};e.IfcCourse=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1502416096}};e.IfcCovering=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1973544240}};e.IfcCurtainWall=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3495092785}};e.IfcDamperType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};class Ra extends _a{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3426335179}}e.IfcDeepFoundation=Ra;e.IfcDiscreteAccessory=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1335981549}};e.IfcDiscreteAccessoryType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};e.IfcDistributionBoardType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=479945903}};e.IfcDistributionChamberElementType=class extends Un{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class Pa extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2063403501}}e.IfcDistributionControlElementType=Pa;class Da extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1945004755}}e.IfcDistributionElement=Da;class Na extends Da{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3040386961}}e.IfcDistributionFlowElement=Na;e.IfcDistributionPort=class extends aa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=l,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Ca extends Ea{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}e.IfcDistributionSystem=Ca;e.IfcDoor=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.OperationType=A,this.UserDefinedOperationType=p,this.type=395920057}};e.IfcDuctFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};e.IfcDuctSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};e.IfcDuctSilencerType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};e.IfcEarthworksCut=class extends Xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3071239417}};class ba extends _a{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1077100507}}e.IfcEarthworksElement=ba;e.IfcEarthworksFill=class extends ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3376911765}};e.IfcElectricApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};e.IfcElectricDistributionBoardType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};e.IfcElectricFlowStorageDeviceType=class extends ea{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};e.IfcElectricFlowTreatmentDeviceType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2142170206}};e.IfcElectricGeneratorType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};e.IfcElectricMotorType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};e.IfcElectricTimeControlType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class Oa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1658829314}}e.IfcEnergyConversionDevice=Oa;e.IfcEngine=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2814081492}};e.IfcEvaporativeCooler=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3747195512}};e.IfcEvaporator=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=484807127}};e.IfcExternalSpatialElement=class extends Qn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=1209101575}};e.IfcFanType=class extends Jn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};e.IfcFilterType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};e.IfcFireSuppressionTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class Sa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2058353004}}e.IfcFlowController=Sa;class xa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4278956645}}e.IfcFlowFitting=xa;e.IfcFlowInstrumentType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};e.IfcFlowMeter=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2188021234}};class wa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3132237377}}e.IfcFlowMovingDevice=wa;class Ba extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=987401354}}e.IfcFlowSegment=Ba;class Fa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=707683696}}e.IfcFlowStorageDevice=Fa;class Ma extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2223149337}}e.IfcFlowTerminal=Ma;class La extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3508470533}}e.IfcFlowTreatmentDevice=La;e.IfcFooting=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=900683007}};class Ua extends ra{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2713699986}}e.IfcGeotechnicalAssembly=Ua;e.IfcGrid=class extends la{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.UAxes=l,this.VAxes=h,this.WAxes=c,this.PredefinedType=u,this.type=3009204131}};e.IfcHeatExchanger=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3319311131}};e.IfcHumidifier=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2068733104}};e.IfcInterceptor=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4175244083}};e.IfcJunctionBox=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2176052936}};e.IfcKerb=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.Mountable=h,this.type=2696325953}};e.IfcLamp=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=76236018}};e.IfcLightFixture=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=629592764}};class Ha extends la{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1154579445}}e.IfcLinearPositioningElement=Ha;e.IfcLiquidTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1638804497}};e.IfcMedicalDevice=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1437502449}};e.IfcMember=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1073191201}};e.IfcMobileTelecommunicationsAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2078563270}};e.IfcMooringDevice=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=234836483}};e.IfcMotorConnection=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2474470126}};e.IfcNavigationElement=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2182337498}};e.IfcOuterBoundaryCurve=class extends Ta{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=144952367}};e.IfcOutlet=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3694346114}};e.IfcPavement=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1383356374}};e.IfcPile=class extends Ra{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};e.IfcPipeFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=310824031}};e.IfcPipeSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3612865200}};e.IfcPlate=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3171933400}};e.IfcProtectiveDevice=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=738039164}};e.IfcProtectiveDeviceTrippingUnitType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};e.IfcPump=class extends wa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=90941305}};e.IfcRail=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3290496277}};e.IfcRailing=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2262370178}};e.IfcRamp=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3024970846}};e.IfcRampFlight=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3283111854}};e.IfcRationalBSplineCurveWithKnots=class extends Ia{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.WeightsData=h,this.type=1232101972}};e.IfcReinforcedSoil=class extends ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3798194928}};e.IfcReinforcingBar=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=u,this.BarLength=A,this.PredefinedType=p,this.BarSurface=d,this.type=979691226}};e.IfcReinforcingBarType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.BarLength=p,this.BarSurface=d,this.BendingShapeCode=f,this.BendingParameters=m,this.type=2572171363}};e.IfcRoof=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2016517767}};e.IfcSanitaryTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3053780830}};e.IfcSensorType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};e.IfcShadingDevice=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1329646415}};e.IfcSignal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=991950508}};e.IfcSlab=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1529196076}};e.IfcSolarDevice=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3420628829}};e.IfcSpaceHeater=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1999602285}};e.IfcStackTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1404847402}};e.IfcStair=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=331165859}};e.IfcStairFlight=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=u,this.TreadLength=A,this.PredefinedType=p,this.type=4252922144}};e.IfcStructuralAnalysisModel=class extends Ea{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=l,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};e.IfcStructuralLoadCase=class extends fa{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=u,this.type=385403989}};e.IfcStructuralPlanarAction=class extends ma{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1621171031}};e.IfcSwitchingDevice=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1162798199}};e.IfcTank=class extends Fa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=812556717}};e.IfcTrackElement=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3425753595}};e.IfcTransformer=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3825984169}};e.IfcTransportElement=class extends ya{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1620046519}};e.IfcTubeBundle=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3026737570}};e.IfcUnitaryControlElementType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};e.IfcUnitaryEquipment=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4292641817}};e.IfcValve=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4207607924}};class Ga extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391406946}}e.IfcWall=Ga;e.IfcWallStandardCase=class extends Ga{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3512223829}};e.IfcWasteTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4237592921}};e.IfcWindow=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.PartitioningType=A,this.UserDefinedPartitioningType=p,this.type=3304561284}};e.IfcActuatorType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};e.IfcAirTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1634111441}};e.IfcAirTerminalBox=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=177149247}};e.IfcAirToAirHeatRecovery=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2056796094}};e.IfcAlarmType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};e.IfcAlignment=class extends Ha{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=325726236}};e.IfcAudioVisualAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=277319702}};e.IfcBeam=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=753842376}};e.IfcBearing=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4196446775}};e.IfcBoiler=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=32344328}};e.IfcBorehole=class extends Ua{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3314249567}};e.IfcBuildingElementProxy=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1095909175}};e.IfcBurner=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2938176219}};e.IfcCableCarrierFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=635142910}};e.IfcCableCarrierSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3758799889}};e.IfcCableFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1051757585}};e.IfcCableSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4217484030}};e.IfcCaissonFoundation=class extends Ra{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3999819293}};e.IfcChiller=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3902619387}};e.IfcCoil=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=639361253}};e.IfcCommunicationsAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3221913625}};e.IfcCompressor=class extends wa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3571504051}};e.IfcCondenser=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2272882330}};e.IfcControllerType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};e.IfcConveyorSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3460952963}};e.IfcCooledBeam=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4136498852}};e.IfcCoolingTower=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3640358203}};e.IfcDamper=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4074379575}};e.IfcDistributionBoard=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3693000487}};e.IfcDistributionChamberElement=class extends Na{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1052013943}};e.IfcDistributionCircuit=class extends Ca{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class ka extends Da{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1062813311}}e.IfcDistributionControlElement=ka;e.IfcDuctFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=342316401}};e.IfcDuctSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3518393246}};e.IfcDuctSilencer=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1360408905}};e.IfcElectricAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1904799276}};e.IfcElectricDistributionBoard=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=862014818}};e.IfcElectricFlowStorageDevice=class extends Fa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3310460725}};e.IfcElectricFlowTreatmentDevice=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=24726584}};e.IfcElectricGenerator=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=264262732}};e.IfcElectricMotor=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=402227799}};e.IfcElectricTimeControl=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1003880860}};e.IfcFan=class extends wa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3415622556}};e.IfcFilter=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=819412036}};e.IfcFireSuppressionTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1426591983}};e.IfcFlowInstrument=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=182646315}};e.IfcGeomodel=class extends Ua{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2680139844}};e.IfcGeoslice=class extends Ua{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1971632696}};e.IfcProtectiveDeviceTrippingUnit=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2295281155}};e.IfcSensor=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4086658281}};e.IfcUnitaryControlElement=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=630975310}};e.IfcActuator=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4288193352}};e.IfcAlarm=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3087945054}};e.IfcController=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=25142252}}}(ay||(ay={})),(hy=ly||(ly={}))[hy.LOG_LEVEL_DEBUG=0]="LOG_LEVEL_DEBUG",hy[hy.LOG_LEVEL_INFO=1]="LOG_LEVEL_INFO",hy[hy.LOG_LEVEL_WARN=2]="LOG_LEVEL_WARN",hy[hy.LOG_LEVEL_ERROR=3]="LOG_LEVEL_ERROR",hy[hy.LOG_LEVEL_OFF=4]="LOG_LEVEL_OFF","undefined"!=typeof self&&self.crossOriginIsolated)try{uy()}catch(e){Ay()}else Ay();A.vec2(),A.vec3(),A.vec3(),A.vec3();class fy{constructor(e={}){this._dataDir=e.dataDir||""}getProjects(e,t){const s=this._dataDir+"/projects/index.json";E.loadJSON(s,e,t)}getProject(e,t,s){const i=this._dataDir+"/projects/"+e+"/index.json";E.loadJSON(i,t,s)}getMetadata(e,t,s,i){const r=this._dataDir+"/projects/"+e+"/models/"+t+"/metadata.json";E.loadJSON(r,s,i)}getGeometry(e,t,s,i){const r=this._dataDir+"/projects/"+e+"/models/"+t+"/geometry.xkt";E.loadArraybuffer(r,s,i)}getObjectInfo(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/props/"+s+".json";E.loadJSON(o,i,r)}getIssues(e,t,s,i){const r=this._dataDir+"/projects/"+e+"/models/"+t+"/issues.json";E.loadJSON(r,s,i)}getSplitModelManifest(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/"+s;E.loadJSON(o,i,r)}getSplitModelMetadata(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/"+s;E.loadJSON(o,i,r)}getSplitModelGeometry(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/"+s;E.loadArraybuffer(o,i,r)}}class my{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}class Ey{constructor(e,t,s,i){this.bimViewer=e?e.bimViewer||e:this,this.server=e?e.server:s,this.viewer=e?e.viewer:i,this._children=[],e&&e._children.push(this),this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._events=null,this._eventCallDepth=0,this._enabled=null,this._active=null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const i=this._eventSubs[e];let r;if(i)for(const s in i)i.hasOwnProperty(s)&&(r=i[s],this._eventCallDepth++,this._eventCallDepth<300?r.callback.call(r.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(e,t,s){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new my),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={});let i=this._eventSubs[e];i||(i={},this._eventSubs[e]=i);const r=this._subIdMap.addItem();i[r]={callback:t,scope:s||this},this._subIdEvents[r]=e;const o=this._events[e];return void 0!==o&&t.call(s||this,o),r}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._subIdMap.removeItem(e)}}once(e,t,s){const i=this,r=this.on(e,(function(e){i.off(r),t.call(s||this,e)}),s)}log(e){e="[LOG] "+e,window.console.log(e)}warn(e){e="[WARN] "+e,window.console.warn(e)}error(e){e="[ERROR] "+e,window.console.error(e)}_mutexActivation(e){const t=e.length;for(let s=0;s
Default text
',s.appendChild(this._modal),this._modalVisible=!1,this._modal.style.display="hidden"}show(e){this._modalVisible=!0,this._modal.querySelector(".xeokit-busy-modal-message").innerText=e,this._modal.style.display="block"}hide(){this._modalVisible=!1,this._modal.style.display="none"}destroy(){super.destroy(),this._modal&&(this._modal.parentNode.removeChild(this._modal),this._modal=null)}}const gy=A.vec3();class vy extends Ey{constructor(e,t={}){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement,i=this.viewer.camera;this._modelMementos={},i.eye=[.577,.577,.577],i.look=[0,0,0],i.up=[-1,1,-1],this.bimViewer._modelsExplorer.on("modelLoaded",(e=>{this._saveModelMemento(e)})),this.bimViewer._modelsExplorer.on("modelUnloaded",(e=>{this._destroyModelMemento(e)})),this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?s.classList.add("active"):s.classList.remove("active")})),s.addEventListener("click",(e=>{this.getEnabled()&&this.reset(),e.preventDefault()}))}_saveModelMemento(e){const t=this.viewer.metaScene.metaModels[e];if(!t)return;const s=new Fi;s.saveObjects(this.viewer.scene,t,{visible:!0,edges:!0,xrayed:!0,highlighted:!0,selected:!0,clippable:!0,pickable:!0,colorize:!1,opacity:!1}),this._modelMementos[e]=s}_restoreModelMemento(e){const t=this.viewer.metaScene.metaModels[e];if(!t)return;this._modelMementos[e].restoreObjects(this.viewer.scene,t)}_destroyModelMemento(e){delete this._modelMementos[e]}reset(){const e=this.viewer.scene.modelIds;for(var t=0,s=e.length;t{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?s.classList.add("active"):s.classList.remove("active")})),s.addEventListener("click",(e=>{this.getEnabled()&&this.fit(),e.preventDefault()}))}fit(){const e=this.viewer.scene,t=e.getAABB(e.visibleObjectIds);this.viewer.cameraFlight.flyTo({aabb:t}),this.viewer.cameraControl.pivotPos=A.getAABB3Center(t,Iy)}set fov(e){this.viewer.scene.cameraFlight.fitFOV=e}get fov(){return this.viewer.scene.cameraFlight.fitFOV}set duration(e){this.viewer.scene.cameraFlight.duration=e}get duration(){return this.viewer.scene.cameraFlight.duration}}class _y extends Ey{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement,i=this.viewer.cameraControl,r=t.cameraControlNavModeMediator;i.navMode="orbit",i.followPointer=!0,this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?s.classList.add("active"):s.classList.remove("active")})),this.on("active",(e=>{r.setFirstPersonModeActive(e),e?(i.followPointer=!0,i.pivoting=!1):i.pivoting=!0})),s.addEventListener("click",(e=>{if(this.getEnabled()){const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}))}}class Ry extends Ey{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement;this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?(s.classList.add("active"),this.viewer.cameraControl.doublePickFlyTo=!1,this._onPick=this.viewer.cameraControl.on("picked",(e=>{e.entity&&(e.entity.visible=!1)}))):(s.classList.remove("active"),this.viewer.cameraControl.doublePickFlyTo=!1,void 0!==this._onPick&&(this.viewer.cameraControl.off(this._onPick),this._onPick=void 0))})),s.addEventListener("click",(e=>{if(this.getEnabled()){this.bimViewer._sectionTool.hideControl();const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}))}}class Py extends Ey{constructor(e,t){if(super(e),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement;this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?(s.classList.add("active"),this._onPick=this.viewer.cameraControl.on("picked",(e=>{e.entity&&(e.entity.selected=!e.entity.selected)}))):(s.classList.remove("active"),void 0!==this._onPick&&(this.viewer.cameraControl.off(this._onPick),this._onPick=void 0))})),s.addEventListener("click",(e=>{if(this.getEnabled()){this.bimViewer._sectionTool.hideControl();const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}))}}class Dy extends Ey{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";this._buttonElement=t.buttonElement,this.on("enabled",(e=>{e?this._buttonElement.classList.remove("disabled"):this._buttonElement.classList.add("disabled")})),this._buttonElement.addEventListener("click",(e=>{this.getEnabled()&&this.setActive(!this.getActive(),(()=>{})),e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)})),this.viewer.scene.on("modelLoaded",(e=>{if(!this._active){const e=this.viewer.metaScene.getObjectIDsByType("IfcSpace");this.viewer.scene.setObjectsCulled(e,!0)}})),this._active=!1,this._buttonElement.classList.remove("active")}setActive(e){this._active!==e&&(this._active=e,e?(this._buttonElement.classList.add("active"),this._enterShowSpacesMode(),this.fire("active",this._active)):(this._buttonElement.classList.remove("active"),this._exitShowSpacesMode(),this.fire("active",this._active)))}_enterShowSpacesMode(){const e=this.viewer,t=e.scene,s=e.metaScene.getObjectIDsByType("IfcSpace");t.setObjectsCulled(s,!1)}_exitShowSpacesMode(){const e=this.viewer,t=e.scene,s=e.metaScene.getObjectIDsByType("IfcSpace");t.setObjectsCulled(s,!0)}}class Ny extends Ey{constructor(e,t){super(e)}}const Cy=A.AABB3(),by=A.vec3();class Oy extends o{constructor(e={}){if(!e.sectionPlanesPlugin)throw"Missing config: sectionPlanesPlugin";super(E.apply({},e)),this._sectionPlanesPlugin=e.sectionPlanesPlugin,this._viewer=this._sectionPlanesPlugin.viewer,this._onSceneSectionPlaneCreated=this._viewer.scene.on("sectionPlaneCreated",(()=>{this._buildMenu()})),this._onSceneSectionPlaneDestroyed=this._viewer.scene.on("sectionPlaneDestroyed",(()=>{this._buildMenu()})),this._buildMenu()}_buildMenu(){const e=this._sectionPlanesPlugin,t=Object.values(e.sectionPlanes),s=[];for(let i=0,r=t.length;i`${e.viewer.localeService.translate("sectionToolContextMenu.slice")||"Slice"} #`+(i+1),doHoverEnter(t){e.hideControl(),e.showControl(r.id)},doHoverLeave(t){e.hideControl()},items:[[{getTitle:e=>r.active?e.viewer.localeService.translate("sectionToolContextMenu.deactivate")||"Disable":e.viewer.localeService.translate("sectionToolContextMenu.activate")||"Enable",doAction:e=>{r.active=!r.active}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.edit")||"Edit",getEnabled:()=>r.active,doAction:t=>{e.hideControl(),e.showControl(r.id);const s=r.pos;Cy.set(this._viewer.scene.aabb),A.getAABB3Center(Cy,by),Cy[0]+=s[0]-by[0],Cy[1]+=s[1]-by[1],Cy[2]+=s[2]-by[2],Cy[3]+=s[0]-by[0],Cy[4]+=s[1]-by[1],Cy[5]+=s[2]-by[2],this._viewer.cameraFlight.flyTo({aabb:Cy,fitFOV:65})}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.flip")||"Flip",getEnabled:()=>r.active,doAction:e=>{r.flipDir()}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.delete")||"Delete",doAction:e=>{r.destroy()}}]]})}this.items=[[{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.flipSlices")||"Flip Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.flipSections()}}],[{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.disableAllSlices")||"Disable all Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.disableSections()}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.enableAllSlices")||"Enable all Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.enableSections()}}],s]}destroy(){super.destroy();const e=this._viewer.scene;e.off(this._onSceneSectionPlaneCreated),e.off(this._onSceneSectionPlaneDestroyed)}}class Sy extends Ey{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";if(!t.menuButtonElement)throw"Missing config: menuButtonElement";this._buttonElement=t.buttonElement,this._counterElement=t.counterElement,this._menuButtonElement=t.menuButtonElement,this._menuButtonArrowElement=t.menuButtonArrowElement,this._sectionPlanesPlugin=new cE(this.viewer,{}),this._sectionToolContextMenu=new Oy({sectionPlanesPlugin:this._sectionPlanesPlugin,hideOnMouseDown:!1,hideOnAction:!1}),this._sectionPlanesPlugin.setOverviewVisible(!1),this.on("enabled",(e=>{e?(this._buttonElement.classList.remove("disabled"),this._counterElement&&this._counterElement.classList.remove("disabled"),this._menuButtonElement.classList.remove("disabled"),this._menuButtonArrowElement.classList.remove("disabled")):(this._buttonElement.classList.add("disabled"),this._counterElement&&this._counterElement.classList.add("disabled"),this._menuButtonElement.classList.add("disabled"),this._menuButtonArrowElement.classList.add("disabled"))})),this.on("active",(e=>{e?(this._buttonElement.classList.add("active"),this._counterElement&&this._counterElement.classList.add("active"),this._menuButtonElement.classList.add("active"),this._menuButtonArrowElement.classList.add("active")):(this._buttonElement.classList.remove("active"),this._counterElement&&this._counterElement.classList.remove("active"),this._menuButtonElement.classList.remove("active"),this._menuButtonArrowElement.classList.remove("active"))})),this.on("active",(e=>{e||this._sectionPlanesPlugin.hideControl()})),this._buttonElement.addEventListener("click",(e=>{if(!this.getEnabled())return;if(e.target===this._menuButtonElement||e.target.parentNode===this._menuButtonElement)return;const t=this.getActive();this.setActive(!t),e.preventDefault()})),document.addEventListener("mousedown",(e=>{if(!e.target.classList.contains("xeokit-context-menu-item"))if(e.target===this._menuButtonElement||e.target.parentNode===this._menuButtonElement)if(e.preventDefault(),this._sectionToolContextMenu.shown)this._sectionToolContextMenu.hide();else{this._sectionToolContextMenu.context={bimViewer:this.bimViewer,viewer:this.viewer,sectionTool:this};const e=this._menuButtonElement.getBoundingClientRect();this._sectionToolContextMenu.show(e.left,e.bottom+5)}else this._sectionToolContextMenu.hide()})),this._sectionToolContextMenu.on("shown",(()=>{this._menuButtonArrowElement.classList.remove("xeokit-arrow-down"),this._menuButtonArrowElement.classList.add("xeokit-arrow-up")})),this._sectionToolContextMenu.on("hidden",(()=>{this._menuButtonArrowElement.classList.remove("xeokit-arrow-up"),this._menuButtonArrowElement.classList.add("xeokit-arrow-down")})),this.bimViewer.on("reset",(()=>{this.clear(),this.setActive(!1)})),this.viewer.scene.on("sectionPlaneCreated",(()=>{this._updateSectionPlanesCount()})),this.viewer.scene.on("sectionPlaneDestroyed",(()=>{this._updateSectionPlanesCount()})),this._initSectionMode()}_initSectionMode(){this.viewer.scene.input.on("mouseclicked",(e=>{if(!this.getActive()||!this.getEnabled())return;const t=this.viewer.scene.pick({canvasPos:e,pickSurface:!0});if(t){const e=this._sectionPlanesPlugin.createSectionPlane({pos:t.worldPos,dir:A.mulVec3Scalar(t.worldNormal,-1)});this._sectionPlanesPlugin.showControl(e.id)}})),this._updateSectionPlanesCount()}_updateSectionPlanesCount(){this._counterElement&&(this._counterElement.innerText=""+this.getNumSections())}getNumSections(){return Object.keys(this.viewer.scene.sectionPlanes).length}clear(){this._sectionPlanesPlugin.clear(),this._updateSectionPlanesCount()}flipSections(){this._sectionPlanesPlugin.flipSectionPlanes()}enableSections(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].active=!0}}disableSections(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].active=!1}}hideControl(){this._sectionPlanesPlugin.hideControl()}destroy(){this._sectionPlanesPlugin.destroy(),this._sectionToolContextMenu.destroy(),super.destroy()}}class xy extends Ey{constructor(e,t){if(super(e,t),!t.navCubeCanvasElement)throw"Missing config: navCubeCanvasElement";const s=t.navCubeCanvasElement;this._navCube=new sE(this.viewer,{canvasElement:s,fitVisible:!0,color:"#CFCFCF"}),this._navCube.setVisible(this._active),this.on("active",(e=>{this._navCube.setVisible(e)}))}destroy(){this._navCube.destroy(),super.destroy()}}const wy={IfcSpace:{opacity:.3},IfcWindow:{opacity:.4},IfcOpeningElement:{opacity:.3},IfcPlate:{opacity:.3}},By={IfcRoof:{colorize:[.837255,.203922,.270588],priority:0},IfcSlab:{colorize:[.637255,.603922,.670588],priority:0},IfcWall:{colorize:[.537255,.337255,.237255],priority:0},IfcWallStandardCase:{colorize:[.537255,.337255,.237255],priority:0},IfcCovering:{colorize:[.8470588235,.427450980392,0],priority:0},IfcDoor:{colorize:[.637255,.603922,.670588],priority:1},IfcStair:{colorize:[.637255,.603922,.670588],priority:2},IfcStairFlight:{colorize:[.637255,.603922,.670588],priority:2},IfcProxy:{colorize:[.137255,.403922,.870588],priority:2},IfcRamp:{colorize:[.8470588235,.427450980392,0],priority:2},IfcColumn:{colorize:[.137255,.403922,.870588],priority:3},IfcBeam:{colorize:[.137255,.403922,.870588],priority:3},IfcCurtainWall:{colorize:[.137255,.403922,.870588],priority:3},IfcPlate:{colorize:[.8470588235,.427450980392,0,.5],opacity:.5,priority:3},IfcTransportElement:{colorize:[.8470588235,.427450980392,0],priority:3},IfcFooting:{colorize:[.8470588235,.427450980392,0],priority:3},IfcRailing:{colorize:[.137255,.403922,.870588],priority:4},IfcFurnishingElement:{colorize:[.137255,.403922,.870588],priority:4},IfcFurniture:{colorize:[.8470588235,.427450980392,0],priority:4},IfcSystemFurnitureElement:{colorize:[.8470588235,.427450980392,0],priority:4},IfcFlowSegment:{colorize:[.137255,.403922,.870588],priority:5},IfcFlowitting:{colorize:[.137255,.403922,.870588],priority:5},IfcFlowTerminal:{colorize:[.137255,.403922,.870588],priority:5},IfcFlowController:{colorize:[.8470588235,.427450980392,0],priority:5},IfcFlowFitting:{colorize:[.8470588235,.427450980392,0],priority:5},IfcDuctSegment:{colorize:[.8470588235,.427450980392,0],priority:5},IfcDistributionFlowElement:{colorize:[.8470588235,.427450980392,0],priority:5},IfcDuctFitting:{colorize:[.8470588235,.427450980392,0],priority:5},IfcLightFixture:{colorize:[.8470588235,.8470588235,.870588],priority:5},IfcAirTerminal:{colorize:[.8470588235,.427450980392,0],priority:6},IfcOpeningElement:{colorize:[.137255,.403922,.870588],opacity:.3,priority:6},IfcSpace:{opacity:.5},IfcWindow:{colorize:[.137255,.403922,.870588],opacity:.4,priority:6},IfcBuildingElementProxy:{colorize:[.5,.5,.5]},IfcSite:{colorize:[.137255,.403922,.870588]},IfcMember:{colorize:[.8470588235,.427450980392,0]},DEFAULT:{colorize:[.5,.5,.5],priority:10}};class Fy extends o{constructor(e={}){const t=[[{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.loadModel")||"Load",getEnabled:e=>!e.bimViewer.isModelLoaded(e.modelId),doAction:e=>{e.bimViewer.loadModel(e.modelId)}},{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.unloadModel")||"Unload",getEnabled:e=>e.bimViewer.isModelLoaded(e.modelId),doAction:e=>{e.bimViewer.unloadModel(e.modelId)}}]];!!e.enableEditModels&&t.push([{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.editModel")||"Edit",getEnabled:e=>!0,doAction:e=>{e.bimViewer.editModel(e.modelId)}},{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.deleteModel")||"Delete",getEnabled:e=>!0,doAction:e=>{e.bimViewer.deleteModel(e.modelId)}}]),t.push([{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.loadAllModels")||"Load All",getEnabled:e=>{const t=e.bimViewer,s=t.getModelIds();return t.getLoadedModelIds().length{e.bimViewer.loadAllModels()}},{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.unloadAllModels")||"Unload All",getEnabled:e=>e.bimViewer.getLoadedModelIds().length>0,doAction:e=>{e.bimViewer.unloadAllModels()}}]),t.push([{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}}]),super({hideOnAction:e.hideOnAction,context:e.context,items:t})}}const My=A.vec3();class Ly{constructor(e){this._server=e}setProjectId(e){this._projectId=e}setModelId(e){this._modelId=e}getManifest(e,t,s){this._server.getSplitModelManifest(this._projectId,this._modelId,e,t,s)}getMetaModel(e,t,s){this._server.getSplitModelMetadata(this._projectId,this._modelId,e,t,s)}getXKT(e,t,s){this._server.getSplitModelGeometry(this._projectId,this._modelId,e,t,s)}}class Uy extends Ey{constructor(e,t){if(super(e,t),!t.modelsTabElement)throw"Missing config: modelsTabElement";if(!t.unloadModelsButtonElement)throw"Missing config: unloadModelsButtonElement";if(!t.modelsElement)throw"Missing config: modelsElement";if(this._enableAddModels=!!t.enableEditModels,this._modelsTabElement=t.modelsTabElement,this._loadModelsButtonElement=t.loadModelsButtonElement,this._unloadModelsButtonElement=t.unloadModelsButtonElement,this._addModelButtonElement=t.addModelButtonElement,this._modelsElement=t.modelsElement,this._modelsTabButtonElement=this._modelsTabElement.querySelector(".xeokit-tab-btn"),!this._modelsTabButtonElement)throw"Missing DOM element: ,xeokit-tab-btn";this._dataSource=new Ly(this.server),this._xktLoader=new ty(this.viewer,{dataSource:this._dataSource,objectDefaults:wy}),this._modelsContextMenu=new Fy({enableEditModels:t.enableEditModels,hideOnAction:!0}),this._modelsInfo={},this._numModels=0,this._numModelsLoaded=0,this._projectId=null}loadProject(e,t,s){this.server.getProject(e,(s=>{this.unloadProject(),this._projectId=e,this._modelsInfo={},this._numModels=0,this._parseProject(s,t),this._numModelsLoaded0&&this._unloadModelsButtonElement.classList.remove("disabled"),this._enableAddModels&&this._addModelButtonElement.classList.remove("disabled")}),(e=>{this.error(e),s&&s(e)}))}_parseProject(e,t){this._buildModelsMenu(e),this._parseViewerConfigs(e),this._parseViewerContent(e,(()=>{this._parseViewerState(e,(()=>{t()}))}))}_buildModelsMenu(e){var t="";const s=e.models||[];this._modelsInfo={},this._numModels=s.length;for(let e=0,i=s.length;e",t+=""+i.name+"",t+=""}this._modelsElement.innerHTML=t;for(let e=0,t=s.length;e{r.checked?this.loadModel(i):this.unloadModel(t.id)})),o.addEventListener("click",(()=>{!!this.viewer.scene.models[i]?this.unloadModel(t.id):this.loadModel(i)})),o.oncontextmenu=e=>{this._modelsContextMenu.context={bimViewer:this.bimViewer,viewer:this.viewer,modelId:i},this._modelsContextMenu.show(e.pageX,e.pageY),e.preventDefault()}}}_parseViewerConfigs(e){const t=e.viewerConfigs;t&&this.bimViewer.setConfigs(t)}_parseViewerContent(e,t){const s=e.viewerContent;s?this._parseModelsLoaded(s,(()=>{t()})):t()}_parseModelsLoaded(e,t){const s=e.modelsLoaded;s&&0!==s.length?this._loadNextModel(s.slice(0),t):t()}_loadNextModel(e,t){if(0===e.length)return void t();const s=e.pop();this.loadModel(s,(()=>{this._loadNextModel(e,t)}),(()=>{this._loadNextModel(e,t)}))}_parseViewerState(e,t){const s=e.viewerState;s?this.bimViewer.setViewerState(s,t):t()}unloadProject(){if(!this._projectId)return;const e=this.viewer.scene.models;for(var t in e)if(e.hasOwnProperty(t)){e[t].destroy()}this._modelsElement.innerHTML="",this._numModelsLoaded=0,this._loadModelsButtonElement.classList.add("disabled"),this._unloadModelsButtonElement.classList.add("disabled"),this._enableAddModels&&this._addModelButtonElement.classList.add("disabled");const s=this._projectId;this._projectId=null,this.fire("projectUnloaded",{projectId:s})}getLoadedProjectId(){return this._projectId}getModelIds(){return Object.keys(this._modelsInfo)}loadModel(e,t,s){if(!this._projectId){const e="No project currently loaded";return this.error(e),void(s&&s(e))}const i=this._modelsInfo[e];if(!i){const e="Model not in currently loaded project";return this.error(e),void(s&&s(e))}this.bimViewer._busyModal.show(`${this.viewer.localeService.translate("busyModal.loading")||"Loading"} ${i.name}`);this.bimViewer.getConfig("externalMetadata")&&!i.manifest?this.server.getMetadata(this._projectId,e,(r=>{this._loadGeometry(e,i,r,t,s)}),(e=>{this.bimViewer._busyModal.hide(),this.error(e),s&&s(e)})):this._loadGeometry(e,i,null,t,s)}_loadGeometry(e,t,s,i,r){const o="model"===(t.objectColorSource||this.bimViewer.getObjectColorSource())?wy:By,n=()=>{document.getElementById(""+e).checked=!0,this._numModelsLoaded++,this._unloadModelsButtonElement.classList.remove("disabled"),this._numModelsLoaded{this.bimViewer._busyModal.hide(),this.error(e),r&&r(e)};if(t.manifest){this._dataSource.setProjectId(this._projectId),this._dataSource.setModelId(e);const s=this._xktLoader.load({id:e,manifestSrc:t.manifest,objectDefaults:o,excludeUnclassifiedObjects:!0,origin:t.origin||t.position,scale:t.scale,rotation:t.rotation,matrix:t.matrix,edges:!1!==t.edges,saoEnabled:t.saoEnabled,pbrEnabled:t.pbrEnabled,backfaces:t.backfaces,globalizeObjectIds:t.globalizeObjectIds,reuseGeometries:!1!==t.reuseGeometries});s.on("loaded",n),s.on("error",a)}else this.server.getGeometry(this._projectId,e,(i=>{const r=this._xktLoader.load({id:e,metaModelData:s,xkt:i,objectDefaults:o,excludeUnclassifiedObjects:!0,origin:t.origin||t.position,scale:t.scale,rotation:t.rotation,matrix:t.matrix,edges:!1!==t.edges,saoEnabled:t.saoEnabled,pbrEnabled:t.pbrEnabled,backfaces:t.backfaces,globalizeObjectIds:t.globalizeObjectIds,reuseGeometries:!1!==t.reuseGeometries});r.on("loaded",n),r.on("error",a)}),a)}_jumpToInitialCamera(){const e=this.viewer,t=e.scene,s=t.getAABB(t.visibleObjectIds),i=A.getAABB3Diag(s),r=A.getAABB3Center(s,My),o=t.camera;o.perspective.fov;const n=Math.abs(i/Math.tan(45*A.DEGTORAD)),a=A.normalizeVec3(o.yUp?[-.5,-.7071,-.5]:[-1,1,-1]),l=A.normalizeVec3(o.yUp?[-.5,.7071,-.5]:[-1,1,1]);e.cameraControl.pivotPos=r,e.cameraControl.planView=!1,e.cameraFlight.jumpTo({look:r,eye:[r[0]-n*a[0],r[1]-n*a[1],r[2]-n*a[2]],up:l,orthoScale:1.1*i})}unloadModel(e){const t=this.viewer.scene.models[e];if(!t)return void this.error("Model not loaded: "+e);t.destroy();document.getElementById(""+e).checked=!1,document.getElementById("span-"+e),this._numModelsLoaded--,this._numModelsLoaded>0?this._unloadModelsButtonElement.classList.remove("disabled"):this._unloadModelsButtonElement.classList.add("disabled"),this._numModelsLoadede.viewer.localeService.translate("treeViewContextMenu.inspectProperties")||"Inspect Properties",getShown:e=>!!e.viewer.metaScene.metaObjects[e.treeViewNode.objectId],doAction:e=>{const t=e.treeViewNode.objectId;e.bimViewer.showObjectProperties(t)}}),t.push({getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.viewFit")||"View Fit",doAction:function(e){const t=e.viewer,s=t.scene,i=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&i.push(e.objectId)})),s.setObjectsVisible(i,!0),s.setObjectsHighlighted(i,!0);const r=s.getAABB(i);t.cameraFlight.flyTo({aabb:r,duration:.5},(()=>{setTimeout((function(){s.setObjectsHighlighted(s.highlightedObjectIds,!1)}),500)})),t.cameraControl.pivotPos=A.getAABB3Center(r)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitSelection")||"View Fit Selected",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.selectedObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=A.getAABB3Center(i)}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.viewFitAll")||"View Fit All",doAction:function(e){const t=e.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=A.getAABB3Center(i)}}),this.items=[e,t,[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.isolate")||"Isolate",doAction:function(e){const t=e.viewer,s=t.scene,i=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&i.push(e.objectId)}));const r=s.getAABB(i);t.cameraControl.pivotPos=A.getAABB3Center(r,Hy),s.setObjectsXRayed(s.xrayedObjectIds,!1),s.setObjectsVisible(s.visibleObjectIds,!1),s.setObjectsSelected(s.selectedObjectIds,!1),s.setObjectsVisible(i,!0),t.cameraFlight.flyTo({aabb:r},(()=>{}))}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.hide")||"Hide",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.visible=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.hideOthers")||"Hide Others",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.visibleObjectIds,!1),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1),e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{if(e.objectId){const s=t.objects[e.objectId];s&&(s.visible=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.hideAll")||"Hide All",getEnabled:function(e){return e.viewer.scene.visibleObjectIds.length>0},doAction:function(e){e.viewer.scene.setObjectsVisible(e.viewer.scene.visibleObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.show")||"Show",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.visible=!0,s.xrayed&&(s.pickable=!0),s.xrayed=!1,s.selected=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.showOthers")||"Shows Others",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1),e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{if(e.objectId){const s=t.objects[e.objectId];s&&(s.visible=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.showAll")||"Show All",getEnabled:function(e){const t=e.viewer.scene;return t.numVisibleObjects0},doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xray")||"X-Ray",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.selected=!1,s.xrayed=!0,s.visible=!0,s.pickable=e.bimViewer.getConfig("xrayPickable"))}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.undoXray")||"Undo X-Ray",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.xrayed=!1,s.pickable=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xrayOthers")||"X-Ray Others",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||t.setObjectsPickable(t.objectIds,!1),t.setObjectsXRayed(t.objectIds,!0),t.setObjectsSelected(t.selectedObjectIds,!1),e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{if(e.objectId){const s=t.objects[e.objectId];s&&(s.xrayed=!1,s.pickable=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xrayAll")||"X-Ray All",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsXRayed(t.objectIds,!0),t.setObjectsSelected(t.selectedObjectIds,!1),t.setObjectsPickable(t.objectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xrayNone")||"X-Ray None",getEnabled:function(e){return e.viewer.scene.numXRayedObjects>0},doAction:function(e){const t=e.viewer.scene,s=t.xrayedObjectIds;t.setObjectsPickable(s,!0),t.setObjectsXRayed(s,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.select")||"Select",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.selected=!0,s.visible=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.undoSelect")||"Undo Select",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.selected=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.selectNone")||"Select None",getEnabled:function(e){return e.viewer.scene.numSelectedObjects>0},doAction:function(e){e.viewer.scene.setObjectsSelected(e.viewer.scene.selectedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.clearSlices")||"Clear Slices",getEnabled:function(e){return e.bimViewer.getNumSections()>0},doAction:function(e){e.bimViewer.clearSections()}}]]}}class ky extends Ey{constructor(e,t={}){if(super(e),!t.objectsTabElement)throw"Missing config: objectsTabElement";if(!t.showAllObjectsButtonElement)throw"Missing config: showAllObjectsButtonElement";if(!t.hideAllObjectsButtonElement)throw"Missing config: hideAllObjectsButtonElement";if(!t.objectsElement)throw"Missing config: objectsElement";if(this._objectsTabElement=t.objectsTabElement,this._showAllObjectsButtonElement=t.showAllObjectsButtonElement,this._hideAllObjectsButtonElement=t.hideAllObjectsButtonElement,this._objectsTabButtonElement=this._objectsTabElement.querySelector(".xeokit-tab-btn"),!this._objectsTabButtonElement)throw"Missing DOM element: ,xeokit-tab-btn";const s=t.objectsElement;this._treeView=new AE(this.viewer,{containerElement:s,hierarchy:"containment",autoAddModels:!1,pruneEmptyNodes:!0}),this._treeViewContextMenu=new Gy(this.bimViewer,{hideOnAction:!0}),this._treeView.on("contextmenu",(e=>{this._treeViewContextMenu.context={bimViewer:this.bimViewer,viewer:e.viewer,treeViewPlugin:e.treeViewPlugin,treeViewNode:e.treeViewNode},this._treeViewContextMenu.show(e.event.pageX,e.event.pageY)})),this._treeView.on("nodeTitleClicked",(e=>{const t=this.viewer.scene,s=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&s.push(e.objectId)}));e.treeViewNode.checked?(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!1),t.setObjectsPickable(s,!0)):(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!0),t.setObjectsPickable(s,!0))})),this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{if(this.viewer.metaScene.metaModels[e]){const t=this.bimViewer._modelsExplorer.getModelInfo(e);if(!t)return;this._treeView.addModel(e,{rootName:t.name})}})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this.viewer.metaScene.metaModels[e]&&this._treeView.removeModel(e)})),this.bimViewer.on("reset",(()=>{this._treeView.collapse()}))}setEnabled(e){e?(this._objectsTabButtonElement.classList.remove("disabled"),this._showAllObjectsButtonElement.classList.remove("disabled"),this._hideAllObjectsButtonElement.classList.remove("disabled")):(this._objectsTabButtonElement.classList.add("disabled"),this._showAllObjectsButtonElement.classList.add("disabled"),this._hideAllObjectsButtonElement.classList.add("disabled"))}expandTreeViewToDepth(e){this._treeView.expandToDepth(e)}showNodeInTreeView(e){this._treeView.collapse(),this._treeView.showNode(e)}unShowNodeInTreeView(){this._treeView.unShowNode()}destroy(){super.destroy(),this._treeView.destroy(),this._treeViewContextMenu.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded)}}class Vy extends Ey{constructor(e,t={}){if(super(e),!t.classesTabElement)throw"Missing config: classesTabElement";if(!t.showAllClassesButtonElement)throw"Missing config: showAllClassesButtonElement";if(!t.hideAllClassesButtonElement)throw"Missing config: hideAllClassesButtonElement";if(!t.classesElement)throw"Missing config: classesElement";if(this._classesTabElement=t.classesTabElement,this._showAllClassesButtonElement=t.showAllClassesButtonElement,this._hideAllClassesButtonElement=t.hideAllClassesButtonElement,this._classesTabButtonElement=this._classesTabElement.querySelector(".xeokit-tab-btn"),!this._classesTabButtonElement)throw"Missing DOM element: xeokit-tab-btn";const s=t.classesElement;this._treeView=new AE(this.viewer,{containerElement:s,hierarchy:"types",autoAddModels:!1,pruneEmptyNodes:!0}),this._treeViewContextMenu=new Gy(this.bimViewer,{hideOnAction:!0}),this._treeView.on("contextmenu",(e=>{this._treeViewContextMenu.context={bimViewer:this.bimViewer,viewer:e.viewer,treeViewPlugin:e.treeViewPlugin,treeViewNode:e.treeViewNode},this._treeViewContextMenu.show(e.event.pageX,e.event.pageY)})),this._treeView.on("nodeTitleClicked",(e=>{const t=this.viewer.scene,s=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&s.push(e.objectId)}));e.treeViewNode.checked?(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!1),t.setObjectsPickable(s,!0)):(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!0),t.setObjectsPickable(s,!0))})),this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{if(this.viewer.metaScene.metaModels[e]){const t=this.bimViewer._modelsExplorer.getModelInfo(e);if(!t)return;this._treeView.addModel(e,{rootName:t.name})}})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this.viewer.metaScene.metaModels[e]&&this._treeView.removeModel(e)})),this.bimViewer.on("reset",(()=>{this._treeView.collapse()}))}setEnabled(e){e?(this._classesTabButtonElement.classList.remove("disabled"),this._showAllClassesButtonElement.classList.remove("disabled"),this._hideAllClassesButtonElement.classList.remove("disabled")):(this._classesTabButtonElement.classList.add("disabled"),this._showAllClassesButtonElement.classList.add("disabled"),this._hideAllClassesButtonElement.classList.add("disabled"))}expandTreeViewToDepth(e){this._treeView.expandToDepth(e)}showNodeInTreeView(e){this._treeView.collapse(),this._treeView.showNode(e)}unShowNodeInTreeView(){this._treeView.unShowNode()}destroy(){super.destroy(),this._treeView.destroy(),this._treeViewContextMenu.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded)}}const Qy=A.vec3();class jy extends Ey{constructor(e,t={}){if(super(e),!t.storeysTabElement)throw"Missing config: storeysTabElement";if(!t.showAllStoreysButtonElement)throw"Missing config: showAllStoreysButtonElement";if(!t.hideAllStoreysButtonElement)throw"Missing config: hideAllStoreysButtonElement";if(!t.storeysElement)throw"Missing config: storeysElement";if(this._storeysTabElement=t.storeysTabElement,this._showAllStoreysButtonElement=t.showAllStoreysButtonElement,this._hideAllStoreysButtonElement=t.hideAllStoreysButtonElement,this._storeysTabButtonElement=this._storeysTabElement.querySelector(".xeokit-tab-btn"),!this._storeysTabButtonElement)throw"Missing DOM element: .xeokit-tab-btn";const s=t.storeysElement;this._treeView=new AE(this.viewer,{containerElement:s,autoAddModels:!1,hierarchy:"storeys",autoExpandDepth:1}),this._treeViewContextMenu=new Gy(this.bimViewer,{hideOnAction:!0}),this._treeView.on("contextmenu",(e=>{this._treeViewContextMenu.context={bimViewer:this.bimViewer,viewer:e.viewer,treeViewPlugin:e.treeViewPlugin,treeViewNode:e.treeViewNode,pruneEmptyNodes:!0},this._treeViewContextMenu.show(e.event.pageX,e.event.pageY)})),this._treeView.on("nodeTitleClicked",(e=>{const t=this.viewer.scene,s=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&s.push(e.objectId)}));e.treeViewNode.checked?(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!1),t.setObjectsPickable(s,!0)):(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!0),t.setObjectsPickable(s,!0))})),this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{const t=this.bimViewer._modelsExplorer.getModelInfo(e);t&&this._treeView.addModel(e,{rootName:t.name})})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this.viewer.metaScene.metaModels[e]&&this._treeView.removeModel(e)})),this.bimViewer.on("reset",(()=>{this._treeView.collapse(),this._treeView.expandToDepth(1)}))}setEnabled(e){e?(this._storeysTabButtonElement.classList.remove("disabled"),this._showAllStoreysButtonElement.classList.remove("disabled"),this._hideAllStoreysButtonElement.classList.remove("disabled")):(this._storeysTabButtonElement.classList.add("disabled"),this._showAllStoreysButtonElement.classList.add("disabled"),this._hideAllStoreysButtonElement.classList.add("disabled"))}expandTreeViewToDepth(e){this._treeView.expandToDepth(e)}showNodeInTreeView(e){this._treeView.collapse(),this._treeView.showNode(e)}unShowNodeInTreeView(){this._treeView.unShowNode()}selectStorey(e,t){const s=this.viewer.metaScene.metaObjects[e];if(!s)return void this.error("selectStorey() - object is not found: '"+e+"'");if("IfcBuildingStorey"!==s.type)return void this.error("selectStorey() - object is not found: '"+e+"'");const i=s.getObjectIDsInSubtree();this._selectObjects(i,t)}_selectObjects(e,t){const s=this.viewer.scene,i=s.getAABB(e);this.viewer.cameraControl.pivotPos=A.getAABB3Center(i,Qy),t?(s.setObjectsXRayed(s.objectIds,!0),s.setObjectsVisible(s.objectIds,!0),s.setObjectsPickable(s.objectIds,!1),s.setObjectsSelected(s.selectedObjectIds,!1),s.setObjectsXRayed(e,!1),s.setObjectsVisible(e,!0),s.setObjectsPickable(e,!0),this.viewer.cameraFlight.flyTo({aabb:i},(()=>{setTimeout((function(){s.setObjectsVisible(s.xrayedObjectIds,!1),s.setObjectsXRayed(s.xrayedObjectIds,!1)}),500),t()}))):(s.setObjectsVisible(s.objectIds,!1),s.setObjectsPickable(s.xrayedObjectIds,!0),s.setObjectsXRayed(s.xrayedObjectIds,!1),s.setObjectsSelected(s.selectedObjectIds,!1),s.setObjectsVisible(e,!0),this.viewer.cameraFlight.jumpTo({aabb:i}))}destroy(){super.destroy(),this._treeView.destroy(),this._treeViewContextMenu.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded)}}const Wy=A.vec3();class zy extends Ey{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";this._saveOrthoActive=null,this._buttonElement=t.buttonElement,this._cameraControlNavModeMediator=t.cameraControlNavModeMediator,this._active=!1,this.on("enabled",(e=>{e?this._buttonElement.classList.remove("disabled"):this._buttonElement.classList.add("disabled")})),this._buttonElement.addEventListener("click",(e=>{this.getEnabled()&&(this.bimViewer._sectionTool.hideControl(),this.setActive(!this.getActive(),(()=>{}))),e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!0,(()=>{}))}))}setEnabled(e){super.setEnabled(e),this._saveOrthoActive=this.bimViewer._orthoMode.getActive()}setActive(e,t){this._active!==e?(this._active=e,e?(this._buttonElement.classList.add("active"),t?this._enterThreeDMode((()=>{this.fire("active",this._active),t()})):(this._enterThreeDMode(),this.fire("active",this._active))):(this._buttonElement.classList.remove("active"),t?this._exitThreeDMode((()=>{this.fire("active",this._active),t()})):(this._exitThreeDMode(),this.fire("active",this._active)))):t&&t()}_enterThreeDMode(e){const t=this.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds),r=A.getAABB3Diag(i),o=A.getAABB3Center(i,Wy),n=Math.abs(r/Math.tan(32.5)),a=s.camera,l=a.yUp?[-1,-1,-1]:[1,1,1],h=a.yUp?[-1,1,-1]:[-1,1,1];t.cameraControl.pivotPos=o,this.bimViewer._navCubeMode.setActive(!0),this.bimViewer._firstPersonMode.setEnabled(!0),this._cameraControlNavModeMediator.setThreeDModeActive(!0),this.bimViewer._sectionTool.setEnabled(!0),this.bimViewer._orthoMode.setEnabled(!0),e?t.cameraFlight.flyTo({look:o,eye:[o[0]-n*l[0],o[1]-n*l[1],o[2]-n*l[2]],up:h,orthoScale:1.3*r,duration:1,projection:this._saveOrthoActive?"ortho":"perspective"},(()=>{e()})):t.cameraFlight.jumpTo({look:o,eye:[o[0]-n*l[0],o[1]-n*l[1],o[2]-n*l[2]],up:h,orthoScale:1.3*r,projection:this._saveOrthoActive?"ortho":"perspective"})}_exitThreeDMode(e){const t=this.viewer,s=t.scene,i=s.camera,r=s.getAABB(s.visibleObjectIds),o=A.getAABB3Center(r),n=A.getAABB3Diag(r),a=Math.abs(n/Math.tan(45*A.DEGTORAD)),l=1.3*n,h=Wy;h[0]=o[0]+i.worldUp[0]*a,h[1]=o[1]+i.worldUp[1]*a,h[2]=o[2]+i.worldUp[2]*a;const c=A.mulVec3Scalar(i.worldForward,-1,[]);this.bimViewer._sectionTool.setActive(!1),this.bimViewer._firstPersonMode.setEnabled(!1),this._saveOrthoActive=this.bimViewer._orthoMode.getActive(),this.bimViewer._orthoMode.setEnabled(!1),this._cameraControlNavModeMediator.setThreeDModeActive(!1),e?t.cameraFlight.flyTo({eye:h,look:o,up:c,orthoScale:l,projection:"ortho"},(()=>{this.bimViewer._navCubeMode.setActive(!1)})):(t.cameraFlight.jumpTo({eye:h,look:o,up:c,orthoScale:l,projection:"ortho"}),this.bimViewer._navCubeMode.setActive(!1))}}class Ky extends o{constructor(e,t={}){super(t),this._bimViewer=e,this._buildMenu()}_buildMenu(){const e=[],t=[];this._bimViewer._enablePropertiesInspector&&e.push({getTitle:e=>e.viewer.localeService.translate("objectContextMenu.inspectProperties")||"Inspect Properties",doAction:e=>{const t=e.entity.id;e.bimViewer.showObjectProperties(t)}}),e.push({getTitle:e=>e.viewer.localeService.translate("objectContextMenu.showInTree")||"Show in Explorer",doAction:e=>{const t=e.entity.id;e.showObjectInExplorers(t)}}),t.push({getTitle:e=>e.viewer.localeService.translate("objectContextMenu.viewFit")||"View Fit",doAction:e=>{const t=e.viewer,s=t.scene,i=e.entity;t.cameraFlight.flyTo({aabb:i.aabb,duration:.5},(()=>{setTimeout((function(){s.setObjectsHighlighted(s.highlightedObjectIds,!1)}),500)})),t.cameraControl.pivotPos=A.getAABB3Center(i.aabb)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitSelection")||"View Fit Selected",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.selectedObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=A.getAABB3Center(i)}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.viewFitAll")||"View Fit All",doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=A.getAABB3Center(i)}}),this.items=[e,t,[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.hide")||"Hide",getEnabled:e=>e.entity.visible,doAction:e=>{e.entity.visible=!1}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.hideOthers")||"Hide Others",doAction:e=>{const t=e.viewer,s=t.scene,i=e.entity,r=t.metaScene.metaObjects[i.id];r&&(s.setObjectsVisible(s.visibleObjectIds,!1),r.withMetaObjectsInSubtree((e=>{const t=s.objects[e.id];t&&(t.visible=!0)})))}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.hideAll")||"Hide All",getEnabled:e=>e.viewer.scene.numVisibleObjects>0,doAction:e=>{e.viewer.scene.setObjectsVisible(e.viewer.scene.visibleObjectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.showAll")||"Show All",getEnabled:e=>{const t=e.viewer.scene;return t.numVisibleObjects0},doAction:e=>{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xray")||"X-Ray",getEnabled:e=>!e.entity.xrayed,doAction:e=>{const t=e.entity;t.xrayed=!0,t.pickable=e.bimViewer.getConfig("xrayPickable")}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xrayOthers")||"X-Ray Others",doAction:e=>{const t=e.viewer,s=t.scene,i=e.entity,r=t.metaScene.metaObjects[i.id];r&&(s.setObjectsVisible(s.objectIds,!0),s.setObjectsXRayed(s.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||s.setObjectsPickable(s.objectIds,!1),r.withMetaObjectsInSubtree((e=>{const t=s.objects[e.id];t&&(t.xrayed=!1,t.pickable=!0)})))}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xrayAll")||"X-Ray All",getEnabled:e=>{const t=e.viewer.scene;return t.numXRayedObjects{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||t.setObjectsPickable(t.objectIds,!1),t.setObjectsXRayed(t.objectIds,!0)}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xrayNone")||"X-Ray None",getEnabled:e=>e.viewer.scene.numXRayedObjects>0,doAction:e=>{const t=e.viewer.scene,s=t.xrayedObjectIds;t.setObjectsPickable(s,!0),t.setObjectsXRayed(s,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.select")||"Select",getEnabled:e=>!e.entity.selected,doAction:e=>{e.entity.selected=!0}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.undoSelect")||"Undo Select",getEnabled:e=>e.entity.selected,doAction:e=>{e.entity.selected=!1}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.selectNone")||"Select None",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{e.viewer.scene.setObjectsSelected(e.viewer.scene.selectedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}}]]}}class Yy extends o{constructor(e={}){super({hideOnAction:e.hideOnAction,context:e.context,items:[[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitAll")||"View Fit All",doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=A.getAABB3Center(i)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitSelection")||"View Fit Selected",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.selectedObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=A.getAABB3Center(i)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.hideAll")||"Hide All",getEnabled:e=>e.viewer.scene.numVisibleObjects>0,doAction:e=>{e.viewer.scene.setObjectsVisible(e.viewer.scene.visibleObjectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.showAll")||"Show All",getEnabled:e=>{const t=e.viewer.scene;return t.numVisibleObjects0},doAction:e=>{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.xRayAll")||"X-Ray All",getEnabled:e=>{const t=e.viewer.scene;return t.numXRayedObjects{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsXRayed(t.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||t.setObjectsPickable(t.objectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.xRayNone")||"X-Ray None",getEnabled:e=>e.viewer.scene.numXRayedObjects>0,doAction:e=>{const t=e.viewer.scene.xrayedObjectIds;e.viewer.scene.setObjectsPickable(t,!0),e.viewer.scene.setObjectsXRayed(t,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.selectNone")||"Select None",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{e.viewer.scene.setObjectsSelected(e.viewer.scene.selectedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.resetView")||"Reset View",doAction:e=>{e.bimViewer.resetView()}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}}]]})}}class Xy extends Ey{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";this._buttonElement=t.buttonElement,this.on("enabled",(e=>{e?this._buttonElement.classList.remove("disabled"):this._buttonElement.classList.add("disabled")})),this._buttonElement.addEventListener("click",(e=>{this.getEnabled()&&this.setActive(!this.getActive(),(()=>{})),e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)})),this.viewer.camera.on("projection",(()=>{const e="ortho"===this.viewer.camera.projection;this._active=e,this._active?this._buttonElement.classList.add("active"):this._buttonElement.classList.remove("active")})),this._active=!1,this._buttonElement.classList.remove("active")}setActive(e,t){this._active!==e?(this._active=e,e?(this._buttonElement.classList.add("active"),t?this._enterOrthoMode((()=>{this.fire("active",this._active),t()})):(this._enterOrthoMode(),this.fire("active",this._active))):(this._buttonElement.classList.remove("active"),t?this._exitOrthoMode((()=>{this.fire("active",this._active),t()})):(this._exitOrthoMode(),this.fire("active",this._active)))):t&&t()}_enterOrthoMode(e){e?this.viewer.cameraFlight.flyTo({projection:"ortho",duration:.5},e):this.viewer.cameraFlight.jumpTo({projection:"ortho"})}_exitOrthoMode(e){e?this.viewer.cameraFlight.flyTo({projection:"perspective",duration:.5},e):this.viewer.cameraFlight.jumpTo({projection:"perspective"})}}class Zy extends Ey{constructor(e,t={}){if(super(e),!t.propertiesTabElement)throw"Missing config: propertiesTabElement";if(!t.propertiesElement)throw"Missing config: propertiesElement";if(this._metaObject=null,this._propertiesTabElement=t.propertiesTabElement,this._propertiesElement=t.propertiesElement,this._propertiesTabButtonElement=this._propertiesTabElement.querySelector(".xeokit-tab-btn"),!this._propertiesTabButtonElement)throw"Missing DOM element: ,xeokit-tab-btn";this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{if(this._metaObject){const t=this._metaObject.metaModels;for(let s=0,i=t.length;s{this.clear()})),document.addEventListener("click",this._clickListener=e=>{e.target.matches(".xeokit-accordion .xeokit-accordion-button")&&(e.target.parentElement.classList.contains("active")?e.target.parentElement.classList.remove("active"):e.target.parentElement.classList.add("active"))}),this.clear()}showObjectPropertySets(e){const t=this.viewer.metaScene.metaObjects[e];if(!t)return;const s=t.propertySets;s&&s.length>0?this._setPropertySets(t,s):this._setPropertySets(t),this._metaObject=t}clear(){const e=[],t=this.viewer.localeService.translate("propertiesInspector.noObjectSelectedWarning")||"No object inspected. Right-click or long-tab an object and select 'Inspect Properties' to view its properties here.";e.push('
'),e.push(`

${t}

`),e.push("
");const s=e.join("");this._propertiesElement.innerHTML=s}_setPropertySets(e,t){const s=[];if(s.push('
'),e){s.push(''),s.push(``),e.type&&s.push(``),s.push(``),s.push(``);const i=e.attributes;if(i)for(let e in i)s.push(``);if(s.push("
Name:${e.name}
Class:${e.type}
UUID:${e.originalSystemId}
Viewer ID:${e.id}
${qy(e)}:${i[e]}
"),t&&0!==t.length){s.push("
"),s.push('
');for(let e=0,i=t.length;e0){s.push(`
\n

${i.name}

\n
\n `);for(let e=0,t=r.length;e`)}s.push("
${t.name||t.label}:${t.value}
\n
\n
")}}s.push("
")}else{const e=this.viewer.localeService.translate("propertiesInspector.noPropSetWarning")||"No properties sets found for this object";s.push(`

${e}

`),s.push("")}}else s.push('

No object selected

');this._propertiesElement.innerHTML=s.join("")}setEnabled(e){e?this._propertiesTabButtonElement.classList.remove("disabled"):this._propertiesTabButtonElement.classList.add("disabled")}destroy(){super.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded),document.removeEventListener("click",this._clickListener)}}function qy(e){return e?e.charAt(0).toUpperCase()+e.slice(1):e}const Jy=new Float32Array(3);class $y{constructor(e){if(!e)throw"Parameter expected: cfg";if(!e.viewer)throw"Parameter expected: cfg.viewer";this.viewer=e.viewer,this._maxTreeDepth=e.maxTreeDepth||15,this._root=null,this._needsRebuild=!0,this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{this._needsRebuild=!0})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this._needsRebuild=!0}))}get root(){return this._needsRebuild&&this._rebuild(),this._root}_rebuild(){const e=this.viewer.scene;this._root={aabb:e.getAABB()};for(let t in e.objects){const s=e.objects[t];this._insertEntity(this._root,s,1)}this._needsRebuild=!1}_insertEntity(e,t,s){const i=t.aabb;if(s>=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&A.containsAABB3(e.left.aabb,i))return void this._insertEntity(e.left,t,s+1);if(e.right&&A.containsAABB3(e.right.aabb,i))return void this._insertEntity(e.right,t,s+1);const r=e.aabb;Jy[0]=r[3]-r[0],Jy[1]=r[4]-r[1],Jy[2]=r[5]-r[2];let o=0;if(Jy[1]>Jy[o]&&(o=1),Jy[2]>Jy[o]&&(o=2),!e.left){const n=r.slice();if(n[o+3]=(r[o]+r[o+3])/2,e.left={aabb:n},A.containsAABB3(n,i))return void this._insertEntity(e.left,t,s+1)}if(!e.right){const n=r.slice();if(n[o]=(r[o]+r[o+3])/2,e.right={aabb:n},A.containsAABB3(n,i))return void this._insertEntity(e.right,t,s+1)}e.entities=e.entities||[],e.entities.push(t)}destroy(){const e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}class eg extends Ey{constructor(e,t){if(super(e),!t.buttonElement)throw"Missing config: buttonElement";this._objectsKdTree3=t.objectsKdTree3,this._marquee=A.AABB2(),this._marqueeFrustum=new Ct,this._marqueeFrustumProjMat=A.mat4(),this._marqueeDir=!1;const s=t.buttonElement;this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?(s.classList.add("active"),this._objectsKdTree3.root):s.classList.remove("active")})),s.addEventListener("click",(e=>{if(this.getEnabled()){const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}));const i=this.viewer.scene,r=i.canvas.canvas;this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement);const o=this._marqueeElement.style;let n,a,l,h,c,u,p,d;o.position="absolute",o["z-index"]="40000005",o.width="8px",o.height="8px",o.visibility="hidden",o.top="0px",o.left="0px",o["box-shadow"]="0 2px 5px 0 #182A3D;",o.opacity=1,o["pointer-events"]="none";let f=!1,m=!1;r.addEventListener("mousedown",(e=>{if(!this.getActive()||!this.getEnabled())return;if(0!==e.button)return;const t=this.bimViewer.viewer.scene.input;t.keyDown[t.KEY_CTRL]||i.setObjectsSelected(i.selectedObjectIds,!1),n=e.pageX,a=e.pageY,o.visibility="visible",o.left=`${n}px`,o.top=`${a}px`,o.width="0px",o.height="0px",o.display="block",c=e.offsetX,u=e.offsetY,f=!0,this.viewer.cameraControl.pointerEnabled=!1})),r.addEventListener("mouseup",(e=>{if(!this.getActive()||!this.getEnabled())return;if(!f&&!m)return;if(0!==e.button)return;l=e.pageX,h=e.pageY;const t=Math.abs(l-n),s=Math.abs(h-a);o.width=`${t}px`,o.height=`${s}px`,o.visibility="hidden",f=!1,this.viewer.cameraControl.pointerEnabled=!0,m&&(m=!1),(t>3||s>3)&&this._marqueePick()})),document.addEventListener("mouseup",(e=>{this.getActive()&&this.getEnabled()&&0===e.button&&f&&(o.visibility="hidden",f=!1,m=!0,this.viewer.cameraControl.pointerEnabled=!0)}),!0),r.addEventListener("mousemove",(e=>{if(!this.getActive()||!this.getEnabled())return;if(0!==e.button)return;if(!f)return;const t=e.pageX,s=e.pageY,i=t-n,r=s-a;o.width=`${Math.abs(i)}px`,o.height=`${Math.abs(r)}px`,o.left=`${Math.min(n,t)}px`,o.top=`${Math.min(a,s)}px`,p=e.offsetX,d=e.offsetY;const l=c{if(i===Ct.INTERSECT&&(i=bt(this._marqueeFrustum,s.aabb)),i!==Ct.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,i=t.length;s{e.preventDefault()},o.oncontextmenu=e=>{e.preventDefault()},n.oncontextmenu=e=>{e.preventDefault()};const l=new Mf({localeService:t.localeService,canvasElement:s,keyboardEventsElement:t.keyboardEventsElement,transparent:!1,backgroundColor:[1,1,1],backgroundColorFromAmbientLight:!1,saoEnabled:!0,pbrEnabled:!1,colorTextureEnabled:!0});super(null,t,e,l),this._configs={},this._enableAddModels=!!t.enableEditModels,this._enablePropertiesInspector=!!t.inspectorElement,this.viewer=l,this._objectsKdTree3=new $y({viewer:l}),this._customizeViewer(),this._initCanvasContextMenus(),i.innerHTML=function(e){return'
\n
\n Models\n
\n
\n \n '+(e.enableEditModels?'':"")+'
\n
\n
\n
\n
\n Objects\n
\n
\n \n \n
\n
\n
\n
\n
\n Classes\n
\n
\n \n \n
\n
\n
\n
\n
\n Storeys\n
\n
\n \n \n
\n
\n
\n
\n
'}(t),o.innerHTML='
\n \x3c!-- Reset button --\x3e\n
\n \n
\n
\n \x3c!-- 3D Mode button --\x3e\n \n \x3c!-- Perspective/Ortho Mode button --\x3e\n \n \x3c!-- Fit button --\x3e\n \n \x3c!-- First Person mode button --\x3e\n \n \x3c!-- Show/hide IFCSpaces --\x3e\n \n
\n \x3c!-- Tools button group --\x3e\n
\n \x3c!-- Hide tool button --\x3e\n \n \x3c!-- Select tool button --\x3e\n \n \x3c!-- Marquee select tool button --\x3e\n \n \x3c!-- section tool button --\x3e\n \n
\n
',this._enablePropertiesInspector&&(r.innerHTML='
\n
\n Properties\n
\n
\n
\n
\n
'),this._explorerElement=i,this._inspectorElement=r,tg(i),this._enablePropertiesInspector&&tg(r),this._modelsExplorer=new Uy(this,{modelsTabElement:i.querySelector(".xeokit-modelsTab"),loadModelsButtonElement:i.querySelector(".xeokit-loadAllModels"),unloadModelsButtonElement:i.querySelector(".xeokit-unloadAllModels"),addModelButtonElement:i.querySelector(".xeokit-addModel"),modelsElement:i.querySelector(".xeokit-models"),enableEditModels:this._enableAddModels}),this._objectsExplorer=new ky(this,{objectsTabElement:i.querySelector(".xeokit-objectsTab"),showAllObjectsButtonElement:i.querySelector(".xeokit-showAllObjects"),hideAllObjectsButtonElement:i.querySelector(".xeokit-hideAllObjects"),objectsElement:i.querySelector(".xeokit-objects")}),this._classesExplorer=new Vy(this,{classesTabElement:i.querySelector(".xeokit-classesTab"),showAllClassesButtonElement:i.querySelector(".xeokit-showAllClasses"),hideAllClassesButtonElement:i.querySelector(".xeokit-hideAllClasses"),classesElement:i.querySelector(".xeokit-classes")}),this._storeysExplorer=new jy(this,{storeysTabElement:i.querySelector(".xeokit-storeysTab"),showAllStoreysButtonElement:i.querySelector(".xeokit-showAllStoreys"),hideAllStoreysButtonElement:i.querySelector(".xeokit-hideAllStoreys"),storeysElement:i.querySelector(".xeokit-storeys")}),this._enablePropertiesInspector&&(this._propertiesInspector=new Zy(this,{propertiesTabElement:r.querySelector(".xeokit-propertiesTab"),propertiesElement:r.querySelector(".xeokit-properties")})),this._resetAction=new vy(this,{buttonElement:o.querySelector(".xeokit-reset"),active:!1}),this._fitAction=new Ty(this,{buttonElement:o.querySelector(".xeokit-fit"),active:!1});const h=new function(e){let t=!1;this.setThreeDModeActive=s=>{s?(e._firstPersonMode.setActive(!1),e._marqueeSelectionTool.setEnabled(!0),e.viewer.cameraControl.navMode="orbit"):(e._marqueeSelectionTool.setEnabled(!1),e._marqueeSelectionTool.setActive(!1),e._firstPersonMode.setActive(!1),e.viewer.cameraControl.navMode="planView"),t=s},this.setFirstPersonModeActive=s=>{e.viewer.cameraControl.navMode=s?"firstPerson":t?"orbit":"planView"}}(this);this._threeDMode=new zy(this,{buttonElement:o.querySelector(".xeokit-threeD"),cameraControlNavModeMediator:h,active:!1}),this._orthoMode=new Xy(this,{buttonElement:o.querySelector(".xeokit-ortho"),active:!1}),this._firstPersonMode=new _y(this,{buttonElement:o.querySelector(".xeokit-firstPerson"),cameraControlNavModeMediator:h,active:!1}),this._hideTool=new Ry(this,{buttonElement:o.querySelector(".xeokit-hide"),active:!1}),this._selectionTool=new Py(this,{buttonElement:o.querySelector(".xeokit-select"),active:!1}),this._marqueeSelectionTool=new eg(this,{buttonElement:o.querySelector(".xeokit-marquee"),active:!1,objectsKdTree3:this._objectsKdTree3}),this._showSpacesMode=new Dy(this,{buttonElement:o.querySelector(".xeokit-showSpaces"),active:!1}),this._queryTool=new Ny(this,{active:!1}),this._sectionTool=new Sy(this,{buttonElement:o.querySelector(".xeokit-section"),counterElement:o.querySelector(".xeokit-section-counter"),menuButtonElement:o.querySelector(".xeokit-section-menu-button"),menuButtonArrowElement:o.querySelector(".xeokit-section-menu-button-arrow"),active:!1}),this._navCubeMode=new xy(this,{navCubeCanvasElement:n,active:!0}),this._busyModal=new yy(this,{busyModalBackdropElement:a}),this._threeDMode.setActive(!0),this._firstPersonMode.setActive(!1),this._navCubeMode.setActive(!0),this._modelsExplorer.on("modelLoaded",(e=>{this._modelsExplorer.getNumModelsLoaded()>0&&this.setControlsEnabled(!0),this.fire("modelLoaded",e)})),this._modelsExplorer.on("modelUnloaded",(e=>{0===this._modelsExplorer.getNumModelsLoaded()&&(this.setControlsEnabled(!1),this.openTab("models")),this.fire("modelUnloaded",e)})),this._resetAction.on("reset",(()=>{this.fire("reset",!0)})),this._mutexActivation([this._hideTool,this._selectionTool,this._marqueeSelectionTool,this._sectionTool]),i.querySelector(".xeokit-showAllObjects").addEventListener("click",(e=>{this.setAllObjectsVisible(!0),this.setAllObjectsXRayed(!1),e.preventDefault()})),i.querySelector(".xeokit-hideAllObjects").addEventListener("click",(e=>{this.setAllObjectsVisible(!1),e.preventDefault()})),i.querySelector(".xeokit-showAllClasses").addEventListener("click",(e=>{this.setAllObjectsVisible(!0),this.setAllObjectsXRayed(!1),e.preventDefault()})),i.querySelector(".xeokit-hideAllClasses").addEventListener("click",(e=>{this.setAllObjectsVisible(!1),e.preventDefault()})),i.querySelector(".xeokit-showAllStoreys").addEventListener("click",(e=>{this.setAllObjectsVisible(!0),this.setAllObjectsXRayed(!1),e.preventDefault()})),i.querySelector(".xeokit-hideAllStoreys").addEventListener("click",(e=>{this.setAllObjectsVisible(!1),e.preventDefault()})),i.querySelector(".xeokit-loadAllModels").addEventListener("click",(e=>{this.setControlsEnabled(!1),this.loadAllModels(),e.preventDefault()})),i.querySelector(".xeokit-unloadAllModels").addEventListener("click",(e=>{this.setControlsEnabled(!1),this._modelsExplorer.unloadAllModels(),e.preventDefault()})),this._enableAddModels&&i.querySelector(".xeokit-addModel").addEventListener("click",(e=>{this.fire("addModel",{}),e.preventDefault()})),this._bcfViewpointsPlugin=new gi(this.viewer,{}),this._fastNavPlugin=new Lf(l,{hideEdges:!0,hideSAO:!0,hidePBR:!1,hideColorTexture:!1,hideTransparentObjects:!1,scaleCanvasResolution:!1,scaleCanvasResolutionFactor:.6}),this.viewer.scene.on("rendered",(()=>{const e=this._fastNavPlugin;e.hideEdges=5").firstChild;document.body.appendChild(t),this.viewer.cameraControl.pivotElement=t,e.camera.perspective.near=.01,e.camera.perspective.far=3e3,e.camera.ortho.near=.01,e.camera.ortho.far=2e3;const s=e.sao;s.enabled=!0,s.numSamples=50,s.kernelRadius=200}_initCanvasContextMenus(){this._canvasContextMenu=new Yy(this,{hideOnAction:!0}),this._objectContextMenu=new Ky(this,{hideOnAction:!0}),this.viewer.cameraControl.on("rightClick",(e=>{e.event;const t=this.viewer.scene.pick({canvasPos:e.canvasPos});t&&t.entity.isObject?(this._canvasContextMenu.hide(),this._objectContextMenu.context={viewer:this.viewer,bimViewer:this,showObjectInExplorers:e=>{const t=this.getOpenTab();"objects"!==t&&"classes"!==t&&"storeys"!==t&&this.openTab("objects"),this.showObjectInExplorers(e)},entity:t.entity},this._objectContextMenu.show(e.pagePos[0],e.pagePos[1])):(this._objectContextMenu.hide(),this._canvasContextMenu.context={viewer:this.viewer,bimViewer:this},this._canvasContextMenu.show(e.pagePos[0],e.pagePos[1]))}))}_initConfigs(){this.setConfigs({cameraNear:"0.05",cameraFar:"3000.0",smartPivot:"true",saoEnabled:"true",pbrEnabled:"false",saoBias:"0.5",saoIntensity:"0.15",saoNumSamples:"40",saoKernelRadius:"100",edgesEnabled:!0,xrayContext:!0,xrayPickable:!1,selectedGlowThrough:!0,highlightGlowThrough:!0,backgroundColor:[1,1,1],objectColorSource:"model",externalMetadata:!1,dtxEnabled:!1})}setConfigs(e){for(let t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setConfig(t,s)}}setConfig(e,t){function s(e){return!0===e||"true"===e}try{switch(e){case"backgroundColor":const i=t;this.setBackgroundColor(i),this._configs[e]=i;break;case"cameraNear":const r=parseFloat(t);this.viewer.scene.camera.perspective.near=r,this.viewer.scene.camera.ortho.near=r,this._configs[e]=r;break;case"cameraFar":const o=parseFloat(t);this.viewer.scene.camera.perspective.far=o,this._configs[e]=o;break;case"smartPivot":this.viewer.cameraControl.smartPivot=this._configs[e]=s(t);break;case"saoEnabled":this._fastNavPlugin.saoEnabled=this._configs[e]=s(t);break;case"saoBias":this.viewer.scene.sao.bias=parseFloat(t);break;case"saoIntensity":this.viewer.scene.sao.intensity=parseFloat(t);break;case"saoKernelRadius":this.viewer.scene.sao.kernelRadius=this._configs[e]=parseFloat(t);break;case"saoNumSamples":this.viewer.scene.sao.numSamples=this._configs[e]=parseFloat(t);break;case"saoBlur":this.viewer.scene.sao.blur=this._configs[e]=s(t);break;case"edgesEnabled":this._fastNavPlugin.edgesEnabled=this._configs[e]=s(t);break;case"pbrEnabled":this._fastNavPlugin.pbrEnabled=this._configs[e]=s(t);break;case"viewFitFOV":this.viewer.cameraFlight.fitFOV=this._configs[e]=parseFloat(t);break;case"viewFitDuration":this.viewer.cameraFlight.duration=this._configs[e]=parseFloat(t);break;case"perspectiveFOV":this.viewer.camera.perspective.fov=this._configs[e]=parseFloat(t);break;case"excludeUnclassifiedObjects":case"xrayPickable":case"externalMetadata":this._configs[e]=s(t);break;case"objectColorSource":this.setObjectColorSource(t),this._configs[e]=t;break;case"xrayContext":this._configs[e]=t;break;case"selectedGlowThrough":const n=this._configs[e]=s(t),a=this.viewer.scene.selectedMaterial;a.glowThrough=n,a.fillAlpha=n?.5:1,a.edgeAlpha=n?.5:1;break;case"highlightGlowThrough":const l=this._configs[e]=s(t),h=this.viewer.scene.highlightMaterial;h.glowThrough=l,h.fillAlpha=l?.5:1,h.edgeAlpha=l?.5:1;break;case"showSpaces":this._configs[e]=s(t),this._showSpacesMode.setActive(t);break;case"dtxEnabled":this._configs[e]=s(t),this.viewer.scene.dtxEnabled=t;break;default:this.error("setConfig() - unsupported configuration: '"+e+"'")}}catch(t){this.error("setConfig() - failed to configure '"+e+"': "+t)}}getConfig(e){return this._configs[e]}getProjectsInfo(e,t){e?this.server.getProjects(e,(e=>{this.error("getProjectsInfo() - "+e),t&&t(e)})):this.error("getProjectsInfo() - Argument expected: 'done'")}getProjectInfo(e,t,s){e?t?this.server.getProject(e,t,(e=>{this.error("getProjectInfo() - "+e),s&&s(e)})):this.error("getProjectInfo() - Argument expected: 'done'"):this.error("getProjectInfo() - Argument expected: projectId")}getObjectInfo(e,t,s,i,r){e?t?s?i?this.server.getObjectInfo(e,t,s,i,(e=>{r&&r(e)})):this.error("getProjectInfo() - Argument expected: 'done'"):this.error("getObjectInfo() - Argument expected: objectId"):this.error("getObjectInfo() - Argument expected: modelId"):this.error("getObjectInfo() - Argument expected: projectId")}loadProject(e,t,s){e?this._modelsExplorer.loadProject(e,(()=>{t&&t()}),(e=>{this.error("loadProject() - "+e),s&&s(e)})):this.error("loadProject() - Argument expected: objectId")}unloadProject(){this._modelsExplorer.unloadProject(),this.openTab("models"),this.setControlsEnabled(!1)}getLoadedProjectId(){return this._modelsExplorer.getLoadedProjectId()}getModelIds(){return this._modelsExplorer.getModelIds()}loadModel(e,t,s){e?this._modelsExplorer.loadModel(e,(()=>{t&&t()}),(e=>{this.error("loadModel() - "+e),s&&s(e)})):this.error("loadModel() - Argument expected: modelId")}loadAllModels(e=function(){}){const t=this._modelsExplorer.getModelIds(),s=(e,i)=>{if(e>=t.length)i();else{const r=t[e];this._modelsExplorer.isModelLoaded(r)?s(e+1,i):this._modelsExplorer.loadModel(r,(()=>{s(e+1,i)}),(t=>{this.error("loadAllModels() - "+t),s(e+1,i)}))}};s(0,e)}getLoadedModelIds(){return this._modelsExplorer._getLoadedModelIds()}isModelLoaded(e){if(e)return this._modelsExplorer.isModelLoaded(e);this.error("unloadModel() - Argument expected: modelId")}unloadModel(e){e?this._modelsExplorer.unloadModel(e):this.error("unloadModel() - Argument expected: modelId")}unloadAllModels(){this._modelsExplorer.unloadAllModels()}editModel(e){this.fire("editModel",{modelId:e})}deleteModel(e){this.fire("deleteModel",{modelId:e})}addModel(){this.fire("addModel",{})}setBackgroundColor(e){this.viewer.scene.canvas.backgroundColor=e}setObjectColorSource(e){switch(e){case"model":case"viewer":break;default:return e="model",void this.error("setObjectColorSource() - Unsupported value - accepted values are 'model' and 'viewer' - defaulting to 'model'")}this._objectColorSource=e}getObjectColorSource(){return this._objectColorSource||"model"}setViewerState(e,t=(()=>{})){e.tabOpen&&this.openTab(e.tabOpen),e.expandObjectsTree&&this._objectsExplorer.expandTreeViewToDepth(e.expandObjectsTree),e.expandClassesTree&&this._classesExplorer.expandTreeViewToDepth(e.expandClassesTree),e.expandStoreysTree&&this._storeysExplorer.expandTreeViewToDepth(e.expandStoreysTree),e.setCamera&&this.setCamera(e.setCamera),this._parseSelectedStorey(e,(()=>{this._parseThreeDMode(e,(()=>{t()}))}))}_parseSelectedStorey(e,t){e.selectedStorey?(this.selectStorey(e.selectedStorey),t()):t()}_parseThreeDMode(e,t){const s=!1!==e.threeDActive;this.set3DEnabled(s,t)}showObjectInExplorers(e){e?(this._objectsExplorer.showNodeInTreeView(e),this._classesExplorer.showNodeInTreeView(e),this._storeysExplorer.showNodeInTreeView(e),this.fire("openExplorer",{})):this.error("showObjectInExplorers() - Argument expected: objectId")}unShowObjectInExplorers(){this._objectsExplorer.unShowNodeInTreeView(),this._classesExplorer.unShowNodeInTreeView(),this._storeysExplorer.unShowNodeInTreeView()}showObjectProperties(e){e?(this._enablePropertiesInspector&&this._propertiesInspector.showObjectPropertySets(e),this.fire("openInspector",{})):this.error("showObjectInExplorers() - Argument expected: objectId")}setObjectsVisible(e,t){this._withObjectsInSubtree(e,(e=>{e.visible=t}))}setAllObjectsVisible(e){e?this.viewer.scene.setObjectsVisible(this.viewer.scene.objectIds,!0):this.viewer.scene.setObjectsVisible(this.viewer.scene.visibleObjectIds,!1)}setObjectsXRayed(e,t){this._withObjectsInSubtree(e,(e=>{e.xrayed=t}))}setAllObjectsXRayed(e){e?this.viewer.scene.setObjectsXRayed(this.viewer.scene.objectIds,!0):this.viewer.scene.setObjectsXRayed(this.viewer.scene.xrayedObjectIds,!1)}setObjectsSelected(e,t){this._withObjectsInSubtree(e,(e=>{e.selected=t}))}setAllObjectsSelected(e){e?this.viewer.scene.setObjectsSelected(this.viewer.scene.objectIds,!0):this.viewer.scene.setObjectsSelected(this.viewer.scene.selectedObjectIds,!1)}_withObjectsInSubtree(e,t){if(e)for(let s=0,i=e.length;s{const s=this.viewer.scene.objects[e.id];s&&t(s)}))}else this.error("Argument expected: objectIds")}flyToObject(e,t){if(!e)return void this.error("flyToObject() - Argument expected: objectId");const s=this.viewer,i=s.scene,r=[];if(this.viewer.metaScene.withMetaObjectsInSubtree(e,(e=>{i.objects[e.id]&&r.push(e.id)})),0===r.length)return this.error("Object not found in viewer: '"+e+"'"),void(t&&t());i.setObjectsVisible(r,!0),i.setObjectsHighlighted(r,!0);const o=i.getAABB(r);s.cameraFlight.flyTo({aabb:o},(()=>{t&&t(),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)})),s.cameraControl.pivotPos=A.getAABB3Center(o)}viewFitObjects(e,t){if(!e)return void this.error("flyToObject() - Argument expected: objectIds");const s=this.viewer,i=s.scene,r=[];for(var o=0,n=e.length;o{i.objects[e.id]&&r.push(e.id)}))}if(0===r.length)return void(t&&t());i.setObjectsVisible(r,!0),i.setObjectsHighlighted(r,!0);const a=i.getAABB(r);s.cameraFlight.flyTo({aabb:a},(()=>{t&&t(),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)})),s.cameraControl.pivotPos=A.getAABB3Center(a)}viewFitAll(e){const t=this.viewer,s=t.scene.getAABB();t.cameraFlight.flyTo({aabb:s},(()=>{e&&e()})),t.cameraControl.pivotPos=A.getAABB3Center(s)}jumpToObject(e){if(!e)return void this.error("jumpToObject() - Argument expected: objectId");const t=this.viewer,s=t.scene,i=[];if(this.viewer.metaScene.withMetaObjectsInSubtree(e,(e=>{s.objects[e.id]&&i.push(e.id)})),0===i.length)return void this.error("Object not found in viewer: '"+e+"'");s.setObjectsVisible(i,!0);const r=s.getAABB(i);t.cameraFlight.jumpTo({aabb:r}),t.cameraControl.pivotPos=A.getAABB3Center(r)}setCamera(e){const t=this.viewer.scene.camera;e.eye&&(t.eye=e.eye),e.look&&(t.look=e.look),e.up&&(t.up=e.up)}viewFitModels(e,t){if(!e)return void this.error("viewFitModels() - Argument expected: modelIds");const s=this.viewer,i=s.scene,r=A.AABB3();A.collapseAABB3(r);for(var o=0,n=e.length;o{t(),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)})):(s.cameraFlight.jumpTo({aabb:r}),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)),s.cameraControl.pivotPos=A.getAABB3Center(r)}openTab(e){if(!e)return void this.error("openTab() - Argument expected: tabId");let t;switch(e){case"models":t="xeokit-modelsTab";break;case"objects":t="xeokit-objectsTab";break;case"classes":t="xeokit-classesTab";break;case"storeys":t="xeokit-storeysTab";break;case"properties":t="xeokit-propertiesTab";break;default:return void this.error("openTab() - tab not recognized: '"+e+"'")}this._openTab(this._explorerElement,t)}_openTab(e,t){const s="active";let i=e.querySelectorAll(".xeokit-tab"),r=e.querySelector("."+t);for(let e=0;e-1}const t="active";return e(this._explorerElement.querySelector(".xeokit-modelsTab"),t)?"models":e(this._explorerElement.querySelector(".xeokit-objectsTab"),t)?"objects":e(this._explorerElement.querySelector(".xeokit-classesTab"),t)?"classes":e(this._explorerElement.querySelector(".xeokit-storeysTab"),t)?"storeys":e(this._inspectorElement.querySelector(".xeokit-propertiesTab"),t)?"properties":"none"}set3DEnabled(e,t){this._threeDMode.setActive(e,t)}get3DEnabled(){return this._threeDMode.getActive()}setSpacesShown(e){this._showSpacesMode.setActive(e)}getSpacesShown(){return this._showSpacesMode.getActive()}setOrthoEnabled(e,t){this._orthoMode.setActive(e,t)}getOrthoEnabled(){return this._orthoMode.getActive()}selectStorey(e,t){const s=this.viewer.metaScene.metaObjects[e];s?"IfcBuildingStorey"===s.type?this._storeysExplorer.selectStorey(e,t):this.error("selectStorey() - Object is not an IfcBuildingStorey: '"+e+"'"):this.error("selectStorey() - Object is not found: '"+e+"'")}saveBCFViewpoint(e){return this._bcfViewpointsPlugin.getViewpoint(e)}loadBCFViewpoint(e,t){e?(this._orthoMode.setActive("ortho"===this.viewer.camera.projection),this._bcfViewpointsPlugin.setViewpoint(e,t)):this.error("loadBCFViewpoint() - Argument expected: bcfViewpoint")}resetView(){this._resetAction.reset()}setControlsEnabled(e){this._objectsExplorer.setEnabled(e),this._classesExplorer.setEnabled(e),this._storeysExplorer.setEnabled(e),this._resetAction.setEnabled(e),this._fitAction.setEnabled(e),this._threeDMode.setEnabled(e),this._orthoMode.setEnabled(e),this._firstPersonMode.setEnabled(e),this._queryTool.setEnabled(e),this._hideTool.setEnabled(e),this._selectionTool.setEnabled(e),this._marqueeSelectionTool.setEnabled(e),this._showSpacesMode.setEnabled(e),this._sectionTool.setEnabled(e),this._enablePropertiesInspector&&this._propertiesInspector.setEnabled(e)}setKeyboardEnabled(e){this.viewer.scene.input.keyboardEnabled=e}getKeyboardEnabled(){return this.viewer.scene.input.keyboardEnabled}clearSections(){this._sectionTool.clear()}disableSections(){this._sectionTool.disableSections()}enableSections(){this._sectionTool.enableSections()}flipSections(){this._sectionTool.flipSections()}hideSectionEditControl(){this._sectionTool.hideControl()}getNumSections(){return this._sectionTool.getNumSections()}destroy(){this.viewer.destroy(),this._bcfViewpointsPlugin.destroy(),this._canvasContextMenu.destroy(),this._objectContextMenu.destroy()}}export{sg as BIMViewer,Ri as LocaleService,fy as Server}; diff --git a/dist/xeokit-bim-viewer.min.umd.js b/dist/xeokit-bim-viewer.min.umd.js index 2c3733b1..1e918c92 100644 --- a/dist/xeokit-bim-viewer.min.umd.js +++ b/dist/xeokit-bim-viewer.min.umd.js @@ -43,5 +43,5 @@ let ha=null;function ca(e,t){let s;for(let i=0;i<3;i++)if(0!=(s=ha[3*e+i]-ha[3*t LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */var Eh=function(e,t){return Eh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])},Eh(e,t)};function yh(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function s(){this.constructor=e}Eh(e,t),e.prototype=null===t?Object.create(t):(s.prototype=t.prototype,new s)}var gh=function(){return gh=Object.assign||function(e){for(var t,s=1,i=arguments.length;s0&&r[r.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=55296&&r<=56319&&s>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},Nh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ch="undefined"==typeof Uint8Array?[]:new Uint8Array(256),bh=0;bh=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Fh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Mh="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Lh=0;Lh>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i0;){var n=i[--o];if(Array.isArray(e)?-1!==e.indexOf(n):e===n)for(var a=s;a<=i.length;){var l;if((l=i[++a])===t)return!0;if(l!==Uh)break}if(n!==Uh)break}return!1},vc=function(e,t){for(var s=e;s>=0;){var i=t[s];if(i!==Uh)return i;s--}return 0},Ic=function(e,t,s,i,r){if(0===s[i])return hc;var o=i-1;if(Array.isArray(r)&&!0===r[o])return hc;var n=o-1,a=o+1,l=t[o],h=n>=0?t[n]:0,c=t[a];if(2===l&&3===c)return hc;if(-1!==pc.indexOf(l))return"!";if(-1!==pc.indexOf(c))return hc;if(-1!==dc.indexOf(c))return hc;if(8===vc(o,t))return cc;if(11===uc.get(e[o]))return hc;if((l===$h||l===ec)&&11===uc.get(e[a]))return hc;if(7===l||7===c)return hc;if(9===l)return hc;if(-1===[Uh,Hh,Gh].indexOf(l)&&9===c)return hc;if(-1!==[kh,Vh,Qh,Kh,qh].indexOf(c))return hc;if(vc(o,t)===zh)return hc;if(gc(23,zh,o,t))return hc;if(gc([kh,Vh],Wh,o,t))return hc;if(gc(12,12,o,t))return hc;if(l===Uh)return cc;if(23===l||23===c)return hc;if(16===c||16===l)return cc;if(-1!==[Hh,Gh,Wh].indexOf(c)||14===l)return hc;if(36===h&&-1!==yc.indexOf(l))return hc;if(l===qh&&36===c)return hc;if(c===jh)return hc;if(-1!==Ac.indexOf(c)&&l===Yh||-1!==Ac.indexOf(l)&&c===Yh)return hc;if(l===Zh&&-1!==[ic,$h,ec].indexOf(c)||-1!==[ic,$h,ec].indexOf(l)&&c===Xh)return hc;if(-1!==Ac.indexOf(l)&&-1!==fc.indexOf(c)||-1!==fc.indexOf(l)&&-1!==Ac.indexOf(c))return hc;if(-1!==[Zh,Xh].indexOf(l)&&(c===Yh||-1!==[zh,Gh].indexOf(c)&&t[a+1]===Yh)||-1!==[zh,Gh].indexOf(l)&&c===Yh||l===Yh&&-1!==[Yh,qh,Kh].indexOf(c))return hc;if(-1!==[Yh,qh,Kh,kh,Vh].indexOf(c))for(var u=o;u>=0;){if((A=t[u])===Yh)return hc;if(-1===[qh,Kh].indexOf(A))break;u--}if(-1!==[Zh,Xh].indexOf(c))for(u=-1!==[kh,Vh].indexOf(l)?n:o;u>=0;){var A;if((A=t[u])===Yh)return hc;if(-1===[qh,Kh].indexOf(A))break;u--}if(rc===l&&-1!==[rc,oc,tc,sc].indexOf(c)||-1!==[oc,tc].indexOf(l)&&-1!==[oc,nc].indexOf(c)||-1!==[nc,sc].indexOf(l)&&c===nc)return hc;if(-1!==Ec.indexOf(l)&&-1!==[jh,Xh].indexOf(c)||-1!==Ec.indexOf(c)&&l===Zh)return hc;if(-1!==Ac.indexOf(l)&&-1!==Ac.indexOf(c))return hc;if(l===Kh&&-1!==Ac.indexOf(c))return hc;if(-1!==Ac.concat(Yh).indexOf(l)&&c===zh&&-1===lc.indexOf(e[a])||-1!==Ac.concat(Yh).indexOf(c)&&l===Vh)return hc;if(41===l&&41===c){for(var p=s[o],d=1;p>0&&41===t[--p];)d++;if(d%2!=0)return hc}return l===$h&&c===ec?hc:cc},Tc=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var s=function(e,t){void 0===t&&(t="strict");var s=[],i=[],r=[];return e.forEach((function(e,o){var n=uc.get(e);if(n>50?(r.push(!0),n-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(o),s.push(16);if(4===n||11===n){if(0===o)return i.push(o),s.push(Jh);var a=s[o-1];return-1===mc.indexOf(a)?(i.push(i[o-1]),s.push(a)):(i.push(o),s.push(Jh))}return i.push(o),31===n?s.push("strict"===t?Wh:ic):n===ac||29===n?s.push(Jh):43===n?e>=131072&&e<=196605||e>=196608&&e<=262141?s.push(ic):s.push(Jh):void s.push(n)})),[i,s,r]}(e,t.lineBreak),i=s[0],r=s[1],o=s[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(r=r.map((function(e){return-1!==[Yh,Jh,ac].indexOf(e)?ic:e})));var n="keep-all"===t.wordBreak?o.map((function(t,s){return t&&e[s]>=19968&&e[s]<=40959})):void 0;return[i,r,n]},_c=function(){function e(e,t,s,i){this.codePoints=e,this.required="!"===t,this.start=s,this.end=i}return e.prototype.slice=function(){return Dh.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),Rc=45,Pc=43,Dc=-1,Nc=function(e){return e>=48&&e<=57},Cc=function(e){return Nc(e)||e>=65&&e<=70||e>=97&&e<=102},bc=function(e){return 10===e||9===e||32===e},Oc=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},Sc=function(e){return Oc(e)||Nc(e)||e===Rc},xc=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},wc=function(e,t){return 92===e&&10!==t},Bc=function(e,t,s){return e===Rc?Oc(t)||wc(t,s):!!Oc(e)||!(92!==e||!wc(e,t))},Fc=function(e,t,s){return e===Pc||e===Rc?!!Nc(t)||46===t&&Nc(s):Nc(46===e?t:e)},Mc=function(e){var t=0,s=1;e[t]!==Pc&&e[t]!==Rc||(e[t]===Rc&&(s=-1),t++);for(var i=[];Nc(e[t]);)i.push(e[t++]);var r=i.length?parseInt(Dh.apply(void 0,i),10):0;46===e[t]&&t++;for(var o=[];Nc(e[t]);)o.push(e[t++]);var n=o.length,a=n?parseInt(Dh.apply(void 0,o),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;e[t]!==Pc&&e[t]!==Rc||(e[t]===Rc&&(l=-1),t++);for(var h=[];Nc(e[t]);)h.push(e[t++]);var c=h.length?parseInt(Dh.apply(void 0,h),10):0;return s*(r+a*Math.pow(10,-n))*Math.pow(10,l*c)},Lc={type:2},Uc={type:3},Hc={type:4},Gc={type:13},kc={type:8},Vc={type:21},Qc={type:9},jc={type:10},Wc={type:11},zc={type:12},Kc={type:14},Yc={type:23},Xc={type:1},Zc={type:25},qc={type:24},Jc={type:26},$c={type:27},eu={type:28},tu={type:29},su={type:31},iu={type:32},ru=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(Ph(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==iu;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),s=this.peekCodePoint(1),i=this.peekCodePoint(2);if(Sc(t)||wc(s,i)){var r=Bc(t,s,i)?2:1;return{type:5,value:this.consumeName(),flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Gc;break;case 39:return this.consumeStringToken(39);case 40:return Lc;case 41:return Uc;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Kc;break;case Pc:if(Fc(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return Hc;case Rc:var o=e,n=this.peekCodePoint(0),a=this.peekCodePoint(1);if(Fc(o,n,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(Bc(o,n,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(n===Rc&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),qc;break;case 46:if(Fc(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(l===Dc)return this.consumeToken()}break;case 58:return Jc;case 59:return $c;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===Rc&&this.peekCodePoint(2)===Rc)return this.consumeCodePoint(),this.consumeCodePoint(),Zc;break;case 64:var h=this.peekCodePoint(0),c=this.peekCodePoint(1),u=this.peekCodePoint(2);if(Bc(h,c,u))return{type:7,value:this.consumeName()};break;case 91:return eu;case 92:if(wc(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return tu;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),kc;break;case 123:return Wc;case 125:return zc;case 117:case 85:var A=this.peekCodePoint(0),p=this.peekCodePoint(1);return A!==Pc||!Cc(p)&&63!==p||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Qc;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Vc;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),jc;break;case Dc:return iu}return bc(e)?(this.consumeWhiteSpace(),su):Nc(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Oc(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Dh(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();Cc(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var s=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),s=!0;if(s)return{type:30,start:parseInt(Dh.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Dh.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(Dh.apply(void 0,e),16);if(this.peekCodePoint(0)===Rc&&Cc(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var r=[];Cc(t)&&r.length<6;)r.push(t),t=this.consumeCodePoint();return{type:30,start:i,end:parseInt(Dh.apply(void 0,r),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Dc)return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var s=this.consumeStringToken(this.consumeCodePoint());return 0===s.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Dc||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:s.value}):(this.consumeBadUrlRemnants(),Yc)}for(;;){var i=this.consumeCodePoint();if(i===Dc||41===i)return{type:22,value:Dh.apply(void 0,e)};if(bc(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Dc||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Dh.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Yc);if(34===i||39===i||40===i||xc(i))return this.consumeBadUrlRemnants(),Yc;if(92===i){if(!wc(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Yc;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;bc(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===Dc)return;wc(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var s=Math.min(5e4,e);t+=Dh.apply(void 0,this._value.splice(0,s)),e-=s}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",s=0;;){var i=this._value[s];if(i===Dc||void 0===i||i===e)return{type:0,value:t+=this.consumeStringSlice(s)};if(10===i)return this._value.splice(0,s),Xc;if(92===i){var r=this._value[s+1];r!==Dc&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(s),s=-1,this._value.shift()):wc(i,r)&&(t+=this.consumeStringSlice(s),t+=Dh(this.consumeEscapedCodePoint()),s=-1))}s++}},e.prototype.consumeNumber=function(){var e=[],t=4,s=this.peekCodePoint(0);for(s!==Pc&&s!==Rc||e.push(this.consumeCodePoint());Nc(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===s&&Nc(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Nc(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===s||101===s)&&((i===Pc||i===Rc)&&Nc(r)||Nc(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Nc(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Mc(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],s=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);return Bc(i,r,o)?{type:15,number:t,flags:s,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:t,flags:s}):{type:17,number:t,flags:s}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(Cc(e)){for(var t=Dh(e);Cc(this.peekCodePoint(0))&&t.length<6;)t+=Dh(this.consumeCodePoint());bc(this.peekCodePoint(0))&&this.consumeCodePoint();var s=parseInt(t,16);return 0===s||function(e){return e>=55296&&e<=57343}(s)||s>1114111?65533:s}return e===Dc?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(Sc(t))e+=Dh(t);else{if(!wc(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Dh(this.consumeEscapedCodePoint())}}},e}(),ou=function(){function e(e){this._tokens=e}return e.create=function(t){var s=new ru;return s.write(t),new e(s.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},s=this.consumeToken();;){if(32===s.type||du(s,e))return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue()),s=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var s=this.consumeToken();if(32===s.type||3===s.type)return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?iu:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),nu=function(e){return 15===e.type},au=function(e){return 17===e.type},lu=function(e){return 20===e.type},hu=function(e){return 0===e.type},cu=function(e,t){return lu(e)&&e.value===t},uu=function(e){return 31!==e.type},Au=function(e){return 31!==e.type&&4!==e.type},pu=function(e){var t=[],s=[];return e.forEach((function(e){if(4===e.type){if(0===s.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(s),void(s=[])}31!==e.type&&s.push(e)})),s.length&&t.push(s),t},du=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},fu=function(e){return 17===e.type||15===e.type},mu=function(e){return 16===e.type||fu(e)},Eu=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},yu={type:17,number:0,flags:4},gu={type:16,number:50,flags:4},vu={type:16,number:100,flags:4},Iu=function(e,t,s){var i=e[0],r=e[1];return[Tu(i,t),Tu(void 0!==r?r:i,s)]},Tu=function(e,t){if(16===e.type)return e.number/100*t;if(nu(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},_u="grad",Ru="turn",Pu=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case _u:return Math.PI/200*t.number;case"rad":return t.number;case Ru:return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},Du=function(e){return 15===e.type&&("deg"===e.unit||e.unit===_u||"rad"===e.unit||e.unit===Ru)},Nu=function(e){switch(e.filter(lu).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[yu,yu];case"to top":case"bottom":return Cu(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[yu,vu];case"to right":case"left":return Cu(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[vu,vu];case"to bottom":case"top":return Cu(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[vu,yu];case"to left":case"right":return Cu(270)}return 0},Cu=function(e){return Math.PI*e/180},bu=function(e,t){if(18===t.type){var s=Lu[t.name];if(void 0===s)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return s(e,t.values)}if(5===t.type){if(3===t.value.length){var i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return xu(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);var n=t.value.substring(3,4);return xu(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(n+n,16)/255)}if(6===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return xu(parseInt(i,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),n=t.value.substring(6,8);return xu(parseInt(i,16),parseInt(r,16),parseInt(o,16),parseInt(n,16)/255)}}if(20===t.type){var a=Hu[t.value.toUpperCase()];if(void 0!==a)return a}return Hu.TRANSPARENT},Ou=function(e){return 0==(255&e)},Su=function(e){var t=255&e,s=255&e>>8,i=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+i+","+s+","+t/255+")":"rgb("+r+","+i+","+s+")"},xu=function(e,t,s,i){return(e<<24|t<<16|s<<8|Math.round(255*i)<<0)>>>0},wu=function(e,t){if(17===e.type)return e.number;if(16===e.type){var s=3===t?1:255;return 3===t?e.number/100*s:Math.round(e.number/100*s)}return 0},Bu=function(e,t){var s=t.filter(Au);if(3===s.length){var i=s.map(wu),r=i[0],o=i[1],n=i[2];return xu(r,o,n,1)}if(4===s.length){var a=s.map(wu),l=(r=a[0],o=a[1],n=a[2],a[3]);return xu(r,o,n,l)}return 0};function Fu(e,t,s){return s<0&&(s+=1),s>=1&&(s-=1),s<1/6?(t-e)*s*6+e:s<.5?t:s<2/3?6*(t-e)*(2/3-s)+e:e}var Mu=function(e,t){var s=t.filter(Au),i=s[0],r=s[1],o=s[2],n=s[3],a=(17===i.type?Cu(i.number):Pu(e,i))/(2*Math.PI),l=mu(r)?r.number/100:0,h=mu(o)?o.number/100:0,c=void 0!==n&&mu(n)?Tu(n,1):1;if(0===l)return xu(255*h,255*h,255*h,1);var u=h<=.5?h*(l+1):h+l-h*l,A=2*h-u,p=Fu(A,u,a+1/3),d=Fu(A,u,a),f=Fu(A,u,a-1/3);return xu(255*p,255*d,255*f,c)},Lu={hsl:Mu,hsla:Mu,rgb:Bu,rgba:Bu},Uu=function(e,t){return bu(e,ou.create(t).parseComponentValue())},Hu={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Gu={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(lu(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},ku={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Vu=function(e,t){var s=bu(e,t[0]),i=t[1];return i&&mu(i)?{color:s,stop:i}:{color:s,stop:null}},Qu=function(e,t){var s=e[0],i=e[e.length-1];null===s.stop&&(s.stop=yu),null===i.stop&&(i.stop=vu);for(var r=[],o=0,n=0;no?r.push(l):r.push(o),o=l}else r.push(null)}var h=null;for(n=0;ne.optimumDistance)?{optimumCorner:t,optimumDistance:a}:e}),{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},Ku=function(e,t){var s=Cu(180),i=[];return pu(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(s=Nu(t));if(Du(o))return void(s=(Pu(e,o)+Cu(270))%Cu(360))}var n=Vu(e,t);i.push(n)})),{angle:s,stops:i,type:1}},Yu="closest-side",Xu="farthest-side",Zu="closest-corner",qu="farthest-corner",Ju="circle",$u="ellipse",eA="cover",tA="contain",sA=function(e,t){var s=0,i=3,r=[],o=[];return pu(t).forEach((function(t,n){var a=!0;if(0===n?a=t.reduce((function(e,t){if(lu(t))switch(t.value){case"center":return o.push(gu),!1;case"top":case"left":return o.push(yu),!1;case"right":case"bottom":return o.push(vu),!1}else if(mu(t)||fu(t))return o.push(t),!1;return e}),a):1===n&&(a=t.reduce((function(e,t){if(lu(t))switch(t.value){case Ju:return s=0,!1;case $u:return s=1,!1;case tA:case Yu:return i=0,!1;case Xu:return i=1,!1;case Zu:return i=2,!1;case eA:case qu:return i=3,!1}else if(fu(t)||mu(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)),a){var l=Vu(e,t);r.push(l)}})),{size:i,shape:s,stops:r,position:o,type:2}},iA=function(e,t){if(22===t.type){var s={url:t.value,type:0};return e.cache.addImage(t.value),s}if(18===t.type){var i=oA[t.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return i(e,t.values)}throw new Error("Unsupported image type "+t.type)};var rA,oA={"linear-gradient":function(e,t){var s=Cu(180),i=[];return pu(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value)return void(s=Nu(t));if(Du(o))return void(s=Pu(e,o))}var n=Vu(e,t);i.push(n)})),{angle:s,stops:i,type:1}},"-moz-linear-gradient":Ku,"-ms-linear-gradient":Ku,"-o-linear-gradient":Ku,"-webkit-linear-gradient":Ku,"radial-gradient":function(e,t){var s=0,i=3,r=[],o=[];return pu(t).forEach((function(t,n){var a=!0;if(0===n){var l=!1;a=t.reduce((function(e,t){if(l)if(lu(t))switch(t.value){case"center":return o.push(gu),e;case"top":case"left":return o.push(yu),e;case"right":case"bottom":return o.push(vu),e}else(mu(t)||fu(t))&&o.push(t);else if(lu(t))switch(t.value){case Ju:return s=0,!1;case $u:return s=1,!1;case"at":return l=!0,!1;case Yu:return i=0,!1;case eA:case Xu:return i=1,!1;case tA:case Zu:return i=2,!1;case qu:return i=3,!1}else if(fu(t)||mu(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)}if(a){var h=Vu(e,t);r.push(h)}})),{size:i,shape:s,stops:r,position:o,type:2}},"-moz-radial-gradient":sA,"-ms-radial-gradient":sA,"-o-radial-gradient":sA,"-webkit-radial-gradient":sA,"-webkit-gradient":function(e,t){var s=Cu(180),i=[],r=1;return pu(t).forEach((function(t,s){var o=t[0];if(0===s){if(lu(o)&&"linear"===o.value)return void(r=1);if(lu(o)&&"radial"===o.value)return void(r=2)}if(18===o.type)if("from"===o.name){var n=bu(e,o.values[0]);i.push({stop:yu,color:n})}else if("to"===o.name){n=bu(e,o.values[0]);i.push({stop:vu,color:n})}else if("color-stop"===o.name){var a=o.values.filter(Au);if(2===a.length){n=bu(e,a[1]);var l=a[0];au(l)&&i.push({stop:{type:16,number:100*l.number,flags:l.flags},color:n})}}})),1===r?{angle:(s+Cu(180))%Cu(360),stops:i,type:r}:{size:3,shape:0,stops:i,position:[],type:r}}},nA={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var s=t[0];return 20===s.type&&"none"===s.value?[]:t.filter((function(e){return Au(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!oA[e.name])}(e)})).map((function(t){return iA(e,t)}))}},aA={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(lu(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},lA={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return pu(t).map((function(e){return e.filter(mu)})).map(Eu)}},hA={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return pu(t).map((function(e){return e.filter(lu).map((function(e){return e.value})).join(" ")})).map(cA)}},cA=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(rA||(rA={}));var uA,AA={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return pu(t).map((function(e){return e.filter(pA)}))}},pA=function(e){return lu(e)||mu(e)},dA=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},fA=dA("top"),mA=dA("right"),EA=dA("bottom"),yA=dA("left"),gA=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return Eu(t.filter(mu))}}},vA=gA("top-left"),IA=gA("top-right"),TA=gA("bottom-right"),_A=gA("bottom-left"),RA=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},PA=RA("top"),DA=RA("right"),NA=RA("bottom"),CA=RA("left"),bA=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return nu(t)?t.number:0}}},OA=bA("top"),SA=bA("right"),xA=bA("bottom"),wA=bA("left"),BA={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},FA={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},MA={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(lu).reduce((function(e,t){return e|LA(t.value)}),0)}},LA=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},UA={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},HA={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(uA||(uA={}));var GA,kA={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?uA.STRICT:uA.NORMAL}},VA={name:"line-height",initialValue:"normal",prefix:!1,type:4},QA=function(e,t){return lu(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:mu(e)?Tu(e,t):t},jA={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:iA(e,t)}},WA={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},zA={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},KA=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},YA=KA("top"),XA=KA("right"),ZA=KA("bottom"),qA=KA("left"),JA={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(lu).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},$A={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},ep=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},tp=ep("top"),sp=ep("right"),ip=ep("bottom"),rp=ep("left"),op={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},np={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},ap={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&cu(t[0],"none")?[]:pu(t).map((function(t){for(var s={color:Hu.TRANSPARENT,offsetX:yu,offsetY:yu,blur:yu},i=0,r=0;r1?1:0],this.overflowWrap=Gp(e,$A,t.overflowWrap),this.paddingTop=Gp(e,tp,t.paddingTop),this.paddingRight=Gp(e,sp,t.paddingRight),this.paddingBottom=Gp(e,ip,t.paddingBottom),this.paddingLeft=Gp(e,rp,t.paddingLeft),this.paintOrder=Gp(e,Bp,t.paintOrder),this.position=Gp(e,np,t.position),this.textAlign=Gp(e,op,t.textAlign),this.textDecorationColor=Gp(e,gp,null!==(s=t.textDecorationColor)&&void 0!==s?s:t.color),this.textDecorationLine=Gp(e,vp,null!==(i=t.textDecorationLine)&&void 0!==i?i:t.textDecoration),this.textShadow=Gp(e,ap,t.textShadow),this.textTransform=Gp(e,lp,t.textTransform),this.transform=Gp(e,hp,t.transform),this.transformOrigin=Gp(e,pp,t.transformOrigin),this.visibility=Gp(e,dp,t.visibility),this.webkitTextStrokeColor=Gp(e,Fp,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Gp(e,Mp,t.webkitTextStrokeWidth),this.wordBreak=Gp(e,fp,t.wordBreak),this.zIndex=Gp(e,mp,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return Ou(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return Dp(this.display,4)||Dp(this.display,33554432)||Dp(this.display,268435456)||Dp(this.display,536870912)||Dp(this.display,67108864)||Dp(this.display,134217728)},e}(),Up=function(e,t){this.content=Gp(e,Np,t.content),this.quotes=Gp(e,Sp,t.quotes)},Hp=function(e,t){this.counterIncrement=Gp(e,Cp,t.counterIncrement),this.counterReset=Gp(e,bp,t.counterReset)},Gp=function(e,t,s){var i=new ru,r=null!=s?s.toString():t.initialValue;i.write(r);var o=new ou(i.read());switch(t.type){case 2:var n=o.parseComponentValue();return t.parse(e,lu(n)?n.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return Pu(e,o.parseComponentValue());case"color":return bu(e,o.parseComponentValue());case"image":return iA(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return fu(a)?a:yu;case"length-percentage":var l=o.parseComponentValue();return mu(l)?l:yu;case"time":return Ep(e,o.parseComponentValue())}}},kp=function(e,t){var s=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===s||t===s},Vp=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,kp(t,3),this.styles=new Lp(e,window.getComputedStyle(t,null)),zd(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=Rh(this.context,t),kp(t,4)&&(this.flags|=16)},Qp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",jp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Wp=0;Wp=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Yp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Xp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zp=0;Zp>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},id=function(e,t){var s,i,r,o=function(e){var t,s,i,r,o,n=.75*e.length,a=e.length,l=0;"="===e[e.length-1]&&(n--,"="===e[e.length-2]&&n--);var h="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(n):new Array(n),c=Array.isArray(h)?h:new Uint8Array(h);for(t=0;t>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i=55296&&r<=56319&&s=s)return{done:!0,value:null};for(var e=rd;in.x||r.y>n.y;return n=r,0===t||a}));return e.body.removeChild(t),a}(document);return Object.defineProperty(ud,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,s=e.createElement("canvas"),i=s.getContext("2d");if(!i)return!1;t.src="data:image/svg+xml,";try{i.drawImage(t,0,0),s.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(ud,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),s=100;t.width=s,t.height=s;var i=t.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,s,s);var r=new Image,o=t.toDataURL();r.src=o;var n=hd(s,s,0,0,r);return i.fillStyle="red",i.fillRect(0,0,s,s),cd(n).then((function(t){i.drawImage(t,0,0);var r=i.getImageData(0,0,s,s).data;i.fillStyle="red",i.fillRect(0,0,s,s);var n=e.createElement("div");return n.style.backgroundImage="url("+o+")",n.style.height="100px",ld(r)?cd(hd(s,s,0,0,n)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),ld(i.getImageData(0,0,s,s).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(ud,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(ud,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(ud,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ud,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(ud,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ad=function(e,t){this.text=e,this.bounds=t},pd=function(e,t){var s=t.ownerDocument;if(s){var i=s.createElement("html2canvaswrapper");i.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(i,t);var o=Rh(e,i);return i.firstChild&&r.replaceChild(i.firstChild,i),o}}return _h.EMPTY},dd=function(e,t,s){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var r=i.createRange();return r.setStart(e,t),r.setEnd(e,t+s),r},fd=function(e){if(ud.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,s=ad(e),i=[];!(t=s.next()).done;)t.value&&i.push(t.value.slice());return i}(e)},md=function(e,t){return 0!==t.letterSpacing?fd(e):function(e,t){if(ud.SUPPORT_NATIVE_TEXT_SEGMENTATION){var s=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(s.segment(e)).map((function(e){return e.segment}))}return yd(e,t)}(e,t)},Ed=[32,160,4961,65792,65793,4153,4241],yd=function(e,t){for(var s,i=function(e,t){var s=Ph(e),i=Tc(s,t),r=i[0],o=i[1],n=i[2],a=s.length,l=0,h=0;return{next:function(){if(h>=a)return{done:!0,value:null};for(var e=hc;h0)if(ud.SUPPORT_RANGE_BOUNDS){var r=dd(i,n,t.length).getClientRects();if(r.length>1){var a=fd(t),l=0;a.forEach((function(t){o.push(new Ad(t,_h.fromDOMRectList(e,dd(i,l+n,t.length).getClientRects()))),l+=t.length}))}else o.push(new Ad(t,_h.fromDOMRectList(e,r)))}else{var h=i.splitText(t.length);o.push(new Ad(t,pd(e,i))),i=h}else ud.SUPPORT_RANGE_BOUNDS||(i=i.splitText(t.length));n+=t.length})),o}(e,this.text,s,t)},vd=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Id,Td);case 2:return e.toUpperCase();default:return e}},Id=/(^|\s|:|-|\(|\))([a-z])/g,Td=function(e,t,s){return e.length>0?t+s.toUpperCase():e},_d=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.src=s.currentSrc||s.src,i.intrinsicWidth=s.naturalWidth,i.intrinsicHeight=s.naturalHeight,i.context.cache.addImage(i.src),i}return yh(t,e),t}(Vp),Rd=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.canvas=s,i.intrinsicWidth=s.width,i.intrinsicHeight=s.height,i}return yh(t,e),t}(Vp),Pd=function(e){function t(t,s){var i=e.call(this,t,s)||this,r=new XMLSerializer,o=Rh(t,s);return s.setAttribute("width",o.width+"px"),s.setAttribute("height",o.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(s)),i.intrinsicWidth=s.width.baseVal.value,i.intrinsicHeight=s.height.baseVal.value,i.context.cache.addImage(i.svg),i}return yh(t,e),t}(Vp),Dd=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.value=s.value,i}return yh(t,e),t}(Vp),Nd=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.start=s.start,i.reversed="boolean"==typeof s.reversed&&!0===s.reversed,i}return yh(t,e),t}(Vp),Cd=[{type:15,flags:0,unit:"px",number:3}],bd=[{type:16,flags:0,number:50}],Od="checkbox",Sd="radio",xd="password",wd=707406591,Bd=function(e){function t(t,s){var i,r,o,n=e.call(this,t,s)||this;switch(n.type=s.type.toLowerCase(),n.checked=s.checked,n.value=0===(r=(i=s).type===xd?new Array(i.value.length+1).join("•"):i.value).length?i.placeholder||"":r,n.type!==Od&&n.type!==Sd||(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=(o=n.bounds).width>o.height?new _h(o.left+(o.width-o.height)/2,o.top,o.height,o.height):o.width0)s.textNodes.push(new gd(e,r,s.styles));else if(Wd(r))if(af(r)&&r.assignedNodes)r.assignedNodes().forEach((function(t){return Hd(e,t,s,i)}));else{var n=Gd(e,r);n.styles.isVisible()&&(Vd(r,n,i)?n.flags|=4:Qd(n.styles)&&(n.flags|=2),-1!==Ud.indexOf(r.tagName)&&(n.flags|=8),s.elements.push(n),r.slot,r.shadowRoot?Hd(e,r.shadowRoot,n,i):of(r)||qd(r)||nf(r)||Hd(e,r,n,i))}},Gd=function(e,t){return tf(t)?new _d(e,t):$d(t)?new Rd(e,t):qd(t)?new Pd(e,t):Yd(t)?new Dd(e,t):Xd(t)?new Nd(e,t):Zd(t)?new Bd(e,t):nf(t)?new Fd(e,t):of(t)?new Md(e,t):sf(t)?new Ld(e,t):new Vp(e,t)},kd=function(e,t){var s=Gd(e,t);return s.flags|=4,Hd(e,t,s,s),s},Vd=function(e,t,s){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Jd(e)&&s.styles.isTransparent()},Qd=function(e){return e.isPositioned()||e.isFloating()},jd=function(e){return e.nodeType===Node.TEXT_NODE},Wd=function(e){return e.nodeType===Node.ELEMENT_NODE},zd=function(e){return Wd(e)&&void 0!==e.style&&!Kd(e)},Kd=function(e){return"object"==typeof e.className},Yd=function(e){return"LI"===e.tagName},Xd=function(e){return"OL"===e.tagName},Zd=function(e){return"INPUT"===e.tagName},qd=function(e){return"svg"===e.tagName},Jd=function(e){return"BODY"===e.tagName},$d=function(e){return"CANVAS"===e.tagName},ef=function(e){return"VIDEO"===e.tagName},tf=function(e){return"IMG"===e.tagName},sf=function(e){return"IFRAME"===e.tagName},rf=function(e){return"STYLE"===e.tagName},of=function(e){return"TEXTAREA"===e.tagName},nf=function(e){return"SELECT"===e.tagName},af=function(e){return"SLOT"===e.tagName},lf=function(e){return e.tagName.indexOf("-")>0},hf=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,s=e.counterIncrement,i=e.counterReset,r=!0;null!==s&&s.forEach((function(e){var s=t.counters[e.counter];s&&0!==e.increment&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=e.increment)}));var o=[];return r&&i.forEach((function(e){var s=t.counters[e.counter];o.push(e.counter),s||(s=t.counters[e.counter]=[]),s.push(e.reset)})),o},e}(),cf={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},uf={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Af={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},pf={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},df=function(e,t,s,i,r,o){return es?_f(e,r,o.length>0):i.integers.reduce((function(t,s,r){for(;e>=s;)e-=s,t+=i.values[r];return t}),"")+o},ff=function(e,t,s,i){var r="";do{s||e--,r=i(e)+r,e/=t}while(e*t>=t);return r},mf=function(e,t,s,i,r){var o=s-t+1;return(e<0?"-":"")+(ff(Math.abs(e),o,i,(function(e){return Dh(Math.floor(e%o)+t)}))+r)},Ef=function(e,t,s){void 0===s&&(s=". ");var i=t.length;return ff(Math.abs(e),i,!1,(function(e){return t[Math.floor(e%i)]}))+s},yf=function(e,t,s,i,r,o){if(e<-9999||e>9999)return _f(e,4,r.length>0);var n=Math.abs(e),a=r;if(0===n)return t[0]+a;for(var l=0;n>0&&l<=4;l++){var h=n%10;0===h&&Dp(o,1)&&""!==a?a=t[h]+a:h>1||1===h&&0===l||1===h&&1===l&&Dp(o,2)||1===h&&1===l&&Dp(o,4)&&e>100||1===h&&l>1&&Dp(o,8)?a=t[h]+(l>0?s[l-1]:"")+a:1===h&&l>0&&(a=s[l-1]+a),n=Math.floor(n/10)}return(e<0?i:"")+a},gf="十百千萬",vf="拾佰仟萬",If="マイナス",Tf="마이너스",_f=function(e,t,s){var i=s?". ":"",r=s?"、":"",o=s?", ":"",n=s?" ":"";switch(t){case 0:return"•"+n;case 1:return"◦"+n;case 2:return"◾"+n;case 5:var a=mf(e,48,57,!0,i);return a.length<4?"0"+a:a;case 4:return Ef(e,"〇一二三四五六七八九",r);case 6:return df(e,1,3999,cf,3,i).toLowerCase();case 7:return df(e,1,3999,cf,3,i);case 8:return mf(e,945,969,!1,i);case 9:return mf(e,97,122,!1,i);case 10:return mf(e,65,90,!1,i);case 11:return mf(e,1632,1641,!0,i);case 12:case 49:return df(e,1,9999,uf,3,i);case 35:return df(e,1,9999,uf,3,i).toLowerCase();case 13:return mf(e,2534,2543,!0,i);case 14:case 30:return mf(e,6112,6121,!0,i);case 15:return Ef(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return Ef(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return yf(e,"零一二三四五六七八九",gf,"負",r,14);case 47:return yf(e,"零壹貳參肆伍陸柒捌玖",vf,"負",r,15);case 42:return yf(e,"零一二三四五六七八九",gf,"负",r,14);case 41:return yf(e,"零壹贰叁肆伍陆柒捌玖",vf,"负",r,15);case 26:return yf(e,"〇一二三四五六七八九","十百千万",If,r,0);case 25:return yf(e,"零壱弐参四伍六七八九","拾百千万",If,r,7);case 31:return yf(e,"영일이삼사오육칠팔구","십백천만",Tf,o,7);case 33:return yf(e,"零一二三四五六七八九","十百千萬",Tf,o,0);case 32:return yf(e,"零壹貳參四五六七八九","拾百千",Tf,o,7);case 18:return mf(e,2406,2415,!0,i);case 20:return df(e,1,19999,pf,3,i);case 21:return mf(e,2790,2799,!0,i);case 22:return mf(e,2662,2671,!0,i);case 22:return df(e,1,10999,Af,3,i);case 23:return Ef(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ef(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return mf(e,3302,3311,!0,i);case 28:return Ef(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return Ef(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return mf(e,3792,3801,!0,i);case 37:return mf(e,6160,6169,!0,i);case 38:return mf(e,4160,4169,!0,i);case 39:return mf(e,2918,2927,!0,i);case 40:return mf(e,1776,1785,!0,i);case 43:return mf(e,3046,3055,!0,i);case 44:return mf(e,3174,3183,!0,i);case 45:return mf(e,3664,3673,!0,i);case 46:return mf(e,3872,3881,!0,i);default:return mf(e,48,57,!0,i)}},Rf="data-html2canvas-ignore",Pf=function(){function e(e,t,s){if(this.context=e,this.options=s,this.scrolledElements=[],this.referenceElement=t,this.counters=new hf,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var s=this,i=Nf(e,t);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,n=i.contentWindow,a=n.document,l=Of(i).then((function(){return vh(s,void 0,void 0,(function(){var e,s;return Ih(this,(function(r){switch(r.label){case 0:return this.scrolledElements.forEach(Ff),n&&(n.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||n.scrollY===t.top&&n.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(n.scrollX-t.left,n.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(s=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:a.fonts&&a.fonts.ready?[4,a.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,bf(a)]:[3,4];case 3:r.sent(),r.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(a,s)})).then((function(){return i}))]:[2,i]}}))}))}));return a.open(),a.write(wf(document.doctype)+""),Bf(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),l},e.prototype.createElementClone=function(e){if(kp(e,2),$d(e))return this.createCanvasClone(e);if(ef(e))return this.createVideoClone(e);if(rf(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return tf(t)&&(tf(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),lf(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return xf(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var s=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=s,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var s=e.ownerDocument.createElement("img");try{return s.src=e.toDataURL(),s}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),o=i.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var n=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(n){var a=n.getContextAttributes();!1===(null==a?void 0:a.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}return i}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var s=t.getContext("2d");try{return s&&(s.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||s.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,t,s){Wd(t)&&("SCRIPT"===t.tagName||t.hasAttribute(Rf)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&Wd(t)&&rf(t)||e.appendChild(this.cloneNode(t,s))},e.prototype.cloneChildNodes=function(e,t,s){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(Wd(r)&&af(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach((function(e){return i.appendChildNode(t,e,s)}))}else this.appendChildNode(t,r,s)},e.prototype.cloneNode=function(e,t){if(jd(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var s=e.ownerDocument.defaultView;if(s&&Wd(e)&&(zd(e)||Kd(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=s.getComputedStyle(e),o=s.getComputedStyle(e,":before"),n=s.getComputedStyle(e,":after");this.referenceElement===e&&zd(i)&&(this.clonedReferenceElement=i),Jd(i)&&Hf(i);var a=this.counters.parse(new Hp(this.context,r)),l=this.resolvePseudoContent(e,i,o,qp.BEFORE);lf(e)&&(t=!0),ef(e)||this.cloneChildNodes(e,i,t),l&&i.insertBefore(l,i.firstChild);var h=this.resolvePseudoContent(e,i,n,qp.AFTER);return h&&i.appendChild(h),this.counters.pop(a),(r&&(this.options.copyStyles||Kd(e))&&!sf(e)||t)&&xf(r,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(of(e)||nf(e))&&(of(i)||nf(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,s,i){var r=this;if(s){var o=s.content,n=t.ownerDocument;if(n&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==s.display){this.counters.parse(new Hp(this.context,s));var a=new Up(this.context,s),l=n.createElement("html2canvaspseudoelement");xf(s,l),a.content.forEach((function(t){if(0===t.type)l.appendChild(n.createTextNode(t.value));else if(22===t.type){var s=n.createElement("img");s.src=t.value,s.style.opacity="1",l.appendChild(s)}else if(18===t.type){if("attr"===t.name){var i=t.values.filter(lu);i.length&&l.appendChild(n.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(Au),h=o[0],c=o[1];if(h&&lu(h)){var u=r.counters.getCounterValue(h.value),A=c&&lu(c)?zA.parse(r.context,c.value):3;l.appendChild(n.createTextNode(_f(u,A,!1)))}}else if("counters"===t.name){var p=t.values.filter(Au),d=(h=p[0],p[1]);c=p[2];if(h&&lu(h)){var f=r.counters.getCounterValues(h.value),m=c&&lu(c)?zA.parse(r.context,c.value):3,E=d&&0===d.type?d.value:"",y=f.map((function(e){return _f(e,m,!1)})).join(E);l.appendChild(n.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(n.createTextNode(xp(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":l.appendChild(n.createTextNode(xp(a.quotes,--r.quoteDepth,!1)));break;default:l.appendChild(n.createTextNode(t.value))}})),l.className=Mf+" "+Lf;var h=i===qp.BEFORE?" "+Mf:" "+Lf;return Kd(t)?t.className.baseValue+=h:t.className+=h,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(qp||(qp={}));var Df,Nf=function(e,t){var s=e.createElement("iframe");return s.className="html2canvas-container",s.style.visibility="hidden",s.style.position="fixed",s.style.left="-10000px",s.style.top="0px",s.style.border="0",s.width=t.width.toString(),s.height=t.height.toString(),s.scrolling="no",s.setAttribute(Rf,"true"),e.body.appendChild(s),s},Cf=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},bf=function(e){return Promise.all([].slice.call(e.images,0).map(Cf))},Of=function(e){return new Promise((function(t,s){var i=e.contentWindow;if(!i)return s("No window assigned for iframe");var r=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var s=setInterval((function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(s),t(e))}),50)}}))},Sf=["all","d","content"],xf=function(e,t){for(var s=e.length-1;s>=0;s--){var i=e.item(s);-1===Sf.indexOf(i)&&t.style.setProperty(i,e.getPropertyValue(i))}return t},wf=function(e){var t="";return e&&(t+=""),t},Bf=function(e,t,s){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||s!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,s)},Ff=function(e){var t=e[0],s=e[1],i=e[2];t.scrollLeft=s,t.scrollTop=i},Mf="___html2canvas___pseudoelement_before",Lf="___html2canvas___pseudoelement_after",Uf='{\n content: "" !important;\n display: none !important;\n}',Hf=function(e){Gf(e,"."+Mf+":before"+Uf+"\n ."+Lf+":after"+Uf)},Gf=function(e,t){var s=e.ownerDocument;if(s){var i=s.createElement("style");i.textContent=t,e.appendChild(i)}},kf=function(){function e(){}return e.getOrigin=function(t){var s=e._link;return s?(s.href=t,s.href=s.href,s.protocol+s.hostname+s.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Vf=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:Xf(e)||zf(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return vh(this,void 0,void 0,(function(){var t,s,i,r,o=this;return Ih(this,(function(n){switch(n.label){case 0:return t=kf.isSameOrigin(e),s=!Kf(e)&&!0===this._options.useCORS&&ud.SUPPORT_CORS_IMAGES&&!t,i=!Kf(e)&&!t&&!Xf(e)&&"string"==typeof this._options.proxy&&ud.SUPPORT_CORS_XHR&&!s,t||!1!==this._options.allowTaint||Kf(e)||Xf(e)||i||s?(r=e,i?[4,this.proxy(r)]:[3,2]):[2];case 1:r=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var i=new Image;i.onload=function(){return e(i)},i.onerror=t,(Yf(r)||s)&&(i.crossOrigin="anonymous"),i.src=r,!0===i.complete&&setTimeout((function(){return e(i)}),500),o._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,s=this._options.proxy;if(!s)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(r,o){var n=ud.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(200===a.status)if("text"===n)r(a.response);else{var e=new FileReader;e.addEventListener("load",(function(){return r(e.result)}),!1),e.addEventListener("error",(function(e){return o(e)}),!1),e.readAsDataURL(a.response)}else o("Failed to proxy resource "+i+" with status code "+a.status)},a.onerror=o;var l=s.indexOf("?")>-1?"&":"?";if(a.open("GET",""+s+l+"url="+encodeURIComponent(e)+"&responseType="+n),"text"!==n&&a instanceof XMLHttpRequest&&(a.responseType=n),t._options.imageTimeout){var h=t._options.imageTimeout;a.timeout=h,a.ontimeout=function(){return o("Timed out ("+h+"ms) proxying "+i)}}a.send()}))},e}(),Qf=/^data:image\/svg\+xml/i,jf=/^data:image\/.*;base64,/i,Wf=/^data:image\/.*/i,zf=function(e){return ud.SUPPORT_SVG_DRAWING||!Zf(e)},Kf=function(e){return Wf.test(e)},Yf=function(e){return jf.test(e)},Xf=function(e){return"blob"===e.substr(0,4)},Zf=function(e){return"svg"===e.substr(-3).toLowerCase()||Qf.test(e)},qf=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,s){return new e(this.x+t,this.y+s)},e}(),Jf=function(e,t,s){return new qf(e.x+(t.x-e.x)*s,e.y+(t.y-e.y)*s)},$f=function(){function e(e,t,s,i){this.type=1,this.start=e,this.startControl=t,this.endControl=s,this.end=i}return e.prototype.subdivide=function(t,s){var i=Jf(this.start,this.startControl,t),r=Jf(this.startControl,this.endControl,t),o=Jf(this.endControl,this.end,t),n=Jf(i,r,t),a=Jf(r,o,t),l=Jf(n,a,t);return s?new e(this.start,i,n,l):new e(l,a,o,this.end)},e.prototype.add=function(t,s){return new e(this.start.add(t,s),this.startControl.add(t,s),this.endControl.add(t,s),this.end.add(t,s))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),em=function(e){return 1===e.type},tm=function(e){var t=e.styles,s=e.bounds,i=Iu(t.borderTopLeftRadius,s.width,s.height),r=i[0],o=i[1],n=Iu(t.borderTopRightRadius,s.width,s.height),a=n[0],l=n[1],h=Iu(t.borderBottomRightRadius,s.width,s.height),c=h[0],u=h[1],A=Iu(t.borderBottomLeftRadius,s.width,s.height),p=A[0],d=A[1],f=[];f.push((r+a)/s.width),f.push((p+c)/s.width),f.push((o+d)/s.height),f.push((l+u)/s.height);var m=Math.max.apply(Math,f);m>1&&(r/=m,o/=m,a/=m,l/=m,c/=m,u/=m,p/=m,d/=m);var E=s.width-a,y=s.height-u,g=s.width-c,v=s.height-d,I=t.borderTopWidth,T=t.borderRightWidth,_=t.borderBottomWidth,R=t.borderLeftWidth,P=Tu(t.paddingTop,e.bounds.width),D=Tu(t.paddingRight,e.bounds.width),N=Tu(t.paddingBottom,e.bounds.width),C=Tu(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?sm(s.left+R/3,s.top+I/3,r-R/3,o-I/3,Df.TOP_LEFT):new qf(s.left+R/3,s.top+I/3),this.topRightBorderDoubleOuterBox=r>0||o>0?sm(s.left+E,s.top+I/3,a-T/3,l-I/3,Df.TOP_RIGHT):new qf(s.left+s.width-T/3,s.top+I/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?sm(s.left+g,s.top+y,c-T/3,u-_/3,Df.BOTTOM_RIGHT):new qf(s.left+s.width-T/3,s.top+s.height-_/3),this.bottomLeftBorderDoubleOuterBox=p>0||d>0?sm(s.left+R/3,s.top+v,p-R/3,d-_/3,Df.BOTTOM_LEFT):new qf(s.left+R/3,s.top+s.height-_/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?sm(s.left+2*R/3,s.top+2*I/3,r-2*R/3,o-2*I/3,Df.TOP_LEFT):new qf(s.left+2*R/3,s.top+2*I/3),this.topRightBorderDoubleInnerBox=r>0||o>0?sm(s.left+E,s.top+2*I/3,a-2*T/3,l-2*I/3,Df.TOP_RIGHT):new qf(s.left+s.width-2*T/3,s.top+2*I/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?sm(s.left+g,s.top+y,c-2*T/3,u-2*_/3,Df.BOTTOM_RIGHT):new qf(s.left+s.width-2*T/3,s.top+s.height-2*_/3),this.bottomLeftBorderDoubleInnerBox=p>0||d>0?sm(s.left+2*R/3,s.top+v,p-2*R/3,d-2*_/3,Df.BOTTOM_LEFT):new qf(s.left+2*R/3,s.top+s.height-2*_/3),this.topLeftBorderStroke=r>0||o>0?sm(s.left+R/2,s.top+I/2,r-R/2,o-I/2,Df.TOP_LEFT):new qf(s.left+R/2,s.top+I/2),this.topRightBorderStroke=r>0||o>0?sm(s.left+E,s.top+I/2,a-T/2,l-I/2,Df.TOP_RIGHT):new qf(s.left+s.width-T/2,s.top+I/2),this.bottomRightBorderStroke=c>0||u>0?sm(s.left+g,s.top+y,c-T/2,u-_/2,Df.BOTTOM_RIGHT):new qf(s.left+s.width-T/2,s.top+s.height-_/2),this.bottomLeftBorderStroke=p>0||d>0?sm(s.left+R/2,s.top+v,p-R/2,d-_/2,Df.BOTTOM_LEFT):new qf(s.left+R/2,s.top+s.height-_/2),this.topLeftBorderBox=r>0||o>0?sm(s.left,s.top,r,o,Df.TOP_LEFT):new qf(s.left,s.top),this.topRightBorderBox=a>0||l>0?sm(s.left+E,s.top,a,l,Df.TOP_RIGHT):new qf(s.left+s.width,s.top),this.bottomRightBorderBox=c>0||u>0?sm(s.left+g,s.top+y,c,u,Df.BOTTOM_RIGHT):new qf(s.left+s.width,s.top+s.height),this.bottomLeftBorderBox=p>0||d>0?sm(s.left,s.top+v,p,d,Df.BOTTOM_LEFT):new qf(s.left,s.top+s.height),this.topLeftPaddingBox=r>0||o>0?sm(s.left+R,s.top+I,Math.max(0,r-R),Math.max(0,o-I),Df.TOP_LEFT):new qf(s.left+R,s.top+I),this.topRightPaddingBox=a>0||l>0?sm(s.left+Math.min(E,s.width-T),s.top+I,E>s.width+T?0:Math.max(0,a-T),Math.max(0,l-I),Df.TOP_RIGHT):new qf(s.left+s.width-T,s.top+I),this.bottomRightPaddingBox=c>0||u>0?sm(s.left+Math.min(g,s.width-R),s.top+Math.min(y,s.height-_),Math.max(0,c-T),Math.max(0,u-_),Df.BOTTOM_RIGHT):new qf(s.left+s.width-T,s.top+s.height-_),this.bottomLeftPaddingBox=p>0||d>0?sm(s.left+R,s.top+Math.min(v,s.height-_),Math.max(0,p-R),Math.max(0,d-_),Df.BOTTOM_LEFT):new qf(s.left+R,s.top+s.height-_),this.topLeftContentBox=r>0||o>0?sm(s.left+R+C,s.top+I+P,Math.max(0,r-(R+C)),Math.max(0,o-(I+P)),Df.TOP_LEFT):new qf(s.left+R+C,s.top+I+P),this.topRightContentBox=a>0||l>0?sm(s.left+Math.min(E,s.width+R+C),s.top+I+P,E>s.width+R+C?0:a-R+C,l-(I+P),Df.TOP_RIGHT):new qf(s.left+s.width-(T+D),s.top+I+P),this.bottomRightContentBox=c>0||u>0?sm(s.left+Math.min(g,s.width-(R+C)),s.top+Math.min(y,s.height+I+P),Math.max(0,c-(T+D)),u-(_+N),Df.BOTTOM_RIGHT):new qf(s.left+s.width-(T+D),s.top+s.height-(_+N)),this.bottomLeftContentBox=p>0||d>0?sm(s.left+R+C,s.top+v,Math.max(0,p-(R+C)),d-(_+N),Df.BOTTOM_LEFT):new qf(s.left+R+C,s.top+s.height-(_+N))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Df||(Df={}));var sm=function(e,t,s,i,r){var o=(Math.sqrt(2)-1)/3*4,n=s*o,a=i*o,l=e+s,h=t+i;switch(r){case Df.TOP_LEFT:return new $f(new qf(e,h),new qf(e,h-a),new qf(l-n,t),new qf(l,t));case Df.TOP_RIGHT:return new $f(new qf(e,t),new qf(e+n,t),new qf(l,h-a),new qf(l,h));case Df.BOTTOM_RIGHT:return new $f(new qf(l,t),new qf(l,t+a),new qf(e+n,h),new qf(e,h));case Df.BOTTOM_LEFT:default:return new $f(new qf(l,h),new qf(l-n,h),new qf(e,t+a),new qf(e,t))}},im=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},rm=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},om=function(e,t,s){this.offsetX=e,this.offsetY=t,this.matrix=s,this.type=0,this.target=6},nm=function(e,t){this.path=e,this.target=t,this.type=1},am=function(e){this.opacity=e,this.type=2,this.target=6},lm=function(e){return 1===e.type},hm=function(e,t){return e.length===t.length&&e.some((function(e,s){return e===t[s]}))},cm=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},um=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new tm(this.container),this.container.styles.opacity<1&&this.effects.push(new am(this.container.styles.opacity)),null!==this.container.styles.transform){var s=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new om(s,i,r))}if(0!==this.container.styles.overflowX){var o=im(this.curves),n=rm(this.curves);hm(o,n)?this.effects.push(new nm(o,6)):(this.effects.push(new nm(o,2)),this.effects.push(new nm(n,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),s=this.parent,i=this.effects.slice(0);s;){var r=s.effects.filter((function(e){return!lm(e)}));if(t||0!==s.container.styles.position||!s.parent){if(i.unshift.apply(i,r),t=-1===[2,3].indexOf(s.container.styles.position),0!==s.container.styles.overflowX){var o=im(s.curves),n=rm(s.curves);hm(o,n)||i.unshift(new nm(n,6))}}else i.unshift.apply(i,r);s=s.parent}return i.filter((function(t){return Dp(t.target,e)}))},e}(),Am=function(e,t,s,i){e.container.elements.forEach((function(r){var o=Dp(r.flags,4),n=Dp(r.flags,2),a=new um(r,e);Dp(r.styles.display,2048)&&i.push(a);var l=Dp(r.flags,8)?[]:i;if(o||n){var h=o||r.styles.isPositioned()?s:t,c=new cm(a);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var A=0;h.negativeZIndex.some((function(e,t){return u>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),h.negativeZIndex.splice(A,0,c)}else if(u>0){var p=0;h.positiveZIndex.some((function(e,t){return u>=e.element.container.styles.zIndex.order?(p=t+1,!1):p>0})),h.positiveZIndex.splice(p,0,c)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?h.nonPositionedFloats.push(c):h.nonPositionedInlineLevel.push(c);Am(a,c,o?c:s,l)}else r.styles.isInlineLevel()?t.inlineLevel.push(a):t.nonInlineLevel.push(a),Am(a,t,s,l);Dp(r.flags,8)&&pm(r,l)}))},pm=function(e,t){for(var s=e instanceof Nd?e.start:1,i=e instanceof Nd&&e.reversed,r=0;r0&&e.intrinsicHeight>0){var i=ym(e),r=rm(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return vh(this,void 0,void 0,(function(){var s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g;return Ih(this,(function(v){switch(v.label){case 0:this.applyEffects(e.getEffects(4)),s=e.container,i=e.curves,r=s.styles,o=0,n=s.textNodes,v.label=1;case 1:return o0&&_>0&&(E=i.ctx.createPattern(d,"repeat"),i.renderRepeat(g,E,P,D))):function(e){return 2===e.type}(s)&&(y=gm(e,t,[null,null,null]),g=y[0],v=y[1],I=y[2],T=y[3],_=y[4],R=0===s.position.length?[gu]:s.position,P=Tu(R[0],T),D=Tu(R[R.length-1],_),N=function(e,t,s,i,r){var o=0,n=0;switch(e.size){case 0:0===e.shape?o=n=Math.min(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-i)),n=Math.min(Math.abs(s),Math.abs(s-r)));break;case 2:if(0===e.shape)o=n=Math.min(Wu(t,s),Wu(t,s-r),Wu(t-i,s),Wu(t-i,s-r));else if(1===e.shape){var a=Math.min(Math.abs(s),Math.abs(s-r))/Math.min(Math.abs(t),Math.abs(t-i)),l=zu(i,r,t,s,!0),h=l[0],c=l[1];n=a*(o=Wu(h-t,(c-s)/a))}break;case 1:0===e.shape?o=n=Math.max(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-i)),n=Math.max(Math.abs(s),Math.abs(s-r)));break;case 3:if(0===e.shape)o=n=Math.max(Wu(t,s),Wu(t,s-r),Wu(t-i,s),Wu(t-i,s-r));else if(1===e.shape){a=Math.max(Math.abs(s),Math.abs(s-r))/Math.max(Math.abs(t),Math.abs(t-i));var u=zu(i,r,t,s,!1);h=u[0],c=u[1],n=a*(o=Wu(h-t,(c-s)/a))}}return Array.isArray(e.size)&&(o=Tu(e.size[0],i),n=2===e.size.length?Tu(e.size[1],r):o),[o,n]}(s,P,D,T,_),C=N[0],b=N[1],C>0&&b>0&&(O=i.ctx.createRadialGradient(v+P,I+D,0,v+P,I+D,C),Qu(s.stops,2*C).forEach((function(e){return O.addColorStop(e.stop,Su(e.color))})),i.path(g),i.ctx.fillStyle=O,C!==b?(S=e.bounds.left+.5*e.bounds.width,x=e.bounds.top+.5*e.bounds.height,B=1/(w=b/C),i.ctx.save(),i.ctx.translate(S,x),i.ctx.transform(1,0,0,w,0,0),i.ctx.translate(-S,-x),i.ctx.fillRect(v,B*(I-x)+x,T,_*B),i.ctx.restore()):i.ctx.fill())),F.label=6;case 6:return t--,[2]}}))},i=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return r0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,o,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return n++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,s,i,r){return vh(this,void 0,void 0,(function(){var o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v;return Ih(this,(function(I){return this.ctx.save(),o=function(e,t){switch(t){case 0:return fm(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return fm(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return fm(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return fm(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(i,s),n=dm(i,s),2===r&&(this.path(n),this.ctx.clip()),em(n[0])?(a=n[0].start.x,l=n[0].start.y):(a=n[0].x,l=n[0].y),em(n[1])?(h=n[1].end.x,c=n[1].end.y):(h=n[1].x,c=n[1].y),u=0===s||2===s?Math.abs(a-h):Math.abs(l-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(n.slice(0,2)),A=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(A=t,p=t),d=!0,u<=2*A?d=!1:u<=2*A+p?(A*=f=u/(2*A+p),p*=f):(m=Math.floor((u+p)/(A+p)),E=(u-m*A)/(m-1),p=(y=(u-(m+1)*A)/m)<=0||Math.abs(p-E){s=1e3*this._delayBeforeRestoreSeconds,i||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,i=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",r),this._onCameraMatrix=e.scene.camera.on("matrix",r),this._onSceneTick=e.scene.on("tick",(t=>{i&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),i=!1))}));let o=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{o=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{o=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{o&&r()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}Boolean("object"!=typeof process||"[object process]"!==String(process)||process.browser);const Qm="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function jm(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}Qm&&parseFloat(Qm[1]);const Wm="object"!=typeof process||"[object process]"!==String(process)||process.browser,zm="undefined"!=typeof window&&void 0!==window.orientation,Km="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function Ym(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Km&&parseFloat(Km[1]);class Xm{constructor(e,t){Ym(this,"name",void 0),Ym(this,"workerThread",void 0),Ym(this,"isRunning",!0),Ym(this,"result",void 0),Ym(this,"_resolve",(()=>{})),Ym(this,"_reject",(()=>{})),this.name=e,this.workerThread=t,this.result=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){jm(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){jm(this.isRunning),this.isRunning=!1,this._reject(e)}}class Zm{}const qm=new Map;function Jm(e){jm(e.source&&!e.url||!e.source&&e.url);let t=qm.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return $m((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),qm.set(e.url,t)),e.source&&(t=$m(e.source),qm.set(e.source,t))),jm(t),t}function $m(e){const t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function eE(e,t=!0,s){const i=s||new Set;if(e){if(tE(e))i.add(e);else if(tE(e.buffer))i.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"==typeof e)for(const s in e)eE(e[s],t,i)}else;return void 0===s?Array.from(i):[]}function tE(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}const sE=()=>{};class iE{static isSupported(){return"undefined"!=typeof Worker&&Wm||void 0!==typeof Zm}constructor(e){Ym(this,"name",void 0),Ym(this,"source",void 0),Ym(this,"url",void 0),Ym(this,"terminated",!1),Ym(this,"worker",void 0),Ym(this,"onMessage",void 0),Ym(this,"onError",void 0),Ym(this,"_loadableURL","");const{name:t,source:s,url:i}=e;jm(s||i),this.name=t,this.source=s,this.url=i,this.onMessage=sE,this.onError=e=>console.log(e),this.worker=Wm?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=sE,this.onError=sE,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||eE(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}_createBrowserWorker(){this._loadableURL=Jm({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=e=>{e.data?this.onMessage(e.data):this.onError(new Error("No data received"))},e.onerror=e=>{this.onError(this._getErrorFromErrorEvent(e)),this.terminated=!0},e.onmessageerror=e=>console.error(e),e}_createNodeWorker(){let e;if(this.url){const t=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Zm(t,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Zm(this.source,{eval:!0})}return e.on("message",(e=>{this.onMessage(e)})),e.on("error",(e=>{this.onError(e)})),e.on("exit",(e=>{})),e}}class rE{static isSupported(){return iE.isSupported()}constructor(e){Ym(this,"name","unnamed"),Ym(this,"source",void 0),Ym(this,"url",void 0),Ym(this,"maxConcurrency",1),Ym(this,"maxMobileConcurrency",1),Ym(this,"onDebug",(()=>{})),Ym(this,"reuseWorkers",!0),Ym(this,"props",{}),Ym(this,"jobQueue",[]),Ym(this,"idleQueue",[]),Ym(this,"count",0),Ym(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach((e=>e.destroy())),this.isDestroyed=!0}setProps(e){this.props={...this.props,...e},void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}async startJob(e,t=((e,t,s)=>e.done(s)),s=((e,t)=>e.error(t))){const i=new Promise((i=>(this.jobQueue.push({name:e,onMessage:t,onError:s,onStart:i}),this)));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:e,backlog:this.jobQueue.length});const s=new Xm(t.name,e);e.onMessage=e=>t.onMessage(s,e.type,e.payload),e.onError=e=>t.onError(s,e),t.onStart(s);try{await s.result}finally{this.returnWorkerToQueue(e)}}}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}};class nE{static isSupported(){return iE.isSupported()}static getWorkerFarm(e={}){return nE._workerFarm=nE._workerFarm||new nE({}),nE._workerFarm.setProps(e),nE._workerFarm}constructor(e){Ym(this,"props",void 0),Ym(this,"workerPools",new Map),this.props={...oE},this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy();this.workerPools=new Map}setProps(e){this.props={...this.props,...e};for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:s,url:i}=e;let r=this.workerPools.get(t);return r||(r=new rE({name:t,source:s,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}Ym(nE,"_workerFarm",void 0);const aE={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},lE=aE.window||aE.self||aE.global,hE=aE.process||{},cE="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",uE=!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}();class AE{constructor(e,t,s="sessionStorage"){this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function pE(e,t,s,i=600){const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}const dE={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function fE(e){return"string"==typeof e?dE[e.toUpperCase()]||dE.WHITE:e}function mE(e,t){if(!e)throw new Error(t||"Assertion failed")}function EE(){let e;if(uE&&lE.performance)e=lE.performance.now();else if(hE.hrtime){const t=hE.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}const yE={debug:uE&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},gE={enabled:!0,level:0};function vE(){}const IE={},TE={once:!0};function _E(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}class RE{constructor({id:e}={id:""}){this.id=e,this.VERSION=cE,this._startTs=EE(),this._deltaTs=EE(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new AE("__probe-".concat(this.id,"__"),gE),this.userData={},this.timeStamp("".concat(this.id," started")),function(e,t=["constructor"]){const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((EE()-this._startTs).toPrecision(10))}getDelta(){return Number((EE()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}assert(e,t){mE(e,t)}warn(e){return this._getLogFunction(0,e,yE.warn,arguments,TE)}error(e){return this._getLogFunction(0,e,yE.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,yE.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,yE.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,yE.debug||yE.info,arguments,TE)}table(e,t,s){return t?this._getLogFunction(e,t,console.table||vE,s&&[s],{tag:_E(t)}):vE}image({logLevel:e,priority:t,image:s,message:i="",scale:r=1}){return this._shouldLog(e||t)?uE?function({image:e,message:t="",scale:s=1}){if("string"==typeof e){const i=new Image;return i.onload=()=>{const e=pE(i,t,s);console.log(...e)},i.src=e,vE}const i=e.nodeName||"";if("img"===i.toLowerCase())return console.log(...pE(e,t,s)),vE;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...pE(i,t,s)),i.src=e.toDataURL(),vE}return vE}({image:s,message:i,scale:r}):function({image:e,message:t="",scale:s=1}){let i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return()=>i(e,{fit:"box",width:"".concat(Math.round(80*s),"%")}).then((e=>console.log(e)));return vE}({image:s,message:i,scale:r}):vE}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||vE)}group(e,t,s={collapsed:!1}){s=DE({logLevel:e,message:t,opts:s});const{collapsed:i}=s;return s.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(e,t,s={}){return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||vE)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=PE(e)}_getLogFunction(e,t,s,i=[],r){if(this._shouldLog(e)){r=DE({logLevel:e,message:t,args:i,opts:r}),mE(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=EE();const o=r.tag||r.message;if(r.once){if(IE[o])return vE;IE[o]=EE()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e,t=8){const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return uE||"string"!=typeof e||(t&&(t=fE(t),e="[".concat(t,"m").concat(e,"")),s&&(t=fE(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return vE}}function PE(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return mE(Number.isFinite(t)&&t>=0),t}function DE(e){const{logLevel:t,message:s}=e;e.logLevel=PE(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(e.args=i,typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return mE("string"===r||"object"===r),Object.assign(e,e.opts)}RE.VERSION=cE,new RE({id:"loaders.gl"});function NE(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}()}new class{constructor(){Ym(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}};const CE={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},bE=CE.window||CE.self||CE.global,OE=CE.process||{},SE="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";NE();class xE{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Ym(this,"storage",void 0),Ym(this,"id",void 0),Ym(this,"config",{}),this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function wE(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600;const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}let BE;function FE(e){return"string"==typeof e?BE[e.toUpperCase()]||BE.WHITE:e}function ME(e,t){if(!e)throw new Error(t||"Assertion failed")}function LE(){let e;var t,s;if(NE&&"performance"in bE)e=null==bE||null===(t=bE.performance)||void 0===t||null===(s=t.now)||void 0===s?void 0:s.call(t);else if("hrtime"in OE){var i;const t=null==OE||null===(i=OE.hrtime)||void 0===i?void 0:i.call(OE);e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(BE||(BE={}));const UE={debug:NE&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},HE={enabled:!0,level:0};function GE(){}const kE={},VE={once:!0};class QE{constructor(){let{id:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""};Ym(this,"id",void 0),Ym(this,"VERSION",SE),Ym(this,"_startTs",LE()),Ym(this,"_deltaTs",LE()),Ym(this,"_storage",void 0),Ym(this,"userData",{}),Ym(this,"LOG_THROTTLE_TIMEOUT",0),this.id=e,this._storage=new xE("__probe-".concat(this.id,"__"),HE),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"];const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((LE()-this._startTs).toPrecision(10))}getDelta(){return Number((LE()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){ME(e,t)}warn(e){return this._getLogFunction(0,e,UE.warn,arguments,VE)}error(e){return this._getLogFunction(0,e,UE.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,UE.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,UE.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){for(var s=arguments.length,i=new Array(s>2?s-2:0),r=2;r{const t=wE(e,s,i);console.log(...t)},e.src=t,GE}const r=t.nodeName||"";if("img"===r.toLowerCase())return console.log(...wE(t,s,i)),GE;if("canvas"===r.toLowerCase()){const e=new Image;return e.onload=()=>console.log(...wE(e,s,i)),e.src=t.toDataURL(),GE}return GE}({image:i,message:r,scale:o}):function(e){let{image:t,message:s="",scale:i=1}=e,r=null;try{r=module.require("asciify-image")}catch(e){}if(r)return()=>r(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((e=>console.log(e)));return GE}({image:i,message:r,scale:o}):GE}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||GE)}group(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1};const i=WE({logLevel:e,message:t,opts:s}),{collapsed:r}=s;return i.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||GE)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=jE(e)}_getLogFunction(e,t,s,i,r){if(this._shouldLog(e)){r=WE({logLevel:e,message:t,args:i,opts:r}),ME(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=LE();const o=r.tag||r.message;if(r.once){if(kE[o])return GE;kE[o]=LE()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return NE||"string"!=typeof e||(t&&(t=FE(t),e="[".concat(t,"m").concat(e,"")),s&&(t=FE(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return GE}}function jE(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return ME(Number.isFinite(t)&&t>=0),t}function WE(e){const{logLevel:t,message:s}=e;e.logLevel=jE(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return ME("string"===r||"object"===r),Object.assign(e,{args:i},e.opts)}function zE(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}var KE,YE,XE,ZE,qE,JE,$E,ey,ty;let sy;Ym(QE,"VERSION",SE),new QE({id:"loaders.gl"}),(ty=KE||(KE={}))[ty.NONE=0]="NONE",ty[ty.BASISLZ=1]="BASISLZ",ty[ty.ZSTD=2]="ZSTD",ty[ty.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(YE||(YE={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(XE||(XE={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(ZE||(ZE={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(qE||(qE={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(JE||(JE={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}($E||($E={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(ey||(ey={})),function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(sy||(sy={}));const iy={IfcOpeningElement:{pickable:!1,visible:!1},IfcSpace:{colorize:[.137255,.403922,.870588],pickable:!1,visible:!1,opacity:.4},IfcWindow:{colorize:[.137255,.403922,.870588],opacity:.3},IfcPlate:{colorize:[.8470588235,.427450980392,0,.5],opacity:.3},DEFAULT:{}};function ry(e,t,s={}){const i="lightgrey",r=s.hoverColor||"rgba(0,0,0,0.4)",o=500,n=o+o/3,a=n/24,l=[{boundary:[6,6,6,6],color:s.frontColor||s.color||"#55FF55"},{boundary:[18,6,6,6],color:s.backColor||s.color||"#55FF55"},{boundary:[12,6,6,6],color:s.leftColor||s.color||"#FF5555"},{boundary:[0,6,6,6],color:s.rightColor||s.color||"#FF5555"},{boundary:[6,0,6,6],color:s.topColor||s.color||"#7777FF"},{boundary:[6,12,6,6],color:s.bottomColor||s.color||"#7777FF"}],h=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];s.frontColor||s.color,s.backColor||s.color,s.leftColor||s.color,s.rightColor||s.color,s.topColor||s.color,s.bottomColor||s.color;const c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}];for(let e=0,t=h.length;e=r[0]*a&&t<=(r[0]+r[2])*a&&s>=r[1]*a&&s<=(r[1]+r[3])*a)return i}}return-1},this.setAreaHighlighted=function(e,t){var s=u[e];if(!s)throw"Area not found: "+e;s.highlighted=!!t,f()},this.getAreaDir=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}const oy=p.vec3(),ny=p.vec3();p.mat4();class ay extends a{constructor(e,t={}){super("NavCube",e,t),e.navCube=this;try{this._navCubeScene=new Xt(e,{canvasId:t.canvasId,canvasElement:t.canvasElement,transparent:!0}),this._navCubeCanvas=this._navCubeScene.canvas.canvas,this._navCubeScene.input.keyboardEnabled=!1}catch(e){return void this.error(e)}const s=this._navCubeScene;s.clearLights(),new Xe(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Xe(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Xe(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._navCubeCamera=s.camera,this._navCubeCamera.ortho.scale=7,this._navCubeCamera.ortho.near=.1,this._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,this._zUp=Boolean(e.camera.zUp);var i=this;this.setIsProjectNorth(t.isProjectNorth),this.setProjectNorthOffsetAngle(t.projectNorthOffsetAngle);const r=function(){const e=p.mat4();return function(t,s,r){return p.identityMat4(e),p.rotationMat4v(t*i._projectNorthOffsetAngle*p.DEGTORAD,[0,1,0],e),p.transformVec3(e,s,r)}}();this._synchCamera=function(){var t=p.rotationMat4c(-90*p.DEGTORAD,1,0,0),s=p.vec3(),o=p.vec3(),n=p.vec3();return function(){var a=e.camera.eye,l=e.camera.look,h=e.camera.up;s=p.mulVec3Scalar(p.normalizeVec3(p.subVec3(a,l,s)),5),i._isProjectNorth&&i._projectNorthOffsetAngle&&(s=r(-1,s,oy),h=r(-1,h,ny)),i._zUp?(p.transformVec3(t,s,o),p.transformVec3(t,h,n),i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=p.transformVec3(t,s,o),i._navCubeCamera.up=p.transformPoint3(t,h,n)):(i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=s,i._navCubeCamera.up=h)}}(),this._cubeTextureCanvas=new ry(e,s,t),this._cubeSampler=new xi(s,{image:this._cubeTextureCanvas.getImage(),flipY:!0,wrapS:qt,wrapT:qt}),this._cubeMesh=new hi(s,{geometry:new lt(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new pt(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:this._cubeSampler,emissiveMap:this._cubeSampler}),visible:!0,edges:!0}),this._shadow=!1===t.shadowVisible?null:new hi(s,{geometry:new lt(s,ui({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new pt(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!0,pickable:!1,backfaces:!1}),this._onCameraMatrix=e.camera.on("matrix",this._synchCamera),this._onCameraWorldAxis=e.camera.on("worldAxis",(()=>{e.camera.zUp?(this._zUp=!0,this._cubeTextureCanvas.setZUp(),this._repaint(),this._synchCamera()):e.camera.yUp&&(this._zUp=!1,this._cubeTextureCanvas.setYUp(),this._repaint(),this._synchCamera())})),this._onCameraFOV=e.camera.perspective.on("fov",(e=>{this._synchProjection&&(this._navCubeCamera.perspective.fov=e)})),this._onCameraProjection=e.camera.on("projection",(e=>{this._synchProjection&&(this._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var o=-1;function n(e){var t=[0,0];if(e){for(var s=e.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-i,t[1]=e.pageY-r}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var a,l,h=null,c=null,u=!1,A=!1,d=.5;i._navCubeCanvas.addEventListener("mouseenter",i._onMouseEnter=function(e){A=!0}),i._navCubeCanvas.addEventListener("mouseleave",i._onMouseLeave=function(e){A=!1}),i._navCubeCanvas.addEventListener("mousedown",i._onMouseDown=function(e){if(1===e.which){h=e.x,c=e.y,a=e.clientX,l=e.clientY;var t=n(e),i=s.pick({canvasPos:t});u=!!i}}),document.addEventListener("mouseup",i._onMouseUp=function(e){if(1===e.which&&(u=!1,null!==h)){var t=n(e),a=s.pick({canvasPos:t,pickSurface:!0});if(a&&a.uv){var l=i._cubeTextureCanvas.getArea(a.uv);if(l>=0&&(document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0)){if(i._cubeTextureCanvas.setAreaHighlighted(l,!0),o=l,i._repaint(),e.xh+3||e.yc+3)return;var A=i._cubeTextureCanvas.getAreaDir(l);if(A){var p=i._cubeTextureCanvas.getAreaUp(l);i._isProjectNorth&&i._projectNorthOffsetAngle&&(A=r(1,A,oy),p=r(1,p,ny)),f(A,p,(function(){o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0&&(i._cubeTextureCanvas.setAreaHighlighted(l,!1),o=-1,i._repaint())}))}}}}}),document.addEventListener("mousemove",i._onMouseMove=function(t){if(o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),1!==t.buttons||u){if(u){var r=t.clientX,h=t.clientY;return document.body.style.cursor="move",void function(t,s){var i=(t-a)*-d,r=(s-l)*-d;e.camera.orbitYaw(i),e.camera.orbitPitch(-r),a=t,l=s}(r,h)}if(A){var c=n(t),p=s.pick({canvasPos:c,pickSurface:!0});if(p){if(p.uv){document.body.style.cursor="pointer";var f=i._cubeTextureCanvas.getArea(p.uv);if(f===o)return;o>=0&&i._cubeTextureCanvas.setAreaHighlighted(o,!1),f>=0&&(i._cubeTextureCanvas.setAreaHighlighted(f,!0),i._repaint(),o=f)}}else document.body.style.cursor="default",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1)}}});var f=function(){var t=p.vec3();return function(s,r,o){var n=i._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,a=p.getAABB3Diag(n);p.getAABB3Center(n,t);var l=Math.abs(a/Math.tan(i._cameraFitFOV*p.DEGTORAD));e.cameraControl.pivotPos=t,i._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV,duration:i._cameraFlyDuration},o):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV},o)}}();this._onUpdated=e.localeService.on("updated",(()=>{this._cubeTextureCanvas.clear(),this._repaint()})),this.setVisible(t.visible),this.setCameraFitFOV(t.cameraFitFOV),this.setCameraFly(t.cameraFly),this.setCameraFlyDuration(t.cameraFlyDuration),this.setFitVisible(t.fitVisible),this.setSynchProjection(t.synchProjection)}send(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}_repaint(){const e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}setVisible(e=!0){this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}getVisible(){return!!this._navCubeCanvas&&this._cubeMesh.visible}setFitVisible(e=!1){this._fitVisible=e}getFitVisible(){return this._fitVisible}setCameraFly(e=!0){this._cameraFly=e}getCameraFly(){return this._cameraFly}setCameraFitFOV(e=45){this._cameraFitFOV=e}getCameraFitFOV(){return this._cameraFitFOV}setCameraFlyDuration(e=.5){this._cameraFlyDuration=e}getCameraFlyDuration(){return this._cameraFlyDuration}setSynchProjection(e=!1){this._synchProjection=e}getSynchProjection(){return this._synchProjection}setIsProjectNorth(e=!1){this._isProjectNorth=e}getIsProjectNorth(){return this._isProjectNorth}setProjectNorthOffsetAngle(e){this._projectNorthOffsetAngle=e}getProjectNorthOffsetAngle(){return this._projectNorthOffsetAngle}destroy(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,super.destroy()}}p.vec3();const ly=new Float64Array([0,0,1]),hy=new Float64Array(4);class cy{constructor(e){this.id=null,this._viewer=e.viewer,this._visible=!1,this._pos=p.vec3(),this._origin=p.vec3(),this._rtcPos=p.vec3(),this._baseDir=p.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}_setSectionPlane(e){this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(()=>{this._setPos(this._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(()=>{this._ignoreNextSectionPlaneDirUpdate?this._ignoreNextSectionPlaneDirUpdate=!1:this._setDir(this._sectionPlane.dir)})))}get sectionPlane(){return this._sectionPlane}_setPos(e){this._pos.set(e),function(e,t,s){const i=Float32Array.from([e[0]])[0],r=e[0]-i,o=Float32Array.from([e[1]])[0],n=e[1]-o,a=Float32Array.from([e[2]])[0],l=e[2]-a;t[0]=i,t[1]=o,t[2]=a,s[0]=r,s[1]=n,s[2]=l}(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}_setDir(e){this._baseDir.set(e),this._rootNode.quaternion=p.vec3PairToQuaternion(ly,e,hy)}_setSectionPlaneDir(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}setVisible(e=!0){if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}getVisible(){return this._visible}setCulled(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}_createNodes(){const e=!1,t=this._viewer.scene,s=.01;this._rootNode=new _i(t,{position:[0,0,0],scale:[5,5,5]});const i=this._rootNode,r={arrowHead:new lt(i,ui({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new lt(i,ui({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new lt(i,ui({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new lt(i,Ui({radius:.8,tube:s,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new lt(i,Ui({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new lt(i,Ui({radius:.8,tube:s,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new lt(i,ui({radiusTop:s,radiusBottom:s,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new lt(i,ui({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new pt(i,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new pt(i,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new ft(i,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new pt(i,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new ft(i,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new pt(i,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new ft(i,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new pt(i,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new ft(i,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new ft(i,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:i.addChild(new hi(i,{geometry:new lt(i,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new pt(i,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new ft(i,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:i.addChild(new hi(i,{geometry:new lt(i,Ui({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new pt(i,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new ft(i,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:i.addChild(new hi(i,{geometry:r.curve,material:o.red,matrix:function(){const e=p.rotationMat4v(90*p.DEGTORAD,[0,1,0],p.identityMat4()),t=p.rotationMat4v(270*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:i.addChild(new hi(i,{geometry:r.curveHandle,material:o.pickable,matrix:function(){const e=p.rotationMat4v(90*p.DEGTORAD,[0,1,0],p.identityMat4()),t=p.rotationMat4v(270*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=p.translateMat4c(0,-.07,-.8,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(0*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=p.translateMat4c(0,-.8,-.07,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:i.addChild(new hi(i,{geometry:r.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:i.addChild(new hi(i,{geometry:r.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=p.translateMat4c(.07,0,-.8,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=p.translateMat4c(.8,0,-.07,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:i.addChild(new hi(i,{geometry:r.curve,material:o.blue,matrix:p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:i.addChild(new hi(i,{geometry:r.curveHandle,material:o.pickable,matrix:p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=p.translateMat4c(.8,-.07,0,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4());return p.mulMat4(e,t,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=p.translateMat4c(.05,-.8,0,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:i.addChild(new hi(i,{geometry:new lt(i,Ai({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:i.addChild(new hi(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:i.addChild(new hi(i,{geometry:r.axis,material:o.red,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:i.addChild(new hi(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:i.addChild(new hi(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:i.addChild(new hi(i,{geometry:r.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:i.addChild(new hi(i,{geometry:r.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[.8,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:i.addChild(new hi(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[.8,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:i.addChild(new hi(i,{geometry:r.axis,material:o.blue,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:i.addChild(new hi(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:i.addChild(new hi(i,{geometry:new lt(i,Ui({center:[0,0,0],radius:2,tube:s,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new pt(i,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new ft(i,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:i.addChild(new hi(i,{geometry:r.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){const e=p.rotationMat4v(90*p.DEGTORAD,[0,1,0],p.identityMat4()),t=p.rotationMat4v(270*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:i.addChild(new hi(i,{geometry:r.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:i.addChild(new hi(i,{geometry:r.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHeadBig,material:o.red,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHeadBig,material:o.green,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHeadBig,material:o.blue,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[.8,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}_bindEvents(){const e=this;var t=!1;const s=-1,i=0,r=1,o=2,n=3,a=4,l=5,h=this._rootNode;var c=null,u=null;const A=p.vec2(),d=p.vec3([1,0,0]),f=p.vec3([0,1,0]),m=p.vec3([0,0,1]),E=this._viewer.scene.canvas.canvas,y=this._viewer.camera,g=this._viewer.scene;{const e=p.vec3([0,0,0]);let t=-1;this._onCameraViewMatrix=g.camera.on("viewMatrix",(()=>{})),this._onCameraProjMatrix=g.camera.on("projMatrix",(()=>{})),this._onSceneTick=g.on("tick",(()=>{const s=Math.abs(p.lenVec3(p.subVec3(g.camera.eye,this._pos,e)));if(s!==t&&"perspective"===y.projection){const e=.07*(Math.tan(y.perspective.fov*p.DEGTORAD)*s);h.scale=[e,e,e],t=s}if("ortho"===y.projection){const e=y.ortho.scale/10;h.scale=[e,e,e],t=s}}))}const v=function(){const e=new Float64Array(2);return function(t){if(t){for(var s=t.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;e[0]=t.pageX-i,e[1]=t.pageY-r}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),I=function(){const t=p.mat4();return function(s,i){return p.quaternionToMat4(e._rootNode.quaternion,t),p.transformVec3(t,s,i),p.normalizeVec3(i),i}}();var T=function(){const e=p.vec3();return function(t){const s=Math.abs(t[0]);return s>Math.abs(t[1])&&s>Math.abs(t[2])?p.cross3Vec3(t,[0,1,0],e):p.cross3Vec3(t,[1,0,0],e),p.cross3Vec3(e,t,e),p.normalizeVec3(e),e}}();const _=function(){const t=p.vec3(),s=p.vec3(),i=p.vec4();return function(r,o,n){I(r,i);const a=T(i,o,n);P(o,a,t),P(n,a,s),p.subVec3(s,t);const l=p.dotVec3(s,i);e._pos[0]+=i[0]*l,e._pos[1]+=i[1]*l,e._pos[2]+=i[2]*l,e._rootNode.position=e._pos,e._sectionPlane&&(e._sectionPlane.pos=e._pos)}}();var R=function(){const t=p.vec4(),s=p.vec4(),i=p.vec4(),r=p.vec4();return function(o,n,a){I(o,r);if(!(P(n,r,t)&&P(a,r,s))){const e=T(r,n,a);P(n,e,t,1),P(a,e,s,1);var l=p.dotVec3(t,r);t[0]-=l*r[0],t[1]-=l*r[1],t[2]-=l*r[2],l=p.dotVec3(s,r),s[0]-=l*r[0],s[1]-=l*r[1],s[2]-=l*r[2]}p.normalizeVec3(t),p.normalizeVec3(s),l=p.dotVec3(t,s),l=p.clamp(l,-1,1);var h=Math.acos(l)*p.RADTODEG;p.cross3Vec3(t,s,i),p.dotVec3(i,r)<0&&(h=-h),e._rootNode.rotate(o,h),D()}}(),P=function(){const t=p.vec4([0,0,0,1]),s=p.mat4();return function(i,r,o,n){n=n||0,t[0]=i[0]/E.width*2-1,t[1]=-(i[1]/E.height*2-1),t[2]=0,t[3]=1,p.mulMat4(y.projMatrix,y.viewMatrix,s),p.inverseMat4(s),p.transformVec4(s,t,t),p.mulVec4Scalar(t,1/t[3]);var a=y.eye;p.subVec4(t,a,t);const l=e._sectionPlane.pos;var h=-p.dotVec3(l,r)-n,c=p.dotVec3(r,t);if(Math.abs(c)>.005){var u=-(p.dotVec3(r,a)+h)/c;return p.mulVec3Scalar(t,u,o),p.addVec3(o,a),p.subVec3(o,l,o),!0}return!1}}();const D=function(){const t=p.vec3(),s=p.mat4();return function(){e.sectionPlane&&(p.quaternionToMat4(h.quaternion,s),p.transformVec3(s,[0,0,1],t),e._setSectionPlaneDir(t))}}();var N,C=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(e=>{if(!this._visible)return;if(C)return;var h;t=!1,N&&(N.visible=!1);switch(e.entity.id){case this._displayMeshes.xAxisArrowHandle.id:case this._displayMeshes.xAxisHandle.id:h=this._affordanceMeshes.xAxisArrow,c=i;break;case this._displayMeshes.yAxisArrowHandle.id:case this._displayMeshes.yShaftHandle.id:h=this._affordanceMeshes.yAxisArrow,c=r;break;case this._displayMeshes.zAxisArrowHandle.id:case this._displayMeshes.zAxisHandle.id:h=this._affordanceMeshes.zAxisArrow,c=o;break;case this._displayMeshes.xCurveHandle.id:h=this._affordanceMeshes.xHoop,c=n;break;case this._displayMeshes.yCurveHandle.id:h=this._affordanceMeshes.yHoop,c=a;break;case this._displayMeshes.zCurveHandle.id:h=this._affordanceMeshes.zHoop,c=l;break;default:return void(c=s)}h&&(h.visible=!0),N=h,t=!0})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(e=>{this._visible&&(N&&(N.visible=!1),N=null,c=s)})),E.addEventListener("mousedown",this._canvasMouseDownListener=e=>{if(e.preventDefault(),this._visible&&t&&(this._viewer.cameraControl.pointerEnabled=!1,1===e.which)){C=!0;var s=v(e);u=c,A[0]=s[0],A[1]=s[1]}}),E.addEventListener("mousemove",this._canvasMouseMoveListener=e=>{if(!this._visible)return;if(!C)return;var t=v(e);const s=t[0],h=t[1];switch(u){case i:_(d,A,t);break;case r:_(f,A,t);break;case o:_(m,A,t);break;case n:R(d,A,t);break;case a:R(f,A,t);break;case l:R(m,A,t)}A[0]=s,A[1]=h}),E.addEventListener("mouseup",this._canvasMouseUpListener=e=>{this._visible&&(this._viewer.cameraControl.pointerEnabled=!0,C&&(e.which,C=!1,t=!1))}),E.addEventListener("wheel",this._canvasWheelListener=e=>{if(this._visible)Math.max(-1,Math.min(1,40*-e.deltaY))})}_destroy(){this._unbindEvents(),this._destroyNodes()}_unbindEvents(){const e=this._viewer,t=e.scene,s=t.canvas.canvas,i=e.camera,r=e.cameraControl;t.off(this._onSceneTick),s.removeEventListener("mousedown",this._canvasMouseDownListener),s.removeEventListener("mousemove",this._canvasMouseMoveListener),s.removeEventListener("mouseup",this._canvasMouseUpListener),s.removeEventListener("wheel",this._canvasWheelListener),i.off(this._onCameraViewMatrix),i.off(this._onCameraProjMatrix),r.off(this._onCameraControlHover),r.off(this._onCameraControlHoverLeave)}_destroyNodes(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}class uy{constructor(e,t,s){this.id=s.id,this._sectionPlane=s,this._mesh=new hi(t,{id:s.id,geometry:new lt(t,ht({xSize:.5,ySize:.5,zSize:.001})),material:new pt(t,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Et(t,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new ft(t,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new ft(t,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});{const e=p.vec3([0,0,0]),t=p.vec3(),s=p.vec3([0,0,1]),i=p.vec4(4),r=p.vec3(),o=()=>{const o=this._sectionPlane.scene.center,n=[-this._sectionPlane.dir[0],-this._sectionPlane.dir[1],-this._sectionPlane.dir[2]];p.subVec3(o,this._sectionPlane.pos,e);const a=-p.dotVec3(n,e);p.normalizeVec3(n),p.mulVec3Scalar(n,a,t);const l=p.vec3PairToQuaternion(s,this._sectionPlane.dir,i);r[0]=.1*t[0],r[1]=.1*t[1],r[2]=.1*t[2],this._mesh.quaternion=l,this._mesh.position=r};this._onSectionPlanePos=this._sectionPlane.on("pos",o),this._onSectionPlaneDir=this._sectionPlane.on("dir",o)}this._highlighted=!1,this._selected=!1}setHighlighted(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}getHighlighted(){return this._highlighted}setSelected(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}getSelected(){return this._selected}destroy(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}class Ay{constructor(e,t){if(!(t.onHoverEnterPlane&&t.onHoverLeavePlane&&t.onClickedNothing&&t.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=e,this._viewer=e.viewer,this._onHoverEnterPlane=t.onHoverEnterPlane,this._onHoverLeavePlane=t.onHoverLeavePlane,this._onClickedNothing=t.onClickedNothing,this._onClickedPlane=t.onClickedPlane,this._visible=!0,this._planes={},this._canvas=t.overviewCanvas,this._scene=new Xt(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new Xe(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Xe(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Xe(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;{const e=this._scene.camera,t=p.rotationMat4c(-90*p.DEGTORAD,1,0,0),s=p.vec3(),i=p.vec3(),r=p.vec3();this._synchCamera=()=>{const o=this._viewer.camera.eye,n=this._viewer.camera.look,a=this._viewer.camera.up;p.mulVec3Scalar(p.normalizeVec3(p.subVec3(o,n,s)),7),this._zUp?(p.transformVec3(t,s,i),p.transformVec3(t,a,r),e.look=[0,0,0],e.eye=p.transformVec3(t,s,i),e.up=p.transformPoint3(t,a,r)):(e.look=[0,0,0],e.eye=s,e.up=a)}}this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(e=>{this._scene.camera.perspective.fov=e}));var s=null;this._onInputMouseMove=this._scene.input.on("mousemove",(e=>{const t=this._scene.pick({canvasPos:e});if(t){if(!s||t.entity.id!==s.id){if(s){this._planes[s.id]&&this._onHoverLeavePlane(s.id)}s=t.entity;this._planes[s.id]&&this._onHoverEnterPlane(s.id)}}else s&&(this._onHoverLeavePlane(s.id),s=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=()=>{if(s){this._planes[s.id]&&this._onClickedPlane(s.id)}else this._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=()=>{s&&(this._onHoverLeavePlane(s.id),s=null)}),this.setVisible(t.overviewVisible)}addSectionPlane(e){this._planes[e.id]=new uy(this,this._scene,e)}setPlaneHighlighted(e,t){const s=this._planes[e];s&&s.setHighlighted(t)}setPlaneSelected(e,t){const s=this._planes[e];s&&s.setSelected(t)}removeSectionPlane(e){const t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}setVisible(e=!0){this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}getVisible(){return this._visible}destroy(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}const py=p.AABB3(),dy=p.vec3();class fy extends a{constructor(e,t={}){if(super("SectionPlanes",e),this._freeControls=[],this._sectionPlanes=e.scene.sectionPlanes,this._controls={},this._shownControlId=null,null!==t.overviewCanvasId&&void 0!==t.overviewCanvasId){const e=document.getElementById(t.overviewCanvasId);e?this._overview=new Ay(this,{overviewCanvas:e,visible:t.overviewVisible,onHoverEnterPlane:e=>{this._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:e=>{this._overview.setPlaneHighlighted(e,!1)},onClickedPlane:e=>{if(this.getShownControl()===e)return void this.hideControl();this.showControl(e);const t=this.sectionPlanes[e].pos;py.set(this.viewer.scene.aabb),p.getAABB3Center(py,dy),py[0]+=t[0]-dy[0],py[1]+=t[1]-dy[1],py[2]+=t[2]-dy[2],py[3]+=t[0]-dy[0],py[4]+=t[1]-dy[1],py[5]+=t[2]-dy[2],this.viewer.cameraFlight.flyTo({aabb:py,fitFOV:65})},onClickedNothing:()=>{this.hideControl()}}):this.warn("Can't find overview canvas: '"+t.overviewCanvasId+"' - will create plugin without overview")}this._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(e=>{this._sectionPlaneCreated(e)}))}setOverviewVisible(e){this._overview&&this._overview.setVisible(e)}getOverviewVisible(){if(this._overview)return this._overview.getVisible()}get sectionPlanes(){return this._sectionPlanes}createSectionPlane(e={}){void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);return new pi(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0})}_sectionPlaneCreated(e){const t=this._freeControls.length>0?this._freeControls.pop():new cy(this);t._setSectionPlane(e),t.setVisible(!1),this._controls[e.id]=t,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(()=>{this._sectionPlaneDestroyed(e)}))}flipSectionPlanes(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].flipDir()}}showControl(e){const t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}getShownControl(){return this._shownControlId}hideControl(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}destroySectionPlane(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}_sectionPlaneDestroyed(e){this._overview&&this._overview.removeSectionPlane(e);const t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}clear(){const e=Object.keys(this._sectionPlanes);for(var t=0,s=e.length;t{e.preventDefault()},this._onObjectVisibility=this._viewer.scene.on("objectVisibility",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;const i=e.visible;if(!(i!==s.checked))return;this._muteTreeEvents=!0,s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;const r=document.getElementById(`checkbox-${s.nodeId}`);r&&(r.checked=i);let o=s.parent;for(;o;){o.checked=i,i?o.numVisibleEntities++:o.numVisibleEntities--;const e=document.getElementById(`checkbox-${o.nodeId}`);if(e){const t=o.numVisibleEntities>0;t!==e.checked&&(e.checked=t)}o=o.parent}this._muteTreeEvents=!1})),this._onObjectXrayed=this._viewer.scene.on("objectXRayed",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;this._muteTreeEvents=!0;const i=e.xrayed;if(!(i!==s.xrayed))return;s.xrayed=i;const r=s.nodeId,o=document.getElementById(r);null!==o&&(i?o.classList.add("xrayed-node"):o.classList.remove("xrayed-node")),this._muteTreeEvents=!1})),this._switchExpandHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._expandSwitchElement(t)},this._switchCollapseHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._collapseSwitchElement(t)},this._checkboxChangeHandler=e=>{if(this._muteTreeEvents)return;this._muteSceneEvents=!0;const t=e.target,s=t.checked,i=t.id.replace("checkbox-",""),r=this._nodeNodes[i],o=this._viewer.scene.objects;let n=0;this._withNodeTree(r,(e=>{const t=e.objectId,i=`checkbox-${e.nodeId}`,r=o[t],a=0===e.children.length;e.numVisibleEntities=s?e.numEntities:0,a&&s!==e.checked&&n++,e.checked=s;const l=document.getElementById(i);l&&(l.checked=s),r&&(r.visible=s)}));let a=r.parent;for(;a;){a.checked=s;const e=document.getElementById(`checkbox-${a.nodeId}`);s?a.numVisibleEntities+=n:a.numVisibleEntities-=n;const t=a.numVisibleEntities>0;t!==e.checked&&(e.checked=t),a=a.parent}this._muteSceneEvents=!1},this._hierarchy=t.hierarchy||"containment",this._autoExpandDepth=t.autoExpandDepth||0,this._autoAddModels){const e=Object.keys(this.viewer.metaScene.metaModels);for(let t=0,s=e.length;t{this.viewer.metaScene.metaModels[e]&&this.addModel(e)}))}this.hierarchy=t.hierarchy}else this.error("Config expected: containerElement")}set hierarchy(e){"containment"!==(e=e||"containment")&&"storeys"!==e&&"types"!==e&&(this.error("Unsupported value for `hierarchy' - defaulting to 'containment'"),e="containment"),this._hierarchy!==e&&(this._hierarchy=e,this._createNodes())}get hierarchy(){return this._hierarchy}addModel(e,t={}){if(!this._containerElement)return;const s=this.viewer.scene.models[e];if(!s)throw"Model not found: "+e;const i=this.viewer.metaScene.metaModels[e];i?this._metaModels[e]?this.warn("Model already added: "+e):(this._metaModels[e]=i,s.on("destroyed",(()=>{this.removeModel(s.id)})),this._createNodes()):this.error("MetaModel not found: "+e)}removeModel(e){if(!this._containerElement)return;this._metaModels[e]&&(delete this._metaModels[e],this._createNodes())}showNode(e){this._showListItemElementId&&this.unShowNode();const t=this._objectNodes[e];if(!t)return;const s=t.nodeId,i="switch-"+s,r=document.getElementById(i);if(r)return this._expandSwitchElement(r),void r.scrollIntoView();const o=[];o.unshift(t);let n=t.parent;for(;n;)o.unshift(n),n=n.parent;for(let e=0,t=o.length;e{if(i===e)return;const r="switch-"+s.nodeId,o=document.getElementById(r);if(o){this._expandSwitchElement(o);const e=s.children;for(var n=0,a=e.length;n0;return this.valid}_validateMetaModelForStoreysHierarchy(e=0,t,s){return!0}_createEnabledNodes(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}_createDisabledNodes(){const e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);const t=this._viewer.metaScene.rootMetaObjects;for(let s in t){const i=t[s],r=i.type,o=i.name,n=o&&""!==o&&"Undefined"!==o&&"Default"!==o?o:r,a=document.createElement("li");e.appendChild(a);const l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),a.appendChild(l);const h=document.createElement("span");h.textContent=n,a.appendChild(h)}}_findEmptyNodes(){const e=this._viewer.metaScene.rootMetaObjects;for(let t in e)this._findEmptyNodes2(e[t])}_findEmptyNodes2(e,t=0){const s=this.viewer.scene,i=e.children,r=e.id,o=s.objects[r];if(e._countEntities=0,o&&e._countEntities++,i)for(let t=0,s=i.length;t{e.aabb&&r.aabb||(e.aabb||(e.aabb=t.getAABB(i.getObjectIDsInSubtree(e.objectId))),r.aabb||(r.aabb=t.getAABB(i.getObjectIDsInSubtree(r.objectId))));let o=0;return o=s.xUp?0:s.yUp?1:2,e.aabb[o]>r.aabb[o]?-1:e.aabb[o]i?1:0}_synchNodesToEntities(){const e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,s=this._viewer.scene.objects;for(let i=0,r=e.length;ithis._createNodeElement(e))),t=document.createElement("ul");e.forEach((e=>{t.appendChild(e)})),this._containerElement.appendChild(t),this._rootElement=t}_createNodeElement(e){const t=document.createElement("li"),s=e.nodeId;if(e.xrayed&&t.classList.add("xrayed-node"),t.id=s,e.children.length>0){const e="switch-"+s,i=document.createElement("a");i.href="#",i.id=e,i.textContent="+",i.classList.add("plus"),i.addEventListener("click",this._switchExpandHandler),t.appendChild(i)}const i=document.createElement("input");i.id=`checkbox-${s}`,i.type="checkbox",i.checked=e.checked,i.style["pointer-events"]="all",i.addEventListener("change",this._checkboxChangeHandler),t.appendChild(i);const r=document.createElement("span");return r.textContent=e.title,t.appendChild(r),r.oncontextmenu=t=>{this.fire("contextmenu",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},r.onclick=t=>{this.fire("nodeTitleClicked",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},t}_expandSwitchElement(e){const t=e.parentElement;if(t.getElementsByTagName("li")[0])return;const s=t.id,i=this._nodeNodes[s].children.map((e=>this._createNodeElement(e))),r=document.createElement("ul");i.forEach((e=>{r.appendChild(e)})),t.appendChild(r),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}_collapseNode(e){const t="switch-"+e,s=document.getElementById(t);this._collapseSwitchElement(s)}_collapseSwitchElement(e){if(!e)return;const t=e.parentElement;if(!t)return;const s=t.querySelector("ul");s&&(t.removeChild(s),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}class yy{constructor(){}getManifest(e,t,s){y.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getMetaModel(e,t,s){y.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getXKT(e,t,s){var i=()=>{};t=t||i,s=s||i;const r=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(r){const e=!!r[2];var o=r[3];o=window.decodeURIComponent(o),e&&(o=window.atob(o));try{const e=new ArrayBuffer(o.length),s=new Uint8Array(e);for(var n=0;n0&&r[r.length-1])||6!==o[0]&&2!==o[0])){n=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=55296&&r<=56319&&s>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},Nh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ch="undefined"==typeof Uint8Array?[]:new Uint8Array(256),bh=0;bh=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Fh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Mh="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Lh=0;Lh>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i0;){var n=i[--o];if(Array.isArray(e)?-1!==e.indexOf(n):e===n)for(var a=s;a<=i.length;){var l;if((l=i[++a])===t)return!0;if(l!==Uh)break}if(n!==Uh)break}return!1},vc=function(e,t){for(var s=e;s>=0;){var i=t[s];if(i!==Uh)return i;s--}return 0},Ic=function(e,t,s,i,r){if(0===s[i])return hc;var o=i-1;if(Array.isArray(r)&&!0===r[o])return hc;var n=o-1,a=o+1,l=t[o],h=n>=0?t[n]:0,c=t[a];if(2===l&&3===c)return hc;if(-1!==pc.indexOf(l))return"!";if(-1!==pc.indexOf(c))return hc;if(-1!==dc.indexOf(c))return hc;if(8===vc(o,t))return cc;if(11===uc.get(e[o]))return hc;if((l===$h||l===ec)&&11===uc.get(e[a]))return hc;if(7===l||7===c)return hc;if(9===l)return hc;if(-1===[Uh,Hh,Gh].indexOf(l)&&9===c)return hc;if(-1!==[kh,Vh,Qh,Kh,qh].indexOf(c))return hc;if(vc(o,t)===zh)return hc;if(gc(23,zh,o,t))return hc;if(gc([kh,Vh],Wh,o,t))return hc;if(gc(12,12,o,t))return hc;if(l===Uh)return cc;if(23===l||23===c)return hc;if(16===c||16===l)return cc;if(-1!==[Hh,Gh,Wh].indexOf(c)||14===l)return hc;if(36===h&&-1!==yc.indexOf(l))return hc;if(l===qh&&36===c)return hc;if(c===jh)return hc;if(-1!==Ac.indexOf(c)&&l===Yh||-1!==Ac.indexOf(l)&&c===Yh)return hc;if(l===Zh&&-1!==[ic,$h,ec].indexOf(c)||-1!==[ic,$h,ec].indexOf(l)&&c===Xh)return hc;if(-1!==Ac.indexOf(l)&&-1!==fc.indexOf(c)||-1!==fc.indexOf(l)&&-1!==Ac.indexOf(c))return hc;if(-1!==[Zh,Xh].indexOf(l)&&(c===Yh||-1!==[zh,Gh].indexOf(c)&&t[a+1]===Yh)||-1!==[zh,Gh].indexOf(l)&&c===Yh||l===Yh&&-1!==[Yh,qh,Kh].indexOf(c))return hc;if(-1!==[Yh,qh,Kh,kh,Vh].indexOf(c))for(var u=o;u>=0;){if((A=t[u])===Yh)return hc;if(-1===[qh,Kh].indexOf(A))break;u--}if(-1!==[Zh,Xh].indexOf(c))for(u=-1!==[kh,Vh].indexOf(l)?n:o;u>=0;){var A;if((A=t[u])===Yh)return hc;if(-1===[qh,Kh].indexOf(A))break;u--}if(rc===l&&-1!==[rc,oc,tc,sc].indexOf(c)||-1!==[oc,tc].indexOf(l)&&-1!==[oc,nc].indexOf(c)||-1!==[nc,sc].indexOf(l)&&c===nc)return hc;if(-1!==Ec.indexOf(l)&&-1!==[jh,Xh].indexOf(c)||-1!==Ec.indexOf(c)&&l===Zh)return hc;if(-1!==Ac.indexOf(l)&&-1!==Ac.indexOf(c))return hc;if(l===Kh&&-1!==Ac.indexOf(c))return hc;if(-1!==Ac.concat(Yh).indexOf(l)&&c===zh&&-1===lc.indexOf(e[a])||-1!==Ac.concat(Yh).indexOf(c)&&l===Vh)return hc;if(41===l&&41===c){for(var p=s[o],d=1;p>0&&41===t[--p];)d++;if(d%2!=0)return hc}return l===$h&&c===ec?hc:cc},Tc=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var s=function(e,t){void 0===t&&(t="strict");var s=[],i=[],r=[];return e.forEach((function(e,o){var n=uc.get(e);if(n>50?(r.push(!0),n-=50):r.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return i.push(o),s.push(16);if(4===n||11===n){if(0===o)return i.push(o),s.push(Jh);var a=s[o-1];return-1===mc.indexOf(a)?(i.push(i[o-1]),s.push(a)):(i.push(o),s.push(Jh))}return i.push(o),31===n?s.push("strict"===t?Wh:ic):n===ac||29===n?s.push(Jh):43===n?e>=131072&&e<=196605||e>=196608&&e<=262141?s.push(ic):s.push(Jh):void s.push(n)})),[i,s,r]}(e,t.lineBreak),i=s[0],r=s[1],o=s[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(r=r.map((function(e){return-1!==[Yh,Jh,ac].indexOf(e)?ic:e})));var n="keep-all"===t.wordBreak?o.map((function(t,s){return t&&e[s]>=19968&&e[s]<=40959})):void 0;return[i,r,n]},_c=function(){function e(e,t,s,i){this.codePoints=e,this.required="!"===t,this.start=s,this.end=i}return e.prototype.slice=function(){return Dh.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),Rc=45,Pc=43,Dc=-1,Nc=function(e){return e>=48&&e<=57},Cc=function(e){return Nc(e)||e>=65&&e<=70||e>=97&&e<=102},bc=function(e){return 10===e||9===e||32===e},Oc=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},Sc=function(e){return Oc(e)||Nc(e)||e===Rc},xc=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},wc=function(e,t){return 92===e&&10!==t},Bc=function(e,t,s){return e===Rc?Oc(t)||wc(t,s):!!Oc(e)||!(92!==e||!wc(e,t))},Fc=function(e,t,s){return e===Pc||e===Rc?!!Nc(t)||46===t&&Nc(s):Nc(46===e?t:e)},Mc=function(e){var t=0,s=1;e[t]!==Pc&&e[t]!==Rc||(e[t]===Rc&&(s=-1),t++);for(var i=[];Nc(e[t]);)i.push(e[t++]);var r=i.length?parseInt(Dh.apply(void 0,i),10):0;46===e[t]&&t++;for(var o=[];Nc(e[t]);)o.push(e[t++]);var n=o.length,a=n?parseInt(Dh.apply(void 0,o),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;e[t]!==Pc&&e[t]!==Rc||(e[t]===Rc&&(l=-1),t++);for(var h=[];Nc(e[t]);)h.push(e[t++]);var c=h.length?parseInt(Dh.apply(void 0,h),10):0;return s*(r+a*Math.pow(10,-n))*Math.pow(10,l*c)},Lc={type:2},Uc={type:3},Hc={type:4},Gc={type:13},kc={type:8},Vc={type:21},Qc={type:9},jc={type:10},Wc={type:11},zc={type:12},Kc={type:14},Yc={type:23},Xc={type:1},Zc={type:25},qc={type:24},Jc={type:26},$c={type:27},eu={type:28},tu={type:29},su={type:31},iu={type:32},ru=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(Ph(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==iu;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),s=this.peekCodePoint(1),i=this.peekCodePoint(2);if(Sc(t)||wc(s,i)){var r=Bc(t,s,i)?2:1;return{type:5,value:this.consumeName(),flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Gc;break;case 39:return this.consumeStringToken(39);case 40:return Lc;case 41:return Uc;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Kc;break;case Pc:if(Fc(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return Hc;case Rc:var o=e,n=this.peekCodePoint(0),a=this.peekCodePoint(1);if(Fc(o,n,a))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(Bc(o,n,a))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(n===Rc&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),qc;break;case 46:if(Fc(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(l===Dc)return this.consumeToken()}break;case 58:return Jc;case 59:return $c;case 60:if(33===this.peekCodePoint(0)&&this.peekCodePoint(1)===Rc&&this.peekCodePoint(2)===Rc)return this.consumeCodePoint(),this.consumeCodePoint(),Zc;break;case 64:var h=this.peekCodePoint(0),c=this.peekCodePoint(1),u=this.peekCodePoint(2);if(Bc(h,c,u))return{type:7,value:this.consumeName()};break;case 91:return eu;case 92:if(wc(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return tu;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),kc;break;case 123:return Wc;case 125:return zc;case 117:case 85:var A=this.peekCodePoint(0),p=this.peekCodePoint(1);return A!==Pc||!Cc(p)&&63!==p||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Qc;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Vc;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),jc;break;case Dc:return iu}return bc(e)?(this.consumeWhiteSpace(),su):Nc(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):Oc(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Dh(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();Cc(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var s=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),s=!0;if(s)return{type:30,start:parseInt(Dh.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Dh.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var i=parseInt(Dh.apply(void 0,e),16);if(this.peekCodePoint(0)===Rc&&Cc(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var r=[];Cc(t)&&r.length<6;)r.push(t),t=this.consumeCodePoint();return{type:30,start:i,end:parseInt(Dh.apply(void 0,r),16)}}return{type:30,start:i,end:i}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),this.peekCodePoint(0)===Dc)return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var s=this.consumeStringToken(this.consumeCodePoint());return 0===s.type&&(this.consumeWhiteSpace(),this.peekCodePoint(0)===Dc||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:s.value}):(this.consumeBadUrlRemnants(),Yc)}for(;;){var i=this.consumeCodePoint();if(i===Dc||41===i)return{type:22,value:Dh.apply(void 0,e)};if(bc(i))return this.consumeWhiteSpace(),this.peekCodePoint(0)===Dc||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Dh.apply(void 0,e)}):(this.consumeBadUrlRemnants(),Yc);if(34===i||39===i||40===i||xc(i))return this.consumeBadUrlRemnants(),Yc;if(92===i){if(!wc(i,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),Yc;e.push(this.consumeEscapedCodePoint())}else e.push(i)}},e.prototype.consumeWhiteSpace=function(){for(;bc(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||e===Dc)return;wc(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var s=Math.min(5e4,e);t+=Dh.apply(void 0,this._value.splice(0,s)),e-=s}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",s=0;;){var i=this._value[s];if(i===Dc||void 0===i||i===e)return{type:0,value:t+=this.consumeStringSlice(s)};if(10===i)return this._value.splice(0,s),Xc;if(92===i){var r=this._value[s+1];r!==Dc&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(s),s=-1,this._value.shift()):wc(i,r)&&(t+=this.consumeStringSlice(s),t+=Dh(this.consumeEscapedCodePoint()),s=-1))}s++}},e.prototype.consumeNumber=function(){var e=[],t=4,s=this.peekCodePoint(0);for(s!==Pc&&s!==Rc||e.push(this.consumeCodePoint());Nc(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0);var i=this.peekCodePoint(1);if(46===s&&Nc(i))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Nc(this.peekCodePoint(0));)e.push(this.consumeCodePoint());s=this.peekCodePoint(0),i=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===s||101===s)&&((i===Pc||i===Rc)&&Nc(r)||Nc(i)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Nc(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[Mc(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],s=e[1],i=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);return Bc(i,r,o)?{type:15,number:t,flags:s,unit:this.consumeName()}:37===i?(this.consumeCodePoint(),{type:16,number:t,flags:s}):{type:17,number:t,flags:s}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(Cc(e)){for(var t=Dh(e);Cc(this.peekCodePoint(0))&&t.length<6;)t+=Dh(this.consumeCodePoint());bc(this.peekCodePoint(0))&&this.consumeCodePoint();var s=parseInt(t,16);return 0===s||function(e){return e>=55296&&e<=57343}(s)||s>1114111?65533:s}return e===Dc?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(Sc(t))e+=Dh(t);else{if(!wc(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Dh(this.consumeEscapedCodePoint())}}},e}(),ou=function(){function e(e){this._tokens=e}return e.create=function(t){var s=new ru;return s.write(t),new e(s.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},s=this.consumeToken();;){if(32===s.type||du(s,e))return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue()),s=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var s=this.consumeToken();if(32===s.type||3===s.type)return t;this.reconsumeToken(s),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?iu:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),nu=function(e){return 15===e.type},au=function(e){return 17===e.type},lu=function(e){return 20===e.type},hu=function(e){return 0===e.type},cu=function(e,t){return lu(e)&&e.value===t},uu=function(e){return 31!==e.type},Au=function(e){return 31!==e.type&&4!==e.type},pu=function(e){var t=[],s=[];return e.forEach((function(e){if(4===e.type){if(0===s.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(s),void(s=[])}31!==e.type&&s.push(e)})),s.length&&t.push(s),t},du=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},fu=function(e){return 17===e.type||15===e.type},mu=function(e){return 16===e.type||fu(e)},Eu=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},yu={type:17,number:0,flags:4},gu={type:16,number:50,flags:4},vu={type:16,number:100,flags:4},Iu=function(e,t,s){var i=e[0],r=e[1];return[Tu(i,t),Tu(void 0!==r?r:i,s)]},Tu=function(e,t){if(16===e.type)return e.number/100*t;if(nu(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},_u="grad",Ru="turn",Pu=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case _u:return Math.PI/200*t.number;case"rad":return t.number;case Ru:return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},Du=function(e){return 15===e.type&&("deg"===e.unit||e.unit===_u||"rad"===e.unit||e.unit===Ru)},Nu=function(e){switch(e.filter(lu).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[yu,yu];case"to top":case"bottom":return Cu(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[yu,vu];case"to right":case"left":return Cu(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[vu,vu];case"to bottom":case"top":return Cu(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[vu,yu];case"to left":case"right":return Cu(270)}return 0},Cu=function(e){return Math.PI*e/180},bu=function(e,t){if(18===t.type){var s=Lu[t.name];if(void 0===s)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return s(e,t.values)}if(5===t.type){if(3===t.value.length){var i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);return xu(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),1)}if(4===t.value.length){i=t.value.substring(0,1),r=t.value.substring(1,2),o=t.value.substring(2,3);var n=t.value.substring(3,4);return xu(parseInt(i+i,16),parseInt(r+r,16),parseInt(o+o,16),parseInt(n+n,16)/255)}if(6===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6);return xu(parseInt(i,16),parseInt(r,16),parseInt(o,16),1)}if(8===t.value.length){i=t.value.substring(0,2),r=t.value.substring(2,4),o=t.value.substring(4,6),n=t.value.substring(6,8);return xu(parseInt(i,16),parseInt(r,16),parseInt(o,16),parseInt(n,16)/255)}}if(20===t.type){var a=Hu[t.value.toUpperCase()];if(void 0!==a)return a}return Hu.TRANSPARENT},Ou=function(e){return 0==(255&e)},Su=function(e){var t=255&e,s=255&e>>8,i=255&e>>16,r=255&e>>24;return t<255?"rgba("+r+","+i+","+s+","+t/255+")":"rgb("+r+","+i+","+s+")"},xu=function(e,t,s,i){return(e<<24|t<<16|s<<8|Math.round(255*i)<<0)>>>0},wu=function(e,t){if(17===e.type)return e.number;if(16===e.type){var s=3===t?1:255;return 3===t?e.number/100*s:Math.round(e.number/100*s)}return 0},Bu=function(e,t){var s=t.filter(Au);if(3===s.length){var i=s.map(wu),r=i[0],o=i[1],n=i[2];return xu(r,o,n,1)}if(4===s.length){var a=s.map(wu),l=(r=a[0],o=a[1],n=a[2],a[3]);return xu(r,o,n,l)}return 0};function Fu(e,t,s){return s<0&&(s+=1),s>=1&&(s-=1),s<1/6?(t-e)*s*6+e:s<.5?t:s<2/3?6*(t-e)*(2/3-s)+e:e}var Mu=function(e,t){var s=t.filter(Au),i=s[0],r=s[1],o=s[2],n=s[3],a=(17===i.type?Cu(i.number):Pu(e,i))/(2*Math.PI),l=mu(r)?r.number/100:0,h=mu(o)?o.number/100:0,c=void 0!==n&&mu(n)?Tu(n,1):1;if(0===l)return xu(255*h,255*h,255*h,1);var u=h<=.5?h*(l+1):h+l-h*l,A=2*h-u,p=Fu(A,u,a+1/3),d=Fu(A,u,a),f=Fu(A,u,a-1/3);return xu(255*p,255*d,255*f,c)},Lu={hsl:Mu,hsla:Mu,rgb:Bu,rgba:Bu},Uu=function(e,t){return bu(e,ou.create(t).parseComponentValue())},Hu={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},Gu={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(lu(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},ku={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},Vu=function(e,t){var s=bu(e,t[0]),i=t[1];return i&&mu(i)?{color:s,stop:i}:{color:s,stop:null}},Qu=function(e,t){var s=e[0],i=e[e.length-1];null===s.stop&&(s.stop=yu),null===i.stop&&(i.stop=vu);for(var r=[],o=0,n=0;no?r.push(l):r.push(o),o=l}else r.push(null)}var h=null;for(n=0;ne.optimumDistance)?{optimumCorner:t,optimumDistance:a}:e}),{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},Ku=function(e,t){var s=Cu(180),i=[];return pu(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&-1!==["top","left","right","bottom"].indexOf(o.value))return void(s=Nu(t));if(Du(o))return void(s=(Pu(e,o)+Cu(270))%Cu(360))}var n=Vu(e,t);i.push(n)})),{angle:s,stops:i,type:1}},Yu="closest-side",Xu="farthest-side",Zu="closest-corner",qu="farthest-corner",Ju="circle",$u="ellipse",eA="cover",tA="contain",sA=function(e,t){var s=0,i=3,r=[],o=[];return pu(t).forEach((function(t,n){var a=!0;if(0===n?a=t.reduce((function(e,t){if(lu(t))switch(t.value){case"center":return o.push(gu),!1;case"top":case"left":return o.push(yu),!1;case"right":case"bottom":return o.push(vu),!1}else if(mu(t)||fu(t))return o.push(t),!1;return e}),a):1===n&&(a=t.reduce((function(e,t){if(lu(t))switch(t.value){case Ju:return s=0,!1;case $u:return s=1,!1;case tA:case Yu:return i=0,!1;case Xu:return i=1,!1;case Zu:return i=2,!1;case eA:case qu:return i=3,!1}else if(fu(t)||mu(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)),a){var l=Vu(e,t);r.push(l)}})),{size:i,shape:s,stops:r,position:o,type:2}},iA=function(e,t){if(22===t.type){var s={url:t.value,type:0};return e.cache.addImage(t.value),s}if(18===t.type){var i=oA[t.name];if(void 0===i)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return i(e,t.values)}throw new Error("Unsupported image type "+t.type)};var rA,oA={"linear-gradient":function(e,t){var s=Cu(180),i=[];return pu(t).forEach((function(t,r){if(0===r){var o=t[0];if(20===o.type&&"to"===o.value)return void(s=Nu(t));if(Du(o))return void(s=Pu(e,o))}var n=Vu(e,t);i.push(n)})),{angle:s,stops:i,type:1}},"-moz-linear-gradient":Ku,"-ms-linear-gradient":Ku,"-o-linear-gradient":Ku,"-webkit-linear-gradient":Ku,"radial-gradient":function(e,t){var s=0,i=3,r=[],o=[];return pu(t).forEach((function(t,n){var a=!0;if(0===n){var l=!1;a=t.reduce((function(e,t){if(l)if(lu(t))switch(t.value){case"center":return o.push(gu),e;case"top":case"left":return o.push(yu),e;case"right":case"bottom":return o.push(vu),e}else(mu(t)||fu(t))&&o.push(t);else if(lu(t))switch(t.value){case Ju:return s=0,!1;case $u:return s=1,!1;case"at":return l=!0,!1;case Yu:return i=0,!1;case eA:case Xu:return i=1,!1;case tA:case Zu:return i=2,!1;case qu:return i=3,!1}else if(fu(t)||mu(t))return Array.isArray(i)||(i=[]),i.push(t),!1;return e}),a)}if(a){var h=Vu(e,t);r.push(h)}})),{size:i,shape:s,stops:r,position:o,type:2}},"-moz-radial-gradient":sA,"-ms-radial-gradient":sA,"-o-radial-gradient":sA,"-webkit-radial-gradient":sA,"-webkit-gradient":function(e,t){var s=Cu(180),i=[],r=1;return pu(t).forEach((function(t,s){var o=t[0];if(0===s){if(lu(o)&&"linear"===o.value)return void(r=1);if(lu(o)&&"radial"===o.value)return void(r=2)}if(18===o.type)if("from"===o.name){var n=bu(e,o.values[0]);i.push({stop:yu,color:n})}else if("to"===o.name){n=bu(e,o.values[0]);i.push({stop:vu,color:n})}else if("color-stop"===o.name){var a=o.values.filter(Au);if(2===a.length){n=bu(e,a[1]);var l=a[0];au(l)&&i.push({stop:{type:16,number:100*l.number,flags:l.flags},color:n})}}})),1===r?{angle:(s+Cu(180))%Cu(360),stops:i,type:r}:{size:3,shape:0,stops:i,position:[],type:r}}},nA={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var s=t[0];return 20===s.type&&"none"===s.value?[]:t.filter((function(e){return Au(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!oA[e.name])}(e)})).map((function(t){return iA(e,t)}))}},aA={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(lu(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},lA={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return pu(t).map((function(e){return e.filter(mu)})).map(Eu)}},hA={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return pu(t).map((function(e){return e.filter(lu).map((function(e){return e.value})).join(" ")})).map(cA)}},cA=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(rA||(rA={}));var uA,AA={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return pu(t).map((function(e){return e.filter(pA)}))}},pA=function(e){return lu(e)||mu(e)},dA=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},fA=dA("top"),mA=dA("right"),EA=dA("bottom"),yA=dA("left"),gA=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return Eu(t.filter(mu))}}},vA=gA("top-left"),IA=gA("top-right"),TA=gA("bottom-right"),_A=gA("bottom-left"),RA=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},PA=RA("top"),DA=RA("right"),NA=RA("bottom"),CA=RA("left"),bA=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return nu(t)?t.number:0}}},OA=bA("top"),SA=bA("right"),xA=bA("bottom"),wA=bA("left"),BA={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},FA={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},MA={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(lu).reduce((function(e,t){return e|LA(t.value)}),0)}},LA=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},UA={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},HA={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(uA||(uA={}));var GA,kA={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?uA.STRICT:uA.NORMAL}},VA={name:"line-height",initialValue:"normal",prefix:!1,type:4},QA=function(e,t){return lu(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:mu(e)?Tu(e,t):t},jA={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:iA(e,t)}},WA={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},zA={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},KA=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},YA=KA("top"),XA=KA("right"),ZA=KA("bottom"),qA=KA("left"),JA={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(lu).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},$A={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},ep=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},tp=ep("top"),sp=ep("right"),ip=ep("bottom"),rp=ep("left"),op={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},np={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},ap={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&cu(t[0],"none")?[]:pu(t).map((function(t){for(var s={color:Hu.TRANSPARENT,offsetX:yu,offsetY:yu,blur:yu},i=0,r=0;r1?1:0],this.overflowWrap=Gp(e,$A,t.overflowWrap),this.paddingTop=Gp(e,tp,t.paddingTop),this.paddingRight=Gp(e,sp,t.paddingRight),this.paddingBottom=Gp(e,ip,t.paddingBottom),this.paddingLeft=Gp(e,rp,t.paddingLeft),this.paintOrder=Gp(e,Bp,t.paintOrder),this.position=Gp(e,np,t.position),this.textAlign=Gp(e,op,t.textAlign),this.textDecorationColor=Gp(e,gp,null!==(s=t.textDecorationColor)&&void 0!==s?s:t.color),this.textDecorationLine=Gp(e,vp,null!==(i=t.textDecorationLine)&&void 0!==i?i:t.textDecoration),this.textShadow=Gp(e,ap,t.textShadow),this.textTransform=Gp(e,lp,t.textTransform),this.transform=Gp(e,hp,t.transform),this.transformOrigin=Gp(e,pp,t.transformOrigin),this.visibility=Gp(e,dp,t.visibility),this.webkitTextStrokeColor=Gp(e,Fp,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Gp(e,Mp,t.webkitTextStrokeWidth),this.wordBreak=Gp(e,fp,t.wordBreak),this.zIndex=Gp(e,mp,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return Ou(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return Dp(this.display,4)||Dp(this.display,33554432)||Dp(this.display,268435456)||Dp(this.display,536870912)||Dp(this.display,67108864)||Dp(this.display,134217728)},e}(),Up=function(e,t){this.content=Gp(e,Np,t.content),this.quotes=Gp(e,Sp,t.quotes)},Hp=function(e,t){this.counterIncrement=Gp(e,Cp,t.counterIncrement),this.counterReset=Gp(e,bp,t.counterReset)},Gp=function(e,t,s){var i=new ru,r=null!=s?s.toString():t.initialValue;i.write(r);var o=new ou(i.read());switch(t.type){case 2:var n=o.parseComponentValue();return t.parse(e,lu(n)?n.value:t.initialValue);case 0:return t.parse(e,o.parseComponentValue());case 1:return t.parse(e,o.parseComponentValues());case 4:return o.parseComponentValue();case 3:switch(t.format){case"angle":return Pu(e,o.parseComponentValue());case"color":return bu(e,o.parseComponentValue());case"image":return iA(e,o.parseComponentValue());case"length":var a=o.parseComponentValue();return fu(a)?a:yu;case"length-percentage":var l=o.parseComponentValue();return mu(l)?l:yu;case"time":return Ep(e,o.parseComponentValue())}}},kp=function(e,t){var s=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===s||t===s},Vp=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,kp(t,3),this.styles=new Lp(e,window.getComputedStyle(t,null)),zd(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=Rh(this.context,t),kp(t,4)&&(this.flags|=16)},Qp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",jp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Wp=0;Wp=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),Yp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Xp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zp=0;Zp>10),n%1024+56320)),(r+1===s||i.length>16384)&&(o+=String.fromCharCode.apply(String,i),i.length=0)}return o},id=function(e,t){var s,i,r,o=function(e){var t,s,i,r,o,n=.75*e.length,a=e.length,l=0;"="===e[e.length-1]&&(n--,"="===e[e.length-2]&&n--);var h="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(n):new Array(n),c=Array.isArray(h)?h:new Uint8Array(h);for(t=0;t>4,c[l++]=(15&i)<<4|r>>2,c[l++]=(3&r)<<6|63&o;return h}(e),n=Array.isArray(o)?function(e){for(var t=e.length,s=[],i=0;i=55296&&r<=56319&&s=s)return{done:!0,value:null};for(var e=rd;in.x||r.y>n.y;return n=r,0===t||a}));return e.body.removeChild(t),a}(document);return Object.defineProperty(ud,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,s=e.createElement("canvas"),i=s.getContext("2d");if(!i)return!1;t.src="data:image/svg+xml,";try{i.drawImage(t,0,0),s.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(ud,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),s=100;t.width=s,t.height=s;var i=t.getContext("2d");if(!i)return Promise.reject(!1);i.fillStyle="rgb(0, 255, 0)",i.fillRect(0,0,s,s);var r=new Image,o=t.toDataURL();r.src=o;var n=hd(s,s,0,0,r);return i.fillStyle="red",i.fillRect(0,0,s,s),cd(n).then((function(t){i.drawImage(t,0,0);var r=i.getImageData(0,0,s,s).data;i.fillStyle="red",i.fillRect(0,0,s,s);var n=e.createElement("div");return n.style.backgroundImage="url("+o+")",n.style.height="100px",ld(r)?cd(hd(s,s,0,0,n)):Promise.reject(!1)})).then((function(e){return i.drawImage(e,0,0),ld(i.getImageData(0,0,s,s).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(ud,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(ud,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(ud,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(ud,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(ud,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},Ad=function(e,t){this.text=e,this.bounds=t},pd=function(e,t){var s=t.ownerDocument;if(s){var i=s.createElement("html2canvaswrapper");i.appendChild(t.cloneNode(!0));var r=t.parentNode;if(r){r.replaceChild(i,t);var o=Rh(e,i);return i.firstChild&&r.replaceChild(i.firstChild,i),o}}return _h.EMPTY},dd=function(e,t,s){var i=e.ownerDocument;if(!i)throw new Error("Node has no owner document");var r=i.createRange();return r.setStart(e,t),r.setEnd(e,t+s),r},fd=function(e){if(ud.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,s=ad(e),i=[];!(t=s.next()).done;)t.value&&i.push(t.value.slice());return i}(e)},md=function(e,t){return 0!==t.letterSpacing?fd(e):function(e,t){if(ud.SUPPORT_NATIVE_TEXT_SEGMENTATION){var s=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(s.segment(e)).map((function(e){return e.segment}))}return yd(e,t)}(e,t)},Ed=[32,160,4961,65792,65793,4153,4241],yd=function(e,t){for(var s,i=function(e,t){var s=Ph(e),i=Tc(s,t),r=i[0],o=i[1],n=i[2],a=s.length,l=0,h=0;return{next:function(){if(h>=a)return{done:!0,value:null};for(var e=hc;h0)if(ud.SUPPORT_RANGE_BOUNDS){var r=dd(i,n,t.length).getClientRects();if(r.length>1){var a=fd(t),l=0;a.forEach((function(t){o.push(new Ad(t,_h.fromDOMRectList(e,dd(i,l+n,t.length).getClientRects()))),l+=t.length}))}else o.push(new Ad(t,_h.fromDOMRectList(e,r)))}else{var h=i.splitText(t.length);o.push(new Ad(t,pd(e,i))),i=h}else ud.SUPPORT_RANGE_BOUNDS||(i=i.splitText(t.length));n+=t.length})),o}(e,this.text,s,t)},vd=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(Id,Td);case 2:return e.toUpperCase();default:return e}},Id=/(^|\s|:|-|\(|\))([a-z])/g,Td=function(e,t,s){return e.length>0?t+s.toUpperCase():e},_d=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.src=s.currentSrc||s.src,i.intrinsicWidth=s.naturalWidth,i.intrinsicHeight=s.naturalHeight,i.context.cache.addImage(i.src),i}return yh(t,e),t}(Vp),Rd=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.canvas=s,i.intrinsicWidth=s.width,i.intrinsicHeight=s.height,i}return yh(t,e),t}(Vp),Pd=function(e){function t(t,s){var i=e.call(this,t,s)||this,r=new XMLSerializer,o=Rh(t,s);return s.setAttribute("width",o.width+"px"),s.setAttribute("height",o.height+"px"),i.svg="data:image/svg+xml,"+encodeURIComponent(r.serializeToString(s)),i.intrinsicWidth=s.width.baseVal.value,i.intrinsicHeight=s.height.baseVal.value,i.context.cache.addImage(i.svg),i}return yh(t,e),t}(Vp),Dd=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.value=s.value,i}return yh(t,e),t}(Vp),Nd=function(e){function t(t,s){var i=e.call(this,t,s)||this;return i.start=s.start,i.reversed="boolean"==typeof s.reversed&&!0===s.reversed,i}return yh(t,e),t}(Vp),Cd=[{type:15,flags:0,unit:"px",number:3}],bd=[{type:16,flags:0,number:50}],Od="checkbox",Sd="radio",xd="password",wd=707406591,Bd=function(e){function t(t,s){var i,r,o,n=e.call(this,t,s)||this;switch(n.type=s.type.toLowerCase(),n.checked=s.checked,n.value=0===(r=(i=s).type===xd?new Array(i.value.length+1).join("•"):i.value).length?i.placeholder||"":r,n.type!==Od&&n.type!==Sd||(n.styles.backgroundColor=3739148031,n.styles.borderTopColor=n.styles.borderRightColor=n.styles.borderBottomColor=n.styles.borderLeftColor=2779096575,n.styles.borderTopWidth=n.styles.borderRightWidth=n.styles.borderBottomWidth=n.styles.borderLeftWidth=1,n.styles.borderTopStyle=n.styles.borderRightStyle=n.styles.borderBottomStyle=n.styles.borderLeftStyle=1,n.styles.backgroundClip=[0],n.styles.backgroundOrigin=[0],n.bounds=(o=n.bounds).width>o.height?new _h(o.left+(o.width-o.height)/2,o.top,o.height,o.height):o.width0)s.textNodes.push(new gd(e,r,s.styles));else if(Wd(r))if(af(r)&&r.assignedNodes)r.assignedNodes().forEach((function(t){return Hd(e,t,s,i)}));else{var n=Gd(e,r);n.styles.isVisible()&&(Vd(r,n,i)?n.flags|=4:Qd(n.styles)&&(n.flags|=2),-1!==Ud.indexOf(r.tagName)&&(n.flags|=8),s.elements.push(n),r.slot,r.shadowRoot?Hd(e,r.shadowRoot,n,i):of(r)||qd(r)||nf(r)||Hd(e,r,n,i))}},Gd=function(e,t){return tf(t)?new _d(e,t):$d(t)?new Rd(e,t):qd(t)?new Pd(e,t):Yd(t)?new Dd(e,t):Xd(t)?new Nd(e,t):Zd(t)?new Bd(e,t):nf(t)?new Fd(e,t):of(t)?new Md(e,t):sf(t)?new Ld(e,t):new Vp(e,t)},kd=function(e,t){var s=Gd(e,t);return s.flags|=4,Hd(e,t,s,s),s},Vd=function(e,t,s){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Jd(e)&&s.styles.isTransparent()},Qd=function(e){return e.isPositioned()||e.isFloating()},jd=function(e){return e.nodeType===Node.TEXT_NODE},Wd=function(e){return e.nodeType===Node.ELEMENT_NODE},zd=function(e){return Wd(e)&&void 0!==e.style&&!Kd(e)},Kd=function(e){return"object"==typeof e.className},Yd=function(e){return"LI"===e.tagName},Xd=function(e){return"OL"===e.tagName},Zd=function(e){return"INPUT"===e.tagName},qd=function(e){return"svg"===e.tagName},Jd=function(e){return"BODY"===e.tagName},$d=function(e){return"CANVAS"===e.tagName},ef=function(e){return"VIDEO"===e.tagName},tf=function(e){return"IMG"===e.tagName},sf=function(e){return"IFRAME"===e.tagName},rf=function(e){return"STYLE"===e.tagName},of=function(e){return"TEXTAREA"===e.tagName},nf=function(e){return"SELECT"===e.tagName},af=function(e){return"SLOT"===e.tagName},lf=function(e){return e.tagName.indexOf("-")>0},hf=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,s=e.counterIncrement,i=e.counterReset,r=!0;null!==s&&s.forEach((function(e){var s=t.counters[e.counter];s&&0!==e.increment&&(r=!1,s.length||s.push(1),s[Math.max(0,s.length-1)]+=e.increment)}));var o=[];return r&&i.forEach((function(e){var s=t.counters[e.counter];o.push(e.counter),s||(s=t.counters[e.counter]=[]),s.push(e.reset)})),o},e}(),cf={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},uf={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},Af={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},pf={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},df=function(e,t,s,i,r,o){return es?_f(e,r,o.length>0):i.integers.reduce((function(t,s,r){for(;e>=s;)e-=s,t+=i.values[r];return t}),"")+o},ff=function(e,t,s,i){var r="";do{s||e--,r=i(e)+r,e/=t}while(e*t>=t);return r},mf=function(e,t,s,i,r){var o=s-t+1;return(e<0?"-":"")+(ff(Math.abs(e),o,i,(function(e){return Dh(Math.floor(e%o)+t)}))+r)},Ef=function(e,t,s){void 0===s&&(s=". ");var i=t.length;return ff(Math.abs(e),i,!1,(function(e){return t[Math.floor(e%i)]}))+s},yf=function(e,t,s,i,r,o){if(e<-9999||e>9999)return _f(e,4,r.length>0);var n=Math.abs(e),a=r;if(0===n)return t[0]+a;for(var l=0;n>0&&l<=4;l++){var h=n%10;0===h&&Dp(o,1)&&""!==a?a=t[h]+a:h>1||1===h&&0===l||1===h&&1===l&&Dp(o,2)||1===h&&1===l&&Dp(o,4)&&e>100||1===h&&l>1&&Dp(o,8)?a=t[h]+(l>0?s[l-1]:"")+a:1===h&&l>0&&(a=s[l-1]+a),n=Math.floor(n/10)}return(e<0?i:"")+a},gf="十百千萬",vf="拾佰仟萬",If="マイナス",Tf="마이너스",_f=function(e,t,s){var i=s?". ":"",r=s?"、":"",o=s?", ":"",n=s?" ":"";switch(t){case 0:return"•"+n;case 1:return"◦"+n;case 2:return"◾"+n;case 5:var a=mf(e,48,57,!0,i);return a.length<4?"0"+a:a;case 4:return Ef(e,"〇一二三四五六七八九",r);case 6:return df(e,1,3999,cf,3,i).toLowerCase();case 7:return df(e,1,3999,cf,3,i);case 8:return mf(e,945,969,!1,i);case 9:return mf(e,97,122,!1,i);case 10:return mf(e,65,90,!1,i);case 11:return mf(e,1632,1641,!0,i);case 12:case 49:return df(e,1,9999,uf,3,i);case 35:return df(e,1,9999,uf,3,i).toLowerCase();case 13:return mf(e,2534,2543,!0,i);case 14:case 30:return mf(e,6112,6121,!0,i);case 15:return Ef(e,"子丑寅卯辰巳午未申酉戌亥",r);case 16:return Ef(e,"甲乙丙丁戊己庚辛壬癸",r);case 17:case 48:return yf(e,"零一二三四五六七八九",gf,"負",r,14);case 47:return yf(e,"零壹貳參肆伍陸柒捌玖",vf,"負",r,15);case 42:return yf(e,"零一二三四五六七八九",gf,"负",r,14);case 41:return yf(e,"零壹贰叁肆伍陆柒捌玖",vf,"负",r,15);case 26:return yf(e,"〇一二三四五六七八九","十百千万",If,r,0);case 25:return yf(e,"零壱弐参四伍六七八九","拾百千万",If,r,7);case 31:return yf(e,"영일이삼사오육칠팔구","십백천만",Tf,o,7);case 33:return yf(e,"零一二三四五六七八九","十百千萬",Tf,o,0);case 32:return yf(e,"零壹貳參四五六七八九","拾百千",Tf,o,7);case 18:return mf(e,2406,2415,!0,i);case 20:return df(e,1,19999,pf,3,i);case 21:return mf(e,2790,2799,!0,i);case 22:return mf(e,2662,2671,!0,i);case 22:return df(e,1,10999,Af,3,i);case 23:return Ef(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return Ef(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return mf(e,3302,3311,!0,i);case 28:return Ef(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",r);case 29:return Ef(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",r);case 34:return mf(e,3792,3801,!0,i);case 37:return mf(e,6160,6169,!0,i);case 38:return mf(e,4160,4169,!0,i);case 39:return mf(e,2918,2927,!0,i);case 40:return mf(e,1776,1785,!0,i);case 43:return mf(e,3046,3055,!0,i);case 44:return mf(e,3174,3183,!0,i);case 45:return mf(e,3664,3673,!0,i);case 46:return mf(e,3872,3881,!0,i);default:return mf(e,48,57,!0,i)}},Rf="data-html2canvas-ignore",Pf=function(){function e(e,t,s){if(this.context=e,this.options=s,this.scrolledElements=[],this.referenceElement=t,this.counters=new hf,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var s=this,i=Nf(e,t);if(!i.contentWindow)return Promise.reject("Unable to find iframe window");var r=e.defaultView.pageXOffset,o=e.defaultView.pageYOffset,n=i.contentWindow,a=n.document,l=Of(i).then((function(){return vh(s,void 0,void 0,(function(){var e,s;return Ih(this,(function(r){switch(r.label){case 0:return this.scrolledElements.forEach(Ff),n&&(n.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||n.scrollY===t.top&&n.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(n.scrollX-t.left,n.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(s=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:a.fonts&&a.fonts.ready?[4,a.fonts.ready]:[3,2];case 1:r.sent(),r.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,bf(a)]:[3,4];case 3:r.sent(),r.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(a,s)})).then((function(){return i}))]:[2,i]}}))}))}));return a.open(),a.write(wf(document.doctype)+""),Bf(this.referenceElement.ownerDocument,r,o),a.replaceChild(a.adoptNode(this.documentElement),a.documentElement),a.close(),l},e.prototype.createElementClone=function(e){if(kp(e,2),$d(e))return this.createCanvasClone(e);if(ef(e))return this.createVideoClone(e);if(rf(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return tf(t)&&(tf(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),lf(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return xf(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var s=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),i=e.cloneNode(!1);return i.textContent=s,i}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var s=e.ownerDocument.createElement("img");try{return s.src=e.toDataURL(),s}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var i=e.cloneNode(!1);try{i.width=e.width,i.height=e.height;var r=e.getContext("2d"),o=i.getContext("2d");if(o)if(!this.options.allowTaint&&r)o.putImageData(r.getImageData(0,0,e.width,e.height),0,0);else{var n=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(n){var a=n.getContextAttributes();!1===(null==a?void 0:a.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}o.drawImage(e,0,0)}return i}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return i},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var s=t.getContext("2d");try{return s&&(s.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||s.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var i=e.ownerDocument.createElement("canvas");return i.width=e.offsetWidth,i.height=e.offsetHeight,i},e.prototype.appendChildNode=function(e,t,s){Wd(t)&&("SCRIPT"===t.tagName||t.hasAttribute(Rf)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&Wd(t)&&rf(t)||e.appendChild(this.cloneNode(t,s))},e.prototype.cloneChildNodes=function(e,t,s){for(var i=this,r=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;r;r=r.nextSibling)if(Wd(r)&&af(r)&&"function"==typeof r.assignedNodes){var o=r.assignedNodes();o.length&&o.forEach((function(e){return i.appendChildNode(t,e,s)}))}else this.appendChildNode(t,r,s)},e.prototype.cloneNode=function(e,t){if(jd(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var s=e.ownerDocument.defaultView;if(s&&Wd(e)&&(zd(e)||Kd(e))){var i=this.createElementClone(e);i.style.transitionProperty="none";var r=s.getComputedStyle(e),o=s.getComputedStyle(e,":before"),n=s.getComputedStyle(e,":after");this.referenceElement===e&&zd(i)&&(this.clonedReferenceElement=i),Jd(i)&&Hf(i);var a=this.counters.parse(new Hp(this.context,r)),l=this.resolvePseudoContent(e,i,o,qp.BEFORE);lf(e)&&(t=!0),ef(e)||this.cloneChildNodes(e,i,t),l&&i.insertBefore(l,i.firstChild);var h=this.resolvePseudoContent(e,i,n,qp.AFTER);return h&&i.appendChild(h),this.counters.pop(a),(r&&(this.options.copyStyles||Kd(e))&&!sf(e)||t)&&xf(r,i),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([i,e.scrollLeft,e.scrollTop]),(of(e)||nf(e))&&(of(i)||nf(i))&&(i.value=e.value),i}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,s,i){var r=this;if(s){var o=s.content,n=t.ownerDocument;if(n&&o&&"none"!==o&&"-moz-alt-content"!==o&&"none"!==s.display){this.counters.parse(new Hp(this.context,s));var a=new Up(this.context,s),l=n.createElement("html2canvaspseudoelement");xf(s,l),a.content.forEach((function(t){if(0===t.type)l.appendChild(n.createTextNode(t.value));else if(22===t.type){var s=n.createElement("img");s.src=t.value,s.style.opacity="1",l.appendChild(s)}else if(18===t.type){if("attr"===t.name){var i=t.values.filter(lu);i.length&&l.appendChild(n.createTextNode(e.getAttribute(i[0].value)||""))}else if("counter"===t.name){var o=t.values.filter(Au),h=o[0],c=o[1];if(h&&lu(h)){var u=r.counters.getCounterValue(h.value),A=c&&lu(c)?zA.parse(r.context,c.value):3;l.appendChild(n.createTextNode(_f(u,A,!1)))}}else if("counters"===t.name){var p=t.values.filter(Au),d=(h=p[0],p[1]);c=p[2];if(h&&lu(h)){var f=r.counters.getCounterValues(h.value),m=c&&lu(c)?zA.parse(r.context,c.value):3,E=d&&0===d.type?d.value:"",y=f.map((function(e){return _f(e,m,!1)})).join(E);l.appendChild(n.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(n.createTextNode(xp(a.quotes,r.quoteDepth++,!0)));break;case"close-quote":l.appendChild(n.createTextNode(xp(a.quotes,--r.quoteDepth,!1)));break;default:l.appendChild(n.createTextNode(t.value))}})),l.className=Mf+" "+Lf;var h=i===qp.BEFORE?" "+Mf:" "+Lf;return Kd(t)?t.className.baseValue+=h:t.className+=h,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(qp||(qp={}));var Df,Nf=function(e,t){var s=e.createElement("iframe");return s.className="html2canvas-container",s.style.visibility="hidden",s.style.position="fixed",s.style.left="-10000px",s.style.top="0px",s.style.border="0",s.width=t.width.toString(),s.height=t.height.toString(),s.scrolling="no",s.setAttribute(Rf,"true"),e.body.appendChild(s),s},Cf=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},bf=function(e){return Promise.all([].slice.call(e.images,0).map(Cf))},Of=function(e){return new Promise((function(t,s){var i=e.contentWindow;if(!i)return s("No window assigned for iframe");var r=i.document;i.onload=e.onload=function(){i.onload=e.onload=null;var s=setInterval((function(){r.body.childNodes.length>0&&"complete"===r.readyState&&(clearInterval(s),t(e))}),50)}}))},Sf=["all","d","content"],xf=function(e,t){for(var s=e.length-1;s>=0;s--){var i=e.item(s);-1===Sf.indexOf(i)&&t.style.setProperty(i,e.getPropertyValue(i))}return t},wf=function(e){var t="";return e&&(t+=""),t},Bf=function(e,t,s){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||s!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,s)},Ff=function(e){var t=e[0],s=e[1],i=e[2];t.scrollLeft=s,t.scrollTop=i},Mf="___html2canvas___pseudoelement_before",Lf="___html2canvas___pseudoelement_after",Uf='{\n content: "" !important;\n display: none !important;\n}',Hf=function(e){Gf(e,"."+Mf+":before"+Uf+"\n ."+Lf+":after"+Uf)},Gf=function(e,t){var s=e.ownerDocument;if(s){var i=s.createElement("style");i.textContent=t,e.appendChild(i)}},kf=function(){function e(){}return e.getOrigin=function(t){var s=e._link;return s?(s.href=t,s.href=s.href,s.protocol+s.hostname+s.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Vf=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:Xf(e)||zf(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return vh(this,void 0,void 0,(function(){var t,s,i,r,o=this;return Ih(this,(function(n){switch(n.label){case 0:return t=kf.isSameOrigin(e),s=!Kf(e)&&!0===this._options.useCORS&&ud.SUPPORT_CORS_IMAGES&&!t,i=!Kf(e)&&!t&&!Xf(e)&&"string"==typeof this._options.proxy&&ud.SUPPORT_CORS_XHR&&!s,t||!1!==this._options.allowTaint||Kf(e)||Xf(e)||i||s?(r=e,i?[4,this.proxy(r)]:[3,2]):[2];case 1:r=n.sent(),n.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var i=new Image;i.onload=function(){return e(i)},i.onerror=t,(Yf(r)||s)&&(i.crossOrigin="anonymous"),i.src=r,!0===i.complete&&setTimeout((function(){return e(i)}),500),o._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+o._options.imageTimeout+"ms) loading image")}),o._options.imageTimeout)}))];case 3:return[2,n.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,s=this._options.proxy;if(!s)throw new Error("No proxy defined");var i=e.substring(0,256);return new Promise((function(r,o){var n=ud.SUPPORT_RESPONSE_TYPE?"blob":"text",a=new XMLHttpRequest;a.onload=function(){if(200===a.status)if("text"===n)r(a.response);else{var e=new FileReader;e.addEventListener("load",(function(){return r(e.result)}),!1),e.addEventListener("error",(function(e){return o(e)}),!1),e.readAsDataURL(a.response)}else o("Failed to proxy resource "+i+" with status code "+a.status)},a.onerror=o;var l=s.indexOf("?")>-1?"&":"?";if(a.open("GET",""+s+l+"url="+encodeURIComponent(e)+"&responseType="+n),"text"!==n&&a instanceof XMLHttpRequest&&(a.responseType=n),t._options.imageTimeout){var h=t._options.imageTimeout;a.timeout=h,a.ontimeout=function(){return o("Timed out ("+h+"ms) proxying "+i)}}a.send()}))},e}(),Qf=/^data:image\/svg\+xml/i,jf=/^data:image\/.*;base64,/i,Wf=/^data:image\/.*/i,zf=function(e){return ud.SUPPORT_SVG_DRAWING||!Zf(e)},Kf=function(e){return Wf.test(e)},Yf=function(e){return jf.test(e)},Xf=function(e){return"blob"===e.substr(0,4)},Zf=function(e){return"svg"===e.substr(-3).toLowerCase()||Qf.test(e)},qf=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,s){return new e(this.x+t,this.y+s)},e}(),Jf=function(e,t,s){return new qf(e.x+(t.x-e.x)*s,e.y+(t.y-e.y)*s)},$f=function(){function e(e,t,s,i){this.type=1,this.start=e,this.startControl=t,this.endControl=s,this.end=i}return e.prototype.subdivide=function(t,s){var i=Jf(this.start,this.startControl,t),r=Jf(this.startControl,this.endControl,t),o=Jf(this.endControl,this.end,t),n=Jf(i,r,t),a=Jf(r,o,t),l=Jf(n,a,t);return s?new e(this.start,i,n,l):new e(l,a,o,this.end)},e.prototype.add=function(t,s){return new e(this.start.add(t,s),this.startControl.add(t,s),this.endControl.add(t,s),this.end.add(t,s))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),em=function(e){return 1===e.type},tm=function(e){var t=e.styles,s=e.bounds,i=Iu(t.borderTopLeftRadius,s.width,s.height),r=i[0],o=i[1],n=Iu(t.borderTopRightRadius,s.width,s.height),a=n[0],l=n[1],h=Iu(t.borderBottomRightRadius,s.width,s.height),c=h[0],u=h[1],A=Iu(t.borderBottomLeftRadius,s.width,s.height),p=A[0],d=A[1],f=[];f.push((r+a)/s.width),f.push((p+c)/s.width),f.push((o+d)/s.height),f.push((l+u)/s.height);var m=Math.max.apply(Math,f);m>1&&(r/=m,o/=m,a/=m,l/=m,c/=m,u/=m,p/=m,d/=m);var E=s.width-a,y=s.height-u,g=s.width-c,v=s.height-d,I=t.borderTopWidth,T=t.borderRightWidth,_=t.borderBottomWidth,R=t.borderLeftWidth,P=Tu(t.paddingTop,e.bounds.width),D=Tu(t.paddingRight,e.bounds.width),N=Tu(t.paddingBottom,e.bounds.width),C=Tu(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||o>0?sm(s.left+R/3,s.top+I/3,r-R/3,o-I/3,Df.TOP_LEFT):new qf(s.left+R/3,s.top+I/3),this.topRightBorderDoubleOuterBox=r>0||o>0?sm(s.left+E,s.top+I/3,a-T/3,l-I/3,Df.TOP_RIGHT):new qf(s.left+s.width-T/3,s.top+I/3),this.bottomRightBorderDoubleOuterBox=c>0||u>0?sm(s.left+g,s.top+y,c-T/3,u-_/3,Df.BOTTOM_RIGHT):new qf(s.left+s.width-T/3,s.top+s.height-_/3),this.bottomLeftBorderDoubleOuterBox=p>0||d>0?sm(s.left+R/3,s.top+v,p-R/3,d-_/3,Df.BOTTOM_LEFT):new qf(s.left+R/3,s.top+s.height-_/3),this.topLeftBorderDoubleInnerBox=r>0||o>0?sm(s.left+2*R/3,s.top+2*I/3,r-2*R/3,o-2*I/3,Df.TOP_LEFT):new qf(s.left+2*R/3,s.top+2*I/3),this.topRightBorderDoubleInnerBox=r>0||o>0?sm(s.left+E,s.top+2*I/3,a-2*T/3,l-2*I/3,Df.TOP_RIGHT):new qf(s.left+s.width-2*T/3,s.top+2*I/3),this.bottomRightBorderDoubleInnerBox=c>0||u>0?sm(s.left+g,s.top+y,c-2*T/3,u-2*_/3,Df.BOTTOM_RIGHT):new qf(s.left+s.width-2*T/3,s.top+s.height-2*_/3),this.bottomLeftBorderDoubleInnerBox=p>0||d>0?sm(s.left+2*R/3,s.top+v,p-2*R/3,d-2*_/3,Df.BOTTOM_LEFT):new qf(s.left+2*R/3,s.top+s.height-2*_/3),this.topLeftBorderStroke=r>0||o>0?sm(s.left+R/2,s.top+I/2,r-R/2,o-I/2,Df.TOP_LEFT):new qf(s.left+R/2,s.top+I/2),this.topRightBorderStroke=r>0||o>0?sm(s.left+E,s.top+I/2,a-T/2,l-I/2,Df.TOP_RIGHT):new qf(s.left+s.width-T/2,s.top+I/2),this.bottomRightBorderStroke=c>0||u>0?sm(s.left+g,s.top+y,c-T/2,u-_/2,Df.BOTTOM_RIGHT):new qf(s.left+s.width-T/2,s.top+s.height-_/2),this.bottomLeftBorderStroke=p>0||d>0?sm(s.left+R/2,s.top+v,p-R/2,d-_/2,Df.BOTTOM_LEFT):new qf(s.left+R/2,s.top+s.height-_/2),this.topLeftBorderBox=r>0||o>0?sm(s.left,s.top,r,o,Df.TOP_LEFT):new qf(s.left,s.top),this.topRightBorderBox=a>0||l>0?sm(s.left+E,s.top,a,l,Df.TOP_RIGHT):new qf(s.left+s.width,s.top),this.bottomRightBorderBox=c>0||u>0?sm(s.left+g,s.top+y,c,u,Df.BOTTOM_RIGHT):new qf(s.left+s.width,s.top+s.height),this.bottomLeftBorderBox=p>0||d>0?sm(s.left,s.top+v,p,d,Df.BOTTOM_LEFT):new qf(s.left,s.top+s.height),this.topLeftPaddingBox=r>0||o>0?sm(s.left+R,s.top+I,Math.max(0,r-R),Math.max(0,o-I),Df.TOP_LEFT):new qf(s.left+R,s.top+I),this.topRightPaddingBox=a>0||l>0?sm(s.left+Math.min(E,s.width-T),s.top+I,E>s.width+T?0:Math.max(0,a-T),Math.max(0,l-I),Df.TOP_RIGHT):new qf(s.left+s.width-T,s.top+I),this.bottomRightPaddingBox=c>0||u>0?sm(s.left+Math.min(g,s.width-R),s.top+Math.min(y,s.height-_),Math.max(0,c-T),Math.max(0,u-_),Df.BOTTOM_RIGHT):new qf(s.left+s.width-T,s.top+s.height-_),this.bottomLeftPaddingBox=p>0||d>0?sm(s.left+R,s.top+Math.min(v,s.height-_),Math.max(0,p-R),Math.max(0,d-_),Df.BOTTOM_LEFT):new qf(s.left+R,s.top+s.height-_),this.topLeftContentBox=r>0||o>0?sm(s.left+R+C,s.top+I+P,Math.max(0,r-(R+C)),Math.max(0,o-(I+P)),Df.TOP_LEFT):new qf(s.left+R+C,s.top+I+P),this.topRightContentBox=a>0||l>0?sm(s.left+Math.min(E,s.width+R+C),s.top+I+P,E>s.width+R+C?0:a-R+C,l-(I+P),Df.TOP_RIGHT):new qf(s.left+s.width-(T+D),s.top+I+P),this.bottomRightContentBox=c>0||u>0?sm(s.left+Math.min(g,s.width-(R+C)),s.top+Math.min(y,s.height+I+P),Math.max(0,c-(T+D)),u-(_+N),Df.BOTTOM_RIGHT):new qf(s.left+s.width-(T+D),s.top+s.height-(_+N)),this.bottomLeftContentBox=p>0||d>0?sm(s.left+R+C,s.top+v,Math.max(0,p-(R+C)),d-(_+N),Df.BOTTOM_LEFT):new qf(s.left+R+C,s.top+s.height-(_+N))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Df||(Df={}));var sm=function(e,t,s,i,r){var o=(Math.sqrt(2)-1)/3*4,n=s*o,a=i*o,l=e+s,h=t+i;switch(r){case Df.TOP_LEFT:return new $f(new qf(e,h),new qf(e,h-a),new qf(l-n,t),new qf(l,t));case Df.TOP_RIGHT:return new $f(new qf(e,t),new qf(e+n,t),new qf(l,h-a),new qf(l,h));case Df.BOTTOM_RIGHT:return new $f(new qf(l,t),new qf(l,t+a),new qf(e+n,h),new qf(e,h));case Df.BOTTOM_LEFT:default:return new $f(new qf(l,h),new qf(l-n,h),new qf(e,t+a),new qf(e,t))}},im=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},rm=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},om=function(e,t,s){this.offsetX=e,this.offsetY=t,this.matrix=s,this.type=0,this.target=6},nm=function(e,t){this.path=e,this.target=t,this.type=1},am=function(e){this.opacity=e,this.type=2,this.target=6},lm=function(e){return 1===e.type},hm=function(e,t){return e.length===t.length&&e.some((function(e,s){return e===t[s]}))},cm=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},um=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new tm(this.container),this.container.styles.opacity<1&&this.effects.push(new am(this.container.styles.opacity)),null!==this.container.styles.transform){var s=this.container.bounds.left+this.container.styles.transformOrigin[0].number,i=this.container.bounds.top+this.container.styles.transformOrigin[1].number,r=this.container.styles.transform;this.effects.push(new om(s,i,r))}if(0!==this.container.styles.overflowX){var o=im(this.curves),n=rm(this.curves);hm(o,n)?this.effects.push(new nm(o,6)):(this.effects.push(new nm(o,2)),this.effects.push(new nm(n,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),s=this.parent,i=this.effects.slice(0);s;){var r=s.effects.filter((function(e){return!lm(e)}));if(t||0!==s.container.styles.position||!s.parent){if(i.unshift.apply(i,r),t=-1===[2,3].indexOf(s.container.styles.position),0!==s.container.styles.overflowX){var o=im(s.curves),n=rm(s.curves);hm(o,n)||i.unshift(new nm(n,6))}}else i.unshift.apply(i,r);s=s.parent}return i.filter((function(t){return Dp(t.target,e)}))},e}(),Am=function(e,t,s,i){e.container.elements.forEach((function(r){var o=Dp(r.flags,4),n=Dp(r.flags,2),a=new um(r,e);Dp(r.styles.display,2048)&&i.push(a);var l=Dp(r.flags,8)?[]:i;if(o||n){var h=o||r.styles.isPositioned()?s:t,c=new cm(a);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var u=r.styles.zIndex.order;if(u<0){var A=0;h.negativeZIndex.some((function(e,t){return u>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),h.negativeZIndex.splice(A,0,c)}else if(u>0){var p=0;h.positiveZIndex.some((function(e,t){return u>=e.element.container.styles.zIndex.order?(p=t+1,!1):p>0})),h.positiveZIndex.splice(p,0,c)}else h.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?h.nonPositionedFloats.push(c):h.nonPositionedInlineLevel.push(c);Am(a,c,o?c:s,l)}else r.styles.isInlineLevel()?t.inlineLevel.push(a):t.nonInlineLevel.push(a),Am(a,t,s,l);Dp(r.flags,8)&&pm(r,l)}))},pm=function(e,t){for(var s=e instanceof Nd?e.start:1,i=e instanceof Nd&&e.reversed,r=0;r0&&e.intrinsicHeight>0){var i=ym(e),r=rm(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(s,0,0,e.intrinsicWidth,e.intrinsicHeight,i.left,i.top,i.width,i.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return vh(this,void 0,void 0,(function(){var s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g;return Ih(this,(function(v){switch(v.label){case 0:this.applyEffects(e.getEffects(4)),s=e.container,i=e.curves,r=s.styles,o=0,n=s.textNodes,v.label=1;case 1:return o0&&_>0&&(E=i.ctx.createPattern(d,"repeat"),i.renderRepeat(g,E,P,D))):function(e){return 2===e.type}(s)&&(y=gm(e,t,[null,null,null]),g=y[0],v=y[1],I=y[2],T=y[3],_=y[4],R=0===s.position.length?[gu]:s.position,P=Tu(R[0],T),D=Tu(R[R.length-1],_),N=function(e,t,s,i,r){var o=0,n=0;switch(e.size){case 0:0===e.shape?o=n=Math.min(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.min(Math.abs(t),Math.abs(t-i)),n=Math.min(Math.abs(s),Math.abs(s-r)));break;case 2:if(0===e.shape)o=n=Math.min(Wu(t,s),Wu(t,s-r),Wu(t-i,s),Wu(t-i,s-r));else if(1===e.shape){var a=Math.min(Math.abs(s),Math.abs(s-r))/Math.min(Math.abs(t),Math.abs(t-i)),l=zu(i,r,t,s,!0),h=l[0],c=l[1];n=a*(o=Wu(h-t,(c-s)/a))}break;case 1:0===e.shape?o=n=Math.max(Math.abs(t),Math.abs(t-i),Math.abs(s),Math.abs(s-r)):1===e.shape&&(o=Math.max(Math.abs(t),Math.abs(t-i)),n=Math.max(Math.abs(s),Math.abs(s-r)));break;case 3:if(0===e.shape)o=n=Math.max(Wu(t,s),Wu(t,s-r),Wu(t-i,s),Wu(t-i,s-r));else if(1===e.shape){a=Math.max(Math.abs(s),Math.abs(s-r))/Math.max(Math.abs(t),Math.abs(t-i));var u=zu(i,r,t,s,!1);h=u[0],c=u[1],n=a*(o=Wu(h-t,(c-s)/a))}}return Array.isArray(e.size)&&(o=Tu(e.size[0],i),n=2===e.size.length?Tu(e.size[1],r):o),[o,n]}(s,P,D,T,_),C=N[0],b=N[1],C>0&&b>0&&(O=i.ctx.createRadialGradient(v+P,I+D,0,v+P,I+D,C),Qu(s.stops,2*C).forEach((function(e){return O.addColorStop(e.stop,Su(e.color))})),i.path(g),i.ctx.fillStyle=O,C!==b?(S=e.bounds.left+.5*e.bounds.width,x=e.bounds.top+.5*e.bounds.height,B=1/(w=b/C),i.ctx.save(),i.ctx.translate(S,x),i.ctx.transform(1,0,0,w,0,0),i.ctx.translate(-S,-x),i.ctx.fillRect(v,B*(I-x)+x,T,_*B),i.ctx.restore()):i.ctx.fill())),F.label=6;case 6:return t--,[2]}}))},i=this,r=0,o=e.styles.backgroundImage.slice(0).reverse(),a.label=1;case 1:return r0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,o,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,o,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,o,e.curves)];case 10:c.sent(),c.label=11;case 11:o++,c.label=12;case 12:return n++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,s,i,r){return vh(this,void 0,void 0,(function(){var o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v;return Ih(this,(function(I){return this.ctx.save(),o=function(e,t){switch(t){case 0:return fm(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return fm(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return fm(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return fm(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(i,s),n=dm(i,s),2===r&&(this.path(n),this.ctx.clip()),em(n[0])?(a=n[0].start.x,l=n[0].start.y):(a=n[0].x,l=n[0].y),em(n[1])?(h=n[1].end.x,c=n[1].end.y):(h=n[1].x,c=n[1].y),u=0===s||2===s?Math.abs(a-h):Math.abs(l-c),this.ctx.beginPath(),3===r?this.formatPath(o):this.formatPath(n.slice(0,2)),A=t<3?3*t:2*t,p=t<3?2*t:t,3===r&&(A=t,p=t),d=!0,u<=2*A?d=!1:u<=2*A+p?(A*=f=u/(2*A+p),p*=f):(m=Math.floor((u+p)/(A+p)),E=(u-m*A)/(m-1),p=(y=(u-(m+1)*A)/m)<=0||Math.abs(p-E){s=1e3*this._delayBeforeRestoreSeconds,i||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,i=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",r),this._onCameraMatrix=e.scene.camera.on("matrix",r),this._onSceneTick=e.scene.on("tick",(t=>{i&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),i=!1))}));let o=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{o=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{o=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{o&&r()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}Boolean("object"!=typeof process||"[object process]"!==String(process)||process.browser);const Qm="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function jm(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}Qm&&parseFloat(Qm[1]);const Wm="object"!=typeof process||"[object process]"!==String(process)||process.browser,zm="undefined"!=typeof window&&void 0!==window.orientation,Km="undefined"!=typeof process&&process.version&&/v([0-9]*)/.exec(process.version);function Ym(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Km&&parseFloat(Km[1]);class Xm{constructor(e,t){Ym(this,"name",void 0),Ym(this,"workerThread",void 0),Ym(this,"isRunning",!0),Ym(this,"result",void 0),Ym(this,"_resolve",(()=>{})),Ym(this,"_reject",(()=>{})),this.name=e,this.workerThread=t,this.result=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}postMessage(e,t){this.workerThread.postMessage({source:"loaders.gl",type:e,payload:t})}done(e){jm(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){jm(this.isRunning),this.isRunning=!1,this._reject(e)}}class Zm{}const qm=new Map;function Jm(e){jm(e.source&&!e.url||!e.source&&e.url);let t=qm.get(e.source||e.url);return t||(e.url&&(t=function(e){if(!e.startsWith("http"))return e;return $m((t=e,"try {\n importScripts('".concat(t,"');\n} catch (error) {\n console.error(error);\n throw error;\n}")));var t}(e.url),qm.set(e.url,t)),e.source&&(t=$m(e.source),qm.set(e.source,t))),jm(t),t}function $m(e){const t=new Blob([e],{type:"application/javascript"});return URL.createObjectURL(t)}function eE(e,t=!0,s){const i=s||new Set;if(e){if(tE(e))i.add(e);else if(tE(e.buffer))i.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"==typeof e)for(const s in e)eE(e[s],t,i)}else;return void 0===s?Array.from(i):[]}function tE(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}const sE=()=>{};class iE{static isSupported(){return"undefined"!=typeof Worker&&Wm||void 0!==typeof Zm}constructor(e){Ym(this,"name",void 0),Ym(this,"source",void 0),Ym(this,"url",void 0),Ym(this,"terminated",!1),Ym(this,"worker",void 0),Ym(this,"onMessage",void 0),Ym(this,"onError",void 0),Ym(this,"_loadableURL","");const{name:t,source:s,url:i}=e;jm(s||i),this.name=t,this.source=s,this.url=i,this.onMessage=sE,this.onError=e=>console.log(e),this.worker=Wm?this._createBrowserWorker():this._createNodeWorker()}destroy(){this.onMessage=sE,this.onError=sE,this.worker.terminate(),this.terminated=!0}get isRunning(){return Boolean(this.onMessage)}postMessage(e,t){t=t||eE(e),this.worker.postMessage(e,t)}_getErrorFromErrorEvent(e){let t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}_createBrowserWorker(){this._loadableURL=Jm({source:this.source,url:this.url});const e=new Worker(this._loadableURL,{name:this.name});return e.onmessage=e=>{e.data?this.onMessage(e.data):this.onError(new Error("No data received"))},e.onerror=e=>{this.onError(this._getErrorFromErrorEvent(e)),this.terminated=!0},e.onmessageerror=e=>console.error(e),e}_createNodeWorker(){let e;if(this.url){const t=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Zm(t,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Zm(this.source,{eval:!0})}return e.on("message",(e=>{this.onMessage(e)})),e.on("error",(e=>{this.onError(e)})),e.on("exit",(e=>{})),e}}class rE{static isSupported(){return iE.isSupported()}constructor(e){Ym(this,"name","unnamed"),Ym(this,"source",void 0),Ym(this,"url",void 0),Ym(this,"maxConcurrency",1),Ym(this,"maxMobileConcurrency",1),Ym(this,"onDebug",(()=>{})),Ym(this,"reuseWorkers",!0),Ym(this,"props",{}),Ym(this,"jobQueue",[]),Ym(this,"idleQueue",[]),Ym(this,"count",0),Ym(this,"isDestroyed",!1),this.source=e.source,this.url=e.url,this.setProps(e)}destroy(){this.idleQueue.forEach((e=>e.destroy())),this.isDestroyed=!0}setProps(e){this.props={...this.props,...e},void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}async startJob(e,t=((e,t,s)=>e.done(s)),s=((e,t)=>e.error(t))){const i=new Promise((i=>(this.jobQueue.push({name:e,onMessage:t,onError:s,onStart:i}),this)));return this._startQueuedJob(),await i}async _startQueuedJob(){if(!this.jobQueue.length)return;const e=this._getAvailableWorker();if(!e)return;const t=this.jobQueue.shift();if(t){this.onDebug({message:"Starting job",name:t.name,workerThread:e,backlog:this.jobQueue.length});const s=new Xm(t.name,e);e.onMessage=e=>t.onMessage(s,e.type,e.payload),e.onError=e=>t.onError(s,e),t.onStart(s);try{await s.result}finally{this.returnWorkerToQueue(e)}}}returnWorkerToQueue(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}_getAvailableWorker(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count{}};class nE{static isSupported(){return iE.isSupported()}static getWorkerFarm(e={}){return nE._workerFarm=nE._workerFarm||new nE({}),nE._workerFarm.setProps(e),nE._workerFarm}constructor(e){Ym(this,"props",void 0),Ym(this,"workerPools",new Map),this.props={...oE},this.setProps(e),this.workerPools=new Map}destroy(){for(const e of this.workerPools.values())e.destroy();this.workerPools=new Map}setProps(e){this.props={...this.props,...e};for(const e of this.workerPools.values())e.setProps(this._getWorkerPoolProps())}getWorkerPool(e){const{name:t,source:s,url:i}=e;let r=this.workerPools.get(t);return r||(r=new rE({name:t,source:s,url:i}),r.setProps(this._getWorkerPoolProps()),this.workerPools.set(t,r)),r}_getWorkerPoolProps(){return{maxConcurrency:this.props.maxConcurrency,maxMobileConcurrency:this.props.maxMobileConcurrency,reuseWorkers:this.props.reuseWorkers,onDebug:this.props.onDebug}}}Ym(nE,"_workerFarm",void 0);const aE={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},lE=aE.window||aE.self||aE.global,hE=aE.process||{},cE="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source",uE=!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}();class AE{constructor(e,t,s="sessionStorage"){this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function pE(e,t,s,i=600){const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}const dE={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function fE(e){return"string"==typeof e?dE[e.toUpperCase()]||dE.WHITE:e}function mE(e,t){if(!e)throw new Error(t||"Assertion failed")}function EE(){let e;if(uE&&lE.performance)e=lE.performance.now();else if(hE.hrtime){const t=hE.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}const yE={debug:uE&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},gE={enabled:!0,level:0};function vE(){}const IE={},TE={once:!0};function _E(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}class RE{constructor({id:e}={id:""}){this.id=e,this.VERSION=cE,this._startTs=EE(),this._deltaTs=EE(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new AE("__probe-".concat(this.id,"__"),gE),this.userData={},this.timeStamp("".concat(this.id," started")),function(e,t=["constructor"]){const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((EE()-this._startTs).toPrecision(10))}getDelta(){return Number((EE()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}assert(e,t){mE(e,t)}warn(e){return this._getLogFunction(0,e,yE.warn,arguments,TE)}error(e){return this._getLogFunction(0,e,yE.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,yE.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,yE.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){return this._getLogFunction(e,t,yE.debug||yE.info,arguments,TE)}table(e,t,s){return t?this._getLogFunction(e,t,console.table||vE,s&&[s],{tag:_E(t)}):vE}image({logLevel:e,priority:t,image:s,message:i="",scale:r=1}){return this._shouldLog(e||t)?uE?function({image:e,message:t="",scale:s=1}){if("string"==typeof e){const i=new Image;return i.onload=()=>{const e=pE(i,t,s);console.log(...e)},i.src=e,vE}const i=e.nodeName||"";if("img"===i.toLowerCase())return console.log(...pE(e,t,s)),vE;if("canvas"===i.toLowerCase()){const i=new Image;return i.onload=()=>console.log(...pE(i,t,s)),i.src=e.toDataURL(),vE}return vE}({image:s,message:i,scale:r}):function({image:e,message:t="",scale:s=1}){let i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return()=>i(e,{fit:"box",width:"".concat(Math.round(80*s),"%")}).then((e=>console.log(e)));return vE}({image:s,message:i,scale:r}):vE}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||vE)}group(e,t,s={collapsed:!1}){s=DE({logLevel:e,message:t,opts:s});const{collapsed:i}=s;return s.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(s)}groupCollapsed(e,t,s={}){return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||vE)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=PE(e)}_getLogFunction(e,t,s,i=[],r){if(this._shouldLog(e)){r=DE({logLevel:e,message:t,args:i,opts:r}),mE(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=EE();const o=r.tag||r.message;if(r.once){if(IE[o])return vE;IE[o]=EE()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e,t=8){const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return uE||"string"!=typeof e||(t&&(t=fE(t),e="[".concat(t,"m").concat(e,"")),s&&(t=fE(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return vE}}function PE(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return mE(Number.isFinite(t)&&t>=0),t}function DE(e){const{logLevel:t,message:s}=e;e.logLevel=PE(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(e.args=i,typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return mE("string"===r||"object"===r),Object.assign(e,e.opts)}RE.VERSION=cE,new RE({id:"loaders.gl"});function NE(){return!("object"==typeof process&&"[object process]"===String(process)&&!process.browser)||function(e){if("undefined"!=typeof window&&"object"==typeof window.process&&"renderer"===window.process.type)return!0;if("undefined"!=typeof process&&"object"==typeof process.versions&&Boolean(process.versions.electron))return!0;const t="object"==typeof navigator&&"string"==typeof navigator.userAgent&&navigator.userAgent,s=e||t;return!!(s&&s.indexOf("Electron")>=0)}()}new class{constructor(){Ym(this,"console",void 0),this.console=console}log(...e){return this.console.log.bind(this.console,...e)}info(...e){return this.console.info.bind(this.console,...e)}warn(...e){return this.console.warn.bind(this.console,...e)}error(...e){return this.console.error.bind(this.console,...e)}};const CE={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"==typeof process&&process},bE=CE.window||CE.self||CE.global,OE=CE.process||{},SE="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";NE();class xE{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Ym(this,"storage",void 0),Ym(this,"id",void 0),Ym(this,"config",{}),this.storage=function(e){try{const t=window[e],s="__storage_test__";return t.setItem(s,s),t.removeItem(s),t}catch(e){return null}}(s),this.id=e,this.config={},Object.assign(this.config,t),this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){return this.config={},this.updateConfiguration(e)}updateConfiguration(e){if(Object.assign(this.config,e),this.storage){const e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}return this}_loadConfiguration(){let e={};if(this.storage){const t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}function wE(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600;const r=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>i&&(s=Math.min(s,i/e.width));const o=e.width*s,n=e.height*s,a=["font-size:1px;","padding:".concat(Math.floor(n/2),"px ").concat(Math.floor(o/2),"px;"),"line-height:".concat(n,"px;"),"background:url(".concat(r,");"),"background-size:".concat(o,"px ").concat(n,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),a]}let BE;function FE(e){return"string"==typeof e?BE[e.toUpperCase()]||BE.WHITE:e}function ME(e,t){if(!e)throw new Error(t||"Assertion failed")}function LE(){let e;var t,s;if(NE&&"performance"in bE)e=null==bE||null===(t=bE.performance)||void 0===t||null===(s=t.now)||void 0===s?void 0:s.call(t);else if("hrtime"in OE){var i;const t=null==OE||null===(i=OE.hrtime)||void 0===i?void 0:i.call(OE);e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(BE||(BE={}));const UE={debug:NE&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},HE={enabled:!0,level:0};function GE(){}const kE={},VE={once:!0};class QE{constructor(){let{id:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""};Ym(this,"id",void 0),Ym(this,"VERSION",SE),Ym(this,"_startTs",LE()),Ym(this,"_deltaTs",LE()),Ym(this,"_storage",void 0),Ym(this,"userData",{}),Ym(this,"LOG_THROTTLE_TIMEOUT",0),this.id=e,this._storage=new xE("__probe-".concat(this.id,"__"),HE),this.userData={},this.timeStamp("".concat(this.id," started")),function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"];const s=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(s);for(const s of i)"function"==typeof e[s]&&(t.find((e=>s===e))||(e[s]=e[s].bind(e)))}(this),Object.seal(this)}set level(e){this.setLevel(e)}get level(){return this.getLevel()}isEnabled(){return this._storage.config.enabled}getLevel(){return this._storage.config.level}getTotal(){return Number((LE()-this._startTs).toPrecision(10))}getDelta(){return Number((LE()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}setLevel(e){return this._storage.updateConfiguration({level:e}),this}get(e){return this._storage.config[e]}set(e,t){this._storage.updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){ME(e,t)}warn(e){return this._getLogFunction(0,e,UE.warn,arguments,VE)}error(e){return this._getLogFunction(0,e,UE.error,arguments)}deprecated(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}removed(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}probe(e,t){return this._getLogFunction(e,t,UE.log,arguments,{time:!0,once:!0})}log(e,t){return this._getLogFunction(e,t,UE.debug,arguments)}info(e,t){return this._getLogFunction(e,t,console.info,arguments)}once(e,t){for(var s=arguments.length,i=new Array(s>2?s-2:0),r=2;r{const t=wE(e,s,i);console.log(...t)},e.src=t,GE}const r=t.nodeName||"";if("img"===r.toLowerCase())return console.log(...wE(t,s,i)),GE;if("canvas"===r.toLowerCase()){const e=new Image;return e.onload=()=>console.log(...wE(e,s,i)),e.src=t.toDataURL(),GE}return GE}({image:i,message:r,scale:o}):function(e){let{image:t,message:s="",scale:i=1}=e,r=null;try{r=module.require("asciify-image")}catch(e){}if(r)return()=>r(t,{fit:"box",width:"".concat(Math.round(80*i),"%")}).then((e=>console.log(e)));return GE}({image:i,message:r,scale:o}):GE}time(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}timeEnd(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}timeStamp(e,t){return this._getLogFunction(e,t,console.timeStamp||GE)}group(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1};const i=WE({logLevel:e,message:t,opts:s}),{collapsed:r}=s;return i.method=(r?console.groupCollapsed:console.group)||console.info,this._getLogFunction(i)}groupCollapsed(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},s,{collapsed:!0}))}groupEnd(e){return this._getLogFunction(e,"",console.groupEnd||GE)}withGroup(e,t,s){this.group(e,t)();try{s()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&this.getLevel()>=jE(e)}_getLogFunction(e,t,s,i,r){if(this._shouldLog(e)){r=WE({logLevel:e,message:t,args:i,opts:r}),ME(s=s||r.method),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=LE();const o=r.tag||r.message;if(r.once){if(kE[o])return GE;kE[o]=LE()}return t=function(e,t,s){if("string"==typeof t){const i=s.time?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;const s=Math.max(t-e.length,0);return"".concat(" ".repeat(s)).concat(e)}(function(e){let t;return t=e<10?"".concat(e.toFixed(2),"ms"):e<100?"".concat(e.toFixed(1),"ms"):e<1e3?"".concat(e.toFixed(0),"ms"):"".concat((e/1e3).toFixed(2),"s"),t}(s.total)):"";t=s.time?"".concat(e,": ").concat(i," ").concat(t):"".concat(e,": ").concat(t),t=function(e,t,s){return NE||"string"!=typeof e||(t&&(t=FE(t),e="[".concat(t,"m").concat(e,"")),s&&(t=FE(s),e="[".concat(s+10,"m").concat(e,""))),e}(t,s.color,s.background)}return t}(this.id,r.message,r),s.bind(console,t,...r.args)}return GE}}function jE(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return ME(Number.isFinite(t)&&t>=0),t}function WE(e){const{logLevel:t,message:s}=e;e.logLevel=jE(t);const i=e.args?Array.from(e.args):[];for(;i.length&&i.shift()!==s;);switch(typeof t){case"string":case"function":void 0!==s&&i.unshift(s),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());const r=typeof e.message;return ME("string"===r||"object"===r),Object.assign(e,{args:i},e.opts)}function zE(e){for(const t in e)for(const s in e[t])return s||"untitled";return"empty"}var KE,YE,XE,ZE,qE,JE,$E,ey,ty;let sy;Ym(QE,"VERSION",SE),new QE({id:"loaders.gl"}),(ty=KE||(KE={}))[ty.NONE=0]="NONE",ty[ty.BASISLZ=1]="BASISLZ",ty[ty.ZSTD=2]="ZSTD",ty[ty.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(YE||(YE={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(XE||(XE={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(ZE||(ZE={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(qE||(qE={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(JE||(JE={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}($E||($E={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(ey||(ey={})),function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(sy||(sy={}));const iy={DEFAULT:{}};function ry(e,t,s={}){const i="lightgrey",r=s.hoverColor||"rgba(0,0,0,0.4)",o=500,n=o+o/3,a=n/24,l=[{boundary:[6,6,6,6],color:s.frontColor||s.color||"#55FF55"},{boundary:[18,6,6,6],color:s.backColor||s.color||"#55FF55"},{boundary:[12,6,6,6],color:s.leftColor||s.color||"#FF5555"},{boundary:[0,6,6,6],color:s.rightColor||s.color||"#FF5555"},{boundary:[6,0,6,6],color:s.topColor||s.color||"#7777FF"},{boundary:[6,12,6,6],color:s.bottomColor||s.color||"#7777FF"}],h=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];s.frontColor||s.color,s.backColor||s.color,s.leftColor||s.color,s.rightColor||s.color,s.topColor||s.color,s.bottomColor||s.color;const c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}];for(let e=0,t=h.length;e=r[0]*a&&t<=(r[0]+r[2])*a&&s>=r[1]*a&&s<=(r[1]+r[3])*a)return i}}return-1},this.setAreaHighlighted=function(e,t){var s=u[e];if(!s)throw"Area not found: "+e;s.highlighted=!!t,f()},this.getAreaDir=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=u[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}const oy=p.vec3(),ny=p.vec3();p.mat4();class ay extends a{constructor(e,t={}){super("NavCube",e,t),e.navCube=this;try{this._navCubeScene=new Xt(e,{canvasId:t.canvasId,canvasElement:t.canvasElement,transparent:!0}),this._navCubeCanvas=this._navCubeScene.canvas.canvas,this._navCubeScene.input.keyboardEnabled=!1}catch(e){return void this.error(e)}const s=this._navCubeScene;s.clearLights(),new Xe(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Xe(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Xe(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._navCubeCamera=s.camera,this._navCubeCamera.ortho.scale=7,this._navCubeCamera.ortho.near=.1,this._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,this._zUp=Boolean(e.camera.zUp);var i=this;this.setIsProjectNorth(t.isProjectNorth),this.setProjectNorthOffsetAngle(t.projectNorthOffsetAngle);const r=function(){const e=p.mat4();return function(t,s,r){return p.identityMat4(e),p.rotationMat4v(t*i._projectNorthOffsetAngle*p.DEGTORAD,[0,1,0],e),p.transformVec3(e,s,r)}}();this._synchCamera=function(){var t=p.rotationMat4c(-90*p.DEGTORAD,1,0,0),s=p.vec3(),o=p.vec3(),n=p.vec3();return function(){var a=e.camera.eye,l=e.camera.look,h=e.camera.up;s=p.mulVec3Scalar(p.normalizeVec3(p.subVec3(a,l,s)),5),i._isProjectNorth&&i._projectNorthOffsetAngle&&(s=r(-1,s,oy),h=r(-1,h,ny)),i._zUp?(p.transformVec3(t,s,o),p.transformVec3(t,h,n),i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=p.transformVec3(t,s,o),i._navCubeCamera.up=p.transformPoint3(t,h,n)):(i._navCubeCamera.look=[0,0,0],i._navCubeCamera.eye=s,i._navCubeCamera.up=h)}}(),this._cubeTextureCanvas=new ry(e,s,t),this._cubeSampler=new xi(s,{image:this._cubeTextureCanvas.getImage(),flipY:!0,wrapS:qt,wrapT:qt}),this._cubeMesh=new hi(s,{geometry:new lt(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new pt(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:this._cubeSampler,emissiveMap:this._cubeSampler}),visible:!0,edges:!0}),this._shadow=!1===t.shadowVisible?null:new hi(s,{geometry:new lt(s,ui({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new pt(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!0,pickable:!1,backfaces:!1}),this._onCameraMatrix=e.camera.on("matrix",this._synchCamera),this._onCameraWorldAxis=e.camera.on("worldAxis",(()=>{e.camera.zUp?(this._zUp=!0,this._cubeTextureCanvas.setZUp(),this._repaint(),this._synchCamera()):e.camera.yUp&&(this._zUp=!1,this._cubeTextureCanvas.setYUp(),this._repaint(),this._synchCamera())})),this._onCameraFOV=e.camera.perspective.on("fov",(e=>{this._synchProjection&&(this._navCubeCamera.perspective.fov=e)})),this._onCameraProjection=e.camera.on("projection",(e=>{this._synchProjection&&(this._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var o=-1;function n(e){var t=[0,0];if(e){for(var s=e.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;t[0]=e.pageX-i,t[1]=e.pageY-r}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var a,l,h=null,c=null,u=!1,A=!1,d=.5;i._navCubeCanvas.addEventListener("mouseenter",i._onMouseEnter=function(e){A=!0}),i._navCubeCanvas.addEventListener("mouseleave",i._onMouseLeave=function(e){A=!1}),i._navCubeCanvas.addEventListener("mousedown",i._onMouseDown=function(e){if(1===e.which){h=e.x,c=e.y,a=e.clientX,l=e.clientY;var t=n(e),i=s.pick({canvasPos:t});u=!!i}}),document.addEventListener("mouseup",i._onMouseUp=function(e){if(1===e.which&&(u=!1,null!==h)){var t=n(e),a=s.pick({canvasPos:t,pickSurface:!0});if(a&&a.uv){var l=i._cubeTextureCanvas.getArea(a.uv);if(l>=0&&(document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0)){if(i._cubeTextureCanvas.setAreaHighlighted(l,!0),o=l,i._repaint(),e.xh+3||e.yc+3)return;var A=i._cubeTextureCanvas.getAreaDir(l);if(A){var p=i._cubeTextureCanvas.getAreaUp(l);i._isProjectNorth&&i._projectNorthOffsetAngle&&(A=r(1,A,oy),p=r(1,p,ny)),f(A,p,(function(){o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),document.body.style.cursor="pointer",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),l>=0&&(i._cubeTextureCanvas.setAreaHighlighted(l,!1),o=-1,i._repaint())}))}}}}}),document.addEventListener("mousemove",i._onMouseMove=function(t){if(o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1),1!==t.buttons||u){if(u){var r=t.clientX,h=t.clientY;return document.body.style.cursor="move",void function(t,s){var i=(t-a)*-d,r=(s-l)*-d;e.camera.orbitYaw(i),e.camera.orbitPitch(-r),a=t,l=s}(r,h)}if(A){var c=n(t),p=s.pick({canvasPos:c,pickSurface:!0});if(p){if(p.uv){document.body.style.cursor="pointer";var f=i._cubeTextureCanvas.getArea(p.uv);if(f===o)return;o>=0&&i._cubeTextureCanvas.setAreaHighlighted(o,!1),f>=0&&(i._cubeTextureCanvas.setAreaHighlighted(f,!0),i._repaint(),o=f)}}else document.body.style.cursor="default",o>=0&&(i._cubeTextureCanvas.setAreaHighlighted(o,!1),i._repaint(),o=-1)}}});var f=function(){var t=p.vec3();return function(s,r,o){var n=i._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,a=p.getAABB3Diag(n);p.getAABB3Center(n,t);var l=Math.abs(a/Math.tan(i._cameraFitFOV*p.DEGTORAD));e.cameraControl.pivotPos=t,i._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV,duration:i._cameraFlyDuration},o):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*s[0],t[1]-l*s[1],t[2]-l*s[2]],up:r||[0,1,0],orthoScale:1.1*a,fitFOV:i._cameraFitFOV},o)}}();this._onUpdated=e.localeService.on("updated",(()=>{this._cubeTextureCanvas.clear(),this._repaint()})),this.setVisible(t.visible),this.setCameraFitFOV(t.cameraFitFOV),this.setCameraFly(t.cameraFly),this.setCameraFlyDuration(t.cameraFlyDuration),this.setFitVisible(t.fitVisible),this.setSynchProjection(t.synchProjection)}send(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}_repaint(){const e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}setVisible(e=!0){this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}getVisible(){return!!this._navCubeCanvas&&this._cubeMesh.visible}setFitVisible(e=!1){this._fitVisible=e}getFitVisible(){return this._fitVisible}setCameraFly(e=!0){this._cameraFly=e}getCameraFly(){return this._cameraFly}setCameraFitFOV(e=45){this._cameraFitFOV=e}getCameraFitFOV(){return this._cameraFitFOV}setCameraFlyDuration(e=.5){this._cameraFlyDuration=e}getCameraFlyDuration(){return this._cameraFlyDuration}setSynchProjection(e=!1){this._synchProjection=e}getSynchProjection(){return this._synchProjection}setIsProjectNorth(e=!1){this._isProjectNorth=e}getIsProjectNorth(){return this._isProjectNorth}setProjectNorthOffsetAngle(e){this._projectNorthOffsetAngle=e}getProjectNorthOffsetAngle(){return this._projectNorthOffsetAngle}destroy(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,super.destroy()}}p.vec3();const ly=new Float64Array([0,0,1]),hy=new Float64Array(4);class cy{constructor(e){this.id=null,this._viewer=e.viewer,this._visible=!1,this._pos=p.vec3(),this._origin=p.vec3(),this._rtcPos=p.vec3(),this._baseDir=p.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}_setSectionPlane(e){this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(()=>{this._setPos(this._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(()=>{this._ignoreNextSectionPlaneDirUpdate?this._ignoreNextSectionPlaneDirUpdate=!1:this._setDir(this._sectionPlane.dir)})))}get sectionPlane(){return this._sectionPlane}_setPos(e){this._pos.set(e),function(e,t,s){const i=Float32Array.from([e[0]])[0],r=e[0]-i,o=Float32Array.from([e[1]])[0],n=e[1]-o,a=Float32Array.from([e[2]])[0],l=e[2]-a;t[0]=i,t[1]=o,t[2]=a,s[0]=r,s[1]=n,s[2]=l}(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}_setDir(e){this._baseDir.set(e),this._rootNode.quaternion=p.vec3PairToQuaternion(ly,e,hy)}_setSectionPlaneDir(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}setVisible(e=!0){if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}getVisible(){return this._visible}setCulled(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}_createNodes(){const e=!1,t=this._viewer.scene,s=.01;this._rootNode=new _i(t,{position:[0,0,0],scale:[5,5,5]});const i=this._rootNode,r={arrowHead:new lt(i,ui({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new lt(i,ui({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new lt(i,ui({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new lt(i,Ui({radius:.8,tube:s,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new lt(i,Ui({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new lt(i,Ui({radius:.8,tube:s,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new lt(i,ui({radiusTop:s,radiusBottom:s,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new lt(i,ui({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new pt(i,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new pt(i,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new ft(i,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new pt(i,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new ft(i,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new pt(i,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new ft(i,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new pt(i,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new ft(i,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new ft(i,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:i.addChild(new hi(i,{geometry:new lt(i,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new pt(i,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new ft(i,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:i.addChild(new hi(i,{geometry:new lt(i,Ui({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new pt(i,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new ft(i,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:i.addChild(new hi(i,{geometry:r.curve,material:o.red,matrix:function(){const e=p.rotationMat4v(90*p.DEGTORAD,[0,1,0],p.identityMat4()),t=p.rotationMat4v(270*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:i.addChild(new hi(i,{geometry:r.curveHandle,material:o.pickable,matrix:function(){const e=p.rotationMat4v(90*p.DEGTORAD,[0,1,0],p.identityMat4()),t=p.rotationMat4v(270*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=p.translateMat4c(0,-.07,-.8,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(0*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=p.translateMat4c(0,-.8,-.07,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:i.addChild(new hi(i,{geometry:r.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:i.addChild(new hi(i,{geometry:r.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=p.translateMat4c(.07,0,-.8,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=p.translateMat4c(.8,0,-.07,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:i.addChild(new hi(i,{geometry:r.curve,material:o.blue,matrix:p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:i.addChild(new hi(i,{geometry:r.curveHandle,material:o.pickable,matrix:p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=p.translateMat4c(.8,-.07,0,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4());return p.mulMat4(e,t,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=p.translateMat4c(.05,-.8,0,p.identityMat4()),t=p.scaleMat4v([.6,.6,.6],p.identityMat4()),s=p.rotationMat4v(90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(p.mulMat4(e,t,p.identityMat4()),s,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:i.addChild(new hi(i,{geometry:new lt(i,Ai({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.red,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:i.addChild(new hi(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:i.addChild(new hi(i,{geometry:r.axis,material:o.red,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:i.addChild(new hi(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.green,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:i.addChild(new hi(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:i.addChild(new hi(i,{geometry:r.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:i.addChild(new hi(i,{geometry:r.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHead,material:o.blue,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[.8,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:i.addChild(new hi(i,{geometry:r.arrowHeadHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[.8,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:i.addChild(new hi(i,{geometry:r.axis,material:o.blue,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:i.addChild(new hi(i,{geometry:r.axisHandle,material:o.pickable,matrix:function(){const e=p.translateMat4c(0,.5,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:i.addChild(new hi(i,{geometry:new lt(i,Ui({center:[0,0,0],radius:2,tube:s,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new pt(i,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new ft(i,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:i.addChild(new hi(i,{geometry:r.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){const e=p.rotationMat4v(90*p.DEGTORAD,[0,1,0],p.identityMat4()),t=p.rotationMat4v(270*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:i.addChild(new hi(i,{geometry:r.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:i.addChild(new hi(i,{geometry:r.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHeadBig,material:o.red,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[0,0,1],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHeadBig,material:o.green,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(180*p.DEGTORAD,[1,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:i.addChild(new hi(i,{geometry:r.arrowHeadBig,material:o.blue,matrix:function(){const e=p.translateMat4c(0,1.1,0,p.identityMat4()),t=p.rotationMat4v(-90*p.DEGTORAD,[.8,0,0],p.identityMat4());return p.mulMat4(t,e,p.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}_bindEvents(){const e=this;var t=!1;const s=-1,i=0,r=1,o=2,n=3,a=4,l=5,h=this._rootNode;var c=null,u=null;const A=p.vec2(),d=p.vec3([1,0,0]),f=p.vec3([0,1,0]),m=p.vec3([0,0,1]),E=this._viewer.scene.canvas.canvas,y=this._viewer.camera,g=this._viewer.scene;{const e=p.vec3([0,0,0]);let t=-1;this._onCameraViewMatrix=g.camera.on("viewMatrix",(()=>{})),this._onCameraProjMatrix=g.camera.on("projMatrix",(()=>{})),this._onSceneTick=g.on("tick",(()=>{const s=Math.abs(p.lenVec3(p.subVec3(g.camera.eye,this._pos,e)));if(s!==t&&"perspective"===y.projection){const e=.07*(Math.tan(y.perspective.fov*p.DEGTORAD)*s);h.scale=[e,e,e],t=s}if("ortho"===y.projection){const e=y.ortho.scale/10;h.scale=[e,e,e],t=s}}))}const v=function(){const e=new Float64Array(2);return function(t){if(t){for(var s=t.target,i=0,r=0;s.offsetParent;)i+=s.offsetLeft,r+=s.offsetTop,s=s.offsetParent;e[0]=t.pageX-i,e[1]=t.pageY-r}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),I=function(){const t=p.mat4();return function(s,i){return p.quaternionToMat4(e._rootNode.quaternion,t),p.transformVec3(t,s,i),p.normalizeVec3(i),i}}();var T=function(){const e=p.vec3();return function(t){const s=Math.abs(t[0]);return s>Math.abs(t[1])&&s>Math.abs(t[2])?p.cross3Vec3(t,[0,1,0],e):p.cross3Vec3(t,[1,0,0],e),p.cross3Vec3(e,t,e),p.normalizeVec3(e),e}}();const _=function(){const t=p.vec3(),s=p.vec3(),i=p.vec4();return function(r,o,n){I(r,i);const a=T(i,o,n);P(o,a,t),P(n,a,s),p.subVec3(s,t);const l=p.dotVec3(s,i);e._pos[0]+=i[0]*l,e._pos[1]+=i[1]*l,e._pos[2]+=i[2]*l,e._rootNode.position=e._pos,e._sectionPlane&&(e._sectionPlane.pos=e._pos)}}();var R=function(){const t=p.vec4(),s=p.vec4(),i=p.vec4(),r=p.vec4();return function(o,n,a){I(o,r);if(!(P(n,r,t)&&P(a,r,s))){const e=T(r,n,a);P(n,e,t,1),P(a,e,s,1);var l=p.dotVec3(t,r);t[0]-=l*r[0],t[1]-=l*r[1],t[2]-=l*r[2],l=p.dotVec3(s,r),s[0]-=l*r[0],s[1]-=l*r[1],s[2]-=l*r[2]}p.normalizeVec3(t),p.normalizeVec3(s),l=p.dotVec3(t,s),l=p.clamp(l,-1,1);var h=Math.acos(l)*p.RADTODEG;p.cross3Vec3(t,s,i),p.dotVec3(i,r)<0&&(h=-h),e._rootNode.rotate(o,h),D()}}(),P=function(){const t=p.vec4([0,0,0,1]),s=p.mat4();return function(i,r,o,n){n=n||0,t[0]=i[0]/E.width*2-1,t[1]=-(i[1]/E.height*2-1),t[2]=0,t[3]=1,p.mulMat4(y.projMatrix,y.viewMatrix,s),p.inverseMat4(s),p.transformVec4(s,t,t),p.mulVec4Scalar(t,1/t[3]);var a=y.eye;p.subVec4(t,a,t);const l=e._sectionPlane.pos;var h=-p.dotVec3(l,r)-n,c=p.dotVec3(r,t);if(Math.abs(c)>.005){var u=-(p.dotVec3(r,a)+h)/c;return p.mulVec3Scalar(t,u,o),p.addVec3(o,a),p.subVec3(o,l,o),!0}return!1}}();const D=function(){const t=p.vec3(),s=p.mat4();return function(){e.sectionPlane&&(p.quaternionToMat4(h.quaternion,s),p.transformVec3(s,[0,0,1],t),e._setSectionPlaneDir(t))}}();var N,C=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(e=>{if(!this._visible)return;if(C)return;var h;t=!1,N&&(N.visible=!1);switch(e.entity.id){case this._displayMeshes.xAxisArrowHandle.id:case this._displayMeshes.xAxisHandle.id:h=this._affordanceMeshes.xAxisArrow,c=i;break;case this._displayMeshes.yAxisArrowHandle.id:case this._displayMeshes.yShaftHandle.id:h=this._affordanceMeshes.yAxisArrow,c=r;break;case this._displayMeshes.zAxisArrowHandle.id:case this._displayMeshes.zAxisHandle.id:h=this._affordanceMeshes.zAxisArrow,c=o;break;case this._displayMeshes.xCurveHandle.id:h=this._affordanceMeshes.xHoop,c=n;break;case this._displayMeshes.yCurveHandle.id:h=this._affordanceMeshes.yHoop,c=a;break;case this._displayMeshes.zCurveHandle.id:h=this._affordanceMeshes.zHoop,c=l;break;default:return void(c=s)}h&&(h.visible=!0),N=h,t=!0})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(e=>{this._visible&&(N&&(N.visible=!1),N=null,c=s)})),E.addEventListener("mousedown",this._canvasMouseDownListener=e=>{if(e.preventDefault(),this._visible&&t&&(this._viewer.cameraControl.pointerEnabled=!1,1===e.which)){C=!0;var s=v(e);u=c,A[0]=s[0],A[1]=s[1]}}),E.addEventListener("mousemove",this._canvasMouseMoveListener=e=>{if(!this._visible)return;if(!C)return;var t=v(e);const s=t[0],h=t[1];switch(u){case i:_(d,A,t);break;case r:_(f,A,t);break;case o:_(m,A,t);break;case n:R(d,A,t);break;case a:R(f,A,t);break;case l:R(m,A,t)}A[0]=s,A[1]=h}),E.addEventListener("mouseup",this._canvasMouseUpListener=e=>{this._visible&&(this._viewer.cameraControl.pointerEnabled=!0,C&&(e.which,C=!1,t=!1))}),E.addEventListener("wheel",this._canvasWheelListener=e=>{if(this._visible)Math.max(-1,Math.min(1,40*-e.deltaY))})}_destroy(){this._unbindEvents(),this._destroyNodes()}_unbindEvents(){const e=this._viewer,t=e.scene,s=t.canvas.canvas,i=e.camera,r=e.cameraControl;t.off(this._onSceneTick),s.removeEventListener("mousedown",this._canvasMouseDownListener),s.removeEventListener("mousemove",this._canvasMouseMoveListener),s.removeEventListener("mouseup",this._canvasMouseUpListener),s.removeEventListener("wheel",this._canvasWheelListener),i.off(this._onCameraViewMatrix),i.off(this._onCameraProjMatrix),r.off(this._onCameraControlHover),r.off(this._onCameraControlHoverLeave)}_destroyNodes(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}class uy{constructor(e,t,s){this.id=s.id,this._sectionPlane=s,this._mesh=new hi(t,{id:s.id,geometry:new lt(t,ht({xSize:.5,ySize:.5,zSize:.001})),material:new pt(t,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Et(t,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new ft(t,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new ft(t,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});{const e=p.vec3([0,0,0]),t=p.vec3(),s=p.vec3([0,0,1]),i=p.vec4(4),r=p.vec3(),o=()=>{const o=this._sectionPlane.scene.center,n=[-this._sectionPlane.dir[0],-this._sectionPlane.dir[1],-this._sectionPlane.dir[2]];p.subVec3(o,this._sectionPlane.pos,e);const a=-p.dotVec3(n,e);p.normalizeVec3(n),p.mulVec3Scalar(n,a,t);const l=p.vec3PairToQuaternion(s,this._sectionPlane.dir,i);r[0]=.1*t[0],r[1]=.1*t[1],r[2]=.1*t[2],this._mesh.quaternion=l,this._mesh.position=r};this._onSectionPlanePos=this._sectionPlane.on("pos",o),this._onSectionPlaneDir=this._sectionPlane.on("dir",o)}this._highlighted=!1,this._selected=!1}setHighlighted(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}getHighlighted(){return this._highlighted}setSelected(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}getSelected(){return this._selected}destroy(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}class Ay{constructor(e,t){if(!(t.onHoverEnterPlane&&t.onHoverLeavePlane&&t.onClickedNothing&&t.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=e,this._viewer=e.viewer,this._onHoverEnterPlane=t.onHoverEnterPlane,this._onHoverLeavePlane=t.onHoverLeavePlane,this._onClickedNothing=t.onClickedNothing,this._onClickedPlane=t.onClickedPlane,this._visible=!0,this._planes={},this._canvas=t.overviewCanvas,this._scene=new Xt(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new Xe(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new Xe(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new Xe(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;{const e=this._scene.camera,t=p.rotationMat4c(-90*p.DEGTORAD,1,0,0),s=p.vec3(),i=p.vec3(),r=p.vec3();this._synchCamera=()=>{const o=this._viewer.camera.eye,n=this._viewer.camera.look,a=this._viewer.camera.up;p.mulVec3Scalar(p.normalizeVec3(p.subVec3(o,n,s)),7),this._zUp?(p.transformVec3(t,s,i),p.transformVec3(t,a,r),e.look=[0,0,0],e.eye=p.transformVec3(t,s,i),e.up=p.transformPoint3(t,a,r)):(e.look=[0,0,0],e.eye=s,e.up=a)}}this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(e=>{this._scene.camera.perspective.fov=e}));var s=null;this._onInputMouseMove=this._scene.input.on("mousemove",(e=>{const t=this._scene.pick({canvasPos:e});if(t){if(!s||t.entity.id!==s.id){if(s){this._planes[s.id]&&this._onHoverLeavePlane(s.id)}s=t.entity;this._planes[s.id]&&this._onHoverEnterPlane(s.id)}}else s&&(this._onHoverLeavePlane(s.id),s=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=()=>{if(s){this._planes[s.id]&&this._onClickedPlane(s.id)}else this._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=()=>{s&&(this._onHoverLeavePlane(s.id),s=null)}),this.setVisible(t.overviewVisible)}addSectionPlane(e){this._planes[e.id]=new uy(this,this._scene,e)}setPlaneHighlighted(e,t){const s=this._planes[e];s&&s.setHighlighted(t)}setPlaneSelected(e,t){const s=this._planes[e];s&&s.setSelected(t)}removeSectionPlane(e){const t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}setVisible(e=!0){this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}getVisible(){return this._visible}destroy(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}const py=p.AABB3(),dy=p.vec3();class fy extends a{constructor(e,t={}){if(super("SectionPlanes",e),this._freeControls=[],this._sectionPlanes=e.scene.sectionPlanes,this._controls={},this._shownControlId=null,null!==t.overviewCanvasId&&void 0!==t.overviewCanvasId){const e=document.getElementById(t.overviewCanvasId);e?this._overview=new Ay(this,{overviewCanvas:e,visible:t.overviewVisible,onHoverEnterPlane:e=>{this._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:e=>{this._overview.setPlaneHighlighted(e,!1)},onClickedPlane:e=>{if(this.getShownControl()===e)return void this.hideControl();this.showControl(e);const t=this.sectionPlanes[e].pos;py.set(this.viewer.scene.aabb),p.getAABB3Center(py,dy),py[0]+=t[0]-dy[0],py[1]+=t[1]-dy[1],py[2]+=t[2]-dy[2],py[3]+=t[0]-dy[0],py[4]+=t[1]-dy[1],py[5]+=t[2]-dy[2],this.viewer.cameraFlight.flyTo({aabb:py,fitFOV:65})},onClickedNothing:()=>{this.hideControl()}}):this.warn("Can't find overview canvas: '"+t.overviewCanvasId+"' - will create plugin without overview")}this._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(e=>{this._sectionPlaneCreated(e)}))}setOverviewVisible(e){this._overview&&this._overview.setVisible(e)}getOverviewVisible(){if(this._overview)return this._overview.getVisible()}get sectionPlanes(){return this._sectionPlanes}createSectionPlane(e={}){void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);return new pi(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0})}_sectionPlaneCreated(e){const t=this._freeControls.length>0?this._freeControls.pop():new cy(this);t._setSectionPlane(e),t.setVisible(!1),this._controls[e.id]=t,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(()=>{this._sectionPlaneDestroyed(e)}))}flipSectionPlanes(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].flipDir()}}showControl(e){const t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}getShownControl(){return this._shownControlId}hideControl(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}destroySectionPlane(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}_sectionPlaneDestroyed(e){this._overview&&this._overview.removeSectionPlane(e);const t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}clear(){const e=Object.keys(this._sectionPlanes);for(var t=0,s=e.length;t{e.preventDefault()},this._onObjectVisibility=this._viewer.scene.on("objectVisibility",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;const i=e.visible;if(!(i!==s.checked))return;this._muteTreeEvents=!0,s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;const r=document.getElementById(`checkbox-${s.nodeId}`);r&&(r.checked=i);let o=s.parent;for(;o;){o.checked=i,i?o.numVisibleEntities++:o.numVisibleEntities--;const e=document.getElementById(`checkbox-${o.nodeId}`);if(e){const t=o.numVisibleEntities>0;t!==e.checked&&(e.checked=t)}o=o.parent}this._muteTreeEvents=!1})),this._onObjectXrayed=this._viewer.scene.on("objectXRayed",(e=>{if(this._muteSceneEvents)return;const t=e.id,s=this._objectNodes[t];if(!s)return;this._muteTreeEvents=!0;const i=e.xrayed;if(!(i!==s.xrayed))return;s.xrayed=i;const r=s.nodeId,o=document.getElementById(r);null!==o&&(i?o.classList.add("xrayed-node"):o.classList.remove("xrayed-node")),this._muteTreeEvents=!1})),this._switchExpandHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._expandSwitchElement(t)},this._switchCollapseHandler=e=>{e.preventDefault(),e.stopPropagation();const t=e.target;this._collapseSwitchElement(t)},this._checkboxChangeHandler=e=>{if(this._muteTreeEvents)return;this._muteSceneEvents=!0;const t=e.target,s=t.checked,i=t.id.replace("checkbox-",""),r=this._nodeNodes[i],o=this._viewer.scene.objects;let n=0;this._withNodeTree(r,(e=>{const t=e.objectId,i=`checkbox-${e.nodeId}`,r=o[t],a=0===e.children.length;e.numVisibleEntities=s?e.numEntities:0,a&&s!==e.checked&&n++,e.checked=s;const l=document.getElementById(i);l&&(l.checked=s),r&&(r.visible=s)}));let a=r.parent;for(;a;){a.checked=s;const e=document.getElementById(`checkbox-${a.nodeId}`);s?a.numVisibleEntities+=n:a.numVisibleEntities-=n;const t=a.numVisibleEntities>0;t!==e.checked&&(e.checked=t),a=a.parent}this._muteSceneEvents=!1},this._hierarchy=t.hierarchy||"containment",this._autoExpandDepth=t.autoExpandDepth||0,this._autoAddModels){const e=Object.keys(this.viewer.metaScene.metaModels);for(let t=0,s=e.length;t{this.viewer.metaScene.metaModels[e]&&this.addModel(e)}))}this.hierarchy=t.hierarchy}else this.error("Config expected: containerElement")}set hierarchy(e){"containment"!==(e=e||"containment")&&"storeys"!==e&&"types"!==e&&(this.error("Unsupported value for `hierarchy' - defaulting to 'containment'"),e="containment"),this._hierarchy!==e&&(this._hierarchy=e,this._createNodes())}get hierarchy(){return this._hierarchy}addModel(e,t={}){if(!this._containerElement)return;const s=this.viewer.scene.models[e];if(!s)throw"Model not found: "+e;const i=this.viewer.metaScene.metaModels[e];i?this._metaModels[e]?this.warn("Model already added: "+e):(this._metaModels[e]=i,s.on("destroyed",(()=>{this.removeModel(s.id)})),this._createNodes()):this.error("MetaModel not found: "+e)}removeModel(e){if(!this._containerElement)return;this._metaModels[e]&&(delete this._metaModels[e],this._createNodes())}showNode(e){this._showListItemElementId&&this.unShowNode();const t=this._objectNodes[e];if(!t)return;const s=t.nodeId,i="switch-"+s,r=document.getElementById(i);if(r)return this._expandSwitchElement(r),void r.scrollIntoView();const o=[];o.unshift(t);let n=t.parent;for(;n;)o.unshift(n),n=n.parent;for(let e=0,t=o.length;e{if(i===e)return;const r="switch-"+s.nodeId,o=document.getElementById(r);if(o){this._expandSwitchElement(o);const e=s.children;for(var n=0,a=e.length;n0;return this.valid}_validateMetaModelForStoreysHierarchy(e=0,t,s){return!0}_createEnabledNodes(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}_createDisabledNodes(){const e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);const t=this._viewer.metaScene.rootMetaObjects;for(let s in t){const i=t[s],r=i.type,o=i.name,n=o&&""!==o&&"Undefined"!==o&&"Default"!==o?o:r,a=document.createElement("li");e.appendChild(a);const l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),a.appendChild(l);const h=document.createElement("span");h.textContent=n,a.appendChild(h)}}_findEmptyNodes(){const e=this._viewer.metaScene.rootMetaObjects;for(let t in e)this._findEmptyNodes2(e[t])}_findEmptyNodes2(e,t=0){const s=this.viewer.scene,i=e.children,r=e.id,o=s.objects[r];if(e._countEntities=0,o&&e._countEntities++,i)for(let t=0,s=i.length;t{e.aabb&&r.aabb||(e.aabb||(e.aabb=t.getAABB(i.getObjectIDsInSubtree(e.objectId))),r.aabb||(r.aabb=t.getAABB(i.getObjectIDsInSubtree(r.objectId))));let o=0;return o=s.xUp?0:s.yUp?1:2,e.aabb[o]>r.aabb[o]?-1:e.aabb[o]i?1:0}_synchNodesToEntities(){const e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,s=this._viewer.scene.objects;for(let i=0,r=e.length;ithis._createNodeElement(e))),t=document.createElement("ul");e.forEach((e=>{t.appendChild(e)})),this._containerElement.appendChild(t),this._rootElement=t}_createNodeElement(e){const t=document.createElement("li"),s=e.nodeId;if(e.xrayed&&t.classList.add("xrayed-node"),t.id=s,e.children.length>0){const e="switch-"+s,i=document.createElement("a");i.href="#",i.id=e,i.textContent="+",i.classList.add("plus"),i.addEventListener("click",this._switchExpandHandler),t.appendChild(i)}const i=document.createElement("input");i.id=`checkbox-${s}`,i.type="checkbox",i.checked=e.checked,i.style["pointer-events"]="all",i.addEventListener("change",this._checkboxChangeHandler),t.appendChild(i);const r=document.createElement("span");return r.textContent=e.title,t.appendChild(r),r.oncontextmenu=t=>{this.fire("contextmenu",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},r.onclick=t=>{this.fire("nodeTitleClicked",{event:t,viewer:this._viewer,treeViewPlugin:this,treeViewNode:e}),t.preventDefault()},t}_expandSwitchElement(e){const t=e.parentElement;if(t.getElementsByTagName("li")[0])return;const s=t.id,i=this._nodeNodes[s].children.map((e=>this._createNodeElement(e))),r=document.createElement("ul");i.forEach((e=>{r.appendChild(e)})),t.appendChild(r),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}_collapseNode(e){const t="switch-"+e,s=document.getElementById(t);this._collapseSwitchElement(s)}_collapseSwitchElement(e){if(!e)return;const t=e.parentElement;if(!t)return;const s=t.querySelector("ul");s&&(t.removeChild(s),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}class yy{constructor(){}getManifest(e,t,s){y.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getMetaModel(e,t,s){y.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getXKT(e,t,s){var i=()=>{};t=t||i,s=s||i;const r=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(r){const e=!!r[2];var o=r[3];o=window.decodeURIComponent(o),e&&(o=window.atob(o));try{const e=new ArrayBuffer(o.length),s=new Uint8Array(e);for(var n=0;n=0;)e[t]=0}const s=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),i=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),r=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),o=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),n=new Array(576);t(n);const a=new Array(60);t(a);const l=new Array(512);t(l);const h=new Array(256);t(h);const c=new Array(29);t(c);const u=new Array(30);function A(e,t,s,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=s,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}let p,d,f;function m(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(u);const E=e=>e<256?l[e]:l[256+(e>>>7)],y=(e,t)=>{e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},g=(e,t,s)=>{e.bi_valid>16-s?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=s-16):(e.bi_buf|=t<{g(e,s[2*t],s[2*t+1])},I=(e,t)=>{let s=0;do{s|=1&e,e>>>=1,s<<=1}while(--t>0);return s>>>1},T=(e,t,s)=>{const i=new Array(16);let r,o,n=0;for(r=1;r<=15;r++)n=n+s[r-1]<<1,i[r]=n;for(o=0;o<=t;o++){let t=e[2*o+1];0!==t&&(e[2*o]=I(i[t]++,t))}},_=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},R=e=>{e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=(e,t,s,i)=>{const r=2*t,o=2*s;return e[r]{const i=e.heap[s];let r=s<<1;for(;r<=e.heap_len&&(r{let o,n,a,l,A=0;if(0!==e.sym_next)do{o=255&e.pending_buf[e.sym_buf+A++],o+=(255&e.pending_buf[e.sym_buf+A++])<<8,n=e.pending_buf[e.sym_buf+A++],0===o?v(e,n,t):(a=h[n],v(e,a+256+1,t),l=s[a],0!==l&&(n-=c[a],g(e,n,l)),o--,a=E(o),v(e,a,r),l=i[a],0!==l&&(o-=u[a],g(e,o,l)))}while(A{const s=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,o=t.stat_desc.elems;let n,a,l,h=-1;for(e.heap_len=0,e.heap_max=573,n=0;n>1;n>=1;n--)D(e,s,n);l=o;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],D(e,s,1),a=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=a,s[2*l]=s[2*n]+s[2*a],e.depth[l]=(e.depth[n]>=e.depth[a]?e.depth[n]:e.depth[a])+1,s[2*n+1]=s[2*a+1]=l,e.heap[1]=l++,D(e,s,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],((e,t)=>{const s=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,o=t.stat_desc.has_stree,n=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,l=t.stat_desc.max_length;let h,c,u,A,p,d,f=0;for(A=0;A<=15;A++)e.bl_count[A]=0;for(s[2*e.heap[e.heap_max]+1]=0,h=e.heap_max+1;h<573;h++)c=e.heap[h],A=s[2*s[2*c+1]+1]+1,A>l&&(A=l,f++),s[2*c+1]=A,c>i||(e.bl_count[A]++,p=0,c>=a&&(p=n[c-a]),d=s[2*c],e.opt_len+=d*(A+p),o&&(e.static_len+=d*(r[2*c+1]+p)));if(0!==f){do{for(A=l-1;0===e.bl_count[A];)A--;e.bl_count[A]--,e.bl_count[A+1]+=2,e.bl_count[l]--,f-=2}while(f>0);for(A=l;0!==A;A--)for(c=e.bl_count[A];0!==c;)u=e.heap[--h],u>i||(s[2*u+1]!==A&&(e.opt_len+=(A-s[2*u+1])*s[2*u],s[2*u+1]=A),c--)}})(e,t),T(s,h,e.bl_count)},b=(e,t,s)=>{let i,r,o=-1,n=t[1],a=0,l=7,h=4;for(0===n&&(l=138,h=3),t[2*(s+1)+1]=65535,i=0;i<=s;i++)r=n,n=t[2*(i+1)+1],++a{let i,r,o=-1,n=t[1],a=0,l=7,h=4;for(0===n&&(l=138,h=3),i=0;i<=s;i++)if(r=n,n=t[2*(i+1)+1],!(++a{g(e,0+(i?1:0),3),R(e),y(e,s),y(e,~s),s&&e.pending_buf.set(e.window.subarray(t,t+s),e.pending),e.pending+=s};var w={_tr_init:e=>{S||((()=>{let e,t,o,m,E;const y=new Array(16);for(o=0,m=0;m<28;m++)for(c[m]=o,e=0;e<1<>=7;m<30;m++)for(u[m]=E<<7,e=0;e<1<{let r,l,h=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=(e=>{let t,s=4093624447;for(t=0;t<=31;t++,s>>>=1)if(1&s&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0})(e)),C(e,e.l_desc),C(e,e.d_desc),h=(e=>{let t;for(b(e,e.dyn_ltree,e.l_desc.max_code),b(e,e.dyn_dtree,e.d_desc.max_code),C(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*o[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(e),r=e.opt_len+3+7>>>3,l=e.static_len+3+7>>>3,l<=r&&(r=l)):r=l=s+5,s+4<=r&&-1!==t?x(e,t,s,i):4===e.strategy||l===r?(g(e,2+(i?1:0),3),N(e,n,a)):(g(e,4+(i?1:0),3),((e,t,s,i)=>{let r;for(g(e,t-257,5),g(e,s-1,5),g(e,i-4,4),r=0;r(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=s,0===t?e.dyn_ltree[2*s]++:(e.matches++,t--,e.dyn_ltree[2*(h[s]+256+1)]++,e.dyn_dtree[2*E(t)]++),e.sym_next===e.sym_end),_tr_align:e=>{g(e,2,3),v(e,256,n),(e=>{16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)})(e)}},B=(e,t,s,i)=>{let r=65535&e|0,o=e>>>16&65535|0,n=0;for(;0!==s;){n=s>2e3?2e3:s,s-=n;do{r=r+t[i++]|0,o=o+r|0}while(--n);r%=65521,o%=65521}return r|o<<16|0};const F=new Uint32Array((()=>{let e,t=[];for(var s=0;s<256;s++){e=s;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[s]=e}return t})());var M=(e,t,s,i)=>{const r=F,o=i+s;e^=-1;for(let s=i;s>>8^r[255&(e^t[s])];return-1^e},L={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},U={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:H,_tr_stored_block:G,_tr_flush_block:k,_tr_tally:V,_tr_align:Q}=w,{Z_NO_FLUSH:j,Z_PARTIAL_FLUSH:W,Z_FULL_FLUSH:z,Z_FINISH:K,Z_BLOCK:Y,Z_OK:X,Z_STREAM_END:Z,Z_STREAM_ERROR:q,Z_DATA_ERROR:J,Z_BUF_ERROR:$,Z_DEFAULT_COMPRESSION:ee,Z_FILTERED:te,Z_HUFFMAN_ONLY:se,Z_RLE:ie,Z_FIXED:re,Z_DEFAULT_STRATEGY:oe,Z_UNKNOWN:ne,Z_DEFLATED:ae}=U,le=258,he=262,ce=42,ue=113,Ae=666,pe=(e,t)=>(e.msg=L[t],t),de=e=>2*e-(e>4?9:0),fe=e=>{let t=e.length;for(;--t>=0;)e[t]=0},me=e=>{let t,s,i,r=e.w_size;t=e.hash_size,i=t;do{s=e.head[--i],e.head[i]=s>=r?s-r:0}while(--t);t=r,i=t;do{s=e.prev[--i],e.prev[i]=s>=r?s-r:0}while(--t)};let Ee=(e,t,s)=>(t<{const t=e.state;let s=t.pending;s>e.avail_out&&(s=e.avail_out),0!==s&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+s),e.next_out),e.next_out+=s,t.pending_out+=s,e.total_out+=s,e.avail_out-=s,t.pending-=s,0===t.pending&&(t.pending_out=0))},ge=(e,t)=>{k(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ye(e.strm)},ve=(e,t)=>{e.pending_buf[e.pending++]=t},Ie=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Te=(e,t,s,i)=>{let r=e.avail_in;return r>i&&(r=i),0===r?0:(e.avail_in-=r,t.set(e.input.subarray(e.next_in,e.next_in+r),s),1===e.state.wrap?e.adler=B(e.adler,t,r,s):2===e.state.wrap&&(e.adler=M(e.adler,t,r,s)),e.next_in+=r,e.total_in+=r,r)},_e=(e,t)=>{let s,i,r=e.max_chain_length,o=e.strstart,n=e.prev_length,a=e.nice_match;const l=e.strstart>e.w_size-he?e.strstart-(e.w_size-he):0,h=e.window,c=e.w_mask,u=e.prev,A=e.strstart+le;let p=h[o+n-1],d=h[o+n];e.prev_length>=e.good_match&&(r>>=2),a>e.lookahead&&(a=e.lookahead);do{if(s=t,h[s+n]===d&&h[s+n-1]===p&&h[s]===h[o]&&h[++s]===h[o+1]){o+=2,s++;do{}while(h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&h[++o]===h[++s]&&on){if(e.match_start=t,n=i,i>=a)break;p=h[o+n-1],d=h[o+n]}}}while((t=u[t&c])>l&&0!=--r);return n<=e.lookahead?n:e.lookahead},Re=e=>{const t=e.w_size;let s,i,r;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-he)&&(e.window.set(e.window.subarray(t,t+t-i),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),me(e),i+=t),0===e.strm.avail_in)break;if(s=Te(e.strm,e.window,e.strstart+e.lookahead,i),e.lookahead+=s,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=Ee(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=Ee(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead{let s,i,r,o=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,n=0,a=e.strm.avail_in;do{if(s=65535,r=e.bi_valid+42>>3,e.strm.avail_outi+e.strm.avail_in&&(s=i+e.strm.avail_in),s>r&&(s=r),s>8,e.pending_buf[e.pending-2]=~s,e.pending_buf[e.pending-1]=~s>>8,ye(e.strm),i&&(i>s&&(i=s),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,s-=i),s&&(Te(e.strm,e.strm.output,e.strm.next_out,s),e.strm.next_out+=s,e.strm.avail_out-=s,e.strm.total_out+=s)}while(0===n);return a-=e.strm.avail_in,a&&(a>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=a&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-a,e.strm.next_in),e.strstart),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.block_start=e.strstart),e.high_waterr&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,r+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),r>e.strm.avail_in&&(r=e.strm.avail_in),r&&(Te(e.strm,e.window,e.strstart,r),e.strstart+=r,e.insert+=r>e.w_size-e.insert?e.w_size-e.insert:r),e.high_water>3,r=e.pending_buf_size-r>65535?65535:e.pending_buf_size-r,o=r>e.w_size?e.w_size:r,i=e.strstart-e.block_start,(i>=o||(i||t===K)&&t!==j&&0===e.strm.avail_in&&i<=r)&&(s=i>r?r:i,n=t===K&&0===e.strm.avail_in&&s===i?1:0,G(e,e.block_start,s,n),e.block_start+=s,ye(e.strm)),n?3:1)},De=(e,t)=>{let s,i;for(;;){if(e.lookahead=3&&(e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==s&&e.strstart-s<=e.w_size-he&&(e.match_length=_e(e,s)),e.match_length>=3)if(i=V(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+1]);else i=V(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ge(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2},Ne=(e,t)=>{let s,i,r;for(;;){if(e.lookahead=3&&(e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==s&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,i=V(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=Ee(e,e.ins_h,e.window[e.strstart+3-1]),s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,i&&(ge(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if(i=V(e,0,e.window[e.strstart-1]),i&&ge(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=V(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2};function Ce(e,t,s,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=s,this.max_chain=i,this.func=r}const be=[new Ce(0,0,0,0,Pe),new Ce(4,4,8,4,De),new Ce(4,5,16,8,De),new Ce(4,6,32,32,De),new Ce(4,4,16,16,Ne),new Ce(8,16,32,32,Ne),new Ce(8,16,128,128,Ne),new Ce(8,32,128,256,Ne),new Ce(32,128,258,1024,Ne),new Ce(32,258,258,4096,Ne)];function Oe(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ae,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),fe(this.dyn_ltree),fe(this.dyn_dtree),fe(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),fe(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),fe(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Se=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.status!==ce&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==ue&&t.status!==Ae?1:0},xe=e=>{if(Se(e))return pe(e,q);e.total_in=e.total_out=0,e.data_type=ne;const t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?ce:ue,e.adler=2===t.wrap?0:1,t.last_flush=-2,H(t),X},we=e=>{const t=xe(e);var s;return t===X&&((s=e.state).window_size=2*s.w_size,fe(s.head),s.max_lazy_match=be[s.level].max_lazy,s.good_match=be[s.level].good_length,s.nice_match=be[s.level].nice_length,s.max_chain_length=be[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=2,s.match_available=0,s.ins_h=0),t},Be=(e,t,s,i,r,o)=>{if(!e)return q;let n=1;if(t===ee&&(t=6),i<0?(n=0,i=-i):i>15&&(n=2,i-=16),r<1||r>9||s!==ae||i<8||i>15||t<0||t>9||o<0||o>re||8===i&&1!==n)return pe(e,q);8===i&&(i=9);const a=new Oe;return e.state=a,a.strm=e,a.status=ce,a.wrap=n,a.gzhead=null,a.w_bits=i,a.w_size=1<Se(e)||2!==e.state.wrap?q:(e.state.gzhead=t,X),Le=(e,t)=>{if(Se(e)||t>Y||t<0)return e?pe(e,q):q;const s=e.state;if(!e.output||0!==e.avail_in&&!e.input||s.status===Ae&&t!==K)return pe(e,0===e.avail_out?$:q);const i=s.last_flush;if(s.last_flush=t,0!==s.pending){if(ye(e),0===e.avail_out)return s.last_flush=-1,X}else if(0===e.avail_in&&de(t)<=de(i)&&t!==K)return pe(e,$);if(s.status===Ae&&0!==e.avail_in)return pe(e,$);if(s.status===ce&&0===s.wrap&&(s.status=ue),s.status===ce){let t=ae+(s.w_bits-8<<4)<<8,i=-1;if(i=s.strategy>=se||s.level<2?0:s.level<6?1:6===s.level?2:3,t|=i<<6,0!==s.strstart&&(t|=32),t+=31-t%31,Ie(s,t),0!==s.strstart&&(Ie(s,e.adler>>>16),Ie(s,65535&e.adler)),e.adler=1,s.status=ue,ye(e),0!==s.pending)return s.last_flush=-1,X}if(57===s.status)if(e.adler=0,ve(s,31),ve(s,139),ve(s,8),s.gzhead)ve(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),ve(s,255&s.gzhead.time),ve(s,s.gzhead.time>>8&255),ve(s,s.gzhead.time>>16&255),ve(s,s.gzhead.time>>24&255),ve(s,9===s.level?2:s.strategy>=se||s.level<2?4:0),ve(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(ve(s,255&s.gzhead.extra.length),ve(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(e.adler=M(e.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=69;else if(ve(s,0),ve(s,0),ve(s,0),ve(s,0),ve(s,0),ve(s,9===s.level?2:s.strategy>=se||s.level<2?4:0),ve(s,3),s.status=ue,ye(e),0!==s.pending)return s.last_flush=-1,X;if(69===s.status){if(s.gzhead.extra){let t=s.pending,i=(65535&s.gzhead.extra.length)-s.gzindex;for(;s.pending+i>s.pending_buf_size;){let r=s.pending_buf_size-s.pending;if(s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex,s.gzindex+r),s.pending),s.pending=s.pending_buf_size,s.gzhead.hcrc&&s.pending>t&&(e.adler=M(e.adler,s.pending_buf,s.pending-t,t)),s.gzindex+=r,ye(e),0!==s.pending)return s.last_flush=-1,X;t=0,i-=r}let r=new Uint8Array(s.gzhead.extra);s.pending_buf.set(r.subarray(s.gzindex,s.gzindex+i),s.pending),s.pending+=i,s.gzhead.hcrc&&s.pending>t&&(e.adler=M(e.adler,s.pending_buf,s.pending-t,t)),s.gzindex=0}s.status=73}if(73===s.status){if(s.gzhead.name){let t,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i)),ye(e),0!==s.pending)return s.last_flush=-1,X;i=0}t=s.gzindexi&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i)),s.gzindex=0}s.status=91}if(91===s.status){if(s.gzhead.comment){let t,i=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>i&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i)),ye(e),0!==s.pending)return s.last_flush=-1,X;i=0}t=s.gzindexi&&(e.adler=M(e.adler,s.pending_buf,s.pending-i,i))}s.status=103}if(103===s.status){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size&&(ye(e),0!==s.pending))return s.last_flush=-1,X;ve(s,255&e.adler),ve(s,e.adler>>8&255),e.adler=0}if(s.status=ue,ye(e),0!==s.pending)return s.last_flush=-1,X}if(0!==e.avail_in||0!==s.lookahead||t!==j&&s.status!==Ae){let i=0===s.level?Pe(s,t):s.strategy===se?((e,t)=>{let s;for(;;){if(0===e.lookahead&&(Re(e),0===e.lookahead)){if(t===j)return 1;break}if(e.match_length=0,s=V(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,s&&(ge(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2})(s,t):s.strategy===ie?((e,t)=>{let s,i,r,o;const n=e.window;for(;;){if(e.lookahead<=le){if(Re(e),e.lookahead<=le&&t===j)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=e.strstart-1,i=n[r],i===n[++r]&&i===n[++r]&&i===n[++r])){o=e.strstart+le;do{}while(i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&i===n[++r]&&re.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(s=V(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(s=V(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),s&&(ge(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===K?(ge(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(ge(e,!1),0===e.strm.avail_out)?1:2})(s,t):be[s.level].func(s,t);if(3!==i&&4!==i||(s.status=Ae),1===i||3===i)return 0===e.avail_out&&(s.last_flush=-1),X;if(2===i&&(t===W?Q(s):t!==Y&&(G(s,0,0,!1),t===z&&(fe(s.head),0===s.lookahead&&(s.strstart=0,s.block_start=0,s.insert=0))),ye(e),0===e.avail_out))return s.last_flush=-1,X}return t!==K?X:s.wrap<=0?Z:(2===s.wrap?(ve(s,255&e.adler),ve(s,e.adler>>8&255),ve(s,e.adler>>16&255),ve(s,e.adler>>24&255),ve(s,255&e.total_in),ve(s,e.total_in>>8&255),ve(s,e.total_in>>16&255),ve(s,e.total_in>>24&255)):(Ie(s,e.adler>>>16),Ie(s,65535&e.adler)),ye(e),s.wrap>0&&(s.wrap=-s.wrap),0!==s.pending?X:Z)},Ue=e=>{if(Se(e))return q;const t=e.state.status;return e.state=null,t===ue?pe(e,J):X},He=(e,t)=>{let s=t.length;if(Se(e))return q;const i=e.state,r=i.wrap;if(2===r||1===r&&i.status!==ce||i.lookahead)return q;if(1===r&&(e.adler=B(e.adler,t,s,0)),i.wrap=0,s>=i.w_size){0===r&&(fe(i.head),i.strstart=0,i.block_start=0,i.insert=0);let e=new Uint8Array(i.w_size);e.set(t.subarray(s-i.w_size,s),0),t=e,s=i.w_size}const o=e.avail_in,n=e.next_in,a=e.input;for(e.avail_in=s,e.next_in=0,e.input=t,Re(i);i.lookahead>=3;){let e=i.strstart,t=i.lookahead-2;do{i.ins_h=Ee(i,i.ins_h,i.window[e+3-1]),i.prev[e&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=e,e++}while(--t);i.strstart=e,i.lookahead=2,Re(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,e.next_in=n,e.input=a,e.avail_in=o,i.wrap=r,X};const Ge=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var ke=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const s=t.shift();if(s){if("object"!=typeof s)throw new TypeError(s+"must be non-object");for(const t in s)Ge(s,t)&&(e[t]=s[t])}}return e},Ve=e=>{let t=0;for(let s=0,i=e.length;s=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;je[254]=je[254]=1;var We=e=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);let t,s,i,r,o,n=e.length,a=0;for(r=0;r>>6,t[o++]=128|63&s):s<65536?(t[o++]=224|s>>>12,t[o++]=128|s>>>6&63,t[o++]=128|63&s):(t[o++]=240|s>>>18,t[o++]=128|s>>>12&63,t[o++]=128|s>>>6&63,t[o++]=128|63&s);return t},ze=(e,t)=>{const s=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));let i,r;const o=new Array(2*s);for(r=0,i=0;i4)o[r++]=65533,i+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&i1?o[r++]=65533:t<65536?o[r++]=t:(t-=65536,o[r++]=55296|t>>10&1023,o[r++]=56320|1023&t)}}return((e,t)=>{if(t<65534&&e.subarray&&Qe)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let s="";for(let i=0;i{(t=t||e.length)>e.length&&(t=e.length);let s=t-1;for(;s>=0&&128==(192&e[s]);)s--;return s<0||0===s?t:s+je[e[s]]>t?s:t},Ye=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Xe=Object.prototype.toString,{Z_NO_FLUSH:Ze,Z_SYNC_FLUSH:qe,Z_FULL_FLUSH:Je,Z_FINISH:$e,Z_OK:et,Z_STREAM_END:tt,Z_DEFAULT_COMPRESSION:st,Z_DEFAULT_STRATEGY:it,Z_DEFLATED:rt}=U;function ot(e){this.options=ke({level:st,method:rt,chunkSize:16384,windowBits:15,memLevel:8,strategy:it},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ye,this.strm.avail_out=0;let s=Fe(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(s!==et)throw new Error(L[s]);if(t.header&&Me(this.strm,t.header),t.dictionary){let e;if(e="string"==typeof t.dictionary?We(t.dictionary):"[object ArrayBuffer]"===Xe.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,s=He(this.strm,e),s!==et)throw new Error(L[s]);this._dict_set=!0}}function nt(e,t){const s=new ot(t);if(s.push(e,!0),s.err)throw s.msg||L[s.err];return s.result}ot.prototype.push=function(e,t){const s=this.strm,i=this.options.chunkSize;let r,o;if(this.ended)return!1;for(o=t===~~t?t:!0===t?$e:Ze,"string"==typeof e?s.input=We(e):"[object ArrayBuffer]"===Xe.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;;)if(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),(o===qe||o===Je)&&s.avail_out<=6)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else{if(r=Le(s,o),r===tt)return s.next_out>0&&this.onData(s.output.subarray(0,s.next_out)),r=Ue(this.strm),this.onEnd(r),this.ended=!0,r===et;if(0!==s.avail_out){if(o>0&&s.next_out>0)this.onData(s.output.subarray(0,s.next_out)),s.avail_out=0;else if(0===s.avail_in)break}else this.onData(s.output)}return!0},ot.prototype.onData=function(e){this.chunks.push(e)},ot.prototype.onEnd=function(e){e===et&&(this.result=Ve(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var at={Deflate:ot,deflate:nt,deflateRaw:function(e,t){return(t=t||{}).raw=!0,nt(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,nt(e,t)},constants:U};const lt=16209;var ht=function(e,t){let s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_,R,P;const D=e.state;s=e.next_in,R=e.input,i=s+(e.avail_in-5),r=e.next_out,P=e.output,o=r-(t-e.avail_out),n=r+(e.avail_out-257),a=D.dmax,l=D.wsize,h=D.whave,c=D.wnext,u=D.window,A=D.hold,p=D.bits,d=D.lencode,f=D.distcode,m=(1<>>24,A>>>=g,p-=g,g=y>>>16&255,0===g)P[r++]=65535&y;else{if(!(16&g)){if(0==(64&g)){y=d[(65535&y)+(A&(1<>>=g,p-=g),p<15&&(A+=R[s++]<>>24,A>>>=g,p-=g,g=y>>>16&255,!(16&g)){if(0==(64&g)){y=f[(65535&y)+(A&(1<a){e.msg="invalid distance too far back",D.mode=lt;break e}if(A>>>=g,p-=g,g=r-o,I>g){if(g=I-g,g>h&&D.sane){e.msg="invalid distance too far back",D.mode=lt;break e}if(T=0,_=u,0===c){if(T+=l-g,g2;)P[r++]=_[T++],P[r++]=_[T++],P[r++]=_[T++],v-=3;v&&(P[r++]=_[T++],v>1&&(P[r++]=_[T++]))}else{T=r-I;do{P[r++]=P[T++],P[r++]=P[T++],P[r++]=P[T++],v-=3}while(v>2);v&&(P[r++]=P[T++],v>1&&(P[r++]=P[T++]))}break}}break}}while(s>3,s-=v,p-=v<<3,A&=(1<{const l=a.bits;let h,c,u,A,p,d,f=0,m=0,E=0,y=0,g=0,v=0,I=0,T=0,_=0,R=0,P=null;const D=new Uint16Array(16),N=new Uint16Array(16);let C,b,O,S=null;for(f=0;f<=15;f++)D[f]=0;for(m=0;m=1&&0===D[y];y--);if(g>y&&(g=y),0===y)return r[o++]=20971520,r[o++]=20971520,a.bits=1,0;for(E=1;E0&&(0===e||1!==y))return-1;for(N[1]=0,f=1;f<15;f++)N[f+1]=N[f]+D[f];for(m=0;m852||2===e&&_>592)return 1;for(;;){C=f-I,n[m]+1=d?(b=S[n[m]-d],O=P[n[m]-d]):(b=96,O=0),h=1<>I)+c]=C<<24|b<<16|O|0}while(0!==c);for(h=1<>=1;if(0!==h?(R&=h-1,R+=h):R=0,m++,0==--D[f]){if(f===y)break;f=t[s+n[m]]}if(f>g&&(R&A)!==u){for(0===I&&(I=g),p+=E,v=f-I,T=1<852||2===e&&_>592)return 1;u=R&A,r[u]=g<<24|v<<16|p-o|0}}return 0!==R&&(r[p+R]=f-I<<24|64<<16|0),a.bits=g,0};const{Z_FINISH:ft,Z_BLOCK:mt,Z_TREES:Et,Z_OK:yt,Z_STREAM_END:gt,Z_NEED_DICT:vt,Z_STREAM_ERROR:It,Z_DATA_ERROR:Tt,Z_MEM_ERROR:_t,Z_BUF_ERROR:Rt,Z_DEFLATED:Pt}=U,Dt=16180,Nt=16190,Ct=16191,bt=16192,Ot=16194,St=16199,xt=16200,wt=16206,Bt=16209,Ft=e=>(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24);function Mt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Lt=e=>{if(!e)return 1;const t=e.state;return!t||t.strm!==e||t.mode16211?1:0},Ut=e=>{if(Lt(e))return It;const t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Dt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,yt},Ht=e=>{if(Lt(e))return It;const t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Ut(e)},Gt=(e,t)=>{let s;if(Lt(e))return It;const i=e.state;return t<0?(s=0,t=-t):(s=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?It:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=s,i.wbits=t,Ht(e))},kt=(e,t)=>{if(!e)return It;const s=new Mt;e.state=s,s.strm=e,s.window=null,s.mode=Dt;const i=Gt(e,t);return i!==yt&&(e.state=null),i};let Vt,Qt,jt=!0;const Wt=e=>{if(jt){Vt=new Int32Array(512),Qt=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(dt(1,e.lens,0,288,Vt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;dt(2,e.lens,0,32,Qt,0,e.work,{bits:5}),jt=!1}e.lencode=Vt,e.lenbits=9,e.distcode=Qt,e.distbits=5},zt=(e,t,s,i)=>{let r;const o=e.state;return null===o.window&&(o.wsize=1<=o.wsize?(o.window.set(t.subarray(s-o.wsize,s),0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),o.window.set(t.subarray(s-i,s-i+r),o.wnext),(i-=r)?(o.window.set(t.subarray(s-i,s),0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave{let s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_,R=0;const P=new Uint8Array(4);let D,N;const C=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Lt(e)||!e.output||!e.input&&0!==e.avail_in)return It;s=e.state,s.mode===Ct&&(s.mode=bt),n=e.next_out,r=e.output,l=e.avail_out,o=e.next_in,i=e.input,a=e.avail_in,h=s.hold,c=s.bits,u=a,A=l,_=yt;e:for(;;)switch(s.mode){case Dt:if(0===s.wrap){s.mode=bt;break}for(;c<16;){if(0===a)break e;a--,h+=i[o++]<>>8&255,s.check=M(s.check,P,2,0),h=0,c=0,s.mode=16181;break}if(s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&h)<<8)+(h>>8))%31){e.msg="incorrect header check",s.mode=Bt;break}if((15&h)!==Pt){e.msg="unknown compression method",s.mode=Bt;break}if(h>>>=4,c-=4,T=8+(15&h),0===s.wbits&&(s.wbits=T),T>15||T>s.wbits){e.msg="invalid window size",s.mode=Bt;break}s.dmax=1<>8&1),512&s.flags&&4&s.wrap&&(P[0]=255&h,P[1]=h>>>8&255,s.check=M(s.check,P,2,0)),h=0,c=0,s.mode=16182;case 16182:for(;c<32;){if(0===a)break e;a--,h+=i[o++]<>>8&255,P[2]=h>>>16&255,P[3]=h>>>24&255,s.check=M(s.check,P,4,0)),h=0,c=0,s.mode=16183;case 16183:for(;c<16;){if(0===a)break e;a--,h+=i[o++]<>8),512&s.flags&&4&s.wrap&&(P[0]=255&h,P[1]=h>>>8&255,s.check=M(s.check,P,2,0)),h=0,c=0,s.mode=16184;case 16184:if(1024&s.flags){for(;c<16;){if(0===a)break e;a--,h+=i[o++]<>>8&255,s.check=M(s.check,P,2,0)),h=0,c=0}else s.head&&(s.head.extra=null);s.mode=16185;case 16185:if(1024&s.flags&&(p=s.length,p>a&&(p=a),p&&(s.head&&(T=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Uint8Array(s.head.extra_len)),s.head.extra.set(i.subarray(o,o+p),T)),512&s.flags&&4&s.wrap&&(s.check=M(s.check,i,p,o)),a-=p,o+=p,s.length-=p),s.length))break e;s.length=0,s.mode=16186;case 16186:if(2048&s.flags){if(0===a)break e;p=0;do{T=i[o+p++],s.head&&T&&s.length<65536&&(s.head.name+=String.fromCharCode(T))}while(T&&p>9&1,s.head.done=!0),e.adler=s.check=0,s.mode=Ct;break;case 16189:for(;c<32;){if(0===a)break e;a--,h+=i[o++]<>>=7&c,c-=7&c,s.mode=wt;break}for(;c<3;){if(0===a)break e;a--,h+=i[o++]<>>=1,c-=1,3&h){case 0:s.mode=16193;break;case 1:if(Wt(s),s.mode=St,t===Et){h>>>=2,c-=2;break e}break;case 2:s.mode=16196;break;case 3:e.msg="invalid block type",s.mode=Bt}h>>>=2,c-=2;break;case 16193:for(h>>>=7&c,c-=7&c;c<32;){if(0===a)break e;a--,h+=i[o++]<>>16^65535)){e.msg="invalid stored block lengths",s.mode=Bt;break}if(s.length=65535&h,h=0,c=0,s.mode=Ot,t===Et)break e;case Ot:s.mode=16195;case 16195:if(p=s.length,p){if(p>a&&(p=a),p>l&&(p=l),0===p)break e;r.set(i.subarray(o,o+p),n),a-=p,o+=p,l-=p,n+=p,s.length-=p;break}s.mode=Ct;break;case 16196:for(;c<14;){if(0===a)break e;a--,h+=i[o++]<>>=5,c-=5,s.ndist=1+(31&h),h>>>=5,c-=5,s.ncode=4+(15&h),h>>>=4,c-=4,s.nlen>286||s.ndist>30){e.msg="too many length or distance symbols",s.mode=Bt;break}s.have=0,s.mode=16197;case 16197:for(;s.have>>=3,c-=3}for(;s.have<19;)s.lens[C[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,D={bits:s.lenbits},_=dt(0,s.lens,0,19,s.lencode,0,s.work,D),s.lenbits=D.bits,_){e.msg="invalid code lengths set",s.mode=Bt;break}s.have=0,s.mode=16198;case 16198:for(;s.have>>24,E=R>>>16&255,y=65535&R,!(m<=c);){if(0===a)break e;a--,h+=i[o++]<>>=m,c-=m,s.lens[s.have++]=y;else{if(16===y){for(N=m+2;c>>=m,c-=m,0===s.have){e.msg="invalid bit length repeat",s.mode=Bt;break}T=s.lens[s.have-1],p=3+(3&h),h>>>=2,c-=2}else if(17===y){for(N=m+3;c>>=m,c-=m,T=0,p=3+(7&h),h>>>=3,c-=3}else{for(N=m+7;c>>=m,c-=m,T=0,p=11+(127&h),h>>>=7,c-=7}if(s.have+p>s.nlen+s.ndist){e.msg="invalid bit length repeat",s.mode=Bt;break}for(;p--;)s.lens[s.have++]=T}}if(s.mode===Bt)break;if(0===s.lens[256]){e.msg="invalid code -- missing end-of-block",s.mode=Bt;break}if(s.lenbits=9,D={bits:s.lenbits},_=dt(1,s.lens,0,s.nlen,s.lencode,0,s.work,D),s.lenbits=D.bits,_){e.msg="invalid literal/lengths set",s.mode=Bt;break}if(s.distbits=6,s.distcode=s.distdyn,D={bits:s.distbits},_=dt(2,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,D),s.distbits=D.bits,_){e.msg="invalid distances set",s.mode=Bt;break}if(s.mode=St,t===Et)break e;case St:s.mode=xt;case xt:if(a>=6&&l>=258){e.next_out=n,e.avail_out=l,e.next_in=o,e.avail_in=a,s.hold=h,s.bits=c,ht(e,A),n=e.next_out,r=e.output,l=e.avail_out,o=e.next_in,i=e.input,a=e.avail_in,h=s.hold,c=s.bits,s.mode===Ct&&(s.back=-1);break}for(s.back=0;R=s.lencode[h&(1<>>24,E=R>>>16&255,y=65535&R,!(m<=c);){if(0===a)break e;a--,h+=i[o++]<>g)],m=R>>>24,E=R>>>16&255,y=65535&R,!(g+m<=c);){if(0===a)break e;a--,h+=i[o++]<>>=g,c-=g,s.back+=g}if(h>>>=m,c-=m,s.back+=m,s.length=y,0===E){s.mode=16205;break}if(32&E){s.back=-1,s.mode=Ct;break}if(64&E){e.msg="invalid literal/length code",s.mode=Bt;break}s.extra=15&E,s.mode=16201;case 16201:if(s.extra){for(N=s.extra;c>>=s.extra,c-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=16202;case 16202:for(;R=s.distcode[h&(1<>>24,E=R>>>16&255,y=65535&R,!(m<=c);){if(0===a)break e;a--,h+=i[o++]<>g)],m=R>>>24,E=R>>>16&255,y=65535&R,!(g+m<=c);){if(0===a)break e;a--,h+=i[o++]<>>=g,c-=g,s.back+=g}if(h>>>=m,c-=m,s.back+=m,64&E){e.msg="invalid distance code",s.mode=Bt;break}s.offset=y,s.extra=15&E,s.mode=16203;case 16203:if(s.extra){for(N=s.extra;c>>=s.extra,c-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){e.msg="invalid distance too far back",s.mode=Bt;break}s.mode=16204;case 16204:if(0===l)break e;if(p=A-l,s.offset>p){if(p=s.offset-p,p>s.whave&&s.sane){e.msg="invalid distance too far back",s.mode=Bt;break}p>s.wnext?(p-=s.wnext,d=s.wsize-p):d=s.wnext-p,p>s.length&&(p=s.length),f=s.window}else f=r,d=n-s.offset,p=s.length;p>l&&(p=l),l-=p,s.length-=p;do{r[n++]=f[d++]}while(--p);0===s.length&&(s.mode=xt);break;case 16205:if(0===l)break e;r[n++]=s.length,l--,s.mode=xt;break;case wt:if(s.wrap){for(;c<32;){if(0===a)break e;a--,h|=i[o++]<{if(Lt(e))return It;let t=e.state;return t.window&&(t.window=null),e.state=null,yt},qt=(e,t)=>{if(Lt(e))return It;const s=e.state;return 0==(2&s.wrap)?It:(s.head=t,t.done=!1,yt)},Jt=(e,t)=>{const s=t.length;let i,r,o;return Lt(e)?It:(i=e.state,0!==i.wrap&&i.mode!==Nt?It:i.mode===Nt&&(r=1,r=B(r,t,s,0),r!==i.check)?Tt:(o=zt(e,t,s,s),o?(i.mode=16210,_t):(i.havedict=1,yt)))},$t=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const es=Object.prototype.toString,{Z_NO_FLUSH:ts,Z_FINISH:ss,Z_OK:is,Z_STREAM_END:rs,Z_NEED_DICT:os,Z_STREAM_ERROR:ns,Z_DATA_ERROR:as,Z_MEM_ERROR:ls}=U;function hs(e){this.options=ke({chunkSize:65536,windowBits:15,to:""},e||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ye,this.strm.avail_out=0;let s=Yt(this.strm,t.windowBits);if(s!==is)throw new Error(L[s]);if(this.header=new $t,qt(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=We(t.dictionary):"[object ArrayBuffer]"===es.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(s=Jt(this.strm,t.dictionary),s!==is)))throw new Error(L[s])}function cs(e,t){const s=new hs(t);if(s.push(e),s.err)throw s.msg||L[s.err];return s.result}hs.prototype.push=function(e,t){const s=this.strm,i=this.options.chunkSize,r=this.options.dictionary;let o,n,a;if(this.ended)return!1;for(n=t===~~t?t:!0===t?ss:ts,"[object ArrayBuffer]"===es.call(e)?s.input=new Uint8Array(e):s.input=e,s.next_in=0,s.avail_in=s.input.length;;){for(0===s.avail_out&&(s.output=new Uint8Array(i),s.next_out=0,s.avail_out=i),o=Xt(s,n),o===os&&r&&(o=Jt(s,r),o===is?o=Xt(s,n):o===as&&(o=os));s.avail_in>0&&o===rs&&s.state.wrap>0&&0!==e[s.next_in];)Kt(s),o=Xt(s,n);switch(o){case ns:case as:case os:case ls:return this.onEnd(o),this.ended=!0,!1}if(a=s.avail_out,s.next_out&&(0===s.avail_out||o===rs))if("string"===this.options.to){let e=Ke(s.output,s.next_out),t=s.next_out-e,r=ze(s.output,e);s.next_out=t,s.avail_out=i-t,t&&s.output.set(s.output.subarray(e,e+t),0),this.onData(r)}else this.onData(s.output.length===s.next_out?s.output:s.output.subarray(0,s.next_out));if(o!==is||0!==a){if(o===rs)return o=Zt(this.strm),this.onEnd(o),this.ended=!0,!0;if(0===s.avail_in)break}}return!0},hs.prototype.onData=function(e){this.chunks.push(e)},hs.prototype.onEnd=function(e){e===is&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ve(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var us={Inflate:hs,inflate:cs,inflateRaw:function(e,t){return(t=t||{}).raw=!0,cs(e,t)},ungzip:cs,constants:U};const{Deflate:As,deflate:ps,deflateRaw:ds,gzip:fs}=at,{Inflate:ms,inflate:Es,inflateRaw:ys,ungzip:gs}=us;var vs=As,Is=ps,Ts=ds,_s=fs,Rs=ms,Ps=Es,Ds=ys,Ns=gs,Cs=U,bs={Deflate:vs,deflate:Is,deflateRaw:Ts,gzip:_s,Inflate:Rs,inflate:Ps,inflateRaw:Ds,ungzip:Ns,constants:Cs};e.Deflate=vs,e.Inflate=Rs,e.constants=Cs,e.default=bs,e.deflate=Is,e.deflateRaw=Ts,e.gzip=_s,e.inflate=Ps,e.inflateRaw=Ds,e.ungzip=Ns,Object.defineProperty(e,"__esModule",{value:!0})}));var gy=Object.freeze({__proto__:null});let vy=window.pako||gy;vy.inflate||(vy=vy.default);const Iy=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const Ty={version:1,parse:function(e,t,s,i,r,o){const n=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],meshPositions:e[4],meshIndices:e[5],meshEdgesIndices:e[6],meshColors:e[7],entityIDs:e[8],entityMeshes:e[9],entityIsObjects:e[10],positionsDecodeMatrix:e[11]}}(s),a=function(e){return{positions:new Uint16Array(vy.inflate(e.positions).buffer),normals:new Int8Array(vy.inflate(e.normals).buffer),indices:new Uint32Array(vy.inflate(e.indices).buffer),edgeIndices:new Uint32Array(vy.inflate(e.edgeIndices).buffer),meshPositions:new Uint32Array(vy.inflate(e.meshPositions).buffer),meshIndices:new Uint32Array(vy.inflate(e.meshIndices).buffer),meshEdgesIndices:new Uint32Array(vy.inflate(e.meshEdgesIndices).buffer),meshColors:new Uint8Array(vy.inflate(e.meshColors).buffer),entityIDs:vy.inflate(e.entityIDs,{to:"string"}),entityMeshes:new Uint32Array(vy.inflate(e.entityMeshes).buffer),entityIsObjects:new Uint8Array(vy.inflate(e.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(vy.inflate(e.positionsDecodeMatrix).buffer)}}(n);!function(e,t,s,i,r,o){o.getNextId(),i.positionsCompression="precompressed",i.normalsCompression="precompressed";const n=s.positions,a=s.normals,l=s.indices,h=s.edgeIndices,c=s.meshPositions,u=s.meshIndices,A=s.meshEdgesIndices,d=s.meshColors,f=JSON.parse(s.entityIDs),m=s.entityMeshes,E=s.entityIsObjects,g=c.length,v=m.length;for(let r=0;rm[e]m[t]?1:0));for(let e=0;e1||(C[s]=e)}}for(let e=0;e<_;e++){const t=D[e],s=t===_-1,r=P[t]>1,o=Oy(E.subarray(4*t,4*t+3)),A=E[4*t+3]/255,g=a.subarray(p[t],s?a.length:p[t+1]),I=l.subarray(p[t],s?l.length:p[t+1]),T=h.subarray(d[t],s?h.length:d[t+1]),R=c.subarray(f[t],s?c.length:f[t+1]),N=u.subarray(m[t],m[t]+16);if(r){const e=`${n}-geometry.${t}`;i.createGeometry({id:e,primitive:"triangles",positionsCompressed:g,normalsCompressed:I,indices:T,edgeIndices:R,positionsDecodeMatrix:N})}else{const e=`${n}-${t}`;v[C[t]];const s={};i.createMesh(y.apply(s,{id:e,primitive:"triangles",positionsCompressed:g,normalsCompressed:I,indices:T,edgeIndices:R,positionsDecodeMatrix:N,color:o,opacity:A}))}}let b=0;for(let e=0;e1){const t={},r=`${n}-instance.${b++}`,o=`${n}-geometry.${s}`,a=16*T[e],h=A.subarray(a,a+16);i.createMesh(y.apply(t,{id:r,geometryId:o,matrix:h})),l.push(r)}else l.push(s)}if(l.length>0){const e={};i.createEntity(y.apply(e,{id:r,isObject:!0,meshIds:l}))}}}(0,0,a,i,0,o)}};let xy=window.pako||gy;xy.inflate||(xy=xy.default);const wy=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const By={version:5,parse:function(e,t,s,i,r,o){const n=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],eachPrimitivePositionsAndNormalsPortion:e[5],eachPrimitiveIndicesPortion:e[6],eachPrimitiveEdgeIndicesPortion:e[7],eachPrimitiveColor:e[8],primitiveInstances:e[9],eachEntityId:e[10],eachEntityPrimitiveInstancesPortion:e[11],eachEntityMatricesPortion:e[12]}}(s),a=function(e){return{positions:new Float32Array(xy.inflate(e.positions).buffer),normals:new Int8Array(xy.inflate(e.normals).buffer),indices:new Uint32Array(xy.inflate(e.indices).buffer),edgeIndices:new Uint32Array(xy.inflate(e.edgeIndices).buffer),matrices:new Float32Array(xy.inflate(e.matrices).buffer),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(xy.inflate(e.eachPrimitivePositionsAndNormalsPortion).buffer),eachPrimitiveIndicesPortion:new Uint32Array(xy.inflate(e.eachPrimitiveIndicesPortion).buffer),eachPrimitiveEdgeIndicesPortion:new Uint32Array(xy.inflate(e.eachPrimitiveEdgeIndicesPortion).buffer),eachPrimitiveColor:new Uint8Array(xy.inflate(e.eachPrimitiveColor).buffer),primitiveInstances:new Uint32Array(xy.inflate(e.primitiveInstances).buffer),eachEntityId:xy.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(xy.inflate(e.eachEntityPrimitiveInstancesPortion).buffer),eachEntityMatricesPortion:new Uint32Array(xy.inflate(e.eachEntityMatricesPortion).buffer)}}(n);!function(e,t,s,i,r,o){const n=o.getNextId();i.positionsCompression="disabled",i.normalsCompression="precompressed";const a=s.positions,l=s.normals,h=s.indices,c=s.edgeIndices,u=s.matrices,A=s.eachPrimitivePositionsAndNormalsPortion,p=s.eachPrimitiveIndicesPortion,d=s.eachPrimitiveEdgeIndicesPortion,f=s.eachPrimitiveColor,m=s.primitiveInstances,E=JSON.parse(s.eachEntityId),g=s.eachEntityPrimitiveInstancesPortion,v=s.eachEntityMatricesPortion,I=A.length,T=m.length,_=new Uint8Array(I),R=E.length;for(let e=0;e1||(P[s]=e)}}for(let e=0;e1,r=wy(f.subarray(4*e,4*e+3)),o=f[4*e+3]/255,u=a.subarray(A[e],t?a.length:A[e+1]),m=l.subarray(A[e],t?l.length:A[e+1]),g=h.subarray(p[e],t?h.length:p[e+1]),v=c.subarray(d[e],t?c.length:d[e+1]);if(s){const t=`${n}-geometry.${e}`;i.createGeometry({id:t,primitive:"triangles",positionsCompressed:u,normalsCompressed:m,indices:g,edgeIndices:v})}else{const t=e;E[P[e]];const s={};i.createMesh(y.apply(s,{id:t,primitive:"triangles",positionsCompressed:u,normalsCompressed:m,indices:g,edgeIndices:v,color:r,opacity:o}))}}let D=0;for(let e=0;e1){const t={},r="instance."+D++,o="geometry"+s,n=16*v[e],l=u.subarray(n,n+16);i.createMesh(y.apply(t,{id:r,geometryId:o,matrix:l})),a.push(r)}else a.push(s)}if(a.length>0){const e={};i.createEntity(y.apply(e,{id:r,isObject:!0,meshIds:a}))}}}(0,0,a,i,0,o)}};let Fy=window.pako||gy;Fy.inflate||(Fy=Fy.default);const My=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const Ly={version:6,parse:function(e,t,s,i,r,o){const n=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],reusedPrimitivesDecodeMatrix:e[5],eachPrimitivePositionsAndNormalsPortion:e[6],eachPrimitiveIndicesPortion:e[7],eachPrimitiveEdgeIndicesPortion:e[8],eachPrimitiveColorAndOpacity:e[9],primitiveInstances:e[10],eachEntityId:e[11],eachEntityPrimitiveInstancesPortion:e[12],eachEntityMatricesPortion:e[13],eachTileAABB:e[14],eachTileEntitiesPortion:e[15]}}(s),a=function(e){function t(e,t){return 0===e.length?[]:Fy.inflate(e,t).buffer}return{positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedPrimitivesDecodeMatrix:new Float32Array(t(e.reusedPrimitivesDecodeMatrix)),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(t(e.eachPrimitivePositionsAndNormalsPortion)),eachPrimitiveIndicesPortion:new Uint32Array(t(e.eachPrimitiveIndicesPortion)),eachPrimitiveEdgeIndicesPortion:new Uint32Array(t(e.eachPrimitiveEdgeIndicesPortion)),eachPrimitiveColorAndOpacity:new Uint8Array(t(e.eachPrimitiveColorAndOpacity)),primitiveInstances:new Uint32Array(t(e.primitiveInstances)),eachEntityId:Fy.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(t(e.eachEntityPrimitiveInstancesPortion)),eachEntityMatricesPortion:new Uint32Array(t(e.eachEntityMatricesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(n);!function(e,t,s,i,r,o){const n=o.getNextId(),a=s.positions,l=s.normals,h=s.indices,c=s.edgeIndices,u=s.matrices,A=s.reusedPrimitivesDecodeMatrix,d=s.eachPrimitivePositionsAndNormalsPortion,f=s.eachPrimitiveIndicesPortion,m=s.eachPrimitiveEdgeIndicesPortion,E=s.eachPrimitiveColorAndOpacity,g=s.primitiveInstances,v=JSON.parse(s.eachEntityId),I=s.eachEntityPrimitiveInstancesPortion,T=s.eachEntityMatricesPortion,_=s.eachTileAABB,R=s.eachTileEntitiesPortion,P=d.length,D=g.length,N=v.length,C=R.length,b=new Uint32Array(P);for(let e=0;e1,u=t===P-1,p=a.subarray(d[t],u?a.length:d[t+1]),v=l.subarray(d[t],u?l.length:d[t+1]),I=h.subarray(f[t],u?h.length:f[t+1]),T=c.subarray(m[t],u?c.length:m[t+1]),_=My(E.subarray(4*t,4*t+3)),R=E[4*t+3]/255,D=o.getNextId();if(r){const e=`${n}-geometry.${s}.${t}`;M[e]||(i.createGeometry({id:e,primitive:"triangles",positionsCompressed:p,indices:I,edgeIndices:T,positionsDecodeMatrix:A}),M[e]=!0),i.createMesh(y.apply(H,{id:D,geometryId:e,origin:O,matrix:C,color:_,opacity:R})),B.push(D)}else i.createMesh(y.apply(H,{id:D,origin:O,primitive:"triangles",positionsCompressed:p,normalsCompressed:v,indices:I,edgeIndices:T,positionsDecodeMatrix:F,color:_,opacity:R})),B.push(D)}B.length>0&&i.createEntity(y.apply(U,{id:R,isObject:!0,meshIds:B}))}}}(e,t,a,i,0,o)}};let Uy=window.pako||gy;Uy.inflate||(Uy=Uy.default);const Hy=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function Gy(e){const t=[];for(let s=0,i=e.length;s1,p=t===b-1,P=Hy(R.subarray(6*e,6*e+3)),D=R[6*e+3]/255,N=R[6*e+4]/255,C=R[6*e+5]/255,O=o.getNextId();if(r){const r=_[e],o=A.slice(r,r+16),T=`${n}-geometry.${s}.${t}`;if(!G[T]){let e,s,r,o,n,A;switch(f[t]){case 0:e="solid",s=a.subarray(m[t],p?a.length:m[t+1]),r=l.subarray(E[t],p?l.length:E[t+1]),n=c.subarray(v[t],p?c.length:v[t+1]),A=u.subarray(I[t],p?u.length:I[t+1]);break;case 1:e="surface",s=a.subarray(m[t],p?a.length:m[t+1]),r=l.subarray(E[t],p?l.length:E[t+1]),n=c.subarray(v[t],p?c.length:v[t+1]),A=u.subarray(I[t],p?u.length:I[t+1]);break;case 2:e="points",s=a.subarray(m[t],p?a.length:m[t+1]),o=Gy(h.subarray(g[t],p?h.length:g[t+1]));break;case 3:e="lines",s=a.subarray(m[t],p?a.length:m[t+1]),n=c.subarray(v[t],p?c.length:v[t+1]);break;default:continue}i.createGeometry({id:T,primitive:e,positionsCompressed:s,normalsCompressed:r,colors:o,indices:n,edgeIndices:A,positionsDecodeMatrix:d}),G[T]=!0}i.createMesh(y.apply(k,{id:O,geometryId:T,origin:B,matrix:o,color:P,metallic:N,roughness:C,opacity:D})),M.push(O)}else{let e,s,r,o,n,A;switch(f[t]){case 0:e="solid",s=a.subarray(m[t],p?a.length:m[t+1]),r=l.subarray(E[t],p?l.length:E[t+1]),n=c.subarray(v[t],p?c.length:v[t+1]),A=u.subarray(I[t],p?u.length:I[t+1]);break;case 1:e="surface",s=a.subarray(m[t],p?a.length:m[t+1]),r=l.subarray(E[t],p?l.length:E[t+1]),n=c.subarray(v[t],p?c.length:v[t+1]),A=u.subarray(I[t],p?u.length:I[t+1]);break;case 2:e="points",s=a.subarray(m[t],p?a.length:m[t+1]),o=Gy(h.subarray(g[t],p?h.length:g[t+1]));break;case 3:e="lines",s=a.subarray(m[t],p?a.length:m[t+1]),n=c.subarray(v[t],p?c.length:v[t+1]);break;default:continue}i.createMesh(y.apply(k,{id:O,origin:B,primitive:e,positionsCompressed:s,normalsCompressed:r,colors:o,indices:n,edgeIndices:A,positionsDecodeMatrix:H,color:P,metallic:N,roughness:C,opacity:D})),M.push(O)}}M.length>0&&i.createEntity(y.apply(U,{id:C,isObject:!0,meshIds:M}))}}}(e,t,a,i,0,o)}};let Vy=window.pako||gy;Vy.inflate||(Vy=Vy.default);const Qy=p.vec4(),jy=p.vec4();const Wy=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function zy(e){const t=[];for(let s=0,i=e.length;s1,l=r===F-1,h=Wy(b.subarray(6*e,6*e+3)),c=b[6*e+3]/255,u=b[6*e+4]/255,O=b[6*e+5]/255,S=o.getNextId();if(a){const o=C[e],a=g.slice(o,o+16),N=`${n}-geometry.${s}.${r}`;let b=V[N];if(!b){b={batchThisMesh:!t.reuseGeometries};let e=!1;switch(I[r]){case 0:b.primitiveName="solid",b.geometryPositions=A.subarray(T[r],l?A.length:T[r+1]),b.geometryNormals=d.subarray(_[r],l?d.length:_[r+1]),b.geometryIndices=m.subarray(P[r],l?m.length:P[r+1]),b.geometryEdgeIndices=E.subarray(D[r],l?E.length:D[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 1:b.primitiveName="surface",b.geometryPositions=A.subarray(T[r],l?A.length:T[r+1]),b.geometryNormals=d.subarray(_[r],l?d.length:_[r+1]),b.geometryIndices=m.subarray(P[r],l?m.length:P[r+1]),b.geometryEdgeIndices=E.subarray(D[r],l?E.length:D[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 2:b.primitiveName="points",b.geometryPositions=A.subarray(T[r],l?A.length:T[r+1]),b.geometryColors=zy(f.subarray(R[r],l?f.length:R[r+1])),e=b.geometryPositions.length>0;break;case 3:b.primitiveName="lines",b.geometryPositions=A.subarray(T[r],l?A.length:T[r+1]),b.geometryIndices=m.subarray(P[r],l?m.length:P[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;default:continue}if(e||(b=null),b&&(b.geometryPositions.length,b.batchThisMesh)){b.decompressedPositions=new Float32Array(b.geometryPositions.length);const e=b.geometryPositions,t=b.decompressedPositions;for(let s=0,i=e.length;s0&&n.length>0;break;case 1:e="surface",t=A.subarray(T[r],l?A.length:T[r+1]),s=d.subarray(_[r],l?d.length:_[r+1]),n=m.subarray(P[r],l?m.length:P[r+1]),a=E.subarray(D[r],l?E.length:D[r+1]),p=t.length>0&&n.length>0;break;case 2:e="points",t=A.subarray(T[r],l?A.length:T[r+1]),o=zy(f.subarray(R[r],l?f.length:R[r+1])),p=t.length>0;break;case 3:e="lines",t=A.subarray(T[r],l?A.length:T[r+1]),n=m.subarray(P[r],l?m.length:P[r+1]),p=t.length>0&&n.length>0;break;default:continue}p&&(i.createMesh(y.apply(j,{id:S,origin:G,primitive:e,positionsCompressed:t,normalsCompressed:s,colorsCompressed:o,indices:n,edgeIndices:a,positionsDecodeMatrix:B,color:h,metallic:u,roughness:O,opacity:c})),w.push(S))}}w.length>0&&i.createEntity(y.apply(Q,{id:h,isObject:!0,meshIds:w}))}}}(e,t,a,i,r,o)}};let Yy=window.pako||gy;Yy.inflate||(Yy=Yy.default);const Xy=p.vec4(),Zy=p.vec4();const qy=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();const Jy={version:9,parse:function(e,t,s,i,r,o){const n=function(e){return{metadata:e[0],positions:e[1],normals:e[2],colors:e[3],indices:e[4],edgeIndices:e[5],matrices:e[6],reusedGeometriesDecodeMatrix:e[7],eachGeometryPrimitiveType:e[8],eachGeometryPositionsPortion:e[9],eachGeometryNormalsPortion:e[10],eachGeometryColorsPortion:e[11],eachGeometryIndicesPortion:e[12],eachGeometryEdgeIndicesPortion:e[13],eachMeshGeometriesPortion:e[14],eachMeshMatricesPortion:e[15],eachMeshMaterial:e[16],eachEntityId:e[17],eachEntityMeshesPortion:e[18],eachTileAABB:e[19],eachTileEntitiesPortion:e[20]}}(s),a=function(e){function t(e,t){return 0===e.length?[]:Yy.inflate(e,t).buffer}return{metadata:JSON.parse(Yy.inflate(e.metadata,{to:"string"})),positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),colors:new Uint8Array(t(e.colors)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedGeometriesDecodeMatrix:new Float32Array(t(e.reusedGeometriesDecodeMatrix)),eachGeometryPrimitiveType:new Uint8Array(t(e.eachGeometryPrimitiveType)),eachGeometryPositionsPortion:new Uint32Array(t(e.eachGeometryPositionsPortion)),eachGeometryNormalsPortion:new Uint32Array(t(e.eachGeometryNormalsPortion)),eachGeometryColorsPortion:new Uint32Array(t(e.eachGeometryColorsPortion)),eachGeometryIndicesPortion:new Uint32Array(t(e.eachGeometryIndicesPortion)),eachGeometryEdgeIndicesPortion:new Uint32Array(t(e.eachGeometryEdgeIndicesPortion)),eachMeshGeometriesPortion:new Uint32Array(t(e.eachMeshGeometriesPortion)),eachMeshMatricesPortion:new Uint32Array(t(e.eachMeshMatricesPortion)),eachMeshMaterial:new Uint8Array(t(e.eachMeshMaterial)),eachEntityId:JSON.parse(Yy.inflate(e.eachEntityId,{to:"string"})),eachEntityMeshesPortion:new Uint32Array(t(e.eachEntityMeshesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(n);!function(e,t,s,i,r,o){const n=o.getNextId(),a=s.metadata,l=s.positions,h=s.normals,c=s.colors,u=s.indices,A=s.edgeIndices,d=s.matrices,f=s.reusedGeometriesDecodeMatrix,m=s.eachGeometryPrimitiveType,E=s.eachGeometryPositionsPortion,g=s.eachGeometryNormalsPortion,v=s.eachGeometryColorsPortion,I=s.eachGeometryIndicesPortion,T=s.eachGeometryEdgeIndicesPortion,_=s.eachMeshGeometriesPortion,R=s.eachMeshMatricesPortion,P=s.eachMeshMaterial,D=s.eachEntityId,N=s.eachEntityMeshesPortion,C=s.eachTileAABB,b=s.eachTileEntitiesPortion,O=E.length,S=_.length,x=N.length,w=b.length;r&&r.loadData(a);const B=new Uint32Array(O);for(let e=0;e1,D=r===O-1,N=qy(P.subarray(6*e,6*e+3)),C=P[6*e+3]/255,b=P[6*e+4]/255,S=P[6*e+5]/255,x=o.getNextId();if(a){const o=R[e],a=d.slice(o,o+16),_=`${n}-geometry.${s}.${r}`;let P=L[_];if(!P){P={batchThisMesh:!t.reuseGeometries};let e=!1;switch(m[r]){case 0:P.primitiveName="solid",P.geometryPositions=l.subarray(E[r],D?l.length:E[r+1]),P.geometryNormals=h.subarray(g[r],D?h.length:g[r+1]),P.geometryIndices=u.subarray(I[r],D?u.length:I[r+1]),P.geometryEdgeIndices=A.subarray(T[r],D?A.length:T[r+1]),e=P.geometryPositions.length>0&&P.geometryIndices.length>0;break;case 1:P.primitiveName="surface",P.geometryPositions=l.subarray(E[r],D?l.length:E[r+1]),P.geometryNormals=h.subarray(g[r],D?h.length:g[r+1]),P.geometryIndices=u.subarray(I[r],D?u.length:I[r+1]),P.geometryEdgeIndices=A.subarray(T[r],D?A.length:T[r+1]),e=P.geometryPositions.length>0&&P.geometryIndices.length>0;break;case 2:P.primitiveName="points",P.geometryPositions=l.subarray(E[r],D?l.length:E[r+1]),P.geometryColors=c.subarray(v[r],D?c.length:v[r+1]),e=P.geometryPositions.length>0;break;case 3:P.primitiveName="lines",P.geometryPositions=l.subarray(E[r],D?l.length:E[r+1]),P.geometryIndices=u.subarray(I[r],D?u.length:I[r+1]),e=P.geometryPositions.length>0&&P.geometryIndices.length>0;break;default:continue}if(e||(P=null),P&&(P.geometryPositions.length,P.batchThisMesh)){P.decompressedPositions=new Float32Array(P.geometryPositions.length),P.transformedAndRecompressedPositions=new Uint16Array(P.geometryPositions.length);const e=P.geometryPositions,t=P.decompressedPositions;for(let s=0,i=e.length;s0&&n.length>0;break;case 1:e="surface",t=l.subarray(E[r],D?l.length:E[r+1]),s=h.subarray(g[r],D?h.length:g[r+1]),n=u.subarray(I[r],D?u.length:I[r+1]),a=A.subarray(T[r],D?A.length:T[r+1]),p=t.length>0&&n.length>0;break;case 2:e="points",t=l.subarray(E[r],D?l.length:E[r+1]),o=c.subarray(v[r],D?c.length:v[r+1]),p=t.length>0;break;case 3:e="lines",t=l.subarray(E[r],D?l.length:E[r+1]),n=u.subarray(I[r],D?u.length:I[r+1]),p=t.length>0&&n.length>0;break;default:continue}p&&(i.createMesh(y.apply(Q,{id:x,origin:F,primitive:e,positionsCompressed:t,normalsCompressed:s,colorsCompressed:o,indices:n,edgeIndices:a,positionsDecodeMatrix:G,color:N,metallic:b,roughness:S,opacity:C})),U.push(x))}}U.length>0&&i.createEntity(y.apply(V,{id:C,isObject:!0,meshIds:U}))}}}(e,t,a,i,r,o)}};let $y=window.pako||gy;$y.inflate||($y=$y.default);const eg=p.vec4(),tg=p.vec4();const sg=function(){const e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function ig(e,t){const s=[];if(t.length>1)for(let e=0,i=t.length-1;e1)for(let t=0,i=e.length/3-1;t0,a=9*e,u=1===c[a+0],A=c[a+1];c[a+2],c[a+3];const p=c[a+4],d=c[a+5],f=c[a+6],m=c[a+7],E=c[a+8];if(o){const t=new Uint8Array(l.subarray(s,r)).buffer,o=`${n}-texture-${e}`;if(u)i.createTexture({id:o,buffers:[t],minFilter:p,magFilter:d,wrapS:f,wrapT:m,wrapR:E});else{const e=new Blob([t],{type:10001===A?"image/jpeg":10002===A?"image/png":"image/gif"}),s=(window.URL||window.webkitURL).createObjectURL(e),r=document.createElement("img");r.src=s,i.createTexture({id:o,image:r,minFilter:p,magFilter:d,wrapS:f,wrapT:m,wrapR:E})}}}for(let e=0;e=0?`${n}-texture-${r}`:null,normalsTextureId:a>=0?`${n}-texture-${a}`:null,metallicRoughnessTextureId:o>=0?`${n}-texture-${o}`:null,emissiveTextureId:l>=0?`${n}-texture-${l}`:null,occlusionTextureId:h>=0?`${n}-texture-${h}`:null})}const Q=new Uint32Array(H);for(let e=0;e1,l=r===H-1,h=S[e],c=h>=0?`${n}-textureSet-${h}`:null,w=sg(x.subarray(6*e,6*e+3)),B=x[6*e+3]/255,F=x[6*e+4]/255,U=x[6*e+5]/255,G=o.getNextId();if(a){const o=O[e],a=v.slice(o,o+16),h=`${n}-geometry.${s}.${r}`;let b=z[h];if(!b){b={batchThisMesh:!t.reuseGeometries};let e=!1;switch(T[r]){case 0:b.primitiveName="solid",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryNormals=A.subarray(R[r],l?A.length:R[r+1]),b.geometryUVs=f.subarray(D[r],l?f.length:D[r+1]),b.geometryIndices=m.subarray(N[r],l?m.length:N[r+1]),b.geometryEdgeIndices=E.subarray(C[r],l?E.length:C[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 1:b.primitiveName="surface",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryNormals=A.subarray(R[r],l?A.length:R[r+1]),b.geometryUVs=f.subarray(D[r],l?f.length:D[r+1]),b.geometryIndices=m.subarray(N[r],l?m.length:N[r+1]),b.geometryEdgeIndices=E.subarray(C[r],l?E.length:C[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 2:b.primitiveName="points",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryColors=d.subarray(P[r],l?d.length:P[r+1]),e=b.geometryPositions.length>0;break;case 3:b.primitiveName="lines",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryIndices=m.subarray(N[r],l?m.length:N[r+1]),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;case 4:b.primitiveName="lines",b.geometryPositions=u.subarray(_[r],l?u.length:_[r+1]),b.geometryIndices=ig(b.geometryPositions,m.subarray(N[r],l?m.length:N[r+1])),e=b.geometryPositions.length>0&&b.geometryIndices.length>0;break;default:continue}if(e||(b=null),b&&(b.geometryPositions.length,b.batchThisMesh)){b.decompressedPositions=new Float32Array(b.geometryPositions.length),b.transformedAndRecompressedPositions=new Uint16Array(b.geometryPositions.length);const e=b.geometryPositions,t=b.decompressedPositions;for(let s=0,i=e.length;s0&&a.length>0;break;case 1:e="surface",t=u.subarray(_[r],l?u.length:_[r+1]),s=A.subarray(R[r],l?A.length:R[r+1]),o=f.subarray(D[r],l?f.length:D[r+1]),a=m.subarray(N[r],l?m.length:N[r+1]),h=E.subarray(C[r],l?E.length:C[r+1]),p=t.length>0&&a.length>0;break;case 2:e="points",t=u.subarray(_[r],l?u.length:_[r+1]),n=d.subarray(P[r],l?d.length:P[r+1]),p=t.length>0;break;case 3:e="lines",t=u.subarray(_[r],l?u.length:_[r+1]),a=m.subarray(N[r],l?m.length:N[r+1]),p=t.length>0&&a.length>0;break;case 4:e="lines",t=u.subarray(_[r],l?u.length:_[r+1]),a=ig(t,m.subarray(N[r],l?m.length:N[r+1])),p=t.length>0&&a.length>0;break;default:continue}p&&(i.createMesh(y.apply(V,{id:G,textureSetId:c,origin:j,primitive:e,positionsCompressed:t,normalsCompressed:s,uv:o&&o.length>0?o:null,colorsCompressed:n,indices:a,edgeIndices:h,positionsDecodeMatrix:g,color:w,metallic:F,roughness:U,opacity:B})),M.push(G))}}M.length>0&&i.createEntity(y.apply(G,{id:l,isObject:!0,meshIds:M}))}}}(e,t,a,i,r,o)}},og={};og[Ty.version]=Ty,og[Py.version]=Py,og[Cy.version]=Cy,og[Sy.version]=Sy,og[By.version]=By,og[Ly.version]=Ly,og[ky.version]=ky,og[Ky.version]=Ky,og[Jy.version]=Jy,og[rg.version]=rg;class ng extends a{constructor(e,t={}){super("XKTLoader",e,t),this._maxGeometryBatchSize=t.maxGeometryBatchSize,this.textureTranscoder=t.textureTranscoder,this.dataSource=t.dataSource,this.objectDefaults=t.objectDefaults,this.includeTypes=t.includeTypes,this.excludeTypes=t.excludeTypes,this.excludeUnclassifiedObjects=t.excludeUnclassifiedObjects,this.reuseGeometries=t.reuseGeometries}get supportedVersions(){return Object.keys(og)}get textureTranscoder(){return this._textureTranscoder}set textureTranscoder(e){this._textureTranscoder=e}get dataSource(){return this._dataSource}set dataSource(e){this._dataSource=e||new yy}get objectDefaults(){return this._objectDefaults}set objectDefaults(e){this._objectDefaults=e||iy}get includeTypes(){return this._includeTypes}set includeTypes(e){this._includeTypes=e}get excludeTypes(){return this._excludeTypes}set excludeTypes(e){this._excludeTypes=e}get excludeUnclassifiedObjects(){return this._excludeUnclassifiedObjects}set excludeUnclassifiedObjects(e){this._excludeUnclassifiedObjects=!!e}get globalizeObjectIds(){return this._globalizeObjectIds}set globalizeObjectIds(e){this._globalizeObjectIds=!!e}get reuseGeometries(){return this._reuseGeometries}set reuseGeometries(e){this._reuseGeometries=!1!==e}load(e={}){if(e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id),!e.src&&!e.xkt&&!e.manifestSrc)return this.error("load() param expected: src, xkt or manifestSrc"),o;const t={},s=e.includeTypes||this._includeTypes,i=e.excludeTypes||this._excludeTypes,r=e.objectDefaults||this._objectDefaults;if(t.reuseGeometries=null!==e.reuseGeometries&&void 0!==e.reuseGeometries?e.reuseGeometries:!1!==this._reuseGeometries,s){t.includeTypesMap={};for(let e=0,i=s.length;e{o.finalize(),a.finalize(),this.viewer.scene.canvas.spinner.processes--,o.once("destroyed",(()=>{this.viewer.metaScene.destroyMetaModel(a.id)})),o.scene.once("tick",(()=>{o.destroyed||(o.scene.fire("modelLoaded",o.id),o.fire("loaded",!0,!1))}))},h=e=>{this.viewer.scene.canvas.spinner.processes--,this.error(e),o.fire("error",e)};let c=0;const u={getNextId:()=>`${n}.${c++}`};if(e.metaModelSrc||e.metaModelData)if(e.metaModelSrc){const r=e.metaModelSrc;this._dataSource.getMetaModel(r,(r=>{o.destroyed||(a.loadData(r,{includeTypes:s,excludeTypes:i,globalizeObjectIds:t.globalizeObjectIds}),e.src?this._loadModel(e.src,e,t,o,null,u,l,h):(this._parseModel(e.xkt,e,t,o,null,u),l()))}),(e=>{h(`load(): Failed to load model metadata for model '${n} from '${r}' - ${e}`)}))}else e.metaModelData&&(a.loadData(e.metaModelData,{includeTypes:s,excludeTypes:i,globalizeObjectIds:t.globalizeObjectIds}),e.src?this._loadModel(e.src,e,t,o,null,u,l,h):(this._parseModel(e.xkt,e,t,o,null,u),l()));else if(e.src)this._loadModel(e.src,e,t,o,a,u,l,h);else if(e.xkt)this._parseModel(e.xkt,e,t,o,a,u),l();else if(e.manifestSrc){const r=function(e){const t=e.split("/");return t.pop(),t.join("/")+"/"}(e.manifestSrc),n=(e,o,n)=>{let l=0;const h=()=>{l>=e.length?o():this._dataSource.getMetaModel(`${r}${e[l]}`,(e=>{a.loadData(e,{includeTypes:s,excludeTypes:i,globalizeObjectIds:t.globalizeObjectIds}),l++,h()}),n)};h()},c=(s,i,n)=>{let l=0;const h=()=>{l>=s.length?i():this._dataSource.getXKT(`${r}${s[l]}`,(s=>{this._parseModel(s,e,t,o,a,u),l++,h()}),n)};h()};this._dataSource.getManifest(e.manifestSrc,(e=>{if(o.destroyed)return;const t=e.xktFiles;if(!t||0===t.length)return void h("load(): Failed to load model manifest - manifest not valid");const s=e.metaModelFiles;s?n(s,(()=>{c(t,l,h)}),h):c(t,l,h)}),h)}return o}_loadModel(e,t,s,i,r,o,n,a){this._dataSource.getXKT(t.src,(e=>{this._parseModel(e,t,s,i,r,o),n()}),a)}_parseModel(e,t,s,i,r,o){if(i.destroyed)return;const n=new DataView(e),a=new Uint8Array(e),l=n.getUint32(0,!0),h=og[l];if(!h)return void this.error("Unsupported .XKT file version: "+l+" - this XKTLoaderPlugin supports versions "+Object.keys(og));this.log("Loading .xkt V"+l);const c=n.getUint32(4,!0),u=[];let A=4*(c+2);for(let e=0;ee.size)throw new RangeError("offset:"+t+", length:"+s+", size:"+e.size);return e.slice?e.slice(t,t+s):e.webkitSlice?e.webkitSlice(t,t+s):e.mozSlice?e.mozSlice(t,t+s):e.msSlice?e.msSlice(t,t+s):void 0}(e,t,s))}catch(e){r(e)}}}function d(){}function f(e){var s,i=this;i.init=function(e){s=new Blob([],{type:n}),e()},i.writeUint8Array=function(e,i){s=new Blob([s,t?e:e.buffer],{type:n}),i()},i.getData=function(t,i){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=i,r.readAsText(s,e)}}function m(t){var s=this,i="",r="";s.init=function(e){i+="data:"+(t||"")+";base64,",e()},s.writeUint8Array=function(t,s){var o,n=r.length,a=r;for(r="",o=0;o<3*Math.floor((n+t.length)/3)-n;o++)a+=String.fromCharCode(t[o]);for(;o2?i+=e.btoa(a):r=a,s()},s.getData=function(t){t(i+e.btoa(r))}}function E(e){var s,i=this;i.init=function(t){s=new Blob([],{type:e}),t()},i.writeUint8Array=function(i,r){s=new Blob([s,t?i:i.buffer],{type:e}),r()},i.getData=function(e){e(s)}}function y(e,t,s,i,r,n,a,l,h,c){var u,A,p,d=0,f=t.sn;function m(){e.removeEventListener("message",E,!1),l(A,p)}function E(t){var s=t.data,r=s.data,o=s.error;if(o)return o.toString=function(){return"Error: "+this.message},void h(o);if(s.sn===f)switch("number"==typeof s.codecTime&&(e.codecTime+=s.codecTime),"number"==typeof s.crcTime&&(e.crcTime+=s.crcTime),s.type){case"append":r?(A+=r.length,i.writeUint8Array(r,(function(){y()}),c)):y();break;case"flush":p=s.crc,r?(A+=r.length,i.writeUint8Array(r,(function(){m()}),c)):m();break;case"progress":a&&a(u+s.loaded,n);break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",s)}}function y(){(u=d*o)<=n?s.readUint8Array(r+u,Math.min(o,n-u),(function(s){a&&a(u,n);var i=0===u?t:{sn:f};i.type="append",i.data=s;try{e.postMessage(i,[s.buffer])}catch(t){e.postMessage(i)}d++}),h):e.postMessage({sn:f,type:"flush"})}A=0,e.addEventListener("message",E,!1),y()}function g(e,t,s,i,r,n,l,h,c,u){var A,p=0,d=0,f="input"===n,m="output"===n,E=new a;!function n(){var a;if((A=p*o)127?r[s-128]:String.fromCharCode(s);return i}function T(e){return decodeURIComponent(escape(e))}function _(e){var t,s="";for(t=0;t>16,s=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&s)>>11,(2016&s)>>5,2*(31&s),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?((i||8!=(8&e.bitFlag))&&(e.crc32=t.view.getUint32(s+10,!0),e.compressedSize=t.view.getUint32(s+14,!0),e.uncompressedSize=t.view.getUint32(s+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(s+22,!0),e.extraFieldLength=t.view.getUint16(s+24,!0)):r("File is using Zip64 (4gb+ file size).")):r("File contains encrypted entry.")}function P(t,o,n){var a=0;function l(){}l.prototype.getData=function(i,o,l,c){var u=this;function A(e,t){c&&!function(e){var t=h(4);return t.view.setUint32(0,e),u.crc32==t.view.getUint32(0)}(t)?n("CRC failed."):i.getData((function(e){o(e)}))}function p(e){n(e||r)}function d(e){n(e||"Error while writing file data.")}t.readUint8Array(u.offset,30,(function(r){var o,f=h(r.length,r);1347093252==f.view.getUint32(0)?(R(u,f,4,!1,n),o=u.offset+30+u.filenameLength+u.extraFieldLength,i.init((function(){0===u.compressionMethod?v(u._worker,a++,t,i,o,u.compressedSize,c,A,l,p,d):function(t,s,i,r,o,n,a,l,h,c,u){var A=a?"output":"none";e.zip.useWebWorkers?y(t,{sn:s,codecClass:"Inflater",crcType:A},i,r,o,n,h,l,c,u):g(new e.zip.Inflater,i,r,o,n,A,h,l,c,u)}(u._worker,a++,t,i,o,u.compressedSize,c,A,l,p,d)}),d)):n(s)}),p)};var c={getEntries:function(e){var r=this._worker;!function(e){t.size<22?n(s):r(22,(function(){r(Math.min(65558,t.size),(function(){n(s)}))}));function r(s,r){t.readUint8Array(t.size-s,s,(function(t){for(var s=t.length-22;s>=0;s--)if(80===t[s]&&75===t[s+1]&&5===t[s+2]&&6===t[s+3])return void e(new DataView(t.buffer,s,22));r()}),(function(){n(i)}))}}((function(o){var a,c;a=o.getUint32(16,!0),c=o.getUint16(8,!0),a<0||a>=t.size?n(s):t.readUint8Array(a,t.size-a,(function(t){var i,o,a,u,A=0,p=[],d=h(t.length,t);for(i=0;i>>8^s[255&(t^e[i])];this.crc=t},a.prototype.get=function(){return~this.crc},a.prototype.table=function(){var e,t,s,i=[];for(e=0;e<256;e++){for(s=e,t=0;t<8;t++)1&s?s=s>>>1^3988292384:s>>>=1;i[e]=s}return i}(),l.prototype.append=function(e,t){return e},l.prototype.flush=function(){},u.prototype=new c,u.prototype.constructor=u,A.prototype=new c,A.prototype.constructor=A,p.prototype=new c,p.prototype.constructor=p,d.prototype.getData=function(e){e(this.data)},f.prototype=new d,f.prototype.constructor=f,m.prototype=new d,m.prototype.constructor=m,E.prototype=new d,E.prototype.constructor=E;var b={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function O(t,s,i){if(null===e.zip.workerScripts||null===e.zip.workerScriptsPath){var r;if(e.zip.workerScripts){if(r=e.zip.workerScripts[t],!Array.isArray(r))return void i(new Error("zip.workerScripts."+t+" is not an array!"));r=function(e){var t=document.createElement("a");return e.map((function(e){return t.href=e,t.href}))}(r)}else(r=b[t].slice(0))[0]=(e.zip.workerScriptsPath||"")+r[0];var o=new Worker(r[0]);o.codecTime=o.crcTime=0,o.postMessage({type:"importScripts",scripts:r.slice(1)}),o.addEventListener("message",(function e(t){var r=t.data;if(r.error)return o.terminate(),void i(r.error);"importScripts"===r.type&&(o.removeEventListener("message",e),o.removeEventListener("error",n),s(o))})),o.addEventListener("error",n)}else i(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));function n(e){o.terminate(),i(e)}}function S(e){console.error(e)}e.zip={Reader:c,Writer:d,BlobReader:p,Data64URIReader:A,TextReader:u,BlobWriter:E,Data64URIWriter:m,TextWriter:f,createReader:function(e,t,s){s=s||S,e.init((function(){P(e,t,s)}),s)},createWriter:function(e,t,s,i){s=s||S,i=!!i,e.init((function(){C(e,t,s,i)}),s)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}}(ag);!function(e){var t,s,i=e.Reader,r=e.Writer;try{s=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function o(e){var t=this;function s(s,i){var r;t.data?s():((r=new XMLHttpRequest).addEventListener("load",(function(){t.size||(t.size=Number(r.getResponseHeader("Content-Length"))||Number(r.response.byteLength)),t.data=new Uint8Array(r.response),s()}),!1),r.addEventListener("error",i,!1),r.open("GET",e),r.responseType="arraybuffer",r.send())}t.size=0,t.init=function(i,r){if(function(e){var t=document.createElement("a");return t.href=e,"http:"===t.protocol||"https:"===t.protocol}(e)){var o=new XMLHttpRequest;o.addEventListener("load",(function(){t.size=Number(o.getResponseHeader("Content-Length")),t.size?i():s(i,r)}),!1),o.addEventListener("error",r,!1),o.open("HEAD",e),o.send()}else s(i,r)},t.readUint8Array=function(e,i,r,o){s((function(){r(new Uint8Array(t.data.subarray(e,e+i)))}),o)}}function n(e){var t=this;t.size=0,t.init=function(s,i){var r=new XMLHttpRequest;r.addEventListener("load",(function(){t.size=Number(r.getResponseHeader("Content-Length")),"bytes"==r.getResponseHeader("Accept-Ranges")?s():i("HTTP Range not supported.")}),!1),r.addEventListener("error",i,!1),r.open("HEAD",e),r.send()},t.readUint8Array=function(t,s,i,r){!function(t,s,i,r){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="arraybuffer",o.setRequestHeader("Range","bytes="+t+"-"+(t+s-1)),o.addEventListener("load",(function(){i(o.response)}),!1),o.addEventListener("error",r,!1),o.send()}(t,s,(function(e){i(new Uint8Array(e))}),r)}}function a(e){var t=this;t.size=0,t.init=function(s,i){t.size=e.byteLength,s()},t.readUint8Array=function(t,s,i,r){i(new Uint8Array(e.slice(t,t+s)))}}function l(){var e,t=this;t.init=function(t,s){e=new Uint8Array,t()},t.writeUint8Array=function(t,s,i){var r=new Uint8Array(e.length+t.length);r.set(e),r.set(t,e.length),e=r,s()},t.getData=function(t){t(e.buffer)}}function h(e,t){var i,r=this;r.init=function(t,s){e.createWriter((function(e){i=e,t()}),s)},r.writeUint8Array=function(e,r,o){var n=new Blob([s?e:e.buffer],{type:t});i.onwrite=function(){i.onwrite=null,r()},i.onerror=o,i.write(n)},r.getData=function(t){e.file(t)}}o.prototype=new i,o.prototype.constructor=o,n.prototype=new i,n.prototype.constructor=n,a.prototype=new i,a.prototype.constructor=a,l.prototype=new r,l.prototype.constructor=l,h.prototype=new r,h.prototype.constructor=h,e.FileWriter=h,e.HttpReader=o,e.HttpRangeReader=n,e.ArrayBufferReader=a,e.ArrayBufferWriter=l,e.fs&&((t=e.fs.ZipDirectoryEntry).prototype.addHttpContent=function(s,i,r){return function(s,i,r,o){if(s.directory)return o?new t(s.fs,i,r,s):new e.fs.ZipFileEntry(s.fs,i,r,s);throw"Parent entry is not a directory."}(this,s,{data:i,Reader:r?n:o})},t.prototype.importHttpContent=function(e,t,s,i){this.importZip(t?new n(e):new o(e),s,i)},e.fs.FS.prototype.importHttpContent=function(e,s,i,r){this.entries=[],this.root=new t(this),this.root.importHttpContent(e,s,i,r)})}(ag.zip);var lg,hg,cg,ug,Ag,pg,dg,fg=(e,t)=>function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports},mg=fg({"dist/web-ifc-mt.js"(e,t){var s,i=(s="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){function t(){return N.buffer!=w.buffer&&z(),w}function i(){return N.buffer!=w.buffer&&z(),B}function r(){return N.buffer!=w.buffer&&z(),F}function o(){return N.buffer!=w.buffer&&z(),M}function n(){return N.buffer!=w.buffer&&z(),L}function a(){return N.buffer!=w.buffer&&z(),U}function l(){return N.buffer!=w.buffer&&z(),G}var h,c,u=void 0!==e?e:{};u.ready=new Promise((function(e,t){h=e,c=t}));var A,p,d,f=Object.assign({},u),m="./this.program",E=(e,t)=>{throw t},y="object"==typeof window,g="function"==typeof importScripts,v="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,I=u.ENVIRONMENT_IS_PTHREAD||!1,T="";function _(e){return u.locateFile?u.locateFile(e,T):T+e}(y||g)&&(g?T=self.location.href:"undefined"!=typeof document&&document.currentScript&&(T=document.currentScript.src),s&&(T=s),T=0!==T.indexOf("blob:")?T.substr(0,T.replace(/[?#].*/,"").lastIndexOf("/")+1):"",A=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},g&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),p=(e,t,s)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):s()},i.onerror=s,i.send(null)});var R,P=u.print||console.log.bind(console),D=u.printErr||console.warn.bind(console);Object.assign(u,f),f=null,u.arguments,u.thisProgram&&(m=u.thisProgram),u.quit&&(E=u.quit),u.wasmBinary&&(R=u.wasmBinary);var N,C,b=u.noExitRuntime||!0;"object"!=typeof WebAssembly&&ae("no native wasm support detected");var O,S=!1;function x(e,t){e||ae(t)}var w,B,F,M,L,U,H,G,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function V(e,t,s){for(var i=(t>>>=0)+s,r=t;e[r]&&!(r>=i);)++r;if(r-t>16&&e.buffer&&k)return k.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,r):e.subarray(t,r));for(var o="";t>10,56320|1023&h)}}else o+=String.fromCharCode((31&n)<<6|a)}else o+=String.fromCharCode(n)}return o}function Q(e,t){return(e>>>=0)?V(i(),e,t):""}function j(e,t,s,i){if(!(i>0))return 0;for(var r=s>>>=0,o=s+i-1,n=0;n=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),a<=127){if(s>=o)break;t[s++>>>0]=a}else if(a<=2047){if(s+1>=o)break;t[s++>>>0]=192|a>>6,t[s++>>>0]=128|63&a}else if(a<=65535){if(s+2>=o)break;t[s++>>>0]=224|a>>12,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}else{if(s+3>=o)break;t[s++>>>0]=240|a>>18,t[s++>>>0]=128|a>>12&63,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}}return t[s>>>0]=0,s-r}function W(e){for(var t=0,s=0;s=55296&&i<=57343?(t+=4,++s):t+=3}return t}function z(){var e=N.buffer;u.HEAP8=w=new Int8Array(e),u.HEAP16=F=new Int16Array(e),u.HEAP32=L=new Int32Array(e),u.HEAPU8=B=new Uint8Array(e),u.HEAPU16=M=new Uint16Array(e),u.HEAPU32=U=new Uint32Array(e),u.HEAPF32=H=new Float32Array(e),u.HEAPF64=G=new Float64Array(e)}var K,Y=u.INITIAL_MEMORY||16777216;if(x(Y>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+Y+"! (STACK_SIZE=5242880)"),I)N=u.wasmMemory;else if(u.wasmMemory)N=u.wasmMemory;else if(!((N=new WebAssembly.Memory({initial:Y/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw D("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),v&&D("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");z(),Y=N.buffer.byteLength;var X=[],Z=[],q=[];function J(){return b}function $(){I||(u.noFSInit||ye.init.initialized||ye.init(),ye.ignorePermissions=!1,_e(Z))}var ee,te,se,ie=0,re=null;function oe(e){ie++,u.monitorRunDependencies&&u.monitorRunDependencies(ie)}function ne(e){if(ie--,u.monitorRunDependencies&&u.monitorRunDependencies(ie),0==ie&&re){var t=re;re=null,t()}}function ae(e){u.onAbort&&u.onAbort(e),D(e="Aborted("+e+")"),S=!0,O=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw c(t),t}function le(e){return e.startsWith("data:application/octet-stream;base64,")}function he(e){try{if(e==ee&&R)return new Uint8Array(R);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}catch(e){ae(e)}}function ce(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function ue(e){var t=Te.pthreads[e];x(t),Te.returnWorkerToPool(t)}le(ee="web-ifc-mt.wasm")||(ee=_(ee));var Ae={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var s=0,i=e.length-1;i>=0;i--){var r=e[i];"."===r?e.splice(i,1):".."===r?(e.splice(i,1),s++):s&&(e.splice(i,1),s--)}if(t)for(;s;s--)e.unshift("..");return e},normalize:e=>{var t=Ae.isAbs(e),s="/"===e.substr(-1);return e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),e||t||(e="."),e&&s&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=Ae.splitPath(e),s=t[0],i=t[1];return s||i?(i&&(i=i.substr(0,i.length-1)),s+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=Ae.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Ae.normalize(e.join("/"))},join2:(e,t)=>Ae.normalize(e+"/"+t)},pe={resolve:function(){for(var e="",t=!1,s=arguments.length-1;s>=-1&&!t;s--){var i=s>=0?arguments[s]:ye.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=Ae.isAbs(i)}return e=Ae.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),(t?"/":"")+e||"."},relative:(e,t)=>{function s(e){for(var t=0;t=0&&""===e[s];s--);return t>s?[]:e.slice(t,s-t+1)}e=pe.resolve(e).substr(1),t=pe.resolve(t).substr(1);for(var i=s(e.split("/")),r=s(t.split("/")),o=Math.min(i.length,r.length),n=o,a=0;a0?s:W(e)+1,r=new Array(i),o=j(e,r,0,r.length);return t&&(r.length=o),r}var fe={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){fe.ttys[e]={input:[],output:[],ops:t},ye.registerDevice(e,fe.stream_ops)},stream_ops:{open:function(e){var t=fe.ttys[e.node.rdev];if(!t)throw new ye.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,s,i,r){if(!e.tty||!e.tty.ops.get_char)throw new ye.ErrnoError(60);for(var o=0,n=0;n0&&(P(V(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(D(V(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(D(V(e.output,0)),e.output=[])}}};function me(e){ae()}var Ee={ops_table:null,mount:function(e){return Ee.createNode(null,"/",16895,0)},createNode:function(e,t,s,i){if(ye.isBlkdev(s)||ye.isFIFO(s))throw new ye.ErrnoError(63);Ee.ops_table||(Ee.ops_table={dir:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,lookup:Ee.node_ops.lookup,mknod:Ee.node_ops.mknod,rename:Ee.node_ops.rename,unlink:Ee.node_ops.unlink,rmdir:Ee.node_ops.rmdir,readdir:Ee.node_ops.readdir,symlink:Ee.node_ops.symlink},stream:{llseek:Ee.stream_ops.llseek}},file:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:{llseek:Ee.stream_ops.llseek,read:Ee.stream_ops.read,write:Ee.stream_ops.write,allocate:Ee.stream_ops.allocate,mmap:Ee.stream_ops.mmap,msync:Ee.stream_ops.msync}},link:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,readlink:Ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:ye.chrdev_stream_ops}});var r=ye.createNode(e,t,s,i);return ye.isDir(r.mode)?(r.node_ops=Ee.ops_table.dir.node,r.stream_ops=Ee.ops_table.dir.stream,r.contents={}):ye.isFile(r.mode)?(r.node_ops=Ee.ops_table.file.node,r.stream_ops=Ee.ops_table.file.stream,r.usedBytes=0,r.contents=null):ye.isLink(r.mode)?(r.node_ops=Ee.ops_table.link.node,r.stream_ops=Ee.ops_table.link.stream):ye.isChrdev(r.mode)&&(r.node_ops=Ee.ops_table.chrdev.node,r.stream_ops=Ee.ops_table.chrdev.stream),r.timestamp=Date.now(),e&&(e.contents[t]=r,e.timestamp=r.timestamp),r},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var s=e.contents?e.contents.length:0;if(!(s>=t)){t=Math.max(t,s*(s<1048576?2:1.125)>>>0),0!=s&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var s=e.contents;e.contents=new Uint8Array(t),s&&e.contents.set(s.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=ye.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ye.isDir(e.mode)?t.size=4096:ye.isFile(e.mode)?t.size=e.usedBytes:ye.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Ee.resizeFileStorage(e,t.size)},lookup:function(e,t){throw ye.genericErrors[44]},mknod:function(e,t,s,i){return Ee.createNode(e,t,s,i)},rename:function(e,t,s){if(ye.isDir(e.mode)){var i;try{i=ye.lookupNode(t,s)}catch(e){}if(i)for(var r in i.contents)throw new ye.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=s,t.contents[s]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var s=ye.lookupNode(e,t);for(var i in s.contents)throw new ye.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var s in e.contents)e.contents.hasOwnProperty(s)&&t.push(s);return t},symlink:function(e,t,s){var i=Ee.createNode(e,t,41471,0);return i.link=s,i},readlink:function(e){if(!ye.isLink(e.mode))throw new ye.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,s,i,r){var o=e.node.contents;if(r>=e.node.usedBytes)return 0;var n=Math.min(e.node.usedBytes-r,i);if(n>8&&o.subarray)t.set(o.subarray(r,r+n),s);else for(var a=0;a0||i+s>>=0,t().set(l,n>>>0)}else a=!1,n=l.byteOffset;return{ptr:n,allocated:a}},msync:function(e,t,s,i,r){return Ee.stream_ops.write(e,t,0,i,s,!1),0}}},ye={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=pe.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ye.ErrnoError(32);for(var s=e.split("/").filter((e=>!!e)),i=ye.root,r="/",o=0;o40)throw new ye.ErrnoError(32)}}return{path:r,node:i}},getPath:e=>{for(var t;;){if(ye.isRoot(e)){var s=e.mount.mountpoint;return t?"/"!==s[s.length-1]?s+"/"+t:s+t:s}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var s=0,i=0;i>>0)%ye.nameTable.length},hashAddNode:e=>{var t=ye.hashName(e.parent.id,e.name);e.name_next=ye.nameTable[t],ye.nameTable[t]=e},hashRemoveNode:e=>{var t=ye.hashName(e.parent.id,e.name);if(ye.nameTable[t]===e)ye.nameTable[t]=e.name_next;else for(var s=ye.nameTable[t];s;){if(s.name_next===e){s.name_next=e.name_next;break}s=s.name_next}},lookupNode:(e,t)=>{var s=ye.mayLookup(e);if(s)throw new ye.ErrnoError(s,e);for(var i=ye.hashName(e.id,t),r=ye.nameTable[i];r;r=r.name_next){var o=r.name;if(r.parent.id===e.id&&o===t)return r}return ye.lookup(e,t)},createNode:(e,t,s,i)=>{var r=new ye.FSNode(e,t,s,i);return ye.hashAddNode(r),r},destroyNode:e=>{ye.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=ye.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ye.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=ye.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{return ye.lookupNode(e,t),20}catch(e){}return ye.nodePermissions(e,"wx")},mayDelete:(e,t,s)=>{var i;try{i=ye.lookupNode(e,t)}catch(e){return e.errno}var r=ye.nodePermissions(e,"wx");if(r)return r;if(s){if(!ye.isDir(i.mode))return 54;if(ye.isRoot(i)||ye.getPath(i)===ye.cwd())return 10}else if(ye.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ye.isLink(e.mode)?32:ye.isDir(e.mode)&&("r"!==ye.flagsToPermissionString(t)||512&t)?31:ye.nodePermissions(e,ye.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=ye.MAX_OPEN_FDS)=>{for(var s=e;s<=t;s++)if(!ye.streams[s])return s;throw new ye.ErrnoError(33)},getStream:e=>ye.streams[e],createStream:(e,t,s)=>{ye.FSStream||(ye.FSStream=function(){this.shared={}},ye.FSStream.prototype={},Object.defineProperties(ye.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new ye.FSStream,e);var i=ye.nextfd(t,s);return e.fd=i,ye.streams[i]=e,e},closeStream:e=>{ye.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ye.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ye.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ye.devices[e]={stream_ops:t}},getDevice:e=>ye.devices[e],getMounts:e=>{for(var t=[],s=[e];s.length;){var i=s.pop();t.push(i),s.push.apply(s,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ye.syncFSRequests++,ye.syncFSRequests>1&&D("warning: "+ye.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=ye.getMounts(ye.root.mount),i=0;function r(e){return ye.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,r(e));++i>=s.length&&r(null)}s.forEach((t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:(e,t,s)=>{var i,r="/"===s,o=!s;if(r&&ye.root)throw new ye.ErrnoError(10);if(!r&&!o){var n=ye.lookupPath(s,{follow_mount:!1});if(s=n.path,i=n.node,ye.isMountpoint(i))throw new ye.ErrnoError(10);if(!ye.isDir(i.mode))throw new ye.ErrnoError(54)}var a={type:e,opts:t,mountpoint:s,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,r?ye.root=l:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),l},unmount:e=>{var t=ye.lookupPath(e,{follow_mount:!1});if(!ye.isMountpoint(t.node))throw new ye.ErrnoError(28);var s=t.node,i=s.mounted,r=ye.getMounts(i);Object.keys(ye.nameTable).forEach((e=>{for(var t=ye.nameTable[e];t;){var s=t.name_next;r.includes(t.mount)&&ye.destroyNode(t),t=s}})),s.mounted=null;var o=s.mount.mounts.indexOf(i);s.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,s)=>{var i=ye.lookupPath(e,{parent:!0}).node,r=Ae.basename(e);if(!r||"."===r||".."===r)throw new ye.ErrnoError(28);var o=ye.mayCreate(i,r);if(o)throw new ye.ErrnoError(o);if(!i.node_ops.mknod)throw new ye.ErrnoError(63);return i.node_ops.mknod(i,r,t,s)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ye.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ye.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var s=e.split("/"),i="",r=0;r(void 0===s&&(s=t,t=438),t|=8192,ye.mknod(e,t,s)),symlink:(e,t)=>{if(!pe.resolve(e))throw new ye.ErrnoError(44);var s=ye.lookupPath(t,{parent:!0}).node;if(!s)throw new ye.ErrnoError(44);var i=Ae.basename(t),r=ye.mayCreate(s,i);if(r)throw new ye.ErrnoError(r);if(!s.node_ops.symlink)throw new ye.ErrnoError(63);return s.node_ops.symlink(s,i,e)},rename:(e,t)=>{var s,i,r=Ae.dirname(e),o=Ae.dirname(t),n=Ae.basename(e),a=Ae.basename(t);if(s=ye.lookupPath(e,{parent:!0}).node,i=ye.lookupPath(t,{parent:!0}).node,!s||!i)throw new ye.ErrnoError(44);if(s.mount!==i.mount)throw new ye.ErrnoError(75);var l,h=ye.lookupNode(s,n),c=pe.relative(e,o);if("."!==c.charAt(0))throw new ye.ErrnoError(28);if("."!==(c=pe.relative(t,r)).charAt(0))throw new ye.ErrnoError(55);try{l=ye.lookupNode(i,a)}catch(e){}if(h!==l){var u=ye.isDir(h.mode),A=ye.mayDelete(s,n,u);if(A)throw new ye.ErrnoError(A);if(A=l?ye.mayDelete(i,a,u):ye.mayCreate(i,a))throw new ye.ErrnoError(A);if(!s.node_ops.rename)throw new ye.ErrnoError(63);if(ye.isMountpoint(h)||l&&ye.isMountpoint(l))throw new ye.ErrnoError(10);if(i!==s&&(A=ye.nodePermissions(s,"w")))throw new ye.ErrnoError(A);ye.hashRemoveNode(h);try{s.node_ops.rename(h,i,a)}catch(e){throw e}finally{ye.hashAddNode(h)}}},rmdir:e=>{var t=ye.lookupPath(e,{parent:!0}).node,s=Ae.basename(e),i=ye.lookupNode(t,s),r=ye.mayDelete(t,s,!0);if(r)throw new ye.ErrnoError(r);if(!t.node_ops.rmdir)throw new ye.ErrnoError(63);if(ye.isMountpoint(i))throw new ye.ErrnoError(10);t.node_ops.rmdir(t,s),ye.destroyNode(i)},readdir:e=>{var t=ye.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ye.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ye.lookupPath(e,{parent:!0}).node;if(!t)throw new ye.ErrnoError(44);var s=Ae.basename(e),i=ye.lookupNode(t,s),r=ye.mayDelete(t,s,!1);if(r)throw new ye.ErrnoError(r);if(!t.node_ops.unlink)throw new ye.ErrnoError(63);if(ye.isMountpoint(i))throw new ye.ErrnoError(10);t.node_ops.unlink(t,s),ye.destroyNode(i)},readlink:e=>{var t=ye.lookupPath(e).node;if(!t)throw new ye.ErrnoError(44);if(!t.node_ops.readlink)throw new ye.ErrnoError(28);return pe.resolve(ye.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var s=ye.lookupPath(e,{follow:!t}).node;if(!s)throw new ye.ErrnoError(44);if(!s.node_ops.getattr)throw new ye.ErrnoError(63);return s.node_ops.getattr(s)},lstat:e=>ye.stat(e,!0),chmod:(e,t,s)=>{var i;if(!(i="string"==typeof e?ye.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new ye.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ye.chmod(e,t,!0)},fchmod:(e,t)=>{var s=ye.getStream(e);if(!s)throw new ye.ErrnoError(8);ye.chmod(s.node,t)},chown:(e,t,s,i)=>{var r;if(!(r="string"==typeof e?ye.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ye.ErrnoError(63);r.node_ops.setattr(r,{timestamp:Date.now()})},lchown:(e,t,s)=>{ye.chown(e,t,s,!0)},fchown:(e,t,s)=>{var i=ye.getStream(e);if(!i)throw new ye.ErrnoError(8);ye.chown(i.node,t,s)},truncate:(e,t)=>{if(t<0)throw new ye.ErrnoError(28);var s;if(!(s="string"==typeof e?ye.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ye.ErrnoError(63);if(ye.isDir(s.mode))throw new ye.ErrnoError(31);if(!ye.isFile(s.mode))throw new ye.ErrnoError(28);var i=ye.nodePermissions(s,"w");if(i)throw new ye.ErrnoError(i);s.node_ops.setattr(s,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var s=ye.getStream(e);if(!s)throw new ye.ErrnoError(8);if(0==(2097155&s.flags))throw new ye.ErrnoError(28);ye.truncate(s.node,t)},utime:(e,t,s)=>{var i=ye.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,s)})},open:(e,t,s)=>{if(""===e)throw new ye.ErrnoError(44);var i;if(s=void 0===s?438:s,s=64&(t="string"==typeof t?ye.modeStringToFlags(t):t)?4095&s|32768:0,"object"==typeof e)i=e;else{e=Ae.normalize(e);try{i=ye.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var r=!1;if(64&t)if(i){if(128&t)throw new ye.ErrnoError(20)}else i=ye.mknod(e,s,0),r=!0;if(!i)throw new ye.ErrnoError(44);if(ye.isChrdev(i.mode)&&(t&=-513),65536&t&&!ye.isDir(i.mode))throw new ye.ErrnoError(54);if(!r){var o=ye.mayOpen(i,t);if(o)throw new ye.ErrnoError(o)}512&t&&!r&&ye.truncate(i,0),t&=-131713;var n=ye.createStream({node:i,path:ye.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return n.stream_ops.open&&n.stream_ops.open(n),!u.logReadFiles||1&t||(ye.readFiles||(ye.readFiles={}),e in ye.readFiles||(ye.readFiles[e]=1)),n},close:e=>{if(ye.isClosed(e))throw new ye.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ye.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,s)=>{if(ye.isClosed(e))throw new ye.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ye.ErrnoError(70);if(0!=s&&1!=s&&2!=s)throw new ye.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,s),e.ungotten=[],e.position},read:(e,t,s,i,r)=>{if(s>>>=0,i<0||r<0)throw new ye.ErrnoError(28);if(ye.isClosed(e))throw new ye.ErrnoError(8);if(1==(2097155&e.flags))throw new ye.ErrnoError(8);if(ye.isDir(e.node.mode))throw new ye.ErrnoError(31);if(!e.stream_ops.read)throw new ye.ErrnoError(28);var o=void 0!==r;if(o){if(!e.seekable)throw new ye.ErrnoError(70)}else r=e.position;var n=e.stream_ops.read(e,t,s,i,r);return o||(e.position+=n),n},write:(e,t,s,i,r,o)=>{if(s>>>=0,i<0||r<0)throw new ye.ErrnoError(28);if(ye.isClosed(e))throw new ye.ErrnoError(8);if(0==(2097155&e.flags))throw new ye.ErrnoError(8);if(ye.isDir(e.node.mode))throw new ye.ErrnoError(31);if(!e.stream_ops.write)throw new ye.ErrnoError(28);e.seekable&&1024&e.flags&&ye.llseek(e,0,2);var n=void 0!==r;if(n){if(!e.seekable)throw new ye.ErrnoError(70)}else r=e.position;var a=e.stream_ops.write(e,t,s,i,r,o);return n||(e.position+=a),a},allocate:(e,t,s)=>{if(ye.isClosed(e))throw new ye.ErrnoError(8);if(t<0||s<=0)throw new ye.ErrnoError(28);if(0==(2097155&e.flags))throw new ye.ErrnoError(8);if(!ye.isFile(e.node.mode)&&!ye.isDir(e.node.mode))throw new ye.ErrnoError(43);if(!e.stream_ops.allocate)throw new ye.ErrnoError(138);e.stream_ops.allocate(e,t,s)},mmap:(e,t,s,i,r)=>{if(0!=(2&i)&&0==(2&r)&&2!=(2097155&e.flags))throw new ye.ErrnoError(2);if(1==(2097155&e.flags))throw new ye.ErrnoError(2);if(!e.stream_ops.mmap)throw new ye.ErrnoError(43);return e.stream_ops.mmap(e,t,s,i,r)},msync:(e,t,s,i,r)=>(s>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,s,i,r):0),munmap:e=>0,ioctl:(e,t,s)=>{if(!e.stream_ops.ioctl)throw new ye.ErrnoError(59);return e.stream_ops.ioctl(e,t,s)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var s,i=ye.open(e,t.flags),r=ye.stat(e).size,o=new Uint8Array(r);return ye.read(i,o,0,r,0),"utf8"===t.encoding?s=V(o,0):"binary"===t.encoding&&(s=o),ye.close(i),s},writeFile:(e,t,s={})=>{s.flags=s.flags||577;var i=ye.open(e,s.flags,s.mode);if("string"==typeof t){var r=new Uint8Array(W(t)+1),o=j(t,r,0,r.length);ye.write(i,r,0,o,void 0,s.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ye.write(i,t,0,t.byteLength,void 0,s.canOwn)}ye.close(i)},cwd:()=>ye.currentPath,chdir:e=>{var t=ye.lookupPath(e,{follow:!0});if(null===t.node)throw new ye.ErrnoError(44);if(!ye.isDir(t.node.mode))throw new ye.ErrnoError(54);var s=ye.nodePermissions(t.node,"x");if(s)throw new ye.ErrnoError(s);ye.currentPath=t.path},createDefaultDirectories:()=>{ye.mkdir("/tmp"),ye.mkdir("/home"),ye.mkdir("/home/web_user")},createDefaultDevices:()=>{ye.mkdir("/dev"),ye.registerDevice(ye.makedev(1,3),{read:()=>0,write:(e,t,s,i,r)=>i}),ye.mkdev("/dev/null",ye.makedev(1,3)),fe.register(ye.makedev(5,0),fe.default_tty_ops),fe.register(ye.makedev(6,0),fe.default_tty1_ops),ye.mkdev("/dev/tty",ye.makedev(5,0)),ye.mkdev("/dev/tty1",ye.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>ae("randomDevice")}();ye.createDevice("/dev","random",e),ye.createDevice("/dev","urandom",e),ye.mkdir("/dev/shm"),ye.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ye.mkdir("/proc");var e=ye.mkdir("/proc/self");ye.mkdir("/proc/self/fd"),ye.mount({mount:()=>{var t=ye.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var s=+t,i=ye.getStream(s);if(!i)throw new ye.ErrnoError(8);var r={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return r.parent=r,r}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{u.stdin?ye.createDevice("/dev","stdin",u.stdin):ye.symlink("/dev/tty","/dev/stdin"),u.stdout?ye.createDevice("/dev","stdout",null,u.stdout):ye.symlink("/dev/tty","/dev/stdout"),u.stderr?ye.createDevice("/dev","stderr",null,u.stderr):ye.symlink("/dev/tty1","/dev/stderr"),ye.open("/dev/stdin",0),ye.open("/dev/stdout",1),ye.open("/dev/stderr",1)},ensureErrnoError:()=>{ye.ErrnoError||(ye.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ye.ErrnoError.prototype=new Error,ye.ErrnoError.prototype.constructor=ye.ErrnoError,[44].forEach((e=>{ye.genericErrors[e]=new ye.ErrnoError(e),ye.genericErrors[e].stack=""})))},staticInit:()=>{ye.ensureErrnoError(),ye.nameTable=new Array(4096),ye.mount(Ee,{},"/"),ye.createDefaultDirectories(),ye.createDefaultDevices(),ye.createSpecialDirectories(),ye.filesystems={MEMFS:Ee}},init:(e,t,s)=>{ye.init.initialized=!0,ye.ensureErrnoError(),u.stdin=e||u.stdin,u.stdout=t||u.stdout,u.stderr=s||u.stderr,ye.createStandardStreams()},quit:()=>{ye.init.initialized=!1;for(var e=0;e{var s=0;return e&&(s|=365),t&&(s|=146),s},findObject:(e,t)=>{var s=ye.analyzePath(e,t);return s.exists?s.object:null},analyzePath:(e,t)=>{try{e=(i=ye.lookupPath(e,{follow:!t})).path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ye.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=i.path,s.parentObject=i.node,s.name=Ae.basename(e),i=ye.lookupPath(e,{follow:!t}),s.exists=!0,s.path=i.path,s.object=i.node,s.name=i.node.name,s.isRoot="/"===i.path}catch(e){s.error=e.errno}return s},createPath:(e,t,s,i)=>{e="string"==typeof e?e:ye.getPath(e);for(var r=t.split("/").reverse();r.length;){var o=r.pop();if(o){var n=Ae.join2(e,o);try{ye.mkdir(n)}catch(e){}e=n}}return n},createFile:(e,t,s,i,r)=>{var o=Ae.join2("string"==typeof e?e:ye.getPath(e),t),n=ye.getMode(i,r);return ye.create(o,n)},createDataFile:(e,t,s,i,r,o)=>{var n=t;e&&(e="string"==typeof e?e:ye.getPath(e),n=t?Ae.join2(e,t):e);var a=ye.getMode(i,r),l=ye.create(n,a);if(s){if("string"==typeof s){for(var h=new Array(s.length),c=0,u=s.length;c{var r=Ae.join2("string"==typeof e?e:ye.getPath(e),t),o=ye.getMode(!!s,!!i);ye.createDevice.major||(ye.createDevice.major=64);var n=ye.makedev(ye.createDevice.major++,0);return ye.registerDevice(n,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,r,o)=>{for(var n=0,a=0;a{for(var n=0;n{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!A)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=de(A(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new ye.ErrnoError(29)}},createLazyFile:(e,s,i,r,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,s=e/this.chunkSize|0;return this.getter(s)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",i,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+i+". Status: "+e.status);var t,s=Number(e.getResponseHeader("Content-length")),r=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,n=1048576;r||(n=s);var a=this;a.setDataGetter((e=>{var t=e*n,r=(e+1)*n-1;if(r=Math.min(r,s-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>s-1)throw new Error("only "+s+" bytes available! programmer error!");var r=new XMLHttpRequest;if(r.open("GET",i,!1),s!==n&&r.setRequestHeader("Range","bytes="+e+"-"+t),r.responseType="arraybuffer",r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+i+". Status: "+r.status);return void 0!==r.response?new Uint8Array(r.response||[]):de(r.responseText||"",!0)})(t,r)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!o&&s||(n=s=1,s=this.getter(0).length,n=s,P("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=s,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!g)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:a}}else l={isDevice:!1,url:i};var h=ye.createFile(e,s,l,r,o);l.contents?h.contents=l.contents:l.url&&(h.contents=null,h.url=l.url),Object.defineProperties(h,{usedBytes:{get:function(){return this.contents.length}}});var c={};function u(e,t,s,i,r){var o=e.node.contents;if(r>=o.length)return 0;var n=Math.min(o.length-r,i);if(o.slice)for(var a=0;a{var t=h.stream_ops[e];c[e]=function(){return ye.forceLoadFile(h),t.apply(null,arguments)}})),c.read=(e,t,s,i,r)=>(ye.forceLoadFile(h),u(e,t,s,i,r)),c.mmap=(e,s,i,r,o)=>{ye.forceLoadFile(h);var n=me();if(!n)throw new ye.ErrnoError(48);return u(e,t(),n,s,i),{ptr:n,allocated:!0}},h.stream_ops=c,h},createPreloadedFile:(e,t,s,i,r,o,n,a,l,h)=>{var c=t?pe.resolve(Ae.join2(e,t)):e;function u(s){function u(s){h&&h(),a||ye.createDataFile(e,t,s,i,r,l),o&&o(),ne()}Browser.handledByPreloadPlugin(s,c,u,(()=>{n&&n(),ne()}))||u(s)}oe(),"string"==typeof s?function(e,t,s,i){var r=i?"":"al "+e;p(e,(s=>{x(s,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(s)),r&&ne()}),(t=>{if(!s)throw'Loading data file "'+e+'" failed.';s()})),r&&oe()}(s,(e=>u(e)),n):u(s)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=ye.indexedDB();try{var r=i.open(ye.DB_NAME(),ye.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=()=>{P("creating db"),r.result.createObjectStore(ye.DB_STORE_NAME)},r.onsuccess=()=>{var i=r.result.transaction([ye.DB_STORE_NAME],"readwrite"),o=i.objectStore(ye.DB_STORE_NAME),n=0,a=0,l=e.length;function h(){0==a?t():s()}e.forEach((e=>{var t=o.put(ye.analyzePath(e).object.contents,e);t.onsuccess=()=>{++n+a==l&&h()},t.onerror=()=>{a++,n+a==l&&h()}})),i.onerror=s},r.onerror=s},loadFilesFromDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=ye.indexedDB();try{var r=i.open(ye.DB_NAME(),ye.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=s,r.onsuccess=()=>{var i=r.result;try{var o=i.transaction([ye.DB_STORE_NAME],"readonly")}catch(e){return void s(e)}var n=o.objectStore(ye.DB_STORE_NAME),a=0,l=0,h=e.length;function c(){0==l?t():s()}e.forEach((e=>{var t=n.get(e);t.onsuccess=()=>{ye.analyzePath(e).exists&&ye.unlink(e),ye.createDataFile(Ae.dirname(e),Ae.basename(e),t.result,!0,!0,!0),++a+l==h&&c()},t.onerror=()=>{l++,a+l==h&&c()}})),o.onerror=s},r.onerror=s}},ge={DEFAULT_POLLMASK:5,calculateAt:function(e,t,s){if(Ae.isAbs(t))return t;var i;if(i=-100===e?ye.cwd():ge.getStreamFromFD(e).path,0==t.length){if(!s)throw new ye.ErrnoError(44);return i}return Ae.join2(i,t)},doStat:function(e,t,s){try{var i=e(t)}catch(e){if(e&&e.node&&Ae.normalize(t)!==Ae.normalize(ye.getPath(e.node)))return-54;throw e}n()[s>>>2]=i.dev,n()[s+8>>>2]=i.ino,n()[s+12>>>2]=i.mode,a()[s+16>>>2]=i.nlink,n()[s+20>>>2]=i.uid,n()[s+24>>>2]=i.gid,n()[s+28>>>2]=i.rdev,se=[i.size>>>0,(te=i.size,+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+40>>>2]=se[0],n()[s+44>>>2]=se[1],n()[s+48>>>2]=4096,n()[s+52>>>2]=i.blocks;var r=i.atime.getTime(),o=i.mtime.getTime(),l=i.ctime.getTime();return se=[Math.floor(r/1e3)>>>0,(te=Math.floor(r/1e3),+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+56>>>2]=se[0],n()[s+60>>>2]=se[1],a()[s+64>>>2]=r%1e3*1e3,se=[Math.floor(o/1e3)>>>0,(te=Math.floor(o/1e3),+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+72>>>2]=se[0],n()[s+76>>>2]=se[1],a()[s+80>>>2]=o%1e3*1e3,se=[Math.floor(l/1e3)>>>0,(te=Math.floor(l/1e3),+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+88>>>2]=se[0],n()[s+92>>>2]=se[1],a()[s+96>>>2]=l%1e3*1e3,se=[i.ino>>>0,(te=i.ino,+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[s+104>>>2]=se[0],n()[s+108>>>2]=se[1],0},doMsync:function(e,t,s,r,o){if(!ye.isFile(t.node.mode))throw new ye.ErrnoError(43);if(2&r)return 0;e>>>=0;var n=i().slice(e,e+s);ye.msync(t,n,o,s,r)},varargs:void 0,get:function(){return ge.varargs+=4,n()[ge.varargs-4>>>2]},getStr:function(e){return Q(e)},getStreamFromFD:function(e){var t=ye.getStream(e);if(!t)throw new ye.ErrnoError(8);return t}};function ve(e){if(I)return ls(1,1,e);O=e,J()||(Te.terminateAllThreads(),u.onExit&&u.onExit(e),S=!0),E(e,new ce(e))}var Ie=function(e,t){if(O=e,!t&&I)throw Re(e),"unwind";ve(e)},Te={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){I?Te.initWorker():Te.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)Te.allocateUnusedWorker()},initWorker:function(){b=!1},setExitStatus:function(e){O=e},terminateAllThreads:function(){for(var e of Object.values(Te.pthreads))Te.returnWorkerToPool(e);for(var e of Te.unusedWorkers)e.terminate();Te.unusedWorkers=[]},returnWorkerToPool:function(e){var t=e.pthread_ptr;delete Te.pthreads[t],Te.unusedWorkers.push(e),Te.runningWorkers.splice(Te.runningWorkers.indexOf(e),1),e.pthread_ptr=0,Fs(t)},receiveObjectTransfer:function(e){},threadInitTLS:function(){Te.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((t=>{e.onmessage=s=>{var i,r=s.data,o=r.cmd;if(e.pthread_ptr&&(Te.currentProxiedOperationCallerThread=e.pthread_ptr),r.targetThread&&r.targetThread!=bs()){var n=Te.pthreads[r.targetThread];return n?n.postMessage(r,r.transferList):D('Internal error! Worker sent a message "'+o+'" to target pthread '+r.targetThread+", but that thread no longer exists!"),void(Te.currentProxiedOperationCallerThread=void 0)}"processProxyingQueue"===o?ts(r.queue):"spawnThread"===o?function(e){var t=Te.getNewWorker();if(!t)return 6;Te.runningWorkers.push(t),Te.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var s={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};t.postMessage(s,e.transferList)}(r):"cleanupThread"===o?ue(r.thread):"killThread"===o?function(e){var t=Te.pthreads[e];delete Te.pthreads[e],t.terminate(),Fs(e),Te.runningWorkers.splice(Te.runningWorkers.indexOf(t),1),t.pthread_ptr=0}(r.thread):"cancelThread"===o?(i=r.thread,Te.pthreads[i].postMessage({cmd:"cancel"})):"loaded"===o?(e.loaded=!0,t(e)):"print"===o?P("Thread "+r.threadId+": "+r.text):"printErr"===o?D("Thread "+r.threadId+": "+r.text):"alert"===o?alert("Thread "+r.threadId+": "+r.text):"setimmediate"===r.target?e.postMessage(r):"callHandler"===o?u[r.handler](...r.args):o&&D("worker sent an unknown command "+o),Te.currentProxiedOperationCallerThread=void 0},e.onerror=e=>{throw D("worker sent an error! "+e.filename+":"+e.lineno+": "+e.message),e};var i=[];for(var r of["onExit","onAbort","print","printErr"])u.hasOwnProperty(r)&&i.push(r);e.postMessage({cmd:"load",handlers:i,urlOrBlob:u.mainScriptUrlOrBlob||s,wasmMemory:N,wasmModule:C})})),loadWasmModuleToAllWorkers:function(e){if(I)return e();Promise.all(Te.unusedWorkers.map(Te.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker:function(){var e,t=_("web-ifc-mt.worker.js");e=new Worker(t),Te.unusedWorkers.push(e)},getNewWorker:function(){return 0==Te.unusedWorkers.length&&(Te.allocateUnusedWorker(),Te.loadWasmModuleToWorker(Te.unusedWorkers[0])),Te.unusedWorkers.pop()}};function _e(e){for(;e.length>0;)e.shift()(u)}function Re(e){if(I)return ls(2,0,e);try{Ie(e)}catch(e){!function(e){if(e instanceof ce||"unwind"==e)return O;E(1,e)}(e)}}u.PThread=Te,u.establishStackSpace=function(){var e=bs(),t=n()[e+52>>>2],s=n()[e+56>>>2];Us(t,t-s),Gs(t)};var Pe=[];function De(e){var t=Pe[e];return t||(e>=Pe.length&&(Pe.length=e+1),Pe[e]=t=K.get(e)),t}function Ne(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){a()[this.ptr+4>>>2]=e},this.get_type=function(){return a()[this.ptr+4>>>2]},this.set_destructor=function(e){a()[this.ptr+8>>>2]=e},this.get_destructor=function(){return a()[this.ptr+8>>>2]},this.set_refcount=function(e){n()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(n(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(n(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){a()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return a()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Vs(this.get_type()))return a()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}u.invokeEntryPoint=function(e,t){var s=De(e)(t);J()?Te.setExitStatus(s):Ms(s)};var Ce="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking",be={};function Oe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Se(e){return this.fromWireType(n()[e>>>2])}var xe={},we={},Be={};function Fe(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function Me(e,t){return e=Fe(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function Le(e,t){var s=Me(t,(function(e){this.name=t,this.message=e;var s=new Error(e).stack;void 0!==s&&(this.stack=this.toString()+"\n"+s.replace(/^Error(:[^\n]*)?\n/,""))}));return s.prototype=Object.create(e.prototype),s.prototype.constructor=s,s.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},s}var Ue=void 0;function He(e){throw new Ue(e)}function Ge(e,t,s){function i(t){var i=s(t);i.length!==e.length&&He("Mismatched type converter count");for(var r=0;r{we.hasOwnProperty(e)?r[t]=we[e]:(o.push(e),xe.hasOwnProperty(e)||(xe[e]=[]),xe[e].push((()=>{r[t]=we[e],++n===o.length&&i(r)})))})),0===o.length&&i(r)}var ke={};function Ve(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var Qe=void 0;function je(e){for(var t="",s=e;i()[s>>>0];)t+=Qe[i()[s++>>>0]];return t}var We=void 0;function ze(e){throw new We(e)}function Ke(e,t,s={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||ze('type "'+i+'" must have a positive integer typeid pointer'),we.hasOwnProperty(e)){if(s.ignoreDuplicateRegistrations)return;ze("Cannot register type '"+i+"' twice")}if(we[e]=t,delete Be[e],xe.hasOwnProperty(e)){var r=xe[e];delete xe[e],r.forEach((e=>e()))}}function Ye(e){if(!(this instanceof Et))return!1;if(!(e instanceof Et))return!1;for(var t=this.$$.ptrType.registeredClass,s=this.$$.ptr,i=e.$$.ptrType.registeredClass,r=e.$$.ptr;t.baseClass;)s=t.upcast(s),t=t.baseClass;for(;i.baseClass;)r=i.upcast(r),i=i.baseClass;return t===i&&s===r}function Xe(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function Ze(e){ze(e.$$.ptrType.registeredClass.name+" instance already deleted")}var qe=!1;function Je(e){}function $e(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function et(e,t,s){if(t===s)return e;if(void 0===s.baseClass)return null;var i=et(e,t,s.baseClass);return null===i?null:s.downcast(i)}var tt={};function st(){return Object.keys(lt).length}function it(){var e=[];for(var t in lt)lt.hasOwnProperty(t)&&e.push(lt[t]);return e}var rt=[];function ot(){for(;rt.length;){var e=rt.pop();e.$$.deleteScheduled=!1,e.delete()}}var nt=void 0;function at(e){nt=e,rt.length&&nt&&nt(ot)}var lt={};function ht(e,t){return t=function(e,t){for(void 0===t&&ze("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),lt[t]}function ct(e,t){return t.ptrType&&t.ptr||He("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&He("Both smartPtrType and smartPtr must be specified"),t.count={value:1},At(Object.create(e,{$$:{value:t}}))}function ut(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var s=ht(this.registeredClass,t);if(void 0!==s){if(0===s.$$.count.value)return s.$$.ptr=t,s.$$.smartPtr=e,s.clone();var i=s.clone();return this.destructor(e),i}function r(){return this.isSmartPointer?ct(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ct(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,n=this.registeredClass.getActualType(t),a=tt[n];if(!a)return r.call(this);o=this.isConst?a.constPointerType:a.pointerType;var l=et(t,this.registeredClass,o.registeredClass);return null===l?r.call(this):this.isSmartPointer?ct(o.registeredClass.instancePrototype,{ptrType:o,ptr:l,smartPtrType:this,smartPtr:e}):ct(o.registeredClass.instancePrototype,{ptrType:o,ptr:l})}function At(e){return"undefined"==typeof FinalizationRegistry?(At=e=>e,e):(qe=new FinalizationRegistry((e=>{$e(e.$$)})),Je=e=>qe.unregister(e),(At=e=>{var t=e.$$;if(t.smartPtr){var s={$$:t};qe.register(e,s,e)}return e})(e))}function pt(){if(this.$$.ptr||Ze(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=At(Object.create(Object.getPrototypeOf(this),{$$:{value:Xe(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function dt(){this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ze("Object already scheduled for deletion"),Je(this),$e(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function ft(){return!this.$$.ptr}function mt(){return this.$$.ptr||Ze(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ze("Object already scheduled for deletion"),rt.push(this),1===rt.length&&nt&&nt(ot),this.$$.deleteScheduled=!0,this}function Et(){}function yt(e,t,s){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ze("Function '"+s+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function gt(e,t,s){u.hasOwnProperty(e)?((void 0===s||void 0!==u[e].overloadTable&&void 0!==u[e].overloadTable[s])&&ze("Cannot register public name '"+e+"' twice"),yt(u,e,e),u.hasOwnProperty(s)&&ze("Cannot register multiple overloads of a function with the same number of arguments ("+s+")!"),u[e].overloadTable[s]=t):(u[e]=t,void 0!==s&&(u[e].numArguments=s))}function vt(e,t,s,i,r,o,n,a){this.name=e,this.constructor=t,this.instancePrototype=s,this.rawDestructor=i,this.baseClass=r,this.getActualType=o,this.upcast=n,this.downcast=a,this.pureVirtualFunctions=[]}function It(e,t,s){for(;t!==s;)t.upcast||ze("Expected null or instance of "+s.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Tt(e,t){if(null===t)return this.isReference&&ze("null is not a valid "+this.name),0;t.$$||ze('Cannot pass "'+Wt(t)+'" as a '+this.name),t.$$.ptr||ze("Cannot pass deleted object as a pointer of type "+this.name);var s=t.$$.ptrType.registeredClass;return It(t.$$.ptr,s,this.registeredClass)}function _t(e,t){var s;if(null===t)return this.isReference&&ze("null is not a valid "+this.name),this.isSmartPointer?(s=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,s),s):0;t.$$||ze('Cannot pass "'+Wt(t)+'" as a '+this.name),t.$$.ptr||ze("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&ze("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(s=It(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ze("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?s=t.$$.smartPtr:ze("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:s=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)s=t.$$.smartPtr;else{var r=t.clone();s=this.rawShare(s,Vt.toHandle((function(){r.delete()}))),null!==e&&e.push(this.rawDestructor,s)}break;default:ze("Unsupporting sharing policy")}return s}function Rt(e,t){if(null===t)return this.isReference&&ze("null is not a valid "+this.name),0;t.$$||ze('Cannot pass "'+Wt(t)+'" as a '+this.name),t.$$.ptr||ze("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&ze("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var s=t.$$.ptrType.registeredClass;return It(t.$$.ptr,s,this.registeredClass)}function Pt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Dt(e){this.rawDestructor&&this.rawDestructor(e)}function Nt(e){null!==e&&e.delete()}function Ct(e,t,s,i,r,o,n,a,l,h,c){this.name=e,this.registeredClass=t,this.isReference=s,this.isConst=i,this.isSmartPointer=r,this.pointeeType=o,this.sharingPolicy=n,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=h,this.rawDestructor=c,r||void 0!==t.baseClass?this.toWireType=_t:i?(this.toWireType=Tt,this.destructorFunction=null):(this.toWireType=Rt,this.destructorFunction=null)}function bt(e,t,s){u.hasOwnProperty(e)||He("Replacing nonexistant public symbol"),void 0!==u[e].overloadTable&&void 0!==s?u[e].overloadTable[s]=t:(u[e]=t,u[e].argCount=s)}function Ot(e,t,s){return e.includes("j")?function(e,t,s){var i=u["dynCall_"+e];return s&&s.length?i.apply(null,[t].concat(s)):i.call(null,t)}(e,t,s):De(t).apply(null,s)}function St(e,t){var s,i,r,o=(e=je(e)).includes("j")?(s=e,i=t,r=[],function(){return r.length=0,Object.assign(r,arguments),Ot(s,i,r)}):De(t);return"function"!=typeof o&&ze("unknown function pointer with signature "+e+": "+t),o}var xt=void 0;function wt(e){var t=Os(e),s=je(t);return Ls(t),s}function Bt(e,t){var s=[],i={};throw t.forEach((function e(t){i[t]||we[t]||(Be[t]?Be[t].forEach(e):(s.push(t),i[t]=!0))})),new xt(e+": "+s.map(wt).join([", "]))}function Ft(e,t){for(var s=[],i=0;i>>2]);return s}function Mt(e,t,s,i,r){var o=t.length;o<2&&ze("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var n=null!==t[1]&&null!==s,a=!1,l=1;l0?", ":"")+u),A+=(h?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",a)A+="runDestructors(destructors);\n";else for(l=n?1:2;l4&&0==--Ut[e].refcount&&(Ut[e]=void 0,Lt.push(e))}function Gt(){for(var e=0,t=5;t(e||ze("Cannot use deleted val. handle = "+e),Ut[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Lt.length?Lt.pop():Ut.length;return Ut[t]={refcount:1,value:e},t}}};function Qt(e,s,l){switch(s){case 0:return function(e){var s=l?t():i();return this.fromWireType(s[e>>>0])};case 1:return function(e){var t=l?r():o();return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=l?n():a();return this.fromWireType(t[e>>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function jt(e,t){var s=we[e];return void 0===s&&ze(t+" has unknown type "+wt(e)),s}function Wt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function zt(e,t){switch(t){case 2:return function(e){return this.fromWireType((N.buffer!=w.buffer&&z(),H)[e>>>2])};case 3:return function(e){return this.fromWireType(l()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Kt(e,s,l){switch(s){case 0:return l?function(e){return t()[e>>>0]}:function(e){return i()[e>>>0]};case 1:return l?function(e){return r()[e>>>1]}:function(e){return o()[e>>>1]};case 2:return l?function(e){return n()[e>>>2]}:function(e){return a()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var Yt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Xt(e,t){for(var s=e,n=s>>1,a=n+t/2;!(n>=a)&&o()[n>>>0];)++n;if((s=n<<1)-e>32&&Yt)return Yt.decode(i().slice(e,s));for(var l="",h=0;!(h>=t/2);++h){var c=r()[e+2*h>>>1];if(0==c)break;l+=String.fromCharCode(c)}return l}function Zt(e,t,s){if(void 0===s&&(s=2147483647),s<2)return 0;for(var i=t,o=(s-=2)<2*e.length?s/2:e.length,n=0;n>>1]=a,t+=2}return r()[t>>>1]=0,t-i}function qt(e){return 2*e.length}function Jt(e,t){for(var s=0,i="";!(s>=t/4);){var r=n()[e+4*s>>>2];if(0==r)break;if(++s,r>=65536){var o=r-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(r)}return i}function $t(e,t,s){if(void 0===s&&(s=2147483647),s<4)return 0;for(var i=t>>>=0,r=i+s-4,o=0;o=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++o)),n()[t>>>2]=a,(t+=4)+4>r)break}return n()[t>>>2]=0,t-i}function es(e){for(var t=0,s=0;s=55296&&i<=57343&&++s,t+=4}return t}function ts(e){Atomics.store(n(),e>>2,1),bs()&&Bs(e),Atomics.compareExchange(n(),e>>2,1,0)}u.executeNotifiedProxyingQueue=ts;var ss,is={};function rs(e){var t=is[e];return void 0===t?je(e):t}function os(){return"object"==typeof globalThis?globalThis:Function("return this")()}function ns(e){ns.shown||(ns.shown={}),ns.shown[e]||(ns.shown[e]=1,D(e))}function as(e){var t=Hs(),s=e();return Gs(t),s}function ls(e,t){var s=arguments.length-2,i=arguments;return as((()=>{for(var r=s,o=ks(8*r),n=o>>3,a=0;a>>0]=h}return ws(e,r,o,t)}))}ss=()=>performance.timeOrigin+performance.now();var hs=[];function cs(e){var t=N.buffer;try{return N.grow(e-t.byteLength+65535>>>16),z(),1}catch(e){}}var us={};function As(){if(!As.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:m||"./this.program"};for(var t in us)void 0===us[t]?delete e[t]:e[t]=us[t];var s=[];for(var t in e)s.push(t+"="+e[t]);As.strings=s}return As.strings}function ps(e,s){if(I)return ls(3,1,e,s);var i=0;return As().forEach((function(r,o){var n=s+i;a()[e+4*o>>>2]=n,function(e,s,i){for(var r=0;r>>0]=e.charCodeAt(r);i||(t()[s>>>0]=0)}(r,n),i+=r.length+1})),0}function ds(e,t){if(I)return ls(4,1,e,t);var s=As();a()[e>>>2]=s.length;var i=0;return s.forEach((function(e){i+=e.length+1})),a()[t>>>2]=i,0}function fs(e){if(I)return ls(5,1,e);try{var t=ge.getStreamFromFD(e);return ye.close(t),0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}}function ms(e,s,i,r){if(I)return ls(6,1,e,s,i,r);try{var o=function(e,s,i,r){for(var o=0,n=0;n>>2],h=a()[s+4>>>2];s+=8;var c=ye.read(e,t(),l,h,r);if(c<0)return-1;if(o+=c,c>>2]=o,0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}}function Es(e,t,s,i,r){if(I)return ls(7,1,e,t,s,i,r);try{var o=(h=s)+2097152>>>0<4194305-!!(l=t)?(l>>>0)+4294967296*h:NaN;if(isNaN(o))return 61;var a=ge.getStreamFromFD(e);return ye.llseek(a,o,i),se=[a.position>>>0,(te=a.position,+Math.abs(te)>=1?te>0?(0|Math.min(+Math.floor(te/4294967296),4294967295))>>>0:~~+Math.ceil((te-+(~~te>>>0))/4294967296)>>>0:0)],n()[r>>>2]=se[0],n()[r+4>>>2]=se[1],a.getdents&&0===o&&0===i&&(a.getdents=null),0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}var l,h}function ys(e,s,i,r){if(I)return ls(8,1,e,s,i,r);try{var o=function(e,s,i,r){for(var o=0,n=0;n>>2],h=a()[s+4>>>2];s+=8;var c=ye.write(e,t(),l,h,r);if(c<0)return-1;o+=c,void 0!==r&&(r+=c)}return o}(ge.getStreamFromFD(e),s,i);return a()[r>>>2]=o,0}catch(e){if(void 0===ye||!(e instanceof ye.ErrnoError))throw e;return e.errno}}function gs(e){return e%4==0&&(e%100!=0||e%400==0)}var vs=[31,29,31,30,31,30,31,31,30,31,30,31],Is=[31,28,31,30,31,30,31,31,30,31,30,31];function Ts(e,s,i,r){var o=n()[r+40>>>2],a={tm_sec:n()[r>>>2],tm_min:n()[r+4>>>2],tm_hour:n()[r+8>>>2],tm_mday:n()[r+12>>>2],tm_mon:n()[r+16>>>2],tm_year:n()[r+20>>>2],tm_wday:n()[r+24>>>2],tm_yday:n()[r+28>>>2],tm_isdst:n()[r+32>>>2],tm_gmtoff:n()[r+36>>>2],tm_zone:o?Q(o):""},l=Q(i),h={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in h)l=l.replace(new RegExp(c,"g"),h[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],A=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,s){for(var i="number"==typeof e?e.toString():e||"";i.length0?1:0}var i;return 0===(i=s(e.getFullYear()-t.getFullYear()))&&0===(i=s(e.getMonth()-t.getMonth()))&&(i=s(e.getDate()-t.getDate())),i}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function E(e){var t=function(e,t){for(var s=new Date(e.getTime());t>0;){var i=gs(s.getFullYear()),r=s.getMonth(),o=(i?vs:Is)[r];if(!(t>o-s.getDate()))return s.setDate(s.getDate()+t),s;t-=o-s.getDate()+1,s.setDate(1),r<11?s.setMonth(r+1):(s.setMonth(0),s.setFullYear(s.getFullYear()+1))}return s}(new Date(e.tm_year+1900,0,1),e.tm_yday),s=new Date(t.getFullYear(),0,4),i=new Date(t.getFullYear()+1,0,4),r=m(s),o=m(i);return f(r,t)<=0?f(o,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var y={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return A[e.tm_mon].substring(0,3)},"%B":function(e){return A[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return E(e).toString().substring(2)},"%G":function(e){return E(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+function(e,t){for(var s=0,i=0;i<=t;s+=e[i++]);return s}(gs(e.tm_year+1900)?vs:Is,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return d(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var s=(e.tm_wday+371-e.tm_yday)%7;4==s||3==s&&gs(e.tm_year)||(t=1)}}else{t=52;var i=(e.tm_wday+7-e.tm_yday-1)%7;(4==i||5==i&&gs(e.tm_year%400-1))&&t++}return d(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return d(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,s=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(s?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in l=l.replace(/%%/g,"\0\0"),y)l.includes(c)&&(l=l.replace(new RegExp(c,"g"),y[c](a)));var g,v,I=de(l=l.replace(/\0\0/g,"%"),!1);return I.length>s?0:(g=I,v=e,t().set(g,v>>>0),I.length-1)}Te.init();var _s=function(e,t,s,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ye.nextInode++,this.name=t,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=i},Rs=365,Ps=146;Object.defineProperties(_s.prototype,{read:{get:function(){return(this.mode&Rs)===Rs},set:function(e){e?this.mode|=Rs:this.mode&=-366}},write:{get:function(){return(this.mode&Ps)===Ps},set:function(e){e?this.mode|=Ps:this.mode&=-147}},isFolder:{get:function(){return ye.isDir(this.mode)}},isDevice:{get:function(){return ye.isChrdev(this.mode)}}}),ye.FSNode=_s,ye.staticInit(),Ue=u.InternalError=Le(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);Qe=e}(),We=u.BindingError=Le(Error,"BindingError"),Et.prototype.isAliasOf=Ye,Et.prototype.clone=pt,Et.prototype.delete=dt,Et.prototype.isDeleted=ft,Et.prototype.deleteLater=mt,u.getInheritedInstanceCount=st,u.getLiveInheritedInstances=it,u.flushPendingDeletes=ot,u.setDelayFunction=at,Ct.prototype.getPointee=Pt,Ct.prototype.destructor=Dt,Ct.prototype.argPackAdvance=8,Ct.prototype.readValueFromPointer=Se,Ct.prototype.deleteObject=Nt,Ct.prototype.fromWireType=ut,xt=u.UnboundTypeError=Le(Error,"UnboundTypeError"),u.count_emval_handles=Gt,u.get_first_emval=kt;var Ds=[null,ve,Re,ps,ds,fs,ms,Es,ys],Ns={g:function(e,t,s){throw new Ne(e).init(t,s),e},T:function(e){Ss(e,!g,1,!y),Te.threadInitTLS()},J:function(e){I?postMessage({cmd:"cleanupThread",thread:e}):ue(e)},X:function(e){},_:function(e){ae(Ce)},Z:function(e,t){ae(Ce)},da:function(e){var t=be[e];delete be[e];var s=t.elements,i=s.length,r=s.map((function(e){return e.getterReturnType})).concat(s.map((function(e){return e.setterArgumentType}))),o=t.rawConstructor,n=t.rawDestructor;Ge([e],r,(function(e){return s.forEach(((t,s)=>{var r=e[s],o=t.getter,n=t.getterContext,a=e[s+i],l=t.setter,h=t.setterContext;t.read=e=>r.fromWireType(o(n,e)),t.write=(e,t)=>{var s=[];l(h,e,a.toWireType(s,t)),Oe(s)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(i),r=0;r>>l])},destructorFunction:null})},p:function(e,t,s,i,r,o,n,a,l,h,c,u,A){c=je(c),o=St(r,o),a&&(a=St(n,a)),h&&(h=St(l,h)),A=St(u,A);var p=Fe(c);gt(p,(function(){Bt("Cannot construct "+c+" due to unbound types",[i])})),Ge([e,t,s],i?[i]:[],(function(t){var s,r;t=t[0],r=i?(s=t.registeredClass).instancePrototype:Et.prototype;var n=Me(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new We("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new We(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new We("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(r,{constructor:{value:n}});n.prototype=l;var u=new vt(c,n,l,A,s,o,a,h),d=new Ct(c,u,!0,!1,!1),f=new Ct(c+"*",u,!1,!1,!1),m=new Ct(c+" const*",u,!1,!0,!1);return tt[e]={pointerType:f,constPointerType:m},bt(p,n),[d,f,m]}))},o:function(e,t,s,i,r,o){x(t>0);var n=Ft(t,s);r=St(i,r),Ge([],[e],(function(e){var s="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new We("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{Bt("Cannot construct "+e.name+" due to unbound types",n)},Ge([],n,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Mt(s,i,null,r,o),[]})),[]}))},c:function(e,t,s,i,r,o,n,a){var l=Ft(s,i);t=je(t),o=St(r,o),Ge([],[e],(function(e){var i=(e=e[0]).name+"."+t;function r(){Bt("Cannot call "+i+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var h=e.registeredClass.instancePrototype,c=h[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===s-2?(r.argCount=s-2,r.className=e.name,h[t]=r):(yt(h,t,i),h[t].overloadTable[s-2]=r),Ge([],l,(function(r){var a=Mt(i,r,e,o,n);return void 0===h[t].overloadTable?(a.argCount=s-2,h[t]=a):h[t].overloadTable[s-2]=a,[]})),[]}))},aa:function(e,t){Ke(e,{name:t=je(t),fromWireType:function(e){var t=Vt.toValue(e);return Ht(e),t},toWireType:function(e,t){return Vt.toHandle(t)},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:null})},D:function(e,t,s,i){var r=Ve(s);function o(){}t=je(t),o.values={},Ke(e,{name:t,constructor:o,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:Qt(t,r,i),destructorFunction:null}),gt(t,o)},t:function(e,t,s){var i=jt(e,"enum");t=je(t);var r=i.constructor,o=Object.create(i.constructor.prototype,{value:{value:s},constructor:{value:Me(i.name+"_"+t,(function(){}))}});r.values[s]=o,r[t]=o},B:function(e,t,s){var i=Ve(s);Ke(e,{name:t=je(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:zt(t,i),destructorFunction:null})},d:function(e,t,s,i,r,o){var n=Ft(t,s);e=je(e),r=St(i,r),gt(e,(function(){Bt("Cannot call "+e+" due to unbound types",n)}),t-1),Ge([],n,(function(s){var i=[s[0],null].concat(s.slice(1));return bt(e,Mt(e,i,null,r,o),t-1),[]}))},s:function(e,t,s,i,r){t=je(t);var o=Ve(s),n=e=>e;if(0===i){var a=32-8*s;n=e=>e<>>a}var l=t.includes("unsigned");Ke(e,{name:t,fromWireType:n,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Kt(t,o,0!==i),destructorFunction:null})},i:function(e,t,s){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function r(e){e>>=2;var t=a(),s=t[e>>>0],r=t[e+1>>>0];return new i(t.buffer,r,s)}Ke(e,{name:s=je(s),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})},C:function(e,t){var s="std::string"===(t=je(t));Ke(e,{name:t,fromWireType:function(e){var t,r=a()[e>>>2],o=e+4;if(s)for(var n=o,l=0;l<=r;++l){var h=o+l;if(l==r||0==i()[h>>>0]){var c=Q(n,h-n);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),n=h+1}}else{var u=new Array(r);for(l=0;l>>0]);t=u.join("")}return Ls(e),t},toWireType:function(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ze("Cannot pass non-string to std::string"),r=s&&o?W(t):t.length;var n,l,h=Cs(4+r+1),c=h+4;if(c>>>=0,a()[h>>>2]=r,s&&o)n=c,l=r+1,j(t,i(),n,l);else if(o)for(var u=0;u255&&(Ls(c),ze("String has UTF-16 code units that do not fit in 8 bits")),i()[c+u>>>0]=A}else for(u=0;u>>0]=t[u];return null!==e&&e.push(Ls,h),h},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:function(e){Ls(e)}})},x:function(e,t,s){var i,r,n,l,h;s=je(s),2===t?(i=Xt,r=Zt,l=qt,n=()=>o(),h=1):4===t&&(i=Jt,r=$t,l=es,n=()=>a(),h=2),Ke(e,{name:s,fromWireType:function(e){for(var s,r=a()[e>>>2],o=n(),l=e+4,c=0;c<=r;++c){var u=e+4+c*t;if(c==r||0==o[u>>>h]){var A=i(l,u-l);void 0===s?s=A:(s+=String.fromCharCode(0),s+=A),l=u+t}}return Ls(e),s},toWireType:function(e,i){"string"!=typeof i&&ze("Cannot pass non-string to C++ string type "+s);var o=l(i),n=Cs(4+o+t);return n>>>=0,a()[n>>>2]=o>>h,r(i,n+4,o+t),null!==e&&e.push(Ls,n),n},argPackAdvance:8,readValueFromPointer:Se,destructorFunction:function(e){Ls(e)}})},ea:function(e,t,s,i,r,o){be[e]={name:je(t),rawConstructor:St(s,i),rawDestructor:St(r,o),elements:[]}},j:function(e,t,s,i,r,o,n,a,l){be[e].elements.push({getterReturnType:t,getter:St(s,i),getterContext:r,setterArgumentType:o,setter:St(n,a),setterContext:l})},r:function(e,t,s,i,r,o){ke[e]={name:je(t),rawConstructor:St(s,i),rawDestructor:St(r,o),fields:[]}},f:function(e,t,s,i,r,o,n,a,l,h){ke[e].fields.push({fieldName:je(t),getterReturnType:s,getter:St(i,r),getterContext:o,setterArgumentType:n,setter:St(a,l),setterContext:h})},ca:function(e,t){Ke(e,{isVoid:!0,name:t=je(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},Y:function(e){D(Q(e))},V:function(e,t,s,i){if(e==t)setTimeout((()=>ts(i)));else if(I)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:i});else{var r=Te.pthreads[e];if(!r)return;r.postMessage({cmd:"processProxyingQueue",queue:i})}return 1},S:function(e,t,s){return-1},n:function(e,t,s){e=Vt.toValue(e),t=jt(t,"emval::as");var i=[],r=Vt.toHandle(i);return a()[s>>>2]=r,t.toWireType(i,e)},z:function(e,t,s,i){e=Vt.toValue(e);for(var r=function(e,t){for(var s=new Array(e),i=0;i>>2],"parameter "+i);return s}(t,s),o=new Array(t),n=0;n4&&(Ut[e].refcount+=1)},ga:function(e,t){return(e=Vt.toValue(e))instanceof(t=Vt.toValue(t))},y:function(e){return"number"==typeof(e=Vt.toValue(e))},E:function(e){return"string"==typeof(e=Vt.toValue(e))},fa:function(){return Vt.toHandle([])},h:function(e){return Vt.toHandle(rs(e))},w:function(){return Vt.toHandle({})},m:function(e){Oe(Vt.toValue(e)),Ht(e)},k:function(e,t,s){e=Vt.toValue(e),t=Vt.toValue(t),s=Vt.toValue(s),e[t]=s},e:function(e,t){var s=(e=jt(e,"_emval_take_value")).readValueFromPointer(t);return Vt.toHandle(s)},A:function(){ae("")},U:function(){g||ns("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")},v:ss,W:function(e,t,s){i().copyWithin(e>>>0,t>>>0,t+s>>>0)},R:function(e,t,s){hs.length=t;for(var i=s>>3,r=0;r>>0];return Ds[e].apply(null,hs)},P:function(e){var t=i().length;if((e>>>=0)<=t)return!1;var s,r,o=4294901760;if(e>o)return!1;for(var n=1;n<=4;n*=2){var a=t*(1+.2/n);if(a=Math.min(a,e+100663296),cs(Math.min(o,(s=Math.max(e,a))+((r=65536)-s%r)%r)))return!0}return!1},$:function(){throw"unwind"},L:ps,M:ds,I:Ie,N:fs,O:ms,G:Es,Q:ys,a:N||u.wasmMemory,K:function(e,t,s,i,r){return Ts(e,t,s,i)}};!function(){var e={a:Ns};function t(e,t){var s,i,r=e.exports;u.asm=r,s=u.asm.ka,Te.tlsInitFunctions.push(s),K=u.asm.ia,i=u.asm.ha,Z.unshift(i),C=t,Te.loadWasmModuleToAllWorkers((()=>ne()))}function s(e){t(e.instance,e.module)}function i(t){return(R||!y&&!g||"function"!=typeof fetch?Promise.resolve().then((function(){return he(ee)})):fetch(ee,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ee+"'";return e.arrayBuffer()})).catch((function(){return he(ee)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){D("failed to asynchronously prepare wasm: "+e),ae(e)}))}if(oe(),u.instantiateWasm)try{return u.instantiateWasm(e,t)}catch(e){D("Module.instantiateWasm callback failed with error: "+e),c(e)}(R||"function"!=typeof WebAssembly.instantiateStreaming||le(ee)||"function"!=typeof fetch?i(s):fetch(ee,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(s,(function(e){return D("wasm streaming compile failed: "+e),D("falling back to ArrayBuffer instantiation"),i(s)}))}))).catch(c)}();var Cs=function(){return(Cs=u.asm.ja).apply(null,arguments)};u.__emscripten_tls_init=function(){return(u.__emscripten_tls_init=u.asm.ka).apply(null,arguments)};var bs=u._pthread_self=function(){return(bs=u._pthread_self=u.asm.la).apply(null,arguments)},Os=u.___getTypeName=function(){return(Os=u.___getTypeName=u.asm.ma).apply(null,arguments)};u.__embind_initialize_bindings=function(){return(u.__embind_initialize_bindings=u.asm.na).apply(null,arguments)};var Ss=u.__emscripten_thread_init=function(){return(Ss=u.__emscripten_thread_init=u.asm.oa).apply(null,arguments)};u.__emscripten_thread_crashed=function(){return(u.__emscripten_thread_crashed=u.asm.pa).apply(null,arguments)};var xs,ws=function(){return(ws=u.asm.qa).apply(null,arguments)},Bs=u.__emscripten_proxy_execute_task_queue=function(){return(Bs=u.__emscripten_proxy_execute_task_queue=u.asm.ra).apply(null,arguments)},Fs=function(){return(Fs=u.asm.sa).apply(null,arguments)},Ms=u.__emscripten_thread_exit=function(){return(Ms=u.__emscripten_thread_exit=u.asm.ta).apply(null,arguments)},Ls=function(){return(Ls=u.asm.ua).apply(null,arguments)},Us=function(){return(Us=u.asm.va).apply(null,arguments)},Hs=function(){return(Hs=u.asm.wa).apply(null,arguments)},Gs=function(){return(Gs=u.asm.xa).apply(null,arguments)},ks=function(){return(ks=u.asm.ya).apply(null,arguments)},Vs=function(){return(Vs=u.asm.za).apply(null,arguments)};function Qs(){if(!(ie>0)){if(I)return h(u),$(),void startWorker(u);!function(){if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)e=u.preRun.shift(),X.unshift(e);var e;_e(X)}(),ie>0||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),e()}),1)):e())}function e(){xs||(xs=!0,u.calledRun=!0,S||($(),h(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),function(){if(!I){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)e=u.postRun.shift(),q.unshift(e);var e;_e(q)}}()))}}if(u.dynCall_jiji=function(){return(u.dynCall_jiji=u.asm.Aa).apply(null,arguments)},u.dynCall_viijii=function(){return(u.dynCall_viijii=u.asm.Ba).apply(null,arguments)},u.dynCall_iiiiij=function(){return(u.dynCall_iiiiij=u.asm.Ca).apply(null,arguments)},u.dynCall_iiiiijj=function(){return(u.dynCall_iiiiijj=u.asm.Da).apply(null,arguments)},u.dynCall_iiiiiijj=function(){return(u.dynCall_iiiiiijj=u.asm.Ea).apply(null,arguments)},u.keepRuntimeAlive=J,u.wasmMemory=N,u.ExitStatus=ce,u.PThread=Te,re=function e(){xs||Qs(),xs||(re=e)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();return Qs(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=i:"function"==typeof define&&define.amd?define([],(function(){return i})):"object"==typeof e&&(e.WebIFCWasm=i)}}),Eg=fg({"dist/web-ifc.js"(e,t){var s,i=(s="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,i,r=void 0!==e?e:{};r.ready=new Promise((function(e,s){t=e,i=s}));var o,n,a=Object.assign({},r),l="./this.program",h="";"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),s&&(h=s),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},n=(e,t,s)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):s()},i.onerror=s,i.send(null)};var c,u,A=r.print||console.log.bind(console),p=r.printErr||console.warn.bind(console);Object.assign(r,a),a=null,r.arguments,r.thisProgram&&(l=r.thisProgram),r.quit,r.wasmBinary&&(c=r.wasmBinary),r.noExitRuntime,"object"!=typeof WebAssembly&&V("no native wasm support detected");var d=!1;function f(e,t){e||V(t)}var m,E,y,g,v,I,T,_,R,P="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function D(e,t,s){for(var i=(t>>>=0)+s,r=t;e[r]&&!(r>=i);)++r;if(r-t>16&&e.buffer&&P)return P.decode(e.subarray(t,r));for(var o="";t>10,56320|1023&h)}}else o+=String.fromCharCode((31&n)<<6|a)}else o+=String.fromCharCode(n)}return o}function N(e,t){return(e>>>=0)?D(E,e,t):""}function C(e,t,s,i){if(!(i>0))return 0;for(var r=s>>>=0,o=s+i-1,n=0;n=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),a<=127){if(s>=o)break;t[s++>>>0]=a}else if(a<=2047){if(s+1>=o)break;t[s++>>>0]=192|a>>6,t[s++>>>0]=128|63&a}else if(a<=65535){if(s+2>=o)break;t[s++>>>0]=224|a>>12,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}else{if(s+3>=o)break;t[s++>>>0]=240|a>>18,t[s++>>>0]=128|a>>12&63,t[s++>>>0]=128|a>>6&63,t[s++>>>0]=128|63&a}}return t[s>>>0]=0,s-r}function b(e){for(var t=0,s=0;s=55296&&i<=57343?(t+=4,++s):t+=3}return t}function O(){var e=u.buffer;r.HEAP8=m=new Int8Array(e),r.HEAP16=y=new Int16Array(e),r.HEAP32=v=new Int32Array(e),r.HEAPU8=E=new Uint8Array(e),r.HEAPU16=g=new Uint16Array(e),r.HEAPU32=I=new Uint32Array(e),r.HEAPF32=T=new Float32Array(e),r.HEAPF64=_=new Float64Array(e)}var S,x,w,B,F=[],M=[],L=[],U=0,H=null;function G(e){U++,r.monitorRunDependencies&&r.monitorRunDependencies(U)}function k(e){if(U--,r.monitorRunDependencies&&r.monitorRunDependencies(U),0==U&&H){var t=H;H=null,t()}}function V(e){r.onAbort&&r.onAbort(e),p(e="Aborted("+e+")"),d=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw i(t),t}function Q(e){return e.startsWith("data:application/octet-stream;base64,")}function j(e){try{if(e==S&&c)return new Uint8Array(c);throw"both async and sync fetching of the wasm failed"}catch(e){V(e)}}function W(e){for(;e.length>0;)e.shift()(r)}function z(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){I[this.ptr+4>>>2]=e},this.get_type=function(){return I[this.ptr+4>>>2]},this.set_destructor=function(e){I[this.ptr+8>>>2]=e},this.get_destructor=function(){return I[this.ptr+8>>>2]},this.set_refcount=function(e){v[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,m[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=m[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,m[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=m[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=v[this.ptr>>>2];v[this.ptr>>>2]=e+1},this.release_ref=function(){var e=v[this.ptr>>>2];return v[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){I[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return I[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Kt(this.get_type()))return I[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}Q(S="web-ifc.wasm")||(x=S,S=r.locateFile?r.locateFile(x,h):h+x);var K={};function Y(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function X(e){return this.fromWireType(v[e>>>2])}var Z={},q={},J={};function $(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function ee(e,t){return e=$(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function te(e,t){var s=ee(t,(function(e){this.name=t,this.message=e;var s=new Error(e).stack;void 0!==s&&(this.stack=this.toString()+"\n"+s.replace(/^Error(:[^\n]*)?\n/,""))}));return s.prototype=Object.create(e.prototype),s.prototype.constructor=s,s.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},s}var se=void 0;function ie(e){throw new se(e)}function re(e,t,s){function i(t){var i=s(t);i.length!==e.length&&ie("Mismatched type converter count");for(var r=0;r{q.hasOwnProperty(e)?r[t]=q[e]:(o.push(e),Z.hasOwnProperty(e)||(Z[e]=[]),Z[e].push((()=>{r[t]=q[e],++n===o.length&&i(r)})))})),0===o.length&&i(r)}var oe={};function ne(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var ae=void 0;function le(e){for(var t="",s=e;E[s>>>0];)t+=ae[E[s++>>>0]];return t}var he=void 0;function ce(e){throw new he(e)}function ue(e,t,s={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var i=t.name;if(e||ce('type "'+i+'" must have a positive integer typeid pointer'),q.hasOwnProperty(e)){if(s.ignoreDuplicateRegistrations)return;ce("Cannot register type '"+i+"' twice")}if(q[e]=t,delete J[e],Z.hasOwnProperty(e)){var r=Z[e];delete Z[e],r.forEach((e=>e()))}}function Ae(e){if(!(this instanceof Fe))return!1;if(!(e instanceof Fe))return!1;for(var t=this.$$.ptrType.registeredClass,s=this.$$.ptr,i=e.$$.ptrType.registeredClass,r=e.$$.ptr;t.baseClass;)s=t.upcast(s),t=t.baseClass;for(;i.baseClass;)r=i.upcast(r),i=i.baseClass;return t===i&&s===r}function pe(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function de(e){ce(e.$$.ptrType.registeredClass.name+" instance already deleted")}var fe=!1;function me(e){}function Ee(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function ye(e,t,s){if(t===s)return e;if(void 0===s.baseClass)return null;var i=ye(e,t,s.baseClass);return null===i?null:s.downcast(i)}var ge={};function ve(){return Object.keys(De).length}function Ie(){var e=[];for(var t in De)De.hasOwnProperty(t)&&e.push(De[t]);return e}var Te=[];function _e(){for(;Te.length;){var e=Te.pop();e.$$.deleteScheduled=!1,e.delete()}}var Re=void 0;function Pe(e){Re=e,Te.length&&Re&&Re(_e)}var De={};function Ne(e,t){return t=function(e,t){for(void 0===t&&ce("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),De[t]}function Ce(e,t){return t.ptrType&&t.ptr||ie("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ie("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Oe(Object.create(e,{$$:{value:t}}))}function be(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var s=Ne(this.registeredClass,t);if(void 0!==s){if(0===s.$$.count.value)return s.$$.ptr=t,s.$$.smartPtr=e,s.clone();var i=s.clone();return this.destructor(e),i}function r(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,n=this.registeredClass.getActualType(t),a=ge[n];if(!a)return r.call(this);o=this.isConst?a.constPointerType:a.pointerType;var l=ye(t,this.registeredClass,o.registeredClass);return null===l?r.call(this):this.isSmartPointer?Ce(o.registeredClass.instancePrototype,{ptrType:o,ptr:l,smartPtrType:this,smartPtr:e}):Ce(o.registeredClass.instancePrototype,{ptrType:o,ptr:l})}function Oe(e){return"undefined"==typeof FinalizationRegistry?(Oe=e=>e,e):(fe=new FinalizationRegistry((e=>{Ee(e.$$)})),me=e=>fe.unregister(e),(Oe=e=>{var t=e.$$;if(t.smartPtr){var s={$$:t};fe.register(e,s,e)}return e})(e))}function Se(){if(this.$$.ptr||de(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Oe(Object.create(Object.getPrototypeOf(this),{$$:{value:pe(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function xe(){this.$$.ptr||de(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ce("Object already scheduled for deletion"),me(this),Ee(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function we(){return!this.$$.ptr}function Be(){return this.$$.ptr||de(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ce("Object already scheduled for deletion"),Te.push(this),1===Te.length&&Re&&Re(_e),this.$$.deleteScheduled=!0,this}function Fe(){}function Me(e,t,s){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ce("Function '"+s+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,s){r.hasOwnProperty(e)?((void 0===s||void 0!==r[e].overloadTable&&void 0!==r[e].overloadTable[s])&&ce("Cannot register public name '"+e+"' twice"),Me(r,e,e),r.hasOwnProperty(s)&&ce("Cannot register multiple overloads of a function with the same number of arguments ("+s+")!"),r[e].overloadTable[s]=t):(r[e]=t,void 0!==s&&(r[e].numArguments=s))}function Ue(e,t,s,i,r,o,n,a){this.name=e,this.constructor=t,this.instancePrototype=s,this.rawDestructor=i,this.baseClass=r,this.getActualType=o,this.upcast=n,this.downcast=a,this.pureVirtualFunctions=[]}function He(e,t,s){for(;t!==s;)t.upcast||ce("Expected null or instance of "+s.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Ge(e,t){if(null===t)return this.isReference&&ce("null is not a valid "+this.name),0;t.$$||ce('Cannot pass "'+ut(t)+'" as a '+this.name),t.$$.ptr||ce("Cannot pass deleted object as a pointer of type "+this.name);var s=t.$$.ptrType.registeredClass;return He(t.$$.ptr,s,this.registeredClass)}function ke(e,t){var s;if(null===t)return this.isReference&&ce("null is not a valid "+this.name),this.isSmartPointer?(s=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,s),s):0;t.$$||ce('Cannot pass "'+ut(t)+'" as a '+this.name),t.$$.ptr||ce("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&ce("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var i=t.$$.ptrType.registeredClass;if(s=He(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ce("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?s=t.$$.smartPtr:ce("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:s=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)s=t.$$.smartPtr;else{var r=t.clone();s=this.rawShare(s,lt.toHandle((function(){r.delete()}))),null!==e&&e.push(this.rawDestructor,s)}break;default:ce("Unsupporting sharing policy")}return s}function Ve(e,t){if(null===t)return this.isReference&&ce("null is not a valid "+this.name),0;t.$$||ce('Cannot pass "'+ut(t)+'" as a '+this.name),t.$$.ptr||ce("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&ce("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var s=t.$$.ptrType.registeredClass;return He(t.$$.ptr,s,this.registeredClass)}function Qe(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function je(e){this.rawDestructor&&this.rawDestructor(e)}function We(e){null!==e&&e.delete()}function ze(e,t,s,i,r,o,n,a,l,h,c){this.name=e,this.registeredClass=t,this.isReference=s,this.isConst=i,this.isSmartPointer=r,this.pointeeType=o,this.sharingPolicy=n,this.rawGetPointee=a,this.rawConstructor=l,this.rawShare=h,this.rawDestructor=c,r||void 0!==t.baseClass?this.toWireType=ke:i?(this.toWireType=Ge,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}function Ke(e,t,s){r.hasOwnProperty(e)||ie("Replacing nonexistant public symbol"),void 0!==r[e].overloadTable&&void 0!==s?r[e].overloadTable[s]=t:(r[e]=t,r[e].argCount=s)}var Ye=[];function Xe(e){var t=Ye[e];return t||(e>=Ye.length&&(Ye.length=e+1),Ye[e]=t=R.get(e)),t}function Ze(e,t,s){return e.includes("j")?function(e,t,s){var i=r["dynCall_"+e];return s&&s.length?i.apply(null,[t].concat(s)):i.call(null,t)}(e,t,s):Xe(t).apply(null,s)}function qe(e,t){var s,i,r,o=(e=le(e)).includes("j")?(s=e,i=t,r=[],function(){return r.length=0,Object.assign(r,arguments),Ze(s,i,r)}):Xe(t);return"function"!=typeof o&&ce("unknown function pointer with signature "+e+": "+t),o}var Je=void 0;function $e(e){var t=jt(e),s=le(t);return zt(t),s}function et(e,t){var s=[],i={};throw t.forEach((function e(t){i[t]||q[t]||(J[t]?J[t].forEach(e):(s.push(t),i[t]=!0))})),new Je(e+": "+s.map($e).join([", "]))}function tt(e,t){for(var s=[],i=0;i>>2]);return s}function st(e,t,s,i,r){var o=t.length;o<2&&ce("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var n=null!==t[1]&&null!==s,a=!1,l=1;l0?", ":"")+u),A+=(h?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",a)A+="runDestructors(destructors);\n";else for(l=n?1:2;l4&&0==--rt[e].refcount&&(rt[e]=void 0,it.push(e))}function nt(){for(var e=0,t=5;t(e||ce("Cannot use deleted val. handle = "+e),rt[e].value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=it.length?it.pop():rt.length;return rt[t]={refcount:1,value:e},t}}};function ht(e,t,s){switch(t){case 0:return function(e){var t=s?m:E;return this.fromWireType(t[e>>>0])};case 1:return function(e){var t=s?y:g;return this.fromWireType(t[e>>>1])};case 2:return function(e){var t=s?v:I;return this.fromWireType(t[e>>>2])};default:throw new TypeError("Unknown integer type: "+e)}}function ct(e,t){var s=q[e];return void 0===s&&ce(t+" has unknown type "+$e(e)),s}function ut(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function At(e,t){switch(t){case 2:return function(e){return this.fromWireType(T[e>>>2])};case 3:return function(e){return this.fromWireType(_[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function pt(e,t,s){switch(t){case 0:return s?function(e){return m[e>>>0]}:function(e){return E[e>>>0]};case 1:return s?function(e){return y[e>>>1]}:function(e){return g[e>>>1]};case 2:return s?function(e){return v[e>>>2]}:function(e){return I[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var dt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ft(e,t){for(var s=e,i=s>>1,r=i+t/2;!(i>=r)&&g[i>>>0];)++i;if((s=i<<1)-e>32&&dt)return dt.decode(E.subarray(e>>>0,s>>>0));for(var o="",n=0;!(n>=t/2);++n){var a=y[e+2*n>>>1];if(0==a)break;o+=String.fromCharCode(a)}return o}function mt(e,t,s){if(void 0===s&&(s=2147483647),s<2)return 0;for(var i=t,r=(s-=2)<2*e.length?s/2:e.length,o=0;o>>1]=n,t+=2}return y[t>>>1]=0,t-i}function Et(e){return 2*e.length}function yt(e,t){for(var s=0,i="";!(s>=t/4);){var r=v[e+4*s>>>2];if(0==r)break;if(++s,r>=65536){var o=r-65536;i+=String.fromCharCode(55296|o>>10,56320|1023&o)}else i+=String.fromCharCode(r)}return i}function gt(e,t,s){if(void 0===s&&(s=2147483647),s<4)return 0;for(var i=t>>>=0,r=i+s-4,o=0;o=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++o)),v[t>>>2]=n,(t+=4)+4>r)break}return v[t>>>2]=0,t-i}function vt(e){for(var t=0,s=0;s=55296&&i<=57343&&++s,t+=4}return t}var It={};function Tt(e){var t=It[e];return void 0===t?le(e):t}function _t(){return"object"==typeof globalThis?globalThis:Function("return this")()}function Rt(e){var t=u.buffer;try{return u.grow(e-t.byteLength+65535>>>16),O(),1}catch(e){}}var Pt={};function Dt(){if(!Dt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:l||"./this.program"};for(var t in Pt)void 0===Pt[t]?delete e[t]:e[t]=Pt[t];var s=[];for(var t in e)s.push(t+"="+e[t]);Dt.strings=s}return Dt.strings}var Nt={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var s=0,i=e.length-1;i>=0;i--){var r=e[i];"."===r?e.splice(i,1):".."===r?(e.splice(i,1),s++):s&&(e.splice(i,1),s--)}if(t)for(;s;s--)e.unshift("..");return e},normalize:e=>{var t=Nt.isAbs(e),s="/"===e.substr(-1);return e=Nt.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),e||t||(e="."),e&&s&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=Nt.splitPath(e),s=t[0],i=t[1];return s||i?(i&&(i=i.substr(0,i.length-1)),s+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=Nt.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Nt.normalize(e.join("/"))},join2:(e,t)=>Nt.normalize(e+"/"+t)},Ct={resolve:function(){for(var e="",t=!1,s=arguments.length-1;s>=-1&&!t;s--){var i=s>=0?arguments[s]:wt.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=Nt.isAbs(i)}return e=Nt.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"),(t?"/":"")+e||"."},relative:(e,t)=>{function s(e){for(var t=0;t=0&&""===e[s];s--);return t>s?[]:e.slice(t,s-t+1)}e=Ct.resolve(e).substr(1),t=Ct.resolve(t).substr(1);for(var i=s(e.split("/")),r=s(t.split("/")),o=Math.min(i.length,r.length),n=o,a=0;a0?s:b(e)+1,r=new Array(i),o=C(e,r,0,r.length);return t&&(r.length=o),r}var Ot={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Ot.ttys[e]={input:[],output:[],ops:t},wt.registerDevice(e,Ot.stream_ops)},stream_ops:{open:function(e){var t=Ot.ttys[e.node.rdev];if(!t)throw new wt.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,s,i,r){if(!e.tty||!e.tty.ops.get_char)throw new wt.ErrnoError(60);for(var o=0,n=0;n0&&(A(D(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(D(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(p(D(e.output,0)),e.output=[])}}};function St(e){V()}var xt={ops_table:null,mount:function(e){return xt.createNode(null,"/",16895,0)},createNode:function(e,t,s,i){if(wt.isBlkdev(s)||wt.isFIFO(s))throw new wt.ErrnoError(63);xt.ops_table||(xt.ops_table={dir:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr,lookup:xt.node_ops.lookup,mknod:xt.node_ops.mknod,rename:xt.node_ops.rename,unlink:xt.node_ops.unlink,rmdir:xt.node_ops.rmdir,readdir:xt.node_ops.readdir,symlink:xt.node_ops.symlink},stream:{llseek:xt.stream_ops.llseek}},file:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr},stream:{llseek:xt.stream_ops.llseek,read:xt.stream_ops.read,write:xt.stream_ops.write,allocate:xt.stream_ops.allocate,mmap:xt.stream_ops.mmap,msync:xt.stream_ops.msync}},link:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr,readlink:xt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:xt.node_ops.getattr,setattr:xt.node_ops.setattr},stream:wt.chrdev_stream_ops}});var r=wt.createNode(e,t,s,i);return wt.isDir(r.mode)?(r.node_ops=xt.ops_table.dir.node,r.stream_ops=xt.ops_table.dir.stream,r.contents={}):wt.isFile(r.mode)?(r.node_ops=xt.ops_table.file.node,r.stream_ops=xt.ops_table.file.stream,r.usedBytes=0,r.contents=null):wt.isLink(r.mode)?(r.node_ops=xt.ops_table.link.node,r.stream_ops=xt.ops_table.link.stream):wt.isChrdev(r.mode)&&(r.node_ops=xt.ops_table.chrdev.node,r.stream_ops=xt.ops_table.chrdev.stream),r.timestamp=Date.now(),e&&(e.contents[t]=r,e.timestamp=r.timestamp),r},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var s=e.contents?e.contents.length:0;if(!(s>=t)){t=Math.max(t,s*(s<1048576?2:1.125)>>>0),0!=s&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var s=e.contents;e.contents=new Uint8Array(t),s&&e.contents.set(s.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=wt.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,wt.isDir(e.mode)?t.size=4096:wt.isFile(e.mode)?t.size=e.usedBytes:wt.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&xt.resizeFileStorage(e,t.size)},lookup:function(e,t){throw wt.genericErrors[44]},mknod:function(e,t,s,i){return xt.createNode(e,t,s,i)},rename:function(e,t,s){if(wt.isDir(e.mode)){var i;try{i=wt.lookupNode(t,s)}catch(e){}if(i)for(var r in i.contents)throw new wt.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=s,t.contents[s]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var s=wt.lookupNode(e,t);for(var i in s.contents)throw new wt.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var s in e.contents)e.contents.hasOwnProperty(s)&&t.push(s);return t},symlink:function(e,t,s){var i=xt.createNode(e,t,41471,0);return i.link=s,i},readlink:function(e){if(!wt.isLink(e.mode))throw new wt.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,s,i,r){var o=e.node.contents;if(r>=e.node.usedBytes)return 0;var n=Math.min(e.node.usedBytes-r,i);if(n>8&&o.subarray)t.set(o.subarray(r,r+n),s);else for(var a=0;a0||s+t>>=0,m.set(a,o>>>0)}else n=!1,o=a.byteOffset;return{ptr:o,allocated:n}},msync:function(e,t,s,i,r){return xt.stream_ops.write(e,t,0,i,s,!1),0}}},wt={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(e,t={})=>{if(!(e=Ct.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new wt.ErrnoError(32);for(var s=e.split("/").filter((e=>!!e)),i=wt.root,r="/",o=0;o40)throw new wt.ErrnoError(32)}}return{path:r,node:i}},getPath:e=>{for(var t;;){if(wt.isRoot(e)){var s=e.mount.mountpoint;return t?"/"!==s[s.length-1]?s+"/"+t:s+t:s}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:(e,t)=>{for(var s=0,i=0;i>>0)%wt.nameTable.length},hashAddNode:e=>{var t=wt.hashName(e.parent.id,e.name);e.name_next=wt.nameTable[t],wt.nameTable[t]=e},hashRemoveNode:e=>{var t=wt.hashName(e.parent.id,e.name);if(wt.nameTable[t]===e)wt.nameTable[t]=e.name_next;else for(var s=wt.nameTable[t];s;){if(s.name_next===e){s.name_next=e.name_next;break}s=s.name_next}},lookupNode:(e,t)=>{var s=wt.mayLookup(e);if(s)throw new wt.ErrnoError(s,e);for(var i=wt.hashName(e.id,t),r=wt.nameTable[i];r;r=r.name_next){var o=r.name;if(r.parent.id===e.id&&o===t)return r}return wt.lookup(e,t)},createNode:(e,t,s,i)=>{var r=new wt.FSNode(e,t,s,i);return wt.hashAddNode(r),r},destroyNode:e=>{wt.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:e=>{var t=wt.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>wt.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>{var t=wt.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:(e,t)=>{try{return wt.lookupNode(e,t),20}catch(e){}return wt.nodePermissions(e,"wx")},mayDelete:(e,t,s)=>{var i;try{i=wt.lookupNode(e,t)}catch(e){return e.errno}var r=wt.nodePermissions(e,"wx");if(r)return r;if(s){if(!wt.isDir(i.mode))return 54;if(wt.isRoot(i)||wt.getPath(i)===wt.cwd())return 10}else if(wt.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?wt.isLink(e.mode)?32:wt.isDir(e.mode)&&("r"!==wt.flagsToPermissionString(t)||512&t)?31:wt.nodePermissions(e,wt.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:(e=0,t=wt.MAX_OPEN_FDS)=>{for(var s=e;s<=t;s++)if(!wt.streams[s])return s;throw new wt.ErrnoError(33)},getStream:e=>wt.streams[e],createStream:(e,t,s)=>{wt.FSStream||(wt.FSStream=function(){this.shared={}},wt.FSStream.prototype={},Object.defineProperties(wt.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new wt.FSStream,e);var i=wt.nextfd(t,s);return e.fd=i,wt.streams[i]=e,e},closeStream:e=>{wt.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=wt.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new wt.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{wt.devices[e]={stream_ops:t}},getDevice:e=>wt.devices[e],getMounts:e=>{for(var t=[],s=[e];s.length;){var i=s.pop();t.push(i),s.push.apply(s,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),wt.syncFSRequests++,wt.syncFSRequests>1&&p("warning: "+wt.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var s=wt.getMounts(wt.root.mount),i=0;function r(e){return wt.syncFSRequests--,t(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,r(e));++i>=s.length&&r(null)}s.forEach((t=>{if(!t.type.syncfs)return o(null);t.type.syncfs(t,e,o)}))},mount:(e,t,s)=>{var i,r="/"===s,o=!s;if(r&&wt.root)throw new wt.ErrnoError(10);if(!r&&!o){var n=wt.lookupPath(s,{follow_mount:!1});if(s=n.path,i=n.node,wt.isMountpoint(i))throw new wt.ErrnoError(10);if(!wt.isDir(i.mode))throw new wt.ErrnoError(54)}var a={type:e,opts:t,mountpoint:s,mounts:[]},l=e.mount(a);return l.mount=a,a.root=l,r?wt.root=l:i&&(i.mounted=a,i.mount&&i.mount.mounts.push(a)),l},unmount:e=>{var t=wt.lookupPath(e,{follow_mount:!1});if(!wt.isMountpoint(t.node))throw new wt.ErrnoError(28);var s=t.node,i=s.mounted,r=wt.getMounts(i);Object.keys(wt.nameTable).forEach((e=>{for(var t=wt.nameTable[e];t;){var s=t.name_next;r.includes(t.mount)&&wt.destroyNode(t),t=s}})),s.mounted=null;var o=s.mount.mounts.indexOf(i);s.mount.mounts.splice(o,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,s)=>{var i=wt.lookupPath(e,{parent:!0}).node,r=Nt.basename(e);if(!r||"."===r||".."===r)throw new wt.ErrnoError(28);var o=wt.mayCreate(i,r);if(o)throw new wt.ErrnoError(o);if(!i.node_ops.mknod)throw new wt.ErrnoError(63);return i.node_ops.mknod(i,r,t,s)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,wt.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,wt.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var s=e.split("/"),i="",r=0;r(void 0===s&&(s=t,t=438),t|=8192,wt.mknod(e,t,s)),symlink:(e,t)=>{if(!Ct.resolve(e))throw new wt.ErrnoError(44);var s=wt.lookupPath(t,{parent:!0}).node;if(!s)throw new wt.ErrnoError(44);var i=Nt.basename(t),r=wt.mayCreate(s,i);if(r)throw new wt.ErrnoError(r);if(!s.node_ops.symlink)throw new wt.ErrnoError(63);return s.node_ops.symlink(s,i,e)},rename:(e,t)=>{var s,i,r=Nt.dirname(e),o=Nt.dirname(t),n=Nt.basename(e),a=Nt.basename(t);if(s=wt.lookupPath(e,{parent:!0}).node,i=wt.lookupPath(t,{parent:!0}).node,!s||!i)throw new wt.ErrnoError(44);if(s.mount!==i.mount)throw new wt.ErrnoError(75);var l,h=wt.lookupNode(s,n),c=Ct.relative(e,o);if("."!==c.charAt(0))throw new wt.ErrnoError(28);if("."!==(c=Ct.relative(t,r)).charAt(0))throw new wt.ErrnoError(55);try{l=wt.lookupNode(i,a)}catch(e){}if(h!==l){var u=wt.isDir(h.mode),A=wt.mayDelete(s,n,u);if(A)throw new wt.ErrnoError(A);if(A=l?wt.mayDelete(i,a,u):wt.mayCreate(i,a))throw new wt.ErrnoError(A);if(!s.node_ops.rename)throw new wt.ErrnoError(63);if(wt.isMountpoint(h)||l&&wt.isMountpoint(l))throw new wt.ErrnoError(10);if(i!==s&&(A=wt.nodePermissions(s,"w")))throw new wt.ErrnoError(A);wt.hashRemoveNode(h);try{s.node_ops.rename(h,i,a)}catch(e){throw e}finally{wt.hashAddNode(h)}}},rmdir:e=>{var t=wt.lookupPath(e,{parent:!0}).node,s=Nt.basename(e),i=wt.lookupNode(t,s),r=wt.mayDelete(t,s,!0);if(r)throw new wt.ErrnoError(r);if(!t.node_ops.rmdir)throw new wt.ErrnoError(63);if(wt.isMountpoint(i))throw new wt.ErrnoError(10);t.node_ops.rmdir(t,s),wt.destroyNode(i)},readdir:e=>{var t=wt.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new wt.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=wt.lookupPath(e,{parent:!0}).node;if(!t)throw new wt.ErrnoError(44);var s=Nt.basename(e),i=wt.lookupNode(t,s),r=wt.mayDelete(t,s,!1);if(r)throw new wt.ErrnoError(r);if(!t.node_ops.unlink)throw new wt.ErrnoError(63);if(wt.isMountpoint(i))throw new wt.ErrnoError(10);t.node_ops.unlink(t,s),wt.destroyNode(i)},readlink:e=>{var t=wt.lookupPath(e).node;if(!t)throw new wt.ErrnoError(44);if(!t.node_ops.readlink)throw new wt.ErrnoError(28);return Ct.resolve(wt.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var s=wt.lookupPath(e,{follow:!t}).node;if(!s)throw new wt.ErrnoError(44);if(!s.node_ops.getattr)throw new wt.ErrnoError(63);return s.node_ops.getattr(s)},lstat:e=>wt.stat(e,!0),chmod:(e,t,s)=>{var i;if(!(i="string"==typeof e?wt.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new wt.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{wt.chmod(e,t,!0)},fchmod:(e,t)=>{var s=wt.getStream(e);if(!s)throw new wt.ErrnoError(8);wt.chmod(s.node,t)},chown:(e,t,s,i)=>{var r;if(!(r="string"==typeof e?wt.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new wt.ErrnoError(63);r.node_ops.setattr(r,{timestamp:Date.now()})},lchown:(e,t,s)=>{wt.chown(e,t,s,!0)},fchown:(e,t,s)=>{var i=wt.getStream(e);if(!i)throw new wt.ErrnoError(8);wt.chown(i.node,t,s)},truncate:(e,t)=>{if(t<0)throw new wt.ErrnoError(28);var s;if(!(s="string"==typeof e?wt.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new wt.ErrnoError(63);if(wt.isDir(s.mode))throw new wt.ErrnoError(31);if(!wt.isFile(s.mode))throw new wt.ErrnoError(28);var i=wt.nodePermissions(s,"w");if(i)throw new wt.ErrnoError(i);s.node_ops.setattr(s,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var s=wt.getStream(e);if(!s)throw new wt.ErrnoError(8);if(0==(2097155&s.flags))throw new wt.ErrnoError(28);wt.truncate(s.node,t)},utime:(e,t,s)=>{var i=wt.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,s)})},open:(e,t,s)=>{if(""===e)throw new wt.ErrnoError(44);var i;if(s=void 0===s?438:s,s=64&(t="string"==typeof t?wt.modeStringToFlags(t):t)?4095&s|32768:0,"object"==typeof e)i=e;else{e=Nt.normalize(e);try{i=wt.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var o=!1;if(64&t)if(i){if(128&t)throw new wt.ErrnoError(20)}else i=wt.mknod(e,s,0),o=!0;if(!i)throw new wt.ErrnoError(44);if(wt.isChrdev(i.mode)&&(t&=-513),65536&t&&!wt.isDir(i.mode))throw new wt.ErrnoError(54);if(!o){var n=wt.mayOpen(i,t);if(n)throw new wt.ErrnoError(n)}512&t&&!o&&wt.truncate(i,0),t&=-131713;var a=wt.createStream({node:i,path:wt.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!r.logReadFiles||1&t||(wt.readFiles||(wt.readFiles={}),e in wt.readFiles||(wt.readFiles[e]=1)),a},close:e=>{if(wt.isClosed(e))throw new wt.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{wt.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,s)=>{if(wt.isClosed(e))throw new wt.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new wt.ErrnoError(70);if(0!=s&&1!=s&&2!=s)throw new wt.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,s),e.ungotten=[],e.position},read:(e,t,s,i,r)=>{if(s>>>=0,i<0||r<0)throw new wt.ErrnoError(28);if(wt.isClosed(e))throw new wt.ErrnoError(8);if(1==(2097155&e.flags))throw new wt.ErrnoError(8);if(wt.isDir(e.node.mode))throw new wt.ErrnoError(31);if(!e.stream_ops.read)throw new wt.ErrnoError(28);var o=void 0!==r;if(o){if(!e.seekable)throw new wt.ErrnoError(70)}else r=e.position;var n=e.stream_ops.read(e,t,s,i,r);return o||(e.position+=n),n},write:(e,t,s,i,r,o)=>{if(s>>>=0,i<0||r<0)throw new wt.ErrnoError(28);if(wt.isClosed(e))throw new wt.ErrnoError(8);if(0==(2097155&e.flags))throw new wt.ErrnoError(8);if(wt.isDir(e.node.mode))throw new wt.ErrnoError(31);if(!e.stream_ops.write)throw new wt.ErrnoError(28);e.seekable&&1024&e.flags&&wt.llseek(e,0,2);var n=void 0!==r;if(n){if(!e.seekable)throw new wt.ErrnoError(70)}else r=e.position;var a=e.stream_ops.write(e,t,s,i,r,o);return n||(e.position+=a),a},allocate:(e,t,s)=>{if(wt.isClosed(e))throw new wt.ErrnoError(8);if(t<0||s<=0)throw new wt.ErrnoError(28);if(0==(2097155&e.flags))throw new wt.ErrnoError(8);if(!wt.isFile(e.node.mode)&&!wt.isDir(e.node.mode))throw new wt.ErrnoError(43);if(!e.stream_ops.allocate)throw new wt.ErrnoError(138);e.stream_ops.allocate(e,t,s)},mmap:(e,t,s,i,r)=>{if(0!=(2&i)&&0==(2&r)&&2!=(2097155&e.flags))throw new wt.ErrnoError(2);if(1==(2097155&e.flags))throw new wt.ErrnoError(2);if(!e.stream_ops.mmap)throw new wt.ErrnoError(43);return e.stream_ops.mmap(e,t,s,i,r)},msync:(e,t,s,i,r)=>(s>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,s,i,r):0),munmap:e=>0,ioctl:(e,t,s)=>{if(!e.stream_ops.ioctl)throw new wt.ErrnoError(59);return e.stream_ops.ioctl(e,t,s)},readFile:(e,t={})=>{if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var s,i=wt.open(e,t.flags),r=wt.stat(e).size,o=new Uint8Array(r);return wt.read(i,o,0,r,0),"utf8"===t.encoding?s=D(o,0):"binary"===t.encoding&&(s=o),wt.close(i),s},writeFile:(e,t,s={})=>{s.flags=s.flags||577;var i=wt.open(e,s.flags,s.mode);if("string"==typeof t){var r=new Uint8Array(b(t)+1),o=C(t,r,0,r.length);wt.write(i,r,0,o,void 0,s.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");wt.write(i,t,0,t.byteLength,void 0,s.canOwn)}wt.close(i)},cwd:()=>wt.currentPath,chdir:e=>{var t=wt.lookupPath(e,{follow:!0});if(null===t.node)throw new wt.ErrnoError(44);if(!wt.isDir(t.node.mode))throw new wt.ErrnoError(54);var s=wt.nodePermissions(t.node,"x");if(s)throw new wt.ErrnoError(s);wt.currentPath=t.path},createDefaultDirectories:()=>{wt.mkdir("/tmp"),wt.mkdir("/home"),wt.mkdir("/home/web_user")},createDefaultDevices:()=>{wt.mkdir("/dev"),wt.registerDevice(wt.makedev(1,3),{read:()=>0,write:(e,t,s,i,r)=>i}),wt.mkdev("/dev/null",wt.makedev(1,3)),Ot.register(wt.makedev(5,0),Ot.default_tty_ops),Ot.register(wt.makedev(6,0),Ot.default_tty1_ops),wt.mkdev("/dev/tty",wt.makedev(5,0)),wt.mkdev("/dev/tty1",wt.makedev(6,0));var e=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return()=>(crypto.getRandomValues(e),e[0])}return()=>V("randomDevice")}();wt.createDevice("/dev","random",e),wt.createDevice("/dev","urandom",e),wt.mkdir("/dev/shm"),wt.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{wt.mkdir("/proc");var e=wt.mkdir("/proc/self");wt.mkdir("/proc/self/fd"),wt.mount({mount:()=>{var t=wt.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var s=+t,i=wt.getStream(s);if(!i)throw new wt.ErrnoError(8);var r={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return r.parent=r,r}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{r.stdin?wt.createDevice("/dev","stdin",r.stdin):wt.symlink("/dev/tty","/dev/stdin"),r.stdout?wt.createDevice("/dev","stdout",null,r.stdout):wt.symlink("/dev/tty","/dev/stdout"),r.stderr?wt.createDevice("/dev","stderr",null,r.stderr):wt.symlink("/dev/tty1","/dev/stderr"),wt.open("/dev/stdin",0),wt.open("/dev/stdout",1),wt.open("/dev/stderr",1)},ensureErrnoError:()=>{wt.ErrnoError||(wt.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},wt.ErrnoError.prototype=new Error,wt.ErrnoError.prototype.constructor=wt.ErrnoError,[44].forEach((e=>{wt.genericErrors[e]=new wt.ErrnoError(e),wt.genericErrors[e].stack=""})))},staticInit:()=>{wt.ensureErrnoError(),wt.nameTable=new Array(4096),wt.mount(xt,{},"/"),wt.createDefaultDirectories(),wt.createDefaultDevices(),wt.createSpecialDirectories(),wt.filesystems={MEMFS:xt}},init:(e,t,s)=>{wt.init.initialized=!0,wt.ensureErrnoError(),r.stdin=e||r.stdin,r.stdout=t||r.stdout,r.stderr=s||r.stderr,wt.createStandardStreams()},quit:()=>{wt.init.initialized=!1;for(var e=0;e{var s=0;return e&&(s|=365),t&&(s|=146),s},findObject:(e,t)=>{var s=wt.analyzePath(e,t);return s.exists?s.object:null},analyzePath:(e,t)=>{try{e=(i=wt.lookupPath(e,{follow:!t})).path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=wt.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=i.path,s.parentObject=i.node,s.name=Nt.basename(e),i=wt.lookupPath(e,{follow:!t}),s.exists=!0,s.path=i.path,s.object=i.node,s.name=i.node.name,s.isRoot="/"===i.path}catch(e){s.error=e.errno}return s},createPath:(e,t,s,i)=>{e="string"==typeof e?e:wt.getPath(e);for(var r=t.split("/").reverse();r.length;){var o=r.pop();if(o){var n=Nt.join2(e,o);try{wt.mkdir(n)}catch(e){}e=n}}return n},createFile:(e,t,s,i,r)=>{var o=Nt.join2("string"==typeof e?e:wt.getPath(e),t),n=wt.getMode(i,r);return wt.create(o,n)},createDataFile:(e,t,s,i,r,o)=>{var n=t;e&&(e="string"==typeof e?e:wt.getPath(e),n=t?Nt.join2(e,t):e);var a=wt.getMode(i,r),l=wt.create(n,a);if(s){if("string"==typeof s){for(var h=new Array(s.length),c=0,u=s.length;c{var r=Nt.join2("string"==typeof e?e:wt.getPath(e),t),o=wt.getMode(!!s,!!i);wt.createDevice.major||(wt.createDevice.major=64);var n=wt.makedev(wt.createDevice.major++,0);return wt.registerDevice(n,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,r,o)=>{for(var n=0,a=0;a{for(var n=0;n{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=bt(o(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new wt.ErrnoError(29)}},createLazyFile:(e,t,s,i,r)=>{function o(){this.lengthKnown=!1,this.chunks=[]}if(o.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,s=e/this.chunkSize|0;return this.getter(s)[t]}},o.prototype.setDataGetter=function(e){this.getter=e},o.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",s,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+s+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),r=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,o=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,n=1048576;r||(n=i);var a=this;a.setDataGetter((e=>{var t=e*n,r=(e+1)*n-1;if(r=Math.min(r,i-1),void 0===a.chunks[e]&&(a.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var r=new XMLHttpRequest;if(r.open("GET",s,!1),i!==n&&r.setRequestHeader("Range","bytes="+e+"-"+t),r.responseType="arraybuffer",r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined"),r.send(null),!(r.status>=200&&r.status<300||304===r.status))throw new Error("Couldn't load "+s+". Status: "+r.status);return void 0!==r.response?new Uint8Array(r.response||[]):bt(r.responseText||"",!0)})(t,r)),void 0===a.chunks[e])throw new Error("doXHR failed!");return a.chunks[e]})),!o&&i||(n=i=1,i=this.getter(0).length,n=i,A("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=n,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var n={isDevice:!1,url:s},a=wt.createFile(e,t,n,i,r);n.contents?a.contents=n.contents:n.url&&(a.contents=null,a.url=n.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var l={};function h(e,t,s,i,r){var o=e.node.contents;if(r>=o.length)return 0;var n=Math.min(o.length-r,i);if(o.slice)for(var a=0;a{var t=a.stream_ops[e];l[e]=function(){return wt.forceLoadFile(a),t.apply(null,arguments)}})),l.read=(e,t,s,i,r)=>(wt.forceLoadFile(a),h(e,t,s,i,r)),l.mmap=(e,t,s,i,r)=>{wt.forceLoadFile(a);var o=St();if(!o)throw new wt.ErrnoError(48);return h(e,m,o,t,s),{ptr:o,allocated:!0}},a.stream_ops=l,a},createPreloadedFile:(e,t,s,i,r,o,a,l,h,c)=>{var u=t?Ct.resolve(Nt.join2(e,t)):e;function A(s){function n(s){c&&c(),l||wt.createDataFile(e,t,s,i,r,h),o&&o(),k()}Browser.handledByPreloadPlugin(s,u,n,(()=>{a&&a(),k()}))||n(s)}G(),"string"==typeof s?function(e,t,s,i){var r=i?"":"al "+e;n(e,(s=>{f(s,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(s)),r&&k()}),(t=>{if(!s)throw'Loading data file "'+e+'" failed.';s()})),r&&G()}(s,(e=>A(e)),a):A(s)},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=wt.indexedDB();try{var r=i.open(wt.DB_NAME(),wt.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=()=>{A("creating db"),r.result.createObjectStore(wt.DB_STORE_NAME)},r.onsuccess=()=>{var i=r.result.transaction([wt.DB_STORE_NAME],"readwrite"),o=i.objectStore(wt.DB_STORE_NAME),n=0,a=0,l=e.length;function h(){0==a?t():s()}e.forEach((e=>{var t=o.put(wt.analyzePath(e).object.contents,e);t.onsuccess=()=>{++n+a==l&&h()},t.onerror=()=>{a++,n+a==l&&h()}})),i.onerror=s},r.onerror=s},loadFilesFromDB:(e,t=(()=>{}),s=(()=>{}))=>{var i=wt.indexedDB();try{var r=i.open(wt.DB_NAME(),wt.DB_VERSION)}catch(e){return s(e)}r.onupgradeneeded=s,r.onsuccess=()=>{var i=r.result;try{var o=i.transaction([wt.DB_STORE_NAME],"readonly")}catch(e){return void s(e)}var n=o.objectStore(wt.DB_STORE_NAME),a=0,l=0,h=e.length;function c(){0==l?t():s()}e.forEach((e=>{var t=n.get(e);t.onsuccess=()=>{wt.analyzePath(e).exists&&wt.unlink(e),wt.createDataFile(Nt.dirname(e),Nt.basename(e),t.result,!0,!0,!0),++a+l==h&&c()},t.onerror=()=>{l++,a+l==h&&c()}})),o.onerror=s},r.onerror=s}},Bt={DEFAULT_POLLMASK:5,calculateAt:function(e,t,s){if(Nt.isAbs(t))return t;var i;if(i=-100===e?wt.cwd():Bt.getStreamFromFD(e).path,0==t.length){if(!s)throw new wt.ErrnoError(44);return i}return Nt.join2(i,t)},doStat:function(e,t,s){try{var i=e(t)}catch(e){if(e&&e.node&&Nt.normalize(t)!==Nt.normalize(wt.getPath(e.node)))return-54;throw e}v[s>>>2]=i.dev,v[s+8>>>2]=i.ino,v[s+12>>>2]=i.mode,I[s+16>>>2]=i.nlink,v[s+20>>>2]=i.uid,v[s+24>>>2]=i.gid,v[s+28>>>2]=i.rdev,B=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+40>>>2]=B[0],v[s+44>>>2]=B[1],v[s+48>>>2]=4096,v[s+52>>>2]=i.blocks;var r=i.atime.getTime(),o=i.mtime.getTime(),n=i.ctime.getTime();return B=[Math.floor(r/1e3)>>>0,(w=Math.floor(r/1e3),+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+56>>>2]=B[0],v[s+60>>>2]=B[1],I[s+64>>>2]=r%1e3*1e3,B=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+72>>>2]=B[0],v[s+76>>>2]=B[1],I[s+80>>>2]=o%1e3*1e3,B=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+88>>>2]=B[0],v[s+92>>>2]=B[1],I[s+96>>>2]=n%1e3*1e3,B=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[s+104>>>2]=B[0],v[s+108>>>2]=B[1],0},doMsync:function(e,t,s,i,r){if(!wt.isFile(t.node.mode))throw new wt.ErrnoError(43);if(2&i)return 0;e>>>=0;var o=E.slice(e,e+s);wt.msync(t,o,r,s,i)},varargs:void 0,get:function(){return Bt.varargs+=4,v[Bt.varargs-4>>>2]},getStr:function(e){return N(e)},getStreamFromFD:function(e){var t=wt.getStream(e);if(!t)throw new wt.ErrnoError(8);return t}};function Ft(e){return e%4==0&&(e%100!=0||e%400==0)}var Mt=[31,29,31,30,31,30,31,31,30,31,30,31],Lt=[31,28,31,30,31,30,31,31,30,31,30,31];function Ut(e,t,s,i){var r=v[i+40>>>2],o={tm_sec:v[i>>>2],tm_min:v[i+4>>>2],tm_hour:v[i+8>>>2],tm_mday:v[i+12>>>2],tm_mon:v[i+16>>>2],tm_year:v[i+20>>>2],tm_wday:v[i+24>>>2],tm_yday:v[i+28>>>2],tm_isdst:v[i+32>>>2],tm_gmtoff:v[i+36>>>2],tm_zone:r?N(r):""},n=N(s),a={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in a)n=n.replace(new RegExp(l,"g"),a[l]);var h=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function u(e,t,s){for(var i="number"==typeof e?e.toString():e||"";i.length0?1:0}var i;return 0===(i=s(e.getFullYear()-t.getFullYear()))&&0===(i=s(e.getMonth()-t.getMonth()))&&(i=s(e.getDate()-t.getDate())),i}function d(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function f(e){var t=function(e,t){for(var s=new Date(e.getTime());t>0;){var i=Ft(s.getFullYear()),r=s.getMonth(),o=(i?Mt:Lt)[r];if(!(t>o-s.getDate()))return s.setDate(s.getDate()+t),s;t-=o-s.getDate()+1,s.setDate(1),r<11?s.setMonth(r+1):(s.setMonth(0),s.setFullYear(s.getFullYear()+1))}return s}(new Date(e.tm_year+1900,0,1),e.tm_yday),s=new Date(t.getFullYear(),0,4),i=new Date(t.getFullYear()+1,0,4),r=d(s),o=d(i);return p(r,t)<=0?p(o,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var E={"%a":function(e){return h[e.tm_wday].substring(0,3)},"%A":function(e){return h[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return A((e.tm_year+1900)/100|0,2)},"%d":function(e){return A(e.tm_mday,2)},"%e":function(e){return u(e.tm_mday,2," ")},"%g":function(e){return f(e).toString().substring(2)},"%G":function(e){return f(e)},"%H":function(e){return A(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),A(t,2)},"%j":function(e){return A(e.tm_mday+function(e,t){for(var s=0,i=0;i<=t;s+=e[i++]);return s}(Ft(e.tm_year+1900)?Mt:Lt,e.tm_mon-1),3)},"%m":function(e){return A(e.tm_mon+1,2)},"%M":function(e){return A(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return A(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return A(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var s=(e.tm_wday+371-e.tm_yday)%7;4==s||3==s&&Ft(e.tm_year)||(t=1)}}else{t=52;var i=(e.tm_wday+7-e.tm_yday-1)%7;(4==i||5==i&&Ft(e.tm_year%400-1))&&t++}return A(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return A(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,s=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(s?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in n=n.replace(/%%/g,"\0\0"),E)n.includes(l)&&(n=n.replace(new RegExp(l,"g"),E[l](o)));var y,g,I=bt(n=n.replace(/\0\0/g,"%"),!1);return I.length>t?0:(y=I,g=e,m.set(y,g>>>0),I.length-1)}se=r.InternalError=te(Error,"InternalError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);ae=e}(),he=r.BindingError=te(Error,"BindingError"),Fe.prototype.isAliasOf=Ae,Fe.prototype.clone=Se,Fe.prototype.delete=xe,Fe.prototype.isDeleted=we,Fe.prototype.deleteLater=Be,r.getInheritedInstanceCount=ve,r.getLiveInheritedInstances=Ie,r.flushPendingDeletes=_e,r.setDelayFunction=Pe,ze.prototype.getPointee=Qe,ze.prototype.destructor=je,ze.prototype.argPackAdvance=8,ze.prototype.readValueFromPointer=X,ze.prototype.deleteObject=We,ze.prototype.fromWireType=be,Je=r.UnboundTypeError=te(Error,"UnboundTypeError"),r.count_emval_handles=nt,r.get_first_emval=at;var Ht=function(e,t,s,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=wt.nextInode++,this.name=t,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=i},Gt=365,kt=146;Object.defineProperties(Ht.prototype,{read:{get:function(){return(this.mode&Gt)===Gt},set:function(e){e?this.mode|=Gt:this.mode&=-366}},write:{get:function(){return(this.mode&kt)===kt},set:function(e){e?this.mode|=kt:this.mode&=-147}},isFolder:{get:function(){return wt.isDir(this.mode)}},isDevice:{get:function(){return wt.isChrdev(this.mode)}}}),wt.FSNode=Ht,wt.staticInit();var Vt={f:function(e,t,s){throw new z(e).init(t,s),e},R:function(e){var t=K[e];delete K[e];var s=t.elements,i=s.length,r=s.map((function(e){return e.getterReturnType})).concat(s.map((function(e){return e.setterArgumentType}))),o=t.rawConstructor,n=t.rawDestructor;re([e],r,(function(e){return s.forEach(((t,s)=>{var r=e[s],o=t.getter,n=t.getterContext,a=e[s+i],l=t.setter,h=t.setterContext;t.read=e=>r.fromWireType(o(n,e)),t.write=(e,t)=>{var s=[];l(h,e,a.toWireType(s,t)),Y(s)}})),[{name:t.name,fromWireType:function(e){for(var t=new Array(i),r=0;r>>o])},destructorFunction:null})},o:function(e,t,s,i,r,o,n,a,l,h,c,u,A){c=le(c),o=qe(r,o),a&&(a=qe(n,a)),h&&(h=qe(l,h)),A=qe(u,A);var p=$(c);Le(p,(function(){et("Cannot construct "+c+" due to unbound types",[i])})),re([e,t,s],i?[i]:[],(function(t){var s,r;t=t[0],r=i?(s=t.registeredClass).instancePrototype:Fe.prototype;var n=ee(p,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+c);if(void 0===u.constructor_body)throw new he(c+" has no accessible constructor");var e=u.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(r,{constructor:{value:n}});n.prototype=l;var u=new Ue(c,n,l,A,s,o,a,h),d=new ze(c,u,!0,!1,!1),f=new ze(c+"*",u,!1,!1,!1),m=new ze(c+" const*",u,!1,!0,!1);return ge[e]={pointerType:f,constPointerType:m},Ke(p,n),[d,f,m]}))},n:function(e,t,s,i,r,o){f(t>0);var n=tt(t,s);r=qe(i,r),re([],[e],(function(e){var s="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=()=>{et("Cannot construct "+e.name+" due to unbound types",n)},re([],n,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=st(s,i,null,r,o),[]})),[]}))},b:function(e,t,s,i,r,o,n,a){var l=tt(s,i);t=le(t),o=qe(r,o),re([],[e],(function(e){var i=(e=e[0]).name+"."+t;function r(){et("Cannot call "+i+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var h=e.registeredClass.instancePrototype,c=h[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===s-2?(r.argCount=s-2,r.className=e.name,h[t]=r):(Me(h,t,i),h[t].overloadTable[s-2]=r),re([],l,(function(r){var a=st(i,r,e,o,n);return void 0===h[t].overloadTable?(a.argCount=s-2,h[t]=a):h[t].overloadTable[s-2]=a,[]})),[]}))},O:function(e,t){ue(e,{name:t=le(t),fromWireType:function(e){var t=lt.toValue(e);return ot(e),t},toWireType:function(e,t){return lt.toHandle(t)},argPackAdvance:8,readValueFromPointer:X,destructorFunction:null})},B:function(e,t,s,i){var r=ne(s);function o(){}t=le(t),o.values={},ue(e,{name:t,constructor:o,fromWireType:function(e){return this.constructor.values[e]},toWireType:function(e,t){return t.value},argPackAdvance:8,readValueFromPointer:ht(t,r,i),destructorFunction:null}),Le(t,o)},s:function(e,t,s){var i=ct(e,"enum");t=le(t);var r=i.constructor,o=Object.create(i.constructor.prototype,{value:{value:s},constructor:{value:ee(i.name+"_"+t,(function(){}))}});r.values[s]=o,r[t]=o},z:function(e,t,s){var i=ne(s);ue(e,{name:t=le(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:At(t,i),destructorFunction:null})},c:function(e,t,s,i,r,o){var n=tt(t,s);e=le(e),r=qe(i,r),Le(e,(function(){et("Cannot call "+e+" due to unbound types",n)}),t-1),re([],n,(function(s){var i=[s[0],null].concat(s.slice(1));return Ke(e,st(e,i,null,r,o),t-1),[]}))},r:function(e,t,s,i,r){t=le(t);var o=ne(s),n=e=>e;if(0===i){var a=32-8*s;n=e=>e<>>a}var l=t.includes("unsigned");ue(e,{name:t,fromWireType:n,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:pt(t,o,0!==i),destructorFunction:null})},h:function(e,t,s){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function r(e){var t=I,s=t[(e>>=2)>>>0],r=t[e+1>>>0];return new i(t.buffer,r,s)}ue(e,{name:s=le(s),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})},A:function(e,t){var s="std::string"===(t=le(t));ue(e,{name:t,fromWireType:function(e){var t,i=I[e>>>2],r=e+4;if(s)for(var o=r,n=0;n<=i;++n){var a=r+n;if(n==i||0==E[a>>>0]){var l=N(o,a-o);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),o=a+1}}else{var h=new Array(i);for(n=0;n>>0]);t=h.join("")}return zt(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r="string"==typeof t;r||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ce("Cannot pass non-string to std::string"),i=s&&r?b(t):t.length;var o=Qt(4+i+1),n=o+4;if(n>>>=0,I[o>>>2]=i,s&&r)C(t,E,n,i+1);else if(r)for(var a=0;a255&&(zt(n),ce("String has UTF-16 code units that do not fit in 8 bits")),E[n+a>>>0]=l}else for(a=0;a>>0]=t[a];return null!==e&&e.push(zt,o),o},argPackAdvance:8,readValueFromPointer:X,destructorFunction:function(e){zt(e)}})},v:function(e,t,s){var i,r,o,n,a;s=le(s),2===t?(i=ft,r=mt,n=Et,o=()=>g,a=1):4===t&&(i=yt,r=gt,n=vt,o=()=>I,a=2),ue(e,{name:s,fromWireType:function(e){for(var s,r=I[e>>>2],n=o(),l=e+4,h=0;h<=r;++h){var c=e+4+h*t;if(h==r||0==n[c>>>a]){var u=i(l,c-l);void 0===s?s=u:(s+=String.fromCharCode(0),s+=u),l=c+t}}return zt(e),s},toWireType:function(e,i){"string"!=typeof i&&ce("Cannot pass non-string to C++ string type "+s);var o=n(i),l=Qt(4+o+t);return I[(l>>>=0)>>>2]=o>>a,r(i,l+4,o+t),null!==e&&e.push(zt,l),l},argPackAdvance:8,readValueFromPointer:X,destructorFunction:function(e){zt(e)}})},S:function(e,t,s,i,r,o){K[e]={name:le(t),rawConstructor:qe(s,i),rawDestructor:qe(r,o),elements:[]}},i:function(e,t,s,i,r,o,n,a,l){K[e].elements.push({getterReturnType:t,getter:qe(s,i),getterContext:r,setterArgumentType:o,setter:qe(n,a),setterContext:l})},q:function(e,t,s,i,r,o){oe[e]={name:le(t),rawConstructor:qe(s,i),rawDestructor:qe(r,o),fields:[]}},e:function(e,t,s,i,r,o,n,a,l,h){oe[e].fields.push({fieldName:le(t),getterReturnType:s,getter:qe(i,r),getterContext:o,setterArgumentType:n,setter:qe(a,l),setterContext:h})},Q:function(e,t){ue(e,{isVoid:!0,name:t=le(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},m:function(e,t,s){e=lt.toValue(e),t=ct(t,"emval::as");var i=[],r=lt.toHandle(i);return I[s>>>2]=r,t.toWireType(i,e)},x:function(e,t,s,i){e=lt.toValue(e);for(var r=function(e,t){for(var s=new Array(e),i=0;i>>2],"parameter "+i);return s}(t,s),o=new Array(t),n=0;n4&&(rt[e].refcount+=1)},U:function(e,t){return(e=lt.toValue(e))instanceof(t=lt.toValue(t))},w:function(e){return"number"==typeof(e=lt.toValue(e))},C:function(e){return"string"==typeof(e=lt.toValue(e))},T:function(){return lt.toHandle([])},g:function(e){return lt.toHandle(Tt(e))},u:function(){return lt.toHandle({})},l:function(e){Y(lt.toValue(e)),ot(e)},j:function(e,t,s){e=lt.toValue(e),t=lt.toValue(t),s=lt.toValue(s),e[t]=s},d:function(e,t){var s=(e=ct(e,"_emval_take_value")).readValueFromPointer(t);return lt.toHandle(s)},y:function(){V("")},N:function(e,t,s){E.copyWithin(e>>>0,t>>>0,t+s>>>0)},L:function(e){var t,s,i=E.length,r=4294901760;if((e>>>=0)>r)return!1;for(var o=1;o<=4;o*=2){var n=i*(1+.2/o);if(n=Math.min(n,e+100663296),Rt(Math.min(r,(t=Math.max(e,n))+((s=65536)-t%s)%s)))return!0}return!1},H:function(e,t){var s=0;return Dt().forEach((function(i,r){var o=t+s;I[e+4*r>>>2]=o,function(e,t,s){for(var i=0;i>>0]=e.charCodeAt(i);s||(m[t>>>0]=0)}(i,o),s+=i.length+1})),0},I:function(e,t){var s=Dt();I[e>>>2]=s.length;var i=0;return s.forEach((function(e){i+=e.length+1})),I[t>>>2]=i,0},J:function(e){try{var t=Bt.getStreamFromFD(e);return wt.close(t),0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}},K:function(e,t,s,i){try{var r=function(e,t,s,i){for(var r=0,o=0;o>>2],a=I[t+4>>>2];t+=8;var l=wt.read(e,m,n,a,i);if(l<0)return-1;if(r+=l,l>>2]=r,0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}},E:function(e,t,s,i,r){try{var o=(l=s)+2097152>>>0<4194305-!!(a=t)?(a>>>0)+4294967296*l:NaN;if(isNaN(o))return 61;var n=Bt.getStreamFromFD(e);return wt.llseek(n,o,i),B=[n.position>>>0,(w=n.position,+Math.abs(w)>=1?w>0?(0|Math.min(+Math.floor(w/4294967296),4294967295))>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],v[r>>>2]=B[0],v[r+4>>>2]=B[1],n.getdents&&0===o&&0===i&&(n.getdents=null),0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}var a,l},M:function(e,t,s,i){try{var r=function(e,t,s,i){for(var r=0,o=0;o>>2],a=I[t+4>>>2];t+=8;var l=wt.write(e,m,n,a,i);if(l<0)return-1;r+=l,void 0!==i&&(i+=l)}return r}(Bt.getStreamFromFD(e),t,s);return I[i>>>2]=r,0}catch(e){if(void 0===wt||!(e instanceof wt.ErrnoError))throw e;return e.errno}},G:function(e,t,s,i,r){return Ut(e,t,s,i)}};!function(){var e={a:Vt};function t(e,t){var s,i=e.exports;r.asm=i,u=r.asm.V,O(),R=r.asm.X,s=r.asm.W,M.unshift(s),k()}function s(e){t(e.instance)}function o(t){return(c||"function"!=typeof fetch?Promise.resolve().then((function(){return j(S)})):fetch(S,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+S+"'";return e.arrayBuffer()})).catch((function(){return j(S)}))).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){p("failed to asynchronously prepare wasm: "+e),V(e)}))}if(G(),r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){p("Module.instantiateWasm callback failed with error: "+e),i(e)}(c||"function"!=typeof WebAssembly.instantiateStreaming||Q(S)||"function"!=typeof fetch?o(s):fetch(S,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(s,(function(e){return p("wasm streaming compile failed: "+e),p("falling back to ArrayBuffer instantiation"),o(s)}))}))).catch(i)}();var Qt=function(){return(Qt=r.asm.Y).apply(null,arguments)},jt=r.___getTypeName=function(){return(jt=r.___getTypeName=r.asm.Z).apply(null,arguments)};r.__embind_initialize_bindings=function(){return(r.__embind_initialize_bindings=r.asm._).apply(null,arguments)};var Wt,zt=function(){return(zt=r.asm.$).apply(null,arguments)},Kt=function(){return(Kt=r.asm.aa).apply(null,arguments)};function Yt(){function e(){Wt||(Wt=!0,r.calledRun=!0,d||(r.noFSInit||wt.init.initialized||wt.init(),wt.ignorePermissions=!1,W(M),t(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),function(){if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)e=r.postRun.shift(),L.unshift(e);var e;W(L)}()))}U>0||(function(){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)e=r.preRun.shift(),F.unshift(e);var e;W(F)}(),U>0||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),e()}),1)):e()))}if(r.dynCall_jiji=function(){return(r.dynCall_jiji=r.asm.ba).apply(null,arguments)},r.dynCall_viijii=function(){return(r.dynCall_viijii=r.asm.ca).apply(null,arguments)},r.dynCall_iiiiij=function(){return(r.dynCall_iiiiij=r.asm.da).apply(null,arguments)},r.dynCall_iiiiijj=function(){return(r.dynCall_iiiiijj=r.asm.ea).apply(null,arguments)},r.dynCall_iiiiiijj=function(){return(r.dynCall_iiiiiijj=r.asm.fa).apply(null,arguments)},H=function e(){Wt||Yt(),Wt||(H=e)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Yt(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=i:"function"==typeof define&&define.amd?define([],(function(){return i})):"object"==typeof e&&(e.WebIFCWasm=i)}}),yg=class{constructor(e){this.value=e,this.type=5}},gg=class{constructor(e){this.expressID=e,this.type=0}};if((hg=lg||(lg={})).IFC2X3="IFC2X3",hg.IFC4="IFC4",hg.IFC4X3="IFC4X3",function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcComplexNumber=class{constructor(e){this.value=e}};e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}};e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDaylightSavingHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t;e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}};e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}};e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}};e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}};e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHourInDay=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}};e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLabel=class{constructor(e){this.value=e,this.type=1}};e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMinuteInHour=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}};e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSecondInMinute=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcText=class{constructor(e){this.value=e,this.type=1}};e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}};e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}};e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}};e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class s{}s.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},s.COMPLETION_G1={type:3,value:"COMPLETION_G1"},s.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},s.SNOW_S={type:3,value:"SNOW_S"},s.WIND_W={type:3,value:"WIND_W"},s.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},s.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},s.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},s.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},s.FIRE={type:3,value:"FIRE"},s.IMPULSE={type:3,value:"IMPULSE"},s.IMPACT={type:3,value:"IMPACT"},s.TRANSPORT={type:3,value:"TRANSPORT"},s.ERECTION={type:3,value:"ERECTION"},s.PROPPING={type:3,value:"PROPPING"},s.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},s.SHRINKAGE={type:3,value:"SHRINKAGE"},s.CREEP={type:3,value:"CREEP"},s.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},s.BUOYANCY={type:3,value:"BUOYANCY"},s.ICE={type:3,value:"ICE"},s.CURRENT={type:3,value:"CURRENT"},s.WAVE={type:3,value:"WAVE"},s.RAIN={type:3,value:"RAIN"},s.BRAKES={type:3,value:"BRAKES"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=s;class i{}i.PERMANENT_G={type:3,value:"PERMANENT_G"},i.VARIABLE_Q={type:3,value:"VARIABLE_Q"},i.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=i;class r{}r.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},r.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},r.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},r.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},r.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=r;class o{}o.OFFICE={type:3,value:"OFFICE"},o.SITE={type:3,value:"SITE"},o.HOME={type:3,value:"HOME"},o.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},o.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=o;class n{}n.AHEAD={type:3,value:"AHEAD"},n.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=n;class a{}a.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},a.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},a.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=a;class l{}l.GRILLE={type:3,value:"GRILLE"},l.REGISTER={type:3,value:"REGISTER"},l.DIFFUSER={type:3,value:"DIFFUSER"},l.EYEBALL={type:3,value:"EYEBALL"},l.IRIS={type:3,value:"IRIS"},l.LINEARGRILLE={type:3,value:"LINEARGRILLE"},l.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},l.USERDEFINED={type:3,value:"USERDEFINED"},l.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=l;class h{}h.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},h.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},h.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},h.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},h.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},h.HEATPIPE={type:3,value:"HEATPIPE"},h.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},h.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},h.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=h;class c{}c.BELL={type:3,value:"BELL"},c.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},c.LIGHT={type:3,value:"LIGHT"},c.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},c.SIREN={type:3,value:"SIREN"},c.WHISTLE={type:3,value:"WHISTLE"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=c;class u{}u.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},u.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},u.LOADING_3D={type:3,value:"LOADING_3D"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=u;class A{}A.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},A.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},A.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},A.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=A;class p{}p.ADD={type:3,value:"ADD"},p.DIVIDE={type:3,value:"DIVIDE"},p.MULTIPLY={type:3,value:"MULTIPLY"},p.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=p;class d{}d.SITE={type:3,value:"SITE"},d.FACTORY={type:3,value:"FACTORY"},d.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=d;class f{}f.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},f.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},f.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},f.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},f.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},f.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=f;class m{}m.BEAM={type:3,value:"BEAM"},m.JOIST={type:3,value:"JOIST"},m.LINTEL={type:3,value:"LINTEL"},m.T_BEAM={type:3,value:"T_BEAM"},m.USERDEFINED={type:3,value:"USERDEFINED"},m.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=m;class E{}E.GREATERTHAN={type:3,value:"GREATERTHAN"},E.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},E.LESSTHAN={type:3,value:"LESSTHAN"},E.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},E.EQUALTO={type:3,value:"EQUALTO"},E.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=E;class y{}y.WATER={type:3,value:"WATER"},y.STEAM={type:3,value:"STEAM"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=y;class g{}g.UNION={type:3,value:"UNION"},g.INTERSECTION={type:3,value:"INTERSECTION"},g.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=g;class v{}v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=v;class I{}I.BEND={type:3,value:"BEND"},I.CROSS={type:3,value:"CROSS"},I.REDUCER={type:3,value:"REDUCER"},I.TEE={type:3,value:"TEE"},I.USERDEFINED={type:3,value:"USERDEFINED"},I.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=I;class T{}T.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},T.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},T.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},T.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=T;class _{}_.CABLESEGMENT={type:3,value:"CABLESEGMENT"},_.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=_;class R{}R.NOCHANGE={type:3,value:"NOCHANGE"},R.MODIFIED={type:3,value:"MODIFIED"},R.ADDED={type:3,value:"ADDED"},R.DELETED={type:3,value:"DELETED"},R.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},R.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=R;class P{}P.AIRCOOLED={type:3,value:"AIRCOOLED"},P.WATERCOOLED={type:3,value:"WATERCOOLED"},P.HEATRECOVERY={type:3,value:"HEATRECOVERY"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=P;class D{}D.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},D.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},D.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},D.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},D.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},D.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=D;class N{}N.COLUMN={type:3,value:"COLUMN"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=N;class C{}C.DYNAMIC={type:3,value:"DYNAMIC"},C.RECIPROCATING={type:3,value:"RECIPROCATING"},C.ROTARY={type:3,value:"ROTARY"},C.SCROLL={type:3,value:"SCROLL"},C.TROCHOIDAL={type:3,value:"TROCHOIDAL"},C.SINGLESTAGE={type:3,value:"SINGLESTAGE"},C.BOOSTER={type:3,value:"BOOSTER"},C.OPENTYPE={type:3,value:"OPENTYPE"},C.HERMETIC={type:3,value:"HERMETIC"},C.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},C.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},C.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},C.ROTARYVANE={type:3,value:"ROTARYVANE"},C.SINGLESCREW={type:3,value:"SINGLESCREW"},C.TWINSCREW={type:3,value:"TWINSCREW"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=C;class b{}b.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},b.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},b.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},b.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},b.AIRCOOLED={type:3,value:"AIRCOOLED"},b.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=b;class O{}O.ATPATH={type:3,value:"ATPATH"},O.ATSTART={type:3,value:"ATSTART"},O.ATEND={type:3,value:"ATEND"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=O;class S{}S.HARD={type:3,value:"HARD"},S.SOFT={type:3,value:"SOFT"},S.ADVISORY={type:3,value:"ADVISORY"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=S;class x{}x.FLOATING={type:3,value:"FLOATING"},x.PROPORTIONAL={type:3,value:"PROPORTIONAL"},x.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},x.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},x.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},x.TWOPOSITION={type:3,value:"TWOPOSITION"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=x;class w{}w.ACTIVE={type:3,value:"ACTIVE"},w.PASSIVE={type:3,value:"PASSIVE"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=w;class B{}B.NATURALDRAFT={type:3,value:"NATURALDRAFT"},B.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},B.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=B;class F{}F.BUDGET={type:3,value:"BUDGET"},F.COSTPLAN={type:3,value:"COSTPLAN"},F.ESTIMATE={type:3,value:"ESTIMATE"},F.TENDER={type:3,value:"TENDER"},F.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},F.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},F.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=F;class M{}M.CEILING={type:3,value:"CEILING"},M.FLOORING={type:3,value:"FLOORING"},M.CLADDING={type:3,value:"CLADDING"},M.ROOFING={type:3,value:"ROOFING"},M.INSULATION={type:3,value:"INSULATION"},M.MEMBRANE={type:3,value:"MEMBRANE"},M.SLEEVING={type:3,value:"SLEEVING"},M.WRAPPING={type:3,value:"WRAPPING"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=M;class L{}L.AED={type:3,value:"AED"},L.AES={type:3,value:"AES"},L.ATS={type:3,value:"ATS"},L.AUD={type:3,value:"AUD"},L.BBD={type:3,value:"BBD"},L.BEG={type:3,value:"BEG"},L.BGL={type:3,value:"BGL"},L.BHD={type:3,value:"BHD"},L.BMD={type:3,value:"BMD"},L.BND={type:3,value:"BND"},L.BRL={type:3,value:"BRL"},L.BSD={type:3,value:"BSD"},L.BWP={type:3,value:"BWP"},L.BZD={type:3,value:"BZD"},L.CAD={type:3,value:"CAD"},L.CBD={type:3,value:"CBD"},L.CHF={type:3,value:"CHF"},L.CLP={type:3,value:"CLP"},L.CNY={type:3,value:"CNY"},L.CYS={type:3,value:"CYS"},L.CZK={type:3,value:"CZK"},L.DDP={type:3,value:"DDP"},L.DEM={type:3,value:"DEM"},L.DKK={type:3,value:"DKK"},L.EGL={type:3,value:"EGL"},L.EST={type:3,value:"EST"},L.EUR={type:3,value:"EUR"},L.FAK={type:3,value:"FAK"},L.FIM={type:3,value:"FIM"},L.FJD={type:3,value:"FJD"},L.FKP={type:3,value:"FKP"},L.FRF={type:3,value:"FRF"},L.GBP={type:3,value:"GBP"},L.GIP={type:3,value:"GIP"},L.GMD={type:3,value:"GMD"},L.GRX={type:3,value:"GRX"},L.HKD={type:3,value:"HKD"},L.HUF={type:3,value:"HUF"},L.ICK={type:3,value:"ICK"},L.IDR={type:3,value:"IDR"},L.ILS={type:3,value:"ILS"},L.INR={type:3,value:"INR"},L.IRP={type:3,value:"IRP"},L.ITL={type:3,value:"ITL"},L.JMD={type:3,value:"JMD"},L.JOD={type:3,value:"JOD"},L.JPY={type:3,value:"JPY"},L.KES={type:3,value:"KES"},L.KRW={type:3,value:"KRW"},L.KWD={type:3,value:"KWD"},L.KYD={type:3,value:"KYD"},L.LKR={type:3,value:"LKR"},L.LUF={type:3,value:"LUF"},L.MTL={type:3,value:"MTL"},L.MUR={type:3,value:"MUR"},L.MXN={type:3,value:"MXN"},L.MYR={type:3,value:"MYR"},L.NLG={type:3,value:"NLG"},L.NZD={type:3,value:"NZD"},L.OMR={type:3,value:"OMR"},L.PGK={type:3,value:"PGK"},L.PHP={type:3,value:"PHP"},L.PKR={type:3,value:"PKR"},L.PLN={type:3,value:"PLN"},L.PTN={type:3,value:"PTN"},L.QAR={type:3,value:"QAR"},L.RUR={type:3,value:"RUR"},L.SAR={type:3,value:"SAR"},L.SCR={type:3,value:"SCR"},L.SEK={type:3,value:"SEK"},L.SGD={type:3,value:"SGD"},L.SKP={type:3,value:"SKP"},L.THB={type:3,value:"THB"},L.TRL={type:3,value:"TRL"},L.TTD={type:3,value:"TTD"},L.TWD={type:3,value:"TWD"},L.USD={type:3,value:"USD"},L.VEB={type:3,value:"VEB"},L.VND={type:3,value:"VND"},L.XEU={type:3,value:"XEU"},L.ZAR={type:3,value:"ZAR"},L.ZWD={type:3,value:"ZWD"},L.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=L;class U{}U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=U;class H{}H.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},H.FIREDAMPER={type:3,value:"FIREDAMPER"},H.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},H.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},H.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},H.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},H.BLASTDAMPER={type:3,value:"BLASTDAMPER"},H.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},H.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},H.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},H.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},H.USERDEFINED={type:3,value:"USERDEFINED"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=H;class G{}G.MEASURED={type:3,value:"MEASURED"},G.PREDICTED={type:3,value:"PREDICTED"},G.SIMULATED={type:3,value:"SIMULATED"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=G;class k{}k.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},k.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},k.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},k.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},k.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},k.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},k.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},k.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},k.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},k.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},k.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},k.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},k.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},k.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},k.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},k.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},k.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},k.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},k.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},k.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},k.TORQUEUNIT={type:3,value:"TORQUEUNIT"},k.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},k.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},k.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},k.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},k.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},k.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},k.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},k.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},k.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},k.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},k.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},k.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},k.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},k.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},k.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},k.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},k.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},k.PHUNIT={type:3,value:"PHUNIT"},k.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},k.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},k.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},k.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},k.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},k.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},k.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},k.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},k.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},k.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=k;class V{}V.ORIGIN={type:3,value:"ORIGIN"},V.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=V;class Q{}Q.POSITIVE={type:3,value:"POSITIVE"},Q.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=Q;class j{}j.FORMEDDUCT={type:3,value:"FORMEDDUCT"},j.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},j.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},j.MANHOLE={type:3,value:"MANHOLE"},j.METERCHAMBER={type:3,value:"METERCHAMBER"},j.SUMP={type:3,value:"SUMP"},j.TRENCH={type:3,value:"TRENCH"},j.VALVECHAMBER={type:3,value:"VALVECHAMBER"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=j;class W{}W.PUBLIC={type:3,value:"PUBLIC"},W.RESTRICTED={type:3,value:"RESTRICTED"},W.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},W.PERSONAL={type:3,value:"PERSONAL"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=W;class z{}z.DRAFT={type:3,value:"DRAFT"},z.FINALDRAFT={type:3,value:"FINALDRAFT"},z.FINAL={type:3,value:"FINAL"},z.REVISION={type:3,value:"REVISION"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=z;class K{}K.SWINGING={type:3,value:"SWINGING"},K.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},K.SLIDING={type:3,value:"SLIDING"},K.FOLDING={type:3,value:"FOLDING"},K.REVOLVING={type:3,value:"REVOLVING"},K.ROLLINGUP={type:3,value:"ROLLINGUP"},K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=K;class Y{}Y.LEFT={type:3,value:"LEFT"},Y.MIDDLE={type:3,value:"MIDDLE"},Y.RIGHT={type:3,value:"RIGHT"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=Y;class X{}X.ALUMINIUM={type:3,value:"ALUMINIUM"},X.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},X.STEEL={type:3,value:"STEEL"},X.WOOD={type:3,value:"WOOD"},X.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},X.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},X.PLASTIC={type:3,value:"PLASTIC"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=X;class Z{}Z.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Z.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Z.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Z.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Z.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Z.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Z.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Z.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Z.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Z.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Z.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Z.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Z.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Z.REVOLVING={type:3,value:"REVOLVING"},Z.ROLLINGUP={type:3,value:"ROLLINGUP"},Z.USERDEFINED={type:3,value:"USERDEFINED"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Z;class q{}q.BEND={type:3,value:"BEND"},q.CONNECTOR={type:3,value:"CONNECTOR"},q.ENTRY={type:3,value:"ENTRY"},q.EXIT={type:3,value:"EXIT"},q.JUNCTION={type:3,value:"JUNCTION"},q.OBSTRUCTION={type:3,value:"OBSTRUCTION"},q.TRANSITION={type:3,value:"TRANSITION"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=q;class J{}J.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},J.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=J;class ${}$.FLATOVAL={type:3,value:"FLATOVAL"},$.RECTANGULAR={type:3,value:"RECTANGULAR"},$.ROUND={type:3,value:"ROUND"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=$;class ee{}ee.COMPUTER={type:3,value:"COMPUTER"},ee.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},ee.DISHWASHER={type:3,value:"DISHWASHER"},ee.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},ee.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},ee.FACSIMILE={type:3,value:"FACSIMILE"},ee.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},ee.FREEZER={type:3,value:"FREEZER"},ee.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},ee.HANDDRYER={type:3,value:"HANDDRYER"},ee.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},ee.MICROWAVE={type:3,value:"MICROWAVE"},ee.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},ee.PRINTER={type:3,value:"PRINTER"},ee.REFRIGERATOR={type:3,value:"REFRIGERATOR"},ee.RADIANTHEATER={type:3,value:"RADIANTHEATER"},ee.SCANNER={type:3,value:"SCANNER"},ee.TELEPHONE={type:3,value:"TELEPHONE"},ee.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},ee.TV={type:3,value:"TV"},ee.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},ee.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},ee.WATERHEATER={type:3,value:"WATERHEATER"},ee.WATERCOOLER={type:3,value:"WATERCOOLER"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=ee;class te{}te.ALTERNATING={type:3,value:"ALTERNATING"},te.DIRECT={type:3,value:"DIRECT"},te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=te;class se{}se.ALARMPANEL={type:3,value:"ALARMPANEL"},se.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},se.CONTROLPANEL={type:3,value:"CONTROLPANEL"},se.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},se.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},se.INDICATORPANEL={type:3,value:"INDICATORPANEL"},se.MIMICPANEL={type:3,value:"MIMICPANEL"},se.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},se.SWITCHBOARD={type:3,value:"SWITCHBOARD"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=se;class ie{}ie.BATTERY={type:3,value:"BATTERY"},ie.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ie.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ie.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ie.UPS={type:3,value:"UPS"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=ie;class re{}re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=re;class oe{}oe.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},oe.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},oe.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=oe;class ne{}ne.DC={type:3,value:"DC"},ne.INDUCTION={type:3,value:"INDUCTION"},ne.POLYPHASE={type:3,value:"POLYPHASE"},ne.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},ne.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=ne;class ae{}ae.TIMECLOCK={type:3,value:"TIMECLOCK"},ae.TIMEDELAY={type:3,value:"TIMEDELAY"},ae.RELAY={type:3,value:"RELAY"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=ae;class le{}le.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},le.ARCH={type:3,value:"ARCH"},le.BEAM_GRID={type:3,value:"BEAM_GRID"},le.BRACED_FRAME={type:3,value:"BRACED_FRAME"},le.GIRDER={type:3,value:"GIRDER"},le.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},le.RIGID_FRAME={type:3,value:"RIGID_FRAME"},le.SLAB_FIELD={type:3,value:"SLAB_FIELD"},le.TRUSS={type:3,value:"TRUSS"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=le;class he{}he.COMPLEX={type:3,value:"COMPLEX"},he.ELEMENT={type:3,value:"ELEMENT"},he.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=he;class ce{}ce.PRIMARY={type:3,value:"PRIMARY"},ce.SECONDARY={type:3,value:"SECONDARY"},ce.TERTIARY={type:3,value:"TERTIARY"},ce.AUXILIARY={type:3,value:"AUXILIARY"},ce.USERDEFINED={type:3,value:"USERDEFINED"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=ce;class ue{}ue.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},ue.DISPOSAL={type:3,value:"DISPOSAL"},ue.EXTRACTION={type:3,value:"EXTRACTION"},ue.INSTALLATION={type:3,value:"INSTALLATION"},ue.MANUFACTURE={type:3,value:"MANUFACTURE"},ue.TRANSPORTATION={type:3,value:"TRANSPORTATION"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=ue;class Ae{}Ae.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Ae.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Ae.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Ae.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Ae.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Ae.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Ae.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Ae.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Ae.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Ae;class pe{}pe.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},pe.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},pe.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},pe.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},pe.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=pe;class de{}de.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},de.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},de.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},de.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},de.TUBEAXIAL={type:3,value:"TUBEAXIAL"},de.VANEAXIAL={type:3,value:"VANEAXIAL"},de.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=de;class fe{}fe.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},fe.ODORFILTER={type:3,value:"ODORFILTER"},fe.OILFILTER={type:3,value:"OILFILTER"},fe.STRAINER={type:3,value:"STRAINER"},fe.WATERFILTER={type:3,value:"WATERFILTER"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=fe;class me{}me.BREECHINGINLET={type:3,value:"BREECHINGINLET"},me.FIREHYDRANT={type:3,value:"FIREHYDRANT"},me.HOSEREEL={type:3,value:"HOSEREEL"},me.SPRINKLER={type:3,value:"SPRINKLER"},me.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=me;class Ee{}Ee.SOURCE={type:3,value:"SOURCE"},Ee.SINK={type:3,value:"SINK"},Ee.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Ee;class ye{}ye.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ye.THERMOMETER={type:3,value:"THERMOMETER"},ye.AMMETER={type:3,value:"AMMETER"},ye.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ye.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ye.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ye.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ye.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ye;class ge{}ge.ELECTRICMETER={type:3,value:"ELECTRICMETER"},ge.ENERGYMETER={type:3,value:"ENERGYMETER"},ge.FLOWMETER={type:3,value:"FLOWMETER"},ge.GASMETER={type:3,value:"GASMETER"},ge.OILMETER={type:3,value:"OILMETER"},ge.WATERMETER={type:3,value:"WATERMETER"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=ge;class ve{}ve.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},ve.PAD_FOOTING={type:3,value:"PAD_FOOTING"},ve.PILE_CAP={type:3,value:"PILE_CAP"},ve.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=ve;class Ie{}Ie.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ie.GASBOOSTER={type:3,value:"GASBOOSTER"},Ie.GASBURNER={type:3,value:"GASBURNER"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ie;class Te{}Te.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Te.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Te.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Te.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Te.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Te.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Te.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Te;class _e{}_e.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},_e.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=_e;class Re{}Re.PLATE={type:3,value:"PLATE"},Re.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Re;class Pe{}Pe.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Pe.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Pe.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Pe.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Pe.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Pe.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Pe.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Pe.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Pe.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Pe.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Pe.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Pe.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Pe.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Pe;class De{}De.INTERNAL={type:3,value:"INTERNAL"},De.EXTERNAL={type:3,value:"EXTERNAL"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=De;class Ne{}Ne.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Ne.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Ne.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Ne;class Ce{}Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Ce;class be{}be.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},be.FLUORESCENT={type:3,value:"FLUORESCENT"},be.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},be.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},be.METALHALIDE={type:3,value:"METALHALIDE"},be.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=be;class Oe{}Oe.AXIS1={type:3,value:"AXIS1"},Oe.AXIS2={type:3,value:"AXIS2"},Oe.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Oe;class Se{}Se.TYPE_A={type:3,value:"TYPE_A"},Se.TYPE_B={type:3,value:"TYPE_B"},Se.TYPE_C={type:3,value:"TYPE_C"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Se;class xe{}xe.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},xe.FLUORESCENT={type:3,value:"FLUORESCENT"},xe.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},xe.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},xe.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},xe.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},xe.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},xe.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},xe.METALHALIDE={type:3,value:"METALHALIDE"},xe.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=xe;class we{}we.POINTSOURCE={type:3,value:"POINTSOURCE"},we.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=we;class Be{}Be.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Be.LOAD_CASE={type:3,value:"LOAD_CASE"},Be.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},Be.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Be;class Fe{}Fe.LOGICALAND={type:3,value:"LOGICALAND"},Fe.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=Fe;class Me{}Me.BRACE={type:3,value:"BRACE"},Me.CHORD={type:3,value:"CHORD"},Me.COLLAR={type:3,value:"COLLAR"},Me.MEMBER={type:3,value:"MEMBER"},Me.MULLION={type:3,value:"MULLION"},Me.PLATE={type:3,value:"PLATE"},Me.POST={type:3,value:"POST"},Me.PURLIN={type:3,value:"PURLIN"},Me.RAFTER={type:3,value:"RAFTER"},Me.STRINGER={type:3,value:"STRINGER"},Me.STRUT={type:3,value:"STRUT"},Me.STUD={type:3,value:"STUD"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Me;class Le{}Le.BELTDRIVE={type:3,value:"BELTDRIVE"},Le.COUPLING={type:3,value:"COUPLING"},Le.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=Le;class Ue{}Ue.NULL={type:3,value:"NULL"},e.IfcNullStyle=Ue;class He{}He.PRODUCT={type:3,value:"PRODUCT"},He.PROCESS={type:3,value:"PROCESS"},He.CONTROL={type:3,value:"CONTROL"},He.RESOURCE={type:3,value:"RESOURCE"},He.ACTOR={type:3,value:"ACTOR"},He.GROUP={type:3,value:"GROUP"},He.PROJECT={type:3,value:"PROJECT"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=He;class Ge{}Ge.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Ge.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Ge.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Ge.REQUIREMENT={type:3,value:"REQUIREMENT"},Ge.SPECIFICATION={type:3,value:"SPECIFICATION"},Ge.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Ge;class ke{}ke.ASSIGNEE={type:3,value:"ASSIGNEE"},ke.ASSIGNOR={type:3,value:"ASSIGNOR"},ke.LESSEE={type:3,value:"LESSEE"},ke.LESSOR={type:3,value:"LESSOR"},ke.LETTINGAGENT={type:3,value:"LETTINGAGENT"},ke.OWNER={type:3,value:"OWNER"},ke.TENANT={type:3,value:"TENANT"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=ke;class Ve{}Ve.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ve.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ve.POWEROUTLET={type:3,value:"POWEROUTLET"},Ve.USERDEFINED={type:3,value:"USERDEFINED"},Ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ve;class Qe{}Qe.GRILL={type:3,value:"GRILL"},Qe.LOUVER={type:3,value:"LOUVER"},Qe.SCREEN={type:3,value:"SCREEN"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Qe;class je{}je.PHYSICAL={type:3,value:"PHYSICAL"},je.VIRTUAL={type:3,value:"VIRTUAL"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=je;class We{}We.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},We.COMPOSITE={type:3,value:"COMPOSITE"},We.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},We.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=We;class ze{}ze.COHESION={type:3,value:"COHESION"},ze.FRICTION={type:3,value:"FRICTION"},ze.SUPPORT={type:3,value:"SUPPORT"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ze;class Ke{}Ke.BEND={type:3,value:"BEND"},Ke.CONNECTOR={type:3,value:"CONNECTOR"},Ke.ENTRY={type:3,value:"ENTRY"},Ke.EXIT={type:3,value:"EXIT"},Ke.JUNCTION={type:3,value:"JUNCTION"},Ke.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Ke.TRANSITION={type:3,value:"TRANSITION"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Ke;class Ye{}Ye.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ye.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ye.GUTTER={type:3,value:"GUTTER"},Ye.SPOOL={type:3,value:"SPOOL"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Ye;class Xe{}Xe.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Xe.SHEET={type:3,value:"SHEET"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Xe;class Ze{}Ze.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Ze.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Ze.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Ze.CALIBRATION={type:3,value:"CALIBRATION"},Ze.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Ze.SHUTDOWN={type:3,value:"SHUTDOWN"},Ze.STARTUP={type:3,value:"STARTUP"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Ze;class qe{}qe.CURVE={type:3,value:"CURVE"},qe.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=qe;class Je{}Je.CHANGE={type:3,value:"CHANGE"},Je.MAINTENANCE={type:3,value:"MAINTENANCE"},Je.MOVE={type:3,value:"MOVE"},Je.PURCHASE={type:3,value:"PURCHASE"},Je.WORK={type:3,value:"WORK"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=Je;class $e{}$e.CHANGEORDER={type:3,value:"CHANGEORDER"},$e.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},$e.MOVEORDER={type:3,value:"MOVEORDER"},$e.PURCHASEORDER={type:3,value:"PURCHASEORDER"},$e.WORKORDER={type:3,value:"WORKORDER"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=$e;class et{}et.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},et.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=et;class tt{}tt.DESIGN={type:3,value:"DESIGN"},tt.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},tt.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},tt.SIMULATED={type:3,value:"SIMULATED"},tt.ASBUILT={type:3,value:"ASBUILT"},tt.COMMISSIONING={type:3,value:"COMMISSIONING"},tt.MEASURED={type:3,value:"MEASURED"},tt.USERDEFINED={type:3,value:"USERDEFINED"},tt.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=tt;class st{}st.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},st.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},st.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},st.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},st.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},st.VARISTOR={type:3,value:"VARISTOR"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=st;class it{}it.CIRCULATOR={type:3,value:"CIRCULATOR"},it.ENDSUCTION={type:3,value:"ENDSUCTION"},it.SPLITCASE={type:3,value:"SPLITCASE"},it.VERTICALINLINE={type:3,value:"VERTICALINLINE"},it.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=it;class rt{}rt.HANDRAIL={type:3,value:"HANDRAIL"},rt.GUARDRAIL={type:3,value:"GUARDRAIL"},rt.BALUSTRADE={type:3,value:"BALUSTRADE"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=rt;class ot{}ot.STRAIGHT={type:3,value:"STRAIGHT"},ot.SPIRAL={type:3,value:"SPIRAL"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=ot;class nt{}nt.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},nt.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},nt.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},nt.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},nt.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},nt.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=nt;class at{}at.BLINN={type:3,value:"BLINN"},at.FLAT={type:3,value:"FLAT"},at.GLASS={type:3,value:"GLASS"},at.MATT={type:3,value:"MATT"},at.METAL={type:3,value:"METAL"},at.MIRROR={type:3,value:"MIRROR"},at.PHONG={type:3,value:"PHONG"},at.PLASTIC={type:3,value:"PLASTIC"},at.STRAUSS={type:3,value:"STRAUSS"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=at;class lt{}lt.MAIN={type:3,value:"MAIN"},lt.SHEAR={type:3,value:"SHEAR"},lt.LIGATURE={type:3,value:"LIGATURE"},lt.STUD={type:3,value:"STUD"},lt.PUNCHING={type:3,value:"PUNCHING"},lt.EDGE={type:3,value:"EDGE"},lt.RING={type:3,value:"RING"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=lt;class ht{}ht.PLAIN={type:3,value:"PLAIN"},ht.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=ht;class ct{}ct.CONSUMED={type:3,value:"CONSUMED"},ct.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},ct.NOTCONSUMED={type:3,value:"NOTCONSUMED"},ct.OCCUPIED={type:3,value:"OCCUPIED"},ct.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},ct.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},ct.USERDEFINED={type:3,value:"USERDEFINED"},ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=ct;class ut{}ut.DIRECTION_X={type:3,value:"DIRECTION_X"},ut.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=ut;class At{}At.SUPPLIER={type:3,value:"SUPPLIER"},At.MANUFACTURER={type:3,value:"MANUFACTURER"},At.CONTRACTOR={type:3,value:"CONTRACTOR"},At.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},At.ARCHITECT={type:3,value:"ARCHITECT"},At.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},At.COSTENGINEER={type:3,value:"COSTENGINEER"},At.CLIENT={type:3,value:"CLIENT"},At.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},At.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},At.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},At.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},At.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},At.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},At.CIVILENGINEER={type:3,value:"CIVILENGINEER"},At.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},At.ENGINEER={type:3,value:"ENGINEER"},At.OWNER={type:3,value:"OWNER"},At.CONSULTANT={type:3,value:"CONSULTANT"},At.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},At.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},At.RESELLER={type:3,value:"RESELLER"},At.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=At;class pt{}pt.FLAT_ROOF={type:3,value:"FLAT_ROOF"},pt.SHED_ROOF={type:3,value:"SHED_ROOF"},pt.GABLE_ROOF={type:3,value:"GABLE_ROOF"},pt.HIP_ROOF={type:3,value:"HIP_ROOF"},pt.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},pt.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},pt.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},pt.BARREL_ROOF={type:3,value:"BARREL_ROOF"},pt.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},pt.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},pt.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},pt.DOME_ROOF={type:3,value:"DOME_ROOF"},pt.FREEFORM={type:3,value:"FREEFORM"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=pt;class dt{}dt.EXA={type:3,value:"EXA"},dt.PETA={type:3,value:"PETA"},dt.TERA={type:3,value:"TERA"},dt.GIGA={type:3,value:"GIGA"},dt.MEGA={type:3,value:"MEGA"},dt.KILO={type:3,value:"KILO"},dt.HECTO={type:3,value:"HECTO"},dt.DECA={type:3,value:"DECA"},dt.DECI={type:3,value:"DECI"},dt.CENTI={type:3,value:"CENTI"},dt.MILLI={type:3,value:"MILLI"},dt.MICRO={type:3,value:"MICRO"},dt.NANO={type:3,value:"NANO"},dt.PICO={type:3,value:"PICO"},dt.FEMTO={type:3,value:"FEMTO"},dt.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=dt;class ft{}ft.AMPERE={type:3,value:"AMPERE"},ft.BECQUEREL={type:3,value:"BECQUEREL"},ft.CANDELA={type:3,value:"CANDELA"},ft.COULOMB={type:3,value:"COULOMB"},ft.CUBIC_METRE={type:3,value:"CUBIC_METRE"},ft.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},ft.FARAD={type:3,value:"FARAD"},ft.GRAM={type:3,value:"GRAM"},ft.GRAY={type:3,value:"GRAY"},ft.HENRY={type:3,value:"HENRY"},ft.HERTZ={type:3,value:"HERTZ"},ft.JOULE={type:3,value:"JOULE"},ft.KELVIN={type:3,value:"KELVIN"},ft.LUMEN={type:3,value:"LUMEN"},ft.LUX={type:3,value:"LUX"},ft.METRE={type:3,value:"METRE"},ft.MOLE={type:3,value:"MOLE"},ft.NEWTON={type:3,value:"NEWTON"},ft.OHM={type:3,value:"OHM"},ft.PASCAL={type:3,value:"PASCAL"},ft.RADIAN={type:3,value:"RADIAN"},ft.SECOND={type:3,value:"SECOND"},ft.SIEMENS={type:3,value:"SIEMENS"},ft.SIEVERT={type:3,value:"SIEVERT"},ft.SQUARE_METRE={type:3,value:"SQUARE_METRE"},ft.STERADIAN={type:3,value:"STERADIAN"},ft.TESLA={type:3,value:"TESLA"},ft.VOLT={type:3,value:"VOLT"},ft.WATT={type:3,value:"WATT"},ft.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=ft;class mt{}mt.BATH={type:3,value:"BATH"},mt.BIDET={type:3,value:"BIDET"},mt.CISTERN={type:3,value:"CISTERN"},mt.SHOWER={type:3,value:"SHOWER"},mt.SINK={type:3,value:"SINK"},mt.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},mt.TOILETPAN={type:3,value:"TOILETPAN"},mt.URINAL={type:3,value:"URINAL"},mt.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},mt.WCSEAT={type:3,value:"WCSEAT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=mt;class Et{}Et.UNIFORM={type:3,value:"UNIFORM"},Et.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Et;class yt{}yt.CO2SENSOR={type:3,value:"CO2SENSOR"},yt.FIRESENSOR={type:3,value:"FIRESENSOR"},yt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},yt.GASSENSOR={type:3,value:"GASSENSOR"},yt.HEATSENSOR={type:3,value:"HEATSENSOR"},yt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},yt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},yt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},yt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},yt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},yt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},yt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},yt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},yt.USERDEFINED={type:3,value:"USERDEFINED"},yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=yt;class gt{}gt.START_START={type:3,value:"START_START"},gt.START_FINISH={type:3,value:"START_FINISH"},gt.FINISH_START={type:3,value:"FINISH_START"},gt.FINISH_FINISH={type:3,value:"FINISH_FINISH"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=gt;class vt{}vt.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},vt.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},vt.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},vt.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},vt.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},vt.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},vt.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=vt;class It{}It.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},It.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},It.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},It.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},It.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=It;class Tt{}Tt.FLOOR={type:3,value:"FLOOR"},Tt.ROOF={type:3,value:"ROOF"},Tt.LANDING={type:3,value:"LANDING"},Tt.BASESLAB={type:3,value:"BASESLAB"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Tt;class _t{}_t.DBA={type:3,value:"DBA"},_t.DBB={type:3,value:"DBB"},_t.DBC={type:3,value:"DBC"},_t.NC={type:3,value:"NC"},_t.NR={type:3,value:"NR"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=_t;class Rt{}Rt.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Rt.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Rt.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Rt.CONVECTOR={type:3,value:"CONVECTOR"},Rt.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Rt.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Rt.UNITHEATER={type:3,value:"UNITHEATER"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Rt;class Pt{}Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Pt;class Dt{}Dt.BIRDCAGE={type:3,value:"BIRDCAGE"},Dt.COWL={type:3,value:"COWL"},Dt.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Dt;class Nt{}Nt.STRAIGHT={type:3,value:"STRAIGHT"},Nt.WINDER={type:3,value:"WINDER"},Nt.SPIRAL={type:3,value:"SPIRAL"},Nt.CURVED={type:3,value:"CURVED"},Nt.FREEFORM={type:3,value:"FREEFORM"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Nt;class Ct{}Ct.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ct.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ct.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ct.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ct.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ct.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ct.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ct.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ct.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ct.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ct.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ct.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ct.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ct.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ct;class bt{}bt.READWRITE={type:3,value:"READWRITE"},bt.READONLY={type:3,value:"READONLY"},bt.LOCKED={type:3,value:"LOCKED"},bt.READWRITELOCKED={type:3,value:"READWRITELOCKED"},bt.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=bt;class Ot{}Ot.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Ot.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Ot.CABLE={type:3,value:"CABLE"},Ot.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Ot.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=Ot;class St{}St.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},St.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},St.SHELL={type:3,value:"SHELL"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=St;class xt{}xt.POSITIVE={type:3,value:"POSITIVE"},xt.NEGATIVE={type:3,value:"NEGATIVE"},xt.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=xt;class wt{}wt.BUMP={type:3,value:"BUMP"},wt.OPACITY={type:3,value:"OPACITY"},wt.REFLECTION={type:3,value:"REFLECTION"},wt.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},wt.SHININESS={type:3,value:"SHININESS"},wt.SPECULAR={type:3,value:"SPECULAR"},wt.TEXTURE={type:3,value:"TEXTURE"},wt.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=wt;class Bt{}Bt.CONTACTOR={type:3,value:"CONTACTOR"},Bt.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Bt.STARTER={type:3,value:"STARTER"},Bt.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Bt.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Bt;class Ft{}Ft.PREFORMED={type:3,value:"PREFORMED"},Ft.SECTIONAL={type:3,value:"SECTIONAL"},Ft.EXPANSION={type:3,value:"EXPANSION"},Ft.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Ft;class Mt{}Mt.STRAND={type:3,value:"STRAND"},Mt.WIRE={type:3,value:"WIRE"},Mt.BAR={type:3,value:"BAR"},Mt.COATED={type:3,value:"COATED"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Mt;class Lt{}Lt.LEFT={type:3,value:"LEFT"},Lt.RIGHT={type:3,value:"RIGHT"},Lt.UP={type:3,value:"UP"},Lt.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Lt;class Ut{}Ut.PEOPLE={type:3,value:"PEOPLE"},Ut.LIGHTING={type:3,value:"LIGHTING"},Ut.EQUIPMENT={type:3,value:"EQUIPMENT"},Ut.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Ut.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Ut.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Ut.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Ut.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Ut.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Ut.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Ut.INFILTRATION={type:3,value:"INFILTRATION"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Ut;class Ht{}Ht.SENSIBLE={type:3,value:"SENSIBLE"},Ht.LATENT={type:3,value:"LATENT"},Ht.RADIANT={type:3,value:"RADIANT"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Ht;class Gt{}Gt.CONTINUOUS={type:3,value:"CONTINUOUS"},Gt.DISCRETE={type:3,value:"DISCRETE"},Gt.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Gt.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Gt.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Gt.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Gt;class kt{}kt.ANNUAL={type:3,value:"ANNUAL"},kt.MONTHLY={type:3,value:"MONTHLY"},kt.WEEKLY={type:3,value:"WEEKLY"},kt.DAILY={type:3,value:"DAILY"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=kt;class Vt{}Vt.CURRENT={type:3,value:"CURRENT"},Vt.FREQUENCY={type:3,value:"FREQUENCY"},Vt.VOLTAGE={type:3,value:"VOLTAGE"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Vt;class Qt{}Qt.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Qt.CONTINUOUS={type:3,value:"CONTINUOUS"},Qt.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Qt.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Qt;class jt{}jt.ELEVATOR={type:3,value:"ELEVATOR"},jt.ESCALATOR={type:3,value:"ESCALATOR"},jt.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=jt;class Wt{}Wt.CARTESIAN={type:3,value:"CARTESIAN"},Wt.PARAMETER={type:3,value:"PARAMETER"},Wt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Wt;class zt{}zt.FINNED={type:3,value:"FINNED"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=zt;class Kt{}Kt.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Kt.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Kt.AREAUNIT={type:3,value:"AREAUNIT"},Kt.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Kt.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Kt.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Kt.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Kt.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Kt.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Kt.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Kt.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Kt.FORCEUNIT={type:3,value:"FORCEUNIT"},Kt.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Kt.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Kt.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Kt.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Kt.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Kt.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Kt.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Kt.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Kt.MASSUNIT={type:3,value:"MASSUNIT"},Kt.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Kt.POWERUNIT={type:3,value:"POWERUNIT"},Kt.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Kt.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Kt.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Kt.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Kt.TIMEUNIT={type:3,value:"TIMEUNIT"},Kt.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Kt;class Yt{}Yt.AIRHANDLER={type:3,value:"AIRHANDLER"},Yt.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},Yt.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},Yt.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=Yt;class Xt{}Xt.AIRRELEASE={type:3,value:"AIRRELEASE"},Xt.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Xt.CHANGEOVER={type:3,value:"CHANGEOVER"},Xt.CHECK={type:3,value:"CHECK"},Xt.COMMISSIONING={type:3,value:"COMMISSIONING"},Xt.DIVERTING={type:3,value:"DIVERTING"},Xt.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Xt.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Xt.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Xt.FAUCET={type:3,value:"FAUCET"},Xt.FLUSHING={type:3,value:"FLUSHING"},Xt.GASCOCK={type:3,value:"GASCOCK"},Xt.GASTAP={type:3,value:"GASTAP"},Xt.ISOLATING={type:3,value:"ISOLATING"},Xt.MIXING={type:3,value:"MIXING"},Xt.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Xt.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Xt.REGULATING={type:3,value:"REGULATING"},Xt.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Xt.STEAMTRAP={type:3,value:"STEAMTRAP"},Xt.STOPCOCK={type:3,value:"STOPCOCK"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Xt;class Zt{}Zt.COMPRESSION={type:3,value:"COMPRESSION"},Zt.SPRING={type:3,value:"SPRING"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=Zt;class qt{}qt.STANDARD={type:3,value:"STANDARD"},qt.POLYGONAL={type:3,value:"POLYGONAL"},qt.SHEAR={type:3,value:"SHEAR"},qt.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},qt.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=qt;class Jt{}Jt.FLOORTRAP={type:3,value:"FLOORTRAP"},Jt.FLOORWASTE={type:3,value:"FLOORWASTE"},Jt.GULLYSUMP={type:3,value:"GULLYSUMP"},Jt.GULLYTRAP={type:3,value:"GULLYTRAP"},Jt.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},Jt.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},Jt.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},Jt.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Jt.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Jt.WASTETRAP={type:3,value:"WASTETRAP"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Jt;class $t{}$t.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},$t.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},$t.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},$t.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},$t.TOPHUNG={type:3,value:"TOPHUNG"},$t.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},$t.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},$t.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},$t.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},$t.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},$t.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},$t.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},$t.OTHEROPERATION={type:3,value:"OTHEROPERATION"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=$t;class es{}es.LEFT={type:3,value:"LEFT"},es.MIDDLE={type:3,value:"MIDDLE"},es.RIGHT={type:3,value:"RIGHT"},es.BOTTOM={type:3,value:"BOTTOM"},es.TOP={type:3,value:"TOP"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=es;class ts{}ts.ALUMINIUM={type:3,value:"ALUMINIUM"},ts.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ts.STEEL={type:3,value:"STEEL"},ts.WOOD={type:3,value:"WOOD"},ts.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ts.PLASTIC={type:3,value:"PLASTIC"},ts.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=ts;class ss{}ss.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ss.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ss.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ss.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ss.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ss.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ss.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ss.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ss.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=ss;class is{}is.ACTUAL={type:3,value:"ACTUAL"},is.BASELINE={type:3,value:"BASELINE"},is.PLANNED={type:3,value:"PLANNED"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=is;e.IfcActorRole=class extends gg{constructor(e,t,s,i){super(e),this.Role=t,this.UserDefinedRole=s,this.Description=i,this.type=3630933823}};class rs extends gg{constructor(e,t,s,i){super(e),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.type=618182010}}e.IfcAddress=rs;e.IfcApplication=class extends gg{constructor(e,t,s,i,r){super(e),this.ApplicationDeveloper=t,this.Version=s,this.ApplicationFullName=i,this.ApplicationIdentifier=r,this.type=639542469}};class os extends gg{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.type=411424972}}e.IfcAppliedValue=os;e.IfcAppliedValueRelationship=class extends gg{constructor(e,t,s,i,r,o){super(e),this.ComponentOfTotal=t,this.Components=s,this.ArithmeticOperator=i,this.Name=r,this.Description=o,this.type=1110488051}};e.IfcApproval=class extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.Description=t,this.ApprovalDateTime=s,this.ApprovalStatus=i,this.ApprovalLevel=r,this.ApprovalQualifier=o,this.Name=n,this.Identifier=a,this.type=130549933}};e.IfcApprovalActorRelationship=class extends gg{constructor(e,t,s,i){super(e),this.Actor=t,this.Approval=s,this.Role=i,this.type=2080292479}};e.IfcApprovalPropertyRelationship=class extends gg{constructor(e,t,s){super(e),this.ApprovedProperties=t,this.Approval=s,this.type=390851274}};e.IfcApprovalRelationship=class extends gg{constructor(e,t,s,i,r){super(e),this.RelatedApproval=t,this.RelatingApproval=s,this.Description=i,this.Name=r,this.type=3869604511}};class ns extends gg{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=ns;e.IfcBoundaryEdgeCondition=class extends ns{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearStiffnessByLengthX=s,this.LinearStiffnessByLengthY=i,this.LinearStiffnessByLengthZ=r,this.RotationalStiffnessByLengthX=o,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};e.IfcBoundaryFaceCondition=class extends ns{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.LinearStiffnessByAreaX=s,this.LinearStiffnessByAreaY=i,this.LinearStiffnessByAreaZ=r,this.type=3367102660}};class as extends ns{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearStiffnessX=s,this.LinearStiffnessY=i,this.LinearStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}e.IfcBoundaryNodeCondition=as;e.IfcBoundaryNodeConditionWarping=class extends as{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.LinearStiffnessX=s,this.LinearStiffnessY=i,this.LinearStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=l,this.type=2069777674}};e.IfcCalendarDate=class extends gg{constructor(e,t,s,i){super(e),this.DayComponent=t,this.MonthComponent=s,this.YearComponent=i,this.type=622194075}};e.IfcClassification=class extends gg{constructor(e,t,s,i,r){super(e),this.Source=t,this.Edition=s,this.EditionDate=i,this.Name=r,this.type=747523909}};e.IfcClassificationItem=class extends gg{constructor(e,t,s,i){super(e),this.Notation=t,this.ItemOf=s,this.Title=i,this.type=1767535486}};e.IfcClassificationItemRelationship=class extends gg{constructor(e,t,s){super(e),this.RelatingItem=t,this.RelatedItems=s,this.type=1098599126}};e.IfcClassificationNotation=class extends gg{constructor(e,t){super(e),this.NotationFacets=t,this.type=938368621}};e.IfcClassificationNotationFacet=class extends gg{constructor(e,t){super(e),this.NotationValue=t,this.type=3639012971}};class ls extends gg{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=ls;class hs extends gg{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=hs;class cs extends hs{constructor(e,t,s){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.type=2614616156}}e.IfcConnectionPointGeometry=cs;e.IfcConnectionPortGeometry=class extends hs{constructor(e,t,s,i){super(e),this.LocationAtRelatingElement=t,this.LocationAtRelatedElement=s,this.ProfileOfPort=i,this.type=4257277454}};e.IfcConnectionSurfaceGeometry=class extends hs{constructor(e,t,s){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=s,this.type=2732653382}};class us extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}e.IfcConstraint=us;e.IfcConstraintAggregationRelationship=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedConstraints=r,this.LogicalAggregator=o,this.type=1658513725}};e.IfcConstraintClassificationRelationship=class extends gg{constructor(e,t,s){super(e),this.ClassifiedConstraint=t,this.RelatedClassifications=s,this.type=613356794}};e.IfcConstraintRelationship=class extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedConstraints=r,this.type=347226245}};e.IfcCoordinatedUniversalTimeOffset=class extends gg{constructor(e,t,s,i){super(e),this.HourOffset=t,this.MinuteOffset=s,this.Sense=i,this.type=1065062679}};e.IfcCostValue=class extends os{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.CostType=a,this.Condition=l,this.type=602808272}};e.IfcCurrencyRelationship=class extends gg{constructor(e,t,s,i,r,o){super(e),this.RelatingMonetaryUnit=t,this.RelatedMonetaryUnit=s,this.ExchangeRate=i,this.RateDateTime=r,this.RateSource=o,this.type=539742890}};e.IfcCurveStyleFont=class extends gg{constructor(e,t,s){super(e),this.Name=t,this.PatternList=s,this.type=1105321065}};e.IfcCurveStyleFontAndScaling=class extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.CurveFont=s,this.CurveFontScaling=i,this.type=2367409068}};e.IfcCurveStyleFontPattern=class extends gg{constructor(e,t,s){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=s,this.type=3510044353}};e.IfcDateAndTime=class extends gg{constructor(e,t,s){super(e),this.DateComponent=t,this.TimeComponent=s,this.type=1072939445}};e.IfcDerivedUnit=class extends gg{constructor(e,t,s,i){super(e),this.Elements=t,this.UnitType=s,this.UserDefinedType=i,this.type=1765591967}};e.IfcDerivedUnitElement=class extends gg{constructor(e,t,s){super(e),this.Unit=t,this.Exponent=s,this.type=1045800335}};e.IfcDimensionalExponents=class extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.LengthExponent=t,this.MassExponent=s,this.TimeExponent=i,this.ElectricCurrentExponent=r,this.ThermodynamicTemperatureExponent=o,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};e.IfcDocumentElectronicFormat=class extends gg{constructor(e,t,s,i){super(e),this.FileExtension=t,this.MimeContentType=s,this.MimeSubtype=i,this.type=1376555844}};e.IfcDocumentInformation=class extends gg{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e),this.DocumentId=t,this.Name=s,this.Description=i,this.DocumentReferences=r,this.Purpose=o,this.IntendedUse=n,this.Scope=a,this.Revision=l,this.DocumentOwner=h,this.Editors=c,this.CreationTime=u,this.LastRevisionTime=A,this.ElectronicFormat=p,this.ValidFrom=d,this.ValidUntil=f,this.Confidentiality=m,this.Status=E,this.type=1154170062}};e.IfcDocumentInformationRelationship=class extends gg{constructor(e,t,s,i){super(e),this.RelatingDocument=t,this.RelatedDocuments=s,this.RelationshipType=i,this.type=770865208}};class As extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.RelatingDraughtingCallout=i,this.RelatedDraughtingCallout=r,this.type=3796139169}}e.IfcDraughtingCalloutRelationship=As;e.IfcEnvironmentalImpactValue=class extends os{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.ImpactType=a,this.Category=l,this.UserDefinedCategory=h,this.type=1648886627}};class ps extends gg{constructor(e,t,s,i){super(e),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3200245327}}e.IfcExternalReference=ps;e.IfcExternallyDefinedHatchStyle=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=2242383968}};e.IfcExternallyDefinedSurfaceStyle=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=1040185647}};e.IfcExternallyDefinedSymbol=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3207319532}};e.IfcExternallyDefinedTextFont=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3548104201}};e.IfcGridAxis=class extends gg{constructor(e,t,s,i){super(e),this.AxisTag=t,this.AxisCurve=s,this.SameSense=i,this.type=852622518}};e.IfcIrregularTimeSeriesValue=class extends gg{constructor(e,t,s){super(e),this.TimeStamp=t,this.ListValues=s,this.type=3020489413}};e.IfcLibraryInformation=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Version=s,this.Publisher=i,this.VersionDate=r,this.LibraryReference=o,this.type=2655187982}};e.IfcLibraryReference=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3452421091}};e.IfcLightDistributionData=class extends gg{constructor(e,t,s,i){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=s,this.LuminousIntensity=i,this.type=4162380809}};e.IfcLightIntensityDistribution=class extends gg{constructor(e,t,s){super(e),this.LightDistributionCurve=t,this.DistributionData=s,this.type=1566485204}};e.IfcLocalTime=class extends gg{constructor(e,t,s,i,r,o){super(e),this.HourComponent=t,this.MinuteComponent=s,this.SecondComponent=i,this.Zone=r,this.DaylightSavingOffset=o,this.type=30780891}};e.IfcMaterial=class extends gg{constructor(e,t){super(e),this.Name=t,this.type=1838606355}};e.IfcMaterialClassificationRelationship=class extends gg{constructor(e,t,s){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=s,this.type=1847130766}};e.IfcMaterialLayer=class extends gg{constructor(e,t,s,i){super(e),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.type=248100487}};e.IfcMaterialLayerSet=class extends gg{constructor(e,t,s){super(e),this.MaterialLayers=t,this.LayerSetName=s,this.type=3303938423}};e.IfcMaterialLayerSetUsage=class extends gg{constructor(e,t,s,i,r){super(e),this.ForLayerSet=t,this.LayerSetDirection=s,this.DirectionSense=i,this.OffsetFromReferenceLine=r,this.type=1303795690}};e.IfcMaterialList=class extends gg{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class ds extends gg{constructor(e,t){super(e),this.Material=t,this.type=3265635763}}e.IfcMaterialProperties=ds;e.IfcMeasureWithUnit=class extends gg{constructor(e,t,s){super(e),this.ValueComponent=t,this.UnitComponent=s,this.type=2597039031}};class fs extends ds{constructor(e,t,s,i,r,o,n){super(e,t),this.Material=t,this.DynamicViscosity=s,this.YoungModulus=i,this.ShearModulus=r,this.PoissonRatio=o,this.ThermalExpansionCoefficient=n,this.type=4256014907}}e.IfcMechanicalMaterialProperties=fs;e.IfcMechanicalSteelMaterialProperties=class extends fs{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n),this.Material=t,this.DynamicViscosity=s,this.YoungModulus=i,this.ShearModulus=r,this.PoissonRatio=o,this.ThermalExpansionCoefficient=n,this.YieldStress=a,this.UltimateStress=l,this.UltimateStrain=h,this.HardeningModule=c,this.ProportionalStress=u,this.PlasticStrain=A,this.Relaxations=p,this.type=677618848}};e.IfcMetric=class extends us{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=l,this.ValueSource=h,this.DataValue=c,this.type=3368373690}};e.IfcMonetaryUnit=class extends gg{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class ms extends gg{constructor(e,t,s){super(e),this.Dimensions=t,this.UnitType=s,this.type=1918398963}}e.IfcNamedUnit=ms;class Es extends gg{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=Es;e.IfcObjective=class extends us{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=l,this.ResultValues=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=u,this.type=2251480897}};e.IfcOpticalMaterialProperties=class extends ds{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t),this.Material=t,this.VisibleTransmittance=s,this.SolarTransmittance=i,this.ThermalIrTransmittance=r,this.ThermalIrEmissivityBack=o,this.ThermalIrEmissivityFront=n,this.VisibleReflectanceBack=a,this.VisibleReflectanceFront=l,this.SolarReflectanceFront=h,this.SolarReflectanceBack=c,this.type=1227763645}};e.IfcOrganization=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Id=t,this.Name=s,this.Description=i,this.Roles=r,this.Addresses=o,this.type=4251960020}};e.IfcOrganizationRelationship=class extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.RelatingOrganization=i,this.RelatedOrganizations=r,this.type=1411181986}};e.IfcOwnerHistory=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.OwningUser=t,this.OwningApplication=s,this.State=i,this.ChangeAction=r,this.LastModifiedDate=o,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=l,this.type=1207048766}};e.IfcPerson=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Id=t,this.FamilyName=s,this.GivenName=i,this.MiddleNames=r,this.PrefixTitles=o,this.SuffixTitles=n,this.Roles=a,this.Addresses=l,this.type=2077209135}};e.IfcPersonAndOrganization=class extends gg{constructor(e,t,s,i){super(e),this.ThePerson=t,this.TheOrganization=s,this.Roles=i,this.type=101040310}};class ys extends gg{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2483315170}}e.IfcPhysicalQuantity=ys;class gs extends ys{constructor(e,t,s,i){super(e,t,s),this.Name=t,this.Description=s,this.Unit=i,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=gs;e.IfcPostalAddress=class extends rs{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.InternalLocation=r,this.AddressLines=o,this.PostalBox=n,this.Town=a,this.Region=l,this.PostalCode=h,this.Country=c,this.type=3355820592}};class vs extends gg{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=vs;class Is extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=990879717}}e.IfcPreDefinedSymbol=Is;e.IfcPreDefinedTerminatorSymbol=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=3213052703}};class Ts extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=Ts;class _s extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.type=2022622350}}e.IfcPresentationLayerAssignment=_s;e.IfcPresentationLayerWithStyle=class extends _s{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.LayerOn=o,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=l,this.type=1304840413}};class Rs extends gg{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=Rs;e.IfcPresentationStyleAssignment=class extends gg{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class Ps extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Representations=i,this.type=2095639259}}e.IfcProductRepresentation=Ps;e.IfcProductsOfCombustionProperties=class extends ds{constructor(e,t,s,i,r,o){super(e,t),this.Material=t,this.SpecificHeatCapacity=s,this.N20Content=i,this.COContent=r,this.CO2Content=o,this.type=2267347899}};class Ds extends gg{constructor(e,t,s){super(e),this.ProfileType=t,this.ProfileName=s,this.type=3958567839}}e.IfcProfileDef=Ds;class Ns extends gg{constructor(e,t,s){super(e),this.ProfileName=t,this.ProfileDefinition=s,this.type=2802850158}}e.IfcProfileProperties=Ns;class Cs extends gg{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2598011224}}e.IfcProperty=Cs;e.IfcPropertyConstraintRelationship=class extends gg{constructor(e,t,s,i,r){super(e),this.RelatingConstraint=t,this.RelatedProperties=s,this.Name=i,this.Description=r,this.type=3896028662}};e.IfcPropertyDependencyRelationship=class extends gg{constructor(e,t,s,i,r,o){super(e),this.DependingProperty=t,this.DependantProperty=s,this.Name=i,this.Description=r,this.Expression=o,this.type=148025276}};e.IfcPropertyEnumeration=class extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.EnumerationValues=s,this.Unit=i,this.type=3710013099}};e.IfcQuantityArea=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.AreaValue=r,this.type=2044713172}};e.IfcQuantityCount=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.CountValue=r,this.type=2093928680}};e.IfcQuantityLength=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.LengthValue=r,this.type=931644368}};e.IfcQuantityTime=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.TimeValue=r,this.type=3252649465}};e.IfcQuantityVolume=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.VolumeValue=r,this.type=2405470396}};e.IfcQuantityWeight=class extends gs{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.WeightValue=r,this.type=825690147}};e.IfcReferencesValueDocument=class extends gg{constructor(e,t,s,i,r){super(e),this.ReferencedDocument=t,this.ReferencingValues=s,this.Name=i,this.Description=r,this.type=2692823254}};e.IfcReinforcementBarProperties=class extends gg{constructor(e,t,s,i,r,o,n){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=s,this.BarSurface=i,this.EffectiveDepth=r,this.NominalBarDiameter=o,this.BarCount=n,this.type=1580146022}};e.IfcRelaxation=class extends gg{constructor(e,t,s){super(e),this.RelaxationValue=t,this.InitialStress=s,this.type=1222501353}};class bs extends gg{constructor(e,t,s,i,r){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1076942058}}e.IfcRepresentation=bs;class Os extends gg{constructor(e,t,s){super(e),this.ContextIdentifier=t,this.ContextType=s,this.type=3377609919}}e.IfcRepresentationContext=Os;class Ss extends gg{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=Ss;e.IfcRepresentationMap=class extends gg{constructor(e,t,s){super(e),this.MappingOrigin=t,this.MappedRepresentation=s,this.type=1660063152}};e.IfcRibPlateProfileProperties=class extends Ns{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.ProfileName=t,this.ProfileDefinition=s,this.Thickness=i,this.RibHeight=r,this.RibWidth=o,this.RibSpacing=n,this.Direction=a,this.type=3679540991}};class xs extends gg{constructor(e,t,s,i,r){super(e),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2341007311}}e.IfcRoot=xs;e.IfcSIUnit=class extends ms{constructor(e,t,s,i){super(e,new yg(0),t),this.UnitType=t,this.Prefix=s,this.Name=i,this.type=448429030}};e.IfcSectionProperties=class extends gg{constructor(e,t,s,i){super(e),this.SectionType=t,this.StartProfile=s,this.EndProfile=i,this.type=2042790032}};e.IfcSectionReinforcementProperties=class extends gg{constructor(e,t,s,i,r,o,n){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=s,this.TransversePosition=i,this.ReinforcementRole=r,this.SectionDefinition=o,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};e.IfcShapeAspect=class extends gg{constructor(e,t,s,i,r,o){super(e),this.ShapeRepresentations=t,this.Name=s,this.Description=i,this.ProductDefinitional=r,this.PartOfProductDefinitionShape=o,this.type=867548509}};class ws extends bs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3982875396}}e.IfcShapeModel=ws;e.IfcShapeRepresentation=class extends ws{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=4240577450}};class Bs extends Cs{constructor(e,t,s){super(e,t,s),this.Name=t,this.Description=s,this.type=3692461612}}e.IfcSimpleProperty=Bs;class Fs extends gg{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=Fs;class Ms extends gg{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Ms;class Ls extends Ms{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=Ls;e.IfcStructuralLoadTemperature=class extends Ls{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.DeltaT_Constant=s,this.DeltaT_Y=i,this.DeltaT_Z=r,this.type=3408363356}};class Us extends bs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=2830218821}}e.IfcStyleModel=Us;class Hs extends Ss{constructor(e,t,s,i){super(e),this.Item=t,this.Styles=s,this.Name=i,this.type=3958052878}}e.IfcStyledItem=Hs;e.IfcStyledRepresentation=class extends Us{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3049322572}};e.IfcSurfaceStyle=class extends Rs{constructor(e,t,s,i){super(e,t),this.Name=t,this.Side=s,this.Styles=i,this.type=1300840506}};e.IfcSurfaceStyleLighting=class extends gg{constructor(e,t,s,i,r){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=s,this.TransmissionColour=i,this.ReflectanceColour=r,this.type=3303107099}};e.IfcSurfaceStyleRefraction=class extends gg{constructor(e,t,s){super(e),this.RefractionIndex=t,this.DispersionFactor=s,this.type=1607154358}};class Gs extends gg{constructor(e,t){super(e),this.SurfaceColour=t,this.type=846575682}}e.IfcSurfaceStyleShading=Gs;e.IfcSurfaceStyleWithTextures=class extends gg{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class ks extends gg{constructor(e,t,s,i,r){super(e),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.type=626085974}}e.IfcSurfaceTexture=ks;e.IfcSymbolStyle=class extends Rs{constructor(e,t,s){super(e,t),this.Name=t,this.StyleOfSymbol=s,this.type=1290481447}};e.IfcTable=class extends gg{constructor(e,t,s){super(e),this.Name=t,this.Rows=s,this.type=985171141}};e.IfcTableRow=class extends gg{constructor(e,t,s){super(e),this.RowCells=t,this.IsHeading=s,this.type=531007025}};e.IfcTelecomAddress=class extends rs{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.TelephoneNumbers=r,this.FacsimileNumbers=o,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=l,this.type=912023232}};e.IfcTextStyle=class extends Rs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.TextCharacterAppearance=s,this.TextStyle=i,this.TextFontStyle=r,this.type=1447204868}};e.IfcTextStyleFontModel=class extends Ts{constructor(e,t,s,i,r,o,n){super(e,t),this.Name=t,this.FontFamily=s,this.FontStyle=i,this.FontVariant=r,this.FontWeight=o,this.FontSize=n,this.type=1983826977}};e.IfcTextStyleForDefinedFont=class extends gg{constructor(e,t,s){super(e),this.Colour=t,this.BackgroundColour=s,this.type=2636378356}};e.IfcTextStyleTextModel=class extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.TextIndent=t,this.TextAlign=s,this.TextDecoration=i,this.LetterSpacing=r,this.WordSpacing=o,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};e.IfcTextStyleWithBoxCharacteristics=class extends gg{constructor(e,t,s,i,r,o){super(e),this.BoxHeight=t,this.BoxWidth=s,this.BoxSlantAngle=i,this.BoxRotateAngle=r,this.CharacterSpacing=o,this.type=1484833681}};class Vs extends gg{constructor(e){super(e),this.type=280115917}}e.IfcTextureCoordinate=Vs;e.IfcTextureCoordinateGenerator=class extends Vs{constructor(e,t,s){super(e),this.Mode=t,this.Parameter=s,this.type=1742049831}};e.IfcTextureMap=class extends Vs{constructor(e,t){super(e),this.TextureMaps=t,this.type=2552916305}};e.IfcTextureVertex=class extends gg{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}};e.IfcThermalMaterialProperties=class extends ds{constructor(e,t,s,i,r,o){super(e,t),this.Material=t,this.SpecificHeatCapacity=s,this.BoilingPoint=i,this.FreezingPoint=r,this.ThermalConductivity=o,this.type=3317419933}};class Qs extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.type=3101149627}}e.IfcTimeSeries=Qs;e.IfcTimeSeriesReferenceRelationship=class extends gg{constructor(e,t,s){super(e),this.ReferencedTimeSeries=t,this.TimeSeriesReferences=s,this.type=1718945513}};e.IfcTimeSeriesValue=class extends gg{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class js extends Ss{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=js;e.IfcTopologyRepresentation=class extends ws{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1735638870}};e.IfcUnitAssignment=class extends gg{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Ws extends js{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Ws;e.IfcVertexBasedTextureMap=class extends gg{constructor(e,t,s){super(e),this.TextureVertices=t,this.TexturePoints=s,this.type=3304826586}};e.IfcVertexPoint=class extends Ws{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}};e.IfcVirtualGridIntersection=class extends gg{constructor(e,t,s){super(e),this.IntersectingAxes=t,this.OffsetDistances=s,this.type=891718957}};e.IfcWaterProperties=class extends ds{constructor(e,t,s,i,r,o,n,a,l){super(e,t),this.Material=t,this.IsPotable=s,this.Hardness=i,this.AlkalinityConcentration=r,this.AcidityConcentration=o,this.ImpuritiesContent=n,this.PHLevel=a,this.DissolvedSolidsContent=l,this.type=1065908215}};class zs extends Hs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=2442683028}}e.IfcAnnotationOccurrence=zs;e.IfcAnnotationSurfaceOccurrence=class extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=962685235}};class Ks extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=3612888222}}e.IfcAnnotationSymbolOccurrence=Ks;e.IfcAnnotationTextOccurrence=class extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=2297822566}};class Ys extends Ds{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Ys;class Xs extends Ds{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Xs;e.IfcArbitraryProfileDefWithVoids=class extends Ys{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.InnerCurves=r,this.type=2705031697}};e.IfcBlobTexture=class extends ks{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.RasterFormat=o,this.RasterCode=n,this.type=616511568}};e.IfcCenterLineProfileDef=class extends Xs{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.Thickness=r,this.type=3150382593}};e.IfcClassificationReference=class extends ps{constructor(e,t,s,i,r){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.ReferencedSource=r,this.type=647927063}};e.IfcColourRgb=class extends ls{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.Red=s,this.Green=i,this.Blue=r,this.type=776857604}};e.IfcComplexProperty=class extends Cs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.HasProperties=r,this.type=2542286263}};e.IfcCompositeProfileDef=class extends Ds{constructor(e,t,s,i,r){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Profiles=i,this.Label=r,this.type=1485152156}};class Zs extends js{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Zs;e.IfcConnectionCurveGeometry=class extends hs{constructor(e,t,s){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=s,this.type=1981873012}};e.IfcConnectionPointEccentricity=class extends cs{constructor(e,t,s,i,r,o){super(e,t,s),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.EccentricityInX=i,this.EccentricityInY=r,this.EccentricityInZ=o,this.type=45288368}};e.IfcContextDependentUnit=class extends ms{constructor(e,t,s,i){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.type=3050246964}};e.IfcConversionBasedUnit=class extends ms{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.type=2889183280}};e.IfcCurveStyle=class extends Rs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.CurveFont=s,this.CurveWidth=i,this.CurveColour=r,this.type=3800577675}};e.IfcDerivedProfileDef=class extends Ds{constructor(e,t,s,i,r,o){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=3632507154}};e.IfcDimensionCalloutRelationship=class extends As{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.Description=s,this.RelatingDraughtingCallout=i,this.RelatedDraughtingCallout=r,this.type=2273265877}};e.IfcDimensionPair=class extends As{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.Description=s,this.RelatingDraughtingCallout=i,this.RelatedDraughtingCallout=r,this.type=1694125774}};e.IfcDocumentReference=class extends ps{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.ItemReference=s,this.Name=i,this.type=3732053477}};e.IfcDraughtingPreDefinedTextFont=class extends Ts{constructor(e,t){super(e,t),this.Name=t,this.type=4170525392}};class qs extends js{constructor(e,t,s){super(e),this.EdgeStart=t,this.EdgeEnd=s,this.type=3900360178}}e.IfcEdge=qs;e.IfcEdgeCurve=class extends qs{constructor(e,t,s,i,r){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.EdgeGeometry=i,this.SameSense=r,this.type=476780140}};e.IfcExtendedMaterialProperties=class extends ds{constructor(e,t,s,i,r){super(e,t),this.Material=t,this.ExtendedProperties=s,this.Description=i,this.Name=r,this.type=1860660968}};class Js extends js{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=Js;class $s extends js{constructor(e,t,s){super(e),this.Bound=t,this.Orientation=s,this.type=1809719519}}e.IfcFaceBound=$s;e.IfcFaceOuterBound=class extends $s{constructor(e,t,s){super(e,t,s),this.Bound=t,this.Orientation=s,this.type=803316827}};e.IfcFaceSurface=class extends Js{constructor(e,t,s,i){super(e,t),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3008276851}};e.IfcFailureConnectionCondition=class extends Fs{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TensionFailureX=s,this.TensionFailureY=i,this.TensionFailureZ=r,this.CompressionFailureX=o,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};e.IfcFillAreaStyle=class extends Rs{constructor(e,t,s){super(e,t),this.Name=t,this.FillStyles=s,this.type=738692330}};e.IfcFuelProperties=class extends ds{constructor(e,t,s,i,r,o){super(e,t),this.Material=t,this.CombustionTemperature=s,this.CarbonContent=i,this.LowerHeatingValue=r,this.HigherHeatingValue=o,this.type=3857492461}};e.IfcGeneralMaterialProperties=class extends ds{constructor(e,t,s,i,r){super(e,t),this.Material=t,this.MolecularWeight=s,this.Porosity=i,this.MassDensity=r,this.type=803998398}};class ei extends Ns{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.ProfileName=t,this.ProfileDefinition=s,this.PhysicalWeight=i,this.Perimeter=r,this.MinimumPlateThickness=o,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.type=1446786286}}e.IfcGeneralProfileProperties=ei;class ti extends Os{constructor(e,t,s,i,r,o,n){super(e,t,s),this.ContextIdentifier=t,this.ContextType=s,this.CoordinateSpaceDimension=i,this.Precision=r,this.WorldCoordinateSystem=o,this.TrueNorth=n,this.type=3448662350}}e.IfcGeometricRepresentationContext=ti;class si extends Ss{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=si;e.IfcGeometricRepresentationSubContext=class extends ti{constructor(e,s,i,r,o,n,a){super(e,s,i,new t(0),null,new yg(0),null),this.ContextIdentifier=s,this.ContextType=i,this.ParentContext=r,this.TargetScale=o,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class ii extends si{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=ii;e.IfcGridPlacement=class extends Es{constructor(e,t,s){super(e),this.PlacementLocation=t,this.PlacementRefDirection=s,this.type=178086475}};class ri extends si{constructor(e,t,s){super(e),this.BaseSurface=t,this.AgreementFlag=s,this.type=812098782}}e.IfcHalfSpaceSolid=ri;e.IfcHygroscopicMaterialProperties=class extends ds{constructor(e,t,s,i,r,o,n){super(e,t),this.Material=t,this.UpperVaporResistanceFactor=s,this.LowerVaporResistanceFactor=i,this.IsothermalMoistureCapacity=r,this.VaporPermeability=o,this.MoistureDiffusivity=n,this.type=2445078500}};e.IfcImageTexture=class extends ks{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.UrlReference=o,this.type=3905492369}};e.IfcIrregularTimeSeries=class extends Qs{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.Values=h,this.type=3741457305}};class oi extends si{constructor(e,t,s,i,r){super(e),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=1402838566}}e.IfcLightSource=oi;e.IfcLightSourceAmbient=class extends oi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=125510826}};e.IfcLightSourceDirectional=class extends oi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Orientation=o,this.type=2604431987}};e.IfcLightSourceGoniometric=class extends oi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=l,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class ni extends oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.type=1520743889}}e.IfcLightSourcePositional=ni;e.IfcLightSourceSpot=class extends ni{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=u,this.SpreadAngle=A,this.BeamWidthAngle=p,this.type=3422422726}};e.IfcLocalPlacement=class extends Es{constructor(e,t,s){super(e),this.PlacementRelTo=t,this.RelativePlacement=s,this.type=2624227202}};class ai extends js{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=ai;e.IfcMappedItem=class extends Ss{constructor(e,t,s){super(e),this.MappingSource=t,this.MappingTarget=s,this.type=2347385850}};e.IfcMaterialDefinitionRepresentation=class extends Ps{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.RepresentedMaterial=r,this.type=2022407955}};e.IfcMechanicalConcreteMaterialProperties=class extends fs{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n),this.Material=t,this.DynamicViscosity=s,this.YoungModulus=i,this.ShearModulus=r,this.PoissonRatio=o,this.ThermalExpansionCoefficient=n,this.CompressiveStrength=a,this.MaxAggregateSize=l,this.AdmixturesDescription=h,this.Workability=c,this.ProtectivePoreRatio=u,this.WaterImpermeability=A,this.type=1430189142}};class li extends xs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=219451334}}e.IfcObjectDefinition=li;class hi extends si{constructor(e,t){super(e),this.RepeatFactor=t,this.type=2833995503}}e.IfcOneDirectionRepeatFactor=hi;e.IfcOpenShell=class extends Zs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}};e.IfcOrientedEdge=class extends qs{constructor(e,t,s){super(e,new yg(0),new yg(0)),this.EdgeElement=t,this.Orientation=s,this.type=1029017970}};class ci extends Ds{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.type=2529465313}}e.IfcParameterizedProfileDef=ci;e.IfcPath=class extends js{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}};e.IfcPhysicalComplexQuantity=class extends ys{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.HasQuantities=i,this.Discrimination=r,this.Quality=o,this.Usage=n,this.type=3021840470}};e.IfcPixelTexture=class extends ks{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.RepeatS=t,this.RepeatT=s,this.TextureType=i,this.TextureTransform=r,this.Width=o,this.Height=n,this.ColourComponents=a,this.Pixel=l,this.type=597895409}};class ui extends si{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=ui;class Ai extends si{constructor(e,t,s){super(e),this.SizeInX=t,this.SizeInY=s,this.type=1663979128}}e.IfcPlanarExtent=Ai;class pi extends si{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=pi;e.IfcPointOnCurve=class extends pi{constructor(e,t,s){super(e),this.BasisCurve=t,this.PointParameter=s,this.type=4022376103}};e.IfcPointOnSurface=class extends pi{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.PointParameterU=s,this.PointParameterV=i,this.type=1423911732}};e.IfcPolyLoop=class extends ai{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}};e.IfcPolygonalBoundedHalfSpace=class extends ri{constructor(e,t,s,i,r){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Position=i,this.PolygonalBoundary=r,this.type=2775532180}};class di extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=di;class fi extends vs{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=fi;e.IfcPreDefinedDimensionSymbol=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=433424934}};e.IfcPreDefinedPointMarkerSymbol=class extends Is{constructor(e,t){super(e,t),this.Name=t,this.type=179317114}};e.IfcProductDefinitionShape=class extends Ps{constructor(e,t,s,i){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.type=673634403}};e.IfcPropertyBoundedValue=class extends Bs{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.UpperBoundValue=i,this.LowerBoundValue=r,this.Unit=o,this.type=871118103}};class mi extends xs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1680319473}}e.IfcPropertyDefinition=mi;e.IfcPropertyEnumeratedValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.EnumerationValues=i,this.EnumerationReference=r,this.type=4166981789}};e.IfcPropertyListValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.ListValues=i,this.Unit=r,this.type=2752243245}};e.IfcPropertyReferenceValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.PropertyReference=r,this.type=941946838}};class Ei extends mi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3357820518}}e.IfcPropertySetDefinition=Ei;e.IfcPropertySingleValue=class extends Bs{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.NominalValue=i,this.Unit=r,this.type=3650150729}};e.IfcPropertyTableValue=class extends Bs{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.Name=t,this.Description=s,this.DefiningValues=i,this.DefinedValues=r,this.Expression=o,this.DefiningUnit=n,this.DefinedUnit=a,this.type=110355661}};class yi extends ci{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.type=3615266464}}e.IfcRectangleProfileDef=yi;e.IfcRegularTimeSeries=class extends Qs{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.TimeStep=h,this.Values=c,this.type=3413951693}};e.IfcReinforcementDefinitionProperties=class extends Ei{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DefinitionType=o,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class gi extends xs{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=478536968}}e.IfcRelationship=gi;e.IfcRoundedRectangleProfileDef=class extends yi{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.RoundingRadius=n,this.type=2778083089}};e.IfcSectionedSpine=class extends si{constructor(e,t,s,i){super(e),this.SpineCurve=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1509187699}};e.IfcServiceLifeFactor=class extends Ei{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PredefinedType=o,this.UpperValue=n,this.MostUsedValue=a,this.LowerValue=l,this.type=2411513650}};e.IfcShellBasedSurfaceModel=class extends si{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};e.IfcSlippageConnectionCondition=class extends Fs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SlippageX=s,this.SlippageY=i,this.SlippageZ=r,this.type=2609359061}};class vi extends si{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=vi;e.IfcSoundProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.IsAttenuating=o,this.SoundScale=n,this.SoundValues=a,this.type=2485662743}};e.IfcSoundValue=class extends Ei{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.SoundLevelTimeSeries=o,this.Frequency=n,this.SoundLevelSingleValue=a,this.type=1202362311}};e.IfcSpaceThermalLoadProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableValueRatio=o,this.ThermalLoadSource=n,this.PropertySource=a,this.SourceDescription=l,this.MaximumValue=h,this.MinimumValue=c,this.ThermalLoadTimeSeriesValues=u,this.UserDefinedThermalLoadSource=A,this.UserDefinedPropertySource=p,this.ThermalLoadType=d,this.type=390701378}};e.IfcStructuralLoadLinearForce=class extends Ls{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearForceX=s,this.LinearForceY=i,this.LinearForceZ=r,this.LinearMomentX=o,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};e.IfcStructuralLoadPlanarForce=class extends Ls{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.PlanarForceX=s,this.PlanarForceY=i,this.PlanarForceZ=r,this.type=2668620305}};class Ii extends Ls{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=Ii;e.IfcStructuralLoadSingleDisplacementDistortion=class extends Ii{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=l,this.type=1973038258}};class Ti extends Ls{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}e.IfcStructuralLoadSingleForce=Ti;e.IfcStructuralLoadSingleForceWarping=class extends Ti{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=l,this.type=1190533807}};class _i extends ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_){super(e,t,s,i,r,o,n,a),this.ProfileName=t,this.ProfileDefinition=s,this.PhysicalWeight=i,this.Perimeter=r,this.MinimumPlateThickness=o,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=l,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=u,this.WarpingConstant=A,this.ShearCentreZ=p,this.ShearCentreY=d,this.ShearDeformationAreaZ=f,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=E,this.MinimumSectionModulusY=y,this.MaximumSectionModulusZ=g,this.MinimumSectionModulusZ=v,this.TorsionalSectionModulus=I,this.CentreOfGravityInX=T,this.CentreOfGravityInY=_,this.type=3843319758}}e.IfcStructuralProfileProperties=_i;e.IfcStructuralSteelProfileProperties=class extends _i{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_,R,P,D,N){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_),this.ProfileName=t,this.ProfileDefinition=s,this.PhysicalWeight=i,this.Perimeter=r,this.MinimumPlateThickness=o,this.MaximumPlateThickness=n,this.CrossSectionArea=a,this.TorsionalConstantX=l,this.MomentOfInertiaYZ=h,this.MomentOfInertiaY=c,this.MomentOfInertiaZ=u,this.WarpingConstant=A,this.ShearCentreZ=p,this.ShearCentreY=d,this.ShearDeformationAreaZ=f,this.ShearDeformationAreaY=m,this.MaximumSectionModulusY=E,this.MinimumSectionModulusY=y,this.MaximumSectionModulusZ=g,this.MinimumSectionModulusZ=v,this.TorsionalSectionModulus=I,this.CentreOfGravityInX=T,this.CentreOfGravityInY=_,this.ShearAreaZ=R,this.ShearAreaY=P,this.PlasticShapeFactorY=D,this.PlasticShapeFactorZ=N,this.type=3653947884}};e.IfcSubedge=class extends qs{constructor(e,t,s,i){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.ParentEdge=i,this.type=2233826070}};class Ri extends si{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ri;e.IfcSurfaceStyleRendering=class extends Gs{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t),this.SurfaceColour=t,this.Transparency=s,this.DiffuseColour=i,this.TransmissionColour=r,this.DiffuseTransmissionColour=o,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=l,this.ReflectanceMethod=h,this.type=1878645084}};class Pi extends vi{constructor(e,t,s){super(e),this.SweptArea=t,this.Position=s,this.type=2247615214}}e.IfcSweptAreaSolid=Pi;e.IfcSweptDiskSolid=class extends vi{constructor(e,t,s,i,r,o){super(e),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.type=1260650574}};class Di extends Ri{constructor(e,t,s){super(e),this.SweptCurve=t,this.Position=s,this.type=230924584}}e.IfcSweptSurface=Di;e.IfcTShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=u,this.FlangeSlope=A,this.CentreOfGravityInY=p,this.type=3071757647}};class Ni extends Ks{constructor(e,t,s,i,r){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.AnnotatedCurve=r,this.type=3028897424}}e.IfcTerminatorSymbol=Ni;class Ci extends si{constructor(e,t,s,i){super(e),this.Literal=t,this.Placement=s,this.Path=i,this.type=4282788508}}e.IfcTextLiteral=Ci;e.IfcTextLiteralWithExtent=class extends Ci{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Literal=t,this.Placement=s,this.Path=i,this.Extent=r,this.BoxAlignment=o,this.type=3124975700}};e.IfcTrapeziumProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomXDim=r,this.TopXDim=o,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};e.IfcTwoDirectionRepeatFactor=class extends hi{constructor(e,t,s){super(e,t),this.RepeatFactor=t,this.SecondRepeatFactor=s,this.type=1345879162}};class bi extends li{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.type=1628702193}}e.IfcTypeObject=bi;class Oi extends bi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.type=2347495698}}e.IfcTypeProduct=Oi;e.IfcUShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.FlangeSlope=c,this.CentreOfGravityInX=u,this.type=427810014}};e.IfcVector=class extends si{constructor(e,t,s){super(e),this.Orientation=t,this.Magnitude=s,this.type=1417489154}};e.IfcVertexLoop=class extends ai{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}};e.IfcWindowLiningProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=l,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=u,this.SecondMullionOffset=A,this.ShapeAspectStyle=p,this.type=336235671}};e.IfcWindowPanelProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=512836454}};e.IfcWindowStyle=class extends Oi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=1299126871}};e.IfcZShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.type=2543172580}};class Si extends zs{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=3288037868}}e.IfcAnnotationCurveOccurrence=Si;e.IfcAnnotationFillArea=class extends si{constructor(e,t,s){super(e),this.OuterBoundary=t,this.InnerBoundaries=s,this.type=669184980}};e.IfcAnnotationFillAreaOccurrence=class extends zs{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.FillStyleTarget=r,this.GlobalOrLocal=o,this.type=2265737646}};e.IfcAnnotationSurface=class extends si{constructor(e,t,s){super(e),this.Item=t,this.TextureCoordinates=s,this.type=1302238472}};e.IfcAxis1Placement=class extends ui{constructor(e,t,s){super(e,t),this.Location=t,this.Axis=s,this.type=4261334040}};e.IfcAxis2Placement2D=class extends ui{constructor(e,t,s){super(e,t),this.Location=t,this.RefDirection=s,this.type=3125803723}};e.IfcAxis2Placement3D=class extends ui{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=2740243338}};class xi extends si{constructor(e,t,s,i){super(e),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=2736907675}}e.IfcBooleanResult=xi;class wi extends Ri{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=wi;e.IfcBoundingBox=class extends si{constructor(e,t,s,i,r){super(e),this.Corner=t,this.XDim=s,this.YDim=i,this.ZDim=r,this.type=2581212453}};e.IfcBoxedHalfSpace=class extends ri{constructor(e,t,s,i){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Enclosure=i,this.type=2713105998}};e.IfcCShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=l,this.CentreOfGravityInX=h,this.type=2898889636}};e.IfcCartesianPoint=class extends pi{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Bi extends si{constructor(e,t,s,i,r){super(e),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=59481748}}e.IfcCartesianTransformationOperator=Bi;class Fi extends Bi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Fi;e.IfcCartesianTransformationOperator2DnonUniform=class extends Fi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Scale2=o,this.type=3486308946}};class Mi extends Bi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Mi;e.IfcCartesianTransformationOperator3DnonUniform=class extends Mi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class Li extends ci{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.type=1383045692}}e.IfcCircleProfileDef=Li;e.IfcClosedShell=class extends Zs{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}};e.IfcCompositeCurveSegment=class extends si{constructor(e,t,s,i){super(e),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.type=2485617015}};e.IfcCraneRailAShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallHeight=r,this.BaseWidth2=o,this.Radius=n,this.HeadWidth=a,this.HeadDepth2=l,this.HeadDepth3=h,this.WebThickness=c,this.BaseWidth4=u,this.BaseDepth1=A,this.BaseDepth2=p,this.BaseDepth3=d,this.CentreOfGravityInY=f,this.type=4133800736}};e.IfcCraneRailFShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallHeight=r,this.HeadWidth=o,this.Radius=n,this.HeadDepth2=a,this.HeadDepth3=l,this.WebThickness=h,this.BaseDepth1=c,this.BaseDepth2=u,this.CentreOfGravityInY=A,this.type=194851669}};class Ui extends si{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Ui;e.IfcCsgSolid=class extends vi{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Hi extends si{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Hi;e.IfcCurveBoundedPlane=class extends wi{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.OuterBoundary=s,this.InnerBoundaries=i,this.type=2827736869}};e.IfcDefinedSymbol=class extends si{constructor(e,t,s){super(e),this.Definition=t,this.Target=s,this.type=693772133}};e.IfcDimensionCurve=class extends Si{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=606661476}};e.IfcDimensionCurveTerminator=class extends Ni{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Item=t,this.Styles=s,this.Name=i,this.AnnotatedCurve=r,this.Role=o,this.type=4054601972}};e.IfcDirection=class extends si{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};e.IfcDoorLiningProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=l,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=u,this.ThresholdOffset=A,this.CasingThickness=p,this.CasingDepth=d,this.ShapeAspectStyle=f,this.type=2963535650}};e.IfcDoorPanelProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PanelDepth=o,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=l,this.ShapeAspectStyle=h,this.type=1714330368}};e.IfcDoorStyle=class extends Oi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=526551008}};class Gi extends si{constructor(e,t){super(e),this.Contents=t,this.type=3073041342}}e.IfcDraughtingCallout=Gi;e.IfcDraughtingPreDefinedColour=class extends di{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}};e.IfcDraughtingPreDefinedCurveFont=class extends fi{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};e.IfcEdgeLoop=class extends ai{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}};e.IfcElementQuantity=class extends Ei{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.MethodOfMeasurement=o,this.Quantities=n,this.type=1883228015}};class ki extends Oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=339256511}}e.IfcElementType=ki;class Vi extends Ri{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Vi;e.IfcEllipseProfileDef=class extends ci{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.SemiAxis1=r,this.SemiAxis2=o,this.type=2835456948}};class Qi extends Ei{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.EnergySequence=o,this.UserDefinedEnergySequence=n,this.type=80994333}}e.IfcEnergyProperties=Qi;e.IfcExtrudedAreaSolid=class extends Pi{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=477187591}};e.IfcFaceBasedSurfaceModel=class extends si{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}};e.IfcFillAreaStyleHatching=class extends si{constructor(e,t,s,i,r,o){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=s,this.PointOfReferenceHatchLine=i,this.PatternStart=r,this.HatchLineAngle=o,this.type=374418227}};e.IfcFillAreaStyleTileSymbolWithStyle=class extends si{constructor(e,t){super(e),this.Symbol=t,this.type=4203026998}};e.IfcFillAreaStyleTiles=class extends si{constructor(e,t,s,i){super(e),this.TilingPattern=t,this.Tiles=s,this.TilingScale=i,this.type=315944413}};e.IfcFluidFlowProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PropertySource=o,this.FlowConditionTimeSeries=n,this.VelocityTimeSeries=a,this.FlowrateTimeSeries=l,this.Fluid=h,this.PressureTimeSeries=c,this.UserDefinedPropertySource=u,this.TemperatureSingleValue=A,this.WetBulbTemperatureSingleValue=p,this.WetBulbTemperatureTimeSeries=d,this.TemperatureTimeSeries=f,this.FlowrateSingleValue=m,this.FlowConditionSingleValue=E,this.VelocitySingleValue=y,this.PressureSingleValue=g,this.type=3455213021}};class ji extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=4238390223}}e.IfcFurnishingElementType=ji;e.IfcFurnitureType=class extends ji{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.AssemblyPlace=c,this.type=1268542332}};e.IfcGeometricCurveSet=class extends ii{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};class Wi extends ci{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.type=1484403080}}e.IfcIShapeProfileDef=Wi;e.IfcLShapeProfileDef=class extends ci{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=l,this.LegSlope=h,this.CentreOfGravityInX=c,this.CentreOfGravityInY=u,this.type=572779678}};e.IfcLine=class extends Hi{constructor(e,t,s){super(e),this.Pnt=t,this.Dir=s,this.type=1281925730}};class zi extends vi{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=zi;class Ki extends li{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3888040117}}e.IfcObject=Ki;e.IfcOffsetCurve2D=class extends Hi{constructor(e,t,s,i){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.type=3388369263}};e.IfcOffsetCurve3D=class extends Hi{constructor(e,t,s,i,r){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.RefDirection=r,this.type=3505215534}};e.IfcPermeableCoveringProperties=class extends Ei{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=3566463478}};e.IfcPlanarBox=class extends Ai{constructor(e,t,s,i){super(e,t,s),this.SizeInX=t,this.SizeInY=s,this.Placement=i,this.type=603570806}};e.IfcPlane=class extends Vi{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class Yi extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2945172077}}e.IfcProcess=Yi;class Xi extends Ki{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}e.IfcProduct=Xi;e.IfcProject=class extends Ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=103090709}};e.IfcProjectionCurve=class extends Si{constructor(e,t,s,i){super(e,t,s,i),this.Item=t,this.Styles=s,this.Name=i,this.type=4194566429}};e.IfcPropertySet=class extends Ei{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.HasProperties=o,this.type=1451395588}};e.IfcProxy=class extends Xi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=l,this.Tag=h,this.type=3219374653}};e.IfcRectangleHollowProfileDef=class extends yi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=l,this.type=2770003689}};e.IfcRectangularPyramid=class extends Ui{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.Height=r,this.type=2798486643}};e.IfcRectangularTrimmedSurface=class extends wi{constructor(e,t,s,i,r,o,n,a){super(e),this.BasisSurface=t,this.U1=s,this.V1=i,this.U2=r,this.V2=o,this.Usense=n,this.Vsense=a,this.type=3454111270}};class Zi extends gi{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.type=3939117080}}e.IfcRelAssigns=Zi;class qi extends Zi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=1683148259}}e.IfcRelAssignsToActor=qi;class Ji extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}}e.IfcRelAssignsToControl=Ji;e.IfcRelAssignsToGroup=class extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}};e.IfcRelAssignsToProcess=class extends Zi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=l,this.type=4278684876}};e.IfcRelAssignsToProduct=class extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};e.IfcRelAssignsToProjectOrder=class extends Ji{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=3372526763}};e.IfcRelAssignsToResource=class extends Zi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class $i extends gi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=1865459582}}e.IfcRelAssociates=$i;e.IfcRelAssociatesAppliedValue=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingAppliedValue=n,this.type=1327628568}};e.IfcRelAssociatesApproval=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingApproval=n,this.type=4095574036}};e.IfcRelAssociatesClassification=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingClassification=n,this.type=919958153}};e.IfcRelAssociatesConstraint=class extends $i{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};e.IfcRelAssociatesDocument=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingDocument=n,this.type=982818633}};e.IfcRelAssociatesLibrary=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingLibrary=n,this.type=3840914261}};e.IfcRelAssociatesMaterial=class extends $i{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingMaterial=n,this.type=2655215786}};e.IfcRelAssociatesProfileProperties=class extends $i{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingProfileProperties=n,this.ProfileSectionLocation=a,this.ProfileOrientation=l,this.type=2851387026}};class er extends gi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=826625072}}e.IfcRelConnects=er;class tr extends er{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}e.IfcRelConnectsElements=tr;e.IfcRelConnectsPathElements=class extends tr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=l,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=u,this.type=3945020480}};e.IfcRelConnectsPortToElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedElement=n,this.type=4201705270}};e.IfcRelConnectsPorts=class extends er{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};e.IfcRelConnectsStructuralActivity=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralActivity=n,this.type=2127690289}};e.IfcRelConnectsStructuralElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralMember=n,this.type=3912681535}};class sr extends er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}e.IfcRelConnectsStructuralMember=sr;e.IfcRelConnectsWithEccentricity=class extends sr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=u,this.type=504942748}};e.IfcRelConnectsWithRealizingElements=class extends tr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=l,this.ConnectionType=h,this.type=3678494232}};e.IfcRelContainedInSpatialStructure=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=3242617779}};e.IfcRelCoversBldgElements=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedCoverings=n,this.type=886880790}};e.IfcRelCoversSpaces=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedSpace=o,this.RelatedCoverings=n,this.type=2802773753}};class ir extends gi{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=2551354335}}e.IfcRelDecomposes=ir;class rr extends gi{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=693640335}}e.IfcRelDefines=rr;class or extends rr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.type=4186316022}}e.IfcRelDefinesByProperties=or;e.IfcRelDefinesByType=class extends rr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingType=n,this.type=781010003}};e.IfcRelFillsElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingOpeningElement=o,this.RelatedBuildingElement=n,this.type=3940055652}};e.IfcRelFlowControlElements=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedControlElements=o,this.RelatingFlowElement=n,this.type=279856033}};e.IfcRelInteractionRequirements=class extends er{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DailyInteraction=o,this.ImportanceRating=n,this.LocationOfInteraction=a,this.RelatedSpaceProgram=l,this.RelatingSpaceProgram=h,this.type=4189434867}};e.IfcRelNests=class extends ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=3268803585}};e.IfcRelOccupiesSpaces=class extends qi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=2051452291}};e.IfcRelOverridesProperties=class extends or{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.OverridingProperties=a,this.type=202636808}};e.IfcRelProjectsElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedFeatureElement=n,this.type=750771296}};e.IfcRelReferencedInSpatialStructure=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=1245217292}};e.IfcRelSchedulesCostItems=class extends Ji{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=1058617721}};e.IfcRelSequence=class extends er{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingProcess=o,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=l,this.type=4122056220}};e.IfcRelServicesBuildings=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSystem=o,this.RelatedBuildings=n,this.type=366585022}};e.IfcRelSpaceBoundary=class extends er{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.type=3451746338}};e.IfcRelVoidsElement=class extends er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedOpeningElement=n,this.type=1401173127}};class nr extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2914609552}}e.IfcResource=nr;e.IfcRevolvedAreaSolid=class extends Pi{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.type=1856042241}};e.IfcRightCircularCone=class extends Ui{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.BottomRadius=i,this.type=4158566097}};e.IfcRightCircularCylinder=class extends Ui{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.Radius=i,this.type=3626867408}};class ar extends Xi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=2706606064}}e.IfcSpatialStructureElement=ar;class lr extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893378262}}e.IfcSpatialStructureElementType=lr;e.IfcSphere=class extends Ui{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=451544542}};class hr extends Xi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3544373492}}e.IfcStructuralActivity=hr;class cr extends Xi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}e.IfcStructuralItem=cr;class ur extends cr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}e.IfcStructuralMember=ur;class Ar extends hr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3689010777}}e.IfcStructuralReaction=Ar;class pr extends ur{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=3979015343}}e.IfcStructuralSurfaceMember=pr;e.IfcStructuralSurfaceMemberVarying=class extends pr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.SubsequentThickness=c,this.VaryingThicknessLocation=u,this.type=2218152070}};e.IfcStructuredDimensionCallout=class extends Gi{constructor(e,t){super(e,t),this.Contents=t,this.type=4070609034}};e.IfcSurfaceCurveSweptAreaSolid=class extends Pi{constructor(e,t,s,i,r,o,n){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.ReferenceSurface=n,this.type=2028607225}};e.IfcSurfaceOfLinearExtrusion=class extends Di{constructor(e,t,s,i,r){super(e,t,s),this.SweptCurve=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=2809605785}};e.IfcSurfaceOfRevolution=class extends Di{constructor(e,t,s,i){super(e,t,s),this.SweptCurve=t,this.Position=s,this.AxisPosition=i,this.type=4124788165}};e.IfcSystemFurnitureElementType=class extends ji{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1580310250}};class dr extends Yi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TaskId=n,this.Status=a,this.WorkMethod=l,this.IsMilestone=h,this.Priority=c,this.type=3473067441}}e.IfcTask=dr;e.IfcTransportElementType=class extends ki{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class fr extends Ki{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.type=2296667514}}e.IfcActor=fr;e.IfcAnnotation=class extends Xi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};e.IfcAsymmetricIShapeProfileDef=class extends Wi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=u,this.CentreOfGravityInY=A,this.type=3207858831}};e.IfcBlock=class extends Ui{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.ZLength=r,this.type=1334484129}};e.IfcBooleanClippingResult=class extends xi{constructor(e,t,s,i){super(e,t,s,i),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=3649129432}};class mr extends Hi{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=mr;e.IfcBuilding=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=u,this.BuildingAddress=A,this.type=4031249490}};class Er extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1950629157}}e.IfcBuildingElementType=Er;e.IfcBuildingStorey=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};e.IfcCircleHollowProfileDef=class extends Li{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.WallThickness=o,this.type=2937912522}};e.IfcColumnType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};class yr extends mr{constructor(e,t,s){super(e),this.Segments=t,this.SelfIntersect=s,this.type=3732776249}}e.IfcCompositeCurve=yr;class gr extends Hi{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=gr;class vr extends nr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=2559216714}}e.IfcConstructionResource=vr;class Ir extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3293443760}}e.IfcControl=Ir;e.IfcCostItem=class extends Ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3895139033}};e.IfcCostSchedule=class extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.SubmittedBy=n,this.PreparedBy=a,this.SubmittedOn=l,this.Status=h,this.TargetUsers=c,this.UpdateDate=u,this.ID=A,this.PredefinedType=p,this.type=1419761937}};e.IfcCoveringType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};e.IfcCrewResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=3295246426}};e.IfcCurtainWallType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};class Tr extends Gi{constructor(e,t){super(e,t),this.Contents=t,this.type=681481545}}e.IfcDimensionCurveDirectedCallout=Tr;class _r extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3256556792}}e.IfcDistributionElementType=_r;class Rr extends _r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3849074793}}e.IfcDistributionFlowElementType=Rr;e.IfcElectricalBaseProperties=class extends Qi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.EnergySequence=o,this.UserDefinedEnergySequence=n,this.ElectricCurrentType=a,this.InputVoltage=l,this.InputFrequency=h,this.FullLoadCurrent=c,this.MinimumCircuitCurrent=u,this.MaximumPowerInput=A,this.RatedPowerInput=p,this.InputPhase=d,this.type=360485395}};class Pr extends Xi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1758889154}}e.IfcElement=Pr;e.IfcElementAssembly=class extends Pr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};class Dr extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1623761950}}e.IfcElementComponent=Dr;class Nr extends ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2590856083}}e.IfcElementComponentType=Nr;e.IfcEllipse=class extends gr{constructor(e,t,s,i){super(e,t),this.Position=t,this.SemiAxis1=s,this.SemiAxis2=i,this.type=1704287377}};class Cr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Cr;e.IfcEquipmentElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1962604670}};e.IfcEquipmentStandard=class extends Ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3272907226}};e.IfcEvaporativeCoolerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};e.IfcEvaporatorType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};e.IfcFacetedBrep=class extends zi{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}};e.IfcFacetedBrepWithVoids=class extends zi{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=3737207727}};class br extends Dr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=647756555}}e.IfcFastener=br;class Or extends Nr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2489546625}}e.IfcFastenerType=Or;class Sr extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2827207264}}e.IfcFeatureElement=Sr;class xr extends Sr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2143335405}}e.IfcFeatureElementAddition=xr;class wr extends Sr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1287392070}}e.IfcFeatureElementSubtraction=wr;class Br extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3907093117}}e.IfcFlowControllerType=Br;class Fr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3198132628}}e.IfcFlowFittingType=Fr;e.IfcFlowMeterType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Mr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1482959167}}e.IfcFlowMovingDeviceType=Mr;class Lr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1834744321}}e.IfcFlowSegmentType=Lr;class Ur extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1339347760}}e.IfcFlowStorageDeviceType=Ur;class Hr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2297155007}}e.IfcFlowTerminalType=Hr;class Gr extends Rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=Gr;e.IfcFurnishingElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=263784265}};e.IfcFurnitureStandard=class extends Ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=814719939}};e.IfcGasTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=200128114}};e.IfcGrid=class extends Xi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.UAxes=l,this.VAxes=h,this.WAxes=c,this.type=3009204131}};class kr extends Ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2706460486}}e.IfcGroup=kr;e.IfcHeatExchangerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};e.IfcHumidifierType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};e.IfcInventory=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.InventoryType=n,this.Jurisdiction=a,this.ResponsiblePersons=l,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=u,this.type=2391368822}};e.IfcJunctionBoxType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};e.IfcLaborResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.SkillSet=c,this.type=3827777499}};e.IfcLampType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};e.IfcLightFixtureType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};e.IfcLinearDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=2506943328}};e.IfcMechanicalFastener=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NominalDiameter=h,this.NominalLength=c,this.type=377706215}};e.IfcMechanicalFastenerType=class extends Or{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2108223431}};e.IfcMemberType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};e.IfcMotorConnectionType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};e.IfcMove=class extends dr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TaskId=n,this.Status=a,this.WorkMethod=l,this.IsMilestone=h,this.Priority=c,this.MoveFrom=u,this.MoveTo=A,this.PunchList=p,this.type=1916936684}};e.IfcOccupant=class extends fr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};e.IfcOpeningElement=class extends wr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3588315303}};e.IfcOrderAction=class extends dr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TaskId=n,this.Status=a,this.WorkMethod=l,this.IsMilestone=h,this.Priority=c,this.ActionID=u,this.type=3425660407}};e.IfcOutletType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};e.IfcPerformanceHistory=class extends Ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LifeCyclePhase=n,this.type=2382730787}};e.IfcPermit=class extends Ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PermitID=n,this.type=3327091369}};e.IfcPipeFittingType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};e.IfcPipeSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};e.IfcPlateType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};e.IfcPolyline=class extends mr{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class Vr extends Xi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}e.IfcPort=Vr;e.IfcProcedure=class extends Yi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ProcedureID=n,this.ProcedureType=a,this.UserDefinedProcedureType=l,this.type=2744685151}};e.IfcProjectOrder=class extends Ir{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ID=n,this.PredefinedType=a,this.Status=l,this.type=2904328755}};e.IfcProjectOrderRecord=class extends Ir{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Records=n,this.PredefinedType=a,this.type=3642467123}};e.IfcProjectionElement=class extends xr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3651124850}};e.IfcProtectiveDeviceType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};e.IfcPumpType=class extends Mr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};e.IfcRadiusDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=3248260540}};e.IfcRailingType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};e.IfcRampFlightType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};e.IfcRelAggregates=class extends ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=160246688}};e.IfcRelAssignsTasks=class extends Ji{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.TimeForTask=l,this.type=2863920197}};e.IfcSanitaryTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};e.IfcScheduleTimeControl=class extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I,T,_){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ActualStart=n,this.EarlyStart=a,this.LateStart=l,this.ScheduleStart=h,this.ActualFinish=c,this.EarlyFinish=u,this.LateFinish=A,this.ScheduleFinish=p,this.ScheduleDuration=d,this.ActualDuration=f,this.RemainingTime=m,this.FreeFloat=E,this.TotalFloat=y,this.IsCritical=g,this.StatusTime=v,this.StartFloat=I,this.FinishFloat=T,this.Completion=_,this.type=3517283431}};e.IfcServiceLife=class extends Ir{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ServiceLifeType=n,this.ServiceLifeDuration=a,this.type=4105383287}};e.IfcSite=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=u,this.RefElevation=A,this.LandTitleNumber=p,this.SiteAddress=d,this.type=4097777520}};e.IfcSlabType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};e.IfcSpace=class extends ar{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.InteriorOrExteriorSpace=c,this.ElevationWithFlooring=u,this.type=3856911033}};e.IfcSpaceHeaterType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};e.IfcSpaceProgram=class extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.SpaceProgramIdentifier=n,this.MaxRequiredArea=a,this.MinRequiredArea=l,this.RequestedLocation=h,this.StandardRequiredArea=c,this.type=652456506}};e.IfcSpaceType=class extends lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3812236995}};e.IfcStackTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};e.IfcStairFlightType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};class Qr extends hr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.type=682877961}}e.IfcStructuralAction=Qr;class jr extends cr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1179482911}}e.IfcStructuralConnection=jr;e.IfcStructuralCurveConnection=class extends jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=4243806635}};class Wr extends ur{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=214636428}}e.IfcStructuralCurveMember=Wr;e.IfcStructuralCurveMemberVarying=class extends Wr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=2445595289}};class zr extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.type=1807405624}}e.IfcStructuralLinearAction=zr;e.IfcStructuralLinearActionVarying=class extends zr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.VaryingAppliedLoadLocation=p,this.SubsequentAppliedLoads=d,this.type=1721250024}};e.IfcStructuralLoadGroup=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.type=1252848954}};class Kr extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.type=1621171031}}e.IfcStructuralPlanarAction=Kr;e.IfcStructuralPlanarActionVarying=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.ProjectedOrTrue=A,this.VaryingAppliedLoadLocation=p,this.SubsequentAppliedLoads=d,this.type=3987759626}};e.IfcStructuralPointAction=class extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.CausedBy=u,this.type=2082059205}};e.IfcStructuralPointConnection=class extends jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=734778138}};e.IfcStructuralPointReaction=class extends Ar{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=1235345126}};e.IfcStructuralResultGroup=class extends kr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=l,this.type=2986769608}};e.IfcStructuralSurfaceConnection=class extends jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1975003073}};e.IfcSubContractResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.SubContractor=c,this.JobDescription=u,this.type=148013059}};e.IfcSwitchingDeviceType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Yr extends kr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2254336722}}e.IfcSystem=Yr;e.IfcTankType=class extends Ur{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};e.IfcTimeSeriesSchedule=class extends Ir{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ApplicableDates=n,this.TimeSeriesScheduleType=a,this.TimeSeries=l,this.type=1637806684}};e.IfcTransformerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};e.IfcTransportElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OperationType=h,this.CapacityByWeight=c,this.CapacityByNumber=u,this.type=1620046519}};e.IfcTrimmedCurve=class extends mr{constructor(e,t,s,i,r,o){super(e),this.BasisCurve=t,this.Trim1=s,this.Trim2=i,this.SenseAgreement=r,this.MasterRepresentation=o,this.type=3593883385}};e.IfcTubeBundleType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};e.IfcUnitaryEquipmentType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};e.IfcValveType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};e.IfcVirtualElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2769231204}};e.IfcWallType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};e.IfcWasteTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};class Xr extends Ir{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identifier=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.WorkControlType=d,this.UserDefinedControlType=f,this.type=1028945134}}e.IfcWorkControl=Xr;e.IfcWorkPlan=class extends Xr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identifier=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.WorkControlType=d,this.UserDefinedControlType=f,this.type=4218914973}};e.IfcWorkSchedule=class extends Xr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identifier=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.WorkControlType=d,this.UserDefinedControlType=f,this.type=3342526732}};e.IfcZone=class extends kr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=1033361043}};e.Ifc2DCompositeCurve=class extends yr{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=1213861670}};e.IfcActionRequest=class extends Ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.RequestID=n,this.type=3821786052}};e.IfcAirTerminalBoxType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};e.IfcAirTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};e.IfcAirToAirHeatRecoveryType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};e.IfcAngularDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=2470393545}};e.IfcAsset=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.AssetID=n,this.OriginalValue=a,this.CurrentValue=l,this.TotalReplacementCost=h,this.Owner=c,this.User=u,this.ResponsiblePerson=A,this.IncorporationDate=p,this.DepreciatedValue=d,this.type=3460190687}};class Zr extends mr{constructor(e,t,s,i,r,o){super(e),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1967976161}}e.IfcBSplineCurve=Zr;e.IfcBeamType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};class qr extends Zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1916977116}}e.IfcBezierCurve=qr;e.IfcBoilerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class Jr extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3299480353}}e.IfcBuildingElement=Jr;class $r extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=52481810}}e.IfcBuildingElementComponent=$r;e.IfcBuildingElementPart=class extends $r{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2979338954}};e.IfcBuildingElementProxy=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.CompositionType=h,this.type=1095909175}};e.IfcBuildingElementProxyType=class extends Er{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};e.IfcCableCarrierFittingType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};e.IfcCableCarrierSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};e.IfcCableSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};e.IfcChillerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};e.IfcCircle=class extends gr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=2611217952}};e.IfcCoilType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};e.IfcColumn=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=843113511}};e.IfcCompressorType=class extends Mr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};e.IfcCondenserType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};e.IfcCondition=class extends kr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2188551683}};e.IfcConditionCriterion=class extends Ir{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Criterion=n,this.CriterionDateTime=a,this.type=1163958913}};e.IfcConstructionEquipmentResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=3898045240}};e.IfcConstructionMaterialResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.Suppliers=c,this.UsageRatio=u,this.type=1060000209}};e.IfcConstructionProductResource=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ResourceIdentifier=n,this.ResourceGroup=a,this.ResourceConsumption=l,this.BaseQuantity=h,this.type=488727124}};e.IfcCooledBeamType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};e.IfcCoolingTowerType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};e.IfcCovering=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1973544240}};e.IfcCurtainWall=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3495092785}};e.IfcDamperType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};e.IfcDiameterDimension=class extends Tr{constructor(e,t){super(e,t),this.Contents=t,this.type=4147604152}};e.IfcDiscreteAccessory=class extends Dr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1335981549}};class eo extends Nr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2635815018}}e.IfcDiscreteAccessoryType=eo;e.IfcDistributionChamberElementType=class extends Rr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class to extends _r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2063403501}}e.IfcDistributionControlElementType=to;class so extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1945004755}}e.IfcDistributionElement=so;class io extends so{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3040386961}}e.IfcDistributionFlowElement=io;e.IfcDistributionPort=class extends Vr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=l,this.type=3041715199}};e.IfcDoor=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.type=395920057}};e.IfcDuctFittingType=class extends Fr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};e.IfcDuctSegmentType=class extends Lr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};e.IfcDuctSilencerType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};class ro extends wr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.FeatureLength=h,this.type=855621170}}e.IfcEdgeFeature=ro;e.IfcElectricApplianceType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};e.IfcElectricFlowStorageDeviceType=class extends Ur{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};e.IfcElectricGeneratorType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};e.IfcElectricHeaterType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1365060375}};e.IfcElectricMotorType=class extends Cr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};e.IfcElectricTimeControlType=class extends Br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};e.IfcElectricalCircuit=class extends Yr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=1634875225}};e.IfcElectricalElement=class extends Pr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=857184966}};e.IfcEnergyConversionDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1658829314}};e.IfcFanType=class extends Mr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};e.IfcFilterType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};e.IfcFireSuppressionTerminalType=class extends Hr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class oo extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2058353004}}e.IfcFlowController=oo;e.IfcFlowFitting=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4278956645}};e.IfcFlowInstrumentType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};e.IfcFlowMovingDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3132237377}};e.IfcFlowSegment=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=987401354}};e.IfcFlowStorageDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=707683696}};e.IfcFlowTerminal=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2223149337}};e.IfcFlowTreatmentDevice=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3508470533}};e.IfcFooting=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=900683007}};e.IfcMember=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1073191201}};e.IfcPile=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};e.IfcPlate=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3171933400}};e.IfcRailing=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2262370178}};e.IfcRamp=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ShapeType=h,this.type=3024970846}};e.IfcRampFlight=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3283111854}};e.IfcRationalBezierCurve=class extends qr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.WeightsData=n,this.type=3055160366}};class no extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=3027567501}}e.IfcReinforcingElement=no;e.IfcReinforcingMesh=class extends no{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=u,this.LongitudinalBarNominalDiameter=A,this.TransverseBarNominalDiameter=p,this.LongitudinalBarCrossSectionArea=d,this.TransverseBarCrossSectionArea=f,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=E,this.type=2320036040}};e.IfcRoof=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ShapeType=h,this.type=2016517767}};e.IfcRoundedEdgeFeature=class extends ro{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.FeatureLength=h,this.Radius=c,this.type=1376911519}};e.IfcSensorType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};e.IfcSlab=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1529196076}};e.IfcStair=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ShapeType=h,this.type=331165859}};e.IfcStairFlight=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NumberOfRiser=h,this.NumberOfTreads=c,this.RiserHeight=u,this.TreadLength=A,this.type=4252922144}};e.IfcStructuralAnalysisModel=class extends Yr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=l,this.HasResults=h,this.type=2515109513}};e.IfcTendon=class extends no{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.TensionForce=p,this.PreStress=d,this.FrictionCoefficient=f,this.AnchorageSlip=m,this.MinCurvatureRadius=E,this.type=3824725483}};e.IfcTendonAnchor=class extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=2347447852}};e.IfcVibrationIsolatorType=class extends eo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};class ao extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2391406946}}e.IfcWall=ao;e.IfcWallStandardCase=class extends ao{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3512223829}};e.IfcWindow=class extends Jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.type=3304561284}};e.IfcActuatorType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};e.IfcAlarmType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};e.IfcBeam=class extends Jr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=753842376}};e.IfcChamferEdgeFeature=class extends ro{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.FeatureLength=h,this.Width=c,this.Height=u,this.type=2454782716}};e.IfcControllerType=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};e.IfcDistributionChamberElement=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1052013943}};e.IfcDistributionControlElement=class extends so{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.ControlElementId=h,this.type=1062813311}};e.IfcElectricDistributionPoint=class extends oo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.DistributionPointFunction=h,this.UserDefinedFunction=c,this.type=3700593921}};e.IfcReinforcingBar=class extends no{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=u,this.BarLength=A,this.BarRole=p,this.BarSurface=d,this.type=979691226}}}(cg||(cg={})),function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcArcIndex=class{constructor(e){this.value=e}};e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcComplexNumber=class{constructor(e){this.value=e}};e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}};e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDate=class{constructor(e){this.value=e,this.type=1}};e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}};e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t;e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDuration=class{constructor(e){this.value=e,this.type=1}};e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}};e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}};e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}};e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}};e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}};e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLabel=class{constructor(e){this.value=e,this.type=1}};e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}};e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLineIndex=class{constructor(e){this.value=e}};e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}};e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}};e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcText=class{constructor(e){this.value=e,this.type=1}};e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}};e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}};e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}};e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTime=class{constructor(e){this.value=e,this.type=1}};e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}};e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class s{}s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=s;class i{}i.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},i.COMPLETION_G1={type:3,value:"COMPLETION_G1"},i.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},i.SNOW_S={type:3,value:"SNOW_S"},i.WIND_W={type:3,value:"WIND_W"},i.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},i.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},i.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},i.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},i.FIRE={type:3,value:"FIRE"},i.IMPULSE={type:3,value:"IMPULSE"},i.IMPACT={type:3,value:"IMPACT"},i.TRANSPORT={type:3,value:"TRANSPORT"},i.ERECTION={type:3,value:"ERECTION"},i.PROPPING={type:3,value:"PROPPING"},i.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},i.SHRINKAGE={type:3,value:"SHRINKAGE"},i.CREEP={type:3,value:"CREEP"},i.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},i.BUOYANCY={type:3,value:"BUOYANCY"},i.ICE={type:3,value:"ICE"},i.CURRENT={type:3,value:"CURRENT"},i.WAVE={type:3,value:"WAVE"},i.RAIN={type:3,value:"RAIN"},i.BRAKES={type:3,value:"BRAKES"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=i;class r{}r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=r;class o{}o.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},o.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},o.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},o.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},o.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=o;class n{}n.OFFICE={type:3,value:"OFFICE"},n.SITE={type:3,value:"SITE"},n.HOME={type:3,value:"HOME"},n.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},n.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=n;class a{}a.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},a.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},a.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=a;class l{}l.DIFFUSER={type:3,value:"DIFFUSER"},l.GRILLE={type:3,value:"GRILLE"},l.LOUVRE={type:3,value:"LOUVRE"},l.REGISTER={type:3,value:"REGISTER"},l.USERDEFINED={type:3,value:"USERDEFINED"},l.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=l;class h{}h.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},h.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},h.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},h.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},h.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},h.HEATPIPE={type:3,value:"HEATPIPE"},h.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},h.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},h.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=h;class c{}c.BELL={type:3,value:"BELL"},c.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},c.LIGHT={type:3,value:"LIGHT"},c.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},c.SIREN={type:3,value:"SIREN"},c.WHISTLE={type:3,value:"WHISTLE"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=c;class u{}u.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},u.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},u.LOADING_3D={type:3,value:"LOADING_3D"},u.USERDEFINED={type:3,value:"USERDEFINED"},u.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=u;class A{}A.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},A.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},A.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},A.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},A.USERDEFINED={type:3,value:"USERDEFINED"},A.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=A;class p{}p.ADD={type:3,value:"ADD"},p.DIVIDE={type:3,value:"DIVIDE"},p.MULTIPLY={type:3,value:"MULTIPLY"},p.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=p;class d{}d.SITE={type:3,value:"SITE"},d.FACTORY={type:3,value:"FACTORY"},d.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=d;class f{}f.AMPLIFIER={type:3,value:"AMPLIFIER"},f.CAMERA={type:3,value:"CAMERA"},f.DISPLAY={type:3,value:"DISPLAY"},f.MICROPHONE={type:3,value:"MICROPHONE"},f.PLAYER={type:3,value:"PLAYER"},f.PROJECTOR={type:3,value:"PROJECTOR"},f.RECEIVER={type:3,value:"RECEIVER"},f.SPEAKER={type:3,value:"SPEAKER"},f.SWITCHER={type:3,value:"SWITCHER"},f.TELEPHONE={type:3,value:"TELEPHONE"},f.TUNER={type:3,value:"TUNER"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=f;class m{}m.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},m.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},m.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},m.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},m.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},m.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=m;class E{}E.PLANE_SURF={type:3,value:"PLANE_SURF"},E.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},E.CONICAL_SURF={type:3,value:"CONICAL_SURF"},E.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},E.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},E.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},E.RULED_SURF={type:3,value:"RULED_SURF"},E.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},E.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},E.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},E.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=E;class y{}y.BEAM={type:3,value:"BEAM"},y.JOIST={type:3,value:"JOIST"},y.HOLLOWCORE={type:3,value:"HOLLOWCORE"},y.LINTEL={type:3,value:"LINTEL"},y.SPANDREL={type:3,value:"SPANDREL"},y.T_BEAM={type:3,value:"T_BEAM"},y.USERDEFINED={type:3,value:"USERDEFINED"},y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=y;class g{}g.GREATERTHAN={type:3,value:"GREATERTHAN"},g.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},g.LESSTHAN={type:3,value:"LESSTHAN"},g.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},g.EQUALTO={type:3,value:"EQUALTO"},g.NOTEQUALTO={type:3,value:"NOTEQUALTO"},g.INCLUDES={type:3,value:"INCLUDES"},g.NOTINCLUDES={type:3,value:"NOTINCLUDES"},g.INCLUDEDIN={type:3,value:"INCLUDEDIN"},g.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=g;class v{}v.WATER={type:3,value:"WATER"},v.STEAM={type:3,value:"STEAM"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=v;class I{}I.UNION={type:3,value:"UNION"},I.INTERSECTION={type:3,value:"INTERSECTION"},I.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=I;class T{}T.INSULATION={type:3,value:"INSULATION"},T.PRECASTPANEL={type:3,value:"PRECASTPANEL"},T.USERDEFINED={type:3,value:"USERDEFINED"},T.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=T;class _{}_.COMPLEX={type:3,value:"COMPLEX"},_.ELEMENT={type:3,value:"ELEMENT"},_.PARTIAL={type:3,value:"PARTIAL"},_.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},_.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=_;class R{}R.FENESTRATION={type:3,value:"FENESTRATION"},R.FOUNDATION={type:3,value:"FOUNDATION"},R.LOADBEARING={type:3,value:"LOADBEARING"},R.OUTERSHELL={type:3,value:"OUTERSHELL"},R.SHADING={type:3,value:"SHADING"},R.TRANSPORT={type:3,value:"TRANSPORT"},R.USERDEFINED={type:3,value:"USERDEFINED"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=R;class P{}P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=P;class D{}D.BEND={type:3,value:"BEND"},D.CROSS={type:3,value:"CROSS"},D.REDUCER={type:3,value:"REDUCER"},D.TEE={type:3,value:"TEE"},D.USERDEFINED={type:3,value:"USERDEFINED"},D.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=D;class N{}N.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},N.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},N.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},N.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=N;class C{}C.CONNECTOR={type:3,value:"CONNECTOR"},C.ENTRY={type:3,value:"ENTRY"},C.EXIT={type:3,value:"EXIT"},C.JUNCTION={type:3,value:"JUNCTION"},C.TRANSITION={type:3,value:"TRANSITION"},C.USERDEFINED={type:3,value:"USERDEFINED"},C.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=C;class b{}b.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},b.CABLESEGMENT={type:3,value:"CABLESEGMENT"},b.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},b.CORESEGMENT={type:3,value:"CORESEGMENT"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=b;class O{}O.NOCHANGE={type:3,value:"NOCHANGE"},O.MODIFIED={type:3,value:"MODIFIED"},O.ADDED={type:3,value:"ADDED"},O.DELETED={type:3,value:"DELETED"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=O;class S{}S.AIRCOOLED={type:3,value:"AIRCOOLED"},S.WATERCOOLED={type:3,value:"WATERCOOLED"},S.HEATRECOVERY={type:3,value:"HEATRECOVERY"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=S;class x{}x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=x;class w{}w.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},w.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},w.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},w.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},w.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},w.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},w.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=w;class B{}B.COLUMN={type:3,value:"COLUMN"},B.PILASTER={type:3,value:"PILASTER"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=B;class F{}F.ANTENNA={type:3,value:"ANTENNA"},F.COMPUTER={type:3,value:"COMPUTER"},F.FAX={type:3,value:"FAX"},F.GATEWAY={type:3,value:"GATEWAY"},F.MODEM={type:3,value:"MODEM"},F.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},F.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},F.NETWORKHUB={type:3,value:"NETWORKHUB"},F.PRINTER={type:3,value:"PRINTER"},F.REPEATER={type:3,value:"REPEATER"},F.ROUTER={type:3,value:"ROUTER"},F.SCANNER={type:3,value:"SCANNER"},F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=F;class M{}M.P_COMPLEX={type:3,value:"P_COMPLEX"},M.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=M;class L{}L.DYNAMIC={type:3,value:"DYNAMIC"},L.RECIPROCATING={type:3,value:"RECIPROCATING"},L.ROTARY={type:3,value:"ROTARY"},L.SCROLL={type:3,value:"SCROLL"},L.TROCHOIDAL={type:3,value:"TROCHOIDAL"},L.SINGLESTAGE={type:3,value:"SINGLESTAGE"},L.BOOSTER={type:3,value:"BOOSTER"},L.OPENTYPE={type:3,value:"OPENTYPE"},L.HERMETIC={type:3,value:"HERMETIC"},L.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},L.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},L.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},L.ROTARYVANE={type:3,value:"ROTARYVANE"},L.SINGLESCREW={type:3,value:"SINGLESCREW"},L.TWINSCREW={type:3,value:"TWINSCREW"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=L;class U{}U.AIRCOOLED={type:3,value:"AIRCOOLED"},U.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},U.WATERCOOLED={type:3,value:"WATERCOOLED"},U.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},U.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},U.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},U.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=U;class H{}H.ATPATH={type:3,value:"ATPATH"},H.ATSTART={type:3,value:"ATSTART"},H.ATEND={type:3,value:"ATEND"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=H;class G{}G.HARD={type:3,value:"HARD"},G.SOFT={type:3,value:"SOFT"},G.ADVISORY={type:3,value:"ADVISORY"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=G;class k{}k.DEMOLISHING={type:3,value:"DEMOLISHING"},k.EARTHMOVING={type:3,value:"EARTHMOVING"},k.ERECTING={type:3,value:"ERECTING"},k.HEATING={type:3,value:"HEATING"},k.LIGHTING={type:3,value:"LIGHTING"},k.PAVING={type:3,value:"PAVING"},k.PUMPING={type:3,value:"PUMPING"},k.TRANSPORTING={type:3,value:"TRANSPORTING"},k.USERDEFINED={type:3,value:"USERDEFINED"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=k;class V{}V.AGGREGATES={type:3,value:"AGGREGATES"},V.CONCRETE={type:3,value:"CONCRETE"},V.DRYWALL={type:3,value:"DRYWALL"},V.FUEL={type:3,value:"FUEL"},V.GYPSUM={type:3,value:"GYPSUM"},V.MASONRY={type:3,value:"MASONRY"},V.METAL={type:3,value:"METAL"},V.PLASTIC={type:3,value:"PLASTIC"},V.WOOD={type:3,value:"WOOD"},V.NOTDEFINED={type:3,value:"NOTDEFINED"},V.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=V;class Q{}Q.ASSEMBLY={type:3,value:"ASSEMBLY"},Q.FORMWORK={type:3,value:"FORMWORK"},Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=Q;class j{}j.FLOATING={type:3,value:"FLOATING"},j.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},j.PROPORTIONAL={type:3,value:"PROPORTIONAL"},j.MULTIPOSITION={type:3,value:"MULTIPOSITION"},j.TWOPOSITION={type:3,value:"TWOPOSITION"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=j;class W{}W.ACTIVE={type:3,value:"ACTIVE"},W.PASSIVE={type:3,value:"PASSIVE"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=W;class z{}z.NATURALDRAFT={type:3,value:"NATURALDRAFT"},z.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},z.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=z;class K{}K.USERDEFINED={type:3,value:"USERDEFINED"},K.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=K;class Y{}Y.BUDGET={type:3,value:"BUDGET"},Y.COSTPLAN={type:3,value:"COSTPLAN"},Y.ESTIMATE={type:3,value:"ESTIMATE"},Y.TENDER={type:3,value:"TENDER"},Y.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Y.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Y.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Y;class X{}X.CEILING={type:3,value:"CEILING"},X.FLOORING={type:3,value:"FLOORING"},X.CLADDING={type:3,value:"CLADDING"},X.ROOFING={type:3,value:"ROOFING"},X.MOLDING={type:3,value:"MOLDING"},X.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},X.INSULATION={type:3,value:"INSULATION"},X.MEMBRANE={type:3,value:"MEMBRANE"},X.SLEEVING={type:3,value:"SLEEVING"},X.WRAPPING={type:3,value:"WRAPPING"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=X;class Z{}Z.OFFICE={type:3,value:"OFFICE"},Z.SITE={type:3,value:"SITE"},Z.USERDEFINED={type:3,value:"USERDEFINED"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=Z;class q{}q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=q;class J{}J.LINEAR={type:3,value:"LINEAR"},J.LOG_LINEAR={type:3,value:"LOG_LINEAR"},J.LOG_LOG={type:3,value:"LOG_LOG"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=J;class ${}$.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},$.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},$.BLASTDAMPER={type:3,value:"BLASTDAMPER"},$.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},$.FIREDAMPER={type:3,value:"FIREDAMPER"},$.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},$.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},$.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},$.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},$.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},$.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=$;class ee{}ee.MEASURED={type:3,value:"MEASURED"},ee.PREDICTED={type:3,value:"PREDICTED"},ee.SIMULATED={type:3,value:"SIMULATED"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=ee;class te{}te.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},te.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},te.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},te.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},te.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},te.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},te.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},te.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},te.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},te.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},te.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},te.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},te.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},te.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},te.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},te.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},te.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},te.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},te.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},te.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},te.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},te.TORQUEUNIT={type:3,value:"TORQUEUNIT"},te.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},te.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},te.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},te.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},te.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},te.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},te.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},te.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},te.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},te.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},te.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},te.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},te.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},te.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},te.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},te.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},te.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},te.PHUNIT={type:3,value:"PHUNIT"},te.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},te.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},te.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},te.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},te.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},te.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},te.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},te.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},te.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},te.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},te.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},te.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},te.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=te;class se{}se.POSITIVE={type:3,value:"POSITIVE"},se.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=se;class ie{}ie.ANCHORPLATE={type:3,value:"ANCHORPLATE"},ie.BRACKET={type:3,value:"BRACKET"},ie.SHOE={type:3,value:"SHOE"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=ie;class re{}re.FORMEDDUCT={type:3,value:"FORMEDDUCT"},re.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},re.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},re.MANHOLE={type:3,value:"MANHOLE"},re.METERCHAMBER={type:3,value:"METERCHAMBER"},re.SUMP={type:3,value:"SUMP"},re.TRENCH={type:3,value:"TRENCH"},re.VALVECHAMBER={type:3,value:"VALVECHAMBER"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=re;class oe{}oe.CABLE={type:3,value:"CABLE"},oe.CABLECARRIER={type:3,value:"CABLECARRIER"},oe.DUCT={type:3,value:"DUCT"},oe.PIPE={type:3,value:"PIPE"},oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=oe;class ne{}ne.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},ne.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},ne.CHEMICAL={type:3,value:"CHEMICAL"},ne.CHILLEDWATER={type:3,value:"CHILLEDWATER"},ne.COMMUNICATION={type:3,value:"COMMUNICATION"},ne.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},ne.CONDENSERWATER={type:3,value:"CONDENSERWATER"},ne.CONTROL={type:3,value:"CONTROL"},ne.CONVEYING={type:3,value:"CONVEYING"},ne.DATA={type:3,value:"DATA"},ne.DISPOSAL={type:3,value:"DISPOSAL"},ne.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},ne.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},ne.DRAINAGE={type:3,value:"DRAINAGE"},ne.EARTHING={type:3,value:"EARTHING"},ne.ELECTRICAL={type:3,value:"ELECTRICAL"},ne.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},ne.EXHAUST={type:3,value:"EXHAUST"},ne.FIREPROTECTION={type:3,value:"FIREPROTECTION"},ne.FUEL={type:3,value:"FUEL"},ne.GAS={type:3,value:"GAS"},ne.HAZARDOUS={type:3,value:"HAZARDOUS"},ne.HEATING={type:3,value:"HEATING"},ne.LIGHTING={type:3,value:"LIGHTING"},ne.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},ne.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},ne.OIL={type:3,value:"OIL"},ne.OPERATIONAL={type:3,value:"OPERATIONAL"},ne.POWERGENERATION={type:3,value:"POWERGENERATION"},ne.RAINWATER={type:3,value:"RAINWATER"},ne.REFRIGERATION={type:3,value:"REFRIGERATION"},ne.SECURITY={type:3,value:"SECURITY"},ne.SEWAGE={type:3,value:"SEWAGE"},ne.SIGNAL={type:3,value:"SIGNAL"},ne.STORMWATER={type:3,value:"STORMWATER"},ne.TELEPHONE={type:3,value:"TELEPHONE"},ne.TV={type:3,value:"TV"},ne.VACUUM={type:3,value:"VACUUM"},ne.VENT={type:3,value:"VENT"},ne.VENTILATION={type:3,value:"VENTILATION"},ne.WASTEWATER={type:3,value:"WASTEWATER"},ne.WATERSUPPLY={type:3,value:"WATERSUPPLY"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=ne;class ae{}ae.PUBLIC={type:3,value:"PUBLIC"},ae.RESTRICTED={type:3,value:"RESTRICTED"},ae.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},ae.PERSONAL={type:3,value:"PERSONAL"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=ae;class le{}le.DRAFT={type:3,value:"DRAFT"},le.FINALDRAFT={type:3,value:"FINALDRAFT"},le.FINAL={type:3,value:"FINAL"},le.REVISION={type:3,value:"REVISION"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=le;class he{}he.SWINGING={type:3,value:"SWINGING"},he.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},he.SLIDING={type:3,value:"SLIDING"},he.FOLDING={type:3,value:"FOLDING"},he.REVOLVING={type:3,value:"REVOLVING"},he.ROLLINGUP={type:3,value:"ROLLINGUP"},he.FIXEDPANEL={type:3,value:"FIXEDPANEL"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=he;class ce{}ce.LEFT={type:3,value:"LEFT"},ce.MIDDLE={type:3,value:"MIDDLE"},ce.RIGHT={type:3,value:"RIGHT"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=ce;class ue{}ue.ALUMINIUM={type:3,value:"ALUMINIUM"},ue.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ue.STEEL={type:3,value:"STEEL"},ue.WOOD={type:3,value:"WOOD"},ue.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ue.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},ue.PLASTIC={type:3,value:"PLASTIC"},ue.USERDEFINED={type:3,value:"USERDEFINED"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=ue;class Ae{}Ae.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ae.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ae.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Ae.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Ae.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Ae.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ae.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ae.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Ae.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ae.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ae.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Ae.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ae.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ae.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Ae.REVOLVING={type:3,value:"REVOLVING"},Ae.ROLLINGUP={type:3,value:"ROLLINGUP"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Ae;class pe{}pe.DOOR={type:3,value:"DOOR"},pe.GATE={type:3,value:"GATE"},pe.TRAPDOOR={type:3,value:"TRAPDOOR"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=pe;class de{}de.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},de.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},de.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},de.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},de.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},de.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},de.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},de.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},de.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},de.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},de.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},de.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},de.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},de.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},de.REVOLVING={type:3,value:"REVOLVING"},de.ROLLINGUP={type:3,value:"ROLLINGUP"},de.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},de.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},de.USERDEFINED={type:3,value:"USERDEFINED"},de.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=de;class fe{}fe.BEND={type:3,value:"BEND"},fe.CONNECTOR={type:3,value:"CONNECTOR"},fe.ENTRY={type:3,value:"ENTRY"},fe.EXIT={type:3,value:"EXIT"},fe.JUNCTION={type:3,value:"JUNCTION"},fe.OBSTRUCTION={type:3,value:"OBSTRUCTION"},fe.TRANSITION={type:3,value:"TRANSITION"},fe.USERDEFINED={type:3,value:"USERDEFINED"},fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=fe;class me{}me.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},me.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=me;class Ee{}Ee.FLATOVAL={type:3,value:"FLATOVAL"},Ee.RECTANGULAR={type:3,value:"RECTANGULAR"},Ee.ROUND={type:3,value:"ROUND"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Ee;class ye{}ye.DISHWASHER={type:3,value:"DISHWASHER"},ye.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},ye.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},ye.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},ye.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},ye.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},ye.FREEZER={type:3,value:"FREEZER"},ye.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},ye.HANDDRYER={type:3,value:"HANDDRYER"},ye.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},ye.MICROWAVE={type:3,value:"MICROWAVE"},ye.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},ye.REFRIGERATOR={type:3,value:"REFRIGERATOR"},ye.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},ye.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},ye.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=ye;class ge{}ge.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},ge.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},ge.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},ge.SWITCHBOARD={type:3,value:"SWITCHBOARD"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=ge;class ve{}ve.BATTERY={type:3,value:"BATTERY"},ve.CAPACITORBANK={type:3,value:"CAPACITORBANK"},ve.HARMONICFILTER={type:3,value:"HARMONICFILTER"},ve.INDUCTORBANK={type:3,value:"INDUCTORBANK"},ve.UPS={type:3,value:"UPS"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=ve;class Ie{}Ie.CHP={type:3,value:"CHP"},Ie.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Ie.STANDALONE={type:3,value:"STANDALONE"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Ie;class Te{}Te.DC={type:3,value:"DC"},Te.INDUCTION={type:3,value:"INDUCTION"},Te.POLYPHASE={type:3,value:"POLYPHASE"},Te.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Te.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Te.USERDEFINED={type:3,value:"USERDEFINED"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Te;class _e{}_e.TIMECLOCK={type:3,value:"TIMECLOCK"},_e.TIMEDELAY={type:3,value:"TIMEDELAY"},_e.RELAY={type:3,value:"RELAY"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=_e;class Re{}Re.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Re.ARCH={type:3,value:"ARCH"},Re.BEAM_GRID={type:3,value:"BEAM_GRID"},Re.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Re.GIRDER={type:3,value:"GIRDER"},Re.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Re.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Re.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Re.TRUSS={type:3,value:"TRUSS"},Re.USERDEFINED={type:3,value:"USERDEFINED"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Re;class Pe{}Pe.COMPLEX={type:3,value:"COMPLEX"},Pe.ELEMENT={type:3,value:"ELEMENT"},Pe.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Pe;class De{}De.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},De.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=De;class Ne{}Ne.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Ne.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Ne.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Ne.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Ne.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Ne.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Ne.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Ne.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Ne.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Ne;class Ce{}Ce.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ce.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ce.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ce.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ce.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ce.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Ce;class be{}be.EVENTRULE={type:3,value:"EVENTRULE"},be.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},be.EVENTTIME={type:3,value:"EVENTTIME"},be.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=be;class Oe{}Oe.STARTEVENT={type:3,value:"STARTEVENT"},Oe.ENDEVENT={type:3,value:"ENDEVENT"},Oe.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=Oe;class Se{}Se.EXTERNAL={type:3,value:"EXTERNAL"},Se.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Se.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Se.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=Se;class xe{}xe.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},xe.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},xe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},xe.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},xe.TUBEAXIAL={type:3,value:"TUBEAXIAL"},xe.VANEAXIAL={type:3,value:"VANEAXIAL"},xe.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=xe;class we{}we.GLUE={type:3,value:"GLUE"},we.MORTAR={type:3,value:"MORTAR"},we.WELD={type:3,value:"WELD"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=we;class Be{}Be.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Be.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Be.ODORFILTER={type:3,value:"ODORFILTER"},Be.OILFILTER={type:3,value:"OILFILTER"},Be.STRAINER={type:3,value:"STRAINER"},Be.WATERFILTER={type:3,value:"WATERFILTER"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Be;class Fe{}Fe.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Fe.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Fe.HOSEREEL={type:3,value:"HOSEREEL"},Fe.SPRINKLER={type:3,value:"SPRINKLER"},Fe.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=Fe;class Me{}Me.SOURCE={type:3,value:"SOURCE"},Me.SINK={type:3,value:"SINK"},Me.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Me;class Le{}Le.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Le.THERMOMETER={type:3,value:"THERMOMETER"},Le.AMMETER={type:3,value:"AMMETER"},Le.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Le.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Le.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Le.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Le.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=Le;class Ue{}Ue.ENERGYMETER={type:3,value:"ENERGYMETER"},Ue.GASMETER={type:3,value:"GASMETER"},Ue.OILMETER={type:3,value:"OILMETER"},Ue.WATERMETER={type:3,value:"WATERMETER"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Ue;class He{}He.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},He.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},He.PAD_FOOTING={type:3,value:"PAD_FOOTING"},He.PILE_CAP={type:3,value:"PILE_CAP"},He.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=He;class Ge{}Ge.CHAIR={type:3,value:"CHAIR"},Ge.TABLE={type:3,value:"TABLE"},Ge.DESK={type:3,value:"DESK"},Ge.BED={type:3,value:"BED"},Ge.FILECABINET={type:3,value:"FILECABINET"},Ge.SHELF={type:3,value:"SHELF"},Ge.SOFA={type:3,value:"SOFA"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Ge;class ke{}ke.TERRAIN={type:3,value:"TERRAIN"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=ke;class Ve{}Ve.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Ve.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Ve.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Ve.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Ve.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Ve.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Ve.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Ve.USERDEFINED={type:3,value:"USERDEFINED"},Ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Ve;class Qe{}Qe.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Qe.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Qe;class je{}je.RECTANGULAR={type:3,value:"RECTANGULAR"},je.RADIAL={type:3,value:"RADIAL"},je.TRIANGULAR={type:3,value:"TRIANGULAR"},je.IRREGULAR={type:3,value:"IRREGULAR"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=je;class We{}We.PLATE={type:3,value:"PLATE"},We.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=We;class ze{}ze.STEAMINJECTION={type:3,value:"STEAMINJECTION"},ze.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},ze.ADIABATICPAN={type:3,value:"ADIABATICPAN"},ze.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},ze.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},ze.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},ze.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},ze.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},ze.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},ze.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},ze.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},ze.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},ze.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=ze;class Ke{}Ke.CYCLONIC={type:3,value:"CYCLONIC"},Ke.GREASE={type:3,value:"GREASE"},Ke.OIL={type:3,value:"OIL"},Ke.PETROL={type:3,value:"PETROL"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Ke;class Ye{}Ye.INTERNAL={type:3,value:"INTERNAL"},Ye.EXTERNAL={type:3,value:"EXTERNAL"},Ye.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ye.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ye.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Ye;class Xe{}Xe.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Xe.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Xe.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Xe;class Ze{}Ze.DATA={type:3,value:"DATA"},Ze.POWER={type:3,value:"POWER"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Ze;class qe{}qe.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},qe.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},qe.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},qe.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=qe;class Je{}Je.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Je.CARPENTRY={type:3,value:"CARPENTRY"},Je.CLEANING={type:3,value:"CLEANING"},Je.CONCRETE={type:3,value:"CONCRETE"},Je.DRYWALL={type:3,value:"DRYWALL"},Je.ELECTRIC={type:3,value:"ELECTRIC"},Je.FINISHING={type:3,value:"FINISHING"},Je.FLOORING={type:3,value:"FLOORING"},Je.GENERAL={type:3,value:"GENERAL"},Je.HVAC={type:3,value:"HVAC"},Je.LANDSCAPING={type:3,value:"LANDSCAPING"},Je.MASONRY={type:3,value:"MASONRY"},Je.PAINTING={type:3,value:"PAINTING"},Je.PAVING={type:3,value:"PAVING"},Je.PLUMBING={type:3,value:"PLUMBING"},Je.ROOFING={type:3,value:"ROOFING"},Je.SITEGRADING={type:3,value:"SITEGRADING"},Je.STEELWORK={type:3,value:"STEELWORK"},Je.SURVEYING={type:3,value:"SURVEYING"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Je;class $e{}$e.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},$e.FLUORESCENT={type:3,value:"FLUORESCENT"},$e.HALOGEN={type:3,value:"HALOGEN"},$e.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},$e.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},$e.LED={type:3,value:"LED"},$e.METALHALIDE={type:3,value:"METALHALIDE"},$e.OLED={type:3,value:"OLED"},$e.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=$e;class et{}et.AXIS1={type:3,value:"AXIS1"},et.AXIS2={type:3,value:"AXIS2"},et.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=et;class tt{}tt.TYPE_A={type:3,value:"TYPE_A"},tt.TYPE_B={type:3,value:"TYPE_B"},tt.TYPE_C={type:3,value:"TYPE_C"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=tt;class st{}st.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},st.FLUORESCENT={type:3,value:"FLUORESCENT"},st.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},st.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},st.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},st.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},st.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},st.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},st.METALHALIDE={type:3,value:"METALHALIDE"},st.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=st;class it{}it.POINTSOURCE={type:3,value:"POINTSOURCE"},it.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},it.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=it;class rt{}rt.LOAD_GROUP={type:3,value:"LOAD_GROUP"},rt.LOAD_CASE={type:3,value:"LOAD_CASE"},rt.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=rt;class ot{}ot.LOGICALAND={type:3,value:"LOGICALAND"},ot.LOGICALOR={type:3,value:"LOGICALOR"},ot.LOGICALXOR={type:3,value:"LOGICALXOR"},ot.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},ot.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=ot;class nt{}nt.ANCHORBOLT={type:3,value:"ANCHORBOLT"},nt.BOLT={type:3,value:"BOLT"},nt.DOWEL={type:3,value:"DOWEL"},nt.NAIL={type:3,value:"NAIL"},nt.NAILPLATE={type:3,value:"NAILPLATE"},nt.RIVET={type:3,value:"RIVET"},nt.SCREW={type:3,value:"SCREW"},nt.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},nt.STAPLE={type:3,value:"STAPLE"},nt.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=nt;class at{}at.AIRSTATION={type:3,value:"AIRSTATION"},at.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},at.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},at.OXYGENPLANT={type:3,value:"OXYGENPLANT"},at.VACUUMSTATION={type:3,value:"VACUUMSTATION"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=at;class lt{}lt.BRACE={type:3,value:"BRACE"},lt.CHORD={type:3,value:"CHORD"},lt.COLLAR={type:3,value:"COLLAR"},lt.MEMBER={type:3,value:"MEMBER"},lt.MULLION={type:3,value:"MULLION"},lt.PLATE={type:3,value:"PLATE"},lt.POST={type:3,value:"POST"},lt.PURLIN={type:3,value:"PURLIN"},lt.RAFTER={type:3,value:"RAFTER"},lt.STRINGER={type:3,value:"STRINGER"},lt.STRUT={type:3,value:"STRUT"},lt.STUD={type:3,value:"STUD"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=lt;class ht{}ht.BELTDRIVE={type:3,value:"BELTDRIVE"},ht.COUPLING={type:3,value:"COUPLING"},ht.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=ht;class ct{}ct.NULL={type:3,value:"NULL"},e.IfcNullStyle=ct;class ut{}ut.PRODUCT={type:3,value:"PRODUCT"},ut.PROCESS={type:3,value:"PROCESS"},ut.CONTROL={type:3,value:"CONTROL"},ut.RESOURCE={type:3,value:"RESOURCE"},ut.ACTOR={type:3,value:"ACTOR"},ut.GROUP={type:3,value:"GROUP"},ut.PROJECT={type:3,value:"PROJECT"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=ut;class At{}At.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},At.CODEWAIVER={type:3,value:"CODEWAIVER"},At.DESIGNINTENT={type:3,value:"DESIGNINTENT"},At.EXTERNAL={type:3,value:"EXTERNAL"},At.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},At.MERGECONFLICT={type:3,value:"MERGECONFLICT"},At.MODELVIEW={type:3,value:"MODELVIEW"},At.PARAMETER={type:3,value:"PARAMETER"},At.REQUIREMENT={type:3,value:"REQUIREMENT"},At.SPECIFICATION={type:3,value:"SPECIFICATION"},At.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=At;class pt{}pt.ASSIGNEE={type:3,value:"ASSIGNEE"},pt.ASSIGNOR={type:3,value:"ASSIGNOR"},pt.LESSEE={type:3,value:"LESSEE"},pt.LESSOR={type:3,value:"LESSOR"},pt.LETTINGAGENT={type:3,value:"LETTINGAGENT"},pt.OWNER={type:3,value:"OWNER"},pt.TENANT={type:3,value:"TENANT"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=pt;class dt{}dt.OPENING={type:3,value:"OPENING"},dt.RECESS={type:3,value:"RECESS"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=dt;class ft{}ft.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},ft.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},ft.POWEROUTLET={type:3,value:"POWEROUTLET"},ft.DATAOUTLET={type:3,value:"DATAOUTLET"},ft.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},ft.USERDEFINED={type:3,value:"USERDEFINED"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=ft;class mt{}mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=mt;class Et{}Et.GRILL={type:3,value:"GRILL"},Et.LOUVER={type:3,value:"LOUVER"},Et.SCREEN={type:3,value:"SCREEN"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Et;class yt{}yt.ACCESS={type:3,value:"ACCESS"},yt.BUILDING={type:3,value:"BUILDING"},yt.WORK={type:3,value:"WORK"},yt.USERDEFINED={type:3,value:"USERDEFINED"},yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=yt;class gt{}gt.PHYSICAL={type:3,value:"PHYSICAL"},gt.VIRTUAL={type:3,value:"VIRTUAL"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=gt;class vt{}vt.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},vt.COMPOSITE={type:3,value:"COMPOSITE"},vt.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},vt.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=vt;class It{}It.BORED={type:3,value:"BORED"},It.DRIVEN={type:3,value:"DRIVEN"},It.JETGROUTING={type:3,value:"JETGROUTING"},It.COHESION={type:3,value:"COHESION"},It.FRICTION={type:3,value:"FRICTION"},It.SUPPORT={type:3,value:"SUPPORT"},It.USERDEFINED={type:3,value:"USERDEFINED"},It.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=It;class Tt{}Tt.BEND={type:3,value:"BEND"},Tt.CONNECTOR={type:3,value:"CONNECTOR"},Tt.ENTRY={type:3,value:"ENTRY"},Tt.EXIT={type:3,value:"EXIT"},Tt.JUNCTION={type:3,value:"JUNCTION"},Tt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Tt.TRANSITION={type:3,value:"TRANSITION"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Tt;class _t{}_t.CULVERT={type:3,value:"CULVERT"},_t.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},_t.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},_t.GUTTER={type:3,value:"GUTTER"},_t.SPOOL={type:3,value:"SPOOL"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=_t;class Rt{}Rt.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Rt.SHEET={type:3,value:"SHEET"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Rt;class Pt{}Pt.CURVE3D={type:3,value:"CURVE3D"},Pt.PCURVE_S1={type:3,value:"PCURVE_S1"},Pt.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Pt;class Dt{}Dt.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Dt.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Dt.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Dt.CALIBRATION={type:3,value:"CALIBRATION"},Dt.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Dt.SHUTDOWN={type:3,value:"SHUTDOWN"},Dt.STARTUP={type:3,value:"STARTUP"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Dt;class Nt{}Nt.CURVE={type:3,value:"CURVE"},Nt.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=Nt;class Ct{}Ct.CHANGEORDER={type:3,value:"CHANGEORDER"},Ct.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ct.MOVEORDER={type:3,value:"MOVEORDER"},Ct.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ct.WORKORDER={type:3,value:"WORKORDER"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ct;class bt{}bt.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},bt.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=bt;class Ot{}Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=Ot;class St{}St.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},St.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},St.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},St.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},St.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},St.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},St.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=St;class xt{}xt.ELECTRONIC={type:3,value:"ELECTRONIC"},xt.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},xt.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},xt.THERMAL={type:3,value:"THERMAL"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=xt;class wt{}wt.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},wt.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},wt.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},wt.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},wt.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},wt.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},wt.VARISTOR={type:3,value:"VARISTOR"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=wt;class Bt{}Bt.CIRCULATOR={type:3,value:"CIRCULATOR"},Bt.ENDSUCTION={type:3,value:"ENDSUCTION"},Bt.SPLITCASE={type:3,value:"SPLITCASE"},Bt.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Bt.SUMPPUMP={type:3,value:"SUMPPUMP"},Bt.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Bt.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=Bt;class Ft{}Ft.HANDRAIL={type:3,value:"HANDRAIL"},Ft.GUARDRAIL={type:3,value:"GUARDRAIL"},Ft.BALUSTRADE={type:3,value:"BALUSTRADE"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Ft;class Mt{}Mt.STRAIGHT={type:3,value:"STRAIGHT"},Mt.SPIRAL={type:3,value:"SPIRAL"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Mt;class Lt{}Lt.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Lt.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Lt.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Lt.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Lt.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Lt.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Lt;class Ut{}Ut.DAILY={type:3,value:"DAILY"},Ut.WEEKLY={type:3,value:"WEEKLY"},Ut.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Ut.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Ut.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Ut.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Ut.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Ut.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Ut;class Ht{}Ht.BLINN={type:3,value:"BLINN"},Ht.FLAT={type:3,value:"FLAT"},Ht.GLASS={type:3,value:"GLASS"},Ht.MATT={type:3,value:"MATT"},Ht.METAL={type:3,value:"METAL"},Ht.MIRROR={type:3,value:"MIRROR"},Ht.PHONG={type:3,value:"PHONG"},Ht.PLASTIC={type:3,value:"PLASTIC"},Ht.STRAUSS={type:3,value:"STRAUSS"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=Ht;class Gt{}Gt.MAIN={type:3,value:"MAIN"},Gt.SHEAR={type:3,value:"SHEAR"},Gt.LIGATURE={type:3,value:"LIGATURE"},Gt.STUD={type:3,value:"STUD"},Gt.PUNCHING={type:3,value:"PUNCHING"},Gt.EDGE={type:3,value:"EDGE"},Gt.RING={type:3,value:"RING"},Gt.ANCHORING={type:3,value:"ANCHORING"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Gt;class kt{}kt.PLAIN={type:3,value:"PLAIN"},kt.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=kt;class Vt{}Vt.ANCHORING={type:3,value:"ANCHORING"},Vt.EDGE={type:3,value:"EDGE"},Vt.LIGATURE={type:3,value:"LIGATURE"},Vt.MAIN={type:3,value:"MAIN"},Vt.PUNCHING={type:3,value:"PUNCHING"},Vt.RING={type:3,value:"RING"},Vt.SHEAR={type:3,value:"SHEAR"},Vt.STUD={type:3,value:"STUD"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=Vt;class Qt{}Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Qt;class jt{}jt.SUPPLIER={type:3,value:"SUPPLIER"},jt.MANUFACTURER={type:3,value:"MANUFACTURER"},jt.CONTRACTOR={type:3,value:"CONTRACTOR"},jt.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},jt.ARCHITECT={type:3,value:"ARCHITECT"},jt.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},jt.COSTENGINEER={type:3,value:"COSTENGINEER"},jt.CLIENT={type:3,value:"CLIENT"},jt.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},jt.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},jt.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},jt.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},jt.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},jt.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},jt.CIVILENGINEER={type:3,value:"CIVILENGINEER"},jt.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},jt.ENGINEER={type:3,value:"ENGINEER"},jt.OWNER={type:3,value:"OWNER"},jt.CONSULTANT={type:3,value:"CONSULTANT"},jt.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},jt.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},jt.RESELLER={type:3,value:"RESELLER"},jt.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=jt;class Wt{}Wt.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Wt.SHED_ROOF={type:3,value:"SHED_ROOF"},Wt.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Wt.HIP_ROOF={type:3,value:"HIP_ROOF"},Wt.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Wt.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Wt.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Wt.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Wt.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Wt.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Wt.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Wt.DOME_ROOF={type:3,value:"DOME_ROOF"},Wt.FREEFORM={type:3,value:"FREEFORM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Wt;class zt{}zt.EXA={type:3,value:"EXA"},zt.PETA={type:3,value:"PETA"},zt.TERA={type:3,value:"TERA"},zt.GIGA={type:3,value:"GIGA"},zt.MEGA={type:3,value:"MEGA"},zt.KILO={type:3,value:"KILO"},zt.HECTO={type:3,value:"HECTO"},zt.DECA={type:3,value:"DECA"},zt.DECI={type:3,value:"DECI"},zt.CENTI={type:3,value:"CENTI"},zt.MILLI={type:3,value:"MILLI"},zt.MICRO={type:3,value:"MICRO"},zt.NANO={type:3,value:"NANO"},zt.PICO={type:3,value:"PICO"},zt.FEMTO={type:3,value:"FEMTO"},zt.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=zt;class Kt{}Kt.AMPERE={type:3,value:"AMPERE"},Kt.BECQUEREL={type:3,value:"BECQUEREL"},Kt.CANDELA={type:3,value:"CANDELA"},Kt.COULOMB={type:3,value:"COULOMB"},Kt.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Kt.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Kt.FARAD={type:3,value:"FARAD"},Kt.GRAM={type:3,value:"GRAM"},Kt.GRAY={type:3,value:"GRAY"},Kt.HENRY={type:3,value:"HENRY"},Kt.HERTZ={type:3,value:"HERTZ"},Kt.JOULE={type:3,value:"JOULE"},Kt.KELVIN={type:3,value:"KELVIN"},Kt.LUMEN={type:3,value:"LUMEN"},Kt.LUX={type:3,value:"LUX"},Kt.METRE={type:3,value:"METRE"},Kt.MOLE={type:3,value:"MOLE"},Kt.NEWTON={type:3,value:"NEWTON"},Kt.OHM={type:3,value:"OHM"},Kt.PASCAL={type:3,value:"PASCAL"},Kt.RADIAN={type:3,value:"RADIAN"},Kt.SECOND={type:3,value:"SECOND"},Kt.SIEMENS={type:3,value:"SIEMENS"},Kt.SIEVERT={type:3,value:"SIEVERT"},Kt.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Kt.STERADIAN={type:3,value:"STERADIAN"},Kt.TESLA={type:3,value:"TESLA"},Kt.VOLT={type:3,value:"VOLT"},Kt.WATT={type:3,value:"WATT"},Kt.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Kt;class Yt{}Yt.BATH={type:3,value:"BATH"},Yt.BIDET={type:3,value:"BIDET"},Yt.CISTERN={type:3,value:"CISTERN"},Yt.SHOWER={type:3,value:"SHOWER"},Yt.SINK={type:3,value:"SINK"},Yt.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Yt.TOILETPAN={type:3,value:"TOILETPAN"},Yt.URINAL={type:3,value:"URINAL"},Yt.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Yt.WCSEAT={type:3,value:"WCSEAT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=Yt;class Xt{}Xt.UNIFORM={type:3,value:"UNIFORM"},Xt.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Xt;class Zt{}Zt.COSENSOR={type:3,value:"COSENSOR"},Zt.CO2SENSOR={type:3,value:"CO2SENSOR"},Zt.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Zt.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Zt.FIRESENSOR={type:3,value:"FIRESENSOR"},Zt.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Zt.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Zt.GASSENSOR={type:3,value:"GASSENSOR"},Zt.HEATSENSOR={type:3,value:"HEATSENSOR"},Zt.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Zt.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Zt.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Zt.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Zt.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Zt.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Zt.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Zt.PHSENSOR={type:3,value:"PHSENSOR"},Zt.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Zt.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Zt.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Zt.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Zt.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Zt.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Zt.WINDSENSOR={type:3,value:"WINDSENSOR"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Zt;class qt{}qt.START_START={type:3,value:"START_START"},qt.START_FINISH={type:3,value:"START_FINISH"},qt.FINISH_START={type:3,value:"FINISH_START"},qt.FINISH_FINISH={type:3,value:"FINISH_FINISH"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=qt;class Jt{}Jt.JALOUSIE={type:3,value:"JALOUSIE"},Jt.SHUTTER={type:3,value:"SHUTTER"},Jt.AWNING={type:3,value:"AWNING"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=Jt;class $t{}$t.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},$t.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},$t.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},$t.P_LISTVALUE={type:3,value:"P_LISTVALUE"},$t.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},$t.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},$t.Q_LENGTH={type:3,value:"Q_LENGTH"},$t.Q_AREA={type:3,value:"Q_AREA"},$t.Q_VOLUME={type:3,value:"Q_VOLUME"},$t.Q_COUNT={type:3,value:"Q_COUNT"},$t.Q_WEIGHT={type:3,value:"Q_WEIGHT"},$t.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=$t;class es{}es.FLOOR={type:3,value:"FLOOR"},es.ROOF={type:3,value:"ROOF"},es.LANDING={type:3,value:"LANDING"},es.BASESLAB={type:3,value:"BASESLAB"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=es;class ts{}ts.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ts.SOLARPANEL={type:3,value:"SOLARPANEL"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=ts;class ss{}ss.CONVECTOR={type:3,value:"CONVECTOR"},ss.RADIATOR={type:3,value:"RADIATOR"},ss.USERDEFINED={type:3,value:"USERDEFINED"},ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=ss;class is{}is.SPACE={type:3,value:"SPACE"},is.PARKING={type:3,value:"PARKING"},is.GFA={type:3,value:"GFA"},is.INTERNAL={type:3,value:"INTERNAL"},is.EXTERNAL={type:3,value:"EXTERNAL"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=is;class rs{}rs.CONSTRUCTION={type:3,value:"CONSTRUCTION"},rs.FIRESAFETY={type:3,value:"FIRESAFETY"},rs.LIGHTING={type:3,value:"LIGHTING"},rs.OCCUPANCY={type:3,value:"OCCUPANCY"},rs.SECURITY={type:3,value:"SECURITY"},rs.THERMAL={type:3,value:"THERMAL"},rs.TRANSPORT={type:3,value:"TRANSPORT"},rs.VENTILATION={type:3,value:"VENTILATION"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=rs;class os{}os.BIRDCAGE={type:3,value:"BIRDCAGE"},os.COWL={type:3,value:"COWL"},os.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=os;class ns{}ns.STRAIGHT={type:3,value:"STRAIGHT"},ns.WINDER={type:3,value:"WINDER"},ns.SPIRAL={type:3,value:"SPIRAL"},ns.CURVED={type:3,value:"CURVED"},ns.FREEFORM={type:3,value:"FREEFORM"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=ns;class as{}as.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},as.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},as.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},as.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},as.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},as.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},as.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},as.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},as.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},as.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},as.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},as.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},as.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},as.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=as;class ls{}ls.READWRITE={type:3,value:"READWRITE"},ls.READONLY={type:3,value:"READONLY"},ls.LOCKED={type:3,value:"LOCKED"},ls.READWRITELOCKED={type:3,value:"READWRITELOCKED"},ls.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=ls;class hs{}hs.CONST={type:3,value:"CONST"},hs.LINEAR={type:3,value:"LINEAR"},hs.POLYGONAL={type:3,value:"POLYGONAL"},hs.EQUIDISTANT={type:3,value:"EQUIDISTANT"},hs.SINUS={type:3,value:"SINUS"},hs.PARABOLA={type:3,value:"PARABOLA"},hs.DISCRETE={type:3,value:"DISCRETE"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=hs;class cs{}cs.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},cs.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},cs.CABLE={type:3,value:"CABLE"},cs.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},cs.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=cs;class us{}us.CONST={type:3,value:"CONST"},us.BILINEAR={type:3,value:"BILINEAR"},us.DISCRETE={type:3,value:"DISCRETE"},us.ISOCONTOUR={type:3,value:"ISOCONTOUR"},us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=us;class As{}As.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},As.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},As.SHELL={type:3,value:"SHELL"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=As;class ps{}ps.PURCHASE={type:3,value:"PURCHASE"},ps.WORK={type:3,value:"WORK"},ps.USERDEFINED={type:3,value:"USERDEFINED"},ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=ps;class ds{}ds.MARK={type:3,value:"MARK"},ds.TAG={type:3,value:"TAG"},ds.TREATMENT={type:3,value:"TREATMENT"},ds.USERDEFINED={type:3,value:"USERDEFINED"},ds.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=ds;class fs{}fs.POSITIVE={type:3,value:"POSITIVE"},fs.NEGATIVE={type:3,value:"NEGATIVE"},fs.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=fs;class ms{}ms.CONTACTOR={type:3,value:"CONTACTOR"},ms.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ms.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ms.KEYPAD={type:3,value:"KEYPAD"},ms.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ms.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ms.STARTER={type:3,value:"STARTER"},ms.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ms.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ms.USERDEFINED={type:3,value:"USERDEFINED"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ms;class Es{}Es.PANEL={type:3,value:"PANEL"},Es.WORKSURFACE={type:3,value:"WORKSURFACE"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Es;class ys{}ys.BASIN={type:3,value:"BASIN"},ys.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},ys.EXPANSION={type:3,value:"EXPANSION"},ys.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},ys.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},ys.STORAGE={type:3,value:"STORAGE"},ys.VESSEL={type:3,value:"VESSEL"},ys.USERDEFINED={type:3,value:"USERDEFINED"},ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=ys;class gs{}gs.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},gs.WORKTIME={type:3,value:"WORKTIME"},gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=gs;class vs{}vs.ATTENDANCE={type:3,value:"ATTENDANCE"},vs.CONSTRUCTION={type:3,value:"CONSTRUCTION"},vs.DEMOLITION={type:3,value:"DEMOLITION"},vs.DISMANTLE={type:3,value:"DISMANTLE"},vs.DISPOSAL={type:3,value:"DISPOSAL"},vs.INSTALLATION={type:3,value:"INSTALLATION"},vs.LOGISTIC={type:3,value:"LOGISTIC"},vs.MAINTENANCE={type:3,value:"MAINTENANCE"},vs.MOVE={type:3,value:"MOVE"},vs.OPERATION={type:3,value:"OPERATION"},vs.REMOVAL={type:3,value:"REMOVAL"},vs.RENOVATION={type:3,value:"RENOVATION"},vs.USERDEFINED={type:3,value:"USERDEFINED"},vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=vs;class Is{}Is.COUPLER={type:3,value:"COUPLER"},Is.FIXED_END={type:3,value:"FIXED_END"},Is.TENSIONING_END={type:3,value:"TENSIONING_END"},Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=Is;class Ts{}Ts.BAR={type:3,value:"BAR"},Ts.COATED={type:3,value:"COATED"},Ts.STRAND={type:3,value:"STRAND"},Ts.WIRE={type:3,value:"WIRE"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Ts;class _s{}_s.LEFT={type:3,value:"LEFT"},_s.RIGHT={type:3,value:"RIGHT"},_s.UP={type:3,value:"UP"},_s.DOWN={type:3,value:"DOWN"},e.IfcTextPath=_s;class Rs{}Rs.CONTINUOUS={type:3,value:"CONTINUOUS"},Rs.DISCRETE={type:3,value:"DISCRETE"},Rs.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Rs.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Rs.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Rs.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Rs;class Ps{}Ps.CURRENT={type:3,value:"CURRENT"},Ps.FREQUENCY={type:3,value:"FREQUENCY"},Ps.INVERTER={type:3,value:"INVERTER"},Ps.RECTIFIER={type:3,value:"RECTIFIER"},Ps.VOLTAGE={type:3,value:"VOLTAGE"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ps;class Ds{}Ds.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Ds.CONTINUOUS={type:3,value:"CONTINUOUS"},Ds.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Ds.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Ds;class Ns{}Ns.ELEVATOR={type:3,value:"ELEVATOR"},Ns.ESCALATOR={type:3,value:"ESCALATOR"},Ns.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Ns.CRANEWAY={type:3,value:"CRANEWAY"},Ns.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Ns.USERDEFINED={type:3,value:"USERDEFINED"},Ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=Ns;class Cs{}Cs.CARTESIAN={type:3,value:"CARTESIAN"},Cs.PARAMETER={type:3,value:"PARAMETER"},Cs.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Cs;class bs{}bs.FINNED={type:3,value:"FINNED"},bs.USERDEFINED={type:3,value:"USERDEFINED"},bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=bs;class Os{}Os.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Os.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Os.AREAUNIT={type:3,value:"AREAUNIT"},Os.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Os.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Os.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Os.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Os.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Os.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Os.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Os.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Os.FORCEUNIT={type:3,value:"FORCEUNIT"},Os.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Os.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Os.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Os.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Os.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Os.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Os.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Os.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Os.MASSUNIT={type:3,value:"MASSUNIT"},Os.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Os.POWERUNIT={type:3,value:"POWERUNIT"},Os.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Os.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Os.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Os.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Os.TIMEUNIT={type:3,value:"TIMEUNIT"},Os.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Os.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Os;class Ss{}Ss.ALARMPANEL={type:3,value:"ALARMPANEL"},Ss.CONTROLPANEL={type:3,value:"CONTROLPANEL"},Ss.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},Ss.INDICATORPANEL={type:3,value:"INDICATORPANEL"},Ss.MIMICPANEL={type:3,value:"MIMICPANEL"},Ss.HUMIDISTAT={type:3,value:"HUMIDISTAT"},Ss.THERMOSTAT={type:3,value:"THERMOSTAT"},Ss.WEATHERSTATION={type:3,value:"WEATHERSTATION"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=Ss;class xs{}xs.AIRHANDLER={type:3,value:"AIRHANDLER"},xs.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},xs.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},xs.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},xs.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=xs;class ws{}ws.AIRRELEASE={type:3,value:"AIRRELEASE"},ws.ANTIVACUUM={type:3,value:"ANTIVACUUM"},ws.CHANGEOVER={type:3,value:"CHANGEOVER"},ws.CHECK={type:3,value:"CHECK"},ws.COMMISSIONING={type:3,value:"COMMISSIONING"},ws.DIVERTING={type:3,value:"DIVERTING"},ws.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},ws.DOUBLECHECK={type:3,value:"DOUBLECHECK"},ws.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},ws.FAUCET={type:3,value:"FAUCET"},ws.FLUSHING={type:3,value:"FLUSHING"},ws.GASCOCK={type:3,value:"GASCOCK"},ws.GASTAP={type:3,value:"GASTAP"},ws.ISOLATING={type:3,value:"ISOLATING"},ws.MIXING={type:3,value:"MIXING"},ws.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},ws.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},ws.REGULATING={type:3,value:"REGULATING"},ws.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},ws.STEAMTRAP={type:3,value:"STEAMTRAP"},ws.STOPCOCK={type:3,value:"STOPCOCK"},ws.USERDEFINED={type:3,value:"USERDEFINED"},ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=ws;class Bs{}Bs.COMPRESSION={type:3,value:"COMPRESSION"},Bs.SPRING={type:3,value:"SPRING"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=Bs;class Fs{}Fs.CUTOUT={type:3,value:"CUTOUT"},Fs.NOTCH={type:3,value:"NOTCH"},Fs.HOLE={type:3,value:"HOLE"},Fs.MITER={type:3,value:"MITER"},Fs.CHAMFER={type:3,value:"CHAMFER"},Fs.EDGE={type:3,value:"EDGE"},Fs.USERDEFINED={type:3,value:"USERDEFINED"},Fs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Fs;class Ms{}Ms.MOVABLE={type:3,value:"MOVABLE"},Ms.PARAPET={type:3,value:"PARAPET"},Ms.PARTITIONING={type:3,value:"PARTITIONING"},Ms.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Ms.SHEAR={type:3,value:"SHEAR"},Ms.SOLIDWALL={type:3,value:"SOLIDWALL"},Ms.STANDARD={type:3,value:"STANDARD"},Ms.POLYGONAL={type:3,value:"POLYGONAL"},Ms.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Ms;class Ls{}Ls.FLOORTRAP={type:3,value:"FLOORTRAP"},Ls.FLOORWASTE={type:3,value:"FLOORWASTE"},Ls.GULLYSUMP={type:3,value:"GULLYSUMP"},Ls.GULLYTRAP={type:3,value:"GULLYTRAP"},Ls.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ls.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ls.WASTETRAP={type:3,value:"WASTETRAP"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Ls;class Us{}Us.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Us.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Us.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Us.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Us.TOPHUNG={type:3,value:"TOPHUNG"},Us.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Us.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Us.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Us.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Us.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Us.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Us.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Us.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Us;class Hs{}Hs.LEFT={type:3,value:"LEFT"},Hs.MIDDLE={type:3,value:"MIDDLE"},Hs.RIGHT={type:3,value:"RIGHT"},Hs.BOTTOM={type:3,value:"BOTTOM"},Hs.TOP={type:3,value:"TOP"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Hs;class Gs{}Gs.ALUMINIUM={type:3,value:"ALUMINIUM"},Gs.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Gs.STEEL={type:3,value:"STEEL"},Gs.WOOD={type:3,value:"WOOD"},Gs.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Gs.PLASTIC={type:3,value:"PLASTIC"},Gs.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=Gs;class ks{}ks.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ks.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ks.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ks.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ks.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ks.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ks.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ks.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ks.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=ks;class Vs{}Vs.WINDOW={type:3,value:"WINDOW"},Vs.SKYLIGHT={type:3,value:"SKYLIGHT"},Vs.LIGHTDOME={type:3,value:"LIGHTDOME"},Vs.USERDEFINED={type:3,value:"USERDEFINED"},Vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=Vs;class Qs{}Qs.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Qs.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Qs.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Qs.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Qs.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Qs.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Qs.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Qs.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Qs.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=Qs;class js{}js.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},js.SECONDSHIFT={type:3,value:"SECONDSHIFT"},js.THIRDSHIFT={type:3,value:"THIRDSHIFT"},js.USERDEFINED={type:3,value:"USERDEFINED"},js.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=js;class Ws{}Ws.ACTUAL={type:3,value:"ACTUAL"},Ws.BASELINE={type:3,value:"BASELINE"},Ws.PLANNED={type:3,value:"PLANNED"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ws;class zs{}zs.ACTUAL={type:3,value:"ACTUAL"},zs.BASELINE={type:3,value:"BASELINE"},zs.PLANNED={type:3,value:"PLANNED"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=zs;e.IfcActorRole=class extends gg{constructor(e,t,s,i){super(e),this.Role=t,this.UserDefinedRole=s,this.Description=i,this.type=3630933823}};class Ks extends gg{constructor(e,t,s,i){super(e),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.type=618182010}}e.IfcAddress=Ks;e.IfcApplication=class extends gg{constructor(e,t,s,i,r){super(e),this.ApplicationDeveloper=t,this.Version=s,this.ApplicationFullName=i,this.ApplicationIdentifier=r,this.type=639542469}};class Ys extends gg{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}e.IfcAppliedValue=Ys;e.IfcApproval=class extends gg{constructor(e,t,s,i,r,o,n,a,l,h){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.TimeOfApproval=r,this.Status=o,this.Level=n,this.Qualifier=a,this.RequestingApproval=l,this.GivingApproval=h,this.type=130549933}};class Xs extends gg{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Xs;e.IfcBoundaryEdgeCondition=class extends Xs{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=s,this.TranslationalStiffnessByLengthY=i,this.TranslationalStiffnessByLengthZ=r,this.RotationalStiffnessByLengthX=o,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};e.IfcBoundaryFaceCondition=class extends Xs{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=s,this.TranslationalStiffnessByAreaY=i,this.TranslationalStiffnessByAreaZ=r,this.type=3367102660}};class Zs extends Xs{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}e.IfcBoundaryNodeCondition=Zs;e.IfcBoundaryNodeConditionWarping=class extends Zs{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=l,this.type=2069777674}};class qs extends gg{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=qs;class Js extends qs{constructor(e,t,s){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.type=2614616156}}e.IfcConnectionPointGeometry=Js;e.IfcConnectionSurfaceGeometry=class extends qs{constructor(e,t,s){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=s,this.type=2732653382}};e.IfcConnectionVolumeGeometry=class extends qs{constructor(e,t,s){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=s,this.type=775493141}};class $s extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}e.IfcConstraint=$s;class ei extends gg{constructor(e,t,s){super(e),this.SourceCRS=t,this.TargetCRS=s,this.type=1785450214}}e.IfcCoordinateOperation=ei;class ti extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.type=1466758467}}e.IfcCoordinateReferenceSystem=ti;e.IfcCostValue=class extends Ys{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};e.IfcDerivedUnit=class extends gg{constructor(e,t,s,i){super(e),this.Elements=t,this.UnitType=s,this.UserDefinedType=i,this.type=1765591967}};e.IfcDerivedUnitElement=class extends gg{constructor(e,t,s){super(e),this.Unit=t,this.Exponent=s,this.type=1045800335}};e.IfcDimensionalExponents=class extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.LengthExponent=t,this.MassExponent=s,this.TimeExponent=i,this.ElectricCurrentExponent=r,this.ThermodynamicTemperatureExponent=o,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class si extends gg{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=si;class ii extends gg{constructor(e,t,s,i){super(e),this.Location=t,this.Identification=s,this.Name=i,this.type=3200245327}}e.IfcExternalReference=ii;e.IfcExternallyDefinedHatchStyle=class extends ii{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=2242383968}};e.IfcExternallyDefinedSurfaceStyle=class extends ii{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=1040185647}};e.IfcExternallyDefinedTextFont=class extends ii{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=3548104201}};e.IfcGridAxis=class extends gg{constructor(e,t,s,i){super(e),this.AxisTag=t,this.AxisCurve=s,this.SameSense=i,this.type=852622518}};e.IfcIrregularTimeSeriesValue=class extends gg{constructor(e,t,s){super(e),this.TimeStamp=t,this.ListValues=s,this.type=3020489413}};e.IfcLibraryInformation=class extends si{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Version=s,this.Publisher=i,this.VersionDate=r,this.Location=o,this.Description=n,this.type=2655187982}};e.IfcLibraryReference=class extends ii{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.Language=o,this.ReferencedLibrary=n,this.type=3452421091}};e.IfcLightDistributionData=class extends gg{constructor(e,t,s,i){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=s,this.LuminousIntensity=i,this.type=4162380809}};e.IfcLightIntensityDistribution=class extends gg{constructor(e,t,s){super(e),this.LightDistributionCurve=t,this.DistributionData=s,this.type=1566485204}};e.IfcMapConversion=class extends ei{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s),this.SourceCRS=t,this.TargetCRS=s,this.Eastings=i,this.Northings=r,this.OrthogonalHeight=o,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=l,this.type=3057273783}};e.IfcMaterialClassificationRelationship=class extends gg{constructor(e,t,s){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=s,this.type=1847130766}};class ri extends gg{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=ri;class oi extends ri{constructor(e,t,s,i,r,o,n,a){super(e),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.type=248100487}}e.IfcMaterialLayer=oi;e.IfcMaterialLayerSet=class extends ri{constructor(e,t,s,i){super(e),this.MaterialLayers=t,this.LayerSetName=s,this.Description=i,this.type=3303938423}};e.IfcMaterialLayerWithOffsets=class extends oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.OffsetDirection=l,this.OffsetValues=h,this.type=1847252529}};e.IfcMaterialList=class extends gg{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class ni extends ri{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.type=2235152071}}e.IfcMaterialProfile=ni;e.IfcMaterialProfileSet=class extends ri{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.MaterialProfiles=i,this.CompositeProfile=r,this.type=164193824}};e.IfcMaterialProfileWithOffsets=class extends ni{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.OffsetValues=a,this.type=552965576}};class ai extends gg{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=ai;e.IfcMeasureWithUnit=class extends gg{constructor(e,t,s){super(e),this.ValueComponent=t,this.UnitComponent=s,this.type=2597039031}};e.IfcMetric=class extends $s{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=l,this.ValueSource=h,this.DataValue=c,this.ReferencePath=u,this.type=3368373690}};e.IfcMonetaryUnit=class extends gg{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class li extends gg{constructor(e,t,s){super(e),this.Dimensions=t,this.UnitType=s,this.type=1918398963}}e.IfcNamedUnit=li;class hi extends gg{constructor(e){super(e),this.type=3701648758}}e.IfcObjectPlacement=hi;e.IfcObjective=class extends $s{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=l,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=u,this.type=2251480897}};e.IfcOrganization=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Roles=r,this.Addresses=o,this.type=4251960020}};e.IfcOwnerHistory=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.OwningUser=t,this.OwningApplication=s,this.State=i,this.ChangeAction=r,this.LastModifiedDate=o,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=l,this.type=1207048766}};e.IfcPerson=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Identification=t,this.FamilyName=s,this.GivenName=i,this.MiddleNames=r,this.PrefixTitles=o,this.SuffixTitles=n,this.Roles=a,this.Addresses=l,this.type=2077209135}};e.IfcPersonAndOrganization=class extends gg{constructor(e,t,s,i){super(e),this.ThePerson=t,this.TheOrganization=s,this.Roles=i,this.type=101040310}};class ci extends gg{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2483315170}}e.IfcPhysicalQuantity=ci;class ui extends ci{constructor(e,t,s,i){super(e,t,s),this.Name=t,this.Description=s,this.Unit=i,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=ui;e.IfcPostalAddress=class extends Ks{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.InternalLocation=r,this.AddressLines=o,this.PostalBox=n,this.Town=a,this.Region=l,this.PostalCode=h,this.Country=c,this.type=3355820592}};class Ai extends gg{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=Ai;class pi extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.type=2022622350}}e.IfcPresentationLayerAssignment=pi;e.IfcPresentationLayerWithStyle=class extends pi{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.LayerOn=o,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=l,this.type=1304840413}};class di extends gg{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=di;e.IfcPresentationStyleAssignment=class extends gg{constructor(e,t){super(e),this.Styles=t,this.type=2417041796}};class fi extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Representations=i,this.type=2095639259}}e.IfcProductRepresentation=fi;class mi extends gg{constructor(e,t,s){super(e),this.ProfileType=t,this.ProfileName=s,this.type=3958567839}}e.IfcProfileDef=mi;e.IfcProjectedCRS=class extends ti{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.MapProjection=o,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class Ei extends gg{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=Ei;e.IfcPropertyEnumeration=class extends Ei{constructor(e,t,s,i){super(e),this.Name=t,this.EnumerationValues=s,this.Unit=i,this.type=3710013099}};e.IfcQuantityArea=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.AreaValue=r,this.Formula=o,this.type=2044713172}};e.IfcQuantityCount=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.CountValue=r,this.Formula=o,this.type=2093928680}};e.IfcQuantityLength=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.LengthValue=r,this.Formula=o,this.type=931644368}};e.IfcQuantityTime=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.TimeValue=r,this.Formula=o,this.type=3252649465}};e.IfcQuantityVolume=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.VolumeValue=r,this.Formula=o,this.type=2405470396}};e.IfcQuantityWeight=class extends ui{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.WeightValue=r,this.Formula=o,this.type=825690147}};e.IfcRecurrencePattern=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.RecurrenceType=t,this.DayComponent=s,this.WeekdayComponent=i,this.MonthComponent=r,this.Position=o,this.Interval=n,this.Occurrences=a,this.TimePeriods=l,this.type=3915482550}};e.IfcReference=class extends gg{constructor(e,t,s,i,r,o){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=s,this.InstanceName=i,this.ListPositions=r,this.InnerReference=o,this.type=2433181523}};class yi extends gg{constructor(e,t,s,i,r){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1076942058}}e.IfcRepresentation=yi;class gi extends gg{constructor(e,t,s){super(e),this.ContextIdentifier=t,this.ContextType=s,this.type=3377609919}}e.IfcRepresentationContext=gi;class vi extends gg{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=vi;e.IfcRepresentationMap=class extends gg{constructor(e,t,s){super(e),this.MappingOrigin=t,this.MappedRepresentation=s,this.type=1660063152}};class Ii extends gg{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2439245199}}e.IfcResourceLevelRelationship=Ii;class Ti extends gg{constructor(e,t,s,i,r){super(e),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2341007311}}e.IfcRoot=Ti;e.IfcSIUnit=class extends li{constructor(e,t,s,i){super(e,new yg(0),t),this.UnitType=t,this.Prefix=s,this.Name=i,this.type=448429030}};class _i extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.type=1054537805}}e.IfcSchedulingTime=_i;e.IfcShapeAspect=class extends gg{constructor(e,t,s,i,r,o){super(e),this.ShapeRepresentations=t,this.Name=s,this.Description=i,this.ProductDefinitional=r,this.PartOfProductDefinitionShape=o,this.type=867548509}};class Ri extends yi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3982875396}}e.IfcShapeModel=Ri;e.IfcShapeRepresentation=class extends Ri{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=4240577450}};class Pi extends gg{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=Pi;class Di extends gg{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=Di;e.IfcStructuralLoadConfiguration=class extends Di{constructor(e,t,s,i){super(e,t),this.Name=t,this.Values=s,this.Locations=i,this.type=3478079324}};class Ni extends Di{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=Ni;class Ci extends Ni{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=Ci;e.IfcStructuralLoadTemperature=class extends Ci{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.DeltaTConstant=s,this.DeltaTY=i,this.DeltaTZ=r,this.type=3408363356}};class bi extends yi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=2830218821}}e.IfcStyleModel=bi;e.IfcStyledItem=class extends vi{constructor(e,t,s,i){super(e),this.Item=t,this.Styles=s,this.Name=i,this.type=3958052878}};e.IfcStyledRepresentation=class extends bi{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3049322572}};e.IfcSurfaceReinforcementArea=class extends Ni{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SurfaceReinforcement1=s,this.SurfaceReinforcement2=i,this.ShearReinforcement=r,this.type=2934153892}};e.IfcSurfaceStyle=class extends di{constructor(e,t,s,i){super(e,t),this.Name=t,this.Side=s,this.Styles=i,this.type=1300840506}};e.IfcSurfaceStyleLighting=class extends Ai{constructor(e,t,s,i,r){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=s,this.TransmissionColour=i,this.ReflectanceColour=r,this.type=3303107099}};e.IfcSurfaceStyleRefraction=class extends Ai{constructor(e,t,s){super(e),this.RefractionIndex=t,this.DispersionFactor=s,this.type=1607154358}};class Oi extends Ai{constructor(e,t,s){super(e),this.SurfaceColour=t,this.Transparency=s,this.type=846575682}}e.IfcSurfaceStyleShading=Oi;e.IfcSurfaceStyleWithTextures=class extends Ai{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class Si extends Ai{constructor(e,t,s,i,r,o){super(e),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.type=626085974}}e.IfcSurfaceTexture=Si;e.IfcTable=class extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.Rows=s,this.Columns=i,this.type=985171141}};e.IfcTableColumn=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.Unit=r,this.ReferencePath=o,this.type=2043862942}};e.IfcTableRow=class extends gg{constructor(e,t,s){super(e),this.RowCells=t,this.IsHeading=s,this.type=531007025}};class xi extends _i{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.type=1549132990}}e.IfcTaskTime=xi;e.IfcTaskTimeRecurring=class extends xi{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.Recurrence=I,this.type=2771591690}};e.IfcTelecomAddress=class extends Ks{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.TelephoneNumbers=r,this.FacsimileNumbers=o,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=l,this.MessagingIDs=h,this.type=912023232}};e.IfcTextStyle=class extends di{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.TextCharacterAppearance=s,this.TextStyle=i,this.TextFontStyle=r,this.ModelOrDraughting=o,this.type=1447204868}};e.IfcTextStyleForDefinedFont=class extends Ai{constructor(e,t,s){super(e),this.Colour=t,this.BackgroundColour=s,this.type=2636378356}};e.IfcTextStyleTextModel=class extends Ai{constructor(e,t,s,i,r,o,n,a){super(e),this.TextIndent=t,this.TextAlign=s,this.TextDecoration=i,this.LetterSpacing=r,this.WordSpacing=o,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class wi extends Ai{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=wi;e.IfcTextureCoordinateGenerator=class extends wi{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Mode=s,this.Parameter=i,this.type=1742049831}};e.IfcTextureMap=class extends wi{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Vertices=s,this.MappedTo=i,this.type=2552916305}};e.IfcTextureVertex=class extends Ai{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}};e.IfcTextureVertexList=class extends Ai{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}};e.IfcTimePeriod=class extends gg{constructor(e,t,s){super(e),this.StartTime=t,this.EndTime=s,this.type=1199560280}};class Bi extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.type=3101149627}}e.IfcTimeSeries=Bi;e.IfcTimeSeriesValue=class extends gg{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Fi extends vi{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Fi;e.IfcTopologyRepresentation=class extends Ri{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1735638870}};e.IfcUnitAssignment=class extends gg{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Mi extends Fi{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Mi;e.IfcVertexPoint=class extends Mi{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}};e.IfcVirtualGridIntersection=class extends gg{constructor(e,t,s){super(e),this.IntersectingAxes=t,this.OffsetDistances=s,this.type=891718957}};e.IfcWorkTime=class extends _i{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.RecurrencePattern=r,this.Start=o,this.Finish=n,this.type=1236880293}};e.IfcApprovalRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingApproval=i,this.RelatedApprovals=r,this.type=3869604511}};class Li extends mi{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Li;class Ui extends mi{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Ui;e.IfcArbitraryProfileDefWithVoids=class extends Li{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.InnerCurves=r,this.type=2705031697}};e.IfcBlobTexture=class extends Si{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};e.IfcCenterLineProfileDef=class extends Ui{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.Thickness=r,this.type=3150382593}};e.IfcClassification=class extends si{constructor(e,t,s,i,r,o,n,a){super(e),this.Source=t,this.Edition=s,this.EditionDate=i,this.Name=r,this.Description=o,this.Location=n,this.ReferenceTokens=a,this.type=747523909}};e.IfcClassificationReference=class extends ii{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.ReferencedSource=r,this.Description=o,this.Sort=n,this.type=647927063}};e.IfcColourRgbList=class extends Ai{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Hi extends Ai{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Hi;e.IfcCompositeProfileDef=class extends mi{constructor(e,t,s,i,r){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Profiles=i,this.Label=r,this.type=1485152156}};class Gi extends Fi{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=Gi;e.IfcConnectionCurveGeometry=class extends qs{constructor(e,t,s){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=s,this.type=1981873012}};e.IfcConnectionPointEccentricity=class extends Js{constructor(e,t,s,i,r,o){super(e,t,s),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.EccentricityInX=i,this.EccentricityInY=r,this.EccentricityInZ=o,this.type=45288368}};e.IfcContextDependentUnit=class extends li{constructor(e,t,s,i){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.type=3050246964}};class ki extends li{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.type=2889183280}}e.IfcConversionBasedUnit=ki;e.IfcConversionBasedUnitWithOffset=class extends ki{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.ConversionOffset=o,this.type=2713554722}};e.IfcCurrencyRelationship=class extends Ii{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMonetaryUnit=i,this.RelatedMonetaryUnit=r,this.ExchangeRate=o,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};e.IfcCurveStyle=class extends di{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.CurveFont=s,this.CurveWidth=i,this.CurveColour=r,this.ModelOrDraughting=o,this.type=3800577675}};e.IfcCurveStyleFont=class extends Ai{constructor(e,t,s){super(e),this.Name=t,this.PatternList=s,this.type=1105321065}};e.IfcCurveStyleFontAndScaling=class extends Ai{constructor(e,t,s,i){super(e),this.Name=t,this.CurveFont=s,this.CurveFontScaling=i,this.type=2367409068}};e.IfcCurveStyleFontPattern=class extends Ai{constructor(e,t,s){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=s,this.type=3510044353}};class Vi extends mi{constructor(e,t,s,i,r,o){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=3632507154}}e.IfcDerivedProfileDef=Vi;e.IfcDocumentInformation=class extends si{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Location=r,this.Purpose=o,this.IntendedUse=n,this.Scope=a,this.Revision=l,this.DocumentOwner=h,this.Editors=c,this.CreationTime=u,this.LastRevisionTime=A,this.ElectronicFormat=p,this.ValidFrom=d,this.ValidUntil=f,this.Confidentiality=m,this.Status=E,this.type=1154170062}};e.IfcDocumentInformationRelationship=class extends Ii{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingDocument=i,this.RelatedDocuments=r,this.RelationshipType=o,this.type=770865208}};e.IfcDocumentReference=class extends ii{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.ReferencedDocument=o,this.type=3732053477}};class Qi extends Fi{constructor(e,t,s){super(e),this.EdgeStart=t,this.EdgeEnd=s,this.type=3900360178}}e.IfcEdge=Qi;e.IfcEdgeCurve=class extends Qi{constructor(e,t,s,i,r){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.EdgeGeometry=i,this.SameSense=r,this.type=476780140}};e.IfcEventTime=class extends _i{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ActualDate=r,this.EarlyDate=o,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class ji extends Ei{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Properties=i,this.type=297599258}}e.IfcExtendedProperties=ji;e.IfcExternalReferenceRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingReference=i,this.RelatedResourceObjects=r,this.type=1437805879}};class Wi extends Fi{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=Wi;class zi extends Fi{constructor(e,t,s){super(e),this.Bound=t,this.Orientation=s,this.type=1809719519}}e.IfcFaceBound=zi;e.IfcFaceOuterBound=class extends zi{constructor(e,t,s){super(e,t,s),this.Bound=t,this.Orientation=s,this.type=803316827}};class Ki extends Wi{constructor(e,t,s,i){super(e,t),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3008276851}}e.IfcFaceSurface=Ki;e.IfcFailureConnectionCondition=class extends Pi{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TensionFailureX=s,this.TensionFailureY=i,this.TensionFailureZ=r,this.CompressionFailureX=o,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};e.IfcFillAreaStyle=class extends di{constructor(e,t,s,i){super(e,t),this.Name=t,this.FillStyles=s,this.ModelorDraughting=i,this.type=738692330}};class Yi extends gi{constructor(e,t,s,i,r,o,n){super(e,t,s),this.ContextIdentifier=t,this.ContextType=s,this.CoordinateSpaceDimension=i,this.Precision=r,this.WorldCoordinateSystem=o,this.TrueNorth=n,this.type=3448662350}}e.IfcGeometricRepresentationContext=Yi;class Xi extends vi{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Xi;e.IfcGeometricRepresentationSubContext=class extends Yi{constructor(e,s,i,r,o,n,a){super(e,s,i,new t(0),null,new yg(0),null),this.ContextIdentifier=s,this.ContextType=i,this.ParentContext=r,this.TargetScale=o,this.TargetView=n,this.UserDefinedTargetView=a,this.type=4142052618}};class Zi extends Xi{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Zi;e.IfcGridPlacement=class extends hi{constructor(e,t,s){super(e),this.PlacementLocation=t,this.PlacementRefDirection=s,this.type=178086475}};class qi extends Xi{constructor(e,t,s){super(e),this.BaseSurface=t,this.AgreementFlag=s,this.type=812098782}}e.IfcHalfSpaceSolid=qi;e.IfcImageTexture=class extends Si{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.URLReference=n,this.type=3905492369}};e.IfcIndexedColourMap=class extends Ai{constructor(e,t,s,i,r){super(e),this.MappedTo=t,this.Opacity=s,this.Colours=i,this.ColourIndex=r,this.type=3570813810}};class Ji extends wi{constructor(e,t,s,i){super(e,t),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.type=1437953363}}e.IfcIndexedTextureMap=Ji;e.IfcIndexedTriangleTextureMap=class extends Ji{constructor(e,t,s,i,r){super(e,t,s,i),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.TexCoordIndex=r,this.type=2133299955}};e.IfcIrregularTimeSeries=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.Values=h,this.type=3741457305}};e.IfcLagTime=class extends _i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.LagValue=r,this.DurationType=o,this.type=1585845231}};class $i extends Xi{constructor(e,t,s,i,r){super(e),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=1402838566}}e.IfcLightSource=$i;e.IfcLightSourceAmbient=class extends $i{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=125510826}};e.IfcLightSourceDirectional=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Orientation=o,this.type=2604431987}};e.IfcLightSourceGoniometric=class extends $i{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=l,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class er extends $i{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.type=1520743889}}e.IfcLightSourcePositional=er;e.IfcLightSourceSpot=class extends er{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=u,this.SpreadAngle=A,this.BeamWidthAngle=p,this.type=3422422726}};e.IfcLocalPlacement=class extends hi{constructor(e,t,s){super(e),this.PlacementRelTo=t,this.RelativePlacement=s,this.type=2624227202}};class tr extends Fi{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=tr;e.IfcMappedItem=class extends vi{constructor(e,t,s){super(e),this.MappingSource=t,this.MappingTarget=s,this.type=2347385850}};e.IfcMaterial=class extends ri{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Category=i,this.type=1838606355}};e.IfcMaterialConstituent=class extends ri{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Description=s,this.Material=i,this.Fraction=r,this.Category=o,this.type=3708119e3}};e.IfcMaterialConstituentSet=class extends ri{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.MaterialConstituents=i,this.type=2852063980}};e.IfcMaterialDefinitionRepresentation=class extends fi{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.RepresentedMaterial=r,this.type=2022407955}};e.IfcMaterialLayerSetUsage=class extends ai{constructor(e,t,s,i,r,o){super(e),this.ForLayerSet=t,this.LayerSetDirection=s,this.DirectionSense=i,this.OffsetFromReferenceLine=r,this.ReferenceExtent=o,this.type=1303795690}};class sr extends ai{constructor(e,t,s,i){super(e),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.type=3079605661}}e.IfcMaterialProfileSetUsage=sr;e.IfcMaterialProfileSetUsageTapering=class extends sr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.ForProfileEndSet=r,this.CardinalEndPoint=o,this.type=3404854881}};e.IfcMaterialProperties=class extends ji{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.Material=r,this.type=3265635763}};e.IfcMaterialRelationship=class extends Ii{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMaterial=i,this.RelatedMaterials=r,this.Expression=o,this.type=853536259}};e.IfcMirroredProfileDef=class extends Vi{constructor(e,t,s,i,r){super(e,t,s,i,new yg(0),r),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Label=r,this.type=2998442950}};class ir extends Ti{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=219451334}}e.IfcObjectDefinition=ir;e.IfcOpenShell=class extends Gi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}};e.IfcOrganizationRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingOrganization=i,this.RelatedOrganizations=r,this.type=1411181986}};e.IfcOrientedEdge=class extends Qi{constructor(e,t,s){super(e,new yg(0),new yg(0)),this.EdgeElement=t,this.Orientation=s,this.type=1029017970}};class rr extends mi{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.type=2529465313}}e.IfcParameterizedProfileDef=rr;e.IfcPath=class extends Fi{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}};e.IfcPhysicalComplexQuantity=class extends ci{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.HasQuantities=i,this.Discrimination=r,this.Quality=o,this.Usage=n,this.type=3021840470}};e.IfcPixelTexture=class extends Si{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.Width=n,this.Height=a,this.ColourComponents=l,this.Pixel=h,this.type=597895409}};class or extends Xi{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=or;class nr extends Xi{constructor(e,t,s){super(e),this.SizeInX=t,this.SizeInY=s,this.type=1663979128}}e.IfcPlanarExtent=nr;class ar extends Xi{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=ar;e.IfcPointOnCurve=class extends ar{constructor(e,t,s){super(e),this.BasisCurve=t,this.PointParameter=s,this.type=4022376103}};e.IfcPointOnSurface=class extends ar{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.PointParameterU=s,this.PointParameterV=i,this.type=1423911732}};e.IfcPolyLoop=class extends tr{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}};e.IfcPolygonalBoundedHalfSpace=class extends qi{constructor(e,t,s,i,r){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Position=i,this.PolygonalBoundary=r,this.type=2775532180}};class lr extends Ai{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=lr;class hr extends Ei{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=hr;class cr extends lr{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=cr;e.IfcProductDefinitionShape=class extends fi{constructor(e,t,s,i){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.type=673634403}};e.IfcProfileProperties=class extends ji{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.ProfileDefinition=r,this.type=2802850158}};class ur extends Ei{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2598011224}}e.IfcProperty=ur;class Ar extends Ti{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1680319473}}e.IfcPropertyDefinition=Ar;e.IfcPropertyDependencyRelationship=class extends Ii{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.DependingProperty=i,this.DependantProperty=r,this.Expression=o,this.type=148025276}};class pr extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3357820518}}e.IfcPropertySetDefinition=pr;class dr extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1482703590}}e.IfcPropertyTemplateDefinition=dr;class fr extends pr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2090586900}}e.IfcQuantitySet=fr;class mr extends rr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.type=3615266464}}e.IfcRectangleProfileDef=mr;e.IfcRegularTimeSeries=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.TimeStep=h,this.Values=c,this.type=3413951693}};e.IfcReinforcementBarProperties=class extends hr{constructor(e,t,s,i,r,o,n){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=s,this.BarSurface=i,this.EffectiveDepth=r,this.NominalBarDiameter=o,this.BarCount=n,this.type=1580146022}};class Er extends Ti{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=478536968}}e.IfcRelationship=Er;e.IfcResourceApprovalRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatedResourceObjects=i,this.RelatingApproval=r,this.type=2943643501}};e.IfcResourceConstraintRelationship=class extends Ii{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedResourceObjects=r,this.type=1608871552}};e.IfcResourceTime=class extends _i{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ScheduleWork=r,this.ScheduleUsage=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=l,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=u,this.ActualWork=A,this.ActualUsage=p,this.ActualStart=d,this.ActualFinish=f,this.RemainingWork=m,this.RemainingUsage=E,this.Completion=y,this.type=1042787934}};e.IfcRoundedRectangleProfileDef=class extends mr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.RoundingRadius=n,this.type=2778083089}};e.IfcSectionProperties=class extends hr{constructor(e,t,s,i){super(e),this.SectionType=t,this.StartProfile=s,this.EndProfile=i,this.type=2042790032}};e.IfcSectionReinforcementProperties=class extends hr{constructor(e,t,s,i,r,o,n){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=s,this.TransversePosition=i,this.ReinforcementRole=r,this.SectionDefinition=o,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};e.IfcSectionedSpine=class extends Xi{constructor(e,t,s,i){super(e),this.SpineCurve=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1509187699}};e.IfcShellBasedSurfaceModel=class extends Xi{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class yr extends ur{constructor(e,t,s){super(e,t,s),this.Name=t,this.Description=s,this.type=3692461612}}e.IfcSimpleProperty=yr;e.IfcSlippageConnectionCondition=class extends Pi{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SlippageX=s,this.SlippageY=i,this.SlippageZ=r,this.type=2609359061}};class gr extends Xi{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=gr;e.IfcStructuralLoadLinearForce=class extends Ci{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearForceX=s,this.LinearForceY=i,this.LinearForceZ=r,this.LinearMomentX=o,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};e.IfcStructuralLoadPlanarForce=class extends Ci{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.PlanarForceX=s,this.PlanarForceY=i,this.PlanarForceZ=r,this.type=2668620305}};class vr extends Ci{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=vr;e.IfcStructuralLoadSingleDisplacementDistortion=class extends vr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=l,this.type=1973038258}};class Ir extends Ci{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}e.IfcStructuralLoadSingleForce=Ir;e.IfcStructuralLoadSingleForceWarping=class extends Ir{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=l,this.type=1190533807}};e.IfcSubedge=class extends Qi{constructor(e,t,s,i){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.ParentEdge=i,this.type=2233826070}};class Tr extends Xi{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Tr;e.IfcSurfaceStyleRendering=class extends Oi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.SurfaceColour=t,this.Transparency=s,this.DiffuseColour=i,this.TransmissionColour=r,this.DiffuseTransmissionColour=o,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=l,this.ReflectanceMethod=h,this.type=1878645084}};class _r extends gr{constructor(e,t,s){super(e),this.SweptArea=t,this.Position=s,this.type=2247615214}}e.IfcSweptAreaSolid=_r;class Rr extends gr{constructor(e,t,s,i,r,o){super(e),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.type=1260650574}}e.IfcSweptDiskSolid=Rr;e.IfcSweptDiskSolidPolygonal=class extends Rr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.FilletRadius=n,this.type=1096409881}};class Pr extends Tr{constructor(e,t,s){super(e),this.SweptCurve=t,this.Position=s,this.type=230924584}}e.IfcSweptSurface=Pr;e.IfcTShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=u,this.FlangeSlope=A,this.type=3071757647}};class Dr extends Xi{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=Dr;class Nr extends Xi{constructor(e,t,s,i){super(e),this.Literal=t,this.Placement=s,this.Path=i,this.type=4282788508}}e.IfcTextLiteral=Nr;e.IfcTextLiteralWithExtent=class extends Nr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Literal=t,this.Placement=s,this.Path=i,this.Extent=r,this.BoxAlignment=o,this.type=3124975700}};e.IfcTextStyleFontModel=class extends cr{constructor(e,t,s,i,r,o,n){super(e,t),this.Name=t,this.FontFamily=s,this.FontStyle=i,this.FontVariant=r,this.FontWeight=o,this.FontSize=n,this.type=1983826977}};e.IfcTrapeziumProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomXDim=r,this.TopXDim=o,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class Cr extends ir{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.type=1628702193}}e.IfcTypeObject=Cr;class br extends Cr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.type=3736923433}}e.IfcTypeProcess=br;class Or extends Cr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.type=2347495698}}e.IfcTypeProduct=Or;class Sr extends Cr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.type=3698973494}}e.IfcTypeResource=Sr;e.IfcUShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};e.IfcVector=class extends Xi{constructor(e,t,s){super(e),this.Orientation=t,this.Magnitude=s,this.type=1417489154}};e.IfcVertexLoop=class extends tr{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}};e.IfcWindowStyle=class extends Or{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ConstructionType=h,this.OperationType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=1299126871}};e.IfcZShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.type=2543172580}};e.IfcAdvancedFace=class extends Ki{constructor(e,t,s,i){super(e,t,s,i),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3406155212}};e.IfcAnnotationFillArea=class extends Xi{constructor(e,t,s){super(e),this.OuterBoundary=t,this.InnerBoundaries=s,this.type=669184980}};e.IfcAsymmetricIShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomFlangeWidth=r,this.OverallDepth=o,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=l,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=u,this.BottomFlangeEdgeRadius=A,this.BottomFlangeSlope=p,this.TopFlangeEdgeRadius=d,this.TopFlangeSlope=f,this.type=3207858831}};e.IfcAxis1Placement=class extends or{constructor(e,t,s){super(e,t),this.Location=t,this.Axis=s,this.type=4261334040}};e.IfcAxis2Placement2D=class extends or{constructor(e,t,s){super(e,t),this.Location=t,this.RefDirection=s,this.type=3125803723}};e.IfcAxis2Placement3D=class extends or{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=2740243338}};class xr extends Xi{constructor(e,t,s,i){super(e),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=2736907675}}e.IfcBooleanResult=xr;class wr extends Tr{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=wr;e.IfcBoundingBox=class extends Xi{constructor(e,t,s,i,r){super(e),this.Corner=t,this.XDim=s,this.YDim=i,this.ZDim=r,this.type=2581212453}};e.IfcBoxedHalfSpace=class extends qi{constructor(e,t,s,i){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Enclosure=i,this.type=2713105998}};e.IfcCShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=l,this.type=2898889636}};e.IfcCartesianPoint=class extends ar{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Br extends Xi{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=Br;e.IfcCartesianPointList2D=class extends Br{constructor(e,t){super(e),this.CoordList=t,this.type=1675464909}};e.IfcCartesianPointList3D=class extends Br{constructor(e,t){super(e),this.CoordList=t,this.type=2059837836}};class Fr extends Xi{constructor(e,t,s,i,r){super(e),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=59481748}}e.IfcCartesianTransformationOperator=Fr;class Mr extends Fr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=Mr;e.IfcCartesianTransformationOperator2DnonUniform=class extends Mr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Scale2=o,this.type=3486308946}};class Lr extends Fr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Lr;e.IfcCartesianTransformationOperator3DnonUniform=class extends Lr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class Ur extends rr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.type=1383045692}}e.IfcCircleProfileDef=Ur;e.IfcClosedShell=class extends Gi{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}};e.IfcColourRgb=class extends Hi{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.Red=s,this.Green=i,this.Blue=r,this.type=776857604}};e.IfcComplexProperty=class extends ur{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.HasProperties=r,this.type=2542286263}};class Hr extends Xi{constructor(e,t,s,i){super(e),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.type=2485617015}}e.IfcCompositeCurveSegment=Hr;class Gr extends Sr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.type=2574617495}}e.IfcConstructionResourceType=Gr;class kr extends ir{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=3419103109}}e.IfcContext=kr;e.IfcCrewResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1815067380}};class Vr extends Xi{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=Vr;e.IfcCsgSolid=class extends gr{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Qr extends Xi{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Qr;e.IfcCurveBoundedPlane=class extends wr{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.OuterBoundary=s,this.InnerBoundaries=i,this.type=2827736869}};e.IfcCurveBoundedSurface=class extends wr{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.Boundaries=s,this.ImplicitOuter=i,this.type=2629017746}};e.IfcDirection=class extends Xi{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};e.IfcDoorStyle=class extends Or{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.OperationType=h,this.ConstructionType=c,this.ParameterTakesPrecedence=u,this.Sizeable=A,this.type=526551008}};e.IfcEdgeLoop=class extends tr{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}};e.IfcElementQuantity=class extends fr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.MethodOfMeasurement=o,this.Quantities=n,this.type=1883228015}};class jr extends Or{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=339256511}}e.IfcElementType=jr;class Wr extends Tr{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Wr;e.IfcEllipseProfileDef=class extends rr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.SemiAxis1=r,this.SemiAxis2=o,this.type=2835456948}};e.IfcEventType=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=u,this.UserDefinedEventTriggerType=A,this.type=4024345920}};class zr extends _r{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=477187591}}e.IfcExtrudedAreaSolid=zr;e.IfcExtrudedAreaSolidTapered=class extends zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.EndSweptArea=o,this.type=2804161546}};e.IfcFaceBasedSurfaceModel=class extends Xi{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}};e.IfcFillAreaStyleHatching=class extends Xi{constructor(e,t,s,i,r,o){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=s,this.PointOfReferenceHatchLine=i,this.PatternStart=r,this.HatchLineAngle=o,this.type=374418227}};e.IfcFillAreaStyleTiles=class extends Xi{constructor(e,t,s,i){super(e),this.TilingPattern=t,this.Tiles=s,this.TilingScale=i,this.type=315944413}};e.IfcFixedReferenceSweptAreaSolid=class extends _r{constructor(e,t,s,i,r,o,n){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.FixedReference=n,this.type=2652556860}};class Kr extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=4238390223}}e.IfcFurnishingElementType=Kr;e.IfcFurnitureType=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=u,this.type=1268542332}};e.IfcGeographicElementType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};e.IfcGeometricCurveSet=class extends Zi{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};e.IfcIShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class Yr extends Dr{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=Yr;e.IfcIndexedPolygonalFaceWithVoids=class extends Yr{constructor(e,t,s){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=s,this.type=2294589976}};e.IfcLShapeProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=l,this.LegSlope=h,this.type=572779678}};e.IfcLaborResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=428585644}};e.IfcLine=class extends Qr{constructor(e,t,s){super(e),this.Pnt=t,this.Dir=s,this.type=1281925730}};class Xr extends gr{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Xr;class Zr extends ir{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3888040117}}e.IfcObject=Zr;e.IfcOffsetCurve2D=class extends Qr{constructor(e,t,s,i){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.type=3388369263}};e.IfcOffsetCurve3D=class extends Qr{constructor(e,t,s,i,r){super(e),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.RefDirection=r,this.type=3505215534}};e.IfcPcurve=class extends Qr{constructor(e,t,s){super(e),this.BasisSurface=t,this.ReferenceCurve=s,this.type=1682466193}};e.IfcPlanarBox=class extends nr{constructor(e,t,s,i){super(e,t,s),this.SizeInX=t,this.SizeInY=s,this.Placement=i,this.type=603570806}};e.IfcPlane=class extends Wr{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};class qr extends lr{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=qr;class Jr extends lr{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=Jr;class $r extends pr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3967405729}}e.IfcPreDefinedPropertySet=$r;e.IfcProcedureType=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class eo extends Zr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2945172077}}e.IfcProcess=eo;class to extends Zr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}e.IfcProduct=to;e.IfcProject=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=103090709}};e.IfcProjectLibrary=class extends kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=653396225}};e.IfcPropertyBoundedValue=class extends yr{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.UpperBoundValue=i,this.LowerBoundValue=r,this.Unit=o,this.SetPointValue=n,this.type=871118103}};e.IfcPropertyEnumeratedValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.EnumerationValues=i,this.EnumerationReference=r,this.type=4166981789}};e.IfcPropertyListValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.ListValues=i,this.Unit=r,this.type=2752243245}};e.IfcPropertyReferenceValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.UsageName=i,this.PropertyReference=r,this.type=941946838}};e.IfcPropertySet=class extends pr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.HasProperties=o,this.type=1451395588}};e.IfcPropertySetTemplate=class extends dr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};e.IfcPropertySingleValue=class extends yr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.NominalValue=i,this.Unit=r,this.type=3650150729}};e.IfcPropertyTableValue=class extends yr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s),this.Name=t,this.Description=s,this.DefiningValues=i,this.DefinedValues=r,this.Expression=o,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=l,this.type=110355661}};class so extends dr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3521284610}}e.IfcPropertyTemplate=so;e.IfcProxy=class extends to{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.ProxyType=l,this.Tag=h,this.type=3219374653}};e.IfcRectangleHollowProfileDef=class extends mr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=l,this.type=2770003689}};e.IfcRectangularPyramid=class extends Vr{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.Height=r,this.type=2798486643}};e.IfcRectangularTrimmedSurface=class extends wr{constructor(e,t,s,i,r,o,n,a){super(e),this.BasisSurface=t,this.U1=s,this.V1=i,this.U2=r,this.V2=o,this.Usense=n,this.Vsense=a,this.type=3454111270}};e.IfcReinforcementDefinitionProperties=class extends $r{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DefinitionType=o,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class io extends Er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.type=3939117080}}e.IfcRelAssigns=io;e.IfcRelAssignsToActor=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=1683148259}};e.IfcRelAssignsToControl=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class ro extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}e.IfcRelAssignsToGroup=ro;e.IfcRelAssignsToGroupByFactor=class extends ro{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=l,this.type=1027710054}};e.IfcRelAssignsToProcess=class extends io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=l,this.type=4278684876}};e.IfcRelAssignsToProduct=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};e.IfcRelAssignsToResource=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class oo extends Er{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=1865459582}}e.IfcRelAssociates=oo;e.IfcRelAssociatesApproval=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingApproval=n,this.type=4095574036}};e.IfcRelAssociatesClassification=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingClassification=n,this.type=919958153}};e.IfcRelAssociatesConstraint=class extends oo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};e.IfcRelAssociatesDocument=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingDocument=n,this.type=982818633}};e.IfcRelAssociatesLibrary=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingLibrary=n,this.type=3840914261}};e.IfcRelAssociatesMaterial=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingMaterial=n,this.type=2655215786}};class no extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=826625072}}e.IfcRelConnects=no;class ao extends no{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}e.IfcRelConnectsElements=ao;e.IfcRelConnectsPathElements=class extends ao{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=l,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=u,this.type=3945020480}};e.IfcRelConnectsPortToElement=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedElement=n,this.type=4201705270}};e.IfcRelConnectsPorts=class extends no{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};e.IfcRelConnectsStructuralActivity=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralActivity=n,this.type=2127690289}};class lo extends no{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}e.IfcRelConnectsStructuralMember=lo;e.IfcRelConnectsWithEccentricity=class extends lo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=u,this.type=504942748}};e.IfcRelConnectsWithRealizingElements=class extends ao{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=l,this.ConnectionType=h,this.type=3678494232}};e.IfcRelContainedInSpatialStructure=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=3242617779}};e.IfcRelCoversBldgElements=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedCoverings=n,this.type=886880790}};e.IfcRelCoversSpaces=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedCoverings=n,this.type=2802773753}};e.IfcRelDeclares=class extends Er{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingContext=o,this.RelatedDefinitions=n,this.type=2565941209}};class ho extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2551354335}}e.IfcRelDecomposes=ho;class co extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=693640335}}e.IfcRelDefines=co;e.IfcRelDefinesByObject=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingObject=n,this.type=1462361463}};e.IfcRelDefinesByProperties=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.type=4186316022}};e.IfcRelDefinesByTemplate=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedPropertySets=o,this.RelatingTemplate=n,this.type=307848117}};e.IfcRelDefinesByType=class extends co{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingType=n,this.type=781010003}};e.IfcRelFillsElement=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingOpeningElement=o,this.RelatedBuildingElement=n,this.type=3940055652}};e.IfcRelFlowControlElements=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedControlElements=o,this.RelatingFlowElement=n,this.type=279856033}};e.IfcRelInterferesElements=class extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceType=l,this.ImpliedOrder=h,this.type=427948657}};e.IfcRelNests=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=3268803585}};e.IfcRelProjectsElement=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedFeatureElement=n,this.type=750771296}};e.IfcRelReferencedInSpatialStructure=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=1245217292}};e.IfcRelSequence=class extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingProcess=o,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=l,this.UserDefinedSequenceType=h,this.type=4122056220}};e.IfcRelServicesBuildings=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSystem=o,this.RelatedBuildings=n,this.type=366585022}};class uo extends no{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.type=3451746338}}e.IfcRelSpaceBoundary=uo;class Ao extends uo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=Ao;e.IfcRelSpaceBoundary2ndLevel=class extends Ao{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=u,this.type=1521410863}};e.IfcRelVoidsElement=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedOpeningElement=n,this.type=1401173127}};e.IfcReparametrisedCompositeCurveSegment=class extends Hr{constructor(e,t,s,i,r){super(e,t,s,i),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.ParamLength=r,this.type=816062949}};class po extends Zr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2914609552}}e.IfcResource=po;class fo extends _r{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.type=1856042241}}e.IfcRevolvedAreaSolid=fo;e.IfcRevolvedAreaSolidTapered=class extends fo{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.EndSweptArea=o,this.type=3243963512}};e.IfcRightCircularCone=class extends Vr{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.BottomRadius=i,this.type=4158566097}};e.IfcRightCircularCylinder=class extends Vr{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.Radius=i,this.type=3626867408}};e.IfcSimplePropertyTemplate=class extends so{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=l,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=u,this.AccessState=A,this.type=3663146110}};class mo extends to{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=1412071761}}e.IfcSpatialElement=mo;class Eo extends Or{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=710998568}}e.IfcSpatialElementType=Eo;class yo extends mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=2706606064}}e.IfcSpatialStructureElement=yo;class go extends Eo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893378262}}e.IfcSpatialStructureElementType=go;e.IfcSpatialZone=class extends mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=463610769}};e.IfcSpatialZoneType=class extends Eo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=2481509218}};e.IfcSphere=class extends Vr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=451544542}};e.IfcSphericalSurface=class extends Wr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=4015995234}};class vo extends to{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3544373492}}e.IfcStructuralActivity=vo;class Io extends to{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}e.IfcStructuralItem=Io;class To extends Io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}e.IfcStructuralMember=To;class _o extends vo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3689010777}}e.IfcStructuralReaction=_o;class Ro extends To{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=3979015343}}e.IfcStructuralSurfaceMember=Ro;e.IfcStructuralSurfaceMemberVarying=class extends Ro{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=2218152070}};e.IfcStructuralSurfaceReaction=class extends _o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};e.IfcSubContractResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4095615324}};class Po extends Qr{constructor(e,t,s,i){super(e),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=699246055}}e.IfcSurfaceCurve=Po;e.IfcSurfaceCurveSweptAreaSolid=class extends _r{constructor(e,t,s,i,r,o,n){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.ReferenceSurface=n,this.type=2028607225}};e.IfcSurfaceOfLinearExtrusion=class extends Pr{constructor(e,t,s,i,r){super(e,t,s),this.SweptCurve=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=2809605785}};e.IfcSurfaceOfRevolution=class extends Pr{constructor(e,t,s,i){super(e,t,s),this.SweptCurve=t,this.Position=s,this.AxisPosition=i,this.type=4124788165}};e.IfcSystemFurnitureElementType=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};e.IfcTask=class extends eo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Status=l,this.WorkMethod=h,this.IsMilestone=c,this.Priority=u,this.TaskTime=A,this.PredefinedType=p,this.type=3473067441}};e.IfcTaskType=class extends br{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=u,this.type=3206491090}};class Do extends Dr{constructor(e,t){super(e),this.Coordinates=t,this.type=2387106220}}e.IfcTessellatedFaceSet=Do;e.IfcToroidalSurface=class extends Wr{constructor(e,t,s,i){super(e,t),this.Position=t,this.MajorRadius=s,this.MinorRadius=i,this.type=1935646853}};e.IfcTransportElementType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};e.IfcTriangulatedFaceSet=class extends Do{constructor(e,t,s,i,r,o){super(e,t),this.Coordinates=t,this.Normals=s,this.Closed=i,this.CoordIndex=r,this.PnIndex=o,this.type=2916149573}};e.IfcWindowLiningProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=l,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=u,this.SecondMullionOffset=A,this.ShapeAspectStyle=p,this.LiningOffset=d,this.LiningToPanelOffsetX=f,this.LiningToPanelOffsetY=m,this.type=336235671}};e.IfcWindowPanelProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=512836454}};class No extends Zr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.type=2296667514}}e.IfcActor=No;class Co extends Xr{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Co;e.IfcAdvancedBrepWithVoids=class extends Co{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=2603310189}};e.IfcAnnotation=class extends to{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1674181508}};class bo extends wr{constructor(e,t,s,i,r,o,n,a){super(e),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}e.IfcBSplineSurface=bo;class Oo extends bo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=Oo;e.IfcBlock=class extends Vr{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.ZLength=r,this.type=1334484129}};e.IfcBooleanClippingResult=class extends xr{constructor(e,t,s,i){super(e,t,s,i),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=3649129432}};class So extends Qr{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=So;e.IfcBuilding=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=u,this.BuildingAddress=A,this.type=4031249490}};class xo extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1950629157}}e.IfcBuildingElementType=xo;e.IfcBuildingStorey=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};e.IfcChimneyType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};e.IfcCircleHollowProfileDef=class extends Ur{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.WallThickness=o,this.type=2937912522}};e.IfcCivilElementType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893394355}};e.IfcColumnType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};e.IfcComplexPropertyTemplate=class extends so{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.UsageName=o,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class wo extends So{constructor(e,t,s){super(e),this.Segments=t,this.SelfIntersect=s,this.type=3732776249}}e.IfcCompositeCurve=wo;class Bo extends wo{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=15328376}}e.IfcCompositeCurveOnSurface=Bo;class Fo extends Qr{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=Fo;e.IfcConstructionEquipmentResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=2185764099}};e.IfcConstructionMaterialResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4105962743}};e.IfcConstructionProductResourceType=class extends Gr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1525564444}};class Mo extends po{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}e.IfcConstructionResource=Mo;class Lo extends Zr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.type=3293443760}}e.IfcControl=Lo;e.IfcCostItem=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.CostValues=l,this.CostQuantities=h,this.type=3895139033}};e.IfcCostSchedule=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};e.IfcCoveringType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};e.IfcCrewResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3295246426}};e.IfcCurtainWallType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};e.IfcCylindricalSurface=class extends Wr{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=1213902940}};class Uo extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3256556792}}e.IfcDistributionElementType=Uo;class Ho extends Uo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3849074793}}e.IfcDistributionFlowElementType=Ho;e.IfcDoorLiningProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=l,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=u,this.ThresholdOffset=A,this.CasingThickness=p,this.CasingDepth=d,this.ShapeAspectStyle=f,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=E,this.type=2963535650}};e.IfcDoorPanelProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PanelDepth=o,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=l,this.ShapeAspectStyle=h,this.type=1714330368}};e.IfcDoorType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.OperationType=u,this.ParameterTakesPrecedence=A,this.UserDefinedOperationType=p,this.type=2323601079}};e.IfcDraughtingPreDefinedColour=class extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}};e.IfcDraughtingPreDefinedCurveFont=class extends Jr{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Go extends to{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1758889154}}e.IfcElement=Go;e.IfcElementAssembly=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};e.IfcElementAssemblyType=class extends jr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class ko extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1623761950}}e.IfcElementComponent=ko;class Vo extends jr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2590856083}}e.IfcElementComponentType=Vo;e.IfcEllipse=class extends Fo{constructor(e,t,s,i){super(e,t),this.Position=t,this.SemiAxis1=s,this.SemiAxis2=i,this.type=1704287377}};class Qo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Qo;e.IfcEngineType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};e.IfcEvaporativeCoolerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};e.IfcEvaporatorType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};e.IfcEvent=class extends eo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=u,this.type=4148101412}};class jo extends mo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=2853485674}}e.IfcExternalSpatialStructureElement=jo;class Wo extends Xr{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=Wo;e.IfcFacetedBrepWithVoids=class extends Wo{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=3737207727}};e.IfcFastener=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=647756555}};e.IfcFastenerType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class zo extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2827207264}}e.IfcFeatureElement=zo;class Ko extends zo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2143335405}}e.IfcFeatureElementAddition=Ko;class Yo extends zo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1287392070}}e.IfcFeatureElementSubtraction=Yo;class Xo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3907093117}}e.IfcFlowControllerType=Xo;class Zo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3198132628}}e.IfcFlowFittingType=Zo;e.IfcFlowMeterType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class qo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1482959167}}e.IfcFlowMovingDeviceType=qo;class Jo extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1834744321}}e.IfcFlowSegmentType=Jo;class $o extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1339347760}}e.IfcFlowStorageDeviceType=$o;class en extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2297155007}}e.IfcFlowTerminalType=en;class tn extends Ho{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=tn;e.IfcFootingType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class sn extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=263784265}}e.IfcFurnishingElement=sn;e.IfcFurniture=class extends sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1509553395}};e.IfcGeographicElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3493046030}};e.IfcGrid=class extends to{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.UAxes=l,this.VAxes=h,this.WAxes=c,this.PredefinedType=u,this.type=3009204131}};class rn extends Zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2706460486}}e.IfcGroup=rn;e.IfcHeatExchangerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};e.IfcHumidifierType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};e.IfcIndexedPolyCurve=class extends So{constructor(e,t,s,i){super(e),this.Points=t,this.Segments=s,this.SelfIntersect=i,this.type=2571569899}};e.IfcInterceptorType=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};e.IfcIntersectionCurve=class extends Po{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=3113134337}};e.IfcInventory=class extends rn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=l,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=u,this.type=2391368822}};e.IfcJunctionBoxType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};e.IfcLaborResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3827777499}};e.IfcLampType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};e.IfcLightFixtureType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};e.IfcMechanicalFastener=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=u,this.type=377706215}};e.IfcMechanicalFastenerType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.NominalLength=A,this.type=2108223431}};e.IfcMedicalDeviceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};e.IfcMemberType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};e.IfcMotorConnectionType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};e.IfcOccupant=class extends No{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};class on extends Yo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3588315303}}e.IfcOpeningElement=on;e.IfcOpeningStandardCase=class extends on{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3079942009}};e.IfcOutletType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};e.IfcPerformanceHistory=class extends Lo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=l,this.type=2382730787}};e.IfcPermeableCoveringProperties=class extends $r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=3566463478}};e.IfcPermit=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3327091369}};e.IfcPileType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};e.IfcPipeFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};e.IfcPipeSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};e.IfcPlateType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};e.IfcPolygonalFaceSet=class extends Do{constructor(e,t,s,i,r){super(e,t),this.Coordinates=t,this.Closed=s,this.Faces=i,this.PnIndex=r,this.type=2839578677}};e.IfcPolyline=class extends So{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class nn extends to{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}e.IfcPort=nn;e.IfcProcedure=class extends eo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.type=2744685151}};e.IfcProjectOrder=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=2904328755}};e.IfcProjectionElement=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3651124850}};e.IfcProtectiveDeviceType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};e.IfcPumpType=class extends qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};e.IfcRailingType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};e.IfcRampFlightType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};e.IfcRampType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};e.IfcRationalBSplineSurfaceWithKnots=class extends Oo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.WeightsData=p,this.type=683857671}};class an extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=3027567501}}e.IfcReinforcingElement=an;class ln extends Vo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=964333572}}e.IfcReinforcingElementType=ln;e.IfcReinforcingMesh=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=u,this.LongitudinalBarNominalDiameter=A,this.TransverseBarNominalDiameter=p,this.LongitudinalBarCrossSectionArea=d,this.TransverseBarCrossSectionArea=f,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=E,this.PredefinedType=y,this.type=2320036040}};e.IfcReinforcingMeshType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.MeshLength=u,this.MeshWidth=A,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=E,this.TransverseBarSpacing=y,this.BendingShapeCode=g,this.BendingParameters=v,this.type=2310774935}};e.IfcRelAggregates=class extends ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=160246688}};e.IfcRoofType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};e.IfcSanitaryTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};e.IfcSeamCurve=class extends Po{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=2157484638}};e.IfcShadingDeviceType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};e.IfcSite=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=u,this.RefElevation=A,this.LandTitleNumber=p,this.SiteAddress=d,this.type=4097777520}};e.IfcSlabType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};e.IfcSolarDeviceType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};e.IfcSpace=class extends yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=u,this.type=3856911033}};e.IfcSpaceHeaterType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};e.IfcSpaceType=class extends go{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=3812236995}};e.IfcStackTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};e.IfcStairFlightType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};e.IfcStairType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class hn extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}e.IfcStructuralAction=hn;class cn extends Io{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1179482911}}e.IfcStructuralConnection=cn;class un extends hn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1004757350}}e.IfcStructuralCurveAction=un;e.IfcStructuralCurveConnection=class extends cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.Axis=h,this.type=4243806635}};class An extends To{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=214636428}}e.IfcStructuralCurveMember=An;e.IfcStructuralCurveMemberVarying=class extends An{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=2445595289}};e.IfcStructuralCurveReaction=class extends _o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};e.IfcStructuralLinearAction=class extends un{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1807405624}};class pn extends rn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}e.IfcStructuralLoadGroup=pn;e.IfcStructuralPointAction=class extends hn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};e.IfcStructuralPointConnection=class extends cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.ConditionCoordinateSystem=h,this.type=734778138}};e.IfcStructuralPointReaction=class extends _o{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=1235345126}};e.IfcStructuralResultGroup=class extends rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=l,this.type=2986769608}};class dn extends hn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=3657597509}}e.IfcStructuralSurfaceAction=dn;e.IfcStructuralSurfaceConnection=class extends cn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1975003073}};e.IfcSubContractResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=148013059}};e.IfcSurfaceFeature=class extends zo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3101698114}};e.IfcSwitchingDeviceType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class fn extends rn{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2254336722}}e.IfcSystem=fn;e.IfcSystemFurnitureElement=class extends sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=413509423}};e.IfcTankType=class extends $o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};e.IfcTendon=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.TensionForce=p,this.PreStress=d,this.FrictionCoefficient=f,this.AnchorageSlip=m,this.MinCurvatureRadius=E,this.type=3824725483}};e.IfcTendonAnchor=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};e.IfcTendonAnchorType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};e.IfcTendonType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.SheathDiameter=p,this.type=2415094496}};e.IfcTransformerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};e.IfcTransportElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1620046519}};e.IfcTrimmedCurve=class extends So{constructor(e,t,s,i,r,o){super(e),this.BasisCurve=t,this.Trim1=s,this.Trim2=i,this.SenseAgreement=r,this.MasterRepresentation=o,this.type=3593883385}};e.IfcTubeBundleType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};e.IfcUnitaryEquipmentType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};e.IfcValveType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};e.IfcVibrationIsolator=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391383451}};e.IfcVibrationIsolatorType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};e.IfcVirtualElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2769231204}};e.IfcVoidingFeature=class extends Yo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=926996030}};e.IfcWallType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};e.IfcWasteTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};e.IfcWindowType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=u,this.ParameterTakesPrecedence=A,this.UserDefinedPartitioningType=p,this.type=4009809668}};e.IfcWorkCalendar=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=l,this.PredefinedType=h,this.type=4088093105}};class mn extends Lo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.type=1028945134}}e.IfcWorkControl=mn;e.IfcWorkPlan=class extends mn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=4218914973}};e.IfcWorkSchedule=class extends mn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=3342526732}};e.IfcZone=class extends fn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.type=1033361043}};e.IfcActionRequest=class extends Lo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3821786052}};e.IfcAirTerminalBoxType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};e.IfcAirTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};e.IfcAirToAirHeatRecoveryType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};e.IfcAsset=class extends rn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.OriginalValue=a,this.CurrentValue=l,this.TotalReplacementCost=h,this.Owner=c,this.User=u,this.ResponsiblePerson=A,this.IncorporationDate=p,this.DepreciatedValue=d,this.type=3460190687}};e.IfcAudioVisualApplianceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class En extends So{constructor(e,t,s,i,r,o){super(e),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1967976161}}e.IfcBSplineCurve=En;class yn extends En{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.type=2461110595}}e.IfcBSplineCurveWithKnots=yn;e.IfcBeamType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};e.IfcBoilerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class gn extends Bo{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=1136057603}}e.IfcBoundaryCurve=gn;class vn extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3299480353}}e.IfcBuildingElement=vn;e.IfcBuildingElementPart=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2979338954}};e.IfcBuildingElementPartType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};e.IfcBuildingElementProxy=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1095909175}};e.IfcBuildingElementProxyType=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};e.IfcBuildingSystem=class extends fn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};e.IfcBurnerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};e.IfcCableCarrierFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};e.IfcCableCarrierSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};e.IfcCableFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};e.IfcCableSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};e.IfcChillerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};e.IfcChimney=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3296154744}};e.IfcCircle=class extends Fo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=2611217952}};e.IfcCivilElement=class extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1677625105}};e.IfcCoilType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};class In extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=843113511}}e.IfcColumn=In;e.IfcColumnStandardCase=class extends In{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=905975707}};e.IfcCommunicationsApplianceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};e.IfcCompressorType=class extends qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};e.IfcCondenserType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};e.IfcConstructionEquipmentResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3898045240}};e.IfcConstructionMaterialResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=1060000209}};e.IfcConstructionProductResource=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=488727124}};e.IfcCooledBeamType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};e.IfcCoolingTowerType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};e.IfcCovering=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1973544240}};e.IfcCurtainWall=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3495092785}};e.IfcDamperType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};e.IfcDiscreteAccessory=class extends ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1335981549}};e.IfcDiscreteAccessoryType=class extends Vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};e.IfcDistributionChamberElementType=class extends Ho{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class Tn extends Uo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2063403501}}e.IfcDistributionControlElementType=Tn;class _n extends Go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1945004755}}e.IfcDistributionElement=_n;class Rn extends _n{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3040386961}}e.IfcDistributionFlowElement=Rn;e.IfcDistributionPort=class extends nn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=l,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Pn extends fn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}e.IfcDistributionSystem=Pn;class Dn extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.OperationType=A,this.UserDefinedOperationType=p,this.type=395920057}}e.IfcDoor=Dn;e.IfcDoorStandardCase=class extends Dn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.OperationType=A,this.UserDefinedOperationType=p,this.type=3242481149}};e.IfcDuctFittingType=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};e.IfcDuctSegmentType=class extends Jo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};e.IfcDuctSilencerType=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};e.IfcElectricApplianceType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};e.IfcElectricDistributionBoardType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};e.IfcElectricFlowStorageDeviceType=class extends $o{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};e.IfcElectricGeneratorType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};e.IfcElectricMotorType=class extends Qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};e.IfcElectricTimeControlType=class extends Xo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class Nn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1658829314}}e.IfcEnergyConversionDevice=Nn;e.IfcEngine=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2814081492}};e.IfcEvaporativeCooler=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3747195512}};e.IfcEvaporator=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=484807127}};e.IfcExternalSpatialElement=class extends jo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=1209101575}};e.IfcFanType=class extends qo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};e.IfcFilterType=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};e.IfcFireSuppressionTerminalType=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class Cn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2058353004}}e.IfcFlowController=Cn;class bn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4278956645}}e.IfcFlowFitting=bn;e.IfcFlowInstrumentType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};e.IfcFlowMeter=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2188021234}};class On extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3132237377}}e.IfcFlowMovingDevice=On;class Sn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=987401354}}e.IfcFlowSegment=Sn;class xn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=707683696}}e.IfcFlowStorageDevice=xn;class wn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2223149337}}e.IfcFlowTerminal=wn;class Bn extends Rn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3508470533}}e.IfcFlowTreatmentDevice=Bn;e.IfcFooting=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=900683007}};e.IfcHeatExchanger=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3319311131}};e.IfcHumidifier=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2068733104}};e.IfcInterceptor=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4175244083}};e.IfcJunctionBox=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2176052936}};e.IfcLamp=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=76236018}};e.IfcLightFixture=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=629592764}};e.IfcMedicalDevice=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1437502449}};class Fn extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1073191201}}e.IfcMember=Fn;e.IfcMemberStandardCase=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1911478936}};e.IfcMotorConnection=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2474470126}};e.IfcOuterBoundaryCurve=class extends gn{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=144952367}};e.IfcOutlet=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3694346114}};e.IfcPile=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};e.IfcPipeFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=310824031}};e.IfcPipeSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3612865200}};class Mn extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3171933400}}e.IfcPlate=Mn;e.IfcPlateStandardCase=class extends Mn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1156407060}};e.IfcProtectiveDevice=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=738039164}};e.IfcProtectiveDeviceTrippingUnitType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};e.IfcPump=class extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=90941305}};e.IfcRailing=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2262370178}};e.IfcRamp=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3024970846}};e.IfcRampFlight=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3283111854}};e.IfcRationalBSplineCurveWithKnots=class extends yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.WeightsData=h,this.type=1232101972}};e.IfcReinforcingBar=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=u,this.BarLength=A,this.PredefinedType=p,this.BarSurface=d,this.type=979691226}};e.IfcReinforcingBarType=class extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.BarLength=p,this.BarSurface=d,this.BendingShapeCode=f,this.BendingParameters=m,this.type=2572171363}};e.IfcRoof=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2016517767}};e.IfcSanitaryTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3053780830}};e.IfcSensorType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};e.IfcShadingDevice=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1329646415}};class Ln extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1529196076}}e.IfcSlab=Ln;e.IfcSlabElementedCase=class extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3127900445}};e.IfcSlabStandardCase=class extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3027962421}};e.IfcSolarDevice=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3420628829}};e.IfcSpaceHeater=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1999602285}};e.IfcStackTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1404847402}};e.IfcStair=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=331165859}};e.IfcStairFlight=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=u,this.TreadLength=A,this.PredefinedType=p,this.type=4252922144}};e.IfcStructuralAnalysisModel=class extends fn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=l,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};e.IfcStructuralLoadCase=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=u,this.type=385403989}};e.IfcStructuralPlanarAction=class extends dn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1621171031}};e.IfcSwitchingDevice=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1162798199}};e.IfcTank=class extends xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=812556717}};e.IfcTransformer=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3825984169}};e.IfcTubeBundle=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3026737570}};e.IfcUnitaryControlElementType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};e.IfcUnitaryEquipment=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4292641817}};e.IfcValve=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4207607924}};class Un extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391406946}}e.IfcWall=Un;e.IfcWallElementedCase=class extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4156078855}};e.IfcWallStandardCase=class extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3512223829}};e.IfcWasteTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4237592921}};class Hn extends vn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.PartitioningType=A,this.UserDefinedPartitioningType=p,this.type=3304561284}}e.IfcWindow=Hn;e.IfcWindowStandardCase=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.PartitioningType=A,this.UserDefinedPartitioningType=p,this.type=486154966}};e.IfcActuatorType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};e.IfcAirTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1634111441}};e.IfcAirTerminalBox=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=177149247}};e.IfcAirToAirHeatRecovery=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2056796094}};e.IfcAlarmType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};e.IfcAudioVisualAppliance=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=277319702}};class Gn extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=753842376}}e.IfcBeam=Gn;e.IfcBeamStandardCase=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2906023776}};e.IfcBoiler=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=32344328}};e.IfcBurner=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2938176219}};e.IfcCableCarrierFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=635142910}};e.IfcCableCarrierSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3758799889}};e.IfcCableFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1051757585}};e.IfcCableSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4217484030}};e.IfcChiller=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3902619387}};e.IfcCoil=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=639361253}};e.IfcCommunicationsAppliance=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3221913625}};e.IfcCompressor=class extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3571504051}};e.IfcCondenser=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2272882330}};e.IfcControllerType=class extends Tn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};e.IfcCooledBeam=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4136498852}};e.IfcCoolingTower=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3640358203}};e.IfcDamper=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4074379575}};e.IfcDistributionChamberElement=class extends Rn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1052013943}};e.IfcDistributionCircuit=class extends Pn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class kn extends _n{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1062813311}}e.IfcDistributionControlElement=kn;e.IfcDuctFitting=class extends bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=342316401}};e.IfcDuctSegment=class extends Sn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3518393246}};e.IfcDuctSilencer=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1360408905}};e.IfcElectricAppliance=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1904799276}};e.IfcElectricDistributionBoard=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=862014818}};e.IfcElectricFlowStorageDevice=class extends xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3310460725}};e.IfcElectricGenerator=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=264262732}};e.IfcElectricMotor=class extends Nn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=402227799}};e.IfcElectricTimeControl=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1003880860}};e.IfcFan=class extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3415622556}};e.IfcFilter=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=819412036}};e.IfcFireSuppressionTerminal=class extends wn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1426591983}};e.IfcFlowInstrument=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=182646315}};e.IfcProtectiveDeviceTrippingUnit=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2295281155}};e.IfcSensor=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4086658281}};e.IfcUnitaryControlElement=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=630975310}};e.IfcActuator=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4288193352}};e.IfcAlarm=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3087945054}};e.IfcController=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=25142252}}}(ug||(ug={})),function(e){e.IfcAbsorbedDoseMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAccelerationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAmountOfSubstanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAngularVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcArcIndex=class{constructor(e){this.value=e}};e.IfcAreaDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcAreaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBinary=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcBoolean=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcBoxAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcCardinalPointReference=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcComplexNumber=class{constructor(e){this.value=e}};e.IfcCompoundPlaneAngleMeasure=class{constructor(e){this.value=e}};e.IfcContextDependentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCountMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcCurvatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDate=class{constructor(e){this.value=e,this.type=1}};e.IfcDateTime=class{constructor(e){this.value=e,this.type=1}};e.IfcDayInMonthNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDayInWeekNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDescriptiveMeasure=class{constructor(e){this.value=e,this.type=1}};class t{constructor(e){this.type=4,this.value=parseFloat(e)}}e.IfcDimensionCount=t;e.IfcDoseEquivalentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcDuration=class{constructor(e){this.value=e,this.type=1}};e.IfcDynamicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCapacitanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricChargeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricConductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricCurrentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcElectricVoltageMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcEnergyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFontStyle=class{constructor(e){this.value=e,this.type=1}};e.IfcFontVariant=class{constructor(e){this.value=e,this.type=1}};e.IfcFontWeight=class{constructor(e){this.value=e,this.type=1}};e.IfcForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcGloballyUniqueId=class{constructor(e){this.value=e,this.type=1}};e.IfcHeatFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcHeatingValueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIdentifier=class{constructor(e){this.value=e,this.type=1}};e.IfcIlluminanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInductanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIntegerCountRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIonConcentrationMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcIsothermalMoistureCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcKinematicViscosityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLabel=class{constructor(e){this.value=e,this.type=1}};e.IfcLanguageId=class{constructor(e){this.value=e,this.type=1}};e.IfcLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLineIndex=class{constructor(e){this.value=e}};e.IfcLinearForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLinearVelocityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLogical=class{constructor(e){this.type=3,this.value="true"==e}};e.IfcLuminousFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityDistributionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcLuminousIntensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMagneticFluxMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassDensityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMassPerLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfElasticityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfLinearSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfRotationalSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcModulusOfSubgradeReactionMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMoistureDiffusivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMolecularWeightMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMomentOfInertiaMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonetaryMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcMonthInYearNumber=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNonNegativeLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNormalisedRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcNumericMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPHMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcParameterValue=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlanarForceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveInteger=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveLengthMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositivePlaneAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPositiveRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPresentableText=class{constructor(e){this.value=e,this.type=1}};e.IfcPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcPropertySetDefinitionSet=class{constructor(e){this.value=e}};e.IfcRadioActivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRatioMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcReal=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalFrequencyMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalMassMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcRotationalStiffnessMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSectionalAreaIntegralMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcShearModulusMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSolidAngleMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPowerMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureLevelMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSoundPressureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecificHeatCapacityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularExponent=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcSpecularRoughness=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureGradientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTemperatureRateOfChangeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcText=class{constructor(e){this.value=e,this.type=1}};e.IfcTextAlignment=class{constructor(e){this.value=e,this.type=1}};e.IfcTextDecoration=class{constructor(e){this.value=e,this.type=1}};e.IfcTextFontName=class{constructor(e){this.value=e,this.type=1}};e.IfcTextTransformation=class{constructor(e){this.value=e,this.type=1}};e.IfcThermalAdmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalConductivityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalExpansionCoefficientMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalResistanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermalTransmittanceMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcThermodynamicTemperatureMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTime=class{constructor(e){this.value=e,this.type=1}};e.IfcTimeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTimeStamp=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcTorqueMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcURIReference=class{constructor(e){this.value=e,this.type=1}};e.IfcVaporPermeabilityMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumeMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcVolumetricFlowRateMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingConstantMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};e.IfcWarpingMomentMeasure=class{constructor(e){this.type=4,this.value=parseFloat(e)}};class s{}s.EMAIL={type:3,value:"EMAIL"},s.FAX={type:3,value:"FAX"},s.PHONE={type:3,value:"PHONE"},s.POST={type:3,value:"POST"},s.VERBAL={type:3,value:"VERBAL"},s.USERDEFINED={type:3,value:"USERDEFINED"},s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=s;class i{}i.BRAKES={type:3,value:"BRAKES"},i.BUOYANCY={type:3,value:"BUOYANCY"},i.COMPLETION_G1={type:3,value:"COMPLETION_G1"},i.CREEP={type:3,value:"CREEP"},i.CURRENT={type:3,value:"CURRENT"},i.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},i.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},i.ERECTION={type:3,value:"ERECTION"},i.FIRE={type:3,value:"FIRE"},i.ICE={type:3,value:"ICE"},i.IMPACT={type:3,value:"IMPACT"},i.IMPULSE={type:3,value:"IMPULSE"},i.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},i.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},i.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},i.PROPPING={type:3,value:"PROPPING"},i.RAIN={type:3,value:"RAIN"},i.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},i.SHRINKAGE={type:3,value:"SHRINKAGE"},i.SNOW_S={type:3,value:"SNOW_S"},i.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},i.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},i.TRANSPORT={type:3,value:"TRANSPORT"},i.WAVE={type:3,value:"WAVE"},i.WIND_W={type:3,value:"WIND_W"},i.USERDEFINED={type:3,value:"USERDEFINED"},i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=i;class r{}r.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},r.PERMANENT_G={type:3,value:"PERMANENT_G"},r.VARIABLE_Q={type:3,value:"VARIABLE_Q"},r.USERDEFINED={type:3,value:"USERDEFINED"},r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=r;class o{}o.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},o.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},o.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},o.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},o.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},o.USERDEFINED={type:3,value:"USERDEFINED"},o.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=o;class n{}n.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},n.HOME={type:3,value:"HOME"},n.OFFICE={type:3,value:"OFFICE"},n.SITE={type:3,value:"SITE"},n.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=n;class a{}a.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},a.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},a.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},a.USERDEFINED={type:3,value:"USERDEFINED"},a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=a;class l{}l.DIFFUSER={type:3,value:"DIFFUSER"},l.GRILLE={type:3,value:"GRILLE"},l.LOUVRE={type:3,value:"LOUVRE"},l.REGISTER={type:3,value:"REGISTER"},l.USERDEFINED={type:3,value:"USERDEFINED"},l.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=l;class h{}h.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},h.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},h.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},h.HEATPIPE={type:3,value:"HEATPIPE"},h.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},h.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},h.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},h.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},h.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},h.USERDEFINED={type:3,value:"USERDEFINED"},h.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=h;class c{}c.BELL={type:3,value:"BELL"},c.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},c.LIGHT={type:3,value:"LIGHT"},c.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},c.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},c.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},c.SIREN={type:3,value:"SIREN"},c.WHISTLE={type:3,value:"WHISTLE"},c.USERDEFINED={type:3,value:"USERDEFINED"},c.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=c;class u{}u.BLOSSCURVE={type:3,value:"BLOSSCURVE"},u.CONSTANTCANT={type:3,value:"CONSTANTCANT"},u.COSINECURVE={type:3,value:"COSINECURVE"},u.HELMERTCURVE={type:3,value:"HELMERTCURVE"},u.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},u.SINECURVE={type:3,value:"SINECURVE"},u.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=u;class A{}A.BLOSSCURVE={type:3,value:"BLOSSCURVE"},A.CIRCULARARC={type:3,value:"CIRCULARARC"},A.CLOTHOID={type:3,value:"CLOTHOID"},A.COSINECURVE={type:3,value:"COSINECURVE"},A.CUBIC={type:3,value:"CUBIC"},A.HELMERTCURVE={type:3,value:"HELMERTCURVE"},A.LINE={type:3,value:"LINE"},A.SINECURVE={type:3,value:"SINECURVE"},A.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=A;class p{}p.USERDEFINED={type:3,value:"USERDEFINED"},p.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=p;class d{}d.CIRCULARARC={type:3,value:"CIRCULARARC"},d.CLOTHOID={type:3,value:"CLOTHOID"},d.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},d.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=d;class f{}f.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},f.LOADING_3D={type:3,value:"LOADING_3D"},f.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},f.USERDEFINED={type:3,value:"USERDEFINED"},f.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=f;class m{}m.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},m.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},m.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},m.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},m.USERDEFINED={type:3,value:"USERDEFINED"},m.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=m;class E{}E.ASBUILTAREA={type:3,value:"ASBUILTAREA"},E.ASBUILTLINE={type:3,value:"ASBUILTLINE"},E.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},E.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},E.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},E.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},E.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},E.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},E.WIDTHEVENT={type:3,value:"WIDTHEVENT"},E.USERDEFINED={type:3,value:"USERDEFINED"},E.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=E;class y{}y.ADD={type:3,value:"ADD"},y.DIVIDE={type:3,value:"DIVIDE"},y.MULTIPLY={type:3,value:"MULTIPLY"},y.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=y;class g{}g.FACTORY={type:3,value:"FACTORY"},g.SITE={type:3,value:"SITE"},g.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=g;class v{}v.AMPLIFIER={type:3,value:"AMPLIFIER"},v.CAMERA={type:3,value:"CAMERA"},v.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},v.DISPLAY={type:3,value:"DISPLAY"},v.MICROPHONE={type:3,value:"MICROPHONE"},v.PLAYER={type:3,value:"PLAYER"},v.PROJECTOR={type:3,value:"PROJECTOR"},v.RECEIVER={type:3,value:"RECEIVER"},v.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},v.SPEAKER={type:3,value:"SPEAKER"},v.SWITCHER={type:3,value:"SWITCHER"},v.TELEPHONE={type:3,value:"TELEPHONE"},v.TUNER={type:3,value:"TUNER"},v.USERDEFINED={type:3,value:"USERDEFINED"},v.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=v;class I{}I.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},I.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},I.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},I.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},I.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},I.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=I;class T{}T.CONICAL_SURF={type:3,value:"CONICAL_SURF"},T.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},T.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},T.PLANE_SURF={type:3,value:"PLANE_SURF"},T.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},T.RULED_SURF={type:3,value:"RULED_SURF"},T.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},T.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},T.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},T.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},T.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=T;class _{}_.BEAM={type:3,value:"BEAM"},_.CORNICE={type:3,value:"CORNICE"},_.DIAPHRAGM={type:3,value:"DIAPHRAGM"},_.EDGEBEAM={type:3,value:"EDGEBEAM"},_.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},_.HATSTONE={type:3,value:"HATSTONE"},_.HOLLOWCORE={type:3,value:"HOLLOWCORE"},_.JOIST={type:3,value:"JOIST"},_.LINTEL={type:3,value:"LINTEL"},_.PIERCAP={type:3,value:"PIERCAP"},_.SPANDREL={type:3,value:"SPANDREL"},_.T_BEAM={type:3,value:"T_BEAM"},_.USERDEFINED={type:3,value:"USERDEFINED"},_.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=_;class R{}R.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},R.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},R.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},R.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},R.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=R;class P{}P.CYLINDRICAL={type:3,value:"CYLINDRICAL"},P.DISK={type:3,value:"DISK"},P.ELASTOMERIC={type:3,value:"ELASTOMERIC"},P.GUIDE={type:3,value:"GUIDE"},P.POT={type:3,value:"POT"},P.ROCKER={type:3,value:"ROCKER"},P.ROLLER={type:3,value:"ROLLER"},P.SPHERICAL={type:3,value:"SPHERICAL"},P.USERDEFINED={type:3,value:"USERDEFINED"},P.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=P;class D{}D.EQUALTO={type:3,value:"EQUALTO"},D.GREATERTHAN={type:3,value:"GREATERTHAN"},D.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},D.INCLUDEDIN={type:3,value:"INCLUDEDIN"},D.INCLUDES={type:3,value:"INCLUDES"},D.LESSTHAN={type:3,value:"LESSTHAN"},D.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},D.NOTEQUALTO={type:3,value:"NOTEQUALTO"},D.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},D.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=D;class N{}N.STEAM={type:3,value:"STEAM"},N.WATER={type:3,value:"WATER"},N.USERDEFINED={type:3,value:"USERDEFINED"},N.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=N;class C{}C.DIFFERENCE={type:3,value:"DIFFERENCE"},C.INTERSECTION={type:3,value:"INTERSECTION"},C.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=C;class b{}b.ABUTMENT={type:3,value:"ABUTMENT"},b.DECK={type:3,value:"DECK"},b.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},b.FOUNDATION={type:3,value:"FOUNDATION"},b.PIER={type:3,value:"PIER"},b.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},b.PYLON={type:3,value:"PYLON"},b.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},b.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},b.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},b.USERDEFINED={type:3,value:"USERDEFINED"},b.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=b;class O{}O.ARCHED={type:3,value:"ARCHED"},O.CABLE_STAYED={type:3,value:"CABLE_STAYED"},O.CANTILEVER={type:3,value:"CANTILEVER"},O.CULVERT={type:3,value:"CULVERT"},O.FRAMEWORK={type:3,value:"FRAMEWORK"},O.GIRDER={type:3,value:"GIRDER"},O.SUSPENSION={type:3,value:"SUSPENSION"},O.TRUSS={type:3,value:"TRUSS"},O.USERDEFINED={type:3,value:"USERDEFINED"},O.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=O;class S{}S.APRON={type:3,value:"APRON"},S.ARMOURUNIT={type:3,value:"ARMOURUNIT"},S.INSULATION={type:3,value:"INSULATION"},S.PRECASTPANEL={type:3,value:"PRECASTPANEL"},S.SAFETYCAGE={type:3,value:"SAFETYCAGE"},S.USERDEFINED={type:3,value:"USERDEFINED"},S.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=S;class x{}x.COMPLEX={type:3,value:"COMPLEX"},x.ELEMENT={type:3,value:"ELEMENT"},x.PARTIAL={type:3,value:"PARTIAL"},x.USERDEFINED={type:3,value:"USERDEFINED"},x.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=x;class w{}w.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},w.FENESTRATION={type:3,value:"FENESTRATION"},w.FOUNDATION={type:3,value:"FOUNDATION"},w.LOADBEARING={type:3,value:"LOADBEARING"},w.OUTERSHELL={type:3,value:"OUTERSHELL"},w.PRESTRESSING={type:3,value:"PRESTRESSING"},w.REINFORCING={type:3,value:"REINFORCING"},w.SHADING={type:3,value:"SHADING"},w.TRANSPORT={type:3,value:"TRANSPORT"},w.USERDEFINED={type:3,value:"USERDEFINED"},w.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=w;class B{}B.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},B.FENESTRATION={type:3,value:"FENESTRATION"},B.FOUNDATION={type:3,value:"FOUNDATION"},B.LOADBEARING={type:3,value:"LOADBEARING"},B.MOORING={type:3,value:"MOORING"},B.OUTERSHELL={type:3,value:"OUTERSHELL"},B.PRESTRESSING={type:3,value:"PRESTRESSING"},B.RAILWAYLINE={type:3,value:"RAILWAYLINE"},B.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},B.REINFORCING={type:3,value:"REINFORCING"},B.SHADING={type:3,value:"SHADING"},B.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},B.TRANSPORT={type:3,value:"TRANSPORT"},B.USERDEFINED={type:3,value:"USERDEFINED"},B.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=B;class F{}F.USERDEFINED={type:3,value:"USERDEFINED"},F.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=F;class M{}M.BEND={type:3,value:"BEND"},M.CONNECTOR={type:3,value:"CONNECTOR"},M.CROSS={type:3,value:"CROSS"},M.JUNCTION={type:3,value:"JUNCTION"},M.TEE={type:3,value:"TEE"},M.TRANSITION={type:3,value:"TRANSITION"},M.USERDEFINED={type:3,value:"USERDEFINED"},M.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=M;class L{}L.CABLEBRACKET={type:3,value:"CABLEBRACKET"},L.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},L.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},L.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},L.CATENARYWIRE={type:3,value:"CATENARYWIRE"},L.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},L.DROPPER={type:3,value:"DROPPER"},L.USERDEFINED={type:3,value:"USERDEFINED"},L.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=L;class U{}U.CONNECTOR={type:3,value:"CONNECTOR"},U.ENTRY={type:3,value:"ENTRY"},U.EXIT={type:3,value:"EXIT"},U.FANOUT={type:3,value:"FANOUT"},U.JUNCTION={type:3,value:"JUNCTION"},U.TRANSITION={type:3,value:"TRANSITION"},U.USERDEFINED={type:3,value:"USERDEFINED"},U.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=U;class H{}H.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},H.CABLESEGMENT={type:3,value:"CABLESEGMENT"},H.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},H.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},H.CORESEGMENT={type:3,value:"CORESEGMENT"},H.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},H.FIBERTUBE={type:3,value:"FIBERTUBE"},H.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},H.STITCHWIRE={type:3,value:"STITCHWIRE"},H.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},H.USERDEFINED={type:3,value:"USERDEFINED"},H.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=H;class G{}G.CAISSON={type:3,value:"CAISSON"},G.WELL={type:3,value:"WELL"},G.USERDEFINED={type:3,value:"USERDEFINED"},G.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=G;class k{}k.ADDED={type:3,value:"ADDED"},k.DELETED={type:3,value:"DELETED"},k.MODIFIED={type:3,value:"MODIFIED"},k.NOCHANGE={type:3,value:"NOCHANGE"},k.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=k;class V{}V.AIRCOOLED={type:3,value:"AIRCOOLED"},V.HEATRECOVERY={type:3,value:"HEATRECOVERY"},V.WATERCOOLED={type:3,value:"WATERCOOLED"},V.USERDEFINED={type:3,value:"USERDEFINED"},V.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=V;class Q{}Q.USERDEFINED={type:3,value:"USERDEFINED"},Q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=Q;class j{}j.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},j.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},j.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},j.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},j.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},j.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},j.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},j.USERDEFINED={type:3,value:"USERDEFINED"},j.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=j;class W{}W.COLUMN={type:3,value:"COLUMN"},W.PIERSTEM={type:3,value:"PIERSTEM"},W.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},W.PILASTER={type:3,value:"PILASTER"},W.STANDCOLUMN={type:3,value:"STANDCOLUMN"},W.USERDEFINED={type:3,value:"USERDEFINED"},W.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=W;class z{}z.ANTENNA={type:3,value:"ANTENNA"},z.AUTOMATON={type:3,value:"AUTOMATON"},z.COMPUTER={type:3,value:"COMPUTER"},z.FAX={type:3,value:"FAX"},z.GATEWAY={type:3,value:"GATEWAY"},z.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},z.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},z.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},z.MODEM={type:3,value:"MODEM"},z.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},z.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},z.NETWORKHUB={type:3,value:"NETWORKHUB"},z.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},z.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},z.PRINTER={type:3,value:"PRINTER"},z.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},z.REPEATER={type:3,value:"REPEATER"},z.ROUTER={type:3,value:"ROUTER"},z.SCANNER={type:3,value:"SCANNER"},z.TELECOMMAND={type:3,value:"TELECOMMAND"},z.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},z.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},z.TRANSPONDER={type:3,value:"TRANSPONDER"},z.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},z.USERDEFINED={type:3,value:"USERDEFINED"},z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=z;class K{}K.P_COMPLEX={type:3,value:"P_COMPLEX"},K.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=K;class Y{}Y.BOOSTER={type:3,value:"BOOSTER"},Y.DYNAMIC={type:3,value:"DYNAMIC"},Y.HERMETIC={type:3,value:"HERMETIC"},Y.OPENTYPE={type:3,value:"OPENTYPE"},Y.RECIPROCATING={type:3,value:"RECIPROCATING"},Y.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Y.ROTARY={type:3,value:"ROTARY"},Y.ROTARYVANE={type:3,value:"ROTARYVANE"},Y.SCROLL={type:3,value:"SCROLL"},Y.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Y.SINGLESCREW={type:3,value:"SINGLESCREW"},Y.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Y.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Y.TWINSCREW={type:3,value:"TWINSCREW"},Y.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Y.USERDEFINED={type:3,value:"USERDEFINED"},Y.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=Y;class X{}X.AIRCOOLED={type:3,value:"AIRCOOLED"},X.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},X.WATERCOOLED={type:3,value:"WATERCOOLED"},X.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},X.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},X.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},X.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},X.USERDEFINED={type:3,value:"USERDEFINED"},X.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=X;class Z{}Z.ATEND={type:3,value:"ATEND"},Z.ATPATH={type:3,value:"ATPATH"},Z.ATSTART={type:3,value:"ATSTART"},Z.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=Z;class q{}q.ADVISORY={type:3,value:"ADVISORY"},q.HARD={type:3,value:"HARD"},q.SOFT={type:3,value:"SOFT"},q.USERDEFINED={type:3,value:"USERDEFINED"},q.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=q;class J{}J.DEMOLISHING={type:3,value:"DEMOLISHING"},J.EARTHMOVING={type:3,value:"EARTHMOVING"},J.ERECTING={type:3,value:"ERECTING"},J.HEATING={type:3,value:"HEATING"},J.LIGHTING={type:3,value:"LIGHTING"},J.PAVING={type:3,value:"PAVING"},J.PUMPING={type:3,value:"PUMPING"},J.TRANSPORTING={type:3,value:"TRANSPORTING"},J.USERDEFINED={type:3,value:"USERDEFINED"},J.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=J;class ${}$.AGGREGATES={type:3,value:"AGGREGATES"},$.CONCRETE={type:3,value:"CONCRETE"},$.DRYWALL={type:3,value:"DRYWALL"},$.FUEL={type:3,value:"FUEL"},$.GYPSUM={type:3,value:"GYPSUM"},$.MASONRY={type:3,value:"MASONRY"},$.METAL={type:3,value:"METAL"},$.PLASTIC={type:3,value:"PLASTIC"},$.WOOD={type:3,value:"WOOD"},$.USERDEFINED={type:3,value:"USERDEFINED"},$.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=$;class ee{}ee.ASSEMBLY={type:3,value:"ASSEMBLY"},ee.FORMWORK={type:3,value:"FORMWORK"},ee.USERDEFINED={type:3,value:"USERDEFINED"},ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=ee;class te{}te.FLOATING={type:3,value:"FLOATING"},te.MULTIPOSITION={type:3,value:"MULTIPOSITION"},te.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},te.PROPORTIONAL={type:3,value:"PROPORTIONAL"},te.TWOPOSITION={type:3,value:"TWOPOSITION"},te.USERDEFINED={type:3,value:"USERDEFINED"},te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=te;class se{}se.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},se.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},se.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},se.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},se.USERDEFINED={type:3,value:"USERDEFINED"},se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=se;class ie{}ie.ACTIVE={type:3,value:"ACTIVE"},ie.PASSIVE={type:3,value:"PASSIVE"},ie.USERDEFINED={type:3,value:"USERDEFINED"},ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=ie;class re{}re.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},re.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},re.NATURALDRAFT={type:3,value:"NATURALDRAFT"},re.USERDEFINED={type:3,value:"USERDEFINED"},re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=re;class oe{}oe.USERDEFINED={type:3,value:"USERDEFINED"},oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=oe;class ne{}ne.BUDGET={type:3,value:"BUDGET"},ne.COSTPLAN={type:3,value:"COSTPLAN"},ne.ESTIMATE={type:3,value:"ESTIMATE"},ne.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},ne.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},ne.TENDER={type:3,value:"TENDER"},ne.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},ne.USERDEFINED={type:3,value:"USERDEFINED"},ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=ne;class ae{}ae.ARMOUR={type:3,value:"ARMOUR"},ae.BALLASTBED={type:3,value:"BALLASTBED"},ae.CORE={type:3,value:"CORE"},ae.FILTER={type:3,value:"FILTER"},ae.PAVEMENT={type:3,value:"PAVEMENT"},ae.PROTECTION={type:3,value:"PROTECTION"},ae.USERDEFINED={type:3,value:"USERDEFINED"},ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=ae;class le{}le.CEILING={type:3,value:"CEILING"},le.CLADDING={type:3,value:"CLADDING"},le.COPING={type:3,value:"COPING"},le.FLOORING={type:3,value:"FLOORING"},le.INSULATION={type:3,value:"INSULATION"},le.MEMBRANE={type:3,value:"MEMBRANE"},le.MOLDING={type:3,value:"MOLDING"},le.ROOFING={type:3,value:"ROOFING"},le.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},le.SLEEVING={type:3,value:"SLEEVING"},le.TOPPING={type:3,value:"TOPPING"},le.WRAPPING={type:3,value:"WRAPPING"},le.USERDEFINED={type:3,value:"USERDEFINED"},le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=le;class he{}he.OFFICE={type:3,value:"OFFICE"},he.SITE={type:3,value:"SITE"},he.USERDEFINED={type:3,value:"USERDEFINED"},he.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=he;class ce{}ce.USERDEFINED={type:3,value:"USERDEFINED"},ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=ce;class ue{}ue.LINEAR={type:3,value:"LINEAR"},ue.LOG_LINEAR={type:3,value:"LOG_LINEAR"},ue.LOG_LOG={type:3,value:"LOG_LOG"},ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=ue;class Ae{}Ae.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Ae.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Ae.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Ae.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Ae.FIREDAMPER={type:3,value:"FIREDAMPER"},Ae.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Ae.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Ae.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Ae.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Ae.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Ae.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Ae.USERDEFINED={type:3,value:"USERDEFINED"},Ae.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Ae;class pe{}pe.MEASURED={type:3,value:"MEASURED"},pe.PREDICTED={type:3,value:"PREDICTED"},pe.SIMULATED={type:3,value:"SIMULATED"},pe.USERDEFINED={type:3,value:"USERDEFINED"},pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=pe;class de{}de.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},de.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},de.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},de.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},de.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},de.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},de.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},de.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},de.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},de.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},de.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},de.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},de.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},de.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},de.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},de.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},de.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},de.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},de.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},de.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},de.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},de.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},de.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},de.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},de.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},de.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},de.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},de.PHUNIT={type:3,value:"PHUNIT"},de.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},de.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},de.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},de.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},de.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},de.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},de.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},de.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},de.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},de.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},de.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},de.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},de.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},de.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},de.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},de.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},de.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},de.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},de.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},de.TORQUEUNIT={type:3,value:"TORQUEUNIT"},de.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},de.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},de.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},de.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},de.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=de;class fe{}fe.NEGATIVE={type:3,value:"NEGATIVE"},fe.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=fe;class me{}me.ANCHORPLATE={type:3,value:"ANCHORPLATE"},me.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},me.BRACKET={type:3,value:"BRACKET"},me.CABLEARRANGER={type:3,value:"CABLEARRANGER"},me.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},me.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},me.FILLER={type:3,value:"FILLER"},me.FLASHING={type:3,value:"FLASHING"},me.INSULATOR={type:3,value:"INSULATOR"},me.LOCK={type:3,value:"LOCK"},me.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},me.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},me.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},me.RAILBRACE={type:3,value:"RAILBRACE"},me.RAILPAD={type:3,value:"RAILPAD"},me.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},me.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},me.SHOE={type:3,value:"SHOE"},me.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},me.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},me.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},me.USERDEFINED={type:3,value:"USERDEFINED"},me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=me;class Ee{}Ee.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Ee.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Ee.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Ee.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Ee.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Ee.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Ee.USERDEFINED={type:3,value:"USERDEFINED"},Ee.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=Ee;class ye{}ye.FORMEDDUCT={type:3,value:"FORMEDDUCT"},ye.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},ye.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},ye.MANHOLE={type:3,value:"MANHOLE"},ye.METERCHAMBER={type:3,value:"METERCHAMBER"},ye.SUMP={type:3,value:"SUMP"},ye.TRENCH={type:3,value:"TRENCH"},ye.VALVECHAMBER={type:3,value:"VALVECHAMBER"},ye.USERDEFINED={type:3,value:"USERDEFINED"},ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=ye;class ge{}ge.CABLE={type:3,value:"CABLE"},ge.CABLECARRIER={type:3,value:"CABLECARRIER"},ge.DUCT={type:3,value:"DUCT"},ge.PIPE={type:3,value:"PIPE"},ge.WIRELESS={type:3,value:"WIRELESS"},ge.USERDEFINED={type:3,value:"USERDEFINED"},ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=ge;class ve{}ve.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},ve.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},ve.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},ve.CHEMICAL={type:3,value:"CHEMICAL"},ve.CHILLEDWATER={type:3,value:"CHILLEDWATER"},ve.COMMUNICATION={type:3,value:"COMMUNICATION"},ve.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},ve.CONDENSERWATER={type:3,value:"CONDENSERWATER"},ve.CONTROL={type:3,value:"CONTROL"},ve.CONVEYING={type:3,value:"CONVEYING"},ve.DATA={type:3,value:"DATA"},ve.DISPOSAL={type:3,value:"DISPOSAL"},ve.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},ve.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},ve.DRAINAGE={type:3,value:"DRAINAGE"},ve.EARTHING={type:3,value:"EARTHING"},ve.ELECTRICAL={type:3,value:"ELECTRICAL"},ve.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},ve.EXHAUST={type:3,value:"EXHAUST"},ve.FIREPROTECTION={type:3,value:"FIREPROTECTION"},ve.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},ve.FUEL={type:3,value:"FUEL"},ve.GAS={type:3,value:"GAS"},ve.HAZARDOUS={type:3,value:"HAZARDOUS"},ve.HEATING={type:3,value:"HEATING"},ve.LIGHTING={type:3,value:"LIGHTING"},ve.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},ve.MOBILENETWORK={type:3,value:"MOBILENETWORK"},ve.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},ve.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},ve.OIL={type:3,value:"OIL"},ve.OPERATIONAL={type:3,value:"OPERATIONAL"},ve.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},ve.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},ve.POWERGENERATION={type:3,value:"POWERGENERATION"},ve.RAINWATER={type:3,value:"RAINWATER"},ve.REFRIGERATION={type:3,value:"REFRIGERATION"},ve.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},ve.SECURITY={type:3,value:"SECURITY"},ve.SEWAGE={type:3,value:"SEWAGE"},ve.SIGNAL={type:3,value:"SIGNAL"},ve.STORMWATER={type:3,value:"STORMWATER"},ve.TELEPHONE={type:3,value:"TELEPHONE"},ve.TV={type:3,value:"TV"},ve.VACUUM={type:3,value:"VACUUM"},ve.VENT={type:3,value:"VENT"},ve.VENTILATION={type:3,value:"VENTILATION"},ve.WASTEWATER={type:3,value:"WASTEWATER"},ve.WATERSUPPLY={type:3,value:"WATERSUPPLY"},ve.USERDEFINED={type:3,value:"USERDEFINED"},ve.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=ve;class Ie{}Ie.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Ie.PERSONAL={type:3,value:"PERSONAL"},Ie.PUBLIC={type:3,value:"PUBLIC"},Ie.RESTRICTED={type:3,value:"RESTRICTED"},Ie.USERDEFINED={type:3,value:"USERDEFINED"},Ie.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Ie;class Te{}Te.DRAFT={type:3,value:"DRAFT"},Te.FINAL={type:3,value:"FINAL"},Te.FINALDRAFT={type:3,value:"FINALDRAFT"},Te.REVISION={type:3,value:"REVISION"},Te.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Te;class _e{}_e.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},_e.FIXEDPANEL={type:3,value:"FIXEDPANEL"},_e.FOLDING={type:3,value:"FOLDING"},_e.REVOLVING={type:3,value:"REVOLVING"},_e.ROLLINGUP={type:3,value:"ROLLINGUP"},_e.SLIDING={type:3,value:"SLIDING"},_e.SWINGING={type:3,value:"SWINGING"},_e.USERDEFINED={type:3,value:"USERDEFINED"},_e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=_e;class Re{}Re.LEFT={type:3,value:"LEFT"},Re.MIDDLE={type:3,value:"MIDDLE"},Re.RIGHT={type:3,value:"RIGHT"},Re.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=Re;class Pe{}Pe.ALUMINIUM={type:3,value:"ALUMINIUM"},Pe.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Pe.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Pe.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Pe.PLASTIC={type:3,value:"PLASTIC"},Pe.STEEL={type:3,value:"STEEL"},Pe.WOOD={type:3,value:"WOOD"},Pe.USERDEFINED={type:3,value:"USERDEFINED"},Pe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Pe;class De{}De.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},De.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},De.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},De.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},De.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},De.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},De.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},De.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},De.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},De.REVOLVING={type:3,value:"REVOLVING"},De.ROLLINGUP={type:3,value:"ROLLINGUP"},De.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},De.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},De.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},De.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},De.USERDEFINED={type:3,value:"USERDEFINED"},De.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=De;class Ne{}Ne.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},Ne.DOOR={type:3,value:"DOOR"},Ne.GATE={type:3,value:"GATE"},Ne.TRAPDOOR={type:3,value:"TRAPDOOR"},Ne.TURNSTILE={type:3,value:"TURNSTILE"},Ne.USERDEFINED={type:3,value:"USERDEFINED"},Ne.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Ne;class Ce{}Ce.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},Ce.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},Ce.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},Ce.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},Ce.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},Ce.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},Ce.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},Ce.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Ce.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Ce.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Ce.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Ce.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},Ce.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},Ce.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},Ce.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},Ce.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},Ce.ROLLINGUP={type:3,value:"ROLLINGUP"},Ce.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Ce.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Ce.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Ce.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Ce.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Ce.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Ce.USERDEFINED={type:3,value:"USERDEFINED"},Ce.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Ce;class be{}be.BEND={type:3,value:"BEND"},be.CONNECTOR={type:3,value:"CONNECTOR"},be.ENTRY={type:3,value:"ENTRY"},be.EXIT={type:3,value:"EXIT"},be.JUNCTION={type:3,value:"JUNCTION"},be.OBSTRUCTION={type:3,value:"OBSTRUCTION"},be.TRANSITION={type:3,value:"TRANSITION"},be.USERDEFINED={type:3,value:"USERDEFINED"},be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=be;class Oe{}Oe.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Oe.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Oe.USERDEFINED={type:3,value:"USERDEFINED"},Oe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=Oe;class Se{}Se.FLATOVAL={type:3,value:"FLATOVAL"},Se.RECTANGULAR={type:3,value:"RECTANGULAR"},Se.ROUND={type:3,value:"ROUND"},Se.USERDEFINED={type:3,value:"USERDEFINED"},Se.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Se;class xe{}xe.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},xe.CUT={type:3,value:"CUT"},xe.DREDGING={type:3,value:"DREDGING"},xe.EXCAVATION={type:3,value:"EXCAVATION"},xe.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},xe.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},xe.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},xe.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},xe.TRENCH={type:3,value:"TRENCH"},xe.USERDEFINED={type:3,value:"USERDEFINED"},xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=xe;class we{}we.BACKFILL={type:3,value:"BACKFILL"},we.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},we.EMBANKMENT={type:3,value:"EMBANKMENT"},we.SLOPEFILL={type:3,value:"SLOPEFILL"},we.SUBGRADE={type:3,value:"SUBGRADE"},we.SUBGRADEBED={type:3,value:"SUBGRADEBED"},we.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},we.USERDEFINED={type:3,value:"USERDEFINED"},we.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=we;class Be{}Be.DISHWASHER={type:3,value:"DISHWASHER"},Be.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Be.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Be.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Be.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Be.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Be.FREEZER={type:3,value:"FREEZER"},Be.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Be.HANDDRYER={type:3,value:"HANDDRYER"},Be.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Be.MICROWAVE={type:3,value:"MICROWAVE"},Be.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Be.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Be.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Be.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Be.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Be.USERDEFINED={type:3,value:"USERDEFINED"},Be.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=Be;class Fe{}Fe.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Fe.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Fe.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Fe.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Fe.USERDEFINED={type:3,value:"USERDEFINED"},Fe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=Fe;class Me{}Me.BATTERY={type:3,value:"BATTERY"},Me.CAPACITOR={type:3,value:"CAPACITOR"},Me.CAPACITORBANK={type:3,value:"CAPACITORBANK"},Me.COMPENSATOR={type:3,value:"COMPENSATOR"},Me.HARMONICFILTER={type:3,value:"HARMONICFILTER"},Me.INDUCTOR={type:3,value:"INDUCTOR"},Me.INDUCTORBANK={type:3,value:"INDUCTORBANK"},Me.RECHARGER={type:3,value:"RECHARGER"},Me.UPS={type:3,value:"UPS"},Me.USERDEFINED={type:3,value:"USERDEFINED"},Me.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=Me;class Le{}Le.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},Le.USERDEFINED={type:3,value:"USERDEFINED"},Le.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=Le;class Ue{}Ue.CHP={type:3,value:"CHP"},Ue.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Ue.STANDALONE={type:3,value:"STANDALONE"},Ue.USERDEFINED={type:3,value:"USERDEFINED"},Ue.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Ue;class He{}He.DC={type:3,value:"DC"},He.INDUCTION={type:3,value:"INDUCTION"},He.POLYPHASE={type:3,value:"POLYPHASE"},He.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},He.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},He.USERDEFINED={type:3,value:"USERDEFINED"},He.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=He;class Ge{}Ge.RELAY={type:3,value:"RELAY"},Ge.TIMECLOCK={type:3,value:"TIMECLOCK"},Ge.TIMEDELAY={type:3,value:"TIMEDELAY"},Ge.USERDEFINED={type:3,value:"USERDEFINED"},Ge.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Ge;class ke{}ke.ABUTMENT={type:3,value:"ABUTMENT"},ke.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},ke.ARCH={type:3,value:"ARCH"},ke.BEAM_GRID={type:3,value:"BEAM_GRID"},ke.BRACED_FRAME={type:3,value:"BRACED_FRAME"},ke.CROSS_BRACING={type:3,value:"CROSS_BRACING"},ke.DECK={type:3,value:"DECK"},ke.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},ke.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},ke.GIRDER={type:3,value:"GIRDER"},ke.GRID={type:3,value:"GRID"},ke.MAST={type:3,value:"MAST"},ke.PIER={type:3,value:"PIER"},ke.PYLON={type:3,value:"PYLON"},ke.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},ke.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},ke.RIGID_FRAME={type:3,value:"RIGID_FRAME"},ke.SHELTER={type:3,value:"SHELTER"},ke.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},ke.SLAB_FIELD={type:3,value:"SLAB_FIELD"},ke.SUMPBUSTER={type:3,value:"SUMPBUSTER"},ke.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},ke.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},ke.TRACKPANEL={type:3,value:"TRACKPANEL"},ke.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},ke.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},ke.TRUSS={type:3,value:"TRUSS"},ke.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},ke.USERDEFINED={type:3,value:"USERDEFINED"},ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=ke;class Ve{}Ve.COMPLEX={type:3,value:"COMPLEX"},Ve.ELEMENT={type:3,value:"ELEMENT"},Ve.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Ve;class Qe{}Qe.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},Qe.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},Qe.USERDEFINED={type:3,value:"USERDEFINED"},Qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=Qe;class je{}je.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},je.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},je.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},je.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},je.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},je.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},je.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},je.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},je.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},je.USERDEFINED={type:3,value:"USERDEFINED"},je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=je;class We{}We.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},We.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},We.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},We.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},We.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},We.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},We.USERDEFINED={type:3,value:"USERDEFINED"},We.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=We;class ze{}ze.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},ze.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},ze.EVENTRULE={type:3,value:"EVENTRULE"},ze.EVENTTIME={type:3,value:"EVENTTIME"},ze.USERDEFINED={type:3,value:"USERDEFINED"},ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=ze;class Ke{}Ke.ENDEVENT={type:3,value:"ENDEVENT"},Ke.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},Ke.STARTEVENT={type:3,value:"STARTEVENT"},Ke.USERDEFINED={type:3,value:"USERDEFINED"},Ke.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=Ke;class Ye{}Ye.EXTERNAL={type:3,value:"EXTERNAL"},Ye.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},Ye.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},Ye.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},Ye.USERDEFINED={type:3,value:"USERDEFINED"},Ye.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=Ye;class Xe{}Xe.ABOVEGROUND={type:3,value:"ABOVEGROUND"},Xe.BELOWGROUND={type:3,value:"BELOWGROUND"},Xe.JUNCTION={type:3,value:"JUNCTION"},Xe.LEVELCROSSING={type:3,value:"LEVELCROSSING"},Xe.SEGMENT={type:3,value:"SEGMENT"},Xe.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},Xe.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Xe.TERMINAL={type:3,value:"TERMINAL"},Xe.USERDEFINED={type:3,value:"USERDEFINED"},Xe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=Xe;class Ze{}Ze.LATERAL={type:3,value:"LATERAL"},Ze.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Ze.REGION={type:3,value:"REGION"},Ze.VERTICAL={type:3,value:"VERTICAL"},Ze.USERDEFINED={type:3,value:"USERDEFINED"},Ze.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Ze;class qe{}qe.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},qe.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},qe.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},qe.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},qe.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},qe.TUBEAXIAL={type:3,value:"TUBEAXIAL"},qe.VANEAXIAL={type:3,value:"VANEAXIAL"},qe.USERDEFINED={type:3,value:"USERDEFINED"},qe.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=qe;class Je{}Je.GLUE={type:3,value:"GLUE"},Je.MORTAR={type:3,value:"MORTAR"},Je.WELD={type:3,value:"WELD"},Je.USERDEFINED={type:3,value:"USERDEFINED"},Je.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=Je;class $e{}$e.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},$e.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},$e.ODORFILTER={type:3,value:"ODORFILTER"},$e.OILFILTER={type:3,value:"OILFILTER"},$e.STRAINER={type:3,value:"STRAINER"},$e.WATERFILTER={type:3,value:"WATERFILTER"},$e.USERDEFINED={type:3,value:"USERDEFINED"},$e.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=$e;class et{}et.BREECHINGINLET={type:3,value:"BREECHINGINLET"},et.FIREHYDRANT={type:3,value:"FIREHYDRANT"},et.FIREMONITOR={type:3,value:"FIREMONITOR"},et.HOSEREEL={type:3,value:"HOSEREEL"},et.SPRINKLER={type:3,value:"SPRINKLER"},et.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},et.USERDEFINED={type:3,value:"USERDEFINED"},et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=et;class tt{}tt.SINK={type:3,value:"SINK"},tt.SOURCE={type:3,value:"SOURCE"},tt.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=tt;class st{}st.AMMETER={type:3,value:"AMMETER"},st.COMBINED={type:3,value:"COMBINED"},st.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},st.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},st.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},st.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},st.THERMOMETER={type:3,value:"THERMOMETER"},st.VOLTMETER={type:3,value:"VOLTMETER"},st.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},st.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},st.USERDEFINED={type:3,value:"USERDEFINED"},st.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=st;class it{}it.ENERGYMETER={type:3,value:"ENERGYMETER"},it.GASMETER={type:3,value:"GASMETER"},it.OILMETER={type:3,value:"OILMETER"},it.WATERMETER={type:3,value:"WATERMETER"},it.USERDEFINED={type:3,value:"USERDEFINED"},it.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=it;class rt{}rt.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},rt.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},rt.PAD_FOOTING={type:3,value:"PAD_FOOTING"},rt.PILE_CAP={type:3,value:"PILE_CAP"},rt.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},rt.USERDEFINED={type:3,value:"USERDEFINED"},rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=rt;class ot{}ot.BED={type:3,value:"BED"},ot.CHAIR={type:3,value:"CHAIR"},ot.DESK={type:3,value:"DESK"},ot.FILECABINET={type:3,value:"FILECABINET"},ot.SHELF={type:3,value:"SHELF"},ot.SOFA={type:3,value:"SOFA"},ot.TABLE={type:3,value:"TABLE"},ot.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},ot.USERDEFINED={type:3,value:"USERDEFINED"},ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=ot;class nt{}nt.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},nt.TERRAIN={type:3,value:"TERRAIN"},nt.VEGETATION={type:3,value:"VEGETATION"},nt.USERDEFINED={type:3,value:"USERDEFINED"},nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=nt;class at{}at.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},at.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},at.MODEL_VIEW={type:3,value:"MODEL_VIEW"},at.PLAN_VIEW={type:3,value:"PLAN_VIEW"},at.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},at.SECTION_VIEW={type:3,value:"SECTION_VIEW"},at.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},at.USERDEFINED={type:3,value:"USERDEFINED"},at.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=at;class lt{}lt.SOLID={type:3,value:"SOLID"},lt.VOID={type:3,value:"VOID"},lt.WATER={type:3,value:"WATER"},lt.USERDEFINED={type:3,value:"USERDEFINED"},lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=lt;class ht{}ht.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},ht.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=ht;class ct{}ct.IRREGULAR={type:3,value:"IRREGULAR"},ct.RADIAL={type:3,value:"RADIAL"},ct.RECTANGULAR={type:3,value:"RECTANGULAR"},ct.TRIANGULAR={type:3,value:"TRIANGULAR"},ct.USERDEFINED={type:3,value:"USERDEFINED"},ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=ct;class ut{}ut.PLATE={type:3,value:"PLATE"},ut.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},ut.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},ut.USERDEFINED={type:3,value:"USERDEFINED"},ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=ut;class At{}At.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},At.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},At.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},At.ADIABATICPAN={type:3,value:"ADIABATICPAN"},At.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},At.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},At.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},At.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},At.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},At.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},At.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},At.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},At.STEAMINJECTION={type:3,value:"STEAMINJECTION"},At.USERDEFINED={type:3,value:"USERDEFINED"},At.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=At;class pt{}pt.BUMPER={type:3,value:"BUMPER"},pt.CRASHCUSHION={type:3,value:"CRASHCUSHION"},pt.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},pt.FENDER={type:3,value:"FENDER"},pt.USERDEFINED={type:3,value:"USERDEFINED"},pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=pt;class dt{}dt.CYCLONIC={type:3,value:"CYCLONIC"},dt.GREASE={type:3,value:"GREASE"},dt.OIL={type:3,value:"OIL"},dt.PETROL={type:3,value:"PETROL"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=dt;class ft{}ft.EXTERNAL={type:3,value:"EXTERNAL"},ft.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},ft.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},ft.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},ft.INTERNAL={type:3,value:"INTERNAL"},ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=ft;class mt{}mt.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},mt.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},mt.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=mt;class Et{}Et.DATA={type:3,value:"DATA"},Et.POWER={type:3,value:"POWER"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Et;class yt{}yt.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},yt.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},yt.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},yt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=yt;class gt{}gt.ADMINISTRATION={type:3,value:"ADMINISTRATION"},gt.CARPENTRY={type:3,value:"CARPENTRY"},gt.CLEANING={type:3,value:"CLEANING"},gt.CONCRETE={type:3,value:"CONCRETE"},gt.DRYWALL={type:3,value:"DRYWALL"},gt.ELECTRIC={type:3,value:"ELECTRIC"},gt.FINISHING={type:3,value:"FINISHING"},gt.FLOORING={type:3,value:"FLOORING"},gt.GENERAL={type:3,value:"GENERAL"},gt.HVAC={type:3,value:"HVAC"},gt.LANDSCAPING={type:3,value:"LANDSCAPING"},gt.MASONRY={type:3,value:"MASONRY"},gt.PAINTING={type:3,value:"PAINTING"},gt.PAVING={type:3,value:"PAVING"},gt.PLUMBING={type:3,value:"PLUMBING"},gt.ROOFING={type:3,value:"ROOFING"},gt.SITEGRADING={type:3,value:"SITEGRADING"},gt.STEELWORK={type:3,value:"STEELWORK"},gt.SURVEYING={type:3,value:"SURVEYING"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=gt;class vt{}vt.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},vt.FLUORESCENT={type:3,value:"FLUORESCENT"},vt.HALOGEN={type:3,value:"HALOGEN"},vt.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},vt.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},vt.LED={type:3,value:"LED"},vt.METALHALIDE={type:3,value:"METALHALIDE"},vt.OLED={type:3,value:"OLED"},vt.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=vt;class It{}It.AXIS1={type:3,value:"AXIS1"},It.AXIS2={type:3,value:"AXIS2"},It.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=It;class Tt{}Tt.TYPE_A={type:3,value:"TYPE_A"},Tt.TYPE_B={type:3,value:"TYPE_B"},Tt.TYPE_C={type:3,value:"TYPE_C"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Tt;class _t{}_t.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},_t.FLUORESCENT={type:3,value:"FLUORESCENT"},_t.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},_t.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},_t.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},_t.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},_t.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},_t.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},_t.METALHALIDE={type:3,value:"METALHALIDE"},_t.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=_t;class Rt{}Rt.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},Rt.POINTSOURCE={type:3,value:"POINTSOURCE"},Rt.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=Rt;class Pt{}Pt.HOSEREEL={type:3,value:"HOSEREEL"},Pt.LOADINGARM={type:3,value:"LOADINGARM"},Pt.USERDEFINED={type:3,value:"USERDEFINED"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=Pt;class Dt{}Dt.LOAD_CASE={type:3,value:"LOAD_CASE"},Dt.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Dt.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Dt.USERDEFINED={type:3,value:"USERDEFINED"},Dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Dt;class Nt{}Nt.LOGICALAND={type:3,value:"LOGICALAND"},Nt.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Nt.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},Nt.LOGICALOR={type:3,value:"LOGICALOR"},Nt.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=Nt;class Ct{}Ct.BARRIERBEACH={type:3,value:"BARRIERBEACH"},Ct.BREAKWATER={type:3,value:"BREAKWATER"},Ct.CANAL={type:3,value:"CANAL"},Ct.DRYDOCK={type:3,value:"DRYDOCK"},Ct.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},Ct.HYDROLIFT={type:3,value:"HYDROLIFT"},Ct.JETTY={type:3,value:"JETTY"},Ct.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},Ct.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},Ct.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},Ct.PORT={type:3,value:"PORT"},Ct.QUAY={type:3,value:"QUAY"},Ct.REVETMENT={type:3,value:"REVETMENT"},Ct.SHIPLIFT={type:3,value:"SHIPLIFT"},Ct.SHIPLOCK={type:3,value:"SHIPLOCK"},Ct.SHIPYARD={type:3,value:"SHIPYARD"},Ct.SLIPWAY={type:3,value:"SLIPWAY"},Ct.WATERWAY={type:3,value:"WATERWAY"},Ct.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=Ct;class bt{}bt.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},bt.ANCHORAGE={type:3,value:"ANCHORAGE"},bt.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},bt.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},bt.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},bt.CHAMBER={type:3,value:"CHAMBER"},bt.CILL_LEVEL={type:3,value:"CILL_LEVEL"},bt.COPELEVEL={type:3,value:"COPELEVEL"},bt.CORE={type:3,value:"CORE"},bt.CREST={type:3,value:"CREST"},bt.GATEHEAD={type:3,value:"GATEHEAD"},bt.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},bt.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},bt.LANDFIELD={type:3,value:"LANDFIELD"},bt.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},bt.LOWWATERLINE={type:3,value:"LOWWATERLINE"},bt.MANUFACTURING={type:3,value:"MANUFACTURING"},bt.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},bt.PROTECTION={type:3,value:"PROTECTION"},bt.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},bt.STORAGEAREA={type:3,value:"STORAGEAREA"},bt.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},bt.WATERFIELD={type:3,value:"WATERFIELD"},bt.WEATHERSIDE={type:3,value:"WEATHERSIDE"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=bt;class Ot{}Ot.ANCHORBOLT={type:3,value:"ANCHORBOLT"},Ot.BOLT={type:3,value:"BOLT"},Ot.CHAIN={type:3,value:"CHAIN"},Ot.COUPLER={type:3,value:"COUPLER"},Ot.DOWEL={type:3,value:"DOWEL"},Ot.NAIL={type:3,value:"NAIL"},Ot.NAILPLATE={type:3,value:"NAILPLATE"},Ot.RAILFASTENING={type:3,value:"RAILFASTENING"},Ot.RAILJOINT={type:3,value:"RAILJOINT"},Ot.RIVET={type:3,value:"RIVET"},Ot.ROPE={type:3,value:"ROPE"},Ot.SCREW={type:3,value:"SCREW"},Ot.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},Ot.STAPLE={type:3,value:"STAPLE"},Ot.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},Ot.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=Ot;class St{}St.AIRSTATION={type:3,value:"AIRSTATION"},St.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},St.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},St.OXYGENPLANT={type:3,value:"OXYGENPLANT"},St.VACUUMSTATION={type:3,value:"VACUUMSTATION"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=St;class xt{}xt.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},xt.BRACE={type:3,value:"BRACE"},xt.CHORD={type:3,value:"CHORD"},xt.COLLAR={type:3,value:"COLLAR"},xt.MEMBER={type:3,value:"MEMBER"},xt.MULLION={type:3,value:"MULLION"},xt.PLATE={type:3,value:"PLATE"},xt.POST={type:3,value:"POST"},xt.PURLIN={type:3,value:"PURLIN"},xt.RAFTER={type:3,value:"RAFTER"},xt.STAY_CABLE={type:3,value:"STAY_CABLE"},xt.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},xt.STRINGER={type:3,value:"STRINGER"},xt.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},xt.STRUT={type:3,value:"STRUT"},xt.STUD={type:3,value:"STUD"},xt.SUSPENDER={type:3,value:"SUSPENDER"},xt.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},xt.TIEBAR={type:3,value:"TIEBAR"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=xt;class wt{}wt.ACCESSPOINT={type:3,value:"ACCESSPOINT"},wt.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},wt.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},wt.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},wt.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},wt.MASTERUNIT={type:3,value:"MASTERUNIT"},wt.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},wt.MSCSERVER={type:3,value:"MSCSERVER"},wt.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},wt.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},wt.REMOTEUNIT={type:3,value:"REMOTEUNIT"},wt.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},wt.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=wt;class Bt{}Bt.BOLLARD={type:3,value:"BOLLARD"},Bt.LINETENSIONER={type:3,value:"LINETENSIONER"},Bt.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},Bt.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},Bt.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=Bt;class Ft{}Ft.BELTDRIVE={type:3,value:"BELTDRIVE"},Ft.COUPLING={type:3,value:"COUPLING"},Ft.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=Ft;class Mt{}Mt.BEACON={type:3,value:"BEACON"},Mt.BUOY={type:3,value:"BUOY"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=Mt;class Lt{}Lt.ACTOR={type:3,value:"ACTOR"},Lt.CONTROL={type:3,value:"CONTROL"},Lt.GROUP={type:3,value:"GROUP"},Lt.PROCESS={type:3,value:"PROCESS"},Lt.PRODUCT={type:3,value:"PRODUCT"},Lt.PROJECT={type:3,value:"PROJECT"},Lt.RESOURCE={type:3,value:"RESOURCE"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Lt;class Ut{}Ut.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Ut.CODEWAIVER={type:3,value:"CODEWAIVER"},Ut.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Ut.EXTERNAL={type:3,value:"EXTERNAL"},Ut.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Ut.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Ut.MODELVIEW={type:3,value:"MODELVIEW"},Ut.PARAMETER={type:3,value:"PARAMETER"},Ut.REQUIREMENT={type:3,value:"REQUIREMENT"},Ut.SPECIFICATION={type:3,value:"SPECIFICATION"},Ut.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Ut;class Ht{}Ht.ASSIGNEE={type:3,value:"ASSIGNEE"},Ht.ASSIGNOR={type:3,value:"ASSIGNOR"},Ht.LESSEE={type:3,value:"LESSEE"},Ht.LESSOR={type:3,value:"LESSOR"},Ht.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ht.OWNER={type:3,value:"OWNER"},Ht.TENANT={type:3,value:"TENANT"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ht;class Gt{}Gt.OPENING={type:3,value:"OPENING"},Gt.RECESS={type:3,value:"RECESS"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Gt;class kt{}kt.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},kt.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},kt.DATAOUTLET={type:3,value:"DATAOUTLET"},kt.POWEROUTLET={type:3,value:"POWEROUTLET"},kt.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=kt;class Vt{}Vt.FLEXIBLE={type:3,value:"FLEXIBLE"},Vt.RIGID={type:3,value:"RIGID"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=Vt;class Qt{}Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=Qt;class jt{}jt.GRILL={type:3,value:"GRILL"},jt.LOUVER={type:3,value:"LOUVER"},jt.SCREEN={type:3,value:"SCREEN"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=jt;class Wt{}Wt.ACCESS={type:3,value:"ACCESS"},Wt.BUILDING={type:3,value:"BUILDING"},Wt.WORK={type:3,value:"WORK"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Wt;class zt{}zt.PHYSICAL={type:3,value:"PHYSICAL"},zt.VIRTUAL={type:3,value:"VIRTUAL"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=zt;class Kt{}Kt.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},Kt.COMPOSITE={type:3,value:"COMPOSITE"},Kt.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},Kt.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=Kt;class Yt{}Yt.BORED={type:3,value:"BORED"},Yt.COHESION={type:3,value:"COHESION"},Yt.DRIVEN={type:3,value:"DRIVEN"},Yt.FRICTION={type:3,value:"FRICTION"},Yt.JETGROUTING={type:3,value:"JETGROUTING"},Yt.SUPPORT={type:3,value:"SUPPORT"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Yt;class Xt{}Xt.BEND={type:3,value:"BEND"},Xt.CONNECTOR={type:3,value:"CONNECTOR"},Xt.ENTRY={type:3,value:"ENTRY"},Xt.EXIT={type:3,value:"EXIT"},Xt.JUNCTION={type:3,value:"JUNCTION"},Xt.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Xt.TRANSITION={type:3,value:"TRANSITION"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Xt;class Zt{}Zt.CULVERT={type:3,value:"CULVERT"},Zt.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Zt.GUTTER={type:3,value:"GUTTER"},Zt.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Zt.SPOOL={type:3,value:"SPOOL"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Zt;class qt{}qt.BASE_PLATE={type:3,value:"BASE_PLATE"},qt.COVER_PLATE={type:3,value:"COVER_PLATE"},qt.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},qt.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},qt.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},qt.SHEET={type:3,value:"SHEET"},qt.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},qt.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},qt.WEB_PLATE={type:3,value:"WEB_PLATE"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=qt;class Jt{}Jt.CURVE3D={type:3,value:"CURVE3D"},Jt.PCURVE_S1={type:3,value:"PCURVE_S1"},Jt.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jt;class $t{}$t.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},$t.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},$t.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},$t.CALIBRATION={type:3,value:"CALIBRATION"},$t.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},$t.SHUTDOWN={type:3,value:"SHUTDOWN"},$t.STARTUP={type:3,value:"STARTUP"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=$t;class es{}es.AREA={type:3,value:"AREA"},es.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=es;class ts{}ts.CHANGEORDER={type:3,value:"CHANGEORDER"},ts.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},ts.MOVEORDER={type:3,value:"MOVEORDER"},ts.PURCHASEORDER={type:3,value:"PURCHASEORDER"},ts.WORKORDER={type:3,value:"WORKORDER"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=ts;class ss{}ss.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ss.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=ss;class is{}is.BLISTER={type:3,value:"BLISTER"},is.DEVIATOR={type:3,value:"DEVIATOR"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=is;class rs{}rs.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},rs.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},rs.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},rs.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},rs.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},rs.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},rs.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},rs.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},rs.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=rs;class os{}os.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},os.ELECTRONIC={type:3,value:"ELECTRONIC"},os.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},os.THERMAL={type:3,value:"THERMAL"},os.USERDEFINED={type:3,value:"USERDEFINED"},os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=os;class ns{}ns.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},ns.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ns.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ns.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ns.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ns.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ns.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ns.SPARKGAP={type:3,value:"SPARKGAP"},ns.VARISTOR={type:3,value:"VARISTOR"},ns.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=ns;class as{}as.CIRCULATOR={type:3,value:"CIRCULATOR"},as.ENDSUCTION={type:3,value:"ENDSUCTION"},as.SPLITCASE={type:3,value:"SPLITCASE"},as.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},as.SUMPPUMP={type:3,value:"SUMPPUMP"},as.VERTICALINLINE={type:3,value:"VERTICALINLINE"},as.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=as;class ls{}ls.BLADE={type:3,value:"BLADE"},ls.CHECKRAIL={type:3,value:"CHECKRAIL"},ls.GUARDRAIL={type:3,value:"GUARDRAIL"},ls.RACKRAIL={type:3,value:"RACKRAIL"},ls.RAIL={type:3,value:"RAIL"},ls.STOCKRAIL={type:3,value:"STOCKRAIL"},ls.USERDEFINED={type:3,value:"USERDEFINED"},ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=ls;class hs{}hs.BALUSTRADE={type:3,value:"BALUSTRADE"},hs.FENCE={type:3,value:"FENCE"},hs.GUARDRAIL={type:3,value:"GUARDRAIL"},hs.HANDRAIL={type:3,value:"HANDRAIL"},hs.USERDEFINED={type:3,value:"USERDEFINED"},hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=hs;class cs{}cs.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},cs.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},cs.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},cs.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},cs.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},cs.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},cs.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},cs.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},cs.USERDEFINED={type:3,value:"USERDEFINED"},cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=cs;class us{}us.USERDEFINED={type:3,value:"USERDEFINED"},us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=us;class As{}As.SPIRAL={type:3,value:"SPIRAL"},As.STRAIGHT={type:3,value:"STRAIGHT"},As.USERDEFINED={type:3,value:"USERDEFINED"},As.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=As;class ps{}ps.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},ps.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},ps.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},ps.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},ps.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},ps.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},ps.USERDEFINED={type:3,value:"USERDEFINED"},ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=ps;class ds{}ds.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},ds.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},ds.DAILY={type:3,value:"DAILY"},ds.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},ds.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},ds.WEEKLY={type:3,value:"WEEKLY"},ds.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},ds.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=ds;class fs{}fs.BOUNDARY={type:3,value:"BOUNDARY"},fs.INTERSECTION={type:3,value:"INTERSECTION"},fs.KILOPOINT={type:3,value:"KILOPOINT"},fs.LANDMARK={type:3,value:"LANDMARK"},fs.MILEPOINT={type:3,value:"MILEPOINT"},fs.POSITION={type:3,value:"POSITION"},fs.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},fs.STATION={type:3,value:"STATION"},fs.USERDEFINED={type:3,value:"USERDEFINED"},fs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=fs;class ms{}ms.BLINN={type:3,value:"BLINN"},ms.FLAT={type:3,value:"FLAT"},ms.GLASS={type:3,value:"GLASS"},ms.MATT={type:3,value:"MATT"},ms.METAL={type:3,value:"METAL"},ms.MIRROR={type:3,value:"MIRROR"},ms.PHONG={type:3,value:"PHONG"},ms.PHYSICAL={type:3,value:"PHYSICAL"},ms.PLASTIC={type:3,value:"PLASTIC"},ms.STRAUSS={type:3,value:"STRAUSS"},ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=ms;class Es{}Es.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Es.GROUTED={type:3,value:"GROUTED"},Es.REPLACED={type:3,value:"REPLACED"},Es.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Es.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Es.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Es.USERDEFINED={type:3,value:"USERDEFINED"},Es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=Es;class ys{}ys.ANCHORING={type:3,value:"ANCHORING"},ys.EDGE={type:3,value:"EDGE"},ys.LIGATURE={type:3,value:"LIGATURE"},ys.MAIN={type:3,value:"MAIN"},ys.PUNCHING={type:3,value:"PUNCHING"},ys.RING={type:3,value:"RING"},ys.SHEAR={type:3,value:"SHEAR"},ys.STUD={type:3,value:"STUD"},ys.USERDEFINED={type:3,value:"USERDEFINED"},ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=ys;class gs{}gs.PLAIN={type:3,value:"PLAIN"},gs.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=gs;class vs{}vs.ANCHORING={type:3,value:"ANCHORING"},vs.EDGE={type:3,value:"EDGE"},vs.LIGATURE={type:3,value:"LIGATURE"},vs.MAIN={type:3,value:"MAIN"},vs.PUNCHING={type:3,value:"PUNCHING"},vs.RING={type:3,value:"RING"},vs.SHEAR={type:3,value:"SHEAR"},vs.SPACEBAR={type:3,value:"SPACEBAR"},vs.STUD={type:3,value:"STUD"},vs.USERDEFINED={type:3,value:"USERDEFINED"},vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=vs;class Is{}Is.USERDEFINED={type:3,value:"USERDEFINED"},Is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Is;class Ts{}Ts.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Ts.BUS_STOP={type:3,value:"BUS_STOP"},Ts.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Ts.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Ts.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Ts.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Ts.INTERSECTION={type:3,value:"INTERSECTION"},Ts.LAYBY={type:3,value:"LAYBY"},Ts.PARKINGBAY={type:3,value:"PARKINGBAY"},Ts.PASSINGBAY={type:3,value:"PASSINGBAY"},Ts.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Ts.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Ts.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Ts.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Ts.ROADSIDE={type:3,value:"ROADSIDE"},Ts.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Ts.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Ts.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Ts.SHOULDER={type:3,value:"SHOULDER"},Ts.SIDEWALK={type:3,value:"SIDEWALK"},Ts.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Ts.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Ts.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Ts.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Ts.USERDEFINED={type:3,value:"USERDEFINED"},Ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Ts;class _s{}_s.USERDEFINED={type:3,value:"USERDEFINED"},_s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=_s;class Rs{}Rs.ARCHITECT={type:3,value:"ARCHITECT"},Rs.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Rs.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Rs.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Rs.CLIENT={type:3,value:"CLIENT"},Rs.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},Rs.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Rs.CONSULTANT={type:3,value:"CONSULTANT"},Rs.CONTRACTOR={type:3,value:"CONTRACTOR"},Rs.COSTENGINEER={type:3,value:"COSTENGINEER"},Rs.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Rs.ENGINEER={type:3,value:"ENGINEER"},Rs.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Rs.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Rs.MANUFACTURER={type:3,value:"MANUFACTURER"},Rs.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Rs.OWNER={type:3,value:"OWNER"},Rs.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Rs.RESELLER={type:3,value:"RESELLER"},Rs.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Rs.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Rs.SUPPLIER={type:3,value:"SUPPLIER"},Rs.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Rs;class Ps{}Ps.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ps.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ps.DOME_ROOF={type:3,value:"DOME_ROOF"},Ps.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ps.FREEFORM={type:3,value:"FREEFORM"},Ps.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ps.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ps.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ps.HIP_ROOF={type:3,value:"HIP_ROOF"},Ps.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ps.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ps.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ps.SHED_ROOF={type:3,value:"SHED_ROOF"},Ps.USERDEFINED={type:3,value:"USERDEFINED"},Ps.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ps;class Ds{}Ds.ATTO={type:3,value:"ATTO"},Ds.CENTI={type:3,value:"CENTI"},Ds.DECA={type:3,value:"DECA"},Ds.DECI={type:3,value:"DECI"},Ds.EXA={type:3,value:"EXA"},Ds.FEMTO={type:3,value:"FEMTO"},Ds.GIGA={type:3,value:"GIGA"},Ds.HECTO={type:3,value:"HECTO"},Ds.KILO={type:3,value:"KILO"},Ds.MEGA={type:3,value:"MEGA"},Ds.MICRO={type:3,value:"MICRO"},Ds.MILLI={type:3,value:"MILLI"},Ds.NANO={type:3,value:"NANO"},Ds.PETA={type:3,value:"PETA"},Ds.PICO={type:3,value:"PICO"},Ds.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Ds;class Ns{}Ns.AMPERE={type:3,value:"AMPERE"},Ns.BECQUEREL={type:3,value:"BECQUEREL"},Ns.CANDELA={type:3,value:"CANDELA"},Ns.COULOMB={type:3,value:"COULOMB"},Ns.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Ns.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Ns.FARAD={type:3,value:"FARAD"},Ns.GRAM={type:3,value:"GRAM"},Ns.GRAY={type:3,value:"GRAY"},Ns.HENRY={type:3,value:"HENRY"},Ns.HERTZ={type:3,value:"HERTZ"},Ns.JOULE={type:3,value:"JOULE"},Ns.KELVIN={type:3,value:"KELVIN"},Ns.LUMEN={type:3,value:"LUMEN"},Ns.LUX={type:3,value:"LUX"},Ns.METRE={type:3,value:"METRE"},Ns.MOLE={type:3,value:"MOLE"},Ns.NEWTON={type:3,value:"NEWTON"},Ns.OHM={type:3,value:"OHM"},Ns.PASCAL={type:3,value:"PASCAL"},Ns.RADIAN={type:3,value:"RADIAN"},Ns.SECOND={type:3,value:"SECOND"},Ns.SIEMENS={type:3,value:"SIEMENS"},Ns.SIEVERT={type:3,value:"SIEVERT"},Ns.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Ns.STERADIAN={type:3,value:"STERADIAN"},Ns.TESLA={type:3,value:"TESLA"},Ns.VOLT={type:3,value:"VOLT"},Ns.WATT={type:3,value:"WATT"},Ns.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Ns;class Cs{}Cs.BATH={type:3,value:"BATH"},Cs.BIDET={type:3,value:"BIDET"},Cs.CISTERN={type:3,value:"CISTERN"},Cs.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},Cs.SHOWER={type:3,value:"SHOWER"},Cs.SINK={type:3,value:"SINK"},Cs.TOILETPAN={type:3,value:"TOILETPAN"},Cs.URINAL={type:3,value:"URINAL"},Cs.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},Cs.WCSEAT={type:3,value:"WCSEAT"},Cs.USERDEFINED={type:3,value:"USERDEFINED"},Cs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=Cs;class bs{}bs.TAPERED={type:3,value:"TAPERED"},bs.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=bs;class Os{}Os.CO2SENSOR={type:3,value:"CO2SENSOR"},Os.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Os.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Os.COSENSOR={type:3,value:"COSENSOR"},Os.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},Os.FIRESENSOR={type:3,value:"FIRESENSOR"},Os.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Os.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},Os.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Os.GASSENSOR={type:3,value:"GASSENSOR"},Os.HEATSENSOR={type:3,value:"HEATSENSOR"},Os.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Os.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Os.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Os.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Os.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Os.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Os.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Os.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},Os.PHSENSOR={type:3,value:"PHSENSOR"},Os.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Os.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Os.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Os.RAINSENSOR={type:3,value:"RAINSENSOR"},Os.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Os.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},Os.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Os.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Os.TRAINSENSOR={type:3,value:"TRAINSENSOR"},Os.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},Os.WHEELSENSOR={type:3,value:"WHEELSENSOR"},Os.WINDSENSOR={type:3,value:"WINDSENSOR"},Os.USERDEFINED={type:3,value:"USERDEFINED"},Os.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Os;class Ss{}Ss.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ss.FINISH_START={type:3,value:"FINISH_START"},Ss.START_FINISH={type:3,value:"START_FINISH"},Ss.START_START={type:3,value:"START_START"},Ss.USERDEFINED={type:3,value:"USERDEFINED"},Ss.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ss;class xs{}xs.AWNING={type:3,value:"AWNING"},xs.JALOUSIE={type:3,value:"JALOUSIE"},xs.SHUTTER={type:3,value:"SHUTTER"},xs.USERDEFINED={type:3,value:"USERDEFINED"},xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=xs;class ws{}ws.MARKER={type:3,value:"MARKER"},ws.MIRROR={type:3,value:"MIRROR"},ws.PICTORAL={type:3,value:"PICTORAL"},ws.USERDEFINED={type:3,value:"USERDEFINED"},ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=ws;class Bs{}Bs.AUDIO={type:3,value:"AUDIO"},Bs.MIXED={type:3,value:"MIXED"},Bs.VISUAL={type:3,value:"VISUAL"},Bs.USERDEFINED={type:3,value:"USERDEFINED"},Bs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=Bs;class Fs{}Fs.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Fs.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Fs.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Fs.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Fs.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Fs.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Fs.Q_AREA={type:3,value:"Q_AREA"},Fs.Q_COUNT={type:3,value:"Q_COUNT"},Fs.Q_LENGTH={type:3,value:"Q_LENGTH"},Fs.Q_NUMBER={type:3,value:"Q_NUMBER"},Fs.Q_TIME={type:3,value:"Q_TIME"},Fs.Q_VOLUME={type:3,value:"Q_VOLUME"},Fs.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=Fs;class Ms{}Ms.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},Ms.BASESLAB={type:3,value:"BASESLAB"},Ms.FLOOR={type:3,value:"FLOOR"},Ms.LANDING={type:3,value:"LANDING"},Ms.PAVING={type:3,value:"PAVING"},Ms.ROOF={type:3,value:"ROOF"},Ms.SIDEWALK={type:3,value:"SIDEWALK"},Ms.TRACKSLAB={type:3,value:"TRACKSLAB"},Ms.WEARING={type:3,value:"WEARING"},Ms.USERDEFINED={type:3,value:"USERDEFINED"},Ms.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Ms;class Ls{}Ls.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ls.SOLARPANEL={type:3,value:"SOLARPANEL"},Ls.USERDEFINED={type:3,value:"USERDEFINED"},Ls.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Ls;class Us{}Us.CONVECTOR={type:3,value:"CONVECTOR"},Us.RADIATOR={type:3,value:"RADIATOR"},Us.USERDEFINED={type:3,value:"USERDEFINED"},Us.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Us;class Hs{}Hs.BERTH={type:3,value:"BERTH"},Hs.EXTERNAL={type:3,value:"EXTERNAL"},Hs.GFA={type:3,value:"GFA"},Hs.INTERNAL={type:3,value:"INTERNAL"},Hs.PARKING={type:3,value:"PARKING"},Hs.SPACE={type:3,value:"SPACE"},Hs.USERDEFINED={type:3,value:"USERDEFINED"},Hs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Hs;class Gs{}Gs.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Gs.FIRESAFETY={type:3,value:"FIRESAFETY"},Gs.INTERFERENCE={type:3,value:"INTERFERENCE"},Gs.LIGHTING={type:3,value:"LIGHTING"},Gs.OCCUPANCY={type:3,value:"OCCUPANCY"},Gs.RESERVATION={type:3,value:"RESERVATION"},Gs.SECURITY={type:3,value:"SECURITY"},Gs.THERMAL={type:3,value:"THERMAL"},Gs.TRANSPORT={type:3,value:"TRANSPORT"},Gs.VENTILATION={type:3,value:"VENTILATION"},Gs.USERDEFINED={type:3,value:"USERDEFINED"},Gs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Gs;class ks{}ks.BIRDCAGE={type:3,value:"BIRDCAGE"},ks.COWL={type:3,value:"COWL"},ks.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},ks.USERDEFINED={type:3,value:"USERDEFINED"},ks.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=ks;class Vs{}Vs.CURVED={type:3,value:"CURVED"},Vs.FREEFORM={type:3,value:"FREEFORM"},Vs.SPIRAL={type:3,value:"SPIRAL"},Vs.STRAIGHT={type:3,value:"STRAIGHT"},Vs.WINDER={type:3,value:"WINDER"},Vs.USERDEFINED={type:3,value:"USERDEFINED"},Vs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Vs;class Qs{}Qs.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Qs.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Qs.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Qs.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Qs.LADDER={type:3,value:"LADDER"},Qs.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Qs.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Qs.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Qs.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Qs.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Qs.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Qs.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Qs.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Qs.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Qs.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Qs.USERDEFINED={type:3,value:"USERDEFINED"},Qs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Qs;class js{}js.LOCKED={type:3,value:"LOCKED"},js.READONLY={type:3,value:"READONLY"},js.READONLYLOCKED={type:3,value:"READONLYLOCKED"},js.READWRITE={type:3,value:"READWRITE"},js.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=js;class Ws{}Ws.CONST={type:3,value:"CONST"},Ws.DISCRETE={type:3,value:"DISCRETE"},Ws.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ws.LINEAR={type:3,value:"LINEAR"},Ws.PARABOLA={type:3,value:"PARABOLA"},Ws.POLYGONAL={type:3,value:"POLYGONAL"},Ws.SINUS={type:3,value:"SINUS"},Ws.USERDEFINED={type:3,value:"USERDEFINED"},Ws.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Ws;class zs{}zs.CABLE={type:3,value:"CABLE"},zs.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},zs.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},zs.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},zs.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},zs.USERDEFINED={type:3,value:"USERDEFINED"},zs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=zs;class Ks{}Ks.BILINEAR={type:3,value:"BILINEAR"},Ks.CONST={type:3,value:"CONST"},Ks.DISCRETE={type:3,value:"DISCRETE"},Ks.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Ks.USERDEFINED={type:3,value:"USERDEFINED"},Ks.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Ks;class Ys{}Ys.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Ys.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Ys.SHELL={type:3,value:"SHELL"},Ys.USERDEFINED={type:3,value:"USERDEFINED"},Ys.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Ys;class Xs{}Xs.PURCHASE={type:3,value:"PURCHASE"},Xs.WORK={type:3,value:"WORK"},Xs.USERDEFINED={type:3,value:"USERDEFINED"},Xs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Xs;class Zs{}Zs.DEFECT={type:3,value:"DEFECT"},Zs.HATCHMARKING={type:3,value:"HATCHMARKING"},Zs.LINEMARKING={type:3,value:"LINEMARKING"},Zs.MARK={type:3,value:"MARK"},Zs.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Zs.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Zs.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Zs.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Zs.TAG={type:3,value:"TAG"},Zs.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Zs.TREATMENT={type:3,value:"TREATMENT"},Zs.USERDEFINED={type:3,value:"USERDEFINED"},Zs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Zs;class qs{}qs.BOTH={type:3,value:"BOTH"},qs.NEGATIVE={type:3,value:"NEGATIVE"},qs.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=qs;class Js{}Js.CONTACTOR={type:3,value:"CONTACTOR"},Js.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},Js.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Js.KEYPAD={type:3,value:"KEYPAD"},Js.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},Js.RELAY={type:3,value:"RELAY"},Js.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},Js.STARTER={type:3,value:"STARTER"},Js.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},Js.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Js.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Js.USERDEFINED={type:3,value:"USERDEFINED"},Js.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Js;class $s{}$s.PANEL={type:3,value:"PANEL"},$s.SUBRACK={type:3,value:"SUBRACK"},$s.WORKSURFACE={type:3,value:"WORKSURFACE"},$s.USERDEFINED={type:3,value:"USERDEFINED"},$s.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=$s;class ei{}ei.BASIN={type:3,value:"BASIN"},ei.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},ei.EXPANSION={type:3,value:"EXPANSION"},ei.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},ei.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},ei.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},ei.STORAGE={type:3,value:"STORAGE"},ei.VESSEL={type:3,value:"VESSEL"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=ei;class ti{}ti.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},ti.WORKTIME={type:3,value:"WORKTIME"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=ti;class si{}si.ADJUSTMENT={type:3,value:"ADJUSTMENT"},si.ATTENDANCE={type:3,value:"ATTENDANCE"},si.CALIBRATION={type:3,value:"CALIBRATION"},si.CONSTRUCTION={type:3,value:"CONSTRUCTION"},si.DEMOLITION={type:3,value:"DEMOLITION"},si.DISMANTLE={type:3,value:"DISMANTLE"},si.DISPOSAL={type:3,value:"DISPOSAL"},si.EMERGENCY={type:3,value:"EMERGENCY"},si.INSPECTION={type:3,value:"INSPECTION"},si.INSTALLATION={type:3,value:"INSTALLATION"},si.LOGISTIC={type:3,value:"LOGISTIC"},si.MAINTENANCE={type:3,value:"MAINTENANCE"},si.MOVE={type:3,value:"MOVE"},si.OPERATION={type:3,value:"OPERATION"},si.REMOVAL={type:3,value:"REMOVAL"},si.RENOVATION={type:3,value:"RENOVATION"},si.SAFETY={type:3,value:"SAFETY"},si.SHUTDOWN={type:3,value:"SHUTDOWN"},si.STARTUP={type:3,value:"STARTUP"},si.TESTING={type:3,value:"TESTING"},si.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=si;class ii{}ii.COUPLER={type:3,value:"COUPLER"},ii.FIXED_END={type:3,value:"FIXED_END"},ii.TENSIONING_END={type:3,value:"TENSIONING_END"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=ii;class ri{}ri.COUPLER={type:3,value:"COUPLER"},ri.DIABOLO={type:3,value:"DIABOLO"},ri.DUCT={type:3,value:"DUCT"},ri.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},ri.TRUMPET={type:3,value:"TRUMPET"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=ri;class oi{}oi.BAR={type:3,value:"BAR"},oi.COATED={type:3,value:"COATED"},oi.STRAND={type:3,value:"STRAND"},oi.WIRE={type:3,value:"WIRE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=oi;class ni{}ni.DOWN={type:3,value:"DOWN"},ni.LEFT={type:3,value:"LEFT"},ni.RIGHT={type:3,value:"RIGHT"},ni.UP={type:3,value:"UP"},e.IfcTextPath=ni;class ai{}ai.CONTINUOUS={type:3,value:"CONTINUOUS"},ai.DISCRETE={type:3,value:"DISCRETE"},ai.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},ai.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},ai.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},ai.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=ai;class li{}li.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},li.DERAILER={type:3,value:"DERAILER"},li.FROG={type:3,value:"FROG"},li.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},li.SLEEPER={type:3,value:"SLEEPER"},li.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},li.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},li.VEHICLESTOP={type:3,value:"VEHICLESTOP"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=li;class hi{}hi.CHOPPER={type:3,value:"CHOPPER"},hi.COMBINED={type:3,value:"COMBINED"},hi.CURRENT={type:3,value:"CURRENT"},hi.FREQUENCY={type:3,value:"FREQUENCY"},hi.INVERTER={type:3,value:"INVERTER"},hi.RECTIFIER={type:3,value:"RECTIFIER"},hi.VOLTAGE={type:3,value:"VOLTAGE"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=hi;class ci{}ci.CONTINUOUS={type:3,value:"CONTINUOUS"},ci.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ci.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},ci.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=ci;class ui{}ui.CRANEWAY={type:3,value:"CRANEWAY"},ui.ELEVATOR={type:3,value:"ELEVATOR"},ui.ESCALATOR={type:3,value:"ESCALATOR"},ui.HAULINGGEAR={type:3,value:"HAULINGGEAR"},ui.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},ui.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=ui;class Ai{}Ai.CARTESIAN={type:3,value:"CARTESIAN"},Ai.PARAMETER={type:3,value:"PARAMETER"},Ai.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Ai;class pi{}pi.FINNED={type:3,value:"FINNED"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=pi;class di{}di.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},di.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},di.AREAUNIT={type:3,value:"AREAUNIT"},di.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},di.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},di.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},di.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},di.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},di.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},di.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},di.ENERGYUNIT={type:3,value:"ENERGYUNIT"},di.FORCEUNIT={type:3,value:"FORCEUNIT"},di.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},di.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},di.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},di.LENGTHUNIT={type:3,value:"LENGTHUNIT"},di.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},di.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},di.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},di.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},di.MASSUNIT={type:3,value:"MASSUNIT"},di.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},di.POWERUNIT={type:3,value:"POWERUNIT"},di.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},di.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},di.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},di.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},di.TIMEUNIT={type:3,value:"TIMEUNIT"},di.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},di.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=di;class fi{}fi.ALARMPANEL={type:3,value:"ALARMPANEL"},fi.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},fi.COMBINED={type:3,value:"COMBINED"},fi.CONTROLPANEL={type:3,value:"CONTROLPANEL"},fi.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},fi.HUMIDISTAT={type:3,value:"HUMIDISTAT"},fi.INDICATORPANEL={type:3,value:"INDICATORPANEL"},fi.MIMICPANEL={type:3,value:"MIMICPANEL"},fi.THERMOSTAT={type:3,value:"THERMOSTAT"},fi.WEATHERSTATION={type:3,value:"WEATHERSTATION"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=fi;class mi{}mi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},mi.AIRHANDLER={type:3,value:"AIRHANDLER"},mi.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},mi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},mi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=mi;class Ei{}Ei.AIRRELEASE={type:3,value:"AIRRELEASE"},Ei.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Ei.CHANGEOVER={type:3,value:"CHANGEOVER"},Ei.CHECK={type:3,value:"CHECK"},Ei.COMMISSIONING={type:3,value:"COMMISSIONING"},Ei.DIVERTING={type:3,value:"DIVERTING"},Ei.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Ei.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Ei.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Ei.FAUCET={type:3,value:"FAUCET"},Ei.FLUSHING={type:3,value:"FLUSHING"},Ei.GASCOCK={type:3,value:"GASCOCK"},Ei.GASTAP={type:3,value:"GASTAP"},Ei.ISOLATING={type:3,value:"ISOLATING"},Ei.MIXING={type:3,value:"MIXING"},Ei.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Ei.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Ei.REGULATING={type:3,value:"REGULATING"},Ei.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Ei.STEAMTRAP={type:3,value:"STEAMTRAP"},Ei.STOPCOCK={type:3,value:"STOPCOCK"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Ei;class yi{}yi.CARGO={type:3,value:"CARGO"},yi.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},yi.VEHICLE={type:3,value:"VEHICLE"},yi.VEHICLEAIR={type:3,value:"VEHICLEAIR"},yi.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},yi.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},yi.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},yi.USERDEFINED={type:3,value:"USERDEFINED"},yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=yi;class gi{}gi.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},gi.BENDING_YIELD={type:3,value:"BENDING_YIELD"},gi.FRICTION={type:3,value:"FRICTION"},gi.RUBBER={type:3,value:"RUBBER"},gi.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},gi.VISCOUS={type:3,value:"VISCOUS"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=gi;class vi{}vi.BASE={type:3,value:"BASE"},vi.COMPRESSION={type:3,value:"COMPRESSION"},vi.SPRING={type:3,value:"SPRING"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=vi;class Ii{}Ii.BOUNDARY={type:3,value:"BOUNDARY"},Ii.CLEARANCE={type:3,value:"CLEARANCE"},Ii.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=Ii;class Ti{}Ti.CHAMFER={type:3,value:"CHAMFER"},Ti.CUTOUT={type:3,value:"CUTOUT"},Ti.EDGE={type:3,value:"EDGE"},Ti.HOLE={type:3,value:"HOLE"},Ti.MITER={type:3,value:"MITER"},Ti.NOTCH={type:3,value:"NOTCH"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Ti;class _i{}_i.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},_i.MOVABLE={type:3,value:"MOVABLE"},_i.PARAPET={type:3,value:"PARAPET"},_i.PARTITIONING={type:3,value:"PARTITIONING"},_i.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},_i.POLYGONAL={type:3,value:"POLYGONAL"},_i.RETAININGWALL={type:3,value:"RETAININGWALL"},_i.SHEAR={type:3,value:"SHEAR"},_i.SOLIDWALL={type:3,value:"SOLIDWALL"},_i.STANDARD={type:3,value:"STANDARD"},_i.WAVEWALL={type:3,value:"WAVEWALL"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=_i;class Ri{}Ri.FLOORTRAP={type:3,value:"FLOORTRAP"},Ri.FLOORWASTE={type:3,value:"FLOORWASTE"},Ri.GULLYSUMP={type:3,value:"GULLYSUMP"},Ri.GULLYTRAP={type:3,value:"GULLYTRAP"},Ri.ROOFDRAIN={type:3,value:"ROOFDRAIN"},Ri.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},Ri.WASTETRAP={type:3,value:"WASTETRAP"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=Ri;class Pi{}Pi.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Pi.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Pi.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Pi.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Pi.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Pi.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Pi.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Pi.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Pi.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Pi.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Pi.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Pi.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Pi.TOPHUNG={type:3,value:"TOPHUNG"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Pi;class Di{}Di.BOTTOM={type:3,value:"BOTTOM"},Di.LEFT={type:3,value:"LEFT"},Di.MIDDLE={type:3,value:"MIDDLE"},Di.RIGHT={type:3,value:"RIGHT"},Di.TOP={type:3,value:"TOP"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Di;class Ni{}Ni.ALUMINIUM={type:3,value:"ALUMINIUM"},Ni.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Ni.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Ni.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},Ni.PLASTIC={type:3,value:"PLASTIC"},Ni.STEEL={type:3,value:"STEEL"},Ni.WOOD={type:3,value:"WOOD"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=Ni;class Ci{}Ci.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Ci.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Ci.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Ci.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Ci.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Ci.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Ci.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Ci.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Ci.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Ci;class bi{}bi.LIGHTDOME={type:3,value:"LIGHTDOME"},bi.SKYLIGHT={type:3,value:"SKYLIGHT"},bi.WINDOW={type:3,value:"WINDOW"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=bi;class Oi{}Oi.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Oi.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Oi.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Oi.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Oi.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Oi.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Oi.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Oi.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Oi.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=Oi;class Si{}Si.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},Si.SECONDSHIFT={type:3,value:"SECONDSHIFT"},Si.THIRDSHIFT={type:3,value:"THIRDSHIFT"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=Si;class xi{}xi.ACTUAL={type:3,value:"ACTUAL"},xi.BASELINE={type:3,value:"BASELINE"},xi.PLANNED={type:3,value:"PLANNED"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=xi;class wi{}wi.ACTUAL={type:3,value:"ACTUAL"},wi.BASELINE={type:3,value:"BASELINE"},wi.PLANNED={type:3,value:"PLANNED"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=wi;e.IfcActorRole=class extends gg{constructor(e,t,s,i){super(e),this.Role=t,this.UserDefinedRole=s,this.Description=i,this.type=3630933823}};class Bi extends gg{constructor(e,t,s,i){super(e),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.type=618182010}}e.IfcAddress=Bi;class Fi extends gg{constructor(e,t,s){super(e),this.StartTag=t,this.EndTag=s,this.type=2879124712}}e.IfcAlignmentParameterSegment=Fi;e.IfcAlignmentVerticalSegment=class extends Fi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.StartTag=t,this.EndTag=s,this.StartDistAlong=i,this.HorizontalLength=r,this.StartHeight=o,this.StartGradient=n,this.EndGradient=a,this.RadiusOfCurvature=l,this.PredefinedType=h,this.type=3633395639}};e.IfcApplication=class extends gg{constructor(e,t,s,i,r){super(e),this.ApplicationDeveloper=t,this.Version=s,this.ApplicationFullName=i,this.ApplicationIdentifier=r,this.type=639542469}};class Mi extends gg{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=411424972}}e.IfcAppliedValue=Mi;e.IfcApproval=class extends gg{constructor(e,t,s,i,r,o,n,a,l,h){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.TimeOfApproval=r,this.Status=o,this.Level=n,this.Qualifier=a,this.RequestingApproval=l,this.GivingApproval=h,this.type=130549933}};class Li extends gg{constructor(e,t){super(e),this.Name=t,this.type=4037036970}}e.IfcBoundaryCondition=Li;e.IfcBoundaryEdgeCondition=class extends Li{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessByLengthX=s,this.TranslationalStiffnessByLengthY=i,this.TranslationalStiffnessByLengthZ=r,this.RotationalStiffnessByLengthX=o,this.RotationalStiffnessByLengthY=n,this.RotationalStiffnessByLengthZ=a,this.type=1560379544}};e.IfcBoundaryFaceCondition=class extends Li{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.TranslationalStiffnessByAreaX=s,this.TranslationalStiffnessByAreaY=i,this.TranslationalStiffnessByAreaZ=r,this.type=3367102660}};class Ui extends Li{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.type=1387855156}}e.IfcBoundaryNodeCondition=Ui;e.IfcBoundaryNodeConditionWarping=class extends Ui{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.TranslationalStiffnessX=s,this.TranslationalStiffnessY=i,this.TranslationalStiffnessZ=r,this.RotationalStiffnessX=o,this.RotationalStiffnessY=n,this.RotationalStiffnessZ=a,this.WarpingStiffness=l,this.type=2069777674}};class Hi extends gg{constructor(e){super(e),this.type=2859738748}}e.IfcConnectionGeometry=Hi;class Gi extends Hi{constructor(e,t,s){super(e),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.type=2614616156}}e.IfcConnectionPointGeometry=Gi;e.IfcConnectionSurfaceGeometry=class extends Hi{constructor(e,t,s){super(e),this.SurfaceOnRelatingElement=t,this.SurfaceOnRelatedElement=s,this.type=2732653382}};e.IfcConnectionVolumeGeometry=class extends Hi{constructor(e,t,s){super(e),this.VolumeOnRelatingElement=t,this.VolumeOnRelatedElement=s,this.type=775493141}};class ki extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.type=1959218052}}e.IfcConstraint=ki;class Vi extends gg{constructor(e,t,s){super(e),this.SourceCRS=t,this.TargetCRS=s,this.type=1785450214}}e.IfcCoordinateOperation=Vi;class Qi extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.type=1466758467}}e.IfcCoordinateReferenceSystem=Qi;e.IfcCostValue=class extends Mi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.Name=t,this.Description=s,this.AppliedValue=i,this.UnitBasis=r,this.ApplicableDate=o,this.FixedUntilDate=n,this.Category=a,this.Condition=l,this.ArithmeticOperator=h,this.Components=c,this.type=602808272}};e.IfcDerivedUnit=class extends gg{constructor(e,t,s,i,r){super(e),this.Elements=t,this.UnitType=s,this.UserDefinedType=i,this.Name=r,this.type=1765591967}};e.IfcDerivedUnitElement=class extends gg{constructor(e,t,s){super(e),this.Unit=t,this.Exponent=s,this.type=1045800335}};e.IfcDimensionalExponents=class extends gg{constructor(e,t,s,i,r,o,n,a){super(e),this.LengthExponent=t,this.MassExponent=s,this.TimeExponent=i,this.ElectricCurrentExponent=r,this.ThermodynamicTemperatureExponent=o,this.AmountOfSubstanceExponent=n,this.LuminousIntensityExponent=a,this.type=2949456006}};class ji extends gg{constructor(e){super(e),this.type=4294318154}}e.IfcExternalInformation=ji;class Wi extends gg{constructor(e,t,s,i){super(e),this.Location=t,this.Identification=s,this.Name=i,this.type=3200245327}}e.IfcExternalReference=Wi;e.IfcExternallyDefinedHatchStyle=class extends Wi{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=2242383968}};e.IfcExternallyDefinedSurfaceStyle=class extends Wi{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=1040185647}};e.IfcExternallyDefinedTextFont=class extends Wi{constructor(e,t,s,i){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.type=3548104201}};e.IfcGridAxis=class extends gg{constructor(e,t,s,i){super(e),this.AxisTag=t,this.AxisCurve=s,this.SameSense=i,this.type=852622518}};e.IfcIrregularTimeSeriesValue=class extends gg{constructor(e,t,s){super(e),this.TimeStamp=t,this.ListValues=s,this.type=3020489413}};e.IfcLibraryInformation=class extends ji{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Version=s,this.Publisher=i,this.VersionDate=r,this.Location=o,this.Description=n,this.type=2655187982}};e.IfcLibraryReference=class extends Wi{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.Language=o,this.ReferencedLibrary=n,this.type=3452421091}};e.IfcLightDistributionData=class extends gg{constructor(e,t,s,i){super(e),this.MainPlaneAngle=t,this.SecondaryPlaneAngle=s,this.LuminousIntensity=i,this.type=4162380809}};e.IfcLightIntensityDistribution=class extends gg{constructor(e,t,s){super(e),this.LightDistributionCurve=t,this.DistributionData=s,this.type=1566485204}};e.IfcMapConversion=class extends Vi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s),this.SourceCRS=t,this.TargetCRS=s,this.Eastings=i,this.Northings=r,this.OrthogonalHeight=o,this.XAxisAbscissa=n,this.XAxisOrdinate=a,this.Scale=l,this.ScaleY=h,this.ScaleZ=c,this.type=3057273783}};e.IfcMaterialClassificationRelationship=class extends gg{constructor(e,t,s){super(e),this.MaterialClassifications=t,this.ClassifiedMaterial=s,this.type=1847130766}};class zi extends gg{constructor(e){super(e),this.type=760658860}}e.IfcMaterialDefinition=zi;class Ki extends zi{constructor(e,t,s,i,r,o,n,a){super(e),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.type=248100487}}e.IfcMaterialLayer=Ki;e.IfcMaterialLayerSet=class extends zi{constructor(e,t,s,i){super(e),this.MaterialLayers=t,this.LayerSetName=s,this.Description=i,this.type=3303938423}};e.IfcMaterialLayerWithOffsets=class extends Ki{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.Material=t,this.LayerThickness=s,this.IsVentilated=i,this.Name=r,this.Description=o,this.Category=n,this.Priority=a,this.OffsetDirection=l,this.OffsetValues=h,this.type=1847252529}};e.IfcMaterialList=class extends gg{constructor(e,t){super(e),this.Materials=t,this.type=2199411900}};class Yi extends zi{constructor(e,t,s,i,r,o,n){super(e),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.type=2235152071}}e.IfcMaterialProfile=Yi;e.IfcMaterialProfileSet=class extends zi{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.MaterialProfiles=i,this.CompositeProfile=r,this.type=164193824}};e.IfcMaterialProfileWithOffsets=class extends Yi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.Name=t,this.Description=s,this.Material=i,this.Profile=r,this.Priority=o,this.Category=n,this.OffsetValues=a,this.type=552965576}};class Xi extends gg{constructor(e){super(e),this.type=1507914824}}e.IfcMaterialUsageDefinition=Xi;e.IfcMeasureWithUnit=class extends gg{constructor(e,t,s){super(e),this.ValueComponent=t,this.UnitComponent=s,this.type=2597039031}};e.IfcMetric=class extends ki{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.Benchmark=l,this.ValueSource=h,this.DataValue=c,this.ReferencePath=u,this.type=3368373690}};e.IfcMonetaryUnit=class extends gg{constructor(e,t){super(e),this.Currency=t,this.type=2706619895}};class Zi extends gg{constructor(e,t,s){super(e),this.Dimensions=t,this.UnitType=s,this.type=1918398963}}e.IfcNamedUnit=Zi;class qi extends gg{constructor(e,t){super(e),this.PlacementRelTo=t,this.type=3701648758}}e.IfcObjectPlacement=qi;e.IfcObjective=class extends ki{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.Name=t,this.Description=s,this.ConstraintGrade=i,this.ConstraintSource=r,this.CreatingActor=o,this.CreationTime=n,this.UserDefinedGrade=a,this.BenchmarkValues=l,this.LogicalAggregator=h,this.ObjectiveQualifier=c,this.UserDefinedQualifier=u,this.type=2251480897}};e.IfcOrganization=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Roles=r,this.Addresses=o,this.type=4251960020}};e.IfcOwnerHistory=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.OwningUser=t,this.OwningApplication=s,this.State=i,this.ChangeAction=r,this.LastModifiedDate=o,this.LastModifyingUser=n,this.LastModifyingApplication=a,this.CreationDate=l,this.type=1207048766}};e.IfcPerson=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Identification=t,this.FamilyName=s,this.GivenName=i,this.MiddleNames=r,this.PrefixTitles=o,this.SuffixTitles=n,this.Roles=a,this.Addresses=l,this.type=2077209135}};e.IfcPersonAndOrganization=class extends gg{constructor(e,t,s,i){super(e),this.ThePerson=t,this.TheOrganization=s,this.Roles=i,this.type=101040310}};class Ji extends gg{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2483315170}}e.IfcPhysicalQuantity=Ji;class $i extends Ji{constructor(e,t,s,i){super(e,t,s),this.Name=t,this.Description=s,this.Unit=i,this.type=2226359599}}e.IfcPhysicalSimpleQuantity=$i;e.IfcPostalAddress=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.InternalLocation=r,this.AddressLines=o,this.PostalBox=n,this.Town=a,this.Region=l,this.PostalCode=h,this.Country=c,this.type=3355820592}};class er extends gg{constructor(e){super(e),this.type=677532197}}e.IfcPresentationItem=er;class tr extends gg{constructor(e,t,s,i,r){super(e),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.type=2022622350}}e.IfcPresentationLayerAssignment=tr;e.IfcPresentationLayerWithStyle=class extends tr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r),this.Name=t,this.Description=s,this.AssignedItems=i,this.Identifier=r,this.LayerOn=o,this.LayerFrozen=n,this.LayerBlocked=a,this.LayerStyles=l,this.type=1304840413}};class sr extends gg{constructor(e,t){super(e),this.Name=t,this.type=3119450353}}e.IfcPresentationStyle=sr;class ir extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Representations=i,this.type=2095639259}}e.IfcProductRepresentation=ir;class rr extends gg{constructor(e,t,s){super(e),this.ProfileType=t,this.ProfileName=s,this.type=3958567839}}e.IfcProfileDef=rr;e.IfcProjectedCRS=class extends Qi{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.Name=t,this.Description=s,this.GeodeticDatum=i,this.VerticalDatum=r,this.MapProjection=o,this.MapZone=n,this.MapUnit=a,this.type=3843373140}};class or extends gg{constructor(e){super(e),this.type=986844984}}e.IfcPropertyAbstraction=or;e.IfcPropertyEnumeration=class extends or{constructor(e,t,s,i){super(e),this.Name=t,this.EnumerationValues=s,this.Unit=i,this.type=3710013099}};e.IfcQuantityArea=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.AreaValue=r,this.Formula=o,this.type=2044713172}};e.IfcQuantityCount=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.CountValue=r,this.Formula=o,this.type=2093928680}};e.IfcQuantityLength=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.LengthValue=r,this.Formula=o,this.type=931644368}};e.IfcQuantityNumber=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.NumberValue=r,this.Formula=o,this.type=2691318326}};e.IfcQuantityTime=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.TimeValue=r,this.Formula=o,this.type=3252649465}};e.IfcQuantityVolume=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.VolumeValue=r,this.Formula=o,this.type=2405470396}};e.IfcQuantityWeight=class extends $i{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.Description=s,this.Unit=i,this.WeightValue=r,this.Formula=o,this.type=825690147}};e.IfcRecurrencePattern=class extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.RecurrenceType=t,this.DayComponent=s,this.WeekdayComponent=i,this.MonthComponent=r,this.Position=o,this.Interval=n,this.Occurrences=a,this.TimePeriods=l,this.type=3915482550}};e.IfcReference=class extends gg{constructor(e,t,s,i,r,o){super(e),this.TypeIdentifier=t,this.AttributeIdentifier=s,this.InstanceName=i,this.ListPositions=r,this.InnerReference=o,this.type=2433181523}};class nr extends gg{constructor(e,t,s,i,r){super(e),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1076942058}}e.IfcRepresentation=nr;class ar extends gg{constructor(e,t,s){super(e),this.ContextIdentifier=t,this.ContextType=s,this.type=3377609919}}e.IfcRepresentationContext=ar;class lr extends gg{constructor(e){super(e),this.type=3008791417}}e.IfcRepresentationItem=lr;e.IfcRepresentationMap=class extends gg{constructor(e,t,s){super(e),this.MappingOrigin=t,this.MappedRepresentation=s,this.type=1660063152}};class hr extends gg{constructor(e,t,s){super(e),this.Name=t,this.Description=s,this.type=2439245199}}e.IfcResourceLevelRelationship=hr;class cr extends gg{constructor(e,t,s,i,r){super(e),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2341007311}}e.IfcRoot=cr;e.IfcSIUnit=class extends Zi{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Prefix=i,this.Name=r,this.type=448429030}};class ur extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.type=1054537805}}e.IfcSchedulingTime=ur;e.IfcShapeAspect=class extends gg{constructor(e,t,s,i,r,o){super(e),this.ShapeRepresentations=t,this.Name=s,this.Description=i,this.ProductDefinitional=r,this.PartOfProductDefinitionShape=o,this.type=867548509}};class Ar extends nr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3982875396}}e.IfcShapeModel=Ar;e.IfcShapeRepresentation=class extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=4240577450}};class pr extends gg{constructor(e,t){super(e),this.Name=t,this.type=2273995522}}e.IfcStructuralConnectionCondition=pr;class dr extends gg{constructor(e,t){super(e),this.Name=t,this.type=2162789131}}e.IfcStructuralLoad=dr;e.IfcStructuralLoadConfiguration=class extends dr{constructor(e,t,s,i){super(e,t),this.Name=t,this.Values=s,this.Locations=i,this.type=3478079324}};class fr extends dr{constructor(e,t){super(e,t),this.Name=t,this.type=609421318}}e.IfcStructuralLoadOrResult=fr;class mr extends fr{constructor(e,t){super(e,t),this.Name=t,this.type=2525727697}}e.IfcStructuralLoadStatic=mr;e.IfcStructuralLoadTemperature=class extends mr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.DeltaTConstant=s,this.DeltaTY=i,this.DeltaTZ=r,this.type=3408363356}};class Er extends nr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=2830218821}}e.IfcStyleModel=Er;e.IfcStyledItem=class extends lr{constructor(e,t,s,i){super(e),this.Item=t,this.Styles=s,this.Name=i,this.type=3958052878}};e.IfcStyledRepresentation=class extends Er{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=3049322572}};e.IfcSurfaceReinforcementArea=class extends fr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SurfaceReinforcement1=s,this.SurfaceReinforcement2=i,this.ShearReinforcement=r,this.type=2934153892}};e.IfcSurfaceStyle=class extends sr{constructor(e,t,s,i){super(e,t),this.Name=t,this.Side=s,this.Styles=i,this.type=1300840506}};e.IfcSurfaceStyleLighting=class extends er{constructor(e,t,s,i,r){super(e),this.DiffuseTransmissionColour=t,this.DiffuseReflectionColour=s,this.TransmissionColour=i,this.ReflectanceColour=r,this.type=3303107099}};e.IfcSurfaceStyleRefraction=class extends er{constructor(e,t,s){super(e),this.RefractionIndex=t,this.DispersionFactor=s,this.type=1607154358}};class yr extends er{constructor(e,t,s){super(e),this.SurfaceColour=t,this.Transparency=s,this.type=846575682}}e.IfcSurfaceStyleShading=yr;e.IfcSurfaceStyleWithTextures=class extends er{constructor(e,t){super(e),this.Textures=t,this.type=1351298697}};class gr extends er{constructor(e,t,s,i,r,o){super(e),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.type=626085974}}e.IfcSurfaceTexture=gr;e.IfcTable=class extends gg{constructor(e,t,s,i){super(e),this.Name=t,this.Rows=s,this.Columns=i,this.type=985171141}};e.IfcTableColumn=class extends gg{constructor(e,t,s,i,r,o){super(e),this.Identifier=t,this.Name=s,this.Description=i,this.Unit=r,this.ReferencePath=o,this.type=2043862942}};e.IfcTableRow=class extends gg{constructor(e,t,s){super(e),this.RowCells=t,this.IsHeading=s,this.type=531007025}};class vr extends ur{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.type=1549132990}}e.IfcTaskTime=vr;e.IfcTaskTimeRecurring=class extends vr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v,I){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.DurationType=r,this.ScheduleDuration=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.EarlyStart=l,this.EarlyFinish=h,this.LateStart=c,this.LateFinish=u,this.FreeFloat=A,this.TotalFloat=p,this.IsCritical=d,this.StatusTime=f,this.ActualDuration=m,this.ActualStart=E,this.ActualFinish=y,this.RemainingTime=g,this.Completion=v,this.Recurrence=I,this.type=2771591690}};e.IfcTelecomAddress=class extends Bi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.Purpose=t,this.Description=s,this.UserDefinedPurpose=i,this.TelephoneNumbers=r,this.FacsimileNumbers=o,this.PagerNumber=n,this.ElectronicMailAddresses=a,this.WWWHomePageURL=l,this.MessagingIDs=h,this.type=912023232}};e.IfcTextStyle=class extends sr{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.TextCharacterAppearance=s,this.TextStyle=i,this.TextFontStyle=r,this.ModelOrDraughting=o,this.type=1447204868}};e.IfcTextStyleForDefinedFont=class extends er{constructor(e,t,s){super(e),this.Colour=t,this.BackgroundColour=s,this.type=2636378356}};e.IfcTextStyleTextModel=class extends er{constructor(e,t,s,i,r,o,n,a){super(e),this.TextIndent=t,this.TextAlign=s,this.TextDecoration=i,this.LetterSpacing=r,this.WordSpacing=o,this.TextTransform=n,this.LineHeight=a,this.type=1640371178}};class Ir extends er{constructor(e,t){super(e),this.Maps=t,this.type=280115917}}e.IfcTextureCoordinate=Ir;e.IfcTextureCoordinateGenerator=class extends Ir{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Mode=s,this.Parameter=i,this.type=1742049831}};class Tr extends gg{constructor(e,t,s){super(e),this.TexCoordIndex=t,this.TexCoordsOf=s,this.type=222769930}}e.IfcTextureCoordinateIndices=Tr;e.IfcTextureCoordinateIndicesWithVoids=class extends Tr{constructor(e,t,s,i){super(e,t,s),this.TexCoordIndex=t,this.TexCoordsOf=s,this.InnerTexCoordIndices=i,this.type=1010789467}};e.IfcTextureMap=class extends Ir{constructor(e,t,s,i){super(e,t),this.Maps=t,this.Vertices=s,this.MappedTo=i,this.type=2552916305}};e.IfcTextureVertex=class extends er{constructor(e,t){super(e),this.Coordinates=t,this.type=1210645708}};e.IfcTextureVertexList=class extends er{constructor(e,t){super(e),this.TexCoordsList=t,this.type=3611470254}};e.IfcTimePeriod=class extends gg{constructor(e,t,s){super(e),this.StartTime=t,this.EndTime=s,this.type=1199560280}};class _r extends gg{constructor(e,t,s,i,r,o,n,a,l){super(e),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.type=3101149627}}e.IfcTimeSeries=_r;e.IfcTimeSeriesValue=class extends gg{constructor(e,t){super(e),this.ListValues=t,this.type=581633288}};class Rr extends lr{constructor(e){super(e),this.type=1377556343}}e.IfcTopologicalRepresentationItem=Rr;e.IfcTopologyRepresentation=class extends Ar{constructor(e,t,s,i,r){super(e,t,s,i,r),this.ContextOfItems=t,this.RepresentationIdentifier=s,this.RepresentationType=i,this.Items=r,this.type=1735638870}};e.IfcUnitAssignment=class extends gg{constructor(e,t){super(e),this.Units=t,this.type=180925521}};class Pr extends Rr{constructor(e){super(e),this.type=2799835756}}e.IfcVertex=Pr;e.IfcVertexPoint=class extends Pr{constructor(e,t){super(e),this.VertexGeometry=t,this.type=1907098498}};e.IfcVirtualGridIntersection=class extends gg{constructor(e,t,s){super(e),this.IntersectingAxes=t,this.OffsetDistances=s,this.type=891718957}};e.IfcWorkTime=class extends ur{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.RecurrencePattern=r,this.StartDate=o,this.FinishDate=n,this.type=1236880293}};e.IfcAlignmentCantSegment=class extends Fi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.StartTag=t,this.EndTag=s,this.StartDistAlong=i,this.HorizontalLength=r,this.StartCantLeft=o,this.EndCantLeft=n,this.StartCantRight=a,this.EndCantRight=l,this.PredefinedType=h,this.type=3752311538}};e.IfcAlignmentHorizontalSegment=class extends Fi{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.StartTag=t,this.EndTag=s,this.StartPoint=i,this.StartDirection=r,this.StartRadiusOfCurvature=o,this.EndRadiusOfCurvature=n,this.SegmentLength=a,this.GravityCenterLineHeight=l,this.PredefinedType=h,this.type=536804194}};e.IfcApprovalRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingApproval=i,this.RelatedApprovals=r,this.type=3869604511}};class Dr extends rr{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.type=3798115385}}e.IfcArbitraryClosedProfileDef=Dr;class Nr extends rr{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.type=1310608509}}e.IfcArbitraryOpenProfileDef=Nr;e.IfcArbitraryProfileDefWithVoids=class extends Dr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.OuterCurve=i,this.InnerCurves=r,this.type=2705031697}};e.IfcBlobTexture=class extends gr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.RasterFormat=n,this.RasterCode=a,this.type=616511568}};e.IfcCenterLineProfileDef=class extends Nr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Curve=i,this.Thickness=r,this.type=3150382593}};e.IfcClassification=class extends ji{constructor(e,t,s,i,r,o,n,a){super(e),this.Source=t,this.Edition=s,this.EditionDate=i,this.Name=r,this.Description=o,this.Specification=n,this.ReferenceTokens=a,this.type=747523909}};e.IfcClassificationReference=class extends Wi{constructor(e,t,s,i,r,o,n){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.ReferencedSource=r,this.Description=o,this.Sort=n,this.type=647927063}};e.IfcColourRgbList=class extends er{constructor(e,t){super(e),this.ColourList=t,this.type=3285139300}};class Cr extends er{constructor(e,t){super(e),this.Name=t,this.type=3264961684}}e.IfcColourSpecification=Cr;e.IfcCompositeProfileDef=class extends rr{constructor(e,t,s,i,r){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Profiles=i,this.Label=r,this.type=1485152156}};class br extends Rr{constructor(e,t){super(e),this.CfsFaces=t,this.type=370225590}}e.IfcConnectedFaceSet=br;e.IfcConnectionCurveGeometry=class extends Hi{constructor(e,t,s){super(e),this.CurveOnRelatingElement=t,this.CurveOnRelatedElement=s,this.type=1981873012}};e.IfcConnectionPointEccentricity=class extends Gi{constructor(e,t,s,i,r,o){super(e,t,s),this.PointOnRelatingElement=t,this.PointOnRelatedElement=s,this.EccentricityInX=i,this.EccentricityInY=r,this.EccentricityInZ=o,this.type=45288368}};e.IfcContextDependentUnit=class extends Zi{constructor(e,t,s,i){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.type=3050246964}};class Or extends Zi{constructor(e,t,s,i,r){super(e,t,s),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.type=2889183280}}e.IfcConversionBasedUnit=Or;e.IfcConversionBasedUnitWithOffset=class extends Or{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Dimensions=t,this.UnitType=s,this.Name=i,this.ConversionFactor=r,this.ConversionOffset=o,this.type=2713554722}};e.IfcCurrencyRelationship=class extends hr{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMonetaryUnit=i,this.RelatedMonetaryUnit=r,this.ExchangeRate=o,this.RateDateTime=n,this.RateSource=a,this.type=539742890}};e.IfcCurveStyle=class extends sr{constructor(e,t,s,i,r,o){super(e,t),this.Name=t,this.CurveFont=s,this.CurveWidth=i,this.CurveColour=r,this.ModelOrDraughting=o,this.type=3800577675}};e.IfcCurveStyleFont=class extends er{constructor(e,t,s){super(e),this.Name=t,this.PatternList=s,this.type=1105321065}};e.IfcCurveStyleFontAndScaling=class extends er{constructor(e,t,s,i){super(e),this.Name=t,this.CurveStyleFont=s,this.CurveFontScaling=i,this.type=2367409068}};e.IfcCurveStyleFontPattern=class extends er{constructor(e,t,s){super(e),this.VisibleSegmentLength=t,this.InvisibleSegmentLength=s,this.type=3510044353}};class Sr extends rr{constructor(e,t,s,i,r,o){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=3632507154}}e.IfcDerivedProfileDef=Sr;e.IfcDocumentInformation=class extends ji{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e),this.Identification=t,this.Name=s,this.Description=i,this.Location=r,this.Purpose=o,this.IntendedUse=n,this.Scope=a,this.Revision=l,this.DocumentOwner=h,this.Editors=c,this.CreationTime=u,this.LastRevisionTime=A,this.ElectronicFormat=p,this.ValidFrom=d,this.ValidUntil=f,this.Confidentiality=m,this.Status=E,this.type=1154170062}};e.IfcDocumentInformationRelationship=class extends hr{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingDocument=i,this.RelatedDocuments=r,this.RelationshipType=o,this.type=770865208}};e.IfcDocumentReference=class extends Wi{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Location=t,this.Identification=s,this.Name=i,this.Description=r,this.ReferencedDocument=o,this.type=3732053477}};class xr extends Rr{constructor(e,t,s){super(e),this.EdgeStart=t,this.EdgeEnd=s,this.type=3900360178}}e.IfcEdge=xr;e.IfcEdgeCurve=class extends xr{constructor(e,t,s,i,r){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.EdgeGeometry=i,this.SameSense=r,this.type=476780140}};e.IfcEventTime=class extends ur{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ActualDate=r,this.EarlyDate=o,this.LateDate=n,this.ScheduleDate=a,this.type=211053100}};class wr extends or{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Properties=i,this.type=297599258}}e.IfcExtendedProperties=wr;e.IfcExternalReferenceRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingReference=i,this.RelatedResourceObjects=r,this.type=1437805879}};class Br extends Rr{constructor(e,t){super(e),this.Bounds=t,this.type=2556980723}}e.IfcFace=Br;class Fr extends Rr{constructor(e,t,s){super(e),this.Bound=t,this.Orientation=s,this.type=1809719519}}e.IfcFaceBound=Fr;e.IfcFaceOuterBound=class extends Fr{constructor(e,t,s){super(e,t,s),this.Bound=t,this.Orientation=s,this.type=803316827}};class Mr extends Br{constructor(e,t,s,i){super(e,t),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3008276851}}e.IfcFaceSurface=Mr;e.IfcFailureConnectionCondition=class extends pr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.TensionFailureX=s,this.TensionFailureY=i,this.TensionFailureZ=r,this.CompressionFailureX=o,this.CompressionFailureY=n,this.CompressionFailureZ=a,this.type=4219587988}};e.IfcFillAreaStyle=class extends sr{constructor(e,t,s,i){super(e,t),this.Name=t,this.FillStyles=s,this.ModelOrDraughting=i,this.type=738692330}};class Lr extends ar{constructor(e,t,s,i,r,o,n){super(e,t,s),this.ContextIdentifier=t,this.ContextType=s,this.CoordinateSpaceDimension=i,this.Precision=r,this.WorldCoordinateSystem=o,this.TrueNorth=n,this.type=3448662350}}e.IfcGeometricRepresentationContext=Lr;class Ur extends lr{constructor(e){super(e),this.type=2453401579}}e.IfcGeometricRepresentationItem=Ur;e.IfcGeometricRepresentationSubContext=class extends Lr{constructor(e,s,i,r,o,n,a,l){super(e,s,i,new t(0),null,r,null),this.ContextIdentifier=s,this.ContextType=i,this.WorldCoordinateSystem=r,this.ParentContext=o,this.TargetScale=n,this.TargetView=a,this.UserDefinedTargetView=l,this.type=4142052618}};class Hr extends Ur{constructor(e,t){super(e),this.Elements=t,this.type=3590301190}}e.IfcGeometricSet=Hr;e.IfcGridPlacement=class extends qi{constructor(e,t,s,i){super(e,t),this.PlacementRelTo=t,this.PlacementLocation=s,this.PlacementRefDirection=i,this.type=178086475}};class Gr extends Ur{constructor(e,t,s){super(e),this.BaseSurface=t,this.AgreementFlag=s,this.type=812098782}}e.IfcHalfSpaceSolid=Gr;e.IfcImageTexture=class extends gr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.URLReference=n,this.type=3905492369}};e.IfcIndexedColourMap=class extends er{constructor(e,t,s,i,r){super(e),this.MappedTo=t,this.Opacity=s,this.Colours=i,this.ColourIndex=r,this.type=3570813810}};class kr extends Ir{constructor(e,t,s,i){super(e,t),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.type=1437953363}}e.IfcIndexedTextureMap=kr;e.IfcIndexedTriangleTextureMap=class extends kr{constructor(e,t,s,i,r){super(e,t,s,i),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.TexCoordIndex=r,this.type=2133299955}};e.IfcIrregularTimeSeries=class extends _r{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.Values=h,this.type=3741457305}};e.IfcLagTime=class extends ur{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.LagValue=r,this.DurationType=o,this.type=1585845231}};class Vr extends Ur{constructor(e,t,s,i,r){super(e),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=1402838566}}e.IfcLightSource=Vr;e.IfcLightSourceAmbient=class extends Vr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.type=125510826}};e.IfcLightSourceDirectional=class extends Vr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Orientation=o,this.type=2604431987}};e.IfcLightSourceGoniometric=class extends Vr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.ColourAppearance=n,this.ColourTemperature=a,this.LuminousFlux=l,this.LightEmissionSource=h,this.LightDistributionDataSource=c,this.type=4266656042}};class Qr extends Vr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.type=1520743889}}e.IfcLightSourcePositional=Qr;e.IfcLightSourceSpot=class extends Qr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.Name=t,this.LightColour=s,this.AmbientIntensity=i,this.Intensity=r,this.Position=o,this.Radius=n,this.ConstantAttenuation=a,this.DistanceAttenuation=l,this.QuadricAttenuation=h,this.Orientation=c,this.ConcentrationExponent=u,this.SpreadAngle=A,this.BeamWidthAngle=p,this.type=3422422726}};e.IfcLinearPlacement=class extends qi{constructor(e,t,s,i){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=s,this.CartesianPosition=i,this.type=388784114}};e.IfcLocalPlacement=class extends qi{constructor(e,t,s){super(e,t),this.PlacementRelTo=t,this.RelativePlacement=s,this.type=2624227202}};class jr extends Rr{constructor(e){super(e),this.type=1008929658}}e.IfcLoop=jr;e.IfcMappedItem=class extends lr{constructor(e,t,s){super(e),this.MappingSource=t,this.MappingTarget=s,this.type=2347385850}};e.IfcMaterial=class extends zi{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.Category=i,this.type=1838606355}};e.IfcMaterialConstituent=class extends zi{constructor(e,t,s,i,r,o){super(e),this.Name=t,this.Description=s,this.Material=i,this.Fraction=r,this.Category=o,this.type=3708119e3}};e.IfcMaterialConstituentSet=class extends zi{constructor(e,t,s,i){super(e),this.Name=t,this.Description=s,this.MaterialConstituents=i,this.type=2852063980}};e.IfcMaterialDefinitionRepresentation=class extends ir{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.RepresentedMaterial=r,this.type=2022407955}};e.IfcMaterialLayerSetUsage=class extends Xi{constructor(e,t,s,i,r,o){super(e),this.ForLayerSet=t,this.LayerSetDirection=s,this.DirectionSense=i,this.OffsetFromReferenceLine=r,this.ReferenceExtent=o,this.type=1303795690}};class Wr extends Xi{constructor(e,t,s,i){super(e),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.type=3079605661}}e.IfcMaterialProfileSetUsage=Wr;e.IfcMaterialProfileSetUsageTapering=class extends Wr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ForProfileSet=t,this.CardinalPoint=s,this.ReferenceExtent=i,this.ForProfileEndSet=r,this.CardinalEndPoint=o,this.type=3404854881}};e.IfcMaterialProperties=class extends wr{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.Material=r,this.type=3265635763}};e.IfcMaterialRelationship=class extends hr{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.RelatingMaterial=i,this.RelatedMaterials=r,this.MaterialExpression=o,this.type=853536259}};e.IfcMirroredProfileDef=class extends Sr{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.ParentProfile=i,this.Operator=r,this.Label=o,this.type=2998442950}};class zr extends cr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=219451334}}e.IfcObjectDefinition=zr;e.IfcOpenCrossProfileDef=class extends rr{constructor(e,t,s,i,r,o,n,a){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.HorizontalWidths=i,this.Widths=r,this.Slopes=o,this.Tags=n,this.OffsetPoint=a,this.type=182550632}};e.IfcOpenShell=class extends br{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2665983363}};e.IfcOrganizationRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingOrganization=i,this.RelatedOrganizations=r,this.type=1411181986}};e.IfcOrientedEdge=class extends xr{constructor(e,t,s,i){super(e,t,new yg(0)),this.EdgeStart=t,this.EdgeElement=s,this.Orientation=i,this.type=1029017970}};class Kr extends rr{constructor(e,t,s,i){super(e,t,s),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.type=2529465313}}e.IfcParameterizedProfileDef=Kr;e.IfcPath=class extends Rr{constructor(e,t){super(e),this.EdgeList=t,this.type=2519244187}};e.IfcPhysicalComplexQuantity=class extends Ji{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Description=s,this.HasQuantities=i,this.Discrimination=r,this.Quality=o,this.Usage=n,this.type=3021840470}};e.IfcPixelTexture=class extends gr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o),this.RepeatS=t,this.RepeatT=s,this.Mode=i,this.TextureTransform=r,this.Parameter=o,this.Width=n,this.Height=a,this.ColourComponents=l,this.Pixel=h,this.type=597895409}};class Yr extends Ur{constructor(e,t){super(e),this.Location=t,this.type=2004835150}}e.IfcPlacement=Yr;class Xr extends Ur{constructor(e,t,s){super(e),this.SizeInX=t,this.SizeInY=s,this.type=1663979128}}e.IfcPlanarExtent=Xr;class Zr extends Ur{constructor(e){super(e),this.type=2067069095}}e.IfcPoint=Zr;e.IfcPointByDistanceExpression=class extends Zr{constructor(e,t,s,i,r,o){super(e),this.DistanceAlong=t,this.OffsetLateral=s,this.OffsetVertical=i,this.OffsetLongitudinal=r,this.BasisCurve=o,this.type=2165702409}};e.IfcPointOnCurve=class extends Zr{constructor(e,t,s){super(e),this.BasisCurve=t,this.PointParameter=s,this.type=4022376103}};e.IfcPointOnSurface=class extends Zr{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.PointParameterU=s,this.PointParameterV=i,this.type=1423911732}};e.IfcPolyLoop=class extends jr{constructor(e,t){super(e),this.Polygon=t,this.type=2924175390}};e.IfcPolygonalBoundedHalfSpace=class extends Gr{constructor(e,t,s,i,r){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Position=i,this.PolygonalBoundary=r,this.type=2775532180}};class qr extends er{constructor(e,t){super(e),this.Name=t,this.type=3727388367}}e.IfcPreDefinedItem=qr;class Jr extends or{constructor(e){super(e),this.type=3778827333}}e.IfcPreDefinedProperties=Jr;class $r extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=1775413392}}e.IfcPreDefinedTextFont=$r;e.IfcProductDefinitionShape=class extends ir{constructor(e,t,s,i){super(e,t,s,i),this.Name=t,this.Description=s,this.Representations=i,this.type=673634403}};e.IfcProfileProperties=class extends wr{constructor(e,t,s,i,r){super(e,t,s,i),this.Name=t,this.Description=s,this.Properties=i,this.ProfileDefinition=r,this.type=2802850158}};class eo extends or{constructor(e,t,s){super(e),this.Name=t,this.Specification=s,this.type=2598011224}}e.IfcProperty=eo;class to extends cr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1680319473}}e.IfcPropertyDefinition=to;e.IfcPropertyDependencyRelationship=class extends hr{constructor(e,t,s,i,r,o){super(e,t,s),this.Name=t,this.Description=s,this.DependingProperty=i,this.DependantProperty=r,this.Expression=o,this.type=148025276}};class so extends to{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3357820518}}e.IfcPropertySetDefinition=so;class io extends to{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=1482703590}}e.IfcPropertyTemplateDefinition=io;class ro extends so{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2090586900}}e.IfcQuantitySet=ro;class oo extends Kr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.type=3615266464}}e.IfcRectangleProfileDef=oo;e.IfcRegularTimeSeries=class extends _r{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.Name=t,this.Description=s,this.StartTime=i,this.EndTime=r,this.TimeSeriesDataType=o,this.DataOrigin=n,this.UserDefinedDataOrigin=a,this.Unit=l,this.TimeStep=h,this.Values=c,this.type=3413951693}};e.IfcReinforcementBarProperties=class extends Jr{constructor(e,t,s,i,r,o,n){super(e),this.TotalCrossSectionArea=t,this.SteelGrade=s,this.BarSurface=i,this.EffectiveDepth=r,this.NominalBarDiameter=o,this.BarCount=n,this.type=1580146022}};class no extends cr{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=478536968}}e.IfcRelationship=no;e.IfcResourceApprovalRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatedResourceObjects=i,this.RelatingApproval=r,this.type=2943643501}};e.IfcResourceConstraintRelationship=class extends hr{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Description=s,this.RelatingConstraint=i,this.RelatedResourceObjects=r,this.type=1608871552}};e.IfcResourceTime=class extends ur{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i),this.Name=t,this.DataOrigin=s,this.UserDefinedDataOrigin=i,this.ScheduleWork=r,this.ScheduleUsage=o,this.ScheduleStart=n,this.ScheduleFinish=a,this.ScheduleContour=l,this.LevelingDelay=h,this.IsOverAllocated=c,this.StatusTime=u,this.ActualWork=A,this.ActualUsage=p,this.ActualStart=d,this.ActualFinish=f,this.RemainingWork=m,this.RemainingUsage=E,this.Completion=y,this.type=1042787934}};e.IfcRoundedRectangleProfileDef=class extends oo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.RoundingRadius=n,this.type=2778083089}};e.IfcSectionProperties=class extends Jr{constructor(e,t,s,i){super(e),this.SectionType=t,this.StartProfile=s,this.EndProfile=i,this.type=2042790032}};e.IfcSectionReinforcementProperties=class extends Jr{constructor(e,t,s,i,r,o,n){super(e),this.LongitudinalStartPosition=t,this.LongitudinalEndPosition=s,this.TransversePosition=i,this.ReinforcementRole=r,this.SectionDefinition=o,this.CrossSectionReinforcementDefinitions=n,this.type=4165799628}};e.IfcSectionedSpine=class extends Ur{constructor(e,t,s,i){super(e),this.SpineCurve=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1509187699}};class ao extends Ur{constructor(e,t){super(e),this.Transition=t,this.type=823603102}}e.IfcSegment=ao;e.IfcShellBasedSurfaceModel=class extends Ur{constructor(e,t){super(e),this.SbsmBoundary=t,this.type=4124623270}};class lo extends eo{constructor(e,t,s){super(e,t,s),this.Name=t,this.Specification=s,this.type=3692461612}}e.IfcSimpleProperty=lo;e.IfcSlippageConnectionCondition=class extends pr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.SlippageX=s,this.SlippageY=i,this.SlippageZ=r,this.type=2609359061}};class ho extends Ur{constructor(e){super(e),this.type=723233188}}e.IfcSolidModel=ho;e.IfcStructuralLoadLinearForce=class extends mr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.LinearForceX=s,this.LinearForceY=i,this.LinearForceZ=r,this.LinearMomentX=o,this.LinearMomentY=n,this.LinearMomentZ=a,this.type=1595516126}};e.IfcStructuralLoadPlanarForce=class extends mr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.PlanarForceX=s,this.PlanarForceY=i,this.PlanarForceZ=r,this.type=2668620305}};class co extends mr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.type=2473145415}}e.IfcStructuralLoadSingleDisplacement=co;e.IfcStructuralLoadSingleDisplacementDistortion=class extends co{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.DisplacementX=s,this.DisplacementY=i,this.DisplacementZ=r,this.RotationalDisplacementRX=o,this.RotationalDisplacementRY=n,this.RotationalDisplacementRZ=a,this.Distortion=l,this.type=1973038258}};class uo extends mr{constructor(e,t,s,i,r,o,n,a){super(e,t),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.type=1597423693}}e.IfcStructuralLoadSingleForce=uo;e.IfcStructuralLoadSingleForceWarping=class extends uo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.Name=t,this.ForceX=s,this.ForceY=i,this.ForceZ=r,this.MomentX=o,this.MomentY=n,this.MomentZ=a,this.WarpingMoment=l,this.type=1190533807}};e.IfcSubedge=class extends xr{constructor(e,t,s,i){super(e,t,s),this.EdgeStart=t,this.EdgeEnd=s,this.ParentEdge=i,this.type=2233826070}};class Ao extends Ur{constructor(e){super(e),this.type=2513912981}}e.IfcSurface=Ao;e.IfcSurfaceStyleRendering=class extends yr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s),this.SurfaceColour=t,this.Transparency=s,this.DiffuseColour=i,this.TransmissionColour=r,this.DiffuseTransmissionColour=o,this.ReflectionColour=n,this.SpecularColour=a,this.SpecularHighlight=l,this.ReflectanceMethod=h,this.type=1878645084}};class po extends ho{constructor(e,t,s){super(e),this.SweptArea=t,this.Position=s,this.type=2247615214}}e.IfcSweptAreaSolid=po;class fo extends ho{constructor(e,t,s,i,r,o){super(e),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.type=1260650574}}e.IfcSweptDiskSolid=fo;e.IfcSweptDiskSolidPolygonal=class extends fo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Directrix=t,this.Radius=s,this.InnerRadius=i,this.StartParam=r,this.EndParam=o,this.FilletRadius=n,this.type=1096409881}};class mo extends Ao{constructor(e,t,s){super(e),this.SweptCurve=t,this.Position=s,this.type=230924584}}e.IfcSweptSurface=mo;e.IfcTShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.WebEdgeRadius=c,this.WebSlope=u,this.FlangeSlope=A,this.type=3071757647}};class Eo extends Ur{constructor(e){super(e),this.type=901063453}}e.IfcTessellatedItem=Eo;class yo extends Ur{constructor(e,t,s,i){super(e),this.Literal=t,this.Placement=s,this.Path=i,this.type=4282788508}}e.IfcTextLiteral=yo;e.IfcTextLiteralWithExtent=class extends yo{constructor(e,t,s,i,r,o){super(e,t,s,i),this.Literal=t,this.Placement=s,this.Path=i,this.Extent=r,this.BoxAlignment=o,this.type=3124975700}};e.IfcTextStyleFontModel=class extends $r{constructor(e,t,s,i,r,o,n){super(e,t),this.Name=t,this.FontFamily=s,this.FontStyle=i,this.FontVariant=r,this.FontWeight=o,this.FontSize=n,this.type=1983826977}};e.IfcTrapeziumProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomXDim=r,this.TopXDim=o,this.YDim=n,this.TopXOffset=a,this.type=2715220739}};class go extends zr{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.type=1628702193}}e.IfcTypeObject=go;class vo extends go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.type=3736923433}}e.IfcTypeProcess=vo;class Io extends go{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.type=2347495698}}e.IfcTypeProduct=Io;class To extends go{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.type=3698973494}}e.IfcTypeResource=To;e.IfcUShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.FlangeSlope=c,this.type=427810014}};e.IfcVector=class extends Ur{constructor(e,t,s){super(e),this.Orientation=t,this.Magnitude=s,this.type=1417489154}};e.IfcVertexLoop=class extends jr{constructor(e,t){super(e),this.LoopVertex=t,this.type=2759199220}};e.IfcZShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.FlangeWidth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.EdgeRadius=h,this.type=2543172580}};e.IfcAdvancedFace=class extends Mr{constructor(e,t,s,i){super(e,t,s,i),this.Bounds=t,this.FaceSurface=s,this.SameSense=i,this.type=3406155212}};e.IfcAnnotationFillArea=class extends Ur{constructor(e,t,s){super(e),this.OuterBoundary=t,this.InnerBoundaries=s,this.type=669184980}};e.IfcAsymmetricIShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.BottomFlangeWidth=r,this.OverallDepth=o,this.WebThickness=n,this.BottomFlangeThickness=a,this.BottomFlangeFilletRadius=l,this.TopFlangeWidth=h,this.TopFlangeThickness=c,this.TopFlangeFilletRadius=u,this.BottomFlangeEdgeRadius=A,this.BottomFlangeSlope=p,this.TopFlangeEdgeRadius=d,this.TopFlangeSlope=f,this.type=3207858831}};e.IfcAxis1Placement=class extends Yr{constructor(e,t,s){super(e,t),this.Location=t,this.Axis=s,this.type=4261334040}};e.IfcAxis2Placement2D=class extends Yr{constructor(e,t,s){super(e,t),this.Location=t,this.RefDirection=s,this.type=3125803723}};e.IfcAxis2Placement3D=class extends Yr{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=2740243338}};e.IfcAxis2PlacementLinear=class extends Yr{constructor(e,t,s,i){super(e,t),this.Location=t,this.Axis=s,this.RefDirection=i,this.type=3425423356}};class _o extends Ur{constructor(e,t,s,i){super(e),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=2736907675}}e.IfcBooleanResult=_o;class Ro extends Ao{constructor(e){super(e),this.type=4182860854}}e.IfcBoundedSurface=Ro;e.IfcBoundingBox=class extends Ur{constructor(e,t,s,i,r){super(e),this.Corner=t,this.XDim=s,this.YDim=i,this.ZDim=r,this.type=2581212453}};e.IfcBoxedHalfSpace=class extends Gr{constructor(e,t,s,i){super(e,t,s),this.BaseSurface=t,this.AgreementFlag=s,this.Enclosure=i,this.type=2713105998}};e.IfcCShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.WallThickness=n,this.Girth=a,this.InternalFilletRadius=l,this.type=2898889636}};e.IfcCartesianPoint=class extends Zr{constructor(e,t){super(e),this.Coordinates=t,this.type=1123145078}};class Po extends Ur{constructor(e){super(e),this.type=574549367}}e.IfcCartesianPointList=Po;e.IfcCartesianPointList2D=class extends Po{constructor(e,t,s){super(e),this.CoordList=t,this.TagList=s,this.type=1675464909}};e.IfcCartesianPointList3D=class extends Po{constructor(e,t,s){super(e),this.CoordList=t,this.TagList=s,this.type=2059837836}};class Do extends Ur{constructor(e,t,s,i,r){super(e),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=59481748}}e.IfcCartesianTransformationOperator=Do;class No extends Do{constructor(e,t,s,i,r){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.type=3749851601}}e.IfcCartesianTransformationOperator2D=No;e.IfcCartesianTransformationOperator2DnonUniform=class extends No{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Scale2=o,this.type=3486308946}};class Co extends Do{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.type=3331915920}}e.IfcCartesianTransformationOperator3D=Co;e.IfcCartesianTransformationOperator3DnonUniform=class extends Co{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.Axis1=t,this.Axis2=s,this.LocalOrigin=i,this.Scale=r,this.Axis3=o,this.Scale2=n,this.Scale3=a,this.type=1416205885}};class bo extends Kr{constructor(e,t,s,i,r){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.type=1383045692}}e.IfcCircleProfileDef=bo;e.IfcClosedShell=class extends br{constructor(e,t){super(e,t),this.CfsFaces=t,this.type=2205249479}};e.IfcColourRgb=class extends Cr{constructor(e,t,s,i,r){super(e,t),this.Name=t,this.Red=s,this.Green=i,this.Blue=r,this.type=776857604}};e.IfcComplexProperty=class extends eo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.UsageName=i,this.HasProperties=r,this.type=2542286263}};class Oo extends ao{constructor(e,t,s,i){super(e,t),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.type=2485617015}}e.IfcCompositeCurveSegment=Oo;class So extends To{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.type=2574617495}}e.IfcConstructionResourceType=So;class xo extends zr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=3419103109}}e.IfcContext=xo;e.IfcCrewResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1815067380}};class wo extends Ur{constructor(e,t){super(e),this.Position=t,this.type=2506170314}}e.IfcCsgPrimitive3D=wo;e.IfcCsgSolid=class extends ho{constructor(e,t){super(e),this.TreeRootExpression=t,this.type=2147822146}};class Bo extends Ur{constructor(e){super(e),this.type=2601014836}}e.IfcCurve=Bo;e.IfcCurveBoundedPlane=class extends Ro{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.OuterBoundary=s,this.InnerBoundaries=i,this.type=2827736869}};e.IfcCurveBoundedSurface=class extends Ro{constructor(e,t,s,i){super(e),this.BasisSurface=t,this.Boundaries=s,this.ImplicitOuter=i,this.type=2629017746}};e.IfcCurveSegment=class extends ao{constructor(e,t,s,i,r,o){super(e,t),this.Transition=t,this.Placement=s,this.SegmentStart=i,this.SegmentLength=r,this.ParentCurve=o,this.type=4212018352}};e.IfcDirection=class extends Ur{constructor(e,t){super(e),this.DirectionRatios=t,this.type=32440307}};class Fo extends po{constructor(e,t,s,i,r,o){super(e,t,s),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.type=593015953}}e.IfcDirectrixCurveSweptAreaSolid=Fo;e.IfcEdgeLoop=class extends jr{constructor(e,t){super(e),this.EdgeList=t,this.type=1472233963}};e.IfcElementQuantity=class extends ro{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.MethodOfMeasurement=o,this.Quantities=n,this.type=1883228015}};class Mo extends Io{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=339256511}}e.IfcElementType=Mo;class Lo extends Ao{constructor(e,t){super(e),this.Position=t,this.type=2777663545}}e.IfcElementarySurface=Lo;e.IfcEllipseProfileDef=class extends Kr{constructor(e,t,s,i,r,o){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.SemiAxis1=r,this.SemiAxis2=o,this.type=2835456948}};e.IfcEventType=class extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.EventTriggerType=u,this.UserDefinedEventTriggerType=A,this.type=4024345920}};class Uo extends po{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=477187591}}e.IfcExtrudedAreaSolid=Uo;e.IfcExtrudedAreaSolidTapered=class extends Uo{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.EndSweptArea=o,this.type=2804161546}};e.IfcFaceBasedSurfaceModel=class extends Ur{constructor(e,t){super(e),this.FbsmFaces=t,this.type=2047409740}};e.IfcFillAreaStyleHatching=class extends Ur{constructor(e,t,s,i,r,o){super(e),this.HatchLineAppearance=t,this.StartOfNextHatchLine=s,this.PointOfReferenceHatchLine=i,this.PatternStart=r,this.HatchLineAngle=o,this.type=374418227}};e.IfcFillAreaStyleTiles=class extends Ur{constructor(e,t,s,i){super(e),this.TilingPattern=t,this.Tiles=s,this.TilingScale=i,this.type=315944413}};class Ho extends Fo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.FixedReference=n,this.type=2652556860}}e.IfcFixedReferenceSweptAreaSolid=Ho;class Go extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=4238390223}}e.IfcFurnishingElementType=Go;e.IfcFurnitureType=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.AssemblyPlace=c,this.PredefinedType=u,this.type=1268542332}};e.IfcGeographicElementType=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4095422895}};e.IfcGeometricCurveSet=class extends Hr{constructor(e,t){super(e,t),this.Elements=t,this.type=987898635}};e.IfcIShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.OverallWidth=r,this.OverallDepth=o,this.WebThickness=n,this.FlangeThickness=a,this.FilletRadius=l,this.FlangeEdgeRadius=h,this.FlangeSlope=c,this.type=1484403080}};class ko extends Eo{constructor(e,t){super(e),this.CoordIndex=t,this.type=178912537}}e.IfcIndexedPolygonalFace=ko;e.IfcIndexedPolygonalFaceWithVoids=class extends ko{constructor(e,t,s){super(e,t),this.CoordIndex=t,this.InnerCoordIndices=s,this.type=2294589976}};e.IfcIndexedPolygonalTextureMap=class extends kr{constructor(e,t,s,i,r){super(e,t,s,i),this.Maps=t,this.MappedTo=s,this.TexCoords=i,this.TexCoordIndices=r,this.type=3465909080}};e.IfcLShapeProfileDef=class extends Kr{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Depth=r,this.Width=o,this.Thickness=n,this.FilletRadius=a,this.EdgeRadius=l,this.LegSlope=h,this.type=572779678}};e.IfcLaborResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=428585644}};e.IfcLine=class extends Bo{constructor(e,t,s){super(e),this.Pnt=t,this.Dir=s,this.type=1281925730}};class Vo extends ho{constructor(e,t){super(e),this.Outer=t,this.type=1425443689}}e.IfcManifoldSolidBrep=Vo;class Qo extends zr{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=3888040117}}e.IfcObject=Qo;class jo extends Bo{constructor(e,t){super(e),this.BasisCurve=t,this.type=590820931}}e.IfcOffsetCurve=jo;e.IfcOffsetCurve2D=class extends jo{constructor(e,t,s,i){super(e,t),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.type=3388369263}};e.IfcOffsetCurve3D=class extends jo{constructor(e,t,s,i,r){super(e,t),this.BasisCurve=t,this.Distance=s,this.SelfIntersect=i,this.RefDirection=r,this.type=3505215534}};e.IfcOffsetCurveByDistances=class extends jo{constructor(e,t,s,i){super(e,t),this.BasisCurve=t,this.OffsetValues=s,this.Tag=i,this.type=2485787929}};e.IfcPcurve=class extends Bo{constructor(e,t,s){super(e),this.BasisSurface=t,this.ReferenceCurve=s,this.type=1682466193}};e.IfcPlanarBox=class extends Xr{constructor(e,t,s,i){super(e,t,s),this.SizeInX=t,this.SizeInY=s,this.Placement=i,this.type=603570806}};e.IfcPlane=class extends Lo{constructor(e,t){super(e,t),this.Position=t,this.type=220341763}};e.IfcPolynomialCurve=class extends Bo{constructor(e,t,s,i,r){super(e),this.Position=t,this.CoefficientsX=s,this.CoefficientsY=i,this.CoefficientsZ=r,this.type=3381221214}};class Wo extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=759155922}}e.IfcPreDefinedColour=Wo;class zo extends qr{constructor(e,t){super(e,t),this.Name=t,this.type=2559016684}}e.IfcPreDefinedCurveFont=zo;class Ko extends so{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3967405729}}e.IfcPreDefinedPropertySet=Ko;e.IfcProcedureType=class extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.type=569719735}};class Yo extends Qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2945172077}}e.IfcProcess=Yo;class Xo extends Qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=4208778838}}e.IfcProduct=Xo;e.IfcProject=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=103090709}};e.IfcProjectLibrary=class extends xo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.Phase=a,this.RepresentationContexts=l,this.UnitsInContext=h,this.type=653396225}};e.IfcPropertyBoundedValue=class extends lo{constructor(e,t,s,i,r,o,n){super(e,t,s),this.Name=t,this.Specification=s,this.UpperBoundValue=i,this.LowerBoundValue=r,this.Unit=o,this.SetPointValue=n,this.type=871118103}};e.IfcPropertyEnumeratedValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.EnumerationValues=i,this.EnumerationReference=r,this.type=4166981789}};e.IfcPropertyListValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.ListValues=i,this.Unit=r,this.type=2752243245}};e.IfcPropertyReferenceValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.UsageName=i,this.PropertyReference=r,this.type=941946838}};e.IfcPropertySet=class extends so{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.HasProperties=o,this.type=1451395588}};e.IfcPropertySetTemplate=class extends io{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.ApplicableEntity=n,this.HasPropertyTemplates=a,this.type=492091185}};e.IfcPropertySingleValue=class extends lo{constructor(e,t,s,i,r){super(e,t,s),this.Name=t,this.Specification=s,this.NominalValue=i,this.Unit=r,this.type=3650150729}};e.IfcPropertyTableValue=class extends lo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s),this.Name=t,this.Specification=s,this.DefiningValues=i,this.DefinedValues=r,this.Expression=o,this.DefiningUnit=n,this.DefinedUnit=a,this.CurveInterpolation=l,this.type=110355661}};class Zo extends io{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=3521284610}}e.IfcPropertyTemplate=Zo;e.IfcRectangleHollowProfileDef=class extends oo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.XDim=r,this.YDim=o,this.WallThickness=n,this.InnerFilletRadius=a,this.OuterFilletRadius=l,this.type=2770003689}};e.IfcRectangularPyramid=class extends wo{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.Height=r,this.type=2798486643}};e.IfcRectangularTrimmedSurface=class extends Ro{constructor(e,t,s,i,r,o,n,a){super(e),this.BasisSurface=t,this.U1=s,this.V1=i,this.U2=r,this.V2=o,this.Usense=n,this.Vsense=a,this.type=3454111270}};e.IfcReinforcementDefinitionProperties=class extends Ko{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.DefinitionType=o,this.ReinforcementSectionDefinitions=n,this.type=3765753017}};class qo extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.type=3939117080}}e.IfcRelAssigns=qo;e.IfcRelAssignsToActor=class extends qo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingActor=a,this.ActingRole=l,this.type=1683148259}};e.IfcRelAssignsToControl=class extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingControl=a,this.type=2495723537}};class Jo extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.type=1307041759}}e.IfcRelAssignsToGroup=Jo;e.IfcRelAssignsToGroupByFactor=class extends Jo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingGroup=a,this.Factor=l,this.type=1027710054}};e.IfcRelAssignsToProcess=class extends qo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProcess=a,this.QuantityInProcess=l,this.type=4278684876}};e.IfcRelAssignsToProduct=class extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingProduct=a,this.type=2857406711}};e.IfcRelAssignsToResource=class extends qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatedObjectsType=n,this.RelatingResource=a,this.type=205026976}};class $o extends no{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.type=1865459582}}e.IfcRelAssociates=$o;e.IfcRelAssociatesApproval=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingApproval=n,this.type=4095574036}};e.IfcRelAssociatesClassification=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingClassification=n,this.type=919958153}};e.IfcRelAssociatesConstraint=class extends $o{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.Intent=n,this.RelatingConstraint=a,this.type=2728634034}};e.IfcRelAssociatesDocument=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingDocument=n,this.type=982818633}};e.IfcRelAssociatesLibrary=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingLibrary=n,this.type=3840914261}};e.IfcRelAssociatesMaterial=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingMaterial=n,this.type=2655215786}};e.IfcRelAssociatesProfileDef=class extends $o{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingProfileDef=n,this.type=1033248425}};class en extends no{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=826625072}}e.IfcRelConnects=en;class tn extends en{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.type=1204542856}}e.IfcRelConnectsElements=tn;e.IfcRelConnectsPathElements=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RelatingPriorities=l,this.RelatedPriorities=h,this.RelatedConnectionType=c,this.RelatingConnectionType=u,this.type=3945020480}};e.IfcRelConnectsPortToElement=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedElement=n,this.type=4201705270}};e.IfcRelConnectsPorts=class extends en{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPort=o,this.RelatedPort=n,this.RealizingElement=a,this.type=3190031847}};e.IfcRelConnectsStructuralActivity=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedStructuralActivity=n,this.type=2127690289}};class sn extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.type=1638771189}}e.IfcRelConnectsStructuralMember=sn;e.IfcRelConnectsWithEccentricity=class extends sn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingStructuralMember=o,this.RelatedStructuralConnection=n,this.AppliedCondition=a,this.AdditionalConditions=l,this.SupportedLength=h,this.ConditionCoordinateSystem=c,this.ConnectionConstraint=u,this.type=504942748}};e.IfcRelConnectsWithRealizingElements=class extends tn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ConnectionGeometry=o,this.RelatingElement=n,this.RelatedElement=a,this.RealizingElements=l,this.ConnectionType=h,this.type=3678494232}};e.IfcRelContainedInSpatialStructure=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=3242617779}};e.IfcRelCoversBldgElements=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedCoverings=n,this.type=886880790}};e.IfcRelCoversSpaces=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedCoverings=n,this.type=2802773753}};e.IfcRelDeclares=class extends no{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingContext=o,this.RelatedDefinitions=n,this.type=2565941209}};class rn extends no{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=2551354335}}e.IfcRelDecomposes=rn;class on extends no{constructor(e,t,s,i,r){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.type=693640335}}e.IfcRelDefines=on;e.IfcRelDefinesByObject=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingObject=n,this.type=1462361463}};e.IfcRelDefinesByProperties=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingPropertyDefinition=n,this.type=4186316022}};e.IfcRelDefinesByTemplate=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedPropertySets=o,this.RelatingTemplate=n,this.type=307848117}};e.IfcRelDefinesByType=class extends on{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedObjects=o,this.RelatingType=n,this.type=781010003}};e.IfcRelFillsElement=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingOpeningElement=o,this.RelatedBuildingElement=n,this.type=3940055652}};e.IfcRelFlowControlElements=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedControlElements=o,this.RelatingFlowElement=n,this.type=279856033}};e.IfcRelInterferesElements=class extends en{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedElement=n,this.InterferenceGeometry=a,this.InterferenceSpace=l,this.InterferenceType=h,this.ImpliedOrder=c,this.type=427948657}};e.IfcRelNests=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=3268803585}};e.IfcRelPositions=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingPositioningElement=o,this.RelatedProducts=n,this.type=1441486842}};e.IfcRelProjectsElement=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedFeatureElement=n,this.type=750771296}};e.IfcRelReferencedInSpatialStructure=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatedElements=o,this.RelatingStructure=n,this.type=1245217292}};e.IfcRelSequence=class extends en{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingProcess=o,this.RelatedProcess=n,this.TimeLag=a,this.SequenceType=l,this.UserDefinedSequenceType=h,this.type=4122056220}};e.IfcRelServicesBuildings=class extends en{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSystem=o,this.RelatedBuildings=n,this.type=366585022}};class nn extends en{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.type=3451746338}}e.IfcRelSpaceBoundary=nn;class an extends nn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.type=3523091289}}e.IfcRelSpaceBoundary1stLevel=an;e.IfcRelSpaceBoundary2ndLevel=class extends an{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingSpace=o,this.RelatedBuildingElement=n,this.ConnectionGeometry=a,this.PhysicalOrVirtualBoundary=l,this.InternalOrExternalBoundary=h,this.ParentBoundary=c,this.CorrespondingBoundary=u,this.type=1521410863}};e.IfcRelVoidsElement=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingBuildingElement=o,this.RelatedOpeningElement=n,this.type=1401173127}};e.IfcReparametrisedCompositeCurveSegment=class extends Oo{constructor(e,t,s,i,r){super(e,t,s,i),this.Transition=t,this.SameSense=s,this.ParentCurve=i,this.ParamLength=r,this.type=816062949}};class ln extends Qo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.type=2914609552}}e.IfcResource=ln;class hn extends po{constructor(e,t,s,i,r){super(e,t,s),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.type=1856042241}}e.IfcRevolvedAreaSolid=hn;e.IfcRevolvedAreaSolidTapered=class extends hn{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.SweptArea=t,this.Position=s,this.Axis=i,this.Angle=r,this.EndSweptArea=o,this.type=3243963512}};e.IfcRightCircularCone=class extends wo{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.BottomRadius=i,this.type=4158566097}};e.IfcRightCircularCylinder=class extends wo{constructor(e,t,s,i){super(e,t),this.Position=t,this.Height=s,this.Radius=i,this.type=3626867408}};class cn extends ho{constructor(e,t,s){super(e),this.Directrix=t,this.CrossSections=s,this.type=1862484736}}e.IfcSectionedSolid=cn;e.IfcSectionedSolidHorizontal=class extends cn{constructor(e,t,s,i){super(e,t,s),this.Directrix=t,this.CrossSections=s,this.CrossSectionPositions=i,this.type=1290935644}};e.IfcSectionedSurface=class extends Ao{constructor(e,t,s,i){super(e),this.Directrix=t,this.CrossSectionPositions=s,this.CrossSections=i,this.type=1356537516}};e.IfcSimplePropertyTemplate=class extends Zo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.TemplateType=o,this.PrimaryMeasureType=n,this.SecondaryMeasureType=a,this.Enumerators=l,this.PrimaryUnit=h,this.SecondaryUnit=c,this.Expression=u,this.AccessState=A,this.type=3663146110}};class un extends Xo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=1412071761}}e.IfcSpatialElement=un;class An extends Io{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=710998568}}e.IfcSpatialElementType=An;class pn extends un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=2706606064}}e.IfcSpatialStructureElement=pn;class dn extends An{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893378262}}e.IfcSpatialStructureElementType=dn;e.IfcSpatialZone=class extends un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=463610769}};e.IfcSpatialZoneType=class extends An{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=2481509218}};e.IfcSphere=class extends wo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=451544542}};e.IfcSphericalSurface=class extends Lo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=4015995234}};class fn extends Bo{constructor(e,t){super(e),this.Position=t,this.type=2735484536}}e.IfcSpiral=fn;class mn extends Xo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3544373492}}e.IfcStructuralActivity=mn;class En extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3136571912}}e.IfcStructuralItem=En;class yn extends En{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=530289379}}e.IfcStructuralMember=yn;class gn extends mn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=3689010777}}e.IfcStructuralReaction=gn;class vn extends yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=3979015343}}e.IfcStructuralSurfaceMember=vn;e.IfcStructuralSurfaceMemberVarying=class extends vn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Thickness=h,this.type=2218152070}};e.IfcStructuralSurfaceReaction=class extends gn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=603775116}};e.IfcSubContractResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4095615324}};class In extends Bo{constructor(e,t,s,i){super(e),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=699246055}}e.IfcSurfaceCurve=In;e.IfcSurfaceCurveSweptAreaSolid=class extends Fo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.ReferenceSurface=n,this.type=2028607225}};e.IfcSurfaceOfLinearExtrusion=class extends mo{constructor(e,t,s,i,r){super(e,t,s),this.SweptCurve=t,this.Position=s,this.ExtrudedDirection=i,this.Depth=r,this.type=2809605785}};e.IfcSurfaceOfRevolution=class extends mo{constructor(e,t,s,i){super(e,t,s),this.SweptCurve=t,this.Position=s,this.AxisPosition=i,this.type=4124788165}};e.IfcSystemFurnitureElementType=class extends Go{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1580310250}};e.IfcTask=class extends Yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Status=l,this.WorkMethod=h,this.IsMilestone=c,this.Priority=u,this.TaskTime=A,this.PredefinedType=p,this.type=3473067441}};e.IfcTaskType=class extends vo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ProcessType=h,this.PredefinedType=c,this.WorkMethod=u,this.type=3206491090}};class Tn extends Eo{constructor(e,t,s){super(e),this.Coordinates=t,this.Closed=s,this.type=2387106220}}e.IfcTessellatedFaceSet=Tn;e.IfcThirdOrderPolynomialSpiral=class extends fn{constructor(e,t,s,i,r,o){super(e,t),this.Position=t,this.CubicTerm=s,this.QuadraticTerm=i,this.LinearTerm=r,this.ConstantTerm=o,this.type=782932809}};e.IfcToroidalSurface=class extends Lo{constructor(e,t,s,i){super(e,t),this.Position=t,this.MajorRadius=s,this.MinorRadius=i,this.type=1935646853}};class _n extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3665877780}}e.IfcTransportationDeviceType=_n;class Rn extends Tn{constructor(e,t,s,i,r,o){super(e,t,s),this.Coordinates=t,this.Closed=s,this.Normals=i,this.CoordIndex=r,this.PnIndex=o,this.type=2916149573}}e.IfcTriangulatedFaceSet=Rn;e.IfcTriangulatedIrregularNetwork=class extends Rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.Coordinates=t,this.Closed=s,this.Normals=i,this.CoordIndex=r,this.PnIndex=o,this.Flags=n,this.type=1229763772}};e.IfcVehicleType=class extends _n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3651464721}};e.IfcWindowLiningProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.TransomThickness=a,this.MullionThickness=l,this.FirstTransomOffset=h,this.SecondTransomOffset=c,this.FirstMullionOffset=u,this.SecondMullionOffset=A,this.ShapeAspectStyle=p,this.LiningOffset=d,this.LiningToPanelOffsetX=f,this.LiningToPanelOffsetY=m,this.type=336235671}};e.IfcWindowPanelProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=512836454}};class Pn extends Qo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.type=2296667514}}e.IfcActor=Pn;class Dn extends Vo{constructor(e,t){super(e,t),this.Outer=t,this.type=1635779807}}e.IfcAdvancedBrep=Dn;e.IfcAdvancedBrepWithVoids=class extends Dn{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=2603310189}};e.IfcAnnotation=class extends Xo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=1674181508}};class Nn extends Ro{constructor(e,t,s,i,r,o,n,a){super(e),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.type=2887950389}}e.IfcBSplineSurface=Nn;class Cn extends Nn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.type=167062518}}e.IfcBSplineSurfaceWithKnots=Cn;e.IfcBlock=class extends wo{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.XLength=s,this.YLength=i,this.ZLength=r,this.type=1334484129}};e.IfcBooleanClippingResult=class extends _o{constructor(e,t,s,i){super(e,t,s,i),this.Operator=t,this.FirstOperand=s,this.SecondOperand=i,this.type=3649129432}};class bn extends Bo{constructor(e){super(e),this.type=1260505505}}e.IfcBoundedCurve=bn;e.IfcBuildingStorey=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.Elevation=c,this.type=3124254112}};class On extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1626504194}}e.IfcBuiltElementType=On;e.IfcChimneyType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2197970202}};e.IfcCircleHollowProfileDef=class extends bo{constructor(e,t,s,i,r,o){super(e,t,s,i,r),this.ProfileType=t,this.ProfileName=s,this.Position=i,this.Radius=r,this.WallThickness=o,this.type=2937912522}};e.IfcCivilElementType=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3893394355}};e.IfcClothoid=class extends fn{constructor(e,t,s){super(e,t),this.Position=t,this.ClothoidConstant=s,this.type=3497074424}};e.IfcColumnType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=300633059}};e.IfcComplexPropertyTemplate=class extends Zo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.UsageName=o,this.TemplateType=n,this.HasPropertyTemplates=a,this.type=3875453745}};class Sn extends bn{constructor(e,t,s){super(e),this.Segments=t,this.SelfIntersect=s,this.type=3732776249}}e.IfcCompositeCurve=Sn;class xn extends Sn{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=15328376}}e.IfcCompositeCurveOnSurface=xn;class wn extends Bo{constructor(e,t){super(e),this.Position=t,this.type=2510884976}}e.IfcConic=wn;e.IfcConstructionEquipmentResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=2185764099}};e.IfcConstructionMaterialResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=4105962743}};e.IfcConstructionProductResourceType=class extends So{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.Identification=a,this.LongDescription=l,this.ResourceType=h,this.BaseCosts=c,this.BaseQuantity=u,this.PredefinedType=A,this.type=1525564444}};class Bn extends ln{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.type=2559216714}}e.IfcConstructionResource=Bn;class Fn extends Qo{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.type=3293443760}}e.IfcControl=Fn;e.IfcCosineSpiral=class extends fn{constructor(e,t,s,i){super(e,t),this.Position=t,this.CosineTerm=s,this.ConstantTerm=i,this.type=2000195564}};e.IfcCostItem=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.CostValues=l,this.CostQuantities=h,this.type=3895139033}};e.IfcCostSchedule=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.SubmittedOn=h,this.UpdateDate=c,this.type=1419761937}};e.IfcCourseType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4189326743}};e.IfcCoveringType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1916426348}};e.IfcCrewResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3295246426}};e.IfcCurtainWallType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1457835157}};e.IfcCylindricalSurface=class extends Lo{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=1213902940}};class Mn extends On{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1306400036}}e.IfcDeepFoundationType=Mn;e.IfcDirectrixDerivedReferenceSweptAreaSolid=class extends Ho{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o,n),this.SweptArea=t,this.Position=s,this.Directrix=i,this.StartParam=r,this.EndParam=o,this.FixedReference=n,this.type=4234616927}};class Ln extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3256556792}}e.IfcDistributionElementType=Ln;class Un extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3849074793}}e.IfcDistributionFlowElementType=Un;e.IfcDoorLiningProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.LiningDepth=o,this.LiningThickness=n,this.ThresholdDepth=a,this.ThresholdThickness=l,this.TransomThickness=h,this.TransomOffset=c,this.LiningOffset=u,this.ThresholdOffset=A,this.CasingThickness=p,this.CasingDepth=d,this.ShapeAspectStyle=f,this.LiningToPanelOffsetX=m,this.LiningToPanelOffsetY=E,this.type=2963535650}};e.IfcDoorPanelProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.PanelDepth=o,this.PanelOperation=n,this.PanelWidth=a,this.PanelPosition=l,this.ShapeAspectStyle=h,this.type=1714330368}};e.IfcDoorType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.OperationType=u,this.ParameterTakesPrecedence=A,this.UserDefinedOperationType=p,this.type=2323601079}};e.IfcDraughtingPreDefinedColour=class extends Wo{constructor(e,t){super(e,t),this.Name=t,this.type=445594917}};e.IfcDraughtingPreDefinedCurveFont=class extends zo{constructor(e,t){super(e,t),this.Name=t,this.type=4006246654}};class Hn extends Xo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1758889154}}e.IfcElement=Hn;e.IfcElementAssembly=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.AssemblyPlace=h,this.PredefinedType=c,this.type=4123344466}};e.IfcElementAssemblyType=class extends Mo{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2397081782}};class Gn extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1623761950}}e.IfcElementComponent=Gn;class kn extends Mo{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2590856083}}e.IfcElementComponentType=kn;e.IfcEllipse=class extends wn{constructor(e,t,s,i){super(e,t),this.Position=t,this.SemiAxis1=s,this.SemiAxis2=i,this.type=1704287377}};class Vn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2107101300}}e.IfcEnergyConversionDeviceType=Vn;e.IfcEngineType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=132023988}};e.IfcEvaporativeCoolerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3174744832}};e.IfcEvaporatorType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3390157468}};e.IfcEvent=class extends Yo{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.EventTriggerType=h,this.UserDefinedEventTriggerType=c,this.EventOccurenceTime=u,this.type=4148101412}};class Qn extends un{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.type=2853485674}}e.IfcExternalSpatialStructureElement=Qn;class jn extends Vo{constructor(e,t){super(e,t),this.Outer=t,this.type=807026263}}e.IfcFacetedBrep=jn;e.IfcFacetedBrepWithVoids=class extends jn{constructor(e,t,s){super(e,t),this.Outer=t,this.Voids=s,this.type=3737207727}};class Wn extends pn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.type=24185140}}e.IfcFacility=Wn;class zn extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.type=1310830890}}e.IfcFacilityPart=zn;e.IfcFacilityPartCommon=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=4228831410}};e.IfcFastener=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=647756555}};e.IfcFastenerType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2489546625}};class Kn extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2827207264}}e.IfcFeatureElement=Kn;class Yn extends Kn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2143335405}}e.IfcFeatureElementAddition=Yn;class Xn extends Kn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1287392070}}e.IfcFeatureElementSubtraction=Xn;class Zn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3907093117}}e.IfcFlowControllerType=Zn;class qn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3198132628}}e.IfcFlowFittingType=qn;e.IfcFlowMeterType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3815607619}};class Jn extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1482959167}}e.IfcFlowMovingDeviceType=Jn;class $n extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1834744321}}e.IfcFlowSegmentType=$n;class ea extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=1339347760}}e.IfcFlowStorageDeviceType=ea;class ta extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2297155007}}e.IfcFlowTerminalType=ta;class sa extends Un{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=3009222698}}e.IfcFlowTreatmentDeviceType=sa;e.IfcFootingType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1893162501}};class ia extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=263784265}}e.IfcFurnishingElement=ia;e.IfcFurniture=class extends ia{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1509553395}};e.IfcGeographicElement=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3493046030}};class ra extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4230923436}}e.IfcGeotechnicalElement=ra;e.IfcGeotechnicalStratum=class extends ra{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1594536857}};e.IfcGradientCurve=class extends Sn{constructor(e,t,s,i,r){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.BaseCurve=i,this.EndPoint=r,this.type=2898700619}};class oa extends Qo{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2706460486}}e.IfcGroup=oa;e.IfcHeatExchangerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1251058090}};e.IfcHumidifierType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1806887404}};e.IfcImpactProtectionDevice=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2568555532}};e.IfcImpactProtectionDeviceType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3948183225}};e.IfcIndexedPolyCurve=class extends bn{constructor(e,t,s,i){super(e),this.Points=t,this.Segments=s,this.SelfIntersect=i,this.type=2571569899}};e.IfcInterceptorType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3946677679}};e.IfcIntersectionCurve=class extends In{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=3113134337}};e.IfcInventory=class extends oa{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.Jurisdiction=a,this.ResponsiblePersons=l,this.LastUpdateDate=h,this.CurrentValue=c,this.OriginalValue=u,this.type=2391368822}};e.IfcJunctionBoxType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4288270099}};e.IfcKerbType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.Mountable=c,this.type=679976338}};e.IfcLaborResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3827777499}};e.IfcLampType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1051575348}};e.IfcLightFixtureType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1161773419}};class na extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=2176059722}}e.IfcLinearElement=na;e.IfcLiquidTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1770583370}};e.IfcMarineFacility=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=525669439}};e.IfcMarinePart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=976884017}};e.IfcMechanicalFastener=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NominalDiameter=h,this.NominalLength=c,this.PredefinedType=u,this.type=377706215}};e.IfcMechanicalFastenerType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.NominalLength=A,this.type=2108223431}};e.IfcMedicalDeviceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1114901282}};e.IfcMemberType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3181161470}};e.IfcMobileTelecommunicationsApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1950438474}};e.IfcMooringDeviceType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=710110818}};e.IfcMotorConnectionType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=977012517}};e.IfcNavigationElementType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=506776471}};e.IfcOccupant=class extends Pn{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheActor=n,this.PredefinedType=a,this.type=4143007308}};e.IfcOpeningElement=class extends Xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3588315303}};e.IfcOutletType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2837617999}};e.IfcPavementType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=514975943}};e.IfcPerformanceHistory=class extends Fn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LifeCyclePhase=a,this.PredefinedType=l,this.type=2382730787}};e.IfcPermeableCoveringProperties=class extends Ko{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.OperationType=o,this.PanelPosition=n,this.FrameDepth=a,this.FrameThickness=l,this.ShapeAspectStyle=h,this.type=3566463478}};e.IfcPermit=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3327091369}};e.IfcPileType=class extends Mn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1158309216}};e.IfcPipeFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=804291784}};e.IfcPipeSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4231323485}};e.IfcPlateType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4017108033}};e.IfcPolygonalFaceSet=class extends Tn{constructor(e,t,s,i,r){super(e,t,s),this.Coordinates=t,this.Closed=s,this.Faces=i,this.PnIndex=r,this.type=2839578677}};e.IfcPolyline=class extends bn{constructor(e,t){super(e),this.Points=t,this.type=3724593414}};class aa extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=3740093272}}e.IfcPort=aa;class la extends Xo{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1946335990}}e.IfcPositioningElement=la;e.IfcProcedure=class extends Yo{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.PredefinedType=l,this.type=2744685151}};e.IfcProjectOrder=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=2904328755}};e.IfcProjectionElement=class extends Yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3651124850}};e.IfcProtectiveDeviceType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1842657554}};e.IfcPumpType=class extends Jn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2250791053}};e.IfcRailType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1763565496}};e.IfcRailingType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2893384427}};e.IfcRailway=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=3992365140}};e.IfcRailwayPart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=1891881377}};e.IfcRampFlightType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2324767716}};e.IfcRampType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1469900589}};e.IfcRationalBSplineSurfaceWithKnots=class extends Cn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.UDegree=t,this.VDegree=s,this.ControlPointsList=i,this.SurfaceForm=r,this.UClosed=o,this.VClosed=n,this.SelfIntersect=a,this.UMultiplicities=l,this.VMultiplicities=h,this.UKnots=c,this.VKnots=u,this.KnotSpec=A,this.WeightsData=p,this.type=683857671}};e.IfcReferent=class extends la{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=4021432810}};class ha extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.type=3027567501}}e.IfcReinforcingElement=ha;class ca extends kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=964333572}}e.IfcReinforcingElementType=ca;e.IfcReinforcingMesh=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.MeshLength=c,this.MeshWidth=u,this.LongitudinalBarNominalDiameter=A,this.TransverseBarNominalDiameter=p,this.LongitudinalBarCrossSectionArea=d,this.TransverseBarCrossSectionArea=f,this.LongitudinalBarSpacing=m,this.TransverseBarSpacing=E,this.PredefinedType=y,this.type=2320036040}};e.IfcReinforcingMeshType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E,y,g,v){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.MeshLength=u,this.MeshWidth=A,this.LongitudinalBarNominalDiameter=p,this.TransverseBarNominalDiameter=d,this.LongitudinalBarCrossSectionArea=f,this.TransverseBarCrossSectionArea=m,this.LongitudinalBarSpacing=E,this.TransverseBarSpacing=y,this.BendingShapeCode=g,this.BendingParameters=v,this.type=2310774935}};e.IfcRelAdheresToElement=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingElement=o,this.RelatedSurfaceFeatures=n,this.type=3818125796}};e.IfcRelAggregates=class extends rn{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.RelatingObject=o,this.RelatedObjects=n,this.type=160246688}};e.IfcRoad=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=146592293}};e.IfcRoadPart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=550521510}};e.IfcRoofType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2781568857}};e.IfcSanitaryTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1768891740}};e.IfcSeamCurve=class extends In{constructor(e,t,s,i){super(e,t,s,i),this.Curve3D=t,this.AssociatedGeometry=s,this.MasterRepresentation=i,this.type=2157484638}};e.IfcSecondOrderPolynomialSpiral=class extends fn{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.QuadraticTerm=s,this.LinearTerm=i,this.ConstantTerm=r,this.type=3649235739}};e.IfcSegmentedReferenceCurve=class extends Sn{constructor(e,t,s,i,r){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.BaseCurve=i,this.EndPoint=r,this.type=544395925}};e.IfcSeventhOrderPolynomialSpiral=class extends fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t),this.Position=t,this.SepticTerm=s,this.SexticTerm=i,this.QuinticTerm=r,this.QuarticTerm=o,this.CubicTerm=n,this.QuadraticTerm=a,this.LinearTerm=l,this.ConstantTerm=h,this.type=1027922057}};e.IfcShadingDeviceType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4074543187}};e.IfcSign=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=33720170}};e.IfcSignType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3599934289}};e.IfcSignalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1894708472}};e.IfcSineSpiral=class extends fn{constructor(e,t,s,i,r){super(e,t),this.Position=t,this.SineTerm=s,this.LinearTerm=i,this.ConstantTerm=r,this.type=42703149}};e.IfcSite=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.RefLatitude=c,this.RefLongitude=u,this.RefElevation=A,this.LandTitleNumber=p,this.SiteAddress=d,this.type=4097777520}};e.IfcSlabType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2533589738}};e.IfcSolarDeviceType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1072016465}};e.IfcSpace=class extends pn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.ElevationWithFlooring=u,this.type=3856911033}};e.IfcSpaceHeaterType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1305183839}};e.IfcSpaceType=class extends dn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.LongName=u,this.type=3812236995}};e.IfcStackTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3112655638}};e.IfcStairFlightType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1039846685}};e.IfcStairType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=338393293}};class ua extends mn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=682877961}}e.IfcStructuralAction=ua;class Aa extends En{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1179482911}}e.IfcStructuralConnection=Aa;class pa extends ua{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1004757350}}e.IfcStructuralCurveAction=pa;e.IfcStructuralCurveConnection=class extends Aa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.AxisDirection=h,this.type=4243806635}};class da extends yn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=214636428}}e.IfcStructuralCurveMember=da;e.IfcStructuralCurveMemberVarying=class extends da{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.Axis=h,this.type=2445595289}};e.IfcStructuralCurveReaction=class extends gn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.PredefinedType=c,this.type=2757150158}};e.IfcStructuralLinearAction=class extends pa{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1807405624}};class fa extends oa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.type=1252848954}}e.IfcStructuralLoadGroup=fa;e.IfcStructuralPointAction=class extends ua{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.type=2082059205}};e.IfcStructuralPointConnection=class extends Aa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.ConditionCoordinateSystem=h,this.type=734778138}};e.IfcStructuralPointReaction=class extends gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.type=1235345126}};e.IfcStructuralResultGroup=class extends oa{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.TheoryType=n,this.ResultForLoadGroup=a,this.IsLinear=l,this.type=2986769608}};class ma extends ua{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=3657597509}}e.IfcStructuralSurfaceAction=ma;e.IfcStructuralSurfaceConnection=class extends Aa{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedCondition=l,this.type=1975003073}};e.IfcSubContractResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=148013059}};e.IfcSurfaceFeature=class extends Kn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3101698114}};e.IfcSwitchingDeviceType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2315554128}};class Ea extends oa{constructor(e,t,s,i,r,o){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.type=2254336722}}e.IfcSystem=Ea;e.IfcSystemFurnitureElement=class extends ia{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=413509423}};e.IfcTankType=class extends ea{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=5716631}};e.IfcTendon=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m,E){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.TensionForce=p,this.PreStress=d,this.FrictionCoefficient=f,this.AnchorageSlip=m,this.MinCurvatureRadius=E,this.type=3824725483}};e.IfcTendonAnchor=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.type=2347447852}};e.IfcTendonAnchorType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3081323446}};e.IfcTendonConduit=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.PredefinedType=c,this.type=3663046924}};e.IfcTendonConduitType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2281632017}};e.IfcTendonType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.SheathDiameter=p,this.type=2415094496}};e.IfcTrackElementType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=618700268}};e.IfcTransformerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1692211062}};e.IfcTransportElementType=class extends _n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2097647324}};class ya extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1953115116}}e.IfcTransportationDevice=ya;e.IfcTrimmedCurve=class extends bn{constructor(e,t,s,i,r,o){super(e),this.BasisCurve=t,this.Trim1=s,this.Trim2=i,this.SenseAgreement=r,this.MasterRepresentation=o,this.type=3593883385}};e.IfcTubeBundleType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1600972822}};e.IfcUnitaryEquipmentType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1911125066}};e.IfcValveType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=728799441}};e.IfcVehicle=class extends ya{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=840318589}};e.IfcVibrationDamper=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1530820697}};e.IfcVibrationDamperType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3956297820}};e.IfcVibrationIsolator=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391383451}};e.IfcVibrationIsolatorType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3313531582}};e.IfcVirtualElement=class extends Hn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2769231204}};e.IfcVoidingFeature=class extends Xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=926996030}};e.IfcWallType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1898987631}};e.IfcWasteTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1133259667}};e.IfcWindowType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.PartitioningType=u,this.ParameterTakesPrecedence=A,this.UserDefinedPartitioningType=p,this.type=4009809668}};e.IfcWorkCalendar=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.WorkingTimes=a,this.ExceptionTimes=l,this.PredefinedType=h,this.type=4088093105}};class ga extends Fn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.type=1028945134}}e.IfcWorkControl=ga;e.IfcWorkPlan=class extends ga{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=4218914973}};e.IfcWorkSchedule=class extends ga{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h,c,u,A,p),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.CreationDate=a,this.Creators=l,this.Purpose=h,this.Duration=c,this.TotalFloat=u,this.StartTime=A,this.FinishTime=p,this.PredefinedType=d,this.type=3342526732}};e.IfcZone=class extends Ea{constructor(e,t,s,i,r,o,n){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.type=1033361043}};e.IfcActionRequest=class extends Fn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.PredefinedType=a,this.Status=l,this.LongDescription=h,this.type=3821786052}};e.IfcAirTerminalBoxType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1411407467}};e.IfcAirTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3352864051}};e.IfcAirToAirHeatRecoveryType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1871374353}};e.IfcAlignmentCant=class extends na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.RailHeadDistance=l,this.type=4266260250}};e.IfcAlignmentHorizontal=class extends na{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1545765605}};e.IfcAlignmentSegment=class extends na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.DesignParameters=l,this.type=317615605}};e.IfcAlignmentVertical=class extends na{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1662888072}};e.IfcAsset=class extends oa{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.OriginalValue=a,this.CurrentValue=l,this.TotalReplacementCost=h,this.Owner=c,this.User=u,this.ResponsiblePerson=A,this.IncorporationDate=p,this.DepreciatedValue=d,this.type=3460190687}};e.IfcAudioVisualApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1532957894}};class va extends bn{constructor(e,t,s,i,r,o){super(e),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.type=1967976161}}e.IfcBSplineCurve=va;class Ia extends va{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.type=2461110595}}e.IfcBSplineCurveWithKnots=Ia;e.IfcBeamType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=819618141}};e.IfcBearingType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3649138523}};e.IfcBoilerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=231477066}};class Ta extends xn{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=1136057603}}e.IfcBoundaryCurve=Ta;e.IfcBridge=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.PredefinedType=c,this.type=644574406}};e.IfcBridgePart=class extends zn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.UsageType=c,this.PredefinedType=u,this.type=963979645}};e.IfcBuilding=class extends Wn{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.CompositionType=h,this.ElevationOfRefHeight=c,this.ElevationOfTerrain=u,this.BuildingAddress=A,this.type=4031249490}};e.IfcBuildingElementPart=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2979338954}};e.IfcBuildingElementPartType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=39481116}};e.IfcBuildingElementProxyType=class extends On{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1909888760}};e.IfcBuildingSystem=class extends Ea{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.LongName=a,this.type=1177604601}};class _a extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1876633798}}e.IfcBuiltElement=_a;e.IfcBuiltSystem=class extends Ea{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.LongName=a,this.type=3862327254}};e.IfcBurnerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2188180465}};e.IfcCableCarrierFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=395041908}};e.IfcCableCarrierSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3293546465}};e.IfcCableFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2674252688}};e.IfcCableSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1285652485}};e.IfcCaissonFoundationType=class extends Mn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3203706013}};e.IfcChillerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2951183804}};e.IfcChimney=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3296154744}};e.IfcCircle=class extends wn{constructor(e,t,s){super(e,t),this.Position=t,this.Radius=s,this.type=2611217952}};e.IfcCivilElement=class extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1677625105}};e.IfcCoilType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2301859152}};e.IfcColumn=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=843113511}};e.IfcCommunicationsApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=400855858}};e.IfcCompressorType=class extends Jn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3850581409}};e.IfcCondenserType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2816379211}};e.IfcConstructionEquipmentResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=3898045240}};e.IfcConstructionMaterialResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=1060000209}};e.IfcConstructionProductResource=class extends Bn{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.Identification=n,this.LongDescription=a,this.Usage=l,this.BaseCosts=h,this.BaseQuantity=c,this.PredefinedType=u,this.type=488727124}};e.IfcConveyorSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2940368186}};e.IfcCooledBeamType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=335055490}};e.IfcCoolingTowerType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2954562838}};e.IfcCourse=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1502416096}};e.IfcCovering=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1973544240}};e.IfcCurtainWall=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3495092785}};e.IfcDamperType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3961806047}};class Ra extends _a{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3426335179}}e.IfcDeepFoundation=Ra;e.IfcDiscreteAccessory=class extends Gn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1335981549}};e.IfcDiscreteAccessoryType=class extends kn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2635815018}};e.IfcDistributionBoardType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=479945903}};e.IfcDistributionChamberElementType=class extends Un{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1599208980}};class Pa extends Ln{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.type=2063403501}}e.IfcDistributionControlElementType=Pa;class Da extends Hn{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1945004755}}e.IfcDistributionElement=Da;class Na extends Da{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3040386961}}e.IfcDistributionFlowElement=Na;e.IfcDistributionPort=class extends aa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.FlowDirection=l,this.PredefinedType=h,this.SystemType=c,this.type=3041715199}};class Ca extends Ea{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=3205830791}}e.IfcDistributionSystem=Ca;e.IfcDoor=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.OperationType=A,this.UserDefinedOperationType=p,this.type=395920057}};e.IfcDuctFittingType=class extends qn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=869906466}};e.IfcDuctSegmentType=class extends $n{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3760055223}};e.IfcDuctSilencerType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2030761528}};e.IfcEarthworksCut=class extends Xn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3071239417}};class ba extends _a{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1077100507}}e.IfcEarthworksElement=ba;e.IfcEarthworksFill=class extends ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3376911765}};e.IfcElectricApplianceType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=663422040}};e.IfcElectricDistributionBoardType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2417008758}};e.IfcElectricFlowStorageDeviceType=class extends ea{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3277789161}};e.IfcElectricFlowTreatmentDeviceType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2142170206}};e.IfcElectricGeneratorType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1534661035}};e.IfcElectricMotorType=class extends Vn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1217240411}};e.IfcElectricTimeControlType=class extends Zn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=712377611}};class Oa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1658829314}}e.IfcEnergyConversionDevice=Oa;e.IfcEngine=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2814081492}};e.IfcEvaporativeCooler=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3747195512}};e.IfcEvaporator=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=484807127}};e.IfcExternalSpatialElement=class extends Qn{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.LongName=l,this.PredefinedType=h,this.type=1209101575}};e.IfcFanType=class extends Jn{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=346874300}};e.IfcFilterType=class extends sa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1810631287}};e.IfcFireSuppressionTerminalType=class extends ta{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4222183408}};class Sa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2058353004}}e.IfcFlowController=Sa;class xa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=4278956645}}e.IfcFlowFitting=xa;e.IfcFlowInstrumentType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=4037862832}};e.IfcFlowMeter=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2188021234}};class wa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3132237377}}e.IfcFlowMovingDevice=wa;class Ba extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=987401354}}e.IfcFlowSegment=Ba;class Fa extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=707683696}}e.IfcFlowStorageDevice=Fa;class Ma extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2223149337}}e.IfcFlowTerminal=Ma;class La extends Na{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3508470533}}e.IfcFlowTreatmentDevice=La;e.IfcFooting=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=900683007}};class Ua extends ra{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2713699986}}e.IfcGeotechnicalAssembly=Ua;e.IfcGrid=class extends la{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.UAxes=l,this.VAxes=h,this.WAxes=c,this.PredefinedType=u,this.type=3009204131}};e.IfcHeatExchanger=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3319311131}};e.IfcHumidifier=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2068733104}};e.IfcInterceptor=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4175244083}};e.IfcJunctionBox=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2176052936}};e.IfcKerb=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.Mountable=h,this.type=2696325953}};e.IfcLamp=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=76236018}};e.IfcLightFixture=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=629592764}};class Ha extends la{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.type=1154579445}}e.IfcLinearPositioningElement=Ha;e.IfcLiquidTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1638804497}};e.IfcMedicalDevice=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1437502449}};e.IfcMember=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1073191201}};e.IfcMobileTelecommunicationsAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2078563270}};e.IfcMooringDevice=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=234836483}};e.IfcMotorConnection=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2474470126}};e.IfcNavigationElement=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2182337498}};e.IfcOuterBoundaryCurve=class extends Ta{constructor(e,t,s){super(e,t,s),this.Segments=t,this.SelfIntersect=s,this.type=144952367}};e.IfcOutlet=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3694346114}};e.IfcPavement=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1383356374}};e.IfcPile=class extends Ra{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.ConstructionType=c,this.type=1687234759}};e.IfcPipeFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=310824031}};e.IfcPipeSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3612865200}};e.IfcPlate=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3171933400}};e.IfcProtectiveDevice=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=738039164}};e.IfcProtectiveDeviceTrippingUnitType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=655969474}};e.IfcPump=class extends wa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=90941305}};e.IfcRail=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3290496277}};e.IfcRailing=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2262370178}};e.IfcRamp=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3024970846}};e.IfcRampFlight=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3283111854}};e.IfcRationalBSplineCurveWithKnots=class extends Ia{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.Degree=t,this.ControlPointsList=s,this.CurveForm=i,this.ClosedCurve=r,this.SelfIntersect=o,this.KnotMultiplicities=n,this.Knots=a,this.KnotSpec=l,this.WeightsData=h,this.type=1232101972}};e.IfcReinforcedSoil=class extends ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3798194928}};e.IfcReinforcingBar=class extends ha{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.SteelGrade=h,this.NominalDiameter=c,this.CrossSectionArea=u,this.BarLength=A,this.PredefinedType=p,this.BarSurface=d,this.type=979691226}};e.IfcReinforcingBarType=class extends ca{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p,d,f,m){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.NominalDiameter=u,this.CrossSectionArea=A,this.BarLength=p,this.BarSurface=d,this.BendingShapeCode=f,this.BendingParameters=m,this.type=2572171363}};e.IfcRoof=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2016517767}};e.IfcSanitaryTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3053780830}};e.IfcSensorType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=1783015770}};e.IfcShadingDevice=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1329646415}};e.IfcSignal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=991950508}};e.IfcSlab=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1529196076}};e.IfcSolarDevice=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3420628829}};e.IfcSpaceHeater=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1999602285}};e.IfcStackTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1404847402}};e.IfcStair=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=331165859}};e.IfcStairFlight=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.NumberOfRisers=h,this.NumberOfTreads=c,this.RiserHeight=u,this.TreadLength=A,this.PredefinedType=p,this.type=4252922144}};e.IfcStructuralAnalysisModel=class extends Ea{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.OrientationOf2DPlane=a,this.LoadedBy=l,this.HasResults=h,this.SharedPlacement=c,this.type=2515109513}};e.IfcStructuralLoadCase=class extends fa{constructor(e,t,s,i,r,o,n,a,l,h,c,u){super(e,t,s,i,r,o,n,a,l,h,c),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.PredefinedType=n,this.ActionType=a,this.ActionSource=l,this.Coefficient=h,this.Purpose=c,this.SelfWeightCoefficients=u,this.type=385403989}};e.IfcStructuralPlanarAction=class extends ma{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A){super(e,t,s,i,r,o,n,a,l,h,c,u,A),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.AppliedLoad=l,this.GlobalOrLocal=h,this.DestabilizingLoad=c,this.ProjectedOrTrue=u,this.PredefinedType=A,this.type=1621171031}};e.IfcSwitchingDevice=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1162798199}};e.IfcTank=class extends Fa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=812556717}};e.IfcTrackElement=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3425753595}};e.IfcTransformer=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3825984169}};e.IfcTransportElement=class extends ya{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1620046519}};e.IfcTubeBundle=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3026737570}};e.IfcUnitaryControlElementType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3179687236}};e.IfcUnitaryEquipment=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4292641817}};e.IfcValve=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4207607924}};class Ga extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2391406946}}e.IfcWall=Ga;e.IfcWallStandardCase=class extends Ga{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3512223829}};e.IfcWasteTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4237592921}};e.IfcWindow=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h,c,u,A,p){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.OverallHeight=h,this.OverallWidth=c,this.PredefinedType=u,this.PartitioningType=A,this.UserDefinedPartitioningType=p,this.type=3304561284}};e.IfcActuatorType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=2874132201}};e.IfcAirTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1634111441}};e.IfcAirTerminalBox=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=177149247}};e.IfcAirToAirHeatRecovery=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2056796094}};e.IfcAlarmType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=3001207471}};e.IfcAlignment=class extends Ha{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.PredefinedType=l,this.type=325726236}};e.IfcAudioVisualAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=277319702}};e.IfcBeam=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=753842376}};e.IfcBearing=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4196446775}};e.IfcBoiler=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=32344328}};e.IfcBorehole=class extends Ua{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=3314249567}};e.IfcBuildingElementProxy=class extends _a{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1095909175}};e.IfcBurner=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2938176219}};e.IfcCableCarrierFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=635142910}};e.IfcCableCarrierSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3758799889}};e.IfcCableFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1051757585}};e.IfcCableSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4217484030}};e.IfcCaissonFoundation=class extends Ra{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3999819293}};e.IfcChiller=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3902619387}};e.IfcCoil=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=639361253}};e.IfcCommunicationsAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3221913625}};e.IfcCompressor=class extends wa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3571504051}};e.IfcCondenser=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2272882330}};e.IfcControllerType=class extends Pa{constructor(e,t,s,i,r,o,n,a,l,h,c){super(e,t,s,i,r,o,n,a,l,h),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ApplicableOccurrence=o,this.HasPropertySets=n,this.RepresentationMaps=a,this.Tag=l,this.ElementType=h,this.PredefinedType=c,this.type=578613899}};e.IfcConveyorSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3460952963}};e.IfcCooledBeam=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4136498852}};e.IfcCoolingTower=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3640358203}};e.IfcDamper=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4074379575}};e.IfcDistributionBoard=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3693000487}};e.IfcDistributionChamberElement=class extends Na{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1052013943}};e.IfcDistributionCircuit=class extends Ca{constructor(e,t,s,i,r,o,n,a){super(e,t,s,i,r,o,n,a),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.LongName=n,this.PredefinedType=a,this.type=562808652}};class ka extends Da{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1062813311}}e.IfcDistributionControlElement=ka;e.IfcDuctFitting=class extends xa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=342316401}};e.IfcDuctSegment=class extends Ba{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3518393246}};e.IfcDuctSilencer=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1360408905}};e.IfcElectricAppliance=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1904799276}};e.IfcElectricDistributionBoard=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=862014818}};e.IfcElectricFlowStorageDevice=class extends Fa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3310460725}};e.IfcElectricFlowTreatmentDevice=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=24726584}};e.IfcElectricGenerator=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=264262732}};e.IfcElectricMotor=class extends Oa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=402227799}};e.IfcElectricTimeControl=class extends Sa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1003880860}};e.IfcFan=class extends wa{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3415622556}};e.IfcFilter=class extends La{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=819412036}};e.IfcFireSuppressionTerminal=class extends Ma{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=1426591983}};e.IfcFlowInstrument=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=182646315}};e.IfcGeomodel=class extends Ua{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=2680139844}};e.IfcGeoslice=class extends Ua{constructor(e,t,s,i,r,o,n,a,l){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.type=1971632696}};e.IfcProtectiveDeviceTrippingUnit=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=2295281155}};e.IfcSensor=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4086658281}};e.IfcUnitaryControlElement=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=630975310}};e.IfcActuator=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=4288193352}};e.IfcAlarm=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=3087945054}};e.IfcController=class extends ka{constructor(e,t,s,i,r,o,n,a,l,h){super(e,t,s,i,r,o,n,a,l),this.GlobalId=t,this.OwnerHistory=s,this.Name=i,this.Description=r,this.ObjectType=o,this.ObjectPlacement=n,this.Representation=a,this.Tag=l,this.PredefinedType=h,this.type=25142252}}}(Ag||(Ag={})),(dg=pg||(pg={}))[dg.LOG_LEVEL_DEBUG=0]="LOG_LEVEL_DEBUG",dg[dg.LOG_LEVEL_INFO=1]="LOG_LEVEL_INFO",dg[dg.LOG_LEVEL_WARN=2]="LOG_LEVEL_WARN",dg[dg.LOG_LEVEL_ERROR=3]="LOG_LEVEL_ERROR",dg[dg.LOG_LEVEL_OFF=4]="LOG_LEVEL_OFF","undefined"!=typeof self&&self.crossOriginIsolated)try{mg()}catch(e){Eg()}else Eg();p.vec2(),p.vec3(),p.vec3(),p.vec3();class vg{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}class Ig{constructor(e,t,s,i){this.bimViewer=e?e.bimViewer||e:this,this.server=e?e.server:s,this.viewer=e?e.viewer:i,this._children=[],e&&e._children.push(this),this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._events=null,this._eventCallDepth=0,this._enabled=null,this._active=null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const i=this._eventSubs[e];let r;if(i)for(const s in i)i.hasOwnProperty(s)&&(r=i[s],this._eventCallDepth++,this._eventCallDepth<300?r.callback.call(r.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(e,t,s){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new vg),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={});let i=this._eventSubs[e];i||(i={},this._eventSubs[e]=i);const r=this._subIdMap.addItem();i[r]={callback:t,scope:s||this},this._subIdEvents[r]=e;const o=this._events[e];return void 0!==o&&t.call(s||this,o),r}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._subIdMap.removeItem(e)}}once(e,t,s){const i=this,r=this.on(e,(function(e){i.off(r),t.call(s||this,e)}),s)}log(e){e="[LOG] "+e,window.console.log(e)}warn(e){e="[WARN] "+e,window.console.warn(e)}error(e){e="[ERROR] "+e,window.console.error(e)}_mutexActivation(e){const t=e.length;for(let s=0;s
Default text
',s.appendChild(this._modal),this._modalVisible=!1,this._modal.style.display="hidden"}show(e){this._modalVisible=!0,this._modal.querySelector(".xeokit-busy-modal-message").innerText=e,this._modal.style.display="block"}hide(){this._modalVisible=!1,this._modal.style.display="none"}destroy(){super.destroy(),this._modal&&(this._modal.parentNode.removeChild(this._modal),this._modal=null)}}const _g=p.vec3();class Rg extends Ig{constructor(e,t={}){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement,i=this.viewer.camera;this._modelMementos={},i.eye=[.577,.577,.577],i.look=[0,0,0],i.up=[-1,1,-1],this.bimViewer._modelsExplorer.on("modelLoaded",(e=>{this._saveModelMemento(e)})),this.bimViewer._modelsExplorer.on("modelUnloaded",(e=>{this._destroyModelMemento(e)})),this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?s.classList.add("active"):s.classList.remove("active")})),s.addEventListener("click",(e=>{this.getEnabled()&&this.reset(),e.preventDefault()}))}_saveModelMemento(e){const t=this.viewer.metaScene.metaModels[e];if(!t)return;const s=new ar;s.saveObjects(this.viewer.scene,t,{visible:!0,edges:!0,xrayed:!0,highlighted:!0,selected:!0,clippable:!0,pickable:!0,colorize:!1,opacity:!1}),this._modelMementos[e]=s}_restoreModelMemento(e){const t=this.viewer.metaScene.metaModels[e];if(!t)return;this._modelMementos[e].restoreObjects(this.viewer.scene,t)}_destroyModelMemento(e){delete this._modelMementos[e]}reset(){const e=this.viewer.scene.modelIds;for(var t=0,s=e.length;t{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?s.classList.add("active"):s.classList.remove("active")})),s.addEventListener("click",(e=>{this.getEnabled()&&this.fit(),e.preventDefault()}))}fit(){const e=this.viewer.scene,t=e.getAABB(e.visibleObjectIds);this.viewer.cameraFlight.flyTo({aabb:t}),this.viewer.cameraControl.pivotPos=p.getAABB3Center(t,Pg)}set fov(e){this.viewer.scene.cameraFlight.fitFOV=e}get fov(){return this.viewer.scene.cameraFlight.fitFOV}set duration(e){this.viewer.scene.cameraFlight.duration=e}get duration(){return this.viewer.scene.cameraFlight.duration}}class Ng extends Ig{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement,i=this.viewer.cameraControl,r=t.cameraControlNavModeMediator;i.navMode="orbit",i.followPointer=!0,this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?s.classList.add("active"):s.classList.remove("active")})),this.on("active",(e=>{r.setFirstPersonModeActive(e),e?(i.followPointer=!0,i.pivoting=!1):i.pivoting=!0})),s.addEventListener("click",(e=>{if(this.getEnabled()){const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}))}}class Cg extends Ig{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement;this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?(s.classList.add("active"),this.viewer.cameraControl.doublePickFlyTo=!1,this._onPick=this.viewer.cameraControl.on("picked",(e=>{e.entity&&(e.entity.visible=!1)}))):(s.classList.remove("active"),this.viewer.cameraControl.doublePickFlyTo=!1,void 0!==this._onPick&&(this.viewer.cameraControl.off(this._onPick),this._onPick=void 0))})),s.addEventListener("click",(e=>{if(this.getEnabled()){this.bimViewer._sectionTool.hideControl();const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}))}}class bg extends Ig{constructor(e,t){if(super(e),!t.buttonElement)throw"Missing config: buttonElement";const s=t.buttonElement;this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?(s.classList.add("active"),this._onPick=this.viewer.cameraControl.on("picked",(e=>{e.entity&&(e.entity.selected=!e.entity.selected)}))):(s.classList.remove("active"),void 0!==this._onPick&&(this.viewer.cameraControl.off(this._onPick),this._onPick=void 0))})),s.addEventListener("click",(e=>{if(this.getEnabled()){this.bimViewer._sectionTool.hideControl();const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}))}}class Og extends Ig{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";this._buttonElement=t.buttonElement,this.on("enabled",(e=>{e?this._buttonElement.classList.remove("disabled"):this._buttonElement.classList.add("disabled")})),this._buttonElement.addEventListener("click",(e=>{this.getEnabled()&&this.setActive(!this.getActive(),(()=>{})),e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)})),this.viewer.scene.on("modelLoaded",(e=>{if(!this._active){const e=this.viewer.metaScene.getObjectIDsByType("IfcSpace");this.viewer.scene.setObjectsCulled(e,!0)}})),this._active=!1,this._buttonElement.classList.remove("active")}setActive(e){this._active!==e&&(this._active=e,e?(this._buttonElement.classList.add("active"),this._enterShowSpacesMode(),this.fire("active",this._active)):(this._buttonElement.classList.remove("active"),this._exitShowSpacesMode(),this.fire("active",this._active)))}_enterShowSpacesMode(){const e=this.viewer,t=e.scene,s=e.metaScene.getObjectIDsByType("IfcSpace");t.setObjectsCulled(s,!1)}_exitShowSpacesMode(){const e=this.viewer,t=e.scene,s=e.metaScene.getObjectIDsByType("IfcSpace");t.setObjectsCulled(s,!0)}}class Sg extends Ig{constructor(e,t){super(e)}}const xg=p.AABB3(),wg=p.vec3();class Bg extends n{constructor(e={}){if(!e.sectionPlanesPlugin)throw"Missing config: sectionPlanesPlugin";super(y.apply({},e)),this._sectionPlanesPlugin=e.sectionPlanesPlugin,this._viewer=this._sectionPlanesPlugin.viewer,this._onSceneSectionPlaneCreated=this._viewer.scene.on("sectionPlaneCreated",(()=>{this._buildMenu()})),this._onSceneSectionPlaneDestroyed=this._viewer.scene.on("sectionPlaneDestroyed",(()=>{this._buildMenu()})),this._buildMenu()}_buildMenu(){const e=this._sectionPlanesPlugin,t=Object.values(e.sectionPlanes),s=[];for(let i=0,r=t.length;i`${e.viewer.localeService.translate("sectionToolContextMenu.slice")||"Slice"} #`+(i+1),doHoverEnter(t){e.hideControl(),e.showControl(r.id)},doHoverLeave(t){e.hideControl()},items:[[{getTitle:e=>r.active?e.viewer.localeService.translate("sectionToolContextMenu.deactivate")||"Disable":e.viewer.localeService.translate("sectionToolContextMenu.activate")||"Enable",doAction:e=>{r.active=!r.active}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.edit")||"Edit",getEnabled:()=>r.active,doAction:t=>{e.hideControl(),e.showControl(r.id);const s=r.pos;xg.set(this._viewer.scene.aabb),p.getAABB3Center(xg,wg),xg[0]+=s[0]-wg[0],xg[1]+=s[1]-wg[1],xg[2]+=s[2]-wg[2],xg[3]+=s[0]-wg[0],xg[4]+=s[1]-wg[1],xg[5]+=s[2]-wg[2],this._viewer.cameraFlight.flyTo({aabb:xg,fitFOV:65})}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.flip")||"Flip",getEnabled:()=>r.active,doAction:e=>{r.flipDir()}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.delete")||"Delete",doAction:e=>{r.destroy()}}]]})}this.items=[[{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.flipSlices")||"Flip Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.flipSections()}}],[{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.disableAllSlices")||"Disable all Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.disableSections()}},{getTitle:e=>e.viewer.localeService.translate("sectionToolContextMenu.enableAllSlices")||"Enable all Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.enableSections()}}],s]}destroy(){super.destroy();const e=this._viewer.scene;e.off(this._onSceneSectionPlaneCreated),e.off(this._onSceneSectionPlaneDestroyed)}}class Fg extends Ig{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";if(!t.menuButtonElement)throw"Missing config: menuButtonElement";this._buttonElement=t.buttonElement,this._counterElement=t.counterElement,this._menuButtonElement=t.menuButtonElement,this._menuButtonArrowElement=t.menuButtonArrowElement,this._sectionPlanesPlugin=new fy(this.viewer,{}),this._sectionToolContextMenu=new Bg({sectionPlanesPlugin:this._sectionPlanesPlugin,hideOnMouseDown:!1,hideOnAction:!1}),this._sectionPlanesPlugin.setOverviewVisible(!1),this.on("enabled",(e=>{e?(this._buttonElement.classList.remove("disabled"),this._counterElement&&this._counterElement.classList.remove("disabled"),this._menuButtonElement.classList.remove("disabled"),this._menuButtonArrowElement.classList.remove("disabled")):(this._buttonElement.classList.add("disabled"),this._counterElement&&this._counterElement.classList.add("disabled"),this._menuButtonElement.classList.add("disabled"),this._menuButtonArrowElement.classList.add("disabled"))})),this.on("active",(e=>{e?(this._buttonElement.classList.add("active"),this._counterElement&&this._counterElement.classList.add("active"),this._menuButtonElement.classList.add("active"),this._menuButtonArrowElement.classList.add("active")):(this._buttonElement.classList.remove("active"),this._counterElement&&this._counterElement.classList.remove("active"),this._menuButtonElement.classList.remove("active"),this._menuButtonArrowElement.classList.remove("active"))})),this.on("active",(e=>{e||this._sectionPlanesPlugin.hideControl()})),this._buttonElement.addEventListener("click",(e=>{if(!this.getEnabled())return;if(e.target===this._menuButtonElement||e.target.parentNode===this._menuButtonElement)return;const t=this.getActive();this.setActive(!t),e.preventDefault()})),document.addEventListener("mousedown",(e=>{if(!e.target.classList.contains("xeokit-context-menu-item"))if(e.target===this._menuButtonElement||e.target.parentNode===this._menuButtonElement)if(e.preventDefault(),this._sectionToolContextMenu.shown)this._sectionToolContextMenu.hide();else{this._sectionToolContextMenu.context={bimViewer:this.bimViewer,viewer:this.viewer,sectionTool:this};const e=this._menuButtonElement.getBoundingClientRect();this._sectionToolContextMenu.show(e.left,e.bottom+5)}else this._sectionToolContextMenu.hide()})),this._sectionToolContextMenu.on("shown",(()=>{this._menuButtonArrowElement.classList.remove("xeokit-arrow-down"),this._menuButtonArrowElement.classList.add("xeokit-arrow-up")})),this._sectionToolContextMenu.on("hidden",(()=>{this._menuButtonArrowElement.classList.remove("xeokit-arrow-up"),this._menuButtonArrowElement.classList.add("xeokit-arrow-down")})),this.bimViewer.on("reset",(()=>{this.clear(),this.setActive(!1)})),this.viewer.scene.on("sectionPlaneCreated",(()=>{this._updateSectionPlanesCount()})),this.viewer.scene.on("sectionPlaneDestroyed",(()=>{this._updateSectionPlanesCount()})),this._initSectionMode()}_initSectionMode(){this.viewer.scene.input.on("mouseclicked",(e=>{if(!this.getActive()||!this.getEnabled())return;const t=this.viewer.scene.pick({canvasPos:e,pickSurface:!0});if(t){const e=this._sectionPlanesPlugin.createSectionPlane({pos:t.worldPos,dir:p.mulVec3Scalar(t.worldNormal,-1)});this._sectionPlanesPlugin.showControl(e.id)}})),this._updateSectionPlanesCount()}_updateSectionPlanesCount(){this._counterElement&&(this._counterElement.innerText=""+this.getNumSections())}getNumSections(){return Object.keys(this.viewer.scene.sectionPlanes).length}clear(){this._sectionPlanesPlugin.clear(),this._updateSectionPlanesCount()}flipSections(){this._sectionPlanesPlugin.flipSectionPlanes()}enableSections(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].active=!0}}disableSections(){const e=this.viewer.scene.sectionPlanes;for(let t in e){e[t].active=!1}}hideControl(){this._sectionPlanesPlugin.hideControl()}destroy(){this._sectionPlanesPlugin.destroy(),this._sectionToolContextMenu.destroy(),super.destroy()}}class Mg extends Ig{constructor(e,t){if(super(e,t),!t.navCubeCanvasElement)throw"Missing config: navCubeCanvasElement";const s=t.navCubeCanvasElement;this._navCube=new ay(this.viewer,{canvasElement:s,fitVisible:!0,color:"#CFCFCF"}),this._navCube.setVisible(this._active),this.on("active",(e=>{this._navCube.setVisible(e)}))}destroy(){this._navCube.destroy(),super.destroy()}}const Lg={IfcSpace:{opacity:.3},IfcWindow:{opacity:.4},IfcOpeningElement:{opacity:.3},IfcPlate:{opacity:.3}},Ug={IfcRoof:{colorize:[.837255,.203922,.270588],priority:0},IfcSlab:{colorize:[.637255,.603922,.670588],priority:0},IfcWall:{colorize:[.537255,.337255,.237255],priority:0},IfcWallStandardCase:{colorize:[.537255,.337255,.237255],priority:0},IfcCovering:{colorize:[.8470588235,.427450980392,0],priority:0},IfcDoor:{colorize:[.637255,.603922,.670588],priority:1},IfcStair:{colorize:[.637255,.603922,.670588],priority:2},IfcStairFlight:{colorize:[.637255,.603922,.670588],priority:2},IfcProxy:{colorize:[.137255,.403922,.870588],priority:2},IfcRamp:{colorize:[.8470588235,.427450980392,0],priority:2},IfcColumn:{colorize:[.137255,.403922,.870588],priority:3},IfcBeam:{colorize:[.137255,.403922,.870588],priority:3},IfcCurtainWall:{colorize:[.137255,.403922,.870588],priority:3},IfcPlate:{colorize:[.8470588235,.427450980392,0,.5],opacity:.5,priority:3},IfcTransportElement:{colorize:[.8470588235,.427450980392,0],priority:3},IfcFooting:{colorize:[.8470588235,.427450980392,0],priority:3},IfcRailing:{colorize:[.137255,.403922,.870588],priority:4},IfcFurnishingElement:{colorize:[.137255,.403922,.870588],priority:4},IfcFurniture:{colorize:[.8470588235,.427450980392,0],priority:4},IfcSystemFurnitureElement:{colorize:[.8470588235,.427450980392,0],priority:4},IfcFlowSegment:{colorize:[.137255,.403922,.870588],priority:5},IfcFlowitting:{colorize:[.137255,.403922,.870588],priority:5},IfcFlowTerminal:{colorize:[.137255,.403922,.870588],priority:5},IfcFlowController:{colorize:[.8470588235,.427450980392,0],priority:5},IfcFlowFitting:{colorize:[.8470588235,.427450980392,0],priority:5},IfcDuctSegment:{colorize:[.8470588235,.427450980392,0],priority:5},IfcDistributionFlowElement:{colorize:[.8470588235,.427450980392,0],priority:5},IfcDuctFitting:{colorize:[.8470588235,.427450980392,0],priority:5},IfcLightFixture:{colorize:[.8470588235,.8470588235,.870588],priority:5},IfcAirTerminal:{colorize:[.8470588235,.427450980392,0],priority:6},IfcOpeningElement:{colorize:[.137255,.403922,.870588],opacity:.3,priority:6},IfcSpace:{opacity:.5},IfcWindow:{colorize:[.137255,.403922,.870588],opacity:.4,priority:6},IfcBuildingElementProxy:{colorize:[.5,.5,.5]},IfcSite:{colorize:[.137255,.403922,.870588]},IfcMember:{colorize:[.8470588235,.427450980392,0]},DEFAULT:{colorize:[.5,.5,.5],priority:10}};class Hg extends n{constructor(e={}){const t=[[{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.loadModel")||"Load",getEnabled:e=>!e.bimViewer.isModelLoaded(e.modelId),doAction:e=>{e.bimViewer.loadModel(e.modelId)}},{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.unloadModel")||"Unload",getEnabled:e=>e.bimViewer.isModelLoaded(e.modelId),doAction:e=>{e.bimViewer.unloadModel(e.modelId)}}]];!!e.enableEditModels&&t.push([{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.editModel")||"Edit",getEnabled:e=>!0,doAction:e=>{e.bimViewer.editModel(e.modelId)}},{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.deleteModel")||"Delete",getEnabled:e=>!0,doAction:e=>{e.bimViewer.deleteModel(e.modelId)}}]),t.push([{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.loadAllModels")||"Load All",getEnabled:e=>{const t=e.bimViewer,s=t.getModelIds();return t.getLoadedModelIds().length{e.bimViewer.loadAllModels()}},{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.unloadAllModels")||"Unload All",getEnabled:e=>e.bimViewer.getLoadedModelIds().length>0,doAction:e=>{e.bimViewer.unloadAllModels()}}]),t.push([{getTitle:e=>e.viewer.localeService.translate("modelsContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}}]),super({hideOnAction:e.hideOnAction,context:e.context,items:t})}}const Gg=p.vec3();class kg{constructor(e){this._server=e}setProjectId(e){this._projectId=e}setModelId(e){this._modelId=e}getManifest(e,t,s){this._server.getSplitModelManifest(this._projectId,this._modelId,e,t,s)}getMetaModel(e,t,s){this._server.getSplitModelMetadata(this._projectId,this._modelId,e,t,s)}getXKT(e,t,s){this._server.getSplitModelGeometry(this._projectId,this._modelId,e,t,s)}}class Vg extends Ig{constructor(e,t){if(super(e,t),!t.modelsTabElement)throw"Missing config: modelsTabElement";if(!t.unloadModelsButtonElement)throw"Missing config: unloadModelsButtonElement";if(!t.modelsElement)throw"Missing config: modelsElement";if(this._enableAddModels=!!t.enableEditModels,this._modelsTabElement=t.modelsTabElement,this._loadModelsButtonElement=t.loadModelsButtonElement,this._unloadModelsButtonElement=t.unloadModelsButtonElement,this._addModelButtonElement=t.addModelButtonElement,this._modelsElement=t.modelsElement,this._modelsTabButtonElement=this._modelsTabElement.querySelector(".xeokit-tab-btn"),!this._modelsTabButtonElement)throw"Missing DOM element: ,xeokit-tab-btn";this._dataSource=new kg(this.server),this._xktLoader=new ng(this.viewer,{dataSource:this._dataSource,objectDefaults:Lg}),this._modelsContextMenu=new Hg({enableEditModels:t.enableEditModels,hideOnAction:!0}),this._modelsInfo={},this._numModels=0,this._numModelsLoaded=0,this._projectId=null}loadProject(e,t,s){this.server.getProject(e,(s=>{this.unloadProject(),this._projectId=e,this._modelsInfo={},this._numModels=0,this._parseProject(s,t),this._numModelsLoaded0&&this._unloadModelsButtonElement.classList.remove("disabled"),this._enableAddModels&&this._addModelButtonElement.classList.remove("disabled")}),(e=>{this.error(e),s&&s(e)}))}_parseProject(e,t){this._buildModelsMenu(e),this._parseViewerConfigs(e),this._parseViewerContent(e,(()=>{this._parseViewerState(e,(()=>{t()}))}))}_buildModelsMenu(e){var t="";const s=e.models||[];this._modelsInfo={},this._numModels=s.length;for(let e=0,i=s.length;e",t+=""+i.name+"",t+=""}this._modelsElement.innerHTML=t;for(let e=0,t=s.length;e{r.checked?this.loadModel(i):this.unloadModel(t.id)})),o.addEventListener("click",(()=>{!!this.viewer.scene.models[i]?this.unloadModel(t.id):this.loadModel(i)})),o.oncontextmenu=e=>{this._modelsContextMenu.context={bimViewer:this.bimViewer,viewer:this.viewer,modelId:i},this._modelsContextMenu.show(e.pageX,e.pageY),e.preventDefault()}}}_parseViewerConfigs(e){const t=e.viewerConfigs;t&&this.bimViewer.setConfigs(t)}_parseViewerContent(e,t){const s=e.viewerContent;s?this._parseModelsLoaded(s,(()=>{t()})):t()}_parseModelsLoaded(e,t){const s=e.modelsLoaded;s&&0!==s.length?this._loadNextModel(s.slice(0),t):t()}_loadNextModel(e,t){if(0===e.length)return void t();const s=e.pop();this.loadModel(s,(()=>{this._loadNextModel(e,t)}),(()=>{this._loadNextModel(e,t)}))}_parseViewerState(e,t){const s=e.viewerState;s?this.bimViewer.setViewerState(s,t):t()}unloadProject(){if(!this._projectId)return;const e=this.viewer.scene.models;for(var t in e)if(e.hasOwnProperty(t)){e[t].destroy()}this._modelsElement.innerHTML="",this._numModelsLoaded=0,this._loadModelsButtonElement.classList.add("disabled"),this._unloadModelsButtonElement.classList.add("disabled"),this._enableAddModels&&this._addModelButtonElement.classList.add("disabled");const s=this._projectId;this._projectId=null,this.fire("projectUnloaded",{projectId:s})}getLoadedProjectId(){return this._projectId}getModelIds(){return Object.keys(this._modelsInfo)}loadModel(e,t,s){if(!this._projectId){const e="No project currently loaded";return this.error(e),void(s&&s(e))}const i=this._modelsInfo[e];if(!i){const e="Model not in currently loaded project";return this.error(e),void(s&&s(e))}this.bimViewer._busyModal.show(`${this.viewer.localeService.translate("busyModal.loading")||"Loading"} ${i.name}`);this.bimViewer.getConfig("externalMetadata")&&!i.manifest?this.server.getMetadata(this._projectId,e,(r=>{this._loadGeometry(e,i,r,t,s)}),(e=>{this.bimViewer._busyModal.hide(),this.error(e),s&&s(e)})):this._loadGeometry(e,i,null,t,s)}_loadGeometry(e,t,s,i,r){const o="model"===(t.objectColorSource||this.bimViewer.getObjectColorSource())?Lg:Ug,n=()=>{document.getElementById(""+e).checked=!0,this._numModelsLoaded++,this._unloadModelsButtonElement.classList.remove("disabled"),this._numModelsLoaded{this.bimViewer._busyModal.hide(),this.error(e),r&&r(e)};if(t.manifest){this._dataSource.setProjectId(this._projectId),this._dataSource.setModelId(e);const s=this._xktLoader.load({id:e,manifestSrc:t.manifest,objectDefaults:o,excludeUnclassifiedObjects:!0,origin:t.origin||t.position,scale:t.scale,rotation:t.rotation,matrix:t.matrix,edges:!1!==t.edges,saoEnabled:t.saoEnabled,pbrEnabled:t.pbrEnabled,backfaces:t.backfaces,globalizeObjectIds:t.globalizeObjectIds,reuseGeometries:!1!==t.reuseGeometries});s.on("loaded",n),s.on("error",a)}else this.server.getGeometry(this._projectId,e,(i=>{const r=this._xktLoader.load({id:e,metaModelData:s,xkt:i,objectDefaults:o,excludeUnclassifiedObjects:!0,origin:t.origin||t.position,scale:t.scale,rotation:t.rotation,matrix:t.matrix,edges:!1!==t.edges,saoEnabled:t.saoEnabled,pbrEnabled:t.pbrEnabled,backfaces:t.backfaces,globalizeObjectIds:t.globalizeObjectIds,reuseGeometries:!1!==t.reuseGeometries});r.on("loaded",n),r.on("error",a)}),a)}_jumpToInitialCamera(){const e=this.viewer,t=e.scene,s=t.getAABB(t.visibleObjectIds),i=p.getAABB3Diag(s),r=p.getAABB3Center(s,Gg),o=t.camera;o.perspective.fov;const n=Math.abs(i/Math.tan(45*p.DEGTORAD)),a=p.normalizeVec3(o.yUp?[-.5,-.7071,-.5]:[-1,1,-1]),l=p.normalizeVec3(o.yUp?[-.5,.7071,-.5]:[-1,1,1]);e.cameraControl.pivotPos=r,e.cameraControl.planView=!1,e.cameraFlight.jumpTo({look:r,eye:[r[0]-n*a[0],r[1]-n*a[1],r[2]-n*a[2]],up:l,orthoScale:1.1*i})}unloadModel(e){const t=this.viewer.scene.models[e];if(!t)return void this.error("Model not loaded: "+e);t.destroy();document.getElementById(""+e).checked=!1,document.getElementById("span-"+e),this._numModelsLoaded--,this._numModelsLoaded>0?this._unloadModelsButtonElement.classList.remove("disabled"):this._unloadModelsButtonElement.classList.add("disabled"),this._numModelsLoadede.viewer.localeService.translate("treeViewContextMenu.inspectProperties")||"Inspect Properties",getShown:e=>!!e.viewer.metaScene.metaObjects[e.treeViewNode.objectId],doAction:e=>{const t=e.treeViewNode.objectId;e.bimViewer.showObjectProperties(t)}}),t.push({getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.viewFit")||"View Fit",doAction:function(e){const t=e.viewer,s=t.scene,i=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&i.push(e.objectId)})),s.setObjectsVisible(i,!0),s.setObjectsHighlighted(i,!0);const r=s.getAABB(i);t.cameraFlight.flyTo({aabb:r,duration:.5},(()=>{setTimeout((function(){s.setObjectsHighlighted(s.highlightedObjectIds,!1)}),500)})),t.cameraControl.pivotPos=p.getAABB3Center(r)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitSelection")||"View Fit Selected",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.selectedObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=p.getAABB3Center(i)}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.viewFitAll")||"View Fit All",doAction:function(e){const t=e.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=p.getAABB3Center(i)}}),this.items=[e,t,[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.isolate")||"Isolate",doAction:function(e){const t=e.viewer,s=t.scene,i=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&i.push(e.objectId)}));const r=s.getAABB(i);t.cameraControl.pivotPos=p.getAABB3Center(r,Qg),s.setObjectsXRayed(s.xrayedObjectIds,!1),s.setObjectsVisible(s.visibleObjectIds,!1),s.setObjectsSelected(s.selectedObjectIds,!1),s.setObjectsVisible(i,!0),t.cameraFlight.flyTo({aabb:r},(()=>{}))}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.hide")||"Hide",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.visible=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.hideOthers")||"Hide Others",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.visibleObjectIds,!1),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1),e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{if(e.objectId){const s=t.objects[e.objectId];s&&(s.visible=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.hideAll")||"Hide All",getEnabled:function(e){return e.viewer.scene.visibleObjectIds.length>0},doAction:function(e){e.viewer.scene.setObjectsVisible(e.viewer.scene.visibleObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.show")||"Show",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.visible=!0,s.xrayed&&(s.pickable=!0),s.xrayed=!1,s.selected=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.showOthers")||"Shows Others",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1),e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{if(e.objectId){const s=t.objects[e.objectId];s&&(s.visible=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.showAll")||"Show All",getEnabled:function(e){const t=e.viewer.scene;return t.numVisibleObjects0},doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xray")||"X-Ray",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.selected=!1,s.xrayed=!0,s.visible=!0,s.pickable=e.bimViewer.getConfig("xrayPickable"))}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.undoXray")||"Undo X-Ray",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.xrayed=!1,s.pickable=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xrayOthers")||"X-Ray Others",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||t.setObjectsPickable(t.objectIds,!1),t.setObjectsXRayed(t.objectIds,!0),t.setObjectsSelected(t.selectedObjectIds,!1),e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{if(e.objectId){const s=t.objects[e.objectId];s&&(s.xrayed=!1,s.pickable=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xrayAll")||"X-Ray All",doAction:function(e){const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsXRayed(t.objectIds,!0),t.setObjectsSelected(t.selectedObjectIds,!1),t.setObjectsPickable(t.objectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.xrayNone")||"X-Ray None",getEnabled:function(e){return e.viewer.scene.numXRayedObjects>0},doAction:function(e){const t=e.viewer.scene,s=t.xrayedObjectIds;t.setObjectsPickable(s,!0),t.setObjectsXRayed(s,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.select")||"Select",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.selected=!0,s.visible=!0)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.undoSelect")||"Undo Select",doAction:function(e){e.treeViewPlugin.withNodeTree(e.treeViewNode,(t=>{if(t.objectId){const s=e.viewer.scene.objects[t.objectId];s&&(s.selected=!1)}}))}},{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.selectNone")||"Select None",getEnabled:function(e){return e.viewer.scene.numSelectedObjects>0},doAction:function(e){e.viewer.scene.setObjectsSelected(e.viewer.scene.selectedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("treeViewContextMenu.clearSlices")||"Clear Slices",getEnabled:function(e){return e.bimViewer.getNumSections()>0},doAction:function(e){e.bimViewer.clearSections()}}]]}}class Wg extends Ig{constructor(e,t={}){if(super(e),!t.objectsTabElement)throw"Missing config: objectsTabElement";if(!t.showAllObjectsButtonElement)throw"Missing config: showAllObjectsButtonElement";if(!t.hideAllObjectsButtonElement)throw"Missing config: hideAllObjectsButtonElement";if(!t.objectsElement)throw"Missing config: objectsElement";if(this._objectsTabElement=t.objectsTabElement,this._showAllObjectsButtonElement=t.showAllObjectsButtonElement,this._hideAllObjectsButtonElement=t.hideAllObjectsButtonElement,this._objectsTabButtonElement=this._objectsTabElement.querySelector(".xeokit-tab-btn"),!this._objectsTabButtonElement)throw"Missing DOM element: ,xeokit-tab-btn";const s=t.objectsElement;this._treeView=new Ey(this.viewer,{containerElement:s,hierarchy:"containment",autoAddModels:!1,pruneEmptyNodes:!0}),this._treeViewContextMenu=new jg(this.bimViewer,{hideOnAction:!0}),this._treeView.on("contextmenu",(e=>{this._treeViewContextMenu.context={bimViewer:this.bimViewer,viewer:e.viewer,treeViewPlugin:e.treeViewPlugin,treeViewNode:e.treeViewNode},this._treeViewContextMenu.show(e.event.pageX,e.event.pageY)})),this._treeView.on("nodeTitleClicked",(e=>{const t=this.viewer.scene,s=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&s.push(e.objectId)}));e.treeViewNode.checked?(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!1),t.setObjectsPickable(s,!0)):(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!0),t.setObjectsPickable(s,!0))})),this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{if(this.viewer.metaScene.metaModels[e]){const t=this.bimViewer._modelsExplorer.getModelInfo(e);if(!t)return;this._treeView.addModel(e,{rootName:t.name})}})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this.viewer.metaScene.metaModels[e]&&this._treeView.removeModel(e)})),this.bimViewer.on("reset",(()=>{this._treeView.collapse()}))}setEnabled(e){e?(this._objectsTabButtonElement.classList.remove("disabled"),this._showAllObjectsButtonElement.classList.remove("disabled"),this._hideAllObjectsButtonElement.classList.remove("disabled")):(this._objectsTabButtonElement.classList.add("disabled"),this._showAllObjectsButtonElement.classList.add("disabled"),this._hideAllObjectsButtonElement.classList.add("disabled"))}expandTreeViewToDepth(e){this._treeView.expandToDepth(e)}showNodeInTreeView(e){this._treeView.collapse(),this._treeView.showNode(e)}unShowNodeInTreeView(){this._treeView.unShowNode()}destroy(){super.destroy(),this._treeView.destroy(),this._treeViewContextMenu.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded)}}class zg extends Ig{constructor(e,t={}){if(super(e),!t.classesTabElement)throw"Missing config: classesTabElement";if(!t.showAllClassesButtonElement)throw"Missing config: showAllClassesButtonElement";if(!t.hideAllClassesButtonElement)throw"Missing config: hideAllClassesButtonElement";if(!t.classesElement)throw"Missing config: classesElement";if(this._classesTabElement=t.classesTabElement,this._showAllClassesButtonElement=t.showAllClassesButtonElement,this._hideAllClassesButtonElement=t.hideAllClassesButtonElement,this._classesTabButtonElement=this._classesTabElement.querySelector(".xeokit-tab-btn"),!this._classesTabButtonElement)throw"Missing DOM element: xeokit-tab-btn";const s=t.classesElement;this._treeView=new Ey(this.viewer,{containerElement:s,hierarchy:"types",autoAddModels:!1,pruneEmptyNodes:!0}),this._treeViewContextMenu=new jg(this.bimViewer,{hideOnAction:!0}),this._treeView.on("contextmenu",(e=>{this._treeViewContextMenu.context={bimViewer:this.bimViewer,viewer:e.viewer,treeViewPlugin:e.treeViewPlugin,treeViewNode:e.treeViewNode},this._treeViewContextMenu.show(e.event.pageX,e.event.pageY)})),this._treeView.on("nodeTitleClicked",(e=>{const t=this.viewer.scene,s=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&s.push(e.objectId)}));e.treeViewNode.checked?(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!1),t.setObjectsPickable(s,!0)):(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!0),t.setObjectsPickable(s,!0))})),this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{if(this.viewer.metaScene.metaModels[e]){const t=this.bimViewer._modelsExplorer.getModelInfo(e);if(!t)return;this._treeView.addModel(e,{rootName:t.name})}})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this.viewer.metaScene.metaModels[e]&&this._treeView.removeModel(e)})),this.bimViewer.on("reset",(()=>{this._treeView.collapse()}))}setEnabled(e){e?(this._classesTabButtonElement.classList.remove("disabled"),this._showAllClassesButtonElement.classList.remove("disabled"),this._hideAllClassesButtonElement.classList.remove("disabled")):(this._classesTabButtonElement.classList.add("disabled"),this._showAllClassesButtonElement.classList.add("disabled"),this._hideAllClassesButtonElement.classList.add("disabled"))}expandTreeViewToDepth(e){this._treeView.expandToDepth(e)}showNodeInTreeView(e){this._treeView.collapse(),this._treeView.showNode(e)}unShowNodeInTreeView(){this._treeView.unShowNode()}destroy(){super.destroy(),this._treeView.destroy(),this._treeViewContextMenu.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded)}}const Kg=p.vec3();class Yg extends Ig{constructor(e,t={}){if(super(e),!t.storeysTabElement)throw"Missing config: storeysTabElement";if(!t.showAllStoreysButtonElement)throw"Missing config: showAllStoreysButtonElement";if(!t.hideAllStoreysButtonElement)throw"Missing config: hideAllStoreysButtonElement";if(!t.storeysElement)throw"Missing config: storeysElement";if(this._storeysTabElement=t.storeysTabElement,this._showAllStoreysButtonElement=t.showAllStoreysButtonElement,this._hideAllStoreysButtonElement=t.hideAllStoreysButtonElement,this._storeysTabButtonElement=this._storeysTabElement.querySelector(".xeokit-tab-btn"),!this._storeysTabButtonElement)throw"Missing DOM element: .xeokit-tab-btn";const s=t.storeysElement;this._treeView=new Ey(this.viewer,{containerElement:s,autoAddModels:!1,hierarchy:"storeys",autoExpandDepth:1}),this._treeViewContextMenu=new jg(this.bimViewer,{hideOnAction:!0}),this._treeView.on("contextmenu",(e=>{this._treeViewContextMenu.context={bimViewer:this.bimViewer,viewer:e.viewer,treeViewPlugin:e.treeViewPlugin,treeViewNode:e.treeViewNode,pruneEmptyNodes:!0},this._treeViewContextMenu.show(e.event.pageX,e.event.pageY)})),this._treeView.on("nodeTitleClicked",(e=>{const t=this.viewer.scene,s=[];e.treeViewPlugin.withNodeTree(e.treeViewNode,(e=>{e.objectId&&s.push(e.objectId)}));e.treeViewNode.checked?(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!1),t.setObjectsPickable(s,!0)):(t.setObjectsXRayed(s,!1),t.setObjectsVisible(s,!0),t.setObjectsPickable(s,!0))})),this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{const t=this.bimViewer._modelsExplorer.getModelInfo(e);t&&this._treeView.addModel(e,{rootName:t.name})})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this.viewer.metaScene.metaModels[e]&&this._treeView.removeModel(e)})),this.bimViewer.on("reset",(()=>{this._treeView.collapse(),this._treeView.expandToDepth(1)}))}setEnabled(e){e?(this._storeysTabButtonElement.classList.remove("disabled"),this._showAllStoreysButtonElement.classList.remove("disabled"),this._hideAllStoreysButtonElement.classList.remove("disabled")):(this._storeysTabButtonElement.classList.add("disabled"),this._showAllStoreysButtonElement.classList.add("disabled"),this._hideAllStoreysButtonElement.classList.add("disabled"))}expandTreeViewToDepth(e){this._treeView.expandToDepth(e)}showNodeInTreeView(e){this._treeView.collapse(),this._treeView.showNode(e)}unShowNodeInTreeView(){this._treeView.unShowNode()}selectStorey(e,t){const s=this.viewer.metaScene.metaObjects[e];if(!s)return void this.error("selectStorey() - object is not found: '"+e+"'");if("IfcBuildingStorey"!==s.type)return void this.error("selectStorey() - object is not found: '"+e+"'");const i=s.getObjectIDsInSubtree();this._selectObjects(i,t)}_selectObjects(e,t){const s=this.viewer.scene,i=s.getAABB(e);this.viewer.cameraControl.pivotPos=p.getAABB3Center(i,Kg),t?(s.setObjectsXRayed(s.objectIds,!0),s.setObjectsVisible(s.objectIds,!0),s.setObjectsPickable(s.objectIds,!1),s.setObjectsSelected(s.selectedObjectIds,!1),s.setObjectsXRayed(e,!1),s.setObjectsVisible(e,!0),s.setObjectsPickable(e,!0),this.viewer.cameraFlight.flyTo({aabb:i},(()=>{setTimeout((function(){s.setObjectsVisible(s.xrayedObjectIds,!1),s.setObjectsXRayed(s.xrayedObjectIds,!1)}),500),t()}))):(s.setObjectsVisible(s.objectIds,!1),s.setObjectsPickable(s.xrayedObjectIds,!0),s.setObjectsXRayed(s.xrayedObjectIds,!1),s.setObjectsSelected(s.selectedObjectIds,!1),s.setObjectsVisible(e,!0),this.viewer.cameraFlight.jumpTo({aabb:i}))}destroy(){super.destroy(),this._treeView.destroy(),this._treeViewContextMenu.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded)}}const Xg=p.vec3();class Zg extends Ig{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";this._saveOrthoActive=null,this._buttonElement=t.buttonElement,this._cameraControlNavModeMediator=t.cameraControlNavModeMediator,this._active=!1,this.on("enabled",(e=>{e?this._buttonElement.classList.remove("disabled"):this._buttonElement.classList.add("disabled")})),this._buttonElement.addEventListener("click",(e=>{this.getEnabled()&&(this.bimViewer._sectionTool.hideControl(),this.setActive(!this.getActive(),(()=>{}))),e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!0,(()=>{}))}))}setEnabled(e){super.setEnabled(e),this._saveOrthoActive=this.bimViewer._orthoMode.getActive()}setActive(e,t){this._active!==e?(this._active=e,e?(this._buttonElement.classList.add("active"),t?this._enterThreeDMode((()=>{this.fire("active",this._active),t()})):(this._enterThreeDMode(),this.fire("active",this._active))):(this._buttonElement.classList.remove("active"),t?this._exitThreeDMode((()=>{this.fire("active",this._active),t()})):(this._exitThreeDMode(),this.fire("active",this._active)))):t&&t()}_enterThreeDMode(e){const t=this.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds),r=p.getAABB3Diag(i),o=p.getAABB3Center(i,Xg),n=Math.abs(r/Math.tan(32.5)),a=s.camera,l=a.yUp?[-1,-1,-1]:[1,1,1],h=a.yUp?[-1,1,-1]:[-1,1,1];t.cameraControl.pivotPos=o,this.bimViewer._navCubeMode.setActive(!0),this.bimViewer._firstPersonMode.setEnabled(!0),this._cameraControlNavModeMediator.setThreeDModeActive(!0),this.bimViewer._sectionTool.setEnabled(!0),this.bimViewer._orthoMode.setEnabled(!0),e?t.cameraFlight.flyTo({look:o,eye:[o[0]-n*l[0],o[1]-n*l[1],o[2]-n*l[2]],up:h,orthoScale:1.3*r,duration:1,projection:this._saveOrthoActive?"ortho":"perspective"},(()=>{e()})):t.cameraFlight.jumpTo({look:o,eye:[o[0]-n*l[0],o[1]-n*l[1],o[2]-n*l[2]],up:h,orthoScale:1.3*r,projection:this._saveOrthoActive?"ortho":"perspective"})}_exitThreeDMode(e){const t=this.viewer,s=t.scene,i=s.camera,r=s.getAABB(s.visibleObjectIds),o=p.getAABB3Center(r),n=p.getAABB3Diag(r),a=Math.abs(n/Math.tan(45*p.DEGTORAD)),l=1.3*n,h=Xg;h[0]=o[0]+i.worldUp[0]*a,h[1]=o[1]+i.worldUp[1]*a,h[2]=o[2]+i.worldUp[2]*a;const c=p.mulVec3Scalar(i.worldForward,-1,[]);this.bimViewer._sectionTool.setActive(!1),this.bimViewer._firstPersonMode.setEnabled(!1),this._saveOrthoActive=this.bimViewer._orthoMode.getActive(),this.bimViewer._orthoMode.setEnabled(!1),this._cameraControlNavModeMediator.setThreeDModeActive(!1),e?t.cameraFlight.flyTo({eye:h,look:o,up:c,orthoScale:l,projection:"ortho"},(()=>{this.bimViewer._navCubeMode.setActive(!1)})):(t.cameraFlight.jumpTo({eye:h,look:o,up:c,orthoScale:l,projection:"ortho"}),this.bimViewer._navCubeMode.setActive(!1))}}class qg extends n{constructor(e,t={}){super(t),this._bimViewer=e,this._buildMenu()}_buildMenu(){const e=[],t=[];this._bimViewer._enablePropertiesInspector&&e.push({getTitle:e=>e.viewer.localeService.translate("objectContextMenu.inspectProperties")||"Inspect Properties",doAction:e=>{const t=e.entity.id;e.bimViewer.showObjectProperties(t)}}),e.push({getTitle:e=>e.viewer.localeService.translate("objectContextMenu.showInTree")||"Show in Explorer",doAction:e=>{const t=e.entity.id;e.showObjectInExplorers(t)}}),t.push({getTitle:e=>e.viewer.localeService.translate("objectContextMenu.viewFit")||"View Fit",doAction:e=>{const t=e.viewer,s=t.scene,i=e.entity;t.cameraFlight.flyTo({aabb:i.aabb,duration:.5},(()=>{setTimeout((function(){s.setObjectsHighlighted(s.highlightedObjectIds,!1)}),500)})),t.cameraControl.pivotPos=p.getAABB3Center(i.aabb)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitSelection")||"View Fit Selected",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.selectedObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=p.getAABB3Center(i)}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.viewFitAll")||"View Fit All",doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=p.getAABB3Center(i)}}),this.items=[e,t,[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.hide")||"Hide",getEnabled:e=>e.entity.visible,doAction:e=>{e.entity.visible=!1}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.hideOthers")||"Hide Others",doAction:e=>{const t=e.viewer,s=t.scene,i=e.entity,r=t.metaScene.metaObjects[i.id];r&&(s.setObjectsVisible(s.visibleObjectIds,!1),r.withMetaObjectsInSubtree((e=>{const t=s.objects[e.id];t&&(t.visible=!0)})))}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.hideAll")||"Hide All",getEnabled:e=>e.viewer.scene.numVisibleObjects>0,doAction:e=>{e.viewer.scene.setObjectsVisible(e.viewer.scene.visibleObjectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.showAll")||"Show All",getEnabled:e=>{const t=e.viewer.scene;return t.numVisibleObjects0},doAction:e=>{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsPickable(t.xrayedObjectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xray")||"X-Ray",getEnabled:e=>!e.entity.xrayed,doAction:e=>{const t=e.entity;t.xrayed=!0,t.pickable=e.bimViewer.getConfig("xrayPickable")}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xrayOthers")||"X-Ray Others",doAction:e=>{const t=e.viewer,s=t.scene,i=e.entity,r=t.metaScene.metaObjects[i.id];r&&(s.setObjectsVisible(s.objectIds,!0),s.setObjectsXRayed(s.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||s.setObjectsPickable(s.objectIds,!1),r.withMetaObjectsInSubtree((e=>{const t=s.objects[e.id];t&&(t.xrayed=!1,t.pickable=!0)})))}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xrayAll")||"X-Ray All",getEnabled:e=>{const t=e.viewer.scene;return t.numXRayedObjects{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||t.setObjectsPickable(t.objectIds,!1),t.setObjectsXRayed(t.objectIds,!0)}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.xrayNone")||"X-Ray None",getEnabled:e=>e.viewer.scene.numXRayedObjects>0,doAction:e=>{const t=e.viewer.scene,s=t.xrayedObjectIds;t.setObjectsPickable(s,!0),t.setObjectsXRayed(s,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.select")||"Select",getEnabled:e=>!e.entity.selected,doAction:e=>{e.entity.selected=!0}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.undoSelect")||"Undo Select",getEnabled:e=>e.entity.selected,doAction:e=>{e.entity.selected=!1}},{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.selectNone")||"Select None",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{e.viewer.scene.setObjectsSelected(e.viewer.scene.selectedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("objectContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}}]]}}class Jg extends n{constructor(e={}){super({hideOnAction:e.hideOnAction,context:e.context,items:[[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitAll")||"View Fit All",doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.visibleObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=p.getAABB3Center(i)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.viewFitSelection")||"View Fit Selected",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{const t=e.viewer,s=t.scene,i=s.getAABB(s.selectedObjectIds);t.cameraFlight.flyTo({aabb:i,duration:.5}),t.cameraControl.pivotPos=p.getAABB3Center(i)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.hideAll")||"Hide All",getEnabled:e=>e.viewer.scene.numVisibleObjects>0,doAction:e=>{e.viewer.scene.setObjectsVisible(e.viewer.scene.visibleObjectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.showAll")||"Show All",getEnabled:e=>{const t=e.viewer.scene;return t.numVisibleObjects0},doAction:e=>{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsXRayed(t.xrayedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.xRayAll")||"X-Ray All",getEnabled:e=>{const t=e.viewer.scene;return t.numXRayedObjects{const t=e.viewer.scene;t.setObjectsVisible(t.objectIds,!0),t.setObjectsXRayed(t.objectIds,!0),e.bimViewer.getConfig("xrayPickable")||t.setObjectsPickable(t.objectIds,!1)}},{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.xRayNone")||"X-Ray None",getEnabled:e=>e.viewer.scene.numXRayedObjects>0,doAction:e=>{const t=e.viewer.scene.xrayedObjectIds;e.viewer.scene.setObjectsPickable(t,!0),e.viewer.scene.setObjectsXRayed(t,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.selectNone")||"Select None",getEnabled:e=>e.viewer.scene.numSelectedObjects>0,doAction:e=>{e.viewer.scene.setObjectsSelected(e.viewer.scene.selectedObjectIds,!1)}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.resetView")||"Reset View",doAction:e=>{e.bimViewer.resetView()}}],[{getTitle:e=>e.viewer.localeService.translate("canvasContextMenu.clearSlices")||"Clear Slices",getEnabled:e=>e.bimViewer.getNumSections()>0,doAction:e=>{e.bimViewer.clearSections()}}]]})}}class $g extends Ig{constructor(e,t){if(super(e,t),!t.buttonElement)throw"Missing config: buttonElement";this._buttonElement=t.buttonElement,this.on("enabled",(e=>{e?this._buttonElement.classList.remove("disabled"):this._buttonElement.classList.add("disabled")})),this._buttonElement.addEventListener("click",(e=>{this.getEnabled()&&this.setActive(!this.getActive(),(()=>{})),e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)})),this.viewer.camera.on("projection",(()=>{const e="ortho"===this.viewer.camera.projection;this._active=e,this._active?this._buttonElement.classList.add("active"):this._buttonElement.classList.remove("active")})),this._active=!1,this._buttonElement.classList.remove("active")}setActive(e,t){this._active!==e?(this._active=e,e?(this._buttonElement.classList.add("active"),t?this._enterOrthoMode((()=>{this.fire("active",this._active),t()})):(this._enterOrthoMode(),this.fire("active",this._active))):(this._buttonElement.classList.remove("active"),t?this._exitOrthoMode((()=>{this.fire("active",this._active),t()})):(this._exitOrthoMode(),this.fire("active",this._active)))):t&&t()}_enterOrthoMode(e){e?this.viewer.cameraFlight.flyTo({projection:"ortho",duration:.5},e):this.viewer.cameraFlight.jumpTo({projection:"ortho"})}_exitOrthoMode(e){e?this.viewer.cameraFlight.flyTo({projection:"perspective",duration:.5},e):this.viewer.cameraFlight.jumpTo({projection:"perspective"})}}class ev extends Ig{constructor(e,t={}){if(super(e),!t.propertiesTabElement)throw"Missing config: propertiesTabElement";if(!t.propertiesElement)throw"Missing config: propertiesElement";if(this._metaObject=null,this._propertiesTabElement=t.propertiesTabElement,this._propertiesElement=t.propertiesElement,this._propertiesTabButtonElement=this._propertiesTabElement.querySelector(".xeokit-tab-btn"),!this._propertiesTabButtonElement)throw"Missing DOM element: ,xeokit-tab-btn";this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{if(this._metaObject){const t=this._metaObject.metaModels;for(let s=0,i=t.length;s{this.clear()})),document.addEventListener("click",this._clickListener=e=>{e.target.matches(".xeokit-accordion .xeokit-accordion-button")&&(e.target.parentElement.classList.contains("active")?e.target.parentElement.classList.remove("active"):e.target.parentElement.classList.add("active"))}),this.clear()}showObjectPropertySets(e){const t=this.viewer.metaScene.metaObjects[e];if(!t)return;const s=t.propertySets;s&&s.length>0?this._setPropertySets(t,s):this._setPropertySets(t),this._metaObject=t}clear(){const e=[],t=this.viewer.localeService.translate("propertiesInspector.noObjectSelectedWarning")||"No object inspected. Right-click or long-tab an object and select 'Inspect Properties' to view its properties here.";e.push('
'),e.push(`

${t}

`),e.push("
");const s=e.join("");this._propertiesElement.innerHTML=s}_setPropertySets(e,t){const s=[];if(s.push('
'),e){s.push(''),s.push(``),e.type&&s.push(``),s.push(``),s.push(``);const i=e.attributes;if(i)for(let e in i)s.push(``);if(s.push("
Name:${e.name}
Class:${e.type}
UUID:${e.originalSystemId}
Viewer ID:${e.id}
${tv(e)}:${i[e]}
"),t&&0!==t.length){s.push("
"),s.push('
');for(let e=0,i=t.length;e0){s.push(`
\n

${i.name}

\n
\n `);for(let e=0,t=r.length;e`)}s.push("
${t.name||t.label}:${t.value}
\n
\n
")}}s.push("
")}else{const e=this.viewer.localeService.translate("propertiesInspector.noPropSetWarning")||"No properties sets found for this object";s.push(`

${e}

`),s.push("")}}else s.push('

No object selected

');this._propertiesElement.innerHTML=s.join("")}setEnabled(e){e?this._propertiesTabButtonElement.classList.remove("disabled"):this._propertiesTabButtonElement.classList.add("disabled")}destroy(){super.destroy(),this.viewer.scene.off(this._onModelLoaded),this.viewer.scene.off(this._onModelUnloaded),document.removeEventListener("click",this._clickListener)}}function tv(e){return e?e.charAt(0).toUpperCase()+e.slice(1):e}const sv=new Float32Array(3);class iv{constructor(e){if(!e)throw"Parameter expected: cfg";if(!e.viewer)throw"Parameter expected: cfg.viewer";this.viewer=e.viewer,this._maxTreeDepth=e.maxTreeDepth||15,this._root=null,this._needsRebuild=!0,this._onModelLoaded=this.viewer.scene.on("modelLoaded",(e=>{this._needsRebuild=!0})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this._needsRebuild=!0}))}get root(){return this._needsRebuild&&this._rebuild(),this._root}_rebuild(){const e=this.viewer.scene;this._root={aabb:e.getAABB()};for(let t in e.objects){const s=e.objects[t];this._insertEntity(this._root,s,1)}this._needsRebuild=!1}_insertEntity(e,t,s){const i=t.aabb;if(s>=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&p.containsAABB3(e.left.aabb,i))return void this._insertEntity(e.left,t,s+1);if(e.right&&p.containsAABB3(e.right.aabb,i))return void this._insertEntity(e.right,t,s+1);const r=e.aabb;sv[0]=r[3]-r[0],sv[1]=r[4]-r[1],sv[2]=r[5]-r[2];let o=0;if(sv[1]>sv[o]&&(o=1),sv[2]>sv[o]&&(o=2),!e.left){const n=r.slice();if(n[o+3]=(r[o]+r[o+3])/2,e.left={aabb:n},p.containsAABB3(n,i))return void this._insertEntity(e.left,t,s+1)}if(!e.right){const n=r.slice();if(n[o]=(r[o]+r[o+3])/2,e.right={aabb:n},p.containsAABB3(n,i))return void this._insertEntity(e.right,t,s+1)}e.entities=e.entities||[],e.entities.push(t)}destroy(){const e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}class rv extends Ig{constructor(e,t){if(super(e),!t.buttonElement)throw"Missing config: buttonElement";this._objectsKdTree3=t.objectsKdTree3,this._marquee=p.AABB2(),this._marqueeFrustum=new bt,this._marqueeFrustumProjMat=p.mat4(),this._marqueeDir=!1;const s=t.buttonElement;this.on("enabled",(e=>{e?s.classList.remove("disabled"):s.classList.add("disabled")})),this.on("active",(e=>{e?(s.classList.add("active"),this._objectsKdTree3.root):s.classList.remove("active")})),s.addEventListener("click",(e=>{if(this.getEnabled()){const e=this.getActive();this.setActive(!e)}e.preventDefault()})),this.bimViewer.on("reset",(()=>{this.setActive(!1)}));const i=this.viewer.scene,r=i.canvas.canvas;this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement);const o=this._marqueeElement.style;let n,a,l,h,c,u,A,d;o.position="absolute",o["z-index"]="40000005",o.width="8px",o.height="8px",o.visibility="hidden",o.top="0px",o.left="0px",o["box-shadow"]="0 2px 5px 0 #182A3D;",o.opacity=1,o["pointer-events"]="none";let f=!1,m=!1;r.addEventListener("mousedown",(e=>{if(!this.getActive()||!this.getEnabled())return;if(0!==e.button)return;const t=this.bimViewer.viewer.scene.input;t.keyDown[t.KEY_CTRL]||i.setObjectsSelected(i.selectedObjectIds,!1),n=e.pageX,a=e.pageY,o.visibility="visible",o.left=`${n}px`,o.top=`${a}px`,o.width="0px",o.height="0px",o.display="block",c=e.offsetX,u=e.offsetY,f=!0,this.viewer.cameraControl.pointerEnabled=!1})),r.addEventListener("mouseup",(e=>{if(!this.getActive()||!this.getEnabled())return;if(!f&&!m)return;if(0!==e.button)return;l=e.pageX,h=e.pageY;const t=Math.abs(l-n),s=Math.abs(h-a);o.width=`${t}px`,o.height=`${s}px`,o.visibility="hidden",f=!1,this.viewer.cameraControl.pointerEnabled=!0,m&&(m=!1),(t>3||s>3)&&this._marqueePick()})),document.addEventListener("mouseup",(e=>{this.getActive()&&this.getEnabled()&&0===e.button&&f&&(o.visibility="hidden",f=!1,m=!0,this.viewer.cameraControl.pointerEnabled=!0)}),!0),r.addEventListener("mousemove",(e=>{if(!this.getActive()||!this.getEnabled())return;if(0!==e.button)return;if(!f)return;const t=e.pageX,s=e.pageY,i=t-n,r=s-a;o.width=`${Math.abs(i)}px`,o.height=`${Math.abs(r)}px`,o.left=`${Math.min(n,t)}px`,o.top=`${Math.min(a,s)}px`,A=e.offsetX,d=e.offsetY;const l=c{if(i===bt.INTERSECT&&(i=Ot(this._marqueeFrustum,s.aabb)),i!==bt.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,i=t.length;s{e.preventDefault()},o.oncontextmenu=e=>{e.preventDefault()},n.oncontextmenu=e=>{e.preventDefault()};const l=new km({localeService:t.localeService,canvasElement:s,keyboardEventsElement:t.keyboardEventsElement,transparent:!1,backgroundColor:[1,1,1],backgroundColorFromAmbientLight:!1,saoEnabled:!0,pbrEnabled:!1,colorTextureEnabled:!0});super(null,t,e,l),this._configs={},this._enableAddModels=!!t.enableEditModels,this._enablePropertiesInspector=!!t.inspectorElement,this.viewer=l,this._objectsKdTree3=new iv({viewer:l}),this._customizeViewer(),this._initCanvasContextMenus(),i.innerHTML=function(e){return'
\n
\n Models\n
\n
\n \n '+(e.enableEditModels?'':"")+'
\n
\n
\n
\n
\n Objects\n
\n
\n \n \n
\n
\n
\n
\n
\n Classes\n
\n
\n \n \n
\n
\n
\n
\n
\n Storeys\n
\n
\n \n \n
\n
\n
\n
\n
'}(t),o.innerHTML='
\n \x3c!-- Reset button --\x3e\n
\n \n
\n
\n \x3c!-- 3D Mode button --\x3e\n \n \x3c!-- Perspective/Ortho Mode button --\x3e\n \n \x3c!-- Fit button --\x3e\n \n \x3c!-- First Person mode button --\x3e\n \n \x3c!-- Show/hide IFCSpaces --\x3e\n \n
\n \x3c!-- Tools button group --\x3e\n
\n \x3c!-- Hide tool button --\x3e\n \n \x3c!-- Select tool button --\x3e\n \n \x3c!-- Marquee select tool button --\x3e\n \n \x3c!-- section tool button --\x3e\n \n
\n
',this._enablePropertiesInspector&&(r.innerHTML='
\n
\n Properties\n
\n
\n
\n
\n
'),this._explorerElement=i,this._inspectorElement=r,ov(i),this._enablePropertiesInspector&&ov(r),this._modelsExplorer=new Vg(this,{modelsTabElement:i.querySelector(".xeokit-modelsTab"),loadModelsButtonElement:i.querySelector(".xeokit-loadAllModels"),unloadModelsButtonElement:i.querySelector(".xeokit-unloadAllModels"),addModelButtonElement:i.querySelector(".xeokit-addModel"),modelsElement:i.querySelector(".xeokit-models"),enableEditModels:this._enableAddModels}),this._objectsExplorer=new Wg(this,{objectsTabElement:i.querySelector(".xeokit-objectsTab"),showAllObjectsButtonElement:i.querySelector(".xeokit-showAllObjects"),hideAllObjectsButtonElement:i.querySelector(".xeokit-hideAllObjects"),objectsElement:i.querySelector(".xeokit-objects")}),this._classesExplorer=new zg(this,{classesTabElement:i.querySelector(".xeokit-classesTab"),showAllClassesButtonElement:i.querySelector(".xeokit-showAllClasses"),hideAllClassesButtonElement:i.querySelector(".xeokit-hideAllClasses"),classesElement:i.querySelector(".xeokit-classes")}),this._storeysExplorer=new Yg(this,{storeysTabElement:i.querySelector(".xeokit-storeysTab"),showAllStoreysButtonElement:i.querySelector(".xeokit-showAllStoreys"),hideAllStoreysButtonElement:i.querySelector(".xeokit-hideAllStoreys"),storeysElement:i.querySelector(".xeokit-storeys")}),this._enablePropertiesInspector&&(this._propertiesInspector=new ev(this,{propertiesTabElement:r.querySelector(".xeokit-propertiesTab"),propertiesElement:r.querySelector(".xeokit-properties")})),this._resetAction=new Rg(this,{buttonElement:o.querySelector(".xeokit-reset"),active:!1}),this._fitAction=new Dg(this,{buttonElement:o.querySelector(".xeokit-fit"),active:!1});const h=new function(e){let t=!1;this.setThreeDModeActive=s=>{s?(e._firstPersonMode.setActive(!1),e._marqueeSelectionTool.setEnabled(!0),e.viewer.cameraControl.navMode="orbit"):(e._marqueeSelectionTool.setEnabled(!1),e._marqueeSelectionTool.setActive(!1),e._firstPersonMode.setActive(!1),e.viewer.cameraControl.navMode="planView"),t=s},this.setFirstPersonModeActive=s=>{e.viewer.cameraControl.navMode=s?"firstPerson":t?"orbit":"planView"}}(this);this._threeDMode=new Zg(this,{buttonElement:o.querySelector(".xeokit-threeD"),cameraControlNavModeMediator:h,active:!1}),this._orthoMode=new $g(this,{buttonElement:o.querySelector(".xeokit-ortho"),active:!1}),this._firstPersonMode=new Ng(this,{buttonElement:o.querySelector(".xeokit-firstPerson"),cameraControlNavModeMediator:h,active:!1}),this._hideTool=new Cg(this,{buttonElement:o.querySelector(".xeokit-hide"),active:!1}),this._selectionTool=new bg(this,{buttonElement:o.querySelector(".xeokit-select"),active:!1}),this._marqueeSelectionTool=new rv(this,{buttonElement:o.querySelector(".xeokit-marquee"),active:!1,objectsKdTree3:this._objectsKdTree3}),this._showSpacesMode=new Og(this,{buttonElement:o.querySelector(".xeokit-showSpaces"),active:!1}),this._queryTool=new Sg(this,{active:!1}),this._sectionTool=new Fg(this,{buttonElement:o.querySelector(".xeokit-section"),counterElement:o.querySelector(".xeokit-section-counter"),menuButtonElement:o.querySelector(".xeokit-section-menu-button"),menuButtonArrowElement:o.querySelector(".xeokit-section-menu-button-arrow"),active:!1}),this._navCubeMode=new Mg(this,{navCubeCanvasElement:n,active:!0}),this._busyModal=new Tg(this,{busyModalBackdropElement:a}),this._threeDMode.setActive(!0),this._firstPersonMode.setActive(!1),this._navCubeMode.setActive(!0),this._modelsExplorer.on("modelLoaded",(e=>{this._modelsExplorer.getNumModelsLoaded()>0&&this.setControlsEnabled(!0),this.fire("modelLoaded",e)})),this._modelsExplorer.on("modelUnloaded",(e=>{0===this._modelsExplorer.getNumModelsLoaded()&&(this.setControlsEnabled(!1),this.openTab("models")),this.fire("modelUnloaded",e)})),this._resetAction.on("reset",(()=>{this.fire("reset",!0)})),this._mutexActivation([this._hideTool,this._selectionTool,this._marqueeSelectionTool,this._sectionTool]),i.querySelector(".xeokit-showAllObjects").addEventListener("click",(e=>{this.setAllObjectsVisible(!0),this.setAllObjectsXRayed(!1),e.preventDefault()})),i.querySelector(".xeokit-hideAllObjects").addEventListener("click",(e=>{this.setAllObjectsVisible(!1),e.preventDefault()})),i.querySelector(".xeokit-showAllClasses").addEventListener("click",(e=>{this.setAllObjectsVisible(!0),this.setAllObjectsXRayed(!1),e.preventDefault()})),i.querySelector(".xeokit-hideAllClasses").addEventListener("click",(e=>{this.setAllObjectsVisible(!1),e.preventDefault()})),i.querySelector(".xeokit-showAllStoreys").addEventListener("click",(e=>{this.setAllObjectsVisible(!0),this.setAllObjectsXRayed(!1),e.preventDefault()})),i.querySelector(".xeokit-hideAllStoreys").addEventListener("click",(e=>{this.setAllObjectsVisible(!1),e.preventDefault()})),i.querySelector(".xeokit-loadAllModels").addEventListener("click",(e=>{this.setControlsEnabled(!1),this.loadAllModels(),e.preventDefault()})),i.querySelector(".xeokit-unloadAllModels").addEventListener("click",(e=>{this.setControlsEnabled(!1),this._modelsExplorer.unloadAllModels(),e.preventDefault()})),this._enableAddModels&&i.querySelector(".xeokit-addModel").addEventListener("click",(e=>{this.fire("addModel",{}),e.preventDefault()})),this._bcfViewpointsPlugin=new Wi(this.viewer,{}),this._fastNavPlugin=new Vm(l,{hideEdges:!0,hideSAO:!0,hidePBR:!1,hideColorTexture:!1,hideTransparentObjects:!1,scaleCanvasResolution:!1,scaleCanvasResolutionFactor:.6}),this.viewer.scene.on("rendered",(()=>{const e=this._fastNavPlugin;e.hideEdges=5").firstChild;document.body.appendChild(t),this.viewer.cameraControl.pivotElement=t,e.camera.perspective.near=.01,e.camera.perspective.far=3e3,e.camera.ortho.near=.01,e.camera.ortho.far=2e3;const s=e.sao;s.enabled=!0,s.numSamples=50,s.kernelRadius=200}_initCanvasContextMenus(){this._canvasContextMenu=new Jg(this,{hideOnAction:!0}),this._objectContextMenu=new qg(this,{hideOnAction:!0}),this.viewer.cameraControl.on("rightClick",(e=>{e.event;const t=this.viewer.scene.pick({canvasPos:e.canvasPos});t&&t.entity.isObject?(this._canvasContextMenu.hide(),this._objectContextMenu.context={viewer:this.viewer,bimViewer:this,showObjectInExplorers:e=>{const t=this.getOpenTab();"objects"!==t&&"classes"!==t&&"storeys"!==t&&this.openTab("objects"),this.showObjectInExplorers(e)},entity:t.entity},this._objectContextMenu.show(e.pagePos[0],e.pagePos[1])):(this._objectContextMenu.hide(),this._canvasContextMenu.context={viewer:this.viewer,bimViewer:this},this._canvasContextMenu.show(e.pagePos[0],e.pagePos[1]))}))}_initConfigs(){this.setConfigs({cameraNear:"0.05",cameraFar:"3000.0",smartPivot:"true",saoEnabled:"true",pbrEnabled:"false",saoBias:"0.5",saoIntensity:"0.15",saoNumSamples:"40",saoKernelRadius:"100",edgesEnabled:!0,xrayContext:!0,xrayPickable:!1,selectedGlowThrough:!0,highlightGlowThrough:!0,backgroundColor:[1,1,1],objectColorSource:"model",externalMetadata:!1,dtxEnabled:!1})}setConfigs(e){for(let t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setConfig(t,s)}}setConfig(e,t){function s(e){return!0===e||"true"===e}try{switch(e){case"backgroundColor":const i=t;this.setBackgroundColor(i),this._configs[e]=i;break;case"cameraNear":const r=parseFloat(t);this.viewer.scene.camera.perspective.near=r,this.viewer.scene.camera.ortho.near=r,this._configs[e]=r;break;case"cameraFar":const o=parseFloat(t);this.viewer.scene.camera.perspective.far=o,this._configs[e]=o;break;case"smartPivot":this.viewer.cameraControl.smartPivot=this._configs[e]=s(t);break;case"saoEnabled":this._fastNavPlugin.saoEnabled=this._configs[e]=s(t);break;case"saoBias":this.viewer.scene.sao.bias=parseFloat(t);break;case"saoIntensity":this.viewer.scene.sao.intensity=parseFloat(t);break;case"saoKernelRadius":this.viewer.scene.sao.kernelRadius=this._configs[e]=parseFloat(t);break;case"saoNumSamples":this.viewer.scene.sao.numSamples=this._configs[e]=parseFloat(t);break;case"saoBlur":this.viewer.scene.sao.blur=this._configs[e]=s(t);break;case"edgesEnabled":this._fastNavPlugin.edgesEnabled=this._configs[e]=s(t);break;case"pbrEnabled":this._fastNavPlugin.pbrEnabled=this._configs[e]=s(t);break;case"viewFitFOV":this.viewer.cameraFlight.fitFOV=this._configs[e]=parseFloat(t);break;case"viewFitDuration":this.viewer.cameraFlight.duration=this._configs[e]=parseFloat(t);break;case"perspectiveFOV":this.viewer.camera.perspective.fov=this._configs[e]=parseFloat(t);break;case"excludeUnclassifiedObjects":case"xrayPickable":case"externalMetadata":this._configs[e]=s(t);break;case"objectColorSource":this.setObjectColorSource(t),this._configs[e]=t;break;case"xrayContext":this._configs[e]=t;break;case"selectedGlowThrough":const n=this._configs[e]=s(t),a=this.viewer.scene.selectedMaterial;a.glowThrough=n,a.fillAlpha=n?.5:1,a.edgeAlpha=n?.5:1;break;case"highlightGlowThrough":const l=this._configs[e]=s(t),h=this.viewer.scene.highlightMaterial;h.glowThrough=l,h.fillAlpha=l?.5:1,h.edgeAlpha=l?.5:1;break;case"showSpaces":this._configs[e]=s(t),this._showSpacesMode.setActive(t);break;case"dtxEnabled":this._configs[e]=s(t),this.viewer.scene.dtxEnabled=t;break;default:this.error("setConfig() - unsupported configuration: '"+e+"'")}}catch(t){this.error("setConfig() - failed to configure '"+e+"': "+t)}}getConfig(e){return this._configs[e]}getProjectsInfo(e,t){e?this.server.getProjects(e,(e=>{this.error("getProjectsInfo() - "+e),t&&t(e)})):this.error("getProjectsInfo() - Argument expected: 'done'")}getProjectInfo(e,t,s){e?t?this.server.getProject(e,t,(e=>{this.error("getProjectInfo() - "+e),s&&s(e)})):this.error("getProjectInfo() - Argument expected: 'done'"):this.error("getProjectInfo() - Argument expected: projectId")}getObjectInfo(e,t,s,i,r){e?t?s?i?this.server.getObjectInfo(e,t,s,i,(e=>{r&&r(e)})):this.error("getProjectInfo() - Argument expected: 'done'"):this.error("getObjectInfo() - Argument expected: objectId"):this.error("getObjectInfo() - Argument expected: modelId"):this.error("getObjectInfo() - Argument expected: projectId")}loadProject(e,t,s){e?this._modelsExplorer.loadProject(e,(()=>{t&&t()}),(e=>{this.error("loadProject() - "+e),s&&s(e)})):this.error("loadProject() - Argument expected: objectId")}unloadProject(){this._modelsExplorer.unloadProject(),this.openTab("models"),this.setControlsEnabled(!1)}getLoadedProjectId(){return this._modelsExplorer.getLoadedProjectId()}getModelIds(){return this._modelsExplorer.getModelIds()}loadModel(e,t,s){e?this._modelsExplorer.loadModel(e,(()=>{t&&t()}),(e=>{this.error("loadModel() - "+e),s&&s(e)})):this.error("loadModel() - Argument expected: modelId")}loadAllModels(e=function(){}){const t=this._modelsExplorer.getModelIds(),s=(e,i)=>{if(e>=t.length)i();else{const r=t[e];this._modelsExplorer.isModelLoaded(r)?s(e+1,i):this._modelsExplorer.loadModel(r,(()=>{s(e+1,i)}),(t=>{this.error("loadAllModels() - "+t),s(e+1,i)}))}};s(0,e)}getLoadedModelIds(){return this._modelsExplorer._getLoadedModelIds()}isModelLoaded(e){if(e)return this._modelsExplorer.isModelLoaded(e);this.error("unloadModel() - Argument expected: modelId")}unloadModel(e){e?this._modelsExplorer.unloadModel(e):this.error("unloadModel() - Argument expected: modelId")}unloadAllModels(){this._modelsExplorer.unloadAllModels()}editModel(e){this.fire("editModel",{modelId:e})}deleteModel(e){this.fire("deleteModel",{modelId:e})}addModel(){this.fire("addModel",{})}setBackgroundColor(e){this.viewer.scene.canvas.backgroundColor=e}setObjectColorSource(e){switch(e){case"model":case"viewer":break;default:return e="model",void this.error("setObjectColorSource() - Unsupported value - accepted values are 'model' and 'viewer' - defaulting to 'model'")}this._objectColorSource=e}getObjectColorSource(){return this._objectColorSource||"model"}setViewerState(e,t=(()=>{})){e.tabOpen&&this.openTab(e.tabOpen),e.expandObjectsTree&&this._objectsExplorer.expandTreeViewToDepth(e.expandObjectsTree),e.expandClassesTree&&this._classesExplorer.expandTreeViewToDepth(e.expandClassesTree),e.expandStoreysTree&&this._storeysExplorer.expandTreeViewToDepth(e.expandStoreysTree),e.setCamera&&this.setCamera(e.setCamera),this._parseSelectedStorey(e,(()=>{this._parseThreeDMode(e,(()=>{t()}))}))}_parseSelectedStorey(e,t){e.selectedStorey?(this.selectStorey(e.selectedStorey),t()):t()}_parseThreeDMode(e,t){const s=!1!==e.threeDActive;this.set3DEnabled(s,t)}showObjectInExplorers(e){e?(this._objectsExplorer.showNodeInTreeView(e),this._classesExplorer.showNodeInTreeView(e),this._storeysExplorer.showNodeInTreeView(e),this.fire("openExplorer",{})):this.error("showObjectInExplorers() - Argument expected: objectId")}unShowObjectInExplorers(){this._objectsExplorer.unShowNodeInTreeView(),this._classesExplorer.unShowNodeInTreeView(),this._storeysExplorer.unShowNodeInTreeView()}showObjectProperties(e){e?(this._enablePropertiesInspector&&this._propertiesInspector.showObjectPropertySets(e),this.fire("openInspector",{})):this.error("showObjectInExplorers() - Argument expected: objectId")}setObjectsVisible(e,t){this._withObjectsInSubtree(e,(e=>{e.visible=t}))}setAllObjectsVisible(e){e?this.viewer.scene.setObjectsVisible(this.viewer.scene.objectIds,!0):this.viewer.scene.setObjectsVisible(this.viewer.scene.visibleObjectIds,!1)}setObjectsXRayed(e,t){this._withObjectsInSubtree(e,(e=>{e.xrayed=t}))}setAllObjectsXRayed(e){e?this.viewer.scene.setObjectsXRayed(this.viewer.scene.objectIds,!0):this.viewer.scene.setObjectsXRayed(this.viewer.scene.xrayedObjectIds,!1)}setObjectsSelected(e,t){this._withObjectsInSubtree(e,(e=>{e.selected=t}))}setAllObjectsSelected(e){e?this.viewer.scene.setObjectsSelected(this.viewer.scene.objectIds,!0):this.viewer.scene.setObjectsSelected(this.viewer.scene.selectedObjectIds,!1)}_withObjectsInSubtree(e,t){if(e)for(let s=0,i=e.length;s{const s=this.viewer.scene.objects[e.id];s&&t(s)}))}else this.error("Argument expected: objectIds")}flyToObject(e,t){if(!e)return void this.error("flyToObject() - Argument expected: objectId");const s=this.viewer,i=s.scene,r=[];if(this.viewer.metaScene.withMetaObjectsInSubtree(e,(e=>{i.objects[e.id]&&r.push(e.id)})),0===r.length)return this.error("Object not found in viewer: '"+e+"'"),void(t&&t());i.setObjectsVisible(r,!0),i.setObjectsHighlighted(r,!0);const o=i.getAABB(r);s.cameraFlight.flyTo({aabb:o},(()=>{t&&t(),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)})),s.cameraControl.pivotPos=p.getAABB3Center(o)}viewFitObjects(e,t){if(!e)return void this.error("flyToObject() - Argument expected: objectIds");const s=this.viewer,i=s.scene,r=[];for(var o=0,n=e.length;o{i.objects[e.id]&&r.push(e.id)}))}if(0===r.length)return void(t&&t());i.setObjectsVisible(r,!0),i.setObjectsHighlighted(r,!0);const a=i.getAABB(r);s.cameraFlight.flyTo({aabb:a},(()=>{t&&t(),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)})),s.cameraControl.pivotPos=p.getAABB3Center(a)}viewFitAll(e){const t=this.viewer,s=t.scene.getAABB();t.cameraFlight.flyTo({aabb:s},(()=>{e&&e()})),t.cameraControl.pivotPos=p.getAABB3Center(s)}jumpToObject(e){if(!e)return void this.error("jumpToObject() - Argument expected: objectId");const t=this.viewer,s=t.scene,i=[];if(this.viewer.metaScene.withMetaObjectsInSubtree(e,(e=>{s.objects[e.id]&&i.push(e.id)})),0===i.length)return void this.error("Object not found in viewer: '"+e+"'");s.setObjectsVisible(i,!0);const r=s.getAABB(i);t.cameraFlight.jumpTo({aabb:r}),t.cameraControl.pivotPos=p.getAABB3Center(r)}setCamera(e){const t=this.viewer.scene.camera;e.eye&&(t.eye=e.eye),e.look&&(t.look=e.look),e.up&&(t.up=e.up)}viewFitModels(e,t){if(!e)return void this.error("viewFitModels() - Argument expected: modelIds");const s=this.viewer,i=s.scene,r=p.AABB3();p.collapseAABB3(r);for(var o=0,n=e.length;o{t(),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)})):(s.cameraFlight.jumpTo({aabb:r}),setTimeout((function(){i.setObjectsHighlighted(i.highlightedObjectIds,!1)}),500)),s.cameraControl.pivotPos=p.getAABB3Center(r)}openTab(e){if(!e)return void this.error("openTab() - Argument expected: tabId");let t;switch(e){case"models":t="xeokit-modelsTab";break;case"objects":t="xeokit-objectsTab";break;case"classes":t="xeokit-classesTab";break;case"storeys":t="xeokit-storeysTab";break;case"properties":t="xeokit-propertiesTab";break;default:return void this.error("openTab() - tab not recognized: '"+e+"'")}this._openTab(this._explorerElement,t)}_openTab(e,t){const s="active";let i=e.querySelectorAll(".xeokit-tab"),r=e.querySelector("."+t);for(let e=0;e-1}const t="active";return e(this._explorerElement.querySelector(".xeokit-modelsTab"),t)?"models":e(this._explorerElement.querySelector(".xeokit-objectsTab"),t)?"objects":e(this._explorerElement.querySelector(".xeokit-classesTab"),t)?"classes":e(this._explorerElement.querySelector(".xeokit-storeysTab"),t)?"storeys":e(this._inspectorElement.querySelector(".xeokit-propertiesTab"),t)?"properties":"none"}set3DEnabled(e,t){this._threeDMode.setActive(e,t)}get3DEnabled(){return this._threeDMode.getActive()}setSpacesShown(e){this._showSpacesMode.setActive(e)}getSpacesShown(){return this._showSpacesMode.getActive()}setOrthoEnabled(e,t){this._orthoMode.setActive(e,t)}getOrthoEnabled(){return this._orthoMode.getActive()}selectStorey(e,t){const s=this.viewer.metaScene.metaObjects[e];s?"IfcBuildingStorey"===s.type?this._storeysExplorer.selectStorey(e,t):this.error("selectStorey() - Object is not an IfcBuildingStorey: '"+e+"'"):this.error("selectStorey() - Object is not found: '"+e+"'")}saveBCFViewpoint(e){return this._bcfViewpointsPlugin.getViewpoint(e)}loadBCFViewpoint(e,t){e?(this._orthoMode.setActive("ortho"===this.viewer.camera.projection),this._bcfViewpointsPlugin.setViewpoint(e,t)):this.error("loadBCFViewpoint() - Argument expected: bcfViewpoint")}resetView(){this._resetAction.reset()}setControlsEnabled(e){this._objectsExplorer.setEnabled(e),this._classesExplorer.setEnabled(e),this._storeysExplorer.setEnabled(e),this._resetAction.setEnabled(e),this._fitAction.setEnabled(e),this._threeDMode.setEnabled(e),this._orthoMode.setEnabled(e),this._firstPersonMode.setEnabled(e),this._queryTool.setEnabled(e),this._hideTool.setEnabled(e),this._selectionTool.setEnabled(e),this._marqueeSelectionTool.setEnabled(e),this._showSpacesMode.setEnabled(e),this._sectionTool.setEnabled(e),this._enablePropertiesInspector&&this._propertiesInspector.setEnabled(e)}setKeyboardEnabled(e){this.viewer.scene.input.keyboardEnabled=e}getKeyboardEnabled(){return this.viewer.scene.input.keyboardEnabled}clearSections(){this._sectionTool.clear()}disableSections(){this._sectionTool.disableSections()}enableSections(){this._sectionTool.enableSections()}flipSections(){this._sectionTool.flipSections()}hideSectionEditControl(){this._sectionTool.hideControl()}getNumSections(){return this._sectionTool.getNumSections()}destroy(){this.viewer.destroy(),this._bcfViewpointsPlugin.destroy(),this._canvasContextMenu.destroy(),this._objectContextMenu.destroy()}},e.LocaleService=Zi,e.Server=class{constructor(e={}){this._dataDir=e.dataDir||""}getProjects(e,t){const s=this._dataDir+"/projects/index.json";y.loadJSON(s,e,t)}getProject(e,t,s){const i=this._dataDir+"/projects/"+e+"/index.json";y.loadJSON(i,t,s)}getMetadata(e,t,s,i){const r=this._dataDir+"/projects/"+e+"/models/"+t+"/metadata.json";y.loadJSON(r,s,i)}getGeometry(e,t,s,i){const r=this._dataDir+"/projects/"+e+"/models/"+t+"/geometry.xkt";y.loadArraybuffer(r,s,i)}getObjectInfo(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/props/"+s+".json";y.loadJSON(o,i,r)}getIssues(e,t,s,i){const r=this._dataDir+"/projects/"+e+"/models/"+t+"/issues.json";y.loadJSON(r,s,i)}getSplitModelManifest(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/"+s;y.loadJSON(o,i,r)}getSplitModelMetadata(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/"+s;y.loadJSON(o,i,r)}getSplitModelGeometry(e,t,s,i,r){const o=this._dataDir+"/projects/"+e+"/models/"+t+"/"+s;y.loadArraybuffer(o,i,r)}},Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/dist/xeokit-bim-viewer.umd.js b/dist/xeokit-bim-viewer.umd.js index 25fe6b62..5869dbb8 100644 --- a/dist/xeokit-bim-viewer.umd.js +++ b/dist/xeokit-bim-viewer.umd.js @@ -90195,28 +90195,6 @@ */ const IFCObjectDefaults = { - IfcOpeningElement: { - pickable: false, - visible: false - }, - - IfcSpace: { - colorize: [0.137255, 0.403922, 0.870588], - pickable: false, - visible: false, - opacity: 0.4 - }, - - IfcWindow: { - colorize: [0.137255, 0.403922, 0.870588], - opacity: 0.3 - }, - - IfcPlate: { - colorize: [0.8470588235, 0.427450980392, 0, 0.5], - opacity: 0.3 - }, - DEFAULT: { } }; diff --git a/package-lock.json b/package-lock.json index f16998d3..893eb330 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "@xeokit/xeokit-bim-viewer", - "version": "2.4.9-alpha-32", + "version": "2.4.9-alpha-34", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@xeokit/xeokit-bim-viewer", - "version": "2.4.9-alpha-32", + "version": "2.4.9-alpha-34", "license": "See LICENSE.txt", "dependencies": { - "@xeokit/xeokit-sdk": "2.4.0-alpha-68", + "@xeokit/xeokit-sdk": "2.4.0-alpha-71", "http-server": "^13.0.2" }, "devDependencies": { @@ -336,9 +336,9 @@ } }, "node_modules/@xeokit/xeokit-sdk": { - "version": "2.4.0-alpha-68", - "resolved": "https://registry.npmjs.org/@xeokit/xeokit-sdk/-/xeokit-sdk-2.4.0-alpha-68.tgz", - "integrity": "sha512-CFCzr8Hwc9pAUx0Jk7YF7F5lGLlWQ8X6X2FrnM8t2TFnwg4Xilz9m47sluH9xQkdGkuxWqjcK7esRJE0ymG1xw==", + "version": "2.4.0-alpha-71", + "resolved": "https://registry.npmjs.org/@xeokit/xeokit-sdk/-/xeokit-sdk-2.4.0-alpha-71.tgz", + "integrity": "sha512-wLYkwSJx9toP/QSLpaot5b2SOQeJIw+UIuXcMFDeapkNtb1qYlsxGO52DtVqPsXUTitC/eg4zcUXqNyrIEpveQ==", "dependencies": { "@loaders.gl/core": "^3.2.6", "@loaders.gl/gltf": "^3.2.6", @@ -4083,9 +4083,9 @@ } }, "@xeokit/xeokit-sdk": { - "version": "2.4.0-alpha-68", - "resolved": "https://registry.npmjs.org/@xeokit/xeokit-sdk/-/xeokit-sdk-2.4.0-alpha-68.tgz", - "integrity": "sha512-CFCzr8Hwc9pAUx0Jk7YF7F5lGLlWQ8X6X2FrnM8t2TFnwg4Xilz9m47sluH9xQkdGkuxWqjcK7esRJE0ymG1xw==", + "version": "2.4.0-alpha-71", + "resolved": "https://registry.npmjs.org/@xeokit/xeokit-sdk/-/xeokit-sdk-2.4.0-alpha-71.tgz", + "integrity": "sha512-wLYkwSJx9toP/QSLpaot5b2SOQeJIw+UIuXcMFDeapkNtb1qYlsxGO52DtVqPsXUTitC/eg4zcUXqNyrIEpveQ==", "requires": { "@loaders.gl/core": "^3.2.6", "@loaders.gl/gltf": "^3.2.6",