jit-viewer 1.2.1 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var e=Object.defineProperty,t=(t,n,r)=>((t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r)(t,"symbol"!=typeof n?n+"":n,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-95hmNxVM.cjs");function r(e){this._pointer=0,this._data=e,this._eof=!1}function i(e,t){return e<=9?t:e>=10&&e<=59?parseFloat(t.trim()):e>=60&&e<=99?parseInt(t.trim()):e>=100&&e<=109?t:e>=110&&e<=149?parseFloat(t.trim()):e>=160&&e<=179?parseInt(t.trim()):e>=210&&e<=239?parseFloat(t.trim()):e>=270&&e<=289?parseInt(t.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(t.trim()):e>=300&&e<=369?t:e>=370&&e<=389?parseInt(t.trim()):e>=390&&e<=399?t:e>=400&&e<=409?parseInt(t.trim()):e>=410&&e<=419?t:e>=420&&e<=429?parseInt(t.trim()):e>=430&&e<=439?t:e>=440&&e<=459?parseInt(t.trim()):e>=460&&e<=469?parseFloat(t.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?t:e>=1010&&e<=1059?parseFloat(t.trim()):e>=1060&&e<=1071?parseInt(t.trim()):(console.log("WARNING: Group code does not have a defined type: %j",{code:e,value:t}),t)}r.prototype.next=function(){var e;if(!this.hasNext())throw this._eof?new Error("Cannot call 'next' after EOF group has been read"):new Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]);if(e={code:parseInt(this._data[this._pointer])},isNaN(e.code))throw new Error("Cannot parse group code: "+this._data[this._pointer]);return this._pointer++,e.value=i(e.code,this._data[this._pointer]),this._pointer++,0===e.code&&"EOF"===e.value&&(this._eof=!0),this.lastReadGroup=e,e},r.prototype.peek=function(){if(!this.hasNext())throw this._eof?new Error("Cannot call 'next' after EOF group has been read"):new Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]);var e={code:parseInt(this._data[this._pointer])};if(isNaN(e.code))throw new Error("Cannot parse group code: "+this._data[this._pointer]);return e.value=i(e.code,this._data[this._pointer+1]),e},r.prototype.rewind=function(e){e=e||1,this._pointer=this._pointer-2*e},r.prototype.hasNext=function(){return!this._eof&&!(this._pointer>this._data.length-2)},r.prototype.isEOF=function(){return this._eof};const a=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];var s,o,l,c={exports:{}};s=c,o=n.commonjsGlobal,l=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},a=null;function s(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(r){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=i<n?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return"No console available for logging"}function c(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function h(r,i,a){return function(r){return"debug"===r&&(r="log"),typeof console!==t&&("trace"===r&&n?o:void 0!==console[r]?s(console,r):void 0!==console.log?s(console,"log"):e)}(r)||c.apply(this,arguments)}function u(e,n){var s,o,c,u=this,p="loglevel";function d(){var e;if(typeof window!==t&&p){try{e=window.localStorage[p]}catch(a){}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(p),i=n.indexOf(r+"=");-1!==i&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch(a){}return void 0===u.levels[e]&&(e=void 0),e}}function f(e){var t=e;if("string"==typeof t&&void 0!==u.levels[t.toUpperCase()]&&(t=u.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=u.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),u.name=e,u.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},u.methodFactory=n||h,u.getLevel=function(){return null!=c?c:null!=o?o:s},u.setLevel=function(e,n){return c=f(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(i){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(i){}}}(c),l.call(u)},u.setDefaultLevel=function(e){o=f(e),d()||u.setLevel(e,!1)},u.resetLevel=function(){c=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),l.call(u)},u.enableAll=function(e){u.setLevel(u.levels.TRACE,e)},u.disableAll=function(e){u.setLevel(u.levels.SILENT,e)},u.rebuild=function(){if(a!==u&&(s=f(a.getLevel())),l.call(u),a===u)for(var e in i)i[e].rebuild()},s=f(a?a.getLevel():"WARN");var m=d();null!=m&&(c=f(m)),l.call(u)}(a=new u).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=i[e];return t||(t=i[e]=new u(e,a.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a},s.exports?s.exports=l():o.log=l();var u=c.exports;const p=n.getDefaultExportFromCjs(u);class d{constructor(){this.appName=null,this.appNameWarningShown=!1,this.lastString=null,this.sectionStack=[this._CreateSection()],this.failure=!1}Feed(e){if(!this.appName)return 1001==e.code?(this.appName=e.value,!1):(this.appNameWarningShown||(this.appNameWarningShown=!0,p.warn("XDATA section does not start with application name")),!1);if(1001==e.code)return!0;if(this.failure)return!1;if(1e3==e.code)return this.lastString&&p.warn("XDATA section unused string: "+this.lastString),this.lastString=e.value,!1;const t=this._currentSection;if(1002==e.code){if("{"==e.value){if(!this.lastString)return p.warn("Unnamed XDATA section encountered"),this.failure=!0,!1;const e=this._CreateSection();return t[this.lastString]=e,this.lastString=null,this.sectionStack.push(e),!1}return"}"==e.value?this.sectionStack.length<2?(p.warn("Unmatched XDATA section closing"),this.failure=!0,!1):(this.sectionStack.length=this.sectionStack.length-1,!1):(p.warn("Bad XDATA section control string encountered: "+e.value),this.failure=!0,!1)}return null!==this.lastString&&(t.values.push(this._CreateValue(1e3,this.lastString)),this.lastString=null),t.values.push(this._CreateValue(e.code,e.value)),!1}Finish(e){if(!this.failure&&this.appName){let t;e.hasOwnProperty("xdata")?t=e.xdata:(t={},e.xdata=t),t[this.appName]=this.sectionStack[0]}}get _currentSection(){return this.sectionStack[this.sectionStack.length-1]}_CreateSection(){return{values:[]}}_CreateValue(e,t){return{code:e,value:t}}}function f(e){var t={};e.rewind();var n=e.next(),r=n.code;if(t.x=n.value,r+=10,(n=e.next()).code!==r)throw new Error("Expected code for point value to be "+r+" but got "+n.code+".");return t.y=n.value,r+=10,(n=e.next()).code!==r?(e.rewind(),t):(t.z=n.value,t)}function m(e){e.rewind();let t=e.next();if(101!==t.code)throw new Error("Bad call for skipEmbeddedObject()");do{t=e.next()}while(0!==t.code);e.rewind()}function g(e,t,n){let r=null;for(;t.code>=1e3;)null==r&&(r=new d),r.Feed(t)?(r.Finish(e),r=null):t=n.next();if(r)return r.Finish(e),n.rewind(),!0;switch(t.code){case 0:e.type=t.value;break;case 5:e.handle=t.value;break;case 6:e.lineType=t.value;break;case 8:e.layer=t.value;break;case 48:e.lineTypeScale=t.value;break;case 60:e.hidden=!!t.value;break;case 62:e.colorIndex=t.value,e.color=(i=Math.abs(t.value),a[i]);break;case 67:e.inPaperSpace=0!==t.value;break;case 100:break;case 330:e.ownerHandle=t.value;break;case 347:e.materialObjectHandle=t.value;break;case 370:e.lineweight=t.value;break;case 420:e.color=t.value;break;default:return!1}var i;return!0}function v(){}function y(e,t){var n,r=[],i=!1,a=!1;for(n=0;n<=4;n++){for(var s={};"EOF"!==t&&0!==t.code&&!a;){switch(t.code){case 10:case 11:case 12:case 13:if(i){a=!0;continue}s.x=t.value,i=!0;break;case 20:case 21:case 22:case 23:s.y=t.value;break;case 30:case 31:case 32:case 33:s.z=t.value;break;default:return r}t=e.next()}r.push(s),i=!1,a=!1}return e.rewind(),r}function x(){}function _(){}function S(){}function b(){}function E(){}function T(){}function M(){}function A(){}function w(){}function C(e,t){if(!e||e<=0)throw Error("n must be greater than 0 vertices");var n,r=[],i=!1,a=!1,s=t.lastReadGroup;for(n=0;n<e;n++){for(var o={};"EOF"!==s&&0!==s.code&&!a;){switch(s.code){case 10:if(i){a=!0;continue}o.x=s.value,i=!0;break;case 20:o.y=s.value;break;case 30:o.z=s.value;break;case 40:o.startWidth=s.value;break;case 41:o.endWidth=s.value;break;case 42:0!=s.value&&(o.bulge=s.value);break;case 91:o.id=s.value;break;default:return i&&r.push(o),t.rewind(),r}s=t.next()}r.push(o),i=!1,a=!1}return t.rewind(),r}function R(){}function P(){}function L(){}function D(){}function I(e,t){var n={type:t.value};for(t=e.next();"EOF"!=t&&0!=t.code;)g(n,t,e),t=e.next();return n}function O(){}function N(){}function U(){}function k(){}function F(e,t){let n=null;const r=()=>{const n={vertices:[],isClosed:!1};let r=0;for(;;){if(r>0){for(let i=0;i<r&&10==e.code;i++){const r=f(t);42==(e=t.next()).code&&(r.bulge=e.value,e=t.next()),n.vertices.push(r)}return n}switch(e.code){case 72:e.value;break;case 73:n.isClosed=e.value;break;case 93:r=e.value;break;default:return n}e=t.next()}},i=()=>{if(72!=e.code)return null;const n={type:e.value};e=t.next();const r=4==n.type;for(;;){switch(e.code){case 10:r?(n.controlPoints||(n.controlPoints=[]),n.controlPoints.push(f(t))):n.start=f(t);break;case 11:r?(n.fitPoints||(n.fitPoints=[]),n.fitPoints.push(f(t))):n.end=f(t);break;case 40:r?(n.knotValues||(n.knotValues=[]),n.knotValues.push(e.value)):n.radius=e.value;break;case 50:n.startAngle=e.value*Math.PI/180;break;case 51:n.endAngle=e.value*Math.PI/180;break;case 73:r?n.rational=e.value:n.isCcw=e.value;break;case 74:n.periodic=e.value;break;case 94:n.degreeOfSplineCurve=e.value;break;case 95:case 96:case 40:case 42:case 97:break;default:return n}e=t.next()}};let a=!1,s=0,o=0;for(;;){if(!n){if(92!=e.code)return null;n={type:e.value,isExternal:!!(1&e.value),isOutermost:!!(16&e.value)},e=t.next()}for(2&n.type&&!a&&(n.polyline=r(),a=!0);s;){const e=i();e?(n.edges.push(e),s--):s=0}for(;o;)330==e.code?(n.sourceRefs.push(e.value),o--,e=t.next()):o=0;switch(e.code){case 93:s=e.value,s>0&&(n.edges=[]);break;case 97:o=e.value,o>0&&(n.sourceRefs=[]);break;default:return t.rewind(),n}e=t.next()}}function B(e,t){if(53!=e.code)return null;const n={angle:e.value*Math.PI/180,base:{x:0,y:0},offset:{x:0,y:0}};e=t.next();let r=0;for(;;){switch(e.code){case 43:n.base.x=e.value;break;case 44:n.base.y=e.value;break;case 45:n.offset.x=e.value;break;case 46:n.offset.y=e.value;break;case 49:r>0&&(n.dashes.push(e.value),r--);break;case 79:r=e.value,e.value&&(n.dashes=[]);break;default:return t.rewind(),n}e=t.next()}}function G(e,t){return 10!=e.code?null:f(t)}v.ForEntityName="3DFACE",v.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 70:n.shape=!(1&~t.value),n.hasContinuousLinetypePattern=!(128&~t.value);break;case 10:n.vertices=y(e,t),t=e.lastReadGroup;break;default:g(n,t,e)}t=e.next()}return n},x.ForEntityName="ARC",x.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.center=f(e);break;case 40:n.radius=t.value;break;case 50:n.startAngle=Math.PI/180*t.value;break;case 51:n.endAngle=Math.PI/180*t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},_.ForEntityName="ATTDEF",_.prototype.parseEntity=function(e,t){var n={type:t.value,scale:1,textStyle:"STANDARD"};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 1:n.text=t.value;break;case 2:n.tag=t.value;break;case 3:n.prompt=t.value;break;case 7:n.textStyle=t.value;break;case 10:n.startPoint=f(e);break;case 11:n.endPoint=f(e);break;case 39:n.thickness=t.value;break;case 40:n.textHeight=t.value;break;case 41:n.scale=t.value;break;case 50:n.rotation=t.value;break;case 51:n.obliqueAngle=t.value;break;case 70:n.hidden=!!(1&t.value),n.constant=!!(2&t.value),n.verificationRequired=!!(4&t.value),n.preset=!!(8&t.value);break;case 71:n.backwards=!!(2&t.value),n.mirrored=!!(4&t.value);break;case 72:n.horizontalJustification=t.value;break;case 73:n.fieldLength=t.value;break;case 74:n.verticalJustification=t.value;break;case 100:break;case 101:m(e);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},S.ForEntityName="ATTRIB",S.prototype.parseEntity=function(e,t){var n={type:t.value,scale:1,textStyle:"STANDARD"};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 1:n.text=t.value;break;case 2:n.tag=t.value;break;case 3:n.prompt=t.value;break;case 7:n.textStyle=t.value;break;case 10:n.startPoint=f(e);break;case 11:n.endPoint=f(e);break;case 39:n.thickness=t.value;break;case 40:n.textHeight=t.value;break;case 41:n.scale=t.value;break;case 44:n.lineSpacingFactor=t.value;break;case 45:n.fillBoxScale=t.value;break;case 46:n.annotationHeight=t.value;break;case 50:n.rotation=t.value;break;case 51:n.obliqueAngle=t.value;break;case 63:n.backgroundFillColor=t.value;break;case 70:n.hidden=!!(1&t.value),n.constant=!!(2&t.value),n.verificationRequired=!!(4&t.value),n.preset=!!(8&t.value);break;case 71:n.attachmentPoint=t.value;break;case 72:n.horizontalJustification=t.value;break;case 73:n.lineSpacing=t.value;break;case 74:n.verticalJustification=t.value;break;case 90:n.backgroundFillSetting=t.value;break;case 100:break;case 210:n.extrusionDirection=f(e);break;case 280:n.lockPositionFlag=t.value;break;case 340:n.hardPointerId=t.value;break;default:g(n,t,e)}t=e.next()}return n},b.ForEntityName="CIRCLE",b.prototype.parseEntity=function(e,t){var n,r;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.center=f(e);break;case 40:n.radius=t.value;break;case 50:n.startAngle=Math.PI/180*t.value;break;case 51:(r=Math.PI/180*t.value)<n.startAngle?n.angleLength=r+2*Math.PI-n.startAngle:n.angleLength=r-n.startAngle,n.endAngle=r;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},E.ForEntityName="DIMENSION",E.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 2:n.block=t.value;break;case 3:n.styleName=t.value;break;case 10:n.anchorPoint=f(e);break;case 11:n.middleOfText=f(e);break;case 12:n.insertionPoint=f(e);break;case 13:n.linearOrAngularPoint1=f(e);break;case 14:n.linearOrAngularPoint2=f(e);break;case 15:n.diameterOrRadiusPoint=f(e);break;case 16:n.arcPoint=f(e);break;case 70:n.dimensionType=t.value;break;case 71:n.attachmentPoint=t.value;break;case 42:n.actualMeasurement=t.value;break;case 1:n.text=t.value;break;case 50:n.angle=t.value;break;case 53:n.textRotation=t.value;break;default:g(n,t,e)}t=e.next()}return n},T.ForEntityName="ELLIPSE",T.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.center=f(e);break;case 11:n.majorAxisEndPoint=f(e);break;case 40:n.axisRatio=t.value;break;case 41:n.startAngle=t.value;break;case 42:n.endAngle=t.value;break;case 2:n.name=t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},M.ForEntityName="INSERT",M.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 2:n.name=t.value;break;case 41:n.xScale=t.value;break;case 42:n.yScale=t.value;break;case 43:n.zScale=t.value;break;case 10:n.position=f(e);break;case 50:n.rotation=t.value;break;case 70:n.columnCount=t.value;break;case 71:n.rowCount=t.value;break;case 44:n.columnSpacing=t.value;break;case 45:n.rowSpacing=t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},A.ForEntityName="LINE",A.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.vertices.unshift(f(e));break;case 11:n.vertices.push(f(e));break;case 210:n.extrusionDirection=f(e);break;case 100:break;default:g(n,t,e)}t=e.next()}return n},w.ForEntityName="LWPOLYLINE",w.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]},r=0;for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 38:n.elevation=t.value;break;case 39:n.depth=t.value;break;case 70:n.shape=!(1&~t.value),n.hasContinuousLinetypePattern=!(128&~t.value);break;case 90:r=t.value;break;case 10:n.vertices=C(r,e);break;case 43:0!==t.value&&(n.width=t.value);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},R.ForEntityName="MTEXT",R.prototype.parseEntity=function(e,t){var n={type:t.value};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 3:case 1:n.text?n.text+=t.value:n.text=t.value;break;case 10:n.position=f(e);break;case 11:n.direction=f(e);break;case 40:n.height=t.value;break;case 41:n.width=t.value;break;case 44:n.lineSpacing=t.value;break;case 50:n.rotation=t.value;break;case 7:n.styleName=t.value;break;case 71:n.attachmentPoint=t.value;break;case 72:n.drawingDirection=t.value;break;case 101:m(e);break;default:g(n,t,e)}t=e.next()}return n},P.ForEntityName="POINT",P.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.position=f(e);break;case 39:n.thickness=t.value;break;case 210:n.extrusionDirection=f(e);break;case 100:break;default:g(n,t,e)}t=e.next()}return n},L.ForEntityName="VERTEX",L.prototype.parseEntity=function(e,t){var n={type:t.value};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.x=t.value;break;case 20:n.y=t.value;break;case 30:n.z=t.value;break;case 40:case 41:case 50:break;case 42:0!=t.value&&(n.bulge=t.value);break;case 70:n.curveFittingVertex=!!(1&t.value),n.curveFitTangent=!!(2&t.value),n.splineVertex=!!(8&t.value),n.splineControlPoint=!!(16&t.value),n.threeDPolylineVertex=!!(32&t.value),n.threeDPolylineMesh=!!(64&t.value),n.polyfaceMeshVertex=!!(128&t.value);break;case 71:n.faces=[t.value];break;case 72:n.faces[1]=t.value;break;case 73:n.faces[2]=t.value;break;case 74:n.faces[3]=t.value;break;default:g(n,t,e)}t=e.next()}return n},D.ForEntityName="POLYLINE",D.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:case 20:case 30:case 40:case 41:case 71:case 72:case 73:case 74:case 75:break;case 39:n.thickness=t.value;break;case 70:n.shape=!!(1&t.value),n.includesCurveFitVertices=!!(2&t.value),n.includesSplineFitVertices=!!(4&t.value),n.is3dPolyline=!!(8&t.value),n.is3dPolygonMesh=!!(16&t.value),n.is3dPolygonMeshClosed=!!(32&t.value),n.isPolyfaceMesh=!!(64&t.value),n.hasContinuousLinetypePattern=!!(128&t.value);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n.vertices=function(e,t){var n=new L,r=[];for(;!e.isEOF();)if(0===t.code)if("VERTEX"===t.value)r.push(n.parseEntity(e,t)),t=e.lastReadGroup;else if("SEQEND"===t.value){I(e,t);break}return r}(e,t),n},O.ForEntityName="SOLID",O.prototype.parseEntity=function(e,t){var n;for((n={type:t.value}).points=[],t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.points[0]=f(e);break;case 11:n.points[1]=f(e);break;case 12:n.points[2]=f(e);break;case 13:n.points[3]=f(e);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},N.ForEntityName="SPLINE",N.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.controlPoints||(n.controlPoints=[]),n.controlPoints.push(f(e));break;case 11:n.fitPoints||(n.fitPoints=[]),n.fitPoints.push(f(e));break;case 12:n.startTangent=f(e);break;case 13:n.endTangent=f(e);break;case 40:n.knotValues||(n.knotValues=[]),n.knotValues.push(t.value);break;case 70:1&t.value&&(n.closed=!0),2&t.value&&(n.periodic=!0),4&t.value&&(n.rational=!0),8&t.value&&(n.planar=!0),16&t.value&&(n.planar=!0,n.linear=!0);break;case 71:n.degreeOfSplineCurve=t.value;break;case 72:n.numberOfKnots=t.value;break;case 73:n.numberOfControlPoints=t.value;break;case 74:n.numberOfFitPoints=t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},U.ForEntityName="TEXT",U.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.startPoint=f(e);break;case 11:n.endPoint=f(e);break;case 40:n.textHeight=t.value;break;case 41:n.xScale=t.value;break;case 50:n.rotation=t.value;break;case 7:n.styleName=t.value;break;case 1:n.text=t.value;break;case 72:n.halign=t.value;break;case 73:n.valign=t.value;break;default:g(n,t,e)}t=e.next()}return n},k.ForEntityName="HATCH",k.prototype.parseEntity=function(e,t){var n;n={type:t.value};let r=0,i=0,a=0;for(t=e.next();"EOF"!==t&&0!==t.code;){for(;r>0;){const i=F(t,e);i?(n.boundaryLoops.push(i),r--,t=e.next()):r=0}for(;i>0;){const r=B(t,e);r?(n.definitionLines.push(r),i--,t=e.next()):i=0}for(;a>0;){const r=G(t,e);r?(n.seedPoints.push(r),a--,t=e.next()):a=0}if(0===t.code)break;switch(t.code){case 2:n.patternName=t.value;break;case 70:n.isSolid=0!=t.value;break;case 91:r=t.value,r>0&&(n.boundaryLoops=[]);break;case 75:n.hatchStyle=t.value;break;case 76:n.patternType=t.value;break;case 52:n.patternAngle=t.value*Math.PI/180;break;case 41:n.patternScale=t.value;break;case 78:i=t.value,i>0&&(n.definitionLines=[]);break;case 98:a=t.value,a>0&&(n.seedPoints=[]);break;default:g(n,t,e)}t=e.next()}return n};const z=new Map([[140,"DIMTXT"],[142,"DIMTSZ"],[144,"DIMLFAC"],[147,"DIMGAP"],[173,"DIMSAH"],[175,"DIMSOXD"],[176,"DIMCLRD"],[177,"DIMCLRE"],[178,"DIMCLRT"],[271,"DIMDEC"],[278,"DIMDSEP"],[281,"DIMSD1"],[282,"DIMSD2"],[3,"DIMPOST"],[40,"DIMSCALE"],[41,"DIMASZ"],[42,"DIMEXO"],[44,"DIMEXE"],[45,"DIMRND"],[46,"DIMDLE"],[5,"DIMBLK"],[6,"DIMBLK1"],[7,"DIMBLK2"],[75,"DIMSE1"],[76,"DIMSE2"],[78,"DIMZIN"]]);function H(){var e;this._entityHandlers={},(e=this).registerEntityHandler(v),e.registerEntityHandler(x),e.registerEntityHandler(_),e.registerEntityHandler(S),e.registerEntityHandler(b),e.registerEntityHandler(E),e.registerEntityHandler(T),e.registerEntityHandler(M),e.registerEntityHandler(A),e.registerEntityHandler(w),e.registerEntityHandler(R),e.registerEntityHandler(P),e.registerEntityHandler(D),e.registerEntityHandler(O),e.registerEntityHandler(N),e.registerEntityHandler(U),e.registerEntityHandler(k)}function V(e){p.debug("unhandled group "+W(e))}function W(e){return e.code+":"+e.value}function X(e){return a[e]}p.setLevel("error"),H.prototype.parse=function(e,t){throw new Error("read() not implemented. Use readSync()")},H.prototype.registerEntityHandler=function(e){var t=new e;this._entityHandlers[e.ForEntityName]=t},H.prototype.parseSync=function(e){return"string"==typeof e?this._parse(e):(console.error("Cannot read DXF source of type `"+typeof e),null)},H.prototype.parseStream=function(e,t){var n="",r=this;e.on("data",function(e){n+=e}),e.on("end",function(){try{var e=r._parse(n)}catch(i){return t(i)}t(null,e)}),e.on("error",function(e){t(e)})},H.prototype._parse=function(e){var t,n,i={},a=0,s=e.split(/\r\n|\r|\n/g);if(!(t=new r(s)).hasNext())throw Error("Empty file");var o=this,l=function(e,t){return n.code===e&&n.value===t},c=function(){var e=null,r=null,i={};for(n=t.next();;){if(l(0,"ENDSEC")){null!=e&&(i[e]=r);break}9===n.code?(null!=e&&(i[e]=r),e=n.value):10===n.code?r={x:n.value}:20===n.code?r.y=n.value:30===n.code?r.z=n.value:r=n.value,n=t.next()}return n=t.next(),i},h=function(){var e,r={};for(n=t.next();"EOF"!==n.value&&!l(0,"ENDSEC");)l(0,"BLOCK")?(p.debug("block {"),e=u(),p.debug("}"),x(e),e.name?r[e.name]=e:p.error('block with handle "'+e.handle+'" is missing a name.')):(V(n),n=t.next());return r},u=function(){var e={};for(n=t.next();"EOF"!==n.value;){switch(n.code){case 1:e.xrefPath=n.value,n=t.next();break;case 2:e.name=n.value,n=t.next();break;case 3:e.name2=n.value,n=t.next();break;case 5:e.handle=n.value,n=t.next();break;case 8:e.layer=n.value,n=t.next();break;case 10:e.position=y(),n=t.next();break;case 67:e.inPaperSpace=!(!n.value||1!=n.value),n=t.next();break;case 70:0!=n.value&&(e.type=n.value),n=t.next();break;case 100:n=t.next();break;case 330:e.ownerHandle=n.value,n=t.next();break;case 0:if("ENDBLK"==n.value)break;e.entities=v(!0);break;default:V(n),n=t.next()}if(l(0,"ENDBLK")){n=t.next();break}}return e},d=function(){var e={};for(n=t.next();"EOF"!==n.value&&!l(0,"ENDSEC");){l(0,"TABLE")?(n=t.next(),g[n.value]?(p.debug(n.value+" Table {"),e[g[n.value].tableName]=m(),p.debug("}")):p.debug("Unhandled Table "+n.value)):n=t.next()}return n=t.next(),e};const f="ENDTAB";var m=function(){var e,r=g[n.value],i={},a=0;for(n=t.next();!l(0,f);)switch(n.code){case 5:i.handle=n.value,n=t.next();break;case 330:i.ownerHandle=n.value,n=t.next();break;case 100:"AcDbSymbolTable"===n.value||V(n),n=t.next();break;case 70:a=n.value,n=t.next();break;case 0:n.value===r.dxfSymbolName?i[r.tableRecordsProperty]=r.parseTableRecords():(V(n),n=t.next());break;default:V(n),n=t.next()}var s=i[r.tableRecordsProperty];return s?(s.constructor===Array?e=s.length:"object"==typeof s&&(e=Object.keys(s).length),a!==e&&p.warn(`Parsed ${e} ${r.dxfSymbolName}'s but expected ${a}`)):i[r.tableRecordsProperty]=[],n=t.next(),i},g={VPORT:{tableRecordsProperty:"viewPorts",tableName:"viewPort",dxfSymbolName:"VPORT",parseTableRecords:function(){var e=[],r={};for(p.debug("ViewPort {"),n=t.next();!l(0,f);)switch(n.code){case 2:r.name=n.value,n=t.next();break;case 10:r.lowerLeftCorner=y(),n=t.next();break;case 11:r.upperRightCorner=y(),n=t.next();break;case 12:r.center=y(),n=t.next();break;case 13:r.snapBasePoint=y(),n=t.next();break;case 14:r.snapSpacing=y(),n=t.next();break;case 15:r.gridSpacing=y(),n=t.next();break;case 16:r.viewDirectionFromTarget=y(),n=t.next();break;case 17:r.viewTarget=y(),n=t.next();break;case 42:r.lensLength=n.value,n=t.next();break;case 43:r.frontClippingPlane=n.value,n=t.next();break;case 44:r.backClippingPlane=n.value,n=t.next();break;case 45:r.viewHeight=n.value,n=t.next();break;case 50:r.snapRotationAngle=n.value,n=t.next();break;case 51:r.viewTwistAngle=n.value,n=t.next();break;case 79:r.orthographicType=n.value,n=t.next();break;case 110:case 110:r.ucsOrigin=y(),n=t.next();break;case 111:r.ucsXAxis=y(),n=t.next();break;case 112:r.ucsYAxis=y(),n=t.next();break;case 281:r.renderMode=n.value,n=t.next();break;case 281:r.defaultLightingType=n.value,n=t.next();break;case 292:r.defaultLightingOn=n.value,n=t.next();break;case 330:r.ownerHandle=n.value,n=t.next();break;case 63:case 421:case 431:r.ambientColor=n.value,n=t.next();break;case 0:"VPORT"===n.value&&(p.debug("}"),e.push(r),p.debug("ViewPort {"),r={},n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),e.push(r),e}},LTYPE:{tableRecordsProperty:"lineTypes",tableName:"lineType",dxfSymbolName:"LTYPE",parseTableRecords:function(){var e,r,i={},a={};for(p.debug("LType {"),n=t.next();!l(0,"ENDTAB");)switch(n.code){case 2:a.name=n.value,e=n.value,n=t.next();break;case 3:a.description=n.value,n=t.next();break;case 73:(r=n.value)>0&&(a.pattern=[]),n=t.next();break;case 40:a.patternLength=n.value,n=t.next();break;case 49:a.pattern.push(n.value),n=t.next();break;case 0:p.debug("}"),r>0&&r!==a.pattern.length&&p.warn("lengths do not match on LTYPE pattern"),i[e]=a,a={},p.debug("LType {"),n=t.next();break;default:n=t.next()}return p.debug("}"),i[e]=a,i}},LAYER:{tableRecordsProperty:"layers",tableName:"layer",dxfSymbolName:"LAYER",parseTableRecords:function(){var e,r={},i={};for(p.debug("Layer {"),n=t.next();!l(0,"ENDTAB");)switch(n.code){case 2:i.name=n.value,e=n.value,n=t.next();break;case 62:i.visible=n.value>=0,i.colorIndex=Math.abs(n.value),i.color=X(i.colorIndex),n=t.next();break;case 70:i.frozen=!!(1&n.value)||!!(2&n.value),n=t.next();break;case 420:i.color=n.value,n=t.next();break;case 0:"LAYER"===n.value&&(p.debug("}"),r[e]=i,p.debug("Layer {"),i={},e=void 0,n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),r[e]=i,r}},DIMSTYLE:{tableRecordsProperty:"dimStyles",tableName:"dimstyle",dxfSymbolName:"DIMSTYLE",parseTableRecords:function(){var e,r={},i={};for(p.debug("DimStyle {"),n=t.next();!l(0,"ENDTAB");)if(z.has(n.code))i[z.get(n.code)]=n.value,n=t.next();else switch(n.code){case 2:i.name=n.value,e=n.value,n=t.next();break;case 0:"DIMSTYLE"===n.value&&(p.debug("}"),r[e]=i,p.debug("DimStyle {"),i={},e=void 0,n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),r[e]=i,r}},STYLE:{tableRecordsProperty:"styles",tableName:"style",dxfSymbolName:"STYLE",parseTableRecords:function(){var e,r={},i={};for(p.debug("Style {"),n=t.next();!l(0,f);)switch(n.code){case 100:i.subClassMarker=n.value,n=t.next();break;case 2:i.styleName=n.value,e=n.value,n=t.next();break;case 70:i.standardFlag=n.value,n=t.next();break;case 40:i.fixedTextHeight=n.value,n=t.next();break;case 41:i.widthFactor=n.value,n=t.next();break;case 50:i.obliqueAngle=n.value,n=t.next();break;case 71:i.textGenerationFlag=n.value,n=t.next();break;case 42:i.lastHeight=n.value,n=t.next();break;case 3:i.font=n.value,n=t.next();break;case 4:i.bigFont=n.value,n=t.next();break;case 1071:i.extendedFont=n.value,n=t.next();break;case 0:"STYLE"===n.value&&(p.debug("}"),r[e]=i,p.debug("Style {"),i={},e=void 0,n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),r[e]=i,r}}},v=function(e){var r=[],i=e?"ENDBLK":"ENDSEC";for(e||(n=t.next());;)if(0===n.code){if(n.value===i)break;var a,s=o._entityHandlers[n.value];if(null==s){p.warn("Unhandled entity "+n.value),n=t.next();continue}p.debug(n.value+" {"),a=s.parseEntity(t,n),n=t.lastReadGroup,p.debug("}"),x(a),r.push(a)}else n=t.next();return"ENDSEC"==i&&(n=t.next()),r},y=function(){var e={},r=n.code;if(e.x=n.value,r+=10,(n=t.next()).code!=r)throw new Error("Expected code for point value to be "+r+" but got "+n.code+".");return e.y=n.value,r+=10,(n=t.next()).code!=r?(t.rewind(),e):(e.z=n.value,e)},x=function(e){if(!e)throw new TypeError("entity cannot be undefined or null");e.handle||(e.handle=a++)};return function(){for(n=t.next();!t.isEOF();)if(0===n.code&&"SECTION"===n.value){if(2!==(n=t.next()).code){console.error("Unexpected code %s after 0:SECTION",W(n)),n=t.next();continue}"HEADER"===n.value?(p.debug("> HEADER"),i.header=c(),p.debug("<")):"BLOCKS"===n.value?(p.debug("> BLOCKS"),i.blocks=h(),p.debug("<")):"ENTITIES"===n.value?(p.debug("> ENTITIES"),i.entities=v(!1),p.debug("<")):"TABLES"===n.value?(p.debug("> TABLES"),i.tables=d(),p.debug("<")):"EOF"===n.value?p.debug("EOF"):p.warn("Skipping section '%s'",n.value)}else n=t.next()}(),i};class q{constructor(e,t="utf-8"){this.url=e,this.encoding=t}async Fetch(e=null){const t=await fetch(this.url),n=+t.headers.get("Content-Length"),r=t.body.getReader();let i=0,a="",s=new TextDecoder(this.encoding);for(;;){const{done:t,value:o}=await r.read();if(t){a+=s.decode(new ArrayBuffer(0),{stream:!1});break}a+=s.decode(o,{stream:!0}),i+=o.length,null!==e&&e("fetch",i,n)}null!==e&&e("parse",0,null);return(new H).parseSync(a)}}
1
+ "use strict";var e=Object.defineProperty,t=(t,n,r)=>((t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r)(t,"symbol"!=typeof n?n+"":n,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index-ebnwkxU2.cjs");function r(e){this._pointer=0,this._data=e,this._eof=!1}function i(e,t){return e<=9?t:e>=10&&e<=59?parseFloat(t.trim()):e>=60&&e<=99?parseInt(t.trim()):e>=100&&e<=109?t:e>=110&&e<=149?parseFloat(t.trim()):e>=160&&e<=179?parseInt(t.trim()):e>=210&&e<=239?parseFloat(t.trim()):e>=270&&e<=289?parseInt(t.trim()):e>=290&&e<=299?function(e){if("0"===e)return!1;if("1"===e)return!0;throw TypeError("String '"+e+"' cannot be cast to Boolean type")}(t.trim()):e>=300&&e<=369?t:e>=370&&e<=389?parseInt(t.trim()):e>=390&&e<=399?t:e>=400&&e<=409?parseInt(t.trim()):e>=410&&e<=419?t:e>=420&&e<=429?parseInt(t.trim()):e>=430&&e<=439?t:e>=440&&e<=459?parseInt(t.trim()):e>=460&&e<=469?parseFloat(t.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?t:e>=1010&&e<=1059?parseFloat(t.trim()):e>=1060&&e<=1071?parseInt(t.trim()):(console.log("WARNING: Group code does not have a defined type: %j",{code:e,value:t}),t)}r.prototype.next=function(){var e;if(!this.hasNext())throw this._eof?new Error("Cannot call 'next' after EOF group has been read"):new Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]);if(e={code:parseInt(this._data[this._pointer])},isNaN(e.code))throw new Error("Cannot parse group code: "+this._data[this._pointer]);return this._pointer++,e.value=i(e.code,this._data[this._pointer]),this._pointer++,0===e.code&&"EOF"===e.value&&(this._eof=!0),this.lastReadGroup=e,e},r.prototype.peek=function(){if(!this.hasNext())throw this._eof?new Error("Cannot call 'next' after EOF group has been read"):new Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]);var e={code:parseInt(this._data[this._pointer])};if(isNaN(e.code))throw new Error("Cannot parse group code: "+this._data[this._pointer]);return e.value=i(e.code,this._data[this._pointer+1]),e},r.prototype.rewind=function(e){e=e||1,this._pointer=this._pointer-2*e},r.prototype.hasNext=function(){return!this._eof&&!(this._pointer>this._data.length-2)},r.prototype.isEOF=function(){return this._eof};const a=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215];var s,o,l,c={exports:{}};s=c,o=n.commonjsGlobal,l=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),r=["trace","debug","info","warn","error"],i={},a=null;function s(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(r){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function l(){for(var n=this.getLevel(),i=0;i<r.length;i++){var a=r[i];this[a]=i<n?e:this.methodFactory(a,n,this.name)}if(this.log=this.debug,typeof console===t&&n<this.levels.SILENT)return"No console available for logging"}function c(e){return function(){typeof console!==t&&(l.call(this),this[e].apply(this,arguments))}}function h(r,i,a){return function(r){return"debug"===r&&(r="log"),typeof console!==t&&("trace"===r&&n?o:void 0!==console[r]?s(console,r):void 0!==console.log?s(console,"log"):e)}(r)||c.apply(this,arguments)}function u(e,n){var s,o,c,u=this,p="loglevel";function d(){var e;if(typeof window!==t&&p){try{e=window.localStorage[p]}catch(a){}if(typeof e===t)try{var n=window.document.cookie,r=encodeURIComponent(p),i=n.indexOf(r+"=");-1!==i&&(e=/^([^;]+)/.exec(n.slice(i+r.length+1))[1])}catch(a){}return void 0===u.levels[e]&&(e=void 0),e}}function f(e){var t=e;if("string"==typeof t&&void 0!==u.levels[t.toUpperCase()]&&(t=u.levels[t.toUpperCase()]),"number"==typeof t&&t>=0&&t<=u.levels.SILENT)return t;throw new TypeError("log.setLevel() called with invalid level: "+e)}"string"==typeof e?p+=":"+e:"symbol"==typeof e&&(p=void 0),u.name=e,u.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},u.methodFactory=n||h,u.getLevel=function(){return null!=c?c:null!=o?o:s},u.setLevel=function(e,n){return c=f(e),!1!==n&&function(e){var n=(r[e]||"silent").toUpperCase();if(typeof window!==t&&p){try{return void(window.localStorage[p]=n)}catch(i){}try{window.document.cookie=encodeURIComponent(p)+"="+n+";"}catch(i){}}}(c),l.call(u)},u.setDefaultLevel=function(e){o=f(e),d()||u.setLevel(e,!1)},u.resetLevel=function(){c=null,function(){if(typeof window!==t&&p){try{window.localStorage.removeItem(p)}catch(e){}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}(),l.call(u)},u.enableAll=function(e){u.setLevel(u.levels.TRACE,e)},u.disableAll=function(e){u.setLevel(u.levels.SILENT,e)},u.rebuild=function(){if(a!==u&&(s=f(a.getLevel())),l.call(u),a===u)for(var e in i)i[e].rebuild()},s=f(a?a.getLevel():"WARN");var m=d();null!=m&&(c=f(m)),l.call(u)}(a=new u).getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=i[e];return t||(t=i[e]=new u(e,a.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return a.noConflict=function(){return typeof window!==t&&window.log===a&&(window.log=p),a},a.getLoggers=function(){return i},a.default=a,a},s.exports?s.exports=l():o.log=l();var u=c.exports;const p=n.getDefaultExportFromCjs(u);class d{constructor(){this.appName=null,this.appNameWarningShown=!1,this.lastString=null,this.sectionStack=[this._CreateSection()],this.failure=!1}Feed(e){if(!this.appName)return 1001==e.code?(this.appName=e.value,!1):(this.appNameWarningShown||(this.appNameWarningShown=!0,p.warn("XDATA section does not start with application name")),!1);if(1001==e.code)return!0;if(this.failure)return!1;if(1e3==e.code)return this.lastString&&p.warn("XDATA section unused string: "+this.lastString),this.lastString=e.value,!1;const t=this._currentSection;if(1002==e.code){if("{"==e.value){if(!this.lastString)return p.warn("Unnamed XDATA section encountered"),this.failure=!0,!1;const e=this._CreateSection();return t[this.lastString]=e,this.lastString=null,this.sectionStack.push(e),!1}return"}"==e.value?this.sectionStack.length<2?(p.warn("Unmatched XDATA section closing"),this.failure=!0,!1):(this.sectionStack.length=this.sectionStack.length-1,!1):(p.warn("Bad XDATA section control string encountered: "+e.value),this.failure=!0,!1)}return null!==this.lastString&&(t.values.push(this._CreateValue(1e3,this.lastString)),this.lastString=null),t.values.push(this._CreateValue(e.code,e.value)),!1}Finish(e){if(!this.failure&&this.appName){let t;e.hasOwnProperty("xdata")?t=e.xdata:(t={},e.xdata=t),t[this.appName]=this.sectionStack[0]}}get _currentSection(){return this.sectionStack[this.sectionStack.length-1]}_CreateSection(){return{values:[]}}_CreateValue(e,t){return{code:e,value:t}}}function f(e){var t={};e.rewind();var n=e.next(),r=n.code;if(t.x=n.value,r+=10,(n=e.next()).code!==r)throw new Error("Expected code for point value to be "+r+" but got "+n.code+".");return t.y=n.value,r+=10,(n=e.next()).code!==r?(e.rewind(),t):(t.z=n.value,t)}function m(e){e.rewind();let t=e.next();if(101!==t.code)throw new Error("Bad call for skipEmbeddedObject()");do{t=e.next()}while(0!==t.code);e.rewind()}function g(e,t,n){let r=null;for(;t.code>=1e3;)null==r&&(r=new d),r.Feed(t)?(r.Finish(e),r=null):t=n.next();if(r)return r.Finish(e),n.rewind(),!0;switch(t.code){case 0:e.type=t.value;break;case 5:e.handle=t.value;break;case 6:e.lineType=t.value;break;case 8:e.layer=t.value;break;case 48:e.lineTypeScale=t.value;break;case 60:e.hidden=!!t.value;break;case 62:e.colorIndex=t.value,e.color=(i=Math.abs(t.value),a[i]);break;case 67:e.inPaperSpace=0!==t.value;break;case 100:break;case 330:e.ownerHandle=t.value;break;case 347:e.materialObjectHandle=t.value;break;case 370:e.lineweight=t.value;break;case 420:e.color=t.value;break;default:return!1}var i;return!0}function v(){}function y(e,t){var n,r=[],i=!1,a=!1;for(n=0;n<=4;n++){for(var s={};"EOF"!==t&&0!==t.code&&!a;){switch(t.code){case 10:case 11:case 12:case 13:if(i){a=!0;continue}s.x=t.value,i=!0;break;case 20:case 21:case 22:case 23:s.y=t.value;break;case 30:case 31:case 32:case 33:s.z=t.value;break;default:return r}t=e.next()}r.push(s),i=!1,a=!1}return e.rewind(),r}function x(){}function _(){}function S(){}function b(){}function E(){}function T(){}function M(){}function A(){}function w(){}function C(e,t){if(!e||e<=0)throw Error("n must be greater than 0 vertices");var n,r=[],i=!1,a=!1,s=t.lastReadGroup;for(n=0;n<e;n++){for(var o={};"EOF"!==s&&0!==s.code&&!a;){switch(s.code){case 10:if(i){a=!0;continue}o.x=s.value,i=!0;break;case 20:o.y=s.value;break;case 30:o.z=s.value;break;case 40:o.startWidth=s.value;break;case 41:o.endWidth=s.value;break;case 42:0!=s.value&&(o.bulge=s.value);break;case 91:o.id=s.value;break;default:return i&&r.push(o),t.rewind(),r}s=t.next()}r.push(o),i=!1,a=!1}return t.rewind(),r}function R(){}function P(){}function L(){}function D(){}function I(e,t){var n={type:t.value};for(t=e.next();"EOF"!=t&&0!=t.code;)g(n,t,e),t=e.next();return n}function O(){}function N(){}function U(){}function k(){}function F(e,t){let n=null;const r=()=>{const n={vertices:[],isClosed:!1};let r=0;for(;;){if(r>0){for(let i=0;i<r&&10==e.code;i++){const r=f(t);42==(e=t.next()).code&&(r.bulge=e.value,e=t.next()),n.vertices.push(r)}return n}switch(e.code){case 72:e.value;break;case 73:n.isClosed=e.value;break;case 93:r=e.value;break;default:return n}e=t.next()}},i=()=>{if(72!=e.code)return null;const n={type:e.value};e=t.next();const r=4==n.type;for(;;){switch(e.code){case 10:r?(n.controlPoints||(n.controlPoints=[]),n.controlPoints.push(f(t))):n.start=f(t);break;case 11:r?(n.fitPoints||(n.fitPoints=[]),n.fitPoints.push(f(t))):n.end=f(t);break;case 40:r?(n.knotValues||(n.knotValues=[]),n.knotValues.push(e.value)):n.radius=e.value;break;case 50:n.startAngle=e.value*Math.PI/180;break;case 51:n.endAngle=e.value*Math.PI/180;break;case 73:r?n.rational=e.value:n.isCcw=e.value;break;case 74:n.periodic=e.value;break;case 94:n.degreeOfSplineCurve=e.value;break;case 95:case 96:case 40:case 42:case 97:break;default:return n}e=t.next()}};let a=!1,s=0,o=0;for(;;){if(!n){if(92!=e.code)return null;n={type:e.value,isExternal:!!(1&e.value),isOutermost:!!(16&e.value)},e=t.next()}for(2&n.type&&!a&&(n.polyline=r(),a=!0);s;){const e=i();e?(n.edges.push(e),s--):s=0}for(;o;)330==e.code?(n.sourceRefs.push(e.value),o--,e=t.next()):o=0;switch(e.code){case 93:s=e.value,s>0&&(n.edges=[]);break;case 97:o=e.value,o>0&&(n.sourceRefs=[]);break;default:return t.rewind(),n}e=t.next()}}function B(e,t){if(53!=e.code)return null;const n={angle:e.value*Math.PI/180,base:{x:0,y:0},offset:{x:0,y:0}};e=t.next();let r=0;for(;;){switch(e.code){case 43:n.base.x=e.value;break;case 44:n.base.y=e.value;break;case 45:n.offset.x=e.value;break;case 46:n.offset.y=e.value;break;case 49:r>0&&(n.dashes.push(e.value),r--);break;case 79:r=e.value,e.value&&(n.dashes=[]);break;default:return t.rewind(),n}e=t.next()}}function G(e,t){return 10!=e.code?null:f(t)}v.ForEntityName="3DFACE",v.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 70:n.shape=!(1&~t.value),n.hasContinuousLinetypePattern=!(128&~t.value);break;case 10:n.vertices=y(e,t),t=e.lastReadGroup;break;default:g(n,t,e)}t=e.next()}return n},x.ForEntityName="ARC",x.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.center=f(e);break;case 40:n.radius=t.value;break;case 50:n.startAngle=Math.PI/180*t.value;break;case 51:n.endAngle=Math.PI/180*t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},_.ForEntityName="ATTDEF",_.prototype.parseEntity=function(e,t){var n={type:t.value,scale:1,textStyle:"STANDARD"};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 1:n.text=t.value;break;case 2:n.tag=t.value;break;case 3:n.prompt=t.value;break;case 7:n.textStyle=t.value;break;case 10:n.startPoint=f(e);break;case 11:n.endPoint=f(e);break;case 39:n.thickness=t.value;break;case 40:n.textHeight=t.value;break;case 41:n.scale=t.value;break;case 50:n.rotation=t.value;break;case 51:n.obliqueAngle=t.value;break;case 70:n.hidden=!!(1&t.value),n.constant=!!(2&t.value),n.verificationRequired=!!(4&t.value),n.preset=!!(8&t.value);break;case 71:n.backwards=!!(2&t.value),n.mirrored=!!(4&t.value);break;case 72:n.horizontalJustification=t.value;break;case 73:n.fieldLength=t.value;break;case 74:n.verticalJustification=t.value;break;case 100:break;case 101:m(e);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},S.ForEntityName="ATTRIB",S.prototype.parseEntity=function(e,t){var n={type:t.value,scale:1,textStyle:"STANDARD"};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 1:n.text=t.value;break;case 2:n.tag=t.value;break;case 3:n.prompt=t.value;break;case 7:n.textStyle=t.value;break;case 10:n.startPoint=f(e);break;case 11:n.endPoint=f(e);break;case 39:n.thickness=t.value;break;case 40:n.textHeight=t.value;break;case 41:n.scale=t.value;break;case 44:n.lineSpacingFactor=t.value;break;case 45:n.fillBoxScale=t.value;break;case 46:n.annotationHeight=t.value;break;case 50:n.rotation=t.value;break;case 51:n.obliqueAngle=t.value;break;case 63:n.backgroundFillColor=t.value;break;case 70:n.hidden=!!(1&t.value),n.constant=!!(2&t.value),n.verificationRequired=!!(4&t.value),n.preset=!!(8&t.value);break;case 71:n.attachmentPoint=t.value;break;case 72:n.horizontalJustification=t.value;break;case 73:n.lineSpacing=t.value;break;case 74:n.verticalJustification=t.value;break;case 90:n.backgroundFillSetting=t.value;break;case 100:break;case 210:n.extrusionDirection=f(e);break;case 280:n.lockPositionFlag=t.value;break;case 340:n.hardPointerId=t.value;break;default:g(n,t,e)}t=e.next()}return n},b.ForEntityName="CIRCLE",b.prototype.parseEntity=function(e,t){var n,r;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.center=f(e);break;case 40:n.radius=t.value;break;case 50:n.startAngle=Math.PI/180*t.value;break;case 51:(r=Math.PI/180*t.value)<n.startAngle?n.angleLength=r+2*Math.PI-n.startAngle:n.angleLength=r-n.startAngle,n.endAngle=r;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},E.ForEntityName="DIMENSION",E.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 2:n.block=t.value;break;case 3:n.styleName=t.value;break;case 10:n.anchorPoint=f(e);break;case 11:n.middleOfText=f(e);break;case 12:n.insertionPoint=f(e);break;case 13:n.linearOrAngularPoint1=f(e);break;case 14:n.linearOrAngularPoint2=f(e);break;case 15:n.diameterOrRadiusPoint=f(e);break;case 16:n.arcPoint=f(e);break;case 70:n.dimensionType=t.value;break;case 71:n.attachmentPoint=t.value;break;case 42:n.actualMeasurement=t.value;break;case 1:n.text=t.value;break;case 50:n.angle=t.value;break;case 53:n.textRotation=t.value;break;default:g(n,t,e)}t=e.next()}return n},T.ForEntityName="ELLIPSE",T.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.center=f(e);break;case 11:n.majorAxisEndPoint=f(e);break;case 40:n.axisRatio=t.value;break;case 41:n.startAngle=t.value;break;case 42:n.endAngle=t.value;break;case 2:n.name=t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},M.ForEntityName="INSERT",M.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 2:n.name=t.value;break;case 41:n.xScale=t.value;break;case 42:n.yScale=t.value;break;case 43:n.zScale=t.value;break;case 10:n.position=f(e);break;case 50:n.rotation=t.value;break;case 70:n.columnCount=t.value;break;case 71:n.rowCount=t.value;break;case 44:n.columnSpacing=t.value;break;case 45:n.rowSpacing=t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},A.ForEntityName="LINE",A.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.vertices.unshift(f(e));break;case 11:n.vertices.push(f(e));break;case 210:n.extrusionDirection=f(e);break;case 100:break;default:g(n,t,e)}t=e.next()}return n},w.ForEntityName="LWPOLYLINE",w.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]},r=0;for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 38:n.elevation=t.value;break;case 39:n.depth=t.value;break;case 70:n.shape=!(1&~t.value),n.hasContinuousLinetypePattern=!(128&~t.value);break;case 90:r=t.value;break;case 10:n.vertices=C(r,e);break;case 43:0!==t.value&&(n.width=t.value);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},R.ForEntityName="MTEXT",R.prototype.parseEntity=function(e,t){var n={type:t.value};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 3:case 1:n.text?n.text+=t.value:n.text=t.value;break;case 10:n.position=f(e);break;case 11:n.direction=f(e);break;case 40:n.height=t.value;break;case 41:n.width=t.value;break;case 44:n.lineSpacing=t.value;break;case 50:n.rotation=t.value;break;case 7:n.styleName=t.value;break;case 71:n.attachmentPoint=t.value;break;case 72:n.drawingDirection=t.value;break;case 101:m(e);break;default:g(n,t,e)}t=e.next()}return n},P.ForEntityName="POINT",P.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.position=f(e);break;case 39:n.thickness=t.value;break;case 210:n.extrusionDirection=f(e);break;case 100:break;default:g(n,t,e)}t=e.next()}return n},L.ForEntityName="VERTEX",L.prototype.parseEntity=function(e,t){var n={type:t.value};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.x=t.value;break;case 20:n.y=t.value;break;case 30:n.z=t.value;break;case 40:case 41:case 50:break;case 42:0!=t.value&&(n.bulge=t.value);break;case 70:n.curveFittingVertex=!!(1&t.value),n.curveFitTangent=!!(2&t.value),n.splineVertex=!!(8&t.value),n.splineControlPoint=!!(16&t.value),n.threeDPolylineVertex=!!(32&t.value),n.threeDPolylineMesh=!!(64&t.value),n.polyfaceMeshVertex=!!(128&t.value);break;case 71:n.faces=[t.value];break;case 72:n.faces[1]=t.value;break;case 73:n.faces[2]=t.value;break;case 74:n.faces[3]=t.value;break;default:g(n,t,e)}t=e.next()}return n},D.ForEntityName="POLYLINE",D.prototype.parseEntity=function(e,t){var n={type:t.value,vertices:[]};for(t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:case 20:case 30:case 40:case 41:case 71:case 72:case 73:case 74:case 75:break;case 39:n.thickness=t.value;break;case 70:n.shape=!!(1&t.value),n.includesCurveFitVertices=!!(2&t.value),n.includesSplineFitVertices=!!(4&t.value),n.is3dPolyline=!!(8&t.value),n.is3dPolygonMesh=!!(16&t.value),n.is3dPolygonMeshClosed=!!(32&t.value),n.isPolyfaceMesh=!!(64&t.value),n.hasContinuousLinetypePattern=!!(128&t.value);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n.vertices=function(e,t){var n=new L,r=[];for(;!e.isEOF();)if(0===t.code)if("VERTEX"===t.value)r.push(n.parseEntity(e,t)),t=e.lastReadGroup;else if("SEQEND"===t.value){I(e,t);break}return r}(e,t),n},O.ForEntityName="SOLID",O.prototype.parseEntity=function(e,t){var n;for((n={type:t.value}).points=[],t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.points[0]=f(e);break;case 11:n.points[1]=f(e);break;case 12:n.points[2]=f(e);break;case 13:n.points[3]=f(e);break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},N.ForEntityName="SPLINE",N.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.controlPoints||(n.controlPoints=[]),n.controlPoints.push(f(e));break;case 11:n.fitPoints||(n.fitPoints=[]),n.fitPoints.push(f(e));break;case 12:n.startTangent=f(e);break;case 13:n.endTangent=f(e);break;case 40:n.knotValues||(n.knotValues=[]),n.knotValues.push(t.value);break;case 70:1&t.value&&(n.closed=!0),2&t.value&&(n.periodic=!0),4&t.value&&(n.rational=!0),8&t.value&&(n.planar=!0),16&t.value&&(n.planar=!0,n.linear=!0);break;case 71:n.degreeOfSplineCurve=t.value;break;case 72:n.numberOfKnots=t.value;break;case 73:n.numberOfControlPoints=t.value;break;case 74:n.numberOfFitPoints=t.value;break;case 210:n.extrusionDirection=f(e);break;default:g(n,t,e)}t=e.next()}return n},U.ForEntityName="TEXT",U.prototype.parseEntity=function(e,t){var n;for(n={type:t.value},t=e.next();"EOF"!==t&&0!==t.code;){switch(t.code){case 10:n.startPoint=f(e);break;case 11:n.endPoint=f(e);break;case 40:n.textHeight=t.value;break;case 41:n.xScale=t.value;break;case 50:n.rotation=t.value;break;case 7:n.styleName=t.value;break;case 1:n.text=t.value;break;case 72:n.halign=t.value;break;case 73:n.valign=t.value;break;default:g(n,t,e)}t=e.next()}return n},k.ForEntityName="HATCH",k.prototype.parseEntity=function(e,t){var n;n={type:t.value};let r=0,i=0,a=0;for(t=e.next();"EOF"!==t&&0!==t.code;){for(;r>0;){const i=F(t,e);i?(n.boundaryLoops.push(i),r--,t=e.next()):r=0}for(;i>0;){const r=B(t,e);r?(n.definitionLines.push(r),i--,t=e.next()):i=0}for(;a>0;){const r=G(t,e);r?(n.seedPoints.push(r),a--,t=e.next()):a=0}if(0===t.code)break;switch(t.code){case 2:n.patternName=t.value;break;case 70:n.isSolid=0!=t.value;break;case 91:r=t.value,r>0&&(n.boundaryLoops=[]);break;case 75:n.hatchStyle=t.value;break;case 76:n.patternType=t.value;break;case 52:n.patternAngle=t.value*Math.PI/180;break;case 41:n.patternScale=t.value;break;case 78:i=t.value,i>0&&(n.definitionLines=[]);break;case 98:a=t.value,a>0&&(n.seedPoints=[]);break;default:g(n,t,e)}t=e.next()}return n};const z=new Map([[140,"DIMTXT"],[142,"DIMTSZ"],[144,"DIMLFAC"],[147,"DIMGAP"],[173,"DIMSAH"],[175,"DIMSOXD"],[176,"DIMCLRD"],[177,"DIMCLRE"],[178,"DIMCLRT"],[271,"DIMDEC"],[278,"DIMDSEP"],[281,"DIMSD1"],[282,"DIMSD2"],[3,"DIMPOST"],[40,"DIMSCALE"],[41,"DIMASZ"],[42,"DIMEXO"],[44,"DIMEXE"],[45,"DIMRND"],[46,"DIMDLE"],[5,"DIMBLK"],[6,"DIMBLK1"],[7,"DIMBLK2"],[75,"DIMSE1"],[76,"DIMSE2"],[78,"DIMZIN"]]);function H(){var e;this._entityHandlers={},(e=this).registerEntityHandler(v),e.registerEntityHandler(x),e.registerEntityHandler(_),e.registerEntityHandler(S),e.registerEntityHandler(b),e.registerEntityHandler(E),e.registerEntityHandler(T),e.registerEntityHandler(M),e.registerEntityHandler(A),e.registerEntityHandler(w),e.registerEntityHandler(R),e.registerEntityHandler(P),e.registerEntityHandler(D),e.registerEntityHandler(O),e.registerEntityHandler(N),e.registerEntityHandler(U),e.registerEntityHandler(k)}function V(e){p.debug("unhandled group "+W(e))}function W(e){return e.code+":"+e.value}function X(e){return a[e]}p.setLevel("error"),H.prototype.parse=function(e,t){throw new Error("read() not implemented. Use readSync()")},H.prototype.registerEntityHandler=function(e){var t=new e;this._entityHandlers[e.ForEntityName]=t},H.prototype.parseSync=function(e){return"string"==typeof e?this._parse(e):(console.error("Cannot read DXF source of type `"+typeof e),null)},H.prototype.parseStream=function(e,t){var n="",r=this;e.on("data",function(e){n+=e}),e.on("end",function(){try{var e=r._parse(n)}catch(i){return t(i)}t(null,e)}),e.on("error",function(e){t(e)})},H.prototype._parse=function(e){var t,n,i={},a=0,s=e.split(/\r\n|\r|\n/g);if(!(t=new r(s)).hasNext())throw Error("Empty file");var o=this,l=function(e,t){return n.code===e&&n.value===t},c=function(){var e=null,r=null,i={};for(n=t.next();;){if(l(0,"ENDSEC")){null!=e&&(i[e]=r);break}9===n.code?(null!=e&&(i[e]=r),e=n.value):10===n.code?r={x:n.value}:20===n.code?r.y=n.value:30===n.code?r.z=n.value:r=n.value,n=t.next()}return n=t.next(),i},h=function(){var e,r={};for(n=t.next();"EOF"!==n.value&&!l(0,"ENDSEC");)l(0,"BLOCK")?(p.debug("block {"),e=u(),p.debug("}"),x(e),e.name?r[e.name]=e:p.error('block with handle "'+e.handle+'" is missing a name.')):(V(n),n=t.next());return r},u=function(){var e={};for(n=t.next();"EOF"!==n.value;){switch(n.code){case 1:e.xrefPath=n.value,n=t.next();break;case 2:e.name=n.value,n=t.next();break;case 3:e.name2=n.value,n=t.next();break;case 5:e.handle=n.value,n=t.next();break;case 8:e.layer=n.value,n=t.next();break;case 10:e.position=y(),n=t.next();break;case 67:e.inPaperSpace=!(!n.value||1!=n.value),n=t.next();break;case 70:0!=n.value&&(e.type=n.value),n=t.next();break;case 100:n=t.next();break;case 330:e.ownerHandle=n.value,n=t.next();break;case 0:if("ENDBLK"==n.value)break;e.entities=v(!0);break;default:V(n),n=t.next()}if(l(0,"ENDBLK")){n=t.next();break}}return e},d=function(){var e={};for(n=t.next();"EOF"!==n.value&&!l(0,"ENDSEC");){l(0,"TABLE")?(n=t.next(),g[n.value]?(p.debug(n.value+" Table {"),e[g[n.value].tableName]=m(),p.debug("}")):p.debug("Unhandled Table "+n.value)):n=t.next()}return n=t.next(),e};const f="ENDTAB";var m=function(){var e,r=g[n.value],i={},a=0;for(n=t.next();!l(0,f);)switch(n.code){case 5:i.handle=n.value,n=t.next();break;case 330:i.ownerHandle=n.value,n=t.next();break;case 100:"AcDbSymbolTable"===n.value||V(n),n=t.next();break;case 70:a=n.value,n=t.next();break;case 0:n.value===r.dxfSymbolName?i[r.tableRecordsProperty]=r.parseTableRecords():(V(n),n=t.next());break;default:V(n),n=t.next()}var s=i[r.tableRecordsProperty];return s?(s.constructor===Array?e=s.length:"object"==typeof s&&(e=Object.keys(s).length),a!==e&&p.warn(`Parsed ${e} ${r.dxfSymbolName}'s but expected ${a}`)):i[r.tableRecordsProperty]=[],n=t.next(),i},g={VPORT:{tableRecordsProperty:"viewPorts",tableName:"viewPort",dxfSymbolName:"VPORT",parseTableRecords:function(){var e=[],r={};for(p.debug("ViewPort {"),n=t.next();!l(0,f);)switch(n.code){case 2:r.name=n.value,n=t.next();break;case 10:r.lowerLeftCorner=y(),n=t.next();break;case 11:r.upperRightCorner=y(),n=t.next();break;case 12:r.center=y(),n=t.next();break;case 13:r.snapBasePoint=y(),n=t.next();break;case 14:r.snapSpacing=y(),n=t.next();break;case 15:r.gridSpacing=y(),n=t.next();break;case 16:r.viewDirectionFromTarget=y(),n=t.next();break;case 17:r.viewTarget=y(),n=t.next();break;case 42:r.lensLength=n.value,n=t.next();break;case 43:r.frontClippingPlane=n.value,n=t.next();break;case 44:r.backClippingPlane=n.value,n=t.next();break;case 45:r.viewHeight=n.value,n=t.next();break;case 50:r.snapRotationAngle=n.value,n=t.next();break;case 51:r.viewTwistAngle=n.value,n=t.next();break;case 79:r.orthographicType=n.value,n=t.next();break;case 110:case 110:r.ucsOrigin=y(),n=t.next();break;case 111:r.ucsXAxis=y(),n=t.next();break;case 112:r.ucsYAxis=y(),n=t.next();break;case 281:r.renderMode=n.value,n=t.next();break;case 281:r.defaultLightingType=n.value,n=t.next();break;case 292:r.defaultLightingOn=n.value,n=t.next();break;case 330:r.ownerHandle=n.value,n=t.next();break;case 63:case 421:case 431:r.ambientColor=n.value,n=t.next();break;case 0:"VPORT"===n.value&&(p.debug("}"),e.push(r),p.debug("ViewPort {"),r={},n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),e.push(r),e}},LTYPE:{tableRecordsProperty:"lineTypes",tableName:"lineType",dxfSymbolName:"LTYPE",parseTableRecords:function(){var e,r,i={},a={};for(p.debug("LType {"),n=t.next();!l(0,"ENDTAB");)switch(n.code){case 2:a.name=n.value,e=n.value,n=t.next();break;case 3:a.description=n.value,n=t.next();break;case 73:(r=n.value)>0&&(a.pattern=[]),n=t.next();break;case 40:a.patternLength=n.value,n=t.next();break;case 49:a.pattern.push(n.value),n=t.next();break;case 0:p.debug("}"),r>0&&r!==a.pattern.length&&p.warn("lengths do not match on LTYPE pattern"),i[e]=a,a={},p.debug("LType {"),n=t.next();break;default:n=t.next()}return p.debug("}"),i[e]=a,i}},LAYER:{tableRecordsProperty:"layers",tableName:"layer",dxfSymbolName:"LAYER",parseTableRecords:function(){var e,r={},i={};for(p.debug("Layer {"),n=t.next();!l(0,"ENDTAB");)switch(n.code){case 2:i.name=n.value,e=n.value,n=t.next();break;case 62:i.visible=n.value>=0,i.colorIndex=Math.abs(n.value),i.color=X(i.colorIndex),n=t.next();break;case 70:i.frozen=!!(1&n.value)||!!(2&n.value),n=t.next();break;case 420:i.color=n.value,n=t.next();break;case 0:"LAYER"===n.value&&(p.debug("}"),r[e]=i,p.debug("Layer {"),i={},e=void 0,n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),r[e]=i,r}},DIMSTYLE:{tableRecordsProperty:"dimStyles",tableName:"dimstyle",dxfSymbolName:"DIMSTYLE",parseTableRecords:function(){var e,r={},i={};for(p.debug("DimStyle {"),n=t.next();!l(0,"ENDTAB");)if(z.has(n.code))i[z.get(n.code)]=n.value,n=t.next();else switch(n.code){case 2:i.name=n.value,e=n.value,n=t.next();break;case 0:"DIMSTYLE"===n.value&&(p.debug("}"),r[e]=i,p.debug("DimStyle {"),i={},e=void 0,n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),r[e]=i,r}},STYLE:{tableRecordsProperty:"styles",tableName:"style",dxfSymbolName:"STYLE",parseTableRecords:function(){var e,r={},i={};for(p.debug("Style {"),n=t.next();!l(0,f);)switch(n.code){case 100:i.subClassMarker=n.value,n=t.next();break;case 2:i.styleName=n.value,e=n.value,n=t.next();break;case 70:i.standardFlag=n.value,n=t.next();break;case 40:i.fixedTextHeight=n.value,n=t.next();break;case 41:i.widthFactor=n.value,n=t.next();break;case 50:i.obliqueAngle=n.value,n=t.next();break;case 71:i.textGenerationFlag=n.value,n=t.next();break;case 42:i.lastHeight=n.value,n=t.next();break;case 3:i.font=n.value,n=t.next();break;case 4:i.bigFont=n.value,n=t.next();break;case 1071:i.extendedFont=n.value,n=t.next();break;case 0:"STYLE"===n.value&&(p.debug("}"),r[e]=i,p.debug("Style {"),i={},e=void 0,n=t.next());break;default:V(n),n=t.next()}return p.debug("}"),r[e]=i,r}}},v=function(e){var r=[],i=e?"ENDBLK":"ENDSEC";for(e||(n=t.next());;)if(0===n.code){if(n.value===i)break;var a,s=o._entityHandlers[n.value];if(null==s){p.warn("Unhandled entity "+n.value),n=t.next();continue}p.debug(n.value+" {"),a=s.parseEntity(t,n),n=t.lastReadGroup,p.debug("}"),x(a),r.push(a)}else n=t.next();return"ENDSEC"==i&&(n=t.next()),r},y=function(){var e={},r=n.code;if(e.x=n.value,r+=10,(n=t.next()).code!=r)throw new Error("Expected code for point value to be "+r+" but got "+n.code+".");return e.y=n.value,r+=10,(n=t.next()).code!=r?(t.rewind(),e):(e.z=n.value,e)},x=function(e){if(!e)throw new TypeError("entity cannot be undefined or null");e.handle||(e.handle=a++)};return function(){for(n=t.next();!t.isEOF();)if(0===n.code&&"SECTION"===n.value){if(2!==(n=t.next()).code){console.error("Unexpected code %s after 0:SECTION",W(n)),n=t.next();continue}"HEADER"===n.value?(p.debug("> HEADER"),i.header=c(),p.debug("<")):"BLOCKS"===n.value?(p.debug("> BLOCKS"),i.blocks=h(),p.debug("<")):"ENTITIES"===n.value?(p.debug("> ENTITIES"),i.entities=v(!1),p.debug("<")):"TABLES"===n.value?(p.debug("> TABLES"),i.tables=d(),p.debug("<")):"EOF"===n.value?p.debug("EOF"):p.warn("Skipping section '%s'",n.value)}else n=t.next()}(),i};class q{constructor(e,t="utf-8"){this.url=e,this.encoding=t}async Fetch(e=null){const t=await fetch(this.url),n=+t.headers.get("Content-Length"),r=t.body.getReader();let i=0,a="",s=new TextDecoder(this.encoding);for(;;){const{done:t,value:o}=await r.read();if(t){a+=s.decode(new ArrayBuffer(0),{stream:!1});break}a+=s.decode(o,{stream:!0}),i+=o.length,null!==e&&e("fetch",i,n)}null!==e&&e("parse",0,null);return(new H).parseSync(a)}}
2
2
  /**
3
3
  * @license
4
4
  * Copyright 2010-2023 Three.js Authors