dxf-json 0.0.40 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,r,a,t,n,o,s,i,c,d,l,p,u,m,E,h,I,f,T,x,D,b,O,g,S,y,N,A,L,_,P,v,C,M,F,R,k,w,V,B,H,G,U,W,Y,j,z,X,K,Z,J,$,q,Q,ee,er,ea,et,en,eo,es,ei=require("@fxts/core");exports.BlockTypeFlag=void 0,(e=exports.BlockTypeFlag||(exports.BlockTypeFlag={}))[e.None=0]="None",e[e.Anonymous=1]="Anonymous",e[e.NonConstant=2]="NonConstant",e[e.Xref=4]="Xref",e[e.XrefOverlay=8]="XrefOverlay",e[e.ExternallyDependent=16]="ExternallyDependent",e[e.ResolvedOrDependent=32]="ResolvedOrDependent",e[e.ReferencedXref=64]="ReferencedXref",exports.ColorCode=void 0,(r=exports.ColorCode||(exports.ColorCode={}))[r.BYBLOCK=0]="BYBLOCK",r[r.BYLAYER=256]="BYLAYER",exports.DimensionType=void 0,(a=exports.DimensionType||(exports.DimensionType={}))[a.Rotated=0]="Rotated",a[a.Aligned=1]="Aligned",a[a.Angular=2]="Angular",a[a.Diameter=3]="Diameter",a[a.Radius=4]="Radius",a[a.Angular3Point=5]="Angular3Point",a[a.Ordinate=6]="Ordinate",a[a.ReferenceIsExclusive=32]="ReferenceIsExclusive",a[a.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",a[a.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",exports.AttachmentPoint=void 0,(t=exports.AttachmentPoint||(exports.AttachmentPoint={}))[t.TopLeft=1]="TopLeft",t[t.TopCenter=2]="TopCenter",t[t.TopRight=3]="TopRight",t[t.MiddleLeft=4]="MiddleLeft",t[t.MiddleCenter=5]="MiddleCenter",t[t.MiddleRight=6]="MiddleRight",t[t.BottomLeft=7]="BottomLeft",t[t.BottomCenter=8]="BottomCenter",t[t.BottomRight=9]="BottomRight",exports.DimensionTextLineSpacing=void 0,(n=exports.DimensionTextLineSpacing||(exports.DimensionTextLineSpacing={}))[n.AtLeast=1]="AtLeast",n[n.Exact=2]="Exact",exports.DimensionTextVertical=void 0,(o=exports.DimensionTextVertical||(exports.DimensionTextVertical={}))[o.Center=0]="Center",o[o.Above=1]="Above",o[o.Outside=2]="Outside",o[o.JIS=3]="JIS",o[o.Below=4]="Below",exports.DimensionZeroSuppression=void 0,(s=exports.DimensionZeroSuppression||(exports.DimensionZeroSuppression={}))[s.Feet=0]="Feet",s[s.None=1]="None",s[s.Inch=2]="Inch",s[s.FeetAndInch=3]="FeetAndInch",s[s.Leading=4]="Leading",s[s.Trailing=8]="Trailing",s[s.LeadingAndTrailing=12]="LeadingAndTrailing",exports.DimensionZeroSuppressionAngular=void 0,(i=exports.DimensionZeroSuppressionAngular||(exports.DimensionZeroSuppressionAngular={}))[i.None=0]="None",i[i.Leading=1]="Leading",i[i.Trailing=2]="Trailing",i[i.LeadingAndTrailing=3]="LeadingAndTrailing",exports.DimensionTextHorizontal=void 0,(c=exports.DimensionTextHorizontal||(exports.DimensionTextHorizontal={}))[c.Center=0]="Center",c[c.Left=1]="Left",c[c.Right=2]="Right",c[c.OverFirst=3]="OverFirst",c[c.OverSecond=4]="OverSecond",exports.DimensionToleranceTextVertical=void 0,(d=exports.DimensionToleranceTextVertical||(exports.DimensionToleranceTextVertical={}))[d.Bottom=0]="Bottom",d[d.Center=1]="Center",d[d.Top=2]="Top",exports.HatchSolidFill=void 0,(l=exports.HatchSolidFill||(exports.HatchSolidFill={}))[l.PatternFill=0]="PatternFill",l[l.SolidFill=1]="SolidFill",exports.HatchAssociativity=void 0,(p=exports.HatchAssociativity||(exports.HatchAssociativity={}))[p.NonAssociative=0]="NonAssociative",p[p.Associative=1]="Associative",exports.HatchStyle=void 0,(u=exports.HatchStyle||(exports.HatchStyle={}))[u.Normal=0]="Normal",u[u.Outer=1]="Outer",u[u.Ignore=2]="Ignore",exports.HatchPatternType=void 0,(m=exports.HatchPatternType||(exports.HatchPatternType={}))[m.UserDefined=0]="UserDefined",m[m.Predefined=1]="Predefined",m[m.Custom=2]="Custom",exports.HatchBoundaryAnnotation=void 0,(E=exports.HatchBoundaryAnnotation||(exports.HatchBoundaryAnnotation={}))[E.NotAnnotated=0]="NotAnnotated",E[E.Annotated=1]="Annotated",exports.HatchGradientFlag=void 0,(h=exports.HatchGradientFlag||(exports.HatchGradientFlag={}))[h.Solid=0]="Solid",h[h.Gradient=1]="Gradient",exports.HatchGradientColorFlag=void 0,(I=exports.HatchGradientColorFlag||(exports.HatchGradientColorFlag={}))[I.TwoColor=0]="TwoColor",I[I.OneColor=1]="OneColor",exports.BoundaryPathTypeFlag=void 0,(f=exports.BoundaryPathTypeFlag||(exports.BoundaryPathTypeFlag={}))[f.Default=0]="Default",f[f.External=1]="External",f[f.Polyline=2]="Polyline",f[f.Derived=4]="Derived",f[f.Textbox=8]="Textbox",f[f.Outermost=16]="Outermost",exports.BoundaryPathEdgeType=void 0,(T=exports.BoundaryPathEdgeType||(exports.BoundaryPathEdgeType={}))[T.Line=1]="Line",T[T.Circular=2]="Circular",T[T.Elliptic=3]="Elliptic",T[T.Spline=4]="Spline",exports.ObscuredLineTypes=void 0,(x=exports.ObscuredLineTypes||(exports.ObscuredLineTypes={}))[x.Off=0]="Off",x[x.Solid=1]="Solid",x[x.Dashed=2]="Dashed",x[x.Dotted=3]="Dotted",x[x.ShotDash=4]="ShotDash",x[x.MediumDash=5]="MediumDash",x[x.LongDash=6]="LongDash",x[x.DoubleShortDash=7]="DoubleShortDash",x[x.DoubleMediumDash=8]="DoubleMediumDash",x[x.DoubleLongDash=9]="DoubleLongDash",x[x.DoubleMediumLongDash=10]="DoubleMediumLongDash",x[x.SparseDot=11]="SparseDot";const ec={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:exports.ObscuredLineTypes.Off,SHADEDIF:70};function ed(e,r,a){return e.code===r&&(null==a||e.value===a)}function el(e){let r={};e.rewind();let a=e.next(),t=a.code;if(r.x=a.value,(a=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+a.code+".");return(r.y=a.value,(a=e.next()).code!==t+20)?e.rewind():r.z=a.value,r}exports.ReservedLineweight=void 0,(D=exports.ReservedLineweight||(exports.ReservedLineweight={}))[D.Standard=-3]="Standard",D[D.ByLayer=-2]="ByLayer",D[D.ByBlock=-1]="ByBlock",exports.Measurement=void 0,(b=exports.Measurement||(exports.Measurement={}))[b.English=0]="English",b[b.Metric=1]="Metric",exports.ViewportStatusFlag=void 0,(O=exports.ViewportStatusFlag||(exports.ViewportStatusFlag={}))[O.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",O[O.FRONT_CLIPPING=2]="FRONT_CLIPPING",O[O.BACK_CLIPPING=4]="BACK_CLIPPING",O[O.UCS_FOLLOW=8]="UCS_FOLLOW",O[O.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",O[O.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",O[O.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",O[O.FAST_ZOOM=128]="FAST_ZOOM",O[O.SNAP_MODE=256]="SNAP_MODE",O[O.GRID_MODE=512]="GRID_MODE",O[O.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",O[O.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",O[O.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",O[O.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",O[O.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",O[O.UNUSED=32768]="UNUSED",O[O.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",O[O.VIEWPORT_OFF=131072]="VIEWPORT_OFF",O[O.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",O[O.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",O[O.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",O[O.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",exports.RenderMode=void 0,(g=exports.RenderMode||(exports.RenderMode={}))[g.OPTIMIZED_2D=0]="OPTIMIZED_2D",g[g.WIREFRAME=1]="WIREFRAME",g[g.HIDDEN_LINE=2]="HIDDEN_LINE",g[g.FLAT_SHADED=3]="FLAT_SHADED",g[g.GOURAUD_SHADED=4]="GOURAUD_SHADED",g[g.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",g[g.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",exports.UCSPerViewport=void 0,(S=exports.UCSPerViewport||(exports.UCSPerViewport={}))[S.UCS_UNCHANGED=0]="UCS_UNCHANGED",S[S.HAS_OWN_UCS=1]="HAS_OWN_UCS",exports.OrthographicType=void 0,(y=exports.OrthographicType||(exports.OrthographicType={}))[y.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",y[y.TOP=1]="TOP",y[y.BOTTOM=2]="BOTTOM",y[y.FRONT=3]="FRONT",y[y.BACK=4]="BACK",y[y.LEFT=5]="LEFT",y[y.RIGHT=6]="RIGHT",exports.ShadePlotMode=void 0,(N=exports.ShadePlotMode||(exports.ShadePlotMode={}))[N.AS_DISPLAYED=0]="AS_DISPLAYED",N[N.WIREFRAME=1]="WIREFRAME",N[N.HIDDEN=2]="HIDDEN",N[N.RENDERED=3]="RENDERED",exports.DefaultLightingType=void 0,(A=exports.DefaultLightingType||(exports.DefaultLightingType={}))[A.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",A[A.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS";const ep=Symbol();function eu(e,r){return(a,t,n)=>{let o=e.reduce((e,r)=>{r.pushContext&&e.push({});let a=e[e.length-1];for(let e of"number"==typeof r.code?[r.code]:r.code){let t=a[e]??(a[e]=[]);r.isMultiple&&t.length&&console.warn(`Snippet ${t.at(-1).name} for code(${e}) is shadowed by ${r.name}`),t.push(r)}return e},[{}]),s=!1,i=o.length-1;for(;!ed(a,0,"EOF");){let e=function(e,r,a){return e.find((e,t)=>t>=a&&e[r]?.length)}(o,a.code,i),r=e?.[a.code].at(-1);if(!e||!r){t.rewind();break}r.isMultiple||e[a.code].pop();let{name:c,parser:d,isMultiple:l}=r,p=d?.(a,t,n);if(p===ep){t.rewind();break}if(c){let[e,r]=function(e,r){let a=r.split("."),t=e;for(let e=0;e<a.length-1;++e){let r=a[e];Object.hasOwn(t,r)||(t[r]={}),t=t[r]}return[t,a.at(-1)]}(n,c);l?(Object.hasOwn(e,r)||(e[r]=[]),e[r].push(p)):e[r]=p}r.pushContext&&(i-=1),s=!0,a=t.next()}return r&&Object.setPrototypeOf(n,r),s}}function em({value:e}){return e}function eE(e,r){return el(r)}function eh({value:e}){return!!e}var eI=[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];function ef(e,r){if(!ed(e,1001))throw Error("XData must starts with code 1001");let a={appName:e.value,value:[]};e=r.next();let t=[a.value];for(;!ed(e,0,"EOF")&&e.code>=1e3;){let a=t.at(-1);switch(e.code){case 1002:"{"===e.value?t.push([]):(t.pop(),t.at(-1)?.push(a));break;case 1e3:case 1004:case 1040:case 1070:case 1071:a.push({type:eT(e.code),value:e.value});break;case 1003:a.push({name:"layer",type:eT(e.code),value:e.value});break;case 1005:a.push({name:"handle",type:eT(e.code),value:e.value});break;case 1010:a.push({type:eT(e.code),value:el(r)});break;case 1011:a.push({name:"worldSpacePosition",type:eT(e.code),value:el(r)});break;case 1012:a.push({name:"worldSpaceDisplacement",type:eT(e.code),value:el(r)});break;case 1013:a.push({name:"worldSpaceDirection",type:eT(e.code),value:el(r)});break;case 1041:a.push({name:"distance",type:eT(e.code),value:e.value});break;case 1042:a.push({name:"scale",type:eT(e.code),value:e.value})}e=r.next()}return r.rewind(),a}function eT(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function ex(e,r,a){if(ed(r,102))return eg(r,a),!0;switch(r.code){case 0:e.type=r.value;break;case 5:e.handle=r.value;break;case 330:e.ownerDictionarySoftId?e.ownerBlockRecordSoftId=r.value:e.ownerDictionarySoftId=r.value;break;case 360:e.ownerdictionaryHardId=r.value;break;case 67:e.isInPaperSpace=!!r.value;break;case 8:e.layer=r.value;break;case 6:e.lineType=r.value;break;case 347:e.materialObjectHardId=r.value;break;case 62:e.colorIndex=r.value,e.color=eI[Math.abs(r.value)];break;case 370:e.lineweight=r.value;break;case 48:e.lineTypeScale=r.value;break;case 60:e.isVisible=!!r.value;break;case 92:e.proxyByte=r.value;break;case 310:e.proxyEntity=r.value;break;case 100:break;case 420:e.color=r.value;break;case 430:e.transparency=r.value;break;case 390:e.plotStyleHardId=r.value;break;case 284:e.shadowMode=r.value;break;case 1001:e.xdata=ef(r,a);break;default:return!1}return!0}let eD=0;function eb(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=eD++)}exports.ShadowMode=void 0,(L=exports.ShadowMode||(exports.ShadowMode={}))[L.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",L[L.CAST=1]="CAST",L[L.RECEIVE=2]="RECEIVE",L[L.IGNORE=3]="IGNORE";const eO=[{code:1001,name:"xdata",parser:ef},{code:284,name:"shadowMode",parser:em},{code:390,name:"plotStyleHardId",parser:em},{code:440,name:"transparency",parser:em},{code:430,name:"colorName",parser:em},{code:420,name:"color",parser:em},{code:310,name:"proxyEntity",parser:em},{code:92,name:"proxyByte",parser:em},{code:60,name:"isVisible",parser:eh},{code:48,name:"lineTypeScale",parser:em},{code:370,name:"lineweight",parser:em},{code:62,name:"colorIndex",parser(e,r,a){let t=e.value;return a.color=eI[Math.abs(t)],t}},{code:347,name:"materialObjectHardId",parser:em},{code:6,name:"lineType",parser:em},{code:8,name:"layer",parser:em},{code:410,name:"layoutTabName",parser:em},{code:67,name:"isInPaperSpace",parser:eh},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:em},{code:102,parser:eg},{code:102,parser:eg},{code:102,parser:eg},{code:5,name:"handle",parser:em}];function eg(e,r){for(e=r.next();!ed(e,102)&&!ed(e,0,"EOF");)e=r.next()}function eS(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const ey={extrusionDirection:{x:0,y:0,z:1}},eN=[{code:210,name:"extrusionDirection",parser:eE},{code:51,name:"endAngle",parser:em},{code:50,name:"startAngle",parser:em},{code:100,name:"subclassMarker",parser:em},{code:40,name:"radius",parser:em},{code:10,name:"center",parser:eE},{code:39,name:"thickness",parser:em},{code:100},...eO];class eA{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eS(this,"parser",eu(eN,ey))}}function eL(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eS(eA,"ForEntityName","ARC"),exports.AttributeFlag=void 0,(_=exports.AttributeFlag||(exports.AttributeFlag={}))[_.NONE=0]="NONE",_[_.INVISIBLE=1]="INVISIBLE",_[_.CONSTANT=2]="CONSTANT",_[_.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",_[_.PRESET=8]="PRESET",exports.AttDefMTextFlag=void 0,(P=exports.AttDefMTextFlag||(exports.AttDefMTextFlag={}))[P.MULTILINE=2]="MULTILINE",P[P.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",exports.TextGenerationFlag=void 0,(v=exports.TextGenerationFlag||(exports.TextGenerationFlag={}))[v.NONE=0]="NONE",v[v.MIRRORED_X=2]="MIRRORED_X",v[v.MIRRORED_Y=4]="MIRRORED_Y",exports.TextHorizontalAlign=void 0,(C=exports.TextHorizontalAlign||(exports.TextHorizontalAlign={}))[C.LEFT=0]="LEFT",C[C.CENTER=1]="CENTER",C[C.RIGHT=2]="RIGHT",C[C.ALIGNED=3]="ALIGNED",C[C.MIDDLE=4]="MIDDLE",C[C.FIT=5]="FIT",exports.TextVerticalAlign=void 0,(M=exports.TextVerticalAlign||(exports.TextVerticalAlign={}))[M.BASELINE=0]="BASELINE",M[M.BOTTOM=1]="BOTTOM",M[M.MIDDLE=2]="MIDDLE",M[M.TOP=3]="TOP";const e_={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:exports.TextHorizontalAlign.LEFT,valign:exports.TextVerticalAlign.BASELINE,extrusionDirection:{x:0,y:0,z:1}},eP=[{code:73,name:"valign",parser:em},{code:100},{code:210,name:"extrusionDirection",parser:eE},{code:11,name:"endPoint",parser:eE},{code:72,name:"valign",parser:em},{code:72,name:"halign",parser:em},{code:71,name:"generationFlag",parser:em},{code:7,name:"styleName",parser:em},{code:51,name:"obliqueAngle",parser:em},{code:41,name:"xScale",parser:em},{code:50,name:"rotation",parser:em},{code:1,name:"text",parser:em},{code:40,name:"textHeight",parser:em},{code:10,name:"startPoint",parser:eE},{code:39,name:"thickness",parser:em},{code:100,name:"subclassMarker",parser:em},...eO];class ev{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eL(this,"parser",eu(eP,e_))}}function eC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eL(ev,"ForEntityName","TEXT");const eM={...e_},eF=[{code:2},{code:40,name:"annotationScale",parser:em},{code:10,name:"alignmentPoint",parser:eE},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:em},{code:70,name:"numberOfSecondaryAttributes",parser:em},{code:70,name:"isReallyLocked",parser:eh},{code:70,name:"mtextFlag",parser:em},{code:280,name:"isDuplicatedRecord",parser:eh},{code:100},{code:280,name:"isLocked",parser:eh},{code:74,name:"valign",parser:em},{code:73},{code:70,name:"attributeFlag",parser:em},{code:2,name:"tag",parser:em},{code:3,name:"prompt",parser:em},{code:280},{code:100,name:"subclassMarker",parser:em},...eP.slice(2)];class eR{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eC(this,"parser",eu(eF,eM))}}function ek(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}eC(eR,"ForEntityName","ATTDEF");const ew={thickness:0,extrusionDirection:{x:0,y:0,z:1}},eV=[{code:210,name:"extrusionDirection",parser:eE},{code:40,name:"radius",parser:em},{code:10,name:"center",parser:eE},{code:39,name:"thickness",parser:em},{code:100,name:"subclassMarker",parser:em},...eO];class eB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){ek(this,"parser",eu(eV,ew))}}ek(eB,"ForEntityName","CIRCLE");class eH{parseEntity(e,r){let a={};for(;!ed(r,0,"EOF");){if(0===r.code){e.rewind();break}!function(e,r,a){switch(r.code){case 100:e.subclassMarker=r.value;break;case 280:e.version=r.value;break;case 2:e.name=r.value;break;case 10:e.definitionPoint=el(a);break;case 11:e.textPoint=el(a);break;case 12:e.insertionPoint=el(a);break;case 13:e.subDefinitionPoint1=el(a);break;case 14:e.subDefinitionPoint2=el(a);break;case 15:e.centerPoint=el(a);break;case 16:e.arcPoint=el(a);break;case 70:e.dimensionType=r.value;break;case 71:e.attachmentPoint=r.value;break;case 72:e.textLineSpacingStyle=r.value;break;case 40:e.leaderLength=r.value;break;case 41:e.textLineSpacingFactor=r.value;break;case 42:e.measurement=r.value;break;case 1:e.text=r.value;break;case 50:e.rotationAngle=r.value;break;case 52:e.obliqueAngle=r.value;break;case 53:e.textRotation=r.value;break;case 51:e.ocsRotation=r.value;break;case 210:e.extrusionDirection=el(a);break;case 3:e.styleName=r.value;break;default:ex(e,r,a)}}(a,r,e),r=e.next()}return a}}function eG(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}R="DIMENSION",(F="ForEntityName")in eH?Object.defineProperty(eH,F,{value:R,enumerable:!0,configurable:!0,writable:!0}):eH[F]=R;const eU={extrusionDirection:{x:0,y:0,z:1}},eW=[{code:42,name:"endAngle",parser:em},{code:41,name:"startAngle",parser:em},{code:40,name:"axisRatio",parser:em},{code:210,name:"extrusionDirection",parser:eE},{code:11,name:"majorAxisEndPoint",parser:eE},{code:10,name:"center",parser:eE},{code:100,name:"subclassMarker",parser:em},...eO];class eY{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){eG(this,"parser",eu(eW,eU))}}eG(eY,"ForEntityName","ELLIPSE");const ej=[{code:330,name:"sourceBoundaryObjects",parser:em,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:em}],ez=[{code:11,name:"end",parser:eE},{code:10,name:"start",parser:eE}],eX=[{code:73,name:"isCCW",parser:eh},{code:51,name:"endAngle",parser:em},{code:50,name:"startAngle",parser:em},{code:40,name:"radius",parser:em},{code:10,name:"center",parser:eE}],eK=[{code:73,name:"isCCW",parser:eh},{code:51,name:"endAngle",parser:em},{code:50,name:"startAngle",parser:em},{code:40,name:"lengthOfMinorAxis",parser:em},{code:11,name:"end",parser:eE},{code:10,name:"center",parser:eE}],eZ=[{code:13,name:"endTangent",parser:eE},{code:12,name:"startTangent",parser:eE},{code:11,name:"fitDatum",isMultiple:!0,parser:eE},{code:97,name:"numberOfFitData",parser:em},{code:10,name:"controlPoints",isMultiple:!0,parser(e,r){let a={...el(r),weight:1};return 42===(e=r.next()).code?a.weight=e.value:r.rewind(),a}},{code:40,name:"knots",isMultiple:!0,parser:em},{code:96,name:"numberOfControlPoints",parser:em},{code:95,name:"numberOfKnots",parser:em},{code:74,name:"isPeriodic",parser:eh},{code:73,name:"splineFlag",parser:em},{code:94,name:"degree",parser:em}],eJ={[exports.BoundaryPathEdgeType.Line]:ez,[exports.BoundaryPathEdgeType.Circular]:eX,[exports.BoundaryPathEdgeType.Elliptic]:eK,[exports.BoundaryPathEdgeType.Spline]:eZ},e$=[...ej,{code:72,name:"edges",parser(e,r){let a={type:e.value},t=eu(eJ[a.type]);if(!t)throw Error(`Invalid edge type ${a.type}`);return t(e=r.next(),r,a),a},isMultiple:!0},{code:93,name:"numberOfEdges",parser:em}],eq=[...ej,{code:10,name:"vertices",parser(e,r){let a={...el(r),bulge:0};return 42===(e=r.next()).code?a.bulge=e.value:r.rewind(),a},isMultiple:!0},{code:93,name:"numberOfVertices",parser:em},{code:73,name:"isClosed",parser:eh},{code:72,name:"hasBulge",parser:eh}],eQ=[{code:49,name:"dashLengths",parser:em,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:em},{code:45,name:"offset",parser:e0},{code:43,name:"base",parser:e0},{code:53,name:"angle",parser:em}];function e0(e,r){let a=e.code+1,t={x:e.value,y:1};return(e=r.next()).code===a?t.y=e.value:r.rewind(),t}function e1(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}const e4={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},e2=[{code:470},{code:463},{code:462,name:"colorTint",parser:em},{code:461,name:"gradientDefinition",parser:em},{code:460,name:"gradientRotation",parser:em},{code:453,name:"numberOfColors",parser:em},{code:452,name:"gradientColorFlag",parser:em},{code:451},{code:450,name:"gradientFlag",parser:em},{code:10,name:"seedPoints",parser:eE,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:eE},{code:98,name:"numberOfSeedPoints",parser:em},{code:47,name:"pixelSize",parser:em},{code:53,name:"definitionLines",parser:function(e,r){let a={};return eu(eQ)(e,r,a),a},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:em},{code:77,name:"isDouble",parser:eh},{code:73,name:"isAnnotated",parser:eh},{code:41,name:"patternScale",parser:em},{code:52,name:"patternAngle",parser:em},{code:76,name:"patternType",parser:em},{code:75,name:"hatchStyle",parser:em},{code:92,name:"boundaryPaths",parser:function(e,r){let a={boundaryPathTypeFlag:e.value},t=a.boundaryPathTypeFlag&exports.BoundaryPathTypeFlag.Polyline;return(e=r.next(),t)?eu(eq)(e,r,a):eu(e$)(e,r,a),a},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:em},{code:71,name:"associativity",parser:em},{code:63,name:"patternFillColor",parser:em},{code:70,name:"solidFill",parser:em},{code:2,name:"patternName",parser:em},{code:210,name:"extrusionDirection",parser:eE},{code:10,name:"elevationPoint",parser:eE},{code:100,name:"subclassMarker",parser:em,pushContext:!0},...eO];class e3{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e1(this,"parser",eu(e2,e4))}}function e7(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e1(e3,"ForEntityName","HATCH");const e5={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},e6=[{code:210,name:"extrusionDirection",parser:eE},{code:45,name:"rowSpacing",parser:em},{code:44,name:"columnSpacing",parser:em},{code:71,name:"rowCount",parser:em},{code:70,name:"columnCount",parser:em},{code:50,name:"rotation",parser:em},{code:43,name:"zScale",parser:em},{code:42,name:"yScale",parser:em},{code:41,name:"xScale",parser:em},{code:10,name:"insertionPoint",parser:eE},{code:2,name:"name",parser:em},{code:66,name:"isVariableAttributes",parser:eh},{code:100,name:"subclassMarker",parser:em},...eO];class e9{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e7(this,"parser",eu(e6,e5))}}function e8(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e7(e9,"ForEntityName","INSERT");const re={isArrowheadEnabled:!0},rr=[{code:213,name:"offsetFromAnnotation",parser:eE},{code:212,name:"offsetFromBlock",parser:eE},{code:211,name:"horizontalDirection",parser:eE},{code:210,name:"normal",parser:eE},{code:340,name:"associatedAnnotation",parser:em},{code:77,name:"byBlockColor",parser:em},{code:10,name:"vertices",parser:eE,isMultiple:!0},{code:76,name:"numberOfVertices",parser:em},{code:41,name:"textWidth",parser:em},{code:40,name:"textHeight",parser:em},{code:75,name:"isHooklineExists",parser:eh},{code:74,name:"isHooklineSameDirection",parser:eh},{code:73,name:"leaderCreationFlag",parser:em},{code:72,name:"isSpline",parser:eh},{code:71,name:"isArrowheadEnabled",parser:eh},{code:3,name:"styleName",parser:em},{code:100,name:"subclassMarker",parser:em},...eO];class ra{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){e8(this,"parser",eu(rr,re))}}function rt(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}e8(ra,"ForEntityName","LEADER"),exports.LeaderCreationFlag=void 0,(k=exports.LeaderCreationFlag||(exports.LeaderCreationFlag={}))[k.TextAnnotation=0]="TextAnnotation",k[k.ToleranceAnnotation=1]="ToleranceAnnotation",k[k.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",k[k.NoAnnotation=3]="NoAnnotation";const rn={thickness:0,extrusionDirection:{x:0,y:0,z:1}},ro=[{code:210,name:"extrusionDirection",parser:eE},{code:11,name:"endPoint",parser:eE},{code:10,name:"startPoint",parser:eE},{code:39,name:"thickness",parser:em},{code:100,name:"subclassMarker",parser:em},...eO];class rs{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rt(this,"parser",eu(ro,rn))}}rt(rs,"ForEntityName","LINE"),exports.LWPolylineFlag=void 0,(w=exports.LWPolylineFlag||(exports.LWPolylineFlag={}))[w.IS_CLOSED=1]="IS_CLOSED",w[w.PLINE_GEN=128]="PLINE_GEN";const ri={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rc={bulge:0},rd=[{code:42,name:"bulge",parser:em},{code:41,name:"endWidth",parser:em},{code:40,name:"startWidth",parser:em},{code:91,name:"id",parser:em},{code:20,name:"y",parser:em},{code:10,name:"x",parser:em}],rl=[{code:210,name:"extrusionDirection",parser:eE},{code:10,name:"vertices",isMultiple:!0,parser(e,r){let a={};return eu(rd,rc)(e,r,a),a}},{code:39,name:"thickness",parser:em},{code:38,name:"elevation",parser:em},{code:43,name:"constantWidth",parser:em},{code:70,name:"flag",parser:em},{code:90,name:"numberOfVertices",parser:em},{code:100,name:"subclassMarker",parser:em},...eO];class rp{parseEntity(e,r){let a={};return eu(rl,ri)(r,e,a),a}}function ru({seeds:e,spanner:r,serializer:a,iterationLimit:t=1/0}){let n=new Set,o=0;return e.map(e=>{let s=[],i=[[e,a(e)]];for(;i.length&&o++<t;){let[e,t]=i.pop();if(!n.has(t))for(let o of(n.add(t),s.push(e),r(e)))i.push([o,a(o)])}return s}).filter(e=>e.length)}function rm(e,r){let a={};for(let t of e){let e=r(t);null!=e&&(a[e]??(a[e]=[]),a[e].push(t))}return a}function*rE(e,r=1/0,a=1){for(let t=e;t!==r;t+=a)yield t}function rh(e){return{x:e.x??0,y:e.y??0,z:e.z??0}}function rI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}B="LWPOLYLINE",(V="ForEntityName")in rp?Object.defineProperty(rp,V,{value:B,enumerable:!0,configurable:!0,writable:!0}):rp[V]=B,exports.MTextDrawingDirection=void 0,(H=exports.MTextDrawingDirection||(exports.MTextDrawingDirection={}))[H.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",H[H.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",H[H.BY_STYLE=5]="BY_STYLE";const rf={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},rT=[{code:46,name:"annotationHeight",parser:em},{code:101,parser(e,r){!function(e){e.rewind();let r=e.next();if(101!==r.code)throw Error("Bad call for skipEmbeddedObject()");do r=e.next();while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:em},{code:49,name:"columnGutter",parser:em},{code:48,name:"columnWidth",parser:em},{code:79,name:"columnAutoHeight",parser:em},{code:78,name:"columnFlowReversed",parser:em},{code:76,name:"columnCount",parser:em},{code:75,name:"columnType",parser:em},{code:441,name:"backgroundFillTransparency",parser:em},{code:63,name:"backgroundFillColor",parser:em},{code:45,name:"fillBoxScale",parser:em},{code:[...rE(430,440)],name:"backgroundColor",parser:em},{code:[...rE(420,430)],name:"backgroundColor",parser:em},{code:90,name:"backgroundFill",parser:em},{code:44,name:"lineSpacing",parser:em},{code:73,name:"lineSpacingStyle",parser:em},{code:50,name:"rotation",parser:em},{code:43},{code:42},{code:11,name:"direction",parser:eE},{code:210,name:"extrusionDirection",parser:eE},{code:7,name:"styleName",parser:em},{code:3,name:"text",parser:(e,r,a)=>(a.text??"")+e.value},{code:1,name:"text",parser:em},{code:72,name:"drawingDirection",parser:em},{code:71,name:"attachmentPoint",parser:em},{code:41,name:"width",parser:em},{code:40,name:"height",parser:em},{code:10,name:"insertionPoint",parser:eE},{code:100,name:"subclassMarker",parser:em},...eO];class rx{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rI(this,"parser",eu(rT,rf))}}function rD(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rI(rx,"ForEntityName","MTEXT");const rb={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},rO=[{code:50,name:"angle",parser:em},{code:210,name:"extrusionDirection",parser:eE},{code:39,name:"thickness",parser:em},{code:10,name:"position",parser:eE},{code:100,name:"subclassMarker",parser:em},...eO];class rg{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rD(this,"parser",eu(rO,rb))}}function rS(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rD(rg,"ForEntityName","POINT"),exports.PolylineFlag=void 0,(G=exports.PolylineFlag||(exports.PolylineFlag={}))[G.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",G[G.CURVE_FIT=2]="CURVE_FIT",G[G.SPLINE_FIT=4]="SPLINE_FIT",G[G.POLYLINE_3D=8]="POLYLINE_3D",G[G.POLYGON_3D=16]="POLYGON_3D",G[G.CLOSED_POLYGON=32]="CLOSED_POLYGON",G[G.POLYFACE=64]="POLYFACE",G[G.CONTINUOUS=128]="CONTINUOUS",exports.SmoothType=void 0,(U=exports.SmoothType||(exports.SmoothType={}))[U.NONE=0]="NONE",U[U.QUADRATIC=5]="QUADRATIC",U[U.CUBIC=6]="CUBIC",U[U.BEZIER=8]="BEZIER",exports.VertexFlag=void 0,(W=exports.VertexFlag||(exports.VertexFlag={}))[W.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",W[W.TANGENT_DEFINED=2]="TANGENT_DEFINED",W[W.NOT_USED=4]="NOT_USED",W[W.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",W[W.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",W[W.FOR_POLYLINE=32]="FOR_POLYLINE",W[W.FOR_POLYGON=64]="FOR_POLYGON",W[W.POLYFACE=128]="POLYFACE";const ry={startWidth:0,endWidth:0,bulge:0},rN=[{code:91,name:"id",parser:em},{code:[...rE(71,75)],name:"faces",isMultiple:!0,parser:em},{code:50,name:"tangentDirection",parser:em},{code:70,name:"flag",parser:em},{code:42,name:"bulge",parser:em},{code:41,name:"endWidth",parser:em},{code:40,name:"startWidth",parser:em},{code:30,name:"z",parser:em},{code:20,name:"y",parser:em},{code:10,name:"x",parser:em},{code:100,name:"subclassMarker",parser:em},{code:100},...eO];class rA{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rS(this,"parser",eu(rN,ry))}}function rL(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rS(rA,"ForEntityName","VERTEX");const r_={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rP=[{code:0,name:"vertices",isMultiple:!0,parser:(e,r)=>ed(e,0,"VERTEX")?(e=r.next(),new rA().parseEntity(r,e)):ep},{code:210,name:"extrusionDirection",parser:eE},{code:75,name:"smoothType",parser:em},{code:74,name:"surfaceNDensity",parser:em},{code:73,name:"surfaceMDensity",parser:em},{code:72,name:"meshNVertexCount",parser:em},{code:71,name:"meshMVertexCount",parser:em},{code:41,name:"endWidth",parser:em},{code:40,name:"startWidth",parser:em},{code:70,name:"flag",parser:em},{code:39,name:"thickness",parser:em},{code:30,name:"elevation",parser:em},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:em},...eO];class rv{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rL(this,"parser",eu(rP,r_))}}function rC(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rL(rv,"ForEntityName","POLYLINE");const rM={vertices:[],backLineVertices:[]},rF=[{code:360,name:"geometrySettingHardId",parser:em},{code:12,name:"backLineVertices",isMultiple:!0,parser:eE},{code:93,name:"numberOfBackLineVertices",parser:em},{code:11,name:"vertices",isMultiple:!0,parser:eE},{code:92,name:"verticesCount",parser:em},{code:[63,411],name:"indicatorColor",parser:em},{code:70,name:"indicatorTransparency",parser:em},{code:41,name:"bottomHeight",parser:em},{code:40,name:"topHeight",parser:em},{code:10,name:"verticalDirection",parser:eE},{code:1,name:"name",parser:em},{code:91,name:"flag",parser:em},{code:90,name:"state",parser:em},{code:100,name:"subclassMarker",parser:em},...eO];class rR{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rC(this,"parser",eu(rF,rM))}}function rk(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rC(rR,"ForEntityName","SECTION");const rw={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},rV=[{code:210,name:"extrusionDirection",parser:eE},{code:39,name:"thickness",parser:em},{code:[...rE(10,14)],name:"points",isMultiple:!0,parser:eE},{code:100,name:"subclassMarker",parser:em},...eO];class rB{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rk(this,"parser",eu(rV,rw))}}function rH(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}rk(rB,"ForEntityName","SOLID"),exports.SplineFlag=void 0,(Y=exports.SplineFlag||(exports.SplineFlag={}))[Y.NONE=0]="NONE",Y[Y.CLOSED=1]="CLOSED",Y[Y.PERIODIC=2]="PERIODIC",Y[Y.RATIONAL=4]="RATIONAL",Y[Y.PLANAR=8]="PLANAR",Y[Y.LINEAR=16]="LINEAR";const rG={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},rU=[{code:11,name:"fitPoints",isMultiple:!0,parser:eE},{code:10,name:"controlPoints",isMultiple:!0,parser:eE},{code:41,name:"weights",isMultiple:!0,parser:em},{code:40,name:"knots",isMultiple:!0,parser:em},{code:13,name:"endTangent",parser:eE},{code:12,name:"startTangent",parser:eE},{code:44,name:"fitTolerance",parser:em},{code:43,name:"controlTolerance",parser:em},{code:42,name:"knotTolerance",parser:em},{code:74,name:"numberOfFitPoints",parser:em},{code:73,name:"numberOfControlPoints",parser:em},{code:72,name:"numberOfKnots",parser:em},{code:71,name:"degree",parser:em},{code:70,name:"flag",parser:em},{code:210,name:"normal",parser:eE},{code:100,name:"subclassMarker",parser:em},...eO];class rW{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rH(this,"parser",eu(rU,rG))}}rH(rW,"ForEntityName","SPLINE");class rY{parseEntity(e,r){let a={};for(;"EOF"!==r;){if(0===r.code){e.rewind();break}!function(e,r,a){if("EOF"===a)return!1;switch(a.code){case 0:return!1;case 100:e.subclassMarker=a.value;break;case 10:e.viewportCenter=rh(el(r));break;case 40:e.width=a.value;break;case 41:e.height=a.value;break;case 68:e.status=a.value;break;case 69:e.viewportId=a.value;break;case 12:e.displayCenter=el(r);break;case 13:e.snapBase=el(r);break;case 14:e.snapSpacing=el(r);break;case 15:e.gridSpacing=el(r);break;case 16:e.viewDirection=rh(el(r));break;case 17:e.targetPoint=rh(el(r));break;case 42:e.perspectiveLensLength=a.value;break;case 43:e.frontClipZ=a.value;break;case 44:e.backClipZ=a.value;break;case 45:e.viewHeight=a.value;break;case 50:e.snapAngle=a.value;break;case 51:e.viewTwistAngle=a.value;break;case 72:e.circleZoomPercent=a.value;break;case 331:e.frozenLayerIds??(e.frozenLayerIds=[]),e.frozenLayerIds.push(a.value);break;case 90:e.statusBitFlags=a.value;break;case 340:e.clippingBoundaryId=a.value;break;case 1:e.sheetName=a.value;break;case 281:e.renderMode=a.value;break;case 71:e.ucsPerViewport=a.value;break;case 110:e.ucsOrigin=rh(el(r));break;case 111:e.ucsXAxis=rh(el(r));break;case 112:e.ucsYAxis=rh(el(r));break;case 345:e.ucsId=a.value;break;case 346:e.ucsBaseId=a.value;break;case 79:e.orthographicType=a.value;break;case 146:e.elevation=a.value;break;case 170:e.shadePlotMode=a.value;break;case 61:e.majorGridFrequency=a.value;break;case 332:e.backgroundId=a.value;break;case 333:e.shadePlotId=a.value;break;case 348:e.visualStyleId=a.value;break;case 292:e.isDefaultLighting=!!a.value;break;case 282:e.defaultLightingType=a.value;break;case 141:e.brightness=a.value;break;case 142:e.contrast=a.value;break;case 63:case 421:case 431:e.ambientLightColor=a.value;break;case 361:e.sunId=a.value;break;case 335:case 343:case 344:case 91:e.softPointer=a.value}return!0}(a,e,r)&&ex(a,r,e),r=e.next()}return a}}function rj(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}z="VIEWPORT",(j="ForEntityName")in rY?Object.defineProperty(rY,j,{value:z,enumerable:!0,configurable:!0,writable:!0}):rY[j]=z,(X=ee||(ee={}))[X.INVISIBLE=1]="INVISIBLE",X[X.CONSTANT=2]="CONSTANT",X[X.REQUIRE_VERIFICATION=4]="REQUIRE_VERIFICATION",X[X.PRESET=8]="PRESET";const rz={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},rX=[...rT.slice(rT.findIndex(({name:e})=>"columnType"===e),rT.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!ed(e,0,"MTEXT"))return ep}},{code:2,name:"definitionTag",parser:em},{code:40,name:"annotationScale",parser:em},{code:10,name:"alignmentPoint",parser:eE},{code:340,name:"secondaryAttributesHardId",parser:em},{code:70,name:"numberOfSecondaryAttributes",parser:em},{code:70,name:"isReallyLocked",parser:eh},{code:70,name:"mtextFlag",parser:em},{code:280,name:"isDuplicatedEntriesKeep",parser:eh},{code:100},{code:280,name:"lockPositionFlag",parser:eh},{code:210,name:"extrusionDirection",parser:eE},{code:11,name:"alignmentPoint",parser:eE},{code:74,name:"verticalJustification",parser:em},{code:72,name:"horizontalJustification",parser:em},{code:71,name:"textGenerationFlag",parser:em},{code:7,name:"textStyle",parser:em},{code:51,name:"obliqueAngle",parser:em},{code:41,name:"scale",parser:em},{code:50,name:"rotation",parser:em},{code:73},{code:70,name:"attributeFlag",parser:em},{code:2,name:"tag",parser:em},{code:280},{code:100,name:"subclassMarker",parser:em},{code:1,name:"text",parser:em},{code:40,name:"textHeight",parser:em},{code:10,name:"startPoint",parser:eE},{code:39,name:"thickness",parser:em},{code:100},...eO];class rK{parseEntity(e,r){let a={};return this.parser(r,e,a),a}constructor(){rj(this,"parser",eu(rX,rz))}}rj(rK,"ForEntityName","ATTRIB");const rZ=Object.fromEntries([eA,eR,rK,eB,eH,eY,e9,ra,rs,rp,rx,rg,rv,rR,rB,rW,ev,e3,rY].map(e=>[e.ForEntityName,new e]));function rJ(e,r){let a=[];for(;!ed(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){r.rewind();break}let t=rZ[e.value];if(t){let n=e.value;e=r.next();let o=t.parseEntity(r,e);o.type=n,eb(o),a.push(o)}else console.warn(`Unsupported ENTITY type: ${e.value}`)}e=r.next()}return a}function r$(e,r){let a={};for(;!ed(e,0,"EOF")&&!ed(e,0,"ENDSEC");){if(ed(e,0,"BLOCK")){let t=rq(e=r.next(),r);eb(t),t.name&&(a[t.name]=t)}e=r.next()}return a}function rq(e,r){let a={};for(;!ed(e,0,"EOF");){if(ed(e,0,"ENDBLK")){for(e=r.next();!ed(e,0,"EOF");){if(ed(e,100,"AcDbBlockEnd"))return a;e=r.next()}break}switch(e.code){case 1:a.xrefPath=e.value;break;case 2:a.name=e.value;break;case 3:a.name2=e.value;break;case 5:a.handle=e.value;break;case 8:a.layer=e.value;break;case 10:a.position=el(r);break;case 67:a.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(a.type=e.value);break;case 100:break;case 330:a.ownerHandle=e.value;break;case 0:a.entities=rJ(e,r)}e=r.next()}return a}function rQ(e,r){let a=null,t={};for(;!ed(e,0,"EOF")&&!ed(e,0,"ENDSEC");)9===e.code?a=e.value:10===e.code?t[a]=el(r):t[a]=e.value,e=r.next();return t}const r0=[{code:333,name:"shadePlotId",parser:em},{code:149,name:"imageOriginY",parser:em},{code:148,name:"imageOriginX",parser:em},{code:147,name:"scaleFactor",parser:em},{code:78,name:"shadePlotCustomDPI",parser:em},{code:77,name:"shadePlotResolution",parser:em},{code:76,name:"shadePlotMode",parser:em},{code:75,name:"standardScaleType",parser:em},{code:7,name:"currentStyleSheet",parser:em},{code:74,name:"plotType",parser:em},{code:73,name:"plotRotation",parser:em},{code:72,name:"paperUnit",parser:em},{code:70,name:"layoutFlag",parser:em},{code:143,name:"printScaleDenominator",parser:em},{code:142,name:"printScaleNominator",parser:em},{code:141,name:"windowAreaYMax",parser:em},{code:140,name:"windowAreaYMin",parser:em},{code:49,name:"windowAreaXMax",parser:em},{code:48,name:"windowAreaXMin",parser:em},{code:47,name:"plotOriginY",parser:em},{code:46,name:"plotOriginX",parser:em},{code:45,name:"paperHeight",parser:em},{code:44,name:"paperWidth",parser:em},{code:43,name:"marginTop",parser:em},{code:42,name:"marginRight",parser:em},{code:41,name:"marginBottom",parser:em},{code:40,name:"marginLeft",parser:em},{code:6,name:"plotViewName",parser:em},{code:4,name:"paperSize",parser:em},{code:2,name:"configName",parser:em},{code:1,name:"pageSetupName",parser:em},{code:100,name:"subclassMarker",parser:em}];(K=er||(er={}))[K.INCHES=0]="INCHES",K[K.MILLIMETERS=1]="MILLIMETERS",K[K.PIXELS=2]="PIXELS",(Z=ea||(ea={}))[Z.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",Z[Z.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",Z[Z.DRAWING_LIMITS=2]="DRAWING_LIMITS",Z[Z.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",Z[Z.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",Z[Z.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",(J=et||(et={}))[J.AS_DISPLAYED=0]="AS_DISPLAYED",J[J.WIREFRAME=1]="WIREFRAME",J[J.HIDDEN=2]="HIDDEN",J[J.RENDERED=3]="RENDERED",($=en||(en={}))[$.DRAFT=0]="DRAFT",$[$.PREVIEW=1]="PREVIEW",$[$.NORMAL=2]="NORMAL",$[$.PRESENTATION=3]="PRESENTATION",$[$.MAXIMUM=4]="MAXIMUM",$[$.CUSTOM=5]="CUSTOM";const r1=[{code:333,name:"shadePlotId",parser:em},{code:346,name:"orthographicUcsId",parser:em},{code:345,name:"namedUcsId",parser:em},{code:331,name:"viewportId",parser:em},{code:330,name:"paperSpaceTableId",parser:em},{code:76,name:"orthographicType",parser:em},{code:17,name:"ucsYAxis",parser:eE},{code:16,name:"ucsXAxis",parser:eE},{code:13,name:"ucsOrigin",parser:eE},{code:146,name:"elevation",parser:em},{code:15,name:"maxExtent",parser:eE},{code:14,name:"minExtent",parser:eE},{code:12,name:"insertionBase",parser:eE},{code:11,name:"maxLimit",parser:eE},{code:10,name:"minLimit",parser:eE},{code:71,name:"tabOrder",parser:em},{code:70,name:"controlFlag",parser:em},{code:1,name:"layoutName",parser:em},{code:100,name:"subclassMarker",parser:em},...r0];(q=eo||(eo={}))[q.PSLTSCALE=1]="PSLTSCALE",q[q.LIMCHECK=2]="LIMCHECK";const r4=[{code:330,name:"ownerObjectId",parser:em},{code:102},{code:360,name:"ownerDictionaryIdHard",parser:em},{code:102},{code:102},{code:330,name:"ownerDictionaryIdSoft",parser:em},{code:102},{code:102},{code:102},{code:5,name:"handle",parser:em}],r2=[{code:3,name:"entries",parser:(e,r)=>{let a={name:e.value};return 350===(e=r.next()).code?a.objectId=e.value:r.rewind(),a},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:em},{code:280,name:"isHardOwned",parser:eh},{code:100,name:"subclassMarker",parser:em}];function r3(e){return"AcDbDictionary"===e.subclassMarker}(Q=es||(es={}))[Q.NOT_APPLICABLE=0]="NOT_APPLICABLE",Q[Q.KEEP_EXISTING=1]="KEEP_EXISTING",Q[Q.USE_CLONE=2]="USE_CLONE",Q[Q.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",Q[Q.VALUE_NAME=4]="VALUE_NAME",Q[Q.UNMANGLE_NAME=5]="UNMANGLE_NAME";const r7={LAYOUT:r1,PLOTSETTINGS:r0,DICTIONARY:r2};function r5(e,r){let a=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,n=r7[t];if(0===e.code&&n?.length){let o=eu([...r4,...n]),s={name:t};o(e=r.next(),r,s)?(a.push(s),e=r.peek()):e=r.next()}else e=r.next()}return{byName:rm(a,({name:e})=>e),byTree:function(e){let r=Object.fromEntries(e.map(e=>[e.handle,e]));for(let a of e)(!r3(a)||"0"!==a.ownerDictionaryIdSoft)&&(a.ownerDictionaryIdSoft&&(a.ownerDictionarySoft=r[a.ownerDictionaryIdSoft]),a.ownerDictionaryIdHard&&(a.ownerDictionaryHard=r[a.ownerDictionaryIdHard]),a.ownerObjectId&&(a.ownerObject=r[a.ownerObjectId])),function(e,r){r3(e)&&e.entries&&(e.entries=Object.fromEntries(e.entries.map(({name:e,objectId:a})=>[e,r[a]])))}(a,r);return e[0]}(a)}}const r6=[{code:100,name:"subclassMarker",parser:em},{code:330,name:"ownerObjectId",parser:em},{code:102,parser(e,r){for(;!ed(e,0,"EOF")&&!ed(e,102,"}");)e=r.next()}},{code:5,name:"handle",parser:em}],r9=eu([{code:310,name:"bmpPreview",parser:em},{code:281,name:"scalability",parser:em},{code:280,name:"explodability",parser:em},{code:70,name:"insertionUnits",parser:em},{code:340,name:"layoutObjects",parser:em},{code:2,name:"name",parser:em},{code:100,name:"subclassMarker",parser:em},...r6]),r8=eu([...[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:exports.DimensionTextVertical.Above,defaultValueImperial:exports.DimensionTextVertical.Center},{name:"DIMZIN",code:78,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMAZIN",code:79,defaultValue:exports.DimensionZeroSuppressionAngular.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMJUST",code:280,defaultValue:exports.DimensionTextHorizontal.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:exports.DimensionToleranceTextVertical.Center},{name:"DIMTZIN",code:284,defaultValue:exports.DimensionZeroSuppression.Trailing,defaultValueImperial:exports.DimensionZeroSuppression.Feet},{name:"DIMALTZ",code:285,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMALTTZ",code:286,defaultValue:exports.DimensionZeroSuppression.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}].map(e=>({...e,parser:em})),{code:70,name:"standardFlag",parser:em},{code:2,name:"name",parser:em},{code:100,name:"subclassMarker",parser:em},{code:105,name:"handle",parser:em},...r6.filter(e=>5!==e.code)]),ae=eu([{code:347,name:"materialObjectId",parser:em},{code:390,name:"plotStyleNameObjectId",parser:em},{code:370,name:"lineweight",parser:em},{code:290,name:"isPlotting",parser:eh},{code:6,name:"lineType",parser:em},{code:62,name:"colorIndex",parser:em},{code:70,name:"standardFlag",parser:em},{code:2,name:"name",parser:em},{code:100,name:"subclassMarker",parser:em},...r6]),ar=eu([{code:9,name:"text",parser:em},{code:45,name:"offsetY",parser:em},{code:44,name:"offsetX",parser:em},{code:50,name:"rotation",parser:em},{code:46,name:"scale",parser:em},{code:340,name:"styleObjectId",parser:em},{code:75,name:"shapeNumber",parser:em},{code:74,name:"elementTypeFlag",parser:em},{code:49,name:"elementLength",parser:em}],{elementTypeFlag:0,elementLength:0}),aa={BLOCK_RECORD:r9,DIMSTYLE:r8,LAYER:ae,LTYPE:eu([{code:49,name:"pattern",parser(e,r){let a={};return ar(e,r,a),a},isMultiple:!0},{code:40,name:"totalPatternLength",parser:em},{code:73,name:"numberOfLineTypes",parser:em},{code:72,parser:em},{code:3,name:"description",parser:em},{code:70,name:"standardFlag",parser:em},{code:2,name:"name",parser:em},{code:100,name:"subclassMarker",parser:em},...r6]),STYLE:eu([{code:1e3,name:"extendedFont",parser:em},{code:1001},{code:4,name:"bigFont",parser:em},{code:3,name:"font",parser:em},{code:42,name:"lastHeight",parser:em},{code:71,name:"textGenerationFlag",parser:em},{code:50,name:"obliqueAngle",parser:em},{code:41,name:"widthFactor",parser:em},{code:40,name:"fixedTextHeight",parser:em},{code:70,name:"standardFlag",parser:em},{code:2,name:"name",parser:em},{code:100,name:"subclassMarker",parser:em},...r6]),VPORT:eu([{code:[63,421,431],name:"ambientColor",parser:em},{code:142,name:"contrast",parser:em},{code:141,name:"brightness",parser:em},{code:282,name:"defaultLightingType",parser:em},{code:292,name:"isDefaultLightingOn",parser:eh},{code:348,name:"visualStyleObjectId",parser:em},{code:333,name:"shadePlotObjectId",parser:em},{code:332,name:"backgroundObjectId",parser:em},{code:61,name:"majorGridLines",parser:em},{code:170,name:"shadePlotSetting",parser:em},{code:146,name:"elevation",parser:em},{code:79,name:"orthographicType",parser:em},{code:112,name:"ucsYAxis",parser:eE},{code:111,name:"ucsXAxis",parser:eE},{code:110,name:"ucsOrigin",parser:eE},{code:74,name:"ucsIconSetting",parser:em},{code:71,name:"viewMode",parser:em},{code:281,name:"renderMode",parser:em},{code:1,name:"styleSheet",parser:em},{code:[331,441],name:"frozenLayers",parser:em,isMultiple:!0},{code:72,name:"circleSides",parser:em},{code:51,name:"viewTwistAngle",parser:em},{code:50,name:"snapRotationAngle",parser:em},{code:45,name:"viewHeight",parser:em},{code:44,name:"backClippingPlane",parser:em},{code:43,name:"frontClippingPlane",parser:em},{code:42,name:"lensLength",parser:em},{code:17,name:"viewTarget",parser:eE},{code:16,name:"viewDirectionFromTarget",parser:eE},{code:15,name:"gridSpacing",parser:eE},{code:14,name:"snapSpacing",parser:eE},{code:13,name:"snapBasePoint",parser:eE},{code:12,name:"center",parser:eE},{code:11,name:"upperRightCorner",parser:eE},{code:10,name:"lowerLeftCorner",parser:eE},{code:70,name:"standardFlag",parser:em},{code:2,name:"name",parser:em},{code:100,name:"subclassMarker",parser:em},...r6])},at=eu([{code:70,name:"maxNumberOfEntries",parser:em},{code:100,name:"subclassMarker",parser:em},{code:330,name:"ownerObjectId",parser:em},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:em},{code:2,name:"name",parser:em}]);function an(e,r){let a={};for(;!ed(e,0,"EOF")&&!ed(e,0,"ENDSEC");){if(ed(e,0,"TABLE")){e=r.next();let t={entries:[]};at(e,r,t),a[t.name]=t}if(ed(e,0)&&!ed(e,0,"ENDTAB")){let t=e.value;e=r.next();let n=aa[t];if(!n){console.warn(`parseTable: Invalid table name '${t}'`),e=r.next();continue}let o={};n(e,r,o),a[t]?.entries.push(o)}e=r.next()}return a}function ao(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class as{next(){if(!this.hasNext())return this._eof?console.warn("Cannot call 'next' after EOF group has been read"):console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),r=ai(e,this._data[this._pointer++]),a={code:e,value:r};return ed(a,0,"EOF")&&(this._eof=!0),this.lastReadGroup=a,a}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=ai(e.code,this._data[this._pointer+1]),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e){ao(this,"_pointer",void 0),ao(this,"_data",void 0),ao(this,"_eof",void 0),ao(this,"lastReadGroup",{code:0,value:0}),this._pointer=0,this._data=e,this._eof=!1}}function ai(e,r){return e<=9?r:e>=10&&e<=59?parseFloat(r.trim()):e>=60&&e<=99?parseInt(r.trim()):e>=100&&e<=109?r:e>=110&&e<=149?parseFloat(r.trim()):e>=160&&e<=179?parseInt(r.trim()):e>=210&&e<=239?parseFloat(r.trim()):e>=270&&e<=289?parseInt(r.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")}(r.trim()):e>=300&&e<=369?r:e>=370&&e<=389?parseInt(r.trim()):e>=390&&e<=399?r:e>=400&&e<=409?parseInt(r.trim()):e>=410&&e<=419?r:e>=420&&e<=429?parseInt(r.trim()):e>=430&&e<=439?r:e>=440&&e<=459?parseInt(r.trim()):e>=460&&e<=469?parseFloat(r.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?r:e>=1010&&e<=1059?parseFloat(r.trim()):e>=1060&&e<=1071?parseInt(r.trim()):(console.log("WARNING: Group code does not have a defined type: %j",{code:e,value:r}),r)}function ac(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class ad{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){ac(this,"point",{}),ac(this,"startCode",0),ac(this,"code",0),ac(this,"value",0),ac(this,"x",void 0),ac(this,"y",void 0),ac(this,"z",void 0)}}function al(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class ap{constructor(){al(this,"encoding","utf-8"),al(this,"encodingFailureFatal",!1)}}class au extends Error{constructor(e,r,a){let t=`[Line ${r}]: ${e}`;a?.cause&&(t+=`
2
+ Caused by ${a.cause.toString()}
3
+ ${a.cause.stack}`),super(t),al(this,"line",void 0),this.line=r}}class am extends EventTarget{Feed(e,r=!1){let a=this._decoder.decode(e??void 0,{stream:!r});this.FeedString(a,r)}FeedString(e,r=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");r&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),r&&this._Finalize()}_Finalize(){}async FeedFile(e,r){let a=e.byteLength;for(let t=0;t<a;t+=65536){r?.throwIfAborted();let n=Math.min(a-t,65536),o=await e.slice(t,t+n);this.Feed(o,t+n>=a)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,r=this._curChunk.length;for(;e<r;){let a=this._curChunk.indexOf("\r",e),t=0;if(a>=0?(t=a+1)<r&&"\n"==this._curChunk.charAt(t)&&t++:(a=this._curChunk.indexOf("\n",e))>=0&&(t=a+1),a<0)break;yield this._curChunk.substring(e,a),e=t}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let r=e.trim();this._curGroupCode=parseInt(r),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+r);return}let r=new aE(this._curGroupCode,e);if(!ed(r,0,"EOF")){switch(r.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}ed(r,0,"EOF")&&(this._eof=!0),this._curValue=r,this._curGroupCode=null}_Error(e,r=null){let a;throw r&&(a={cause:r}),new au(e,this._curLineNum,a)}constructor(e=new ap){super(),al(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),al(this,"_decoder",void 0),al(this,"_pointParser",void 0),al(this,"_finalChunkSeen",!1),al(this,"_curChunk",""),al(this,"_curGroupCode",null),al(this,"_curLineNum",1),al(this,"_eof",!1),al(this,"_curValue",{code:0,value:0}),al(this,"_curSection",""),al(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new ad}}class aE{constructor(e,r){al(this,"code",void 0),al(this,"value",void 0),this.code=e,this.value=ai(e,r)}}function ah(e){return"INSERT"===e.type||"DIMENSION"===e.type&&!!e.name}function aI(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}class af{constructor(){aI(this,"encoding","utf-8"),aI(this,"encodingFailureFatal",!1)}}class aT extends EventTarget{parseSync(e){let r=new as(e.split(/\r\n|\r|\n/g));if(!r.hasNext())throw Error("Empty file");return this.parseAll(r)}parseStream(e){let r="",a=this;return new Promise((t,n)=>{e.on("data",e=>{r+=e}),e.on("end",()=>{try{let e=r.split(/\r\n|\r|\n/g),n=new as(e);if(!n.hasNext())throw Error("Empty file");t(a.parseAll(n))}catch(e){n(e)}}),e.on("error",e=>{n(e)})})}async parseFromUrl(e,r){let a=await fetch(e,r);if(!a.body)return null;let t=a.body.getReader(),n="";for(;;){let{done:e,value:r}=await t.read();if(e){n+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}n+=this._decoder.decode(r,{stream:!0})}return this.parseSync(n)}parseAll(e){let r={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},a=e.next();for(;!ed(a,0,"EOF");)ed(a,0,"SECTION")&&(ed(a=e.next(),2,"HEADER")?(a=e.next(),r.header=rQ(a,e)):ed(a,2,"BLOCKS")?(a=e.next(),r.blocks=r$(a,e)):ed(a,2,"ENTITIES")?(a=e.next(),r.entities=rJ(a,e)):ed(a,2,"TABLES")?(a=e.next(),r.tables=an(a,e)):ed(a,2,"OBJECTS")&&(a=e.next(),r.objects=r5(a,e))),a=e.next();return function(e){let r=Object.entries(e.blocks),a={};for(let[e,t]of ei.filter(([e,r])=>r.entities?.some(ah),r))for(let r of t.entities??[])ah(r)&&(a[e]??(a[e]=[]),a[e].push(r.name));let t=ei.filter(ah,e.entities),n=ru({seeds:[...ei.map(({name:e})=>e,t)],serializer:e=>e,spanner:e=>a[e]??[]}).flat();return{...e,blocks:Object.fromEntries(n.map(r=>[r,e.blocks[r]]))}}(r)}constructor(e=new af){super(),aI(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}exports.ArcEntityParser=eA,exports.AttDefEntityParser=eR,exports.CircleEntityParser=eB,exports.CommonEntitySnippets=eO,exports.DefaultDxfHeaderVariables=ec,exports.DefaultTextEntity=e_,exports.DxfParsingError=au,exports.DxfStreamParser=am,exports.DxfStreamParserOptions=ap,exports.EllipseEntityParser=eY,exports.HatchEntityParser=e3,exports.INDEXED_CHUNK_SIZE=65536,exports.InsertEntityParser=e9,exports.LWPolylineParser=rp,exports.LeaderEntityParser=ra,exports.LineEntityParser=rs,exports.MTextEntityParser=rx,exports.MTextEntityParserSnippets=rT,exports.PointEntityParser=rg,exports.PolylineParser=rv,exports.SPLINE_SUBDIVISION=4,exports.SectionEntityParser=rR,exports.SolidEntityParser=rB,exports.SplineEntityParser=rW,exports.TESSELLATION_ANGLE=Math.PI/24,exports.TextEntityParser=ev,exports.TextEntityParserSnippets=eP,exports.UndeterminedBlockColor=-1,exports.VertexParser=rA,exports.classify=rm,exports.default=aT,exports.ensureHandle=eb,exports.ensurePoint3D=rh,exports.flooding=ru,exports.generateIntegers=rE,exports.isMatched=ed,exports.parseBlock=rq,exports.parseBlocks=r$,exports.parseEntities=rJ,exports.parseHeader=rQ,exports.parseObjects=r5,exports.parseTables=an,exports.skipApplicationGroups=eg;
@@ -0,0 +1,3 @@
1
+ import{filter as e,map as a}from"@fxts/core";(H=eE||(eE={}))[H.None=0]="None",H[H.Anonymous=1]="Anonymous",H[H.NonConstant=2]="NonConstant",H[H.Xref=4]="Xref",H[H.XrefOverlay=8]="XrefOverlay",H[H.ExternallyDependent=16]="ExternallyDependent",H[H.ResolvedOrDependent=32]="ResolvedOrDependent",H[H.ReferencedXref=64]="ReferencedXref",(G=eI||(eI={}))[G.BYBLOCK=0]="BYBLOCK",G[G.BYLAYER=256]="BYLAYER";let r=-1,t=4,n=Math.PI/24;(U=eh||(eh={}))[U.Rotated=0]="Rotated",U[U.Aligned=1]="Aligned",U[U.Angular=2]="Angular",U[U.Diameter=3]="Diameter",U[U.Radius=4]="Radius",U[U.Angular3Point=5]="Angular3Point",U[U.Ordinate=6]="Ordinate",U[U.ReferenceIsExclusive=32]="ReferenceIsExclusive",U[U.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",U[U.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag",(Y=ef||(ef={}))[Y.TopLeft=1]="TopLeft",Y[Y.TopCenter=2]="TopCenter",Y[Y.TopRight=3]="TopRight",Y[Y.MiddleLeft=4]="MiddleLeft",Y[Y.MiddleCenter=5]="MiddleCenter",Y[Y.MiddleRight=6]="MiddleRight",Y[Y.BottomLeft=7]="BottomLeft",Y[Y.BottomCenter=8]="BottomCenter",Y[Y.BottomRight=9]="BottomRight",(W=eb||(eb={}))[W.AtLeast=1]="AtLeast",W[W.Exact=2]="Exact",(j=eT||(eT={}))[j.Center=0]="Center",j[j.Above=1]="Above",j[j.Outside=2]="Outside",j[j.JIS=3]="JIS",j[j.Below=4]="Below",(X=eD||(eD={}))[X.Feet=0]="Feet",X[X.None=1]="None",X[X.Inch=2]="Inch",X[X.FeetAndInch=3]="FeetAndInch",X[X.Leading=4]="Leading",X[X.Trailing=8]="Trailing",X[X.LeadingAndTrailing=12]="LeadingAndTrailing",(z=eO||(eO={}))[z.None=0]="None",z[z.Leading=1]="Leading",z[z.Trailing=2]="Trailing",z[z.LeadingAndTrailing=3]="LeadingAndTrailing",(K=eS||(eS={}))[K.Center=0]="Center",K[K.Left=1]="Left",K[K.Right=2]="Right",K[K.OverFirst=3]="OverFirst",K[K.OverSecond=4]="OverSecond",(Z=eN||(eN={}))[Z.Bottom=0]="Bottom",Z[Z.Center=1]="Center",Z[Z.Top=2]="Top",(J=eg||(eg={}))[J.PatternFill=0]="PatternFill",J[J.SolidFill=1]="SolidFill",($=e_||(e_={}))[$.NonAssociative=0]="NonAssociative",$[$.Associative=1]="Associative",(q=eL||(eL={}))[q.Normal=0]="Normal",q[q.Outer=1]="Outer",q[q.Ignore=2]="Ignore",(Q=eA||(eA={}))[Q.UserDefined=0]="UserDefined",Q[Q.Predefined=1]="Predefined",Q[Q.Custom=2]="Custom",(ee=ey||(ey={}))[ee.NotAnnotated=0]="NotAnnotated",ee[ee.Annotated=1]="Annotated",(ea=eP||(eP={}))[ea.Solid=0]="Solid",ea[ea.Gradient=1]="Gradient",(er=eC||(eC={}))[er.TwoColor=0]="TwoColor",er[er.OneColor=1]="OneColor",(et=eM||(eM={}))[et.Default=0]="Default",et[et.External=1]="External",et[et.Polyline=2]="Polyline",et[et.Derived=4]="Derived",et[et.Textbox=8]="Textbox",et[et.Outermost=16]="Outermost",(en=ev||(ev={}))[en.Line=1]="Line",en[en.Circular=2]="Circular",en[en.Elliptic=3]="Elliptic",en[en.Spline=4]="Spline",(eo=eR||(eR={}))[eo.Off=0]="Off",eo[eo.Solid=1]="Solid",eo[eo.Dashed=2]="Dashed",eo[eo.Dotted=3]="Dotted",eo[eo.ShotDash=4]="ShotDash",eo[eo.MediumDash=5]="MediumDash",eo[eo.LongDash=6]="LongDash",eo[eo.DoubleShortDash=7]="DoubleShortDash",eo[eo.DoubleMediumDash=8]="DoubleMediumDash",eo[eo.DoubleLongDash=9]="DoubleLongDash",eo[eo.DoubleMediumLongDash=10]="DoubleMediumLongDash",eo[eo.SparseDot=11]="SparseDot";let o={DRAGVS:"NULL",INTERFERECOLOR:1,INTERFEREOBJVS:"Conceptual",INTERFEREVPVS:"3d Wireframe",OBSLTYPE:eR.Off,SHADEDIF:70};(es=ek||(ek={}))[es.Standard=-3]="Standard",es[es.ByLayer=-2]="ByLayer",es[es.ByBlock=-1]="ByBlock",(ei=ex||(ex={}))[ei.English=0]="English",ei[ei.Metric=1]="Metric";let s=65536;function i(e,a,r){return e.code===a&&(null==r||e.value===r)}function c(e){let a={};e.rewind();let r=e.next(),t=r.code;if(a.x=r.value,(r=e.next()).code!==t+10)throw Error("Expected code for point value to be 20 but got "+r.code+".");return(a.y=r.value,(r=e.next()).code!==t+20)?e.rewind():a.z=r.value,a}(ec=eF||(eF={}))[ec.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",ec[ec.FRONT_CLIPPING=2]="FRONT_CLIPPING",ec[ec.BACK_CLIPPING=4]="BACK_CLIPPING",ec[ec.UCS_FOLLOW=8]="UCS_FOLLOW",ec[ec.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",ec[ec.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",ec[ec.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",ec[ec.FAST_ZOOM=128]="FAST_ZOOM",ec[ec.SNAP_MODE=256]="SNAP_MODE",ec[ec.GRID_MODE=512]="GRID_MODE",ec[ec.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",ec[ec.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",ec[ec.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",ec[ec.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",ec[ec.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",ec[ec.UNUSED=32768]="UNUSED",ec[ec.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",ec[ec.VIEWPORT_OFF=131072]="VIEWPORT_OFF",ec[ec.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",ec[ec.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",ec[ec.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",ec[ec.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE",(el=ew||(ew={}))[el.OPTIMIZED_2D=0]="OPTIMIZED_2D",el[el.WIREFRAME=1]="WIREFRAME",el[el.HIDDEN_LINE=2]="HIDDEN_LINE",el[el.FLAT_SHADED=3]="FLAT_SHADED",el[el.GOURAUD_SHADED=4]="GOURAUD_SHADED",el[el.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",el[el.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",(ed=eV||(eV={}))[ed.UCS_UNCHANGED=0]="UCS_UNCHANGED",ed[ed.HAS_OWN_UCS=1]="HAS_OWN_UCS",(eu=eB||(eB={}))[eu.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",eu[eu.TOP=1]="TOP",eu[eu.BOTTOM=2]="BOTTOM",eu[eu.FRONT=3]="FRONT",eu[eu.BACK=4]="BACK",eu[eu.LEFT=5]="LEFT",eu[eu.RIGHT=6]="RIGHT",(ep=eH||(eH={}))[ep.AS_DISPLAYED=0]="AS_DISPLAYED",ep[ep.WIREFRAME=1]="WIREFRAME",ep[ep.HIDDEN=2]="HIDDEN",ep[ep.RENDERED=3]="RENDERED",(em=eG||(eG={}))[em.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",em[em.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS";let l=Symbol();function d(e,a){return(r,t,n)=>{let o=e.reduce((e,a)=>{a.pushContext&&e.push({});let r=e[e.length-1];for(let e of"number"==typeof a.code?[a.code]:a.code){let t=r[e]??(r[e]=[]);a.isMultiple&&t.length&&console.warn(`Snippet ${t.at(-1).name} for code(${e}) is shadowed by ${a.name}`),t.push(a)}return e},[{}]),s=!1,c=o.length-1;for(;!i(r,0,"EOF");){let e=function(e,a,r){return e.find((e,t)=>t>=r&&e[a]?.length)}(o,r.code,c),a=e?.[r.code].at(-1);if(!e||!a){t.rewind();break}a.isMultiple||e[r.code].pop();let{name:i,parser:d,isMultiple:u}=a,p=d?.(r,t,n);if(p===l){t.rewind();break}if(i){let[e,a]=function(e,a){let r=a.split("."),t=e;for(let e=0;e<r.length-1;++e){let a=r[e];Object.hasOwn(t,a)||(t[a]={}),t=t[a]}return[t,r.at(-1)]}(n,i);u?(Object.hasOwn(e,a)||(e[a]=[]),e[a].push(p)):e[a]=p}a.pushContext&&(c-=1),s=!0,r=t.next()}return a&&Object.setPrototypeOf(n,a),s}}function u({value:e}){return e}function p(e,a){return c(a)}function m({value:e}){return!!e}var E,I,h,f,b,T,D,O,S,N,g,_,L,A,y,P,C,M,v,R,k,x,F,w,V,B,H,G,U,Y,W,j,X,z,K,Z,J,$,q,Q,ee,ea,er,et,en,eo,es,ei,ec,el,ed,eu,ep,em,eE,eI,eh,ef,eb,eT,eD,eO,eS,eN,eg,e_,eL,eA,ey,eP,eC,eM,ev,eR,ek,ex,eF,ew,eV,eB,eH,eG,eU,eY,eW,ej,eX,ez,eK,eZ,eJ,e$,eq,eQ,e0,e1,e4,e2,e3,e7,e5,e6,e9=[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];function e8(e,a){if(!i(e,1001))throw Error("XData must starts with code 1001");let r={appName:e.value,value:[]};e=a.next();let t=[r.value];for(;!i(e,0,"EOF")&&e.code>=1e3;){let r=t.at(-1);switch(e.code){case 1002:"{"===e.value?t.push([]):(t.pop(),t.at(-1)?.push(r));break;case 1e3:case 1004:case 1040:case 1070:case 1071:r.push({type:ae(e.code),value:e.value});break;case 1003:r.push({name:"layer",type:ae(e.code),value:e.value});break;case 1005:r.push({name:"handle",type:ae(e.code),value:e.value});break;case 1010:r.push({type:ae(e.code),value:c(a)});break;case 1011:r.push({name:"worldSpacePosition",type:ae(e.code),value:c(a)});break;case 1012:r.push({name:"worldSpaceDisplacement",type:ae(e.code),value:c(a)});break;case 1013:r.push({name:"worldSpaceDirection",type:ae(e.code),value:c(a)});break;case 1041:r.push({name:"distance",type:ae(e.code),value:e.value});break;case 1042:r.push({name:"scale",type:ae(e.code),value:e.value})}e=a.next()}return a.rewind(),r}function ae(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function aa(e,a,r){if(i(a,102))return ao(a,r),!0;switch(a.code){case 0:e.type=a.value;break;case 5:e.handle=a.value;break;case 330:e.ownerDictionarySoftId?e.ownerBlockRecordSoftId=a.value:e.ownerDictionarySoftId=a.value;break;case 360:e.ownerdictionaryHardId=a.value;break;case 67:e.isInPaperSpace=!!a.value;break;case 8:e.layer=a.value;break;case 6:e.lineType=a.value;break;case 347:e.materialObjectHardId=a.value;break;case 62:e.colorIndex=a.value,e.color=e9[Math.abs(a.value)];break;case 370:e.lineweight=a.value;break;case 48:e.lineTypeScale=a.value;break;case 60:e.isVisible=!!a.value;break;case 92:e.proxyByte=a.value;break;case 310:e.proxyEntity=a.value;break;case 100:break;case 420:e.color=a.value;break;case 430:e.transparency=a.value;break;case 390:e.plotStyleHardId=a.value;break;case 284:e.shadowMode=a.value;break;case 1001:e.xdata=e8(a,r);break;default:return!1}return!0}let ar=0;function at(e){if(!e)throw TypeError("entity cannot be undefined or null");e.handle||(e.handle=ar++)}(E=eU||(eU={}))[E.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",E[E.CAST=1]="CAST",E[E.RECEIVE=2]="RECEIVE",E[E.IGNORE=3]="IGNORE";let an=[{code:1001,name:"xdata",parser:e8},{code:284,name:"shadowMode",parser:u},{code:390,name:"plotStyleHardId",parser:u},{code:440,name:"transparency",parser:u},{code:430,name:"colorName",parser:u},{code:420,name:"color",parser:u},{code:310,name:"proxyEntity",parser:u},{code:92,name:"proxyByte",parser:u},{code:60,name:"isVisible",parser:m},{code:48,name:"lineTypeScale",parser:u},{code:370,name:"lineweight",parser:u},{code:62,name:"colorIndex",parser(e,a,r){let t=e.value;return r.color=e9[Math.abs(t)],t}},{code:347,name:"materialObjectHardId",parser:u},{code:6,name:"lineType",parser:u},{code:8,name:"layer",parser:u},{code:410,name:"layoutTabName",parser:u},{code:67,name:"isInPaperSpace",parser:m},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:u},{code:102,parser:ao},{code:102,parser:ao},{code:102,parser:ao},{code:5,name:"handle",parser:u}];function ao(e,a){for(e=a.next();!i(e,102)&&!i(e,0,"EOF");)e=a.next()}function as(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}let ai={extrusionDirection:{x:0,y:0,z:1}},ac=[{code:210,name:"extrusionDirection",parser:p},{code:51,name:"endAngle",parser:u},{code:50,name:"startAngle",parser:u},{code:100,name:"subclassMarker",parser:u},{code:40,name:"radius",parser:u},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:u},{code:100},...an];class al{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){as(this,"parser",d(ac,ai))}}function ad(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}as(al,"ForEntityName","ARC"),(I=eY||(eY={}))[I.NONE=0]="NONE",I[I.INVISIBLE=1]="INVISIBLE",I[I.CONSTANT=2]="CONSTANT",I[I.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",I[I.PRESET=8]="PRESET",(h=eW||(eW={}))[h.MULTILINE=2]="MULTILINE",h[h.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE",(f=ej||(ej={}))[f.NONE=0]="NONE",f[f.MIRRORED_X=2]="MIRRORED_X",f[f.MIRRORED_Y=4]="MIRRORED_Y",(b=eX||(eX={}))[b.LEFT=0]="LEFT",b[b.CENTER=1]="CENTER",b[b.RIGHT=2]="RIGHT",b[b.ALIGNED=3]="ALIGNED",b[b.MIDDLE=4]="MIDDLE",b[b.FIT=5]="FIT",(T=ez||(ez={}))[T.BASELINE=0]="BASELINE",T[T.BOTTOM=1]="BOTTOM",T[T.MIDDLE=2]="MIDDLE",T[T.TOP=3]="TOP";let au={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:eX.LEFT,valign:ez.BASELINE,extrusionDirection:{x:0,y:0,z:1}},ap=[{code:73,name:"valign",parser:u},{code:100},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:72,name:"valign",parser:u},{code:72,name:"halign",parser:u},{code:71,name:"generationFlag",parser:u},{code:7,name:"styleName",parser:u},{code:51,name:"obliqueAngle",parser:u},{code:41,name:"xScale",parser:u},{code:50,name:"rotation",parser:u},{code:1,name:"text",parser:u},{code:40,name:"textHeight",parser:u},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:u},{code:100,name:"subclassMarker",parser:u},...an];class am{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){ad(this,"parser",d(ap,au))}}function aE(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}ad(am,"ForEntityName","TEXT");let aI={...au},ah=[{code:2},{code:40,name:"annotationScale",parser:u},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:u},{code:70,name:"numberOfSecondaryAttributes",parser:u},{code:70,name:"isReallyLocked",parser:m},{code:70,name:"mtextFlag",parser:u},{code:280,name:"isDuplicatedRecord",parser:m},{code:100},{code:280,name:"isLocked",parser:m},{code:74,name:"valign",parser:u},{code:73},{code:70,name:"attributeFlag",parser:u},{code:2,name:"tag",parser:u},{code:3,name:"prompt",parser:u},{code:280},{code:100,name:"subclassMarker",parser:u},...ap.slice(2)];class af{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aE(this,"parser",d(ah,aI))}}function ab(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}aE(af,"ForEntityName","ATTDEF");let aT={thickness:0,extrusionDirection:{x:0,y:0,z:1}},aD=[{code:210,name:"extrusionDirection",parser:p},{code:40,name:"radius",parser:u},{code:10,name:"center",parser:p},{code:39,name:"thickness",parser:u},{code:100,name:"subclassMarker",parser:u},...an];class aO{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){ab(this,"parser",d(aD,aT))}}ab(aO,"ForEntityName","CIRCLE");class aS{parseEntity(e,a){let r={};for(;!i(a,0,"EOF");){if(0===a.code){e.rewind();break}!function(e,a,r){switch(a.code){case 100:e.subclassMarker=a.value;break;case 280:e.version=a.value;break;case 2:e.name=a.value;break;case 10:e.definitionPoint=c(r);break;case 11:e.textPoint=c(r);break;case 12:e.insertionPoint=c(r);break;case 13:e.subDefinitionPoint1=c(r);break;case 14:e.subDefinitionPoint2=c(r);break;case 15:e.centerPoint=c(r);break;case 16:e.arcPoint=c(r);break;case 70:e.dimensionType=a.value;break;case 71:e.attachmentPoint=a.value;break;case 72:e.textLineSpacingStyle=a.value;break;case 40:e.leaderLength=a.value;break;case 41:e.textLineSpacingFactor=a.value;break;case 42:e.measurement=a.value;break;case 1:e.text=a.value;break;case 50:e.rotationAngle=a.value;break;case 52:e.obliqueAngle=a.value;break;case 53:e.textRotation=a.value;break;case 51:e.ocsRotation=a.value;break;case 210:e.extrusionDirection=c(r);break;case 3:e.styleName=a.value;break;default:aa(e,a,r)}}(r,a,e),a=e.next()}return r}}function aN(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}O="DIMENSION",(D="ForEntityName")in aS?Object.defineProperty(aS,D,{value:O,enumerable:!0,configurable:!0,writable:!0}):aS[D]=O;let ag={extrusionDirection:{x:0,y:0,z:1}},a_=[{code:42,name:"endAngle",parser:u},{code:41,name:"startAngle",parser:u},{code:40,name:"axisRatio",parser:u},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"majorAxisEndPoint",parser:p},{code:10,name:"center",parser:p},{code:100,name:"subclassMarker",parser:u},...an];class aL{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aN(this,"parser",d(a_,ag))}}aN(aL,"ForEntityName","ELLIPSE");let aA=[{code:330,name:"sourceBoundaryObjects",parser:u,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:u}],ay=[{code:11,name:"end",parser:p},{code:10,name:"start",parser:p}],aP=[{code:73,name:"isCCW",parser:m},{code:51,name:"endAngle",parser:u},{code:50,name:"startAngle",parser:u},{code:40,name:"radius",parser:u},{code:10,name:"center",parser:p}],aC=[{code:73,name:"isCCW",parser:m},{code:51,name:"endAngle",parser:u},{code:50,name:"startAngle",parser:u},{code:40,name:"lengthOfMinorAxis",parser:u},{code:11,name:"end",parser:p},{code:10,name:"center",parser:p}],aM=[{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:11,name:"fitDatum",isMultiple:!0,parser:p},{code:97,name:"numberOfFitData",parser:u},{code:10,name:"controlPoints",isMultiple:!0,parser(e,a){let r={...c(a),weight:1};return 42===(e=a.next()).code?r.weight=e.value:a.rewind(),r}},{code:40,name:"knots",isMultiple:!0,parser:u},{code:96,name:"numberOfControlPoints",parser:u},{code:95,name:"numberOfKnots",parser:u},{code:74,name:"isPeriodic",parser:m},{code:73,name:"splineFlag",parser:u},{code:94,name:"degree",parser:u}],av={[ev.Line]:ay,[ev.Circular]:aP,[ev.Elliptic]:aC,[ev.Spline]:aM},aR=[...aA,{code:72,name:"edges",parser(e,a){let r={type:e.value},t=d(av[r.type]);if(!t)throw Error(`Invalid edge type ${r.type}`);return t(e=a.next(),a,r),r},isMultiple:!0},{code:93,name:"numberOfEdges",parser:u}],ak=[...aA,{code:10,name:"vertices",parser(e,a){let r={...c(a),bulge:0};return 42===(e=a.next()).code?r.bulge=e.value:a.rewind(),r},isMultiple:!0},{code:93,name:"numberOfVertices",parser:u},{code:73,name:"isClosed",parser:m},{code:72,name:"hasBulge",parser:m}],ax=[{code:49,name:"dashLengths",parser:u,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:u},{code:45,name:"offset",parser:aF},{code:43,name:"base",parser:aF},{code:53,name:"angle",parser:u}];function aF(e,a){let r=e.code+1,t={x:e.value,y:1};return(e=a.next()).code===r?t.y=e.value:a.rewind(),t}function aw(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}let aV={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},aB=[{code:470},{code:463},{code:462,name:"colorTint",parser:u},{code:461,name:"gradientDefinition",parser:u},{code:460,name:"gradientRotation",parser:u},{code:453,name:"numberOfColors",parser:u},{code:452,name:"gradientColorFlag",parser:u},{code:451},{code:450,name:"gradientFlag",parser:u},{code:10,name:"seedPoints",parser:p,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:p},{code:98,name:"numberOfSeedPoints",parser:u},{code:47,name:"pixelSize",parser:u},{code:53,name:"definitionLines",parser:function(e,a){let r={};return d(ax)(e,a,r),r},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:u},{code:77,name:"isDouble",parser:m},{code:73,name:"isAnnotated",parser:m},{code:41,name:"patternScale",parser:u},{code:52,name:"patternAngle",parser:u},{code:76,name:"patternType",parser:u},{code:75,name:"hatchStyle",parser:u},{code:92,name:"boundaryPaths",parser:function(e,a){let r={boundaryPathTypeFlag:e.value},t=r.boundaryPathTypeFlag&eM.Polyline;return(e=a.next(),t)?d(ak)(e,a,r):d(aR)(e,a,r),r},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:u},{code:71,name:"associativity",parser:u},{code:63,name:"patternFillColor",parser:u},{code:70,name:"solidFill",parser:u},{code:2,name:"patternName",parser:u},{code:210,name:"extrusionDirection",parser:p},{code:10,name:"elevationPoint",parser:p},{code:100,name:"subclassMarker",parser:u,pushContext:!0},...an];class aH{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aw(this,"parser",d(aB,aV))}}function aG(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}aw(aH,"ForEntityName","HATCH");let aU={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},aY=[{code:210,name:"extrusionDirection",parser:p},{code:45,name:"rowSpacing",parser:u},{code:44,name:"columnSpacing",parser:u},{code:71,name:"rowCount",parser:u},{code:70,name:"columnCount",parser:u},{code:50,name:"rotation",parser:u},{code:43,name:"zScale",parser:u},{code:42,name:"yScale",parser:u},{code:41,name:"xScale",parser:u},{code:10,name:"insertionPoint",parser:p},{code:2,name:"name",parser:u},{code:66,name:"isVariableAttributes",parser:m},{code:100,name:"subclassMarker",parser:u},...an];class aW{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aG(this,"parser",d(aY,aU))}}function aj(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}aG(aW,"ForEntityName","INSERT");let aX={isArrowheadEnabled:!0},az=[{code:213,name:"offsetFromAnnotation",parser:p},{code:212,name:"offsetFromBlock",parser:p},{code:211,name:"horizontalDirection",parser:p},{code:210,name:"normal",parser:p},{code:340,name:"associatedAnnotation",parser:u},{code:77,name:"byBlockColor",parser:u},{code:10,name:"vertices",parser:p,isMultiple:!0},{code:76,name:"numberOfVertices",parser:u},{code:41,name:"textWidth",parser:u},{code:40,name:"textHeight",parser:u},{code:75,name:"isHooklineExists",parser:m},{code:74,name:"isHooklineSameDirection",parser:m},{code:73,name:"leaderCreationFlag",parser:u},{code:72,name:"isSpline",parser:m},{code:71,name:"isArrowheadEnabled",parser:m},{code:3,name:"styleName",parser:u},{code:100,name:"subclassMarker",parser:u},...an];class aK{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aj(this,"parser",d(az,aX))}}function aZ(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}aj(aK,"ForEntityName","LEADER"),(S=eK||(eK={}))[S.TextAnnotation=0]="TextAnnotation",S[S.ToleranceAnnotation=1]="ToleranceAnnotation",S[S.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",S[S.NoAnnotation=3]="NoAnnotation";let aJ={thickness:0,extrusionDirection:{x:0,y:0,z:1}},a$=[{code:210,name:"extrusionDirection",parser:p},{code:11,name:"endPoint",parser:p},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:u},{code:100,name:"subclassMarker",parser:u},...an];class aq{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){aZ(this,"parser",d(a$,aJ))}}aZ(aq,"ForEntityName","LINE"),(N=eZ||(eZ={}))[N.IS_CLOSED=1]="IS_CLOSED",N[N.PLINE_GEN=128]="PLINE_GEN";let aQ={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},a0={bulge:0},a1=[{code:42,name:"bulge",parser:u},{code:41,name:"endWidth",parser:u},{code:40,name:"startWidth",parser:u},{code:91,name:"id",parser:u},{code:20,name:"y",parser:u},{code:10,name:"x",parser:u}],a4=[{code:210,name:"extrusionDirection",parser:p},{code:10,name:"vertices",isMultiple:!0,parser(e,a){let r={};return d(a1,a0)(e,a,r),r}},{code:39,name:"thickness",parser:u},{code:38,name:"elevation",parser:u},{code:43,name:"constantWidth",parser:u},{code:70,name:"flag",parser:u},{code:90,name:"numberOfVertices",parser:u},{code:100,name:"subclassMarker",parser:u},...an];class a2{parseEntity(e,a){let r={};return d(a4,aQ)(a,e,r),r}}function a3({seeds:e,spanner:a,serializer:r,iterationLimit:t=1/0}){let n=new Set,o=0;return e.map(e=>{let s=[],i=[[e,r(e)]];for(;i.length&&o++<t;){let[e,t]=i.pop();if(!n.has(t))for(let o of(n.add(t),s.push(e),a(e)))i.push([o,r(o)])}return s}).filter(e=>e.length)}function a7(e,a){let r={};for(let t of e){let e=a(t);null!=e&&(r[e]??(r[e]=[]),r[e].push(t))}return r}function*a5(e,a=1/0,r=1){for(let t=e;t!==a;t+=r)yield t}function a6(e){return{x:e.x??0,y:e.y??0,z:e.z??0}}function a9(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}_="LWPOLYLINE",(g="ForEntityName")in a2?Object.defineProperty(a2,g,{value:_,enumerable:!0,configurable:!0,writable:!0}):a2[g]=_,(L=eJ||(eJ={}))[L.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",L[L.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",L[L.BY_STYLE=5]="BY_STYLE";let a8={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},re=[{code:46,name:"annotationHeight",parser:u},{code:101,parser(e,a){!function(e){e.rewind();let a=e.next();if(101!==a.code)throw Error("Bad call for skipEmbeddedObject()");do a=e.next();while(0!==a.code);e.rewind()}(a)}},{code:50,name:"columnHeight",parser:u},{code:49,name:"columnGutter",parser:u},{code:48,name:"columnWidth",parser:u},{code:79,name:"columnAutoHeight",parser:u},{code:78,name:"columnFlowReversed",parser:u},{code:76,name:"columnCount",parser:u},{code:75,name:"columnType",parser:u},{code:441,name:"backgroundFillTransparency",parser:u},{code:63,name:"backgroundFillColor",parser:u},{code:45,name:"fillBoxScale",parser:u},{code:[...a5(430,440)],name:"backgroundColor",parser:u},{code:[...a5(420,430)],name:"backgroundColor",parser:u},{code:90,name:"backgroundFill",parser:u},{code:44,name:"lineSpacing",parser:u},{code:73,name:"lineSpacingStyle",parser:u},{code:50,name:"rotation",parser:u},{code:43},{code:42},{code:11,name:"direction",parser:p},{code:210,name:"extrusionDirection",parser:p},{code:7,name:"styleName",parser:u},{code:3,name:"text",parser:(e,a,r)=>(r.text??"")+e.value},{code:1,name:"text",parser:u},{code:72,name:"drawingDirection",parser:u},{code:71,name:"attachmentPoint",parser:u},{code:41,name:"width",parser:u},{code:40,name:"height",parser:u},{code:10,name:"insertionPoint",parser:p},{code:100,name:"subclassMarker",parser:u},...an];class ra{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){a9(this,"parser",d(re,a8))}}function rr(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}a9(ra,"ForEntityName","MTEXT");let rt={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},rn=[{code:50,name:"angle",parser:u},{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:u},{code:10,name:"position",parser:p},{code:100,name:"subclassMarker",parser:u},...an];class ro{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rr(this,"parser",d(rn,rt))}}function rs(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rr(ro,"ForEntityName","POINT"),(A=e$||(e$={}))[A.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",A[A.CURVE_FIT=2]="CURVE_FIT",A[A.SPLINE_FIT=4]="SPLINE_FIT",A[A.POLYLINE_3D=8]="POLYLINE_3D",A[A.POLYGON_3D=16]="POLYGON_3D",A[A.CLOSED_POLYGON=32]="CLOSED_POLYGON",A[A.POLYFACE=64]="POLYFACE",A[A.CONTINUOUS=128]="CONTINUOUS",(y=eq||(eq={}))[y.NONE=0]="NONE",y[y.QUADRATIC=5]="QUADRATIC",y[y.CUBIC=6]="CUBIC",y[y.BEZIER=8]="BEZIER",(P=eQ||(eQ={}))[P.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",P[P.TANGENT_DEFINED=2]="TANGENT_DEFINED",P[P.NOT_USED=4]="NOT_USED",P[P.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",P[P.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",P[P.FOR_POLYLINE=32]="FOR_POLYLINE",P[P.FOR_POLYGON=64]="FOR_POLYGON",P[P.POLYFACE=128]="POLYFACE";let ri={startWidth:0,endWidth:0,bulge:0},rc=[{code:91,name:"id",parser:u},{code:[...a5(71,75)],name:"faces",isMultiple:!0,parser:u},{code:50,name:"tangentDirection",parser:u},{code:70,name:"flag",parser:u},{code:42,name:"bulge",parser:u},{code:41,name:"endWidth",parser:u},{code:40,name:"startWidth",parser:u},{code:30,name:"z",parser:u},{code:20,name:"y",parser:u},{code:10,name:"x",parser:u},{code:100,name:"subclassMarker",parser:u},{code:100},...an];class rl{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rs(this,"parser",d(rc,ri))}}function rd(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rs(rl,"ForEntityName","VERTEX");let ru={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},rp=[{code:0,name:"vertices",isMultiple:!0,parser:(e,a)=>i(e,0,"VERTEX")?(e=a.next(),new rl().parseEntity(a,e)):l},{code:210,name:"extrusionDirection",parser:p},{code:75,name:"smoothType",parser:u},{code:74,name:"surfaceNDensity",parser:u},{code:73,name:"surfaceMDensity",parser:u},{code:72,name:"meshNVertexCount",parser:u},{code:71,name:"meshMVertexCount",parser:u},{code:41,name:"endWidth",parser:u},{code:40,name:"startWidth",parser:u},{code:70,name:"flag",parser:u},{code:39,name:"thickness",parser:u},{code:30,name:"elevation",parser:u},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:u},...an];class rm{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rd(this,"parser",d(rp,ru))}}function rE(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rd(rm,"ForEntityName","POLYLINE");let rI={vertices:[],backLineVertices:[]},rh=[{code:360,name:"geometrySettingHardId",parser:u},{code:12,name:"backLineVertices",isMultiple:!0,parser:p},{code:93,name:"numberOfBackLineVertices",parser:u},{code:11,name:"vertices",isMultiple:!0,parser:p},{code:92,name:"verticesCount",parser:u},{code:[63,411],name:"indicatorColor",parser:u},{code:70,name:"indicatorTransparency",parser:u},{code:41,name:"bottomHeight",parser:u},{code:40,name:"topHeight",parser:u},{code:10,name:"verticalDirection",parser:p},{code:1,name:"name",parser:u},{code:91,name:"flag",parser:u},{code:90,name:"state",parser:u},{code:100,name:"subclassMarker",parser:u},...an];class rf{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rE(this,"parser",d(rh,rI))}}function rb(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rE(rf,"ForEntityName","SECTION");let rT={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},rD=[{code:210,name:"extrusionDirection",parser:p},{code:39,name:"thickness",parser:u},{code:[...a5(10,14)],name:"points",isMultiple:!0,parser:p},{code:100,name:"subclassMarker",parser:u},...an];class rO{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rb(this,"parser",d(rD,rT))}}function rS(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}rb(rO,"ForEntityName","SOLID"),(C=e0||(e0={}))[C.NONE=0]="NONE",C[C.CLOSED=1]="CLOSED",C[C.PERIODIC=2]="PERIODIC",C[C.RATIONAL=4]="RATIONAL",C[C.PLANAR=8]="PLANAR",C[C.LINEAR=16]="LINEAR";let rN={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},rg=[{code:11,name:"fitPoints",isMultiple:!0,parser:p},{code:10,name:"controlPoints",isMultiple:!0,parser:p},{code:41,name:"weights",isMultiple:!0,parser:u},{code:40,name:"knots",isMultiple:!0,parser:u},{code:13,name:"endTangent",parser:p},{code:12,name:"startTangent",parser:p},{code:44,name:"fitTolerance",parser:u},{code:43,name:"controlTolerance",parser:u},{code:42,name:"knotTolerance",parser:u},{code:74,name:"numberOfFitPoints",parser:u},{code:73,name:"numberOfControlPoints",parser:u},{code:72,name:"numberOfKnots",parser:u},{code:71,name:"degree",parser:u},{code:70,name:"flag",parser:u},{code:210,name:"normal",parser:p},{code:100,name:"subclassMarker",parser:u},...an];class r_{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rS(this,"parser",d(rg,rN))}}rS(r_,"ForEntityName","SPLINE");class rL{parseEntity(e,a){let r={};for(;"EOF"!==a;){if(0===a.code){e.rewind();break}!function(e,a,r){if("EOF"===r)return!1;switch(r.code){case 0:return!1;case 100:e.subclassMarker=r.value;break;case 10:e.viewportCenter=a6(c(a));break;case 40:e.width=r.value;break;case 41:e.height=r.value;break;case 68:e.status=r.value;break;case 69:e.viewportId=r.value;break;case 12:e.displayCenter=c(a);break;case 13:e.snapBase=c(a);break;case 14:e.snapSpacing=c(a);break;case 15:e.gridSpacing=c(a);break;case 16:e.viewDirection=a6(c(a));break;case 17:e.targetPoint=a6(c(a));break;case 42:e.perspectiveLensLength=r.value;break;case 43:e.frontClipZ=r.value;break;case 44:e.backClipZ=r.value;break;case 45:e.viewHeight=r.value;break;case 50:e.snapAngle=r.value;break;case 51:e.viewTwistAngle=r.value;break;case 72:e.circleZoomPercent=r.value;break;case 331:e.frozenLayerIds??(e.frozenLayerIds=[]),e.frozenLayerIds.push(r.value);break;case 90:e.statusBitFlags=r.value;break;case 340:e.clippingBoundaryId=r.value;break;case 1:e.sheetName=r.value;break;case 281:e.renderMode=r.value;break;case 71:e.ucsPerViewport=r.value;break;case 110:e.ucsOrigin=a6(c(a));break;case 111:e.ucsXAxis=a6(c(a));break;case 112:e.ucsYAxis=a6(c(a));break;case 345:e.ucsId=r.value;break;case 346:e.ucsBaseId=r.value;break;case 79:e.orthographicType=r.value;break;case 146:e.elevation=r.value;break;case 170:e.shadePlotMode=r.value;break;case 61:e.majorGridFrequency=r.value;break;case 332:e.backgroundId=r.value;break;case 333:e.shadePlotId=r.value;break;case 348:e.visualStyleId=r.value;break;case 292:e.isDefaultLighting=!!r.value;break;case 282:e.defaultLightingType=r.value;break;case 141:e.brightness=r.value;break;case 142:e.contrast=r.value;break;case 63:case 421:case 431:e.ambientLightColor=r.value;break;case 361:e.sunId=r.value;break;case 335:case 343:case 344:case 91:e.softPointer=r.value}return!0}(r,e,a)&&aa(r,a,e),a=e.next()}return r}}function rA(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}v="VIEWPORT",(M="ForEntityName")in rL?Object.defineProperty(rL,M,{value:v,enumerable:!0,configurable:!0,writable:!0}):rL[M]=v,(R=e1||(e1={}))[R.INVISIBLE=1]="INVISIBLE",R[R.CONSTANT=2]="CONSTANT",R[R.REQUIRE_VERIFICATION=4]="REQUIRE_VERIFICATION",R[R.PRESET=8]="PRESET";let ry={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},rP=[...re.slice(re.findIndex(({name:e})=>"columnType"===e),re.findIndex(({name:e})=>"subclassMarker"===e)+1),{code:100},{code:0,parser(e){if(!i(e,0,"MTEXT"))return l}},{code:2,name:"definitionTag",parser:u},{code:40,name:"annotationScale",parser:u},{code:10,name:"alignmentPoint",parser:p},{code:340,name:"secondaryAttributesHardId",parser:u},{code:70,name:"numberOfSecondaryAttributes",parser:u},{code:70,name:"isReallyLocked",parser:m},{code:70,name:"mtextFlag",parser:u},{code:280,name:"isDuplicatedEntriesKeep",parser:m},{code:100},{code:280,name:"lockPositionFlag",parser:m},{code:210,name:"extrusionDirection",parser:p},{code:11,name:"alignmentPoint",parser:p},{code:74,name:"verticalJustification",parser:u},{code:72,name:"horizontalJustification",parser:u},{code:71,name:"textGenerationFlag",parser:u},{code:7,name:"textStyle",parser:u},{code:51,name:"obliqueAngle",parser:u},{code:41,name:"scale",parser:u},{code:50,name:"rotation",parser:u},{code:73},{code:70,name:"attributeFlag",parser:u},{code:2,name:"tag",parser:u},{code:280},{code:100,name:"subclassMarker",parser:u},{code:1,name:"text",parser:u},{code:40,name:"textHeight",parser:u},{code:10,name:"startPoint",parser:p},{code:39,name:"thickness",parser:u},{code:100},...an];class rC{parseEntity(e,a){let r={};return this.parser(a,e,r),r}constructor(){rA(this,"parser",d(rP,ry))}}rA(rC,"ForEntityName","ATTRIB");let rM=Object.fromEntries([al,af,rC,aO,aS,aL,aW,aK,aq,a2,ra,ro,rm,rf,rO,r_,am,aH,rL].map(e=>[e.ForEntityName,new e]));function rv(e,a){let r=[];for(;!i(e,0,"EOF");){if(0===e.code){if("ENDBLK"===e.value||"ENDSEC"===e.value){a.rewind();break}let t=rM[e.value];if(t){let n=e.value;e=a.next();let o=t.parseEntity(a,e);o.type=n,at(o),r.push(o)}else console.warn(`Unsupported ENTITY type: ${e.value}`)}e=a.next()}return r}function rR(e,a){let r={};for(;!i(e,0,"EOF")&&!i(e,0,"ENDSEC");){if(i(e,0,"BLOCK")){let t=rk(e=a.next(),a);at(t),t.name&&(r[t.name]=t)}e=a.next()}return r}function rk(e,a){let r={};for(;!i(e,0,"EOF");){if(i(e,0,"ENDBLK")){for(e=a.next();!i(e,0,"EOF");){if(i(e,100,"AcDbBlockEnd"))return r;e=a.next()}break}switch(e.code){case 1:r.xrefPath=e.value;break;case 2:r.name=e.value;break;case 3:r.name2=e.value;break;case 5:r.handle=e.value;break;case 8:r.layer=e.value;break;case 10:r.position=c(a);break;case 67:r.paperSpace=!!e.value&&1==e.value;break;case 70:0!==e.value&&(r.type=e.value);break;case 100:break;case 330:r.ownerHandle=e.value;break;case 0:r.entities=rv(e,a)}e=a.next()}return r}function rx(e,a){let r=null,t={};for(;!i(e,0,"EOF")&&!i(e,0,"ENDSEC");)9===e.code?r=e.value:10===e.code?t[r]=c(a):t[r]=e.value,e=a.next();return t}let rF=[{code:333,name:"shadePlotId",parser:u},{code:149,name:"imageOriginY",parser:u},{code:148,name:"imageOriginX",parser:u},{code:147,name:"scaleFactor",parser:u},{code:78,name:"shadePlotCustomDPI",parser:u},{code:77,name:"shadePlotResolution",parser:u},{code:76,name:"shadePlotMode",parser:u},{code:75,name:"standardScaleType",parser:u},{code:7,name:"currentStyleSheet",parser:u},{code:74,name:"plotType",parser:u},{code:73,name:"plotRotation",parser:u},{code:72,name:"paperUnit",parser:u},{code:70,name:"layoutFlag",parser:u},{code:143,name:"printScaleDenominator",parser:u},{code:142,name:"printScaleNominator",parser:u},{code:141,name:"windowAreaYMax",parser:u},{code:140,name:"windowAreaYMin",parser:u},{code:49,name:"windowAreaXMax",parser:u},{code:48,name:"windowAreaXMin",parser:u},{code:47,name:"plotOriginY",parser:u},{code:46,name:"plotOriginX",parser:u},{code:45,name:"paperHeight",parser:u},{code:44,name:"paperWidth",parser:u},{code:43,name:"marginTop",parser:u},{code:42,name:"marginRight",parser:u},{code:41,name:"marginBottom",parser:u},{code:40,name:"marginLeft",parser:u},{code:6,name:"plotViewName",parser:u},{code:4,name:"paperSize",parser:u},{code:2,name:"configName",parser:u},{code:1,name:"pageSetupName",parser:u},{code:100,name:"subclassMarker",parser:u}];(k=e4||(e4={}))[k.INCHES=0]="INCHES",k[k.MILLIMETERS=1]="MILLIMETERS",k[k.PIXELS=2]="PIXELS",(x=e2||(e2={}))[x.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",x[x.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",x[x.DRAWING_LIMITS=2]="DRAWING_LIMITS",x[x.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",x[x.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",x[x.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION",(F=e3||(e3={}))[F.AS_DISPLAYED=0]="AS_DISPLAYED",F[F.WIREFRAME=1]="WIREFRAME",F[F.HIDDEN=2]="HIDDEN",F[F.RENDERED=3]="RENDERED",(w=e7||(e7={}))[w.DRAFT=0]="DRAFT",w[w.PREVIEW=1]="PREVIEW",w[w.NORMAL=2]="NORMAL",w[w.PRESENTATION=3]="PRESENTATION",w[w.MAXIMUM=4]="MAXIMUM",w[w.CUSTOM=5]="CUSTOM";let rw=[{code:333,name:"shadePlotId",parser:u},{code:346,name:"orthographicUcsId",parser:u},{code:345,name:"namedUcsId",parser:u},{code:331,name:"viewportId",parser:u},{code:330,name:"paperSpaceTableId",parser:u},{code:76,name:"orthographicType",parser:u},{code:17,name:"ucsYAxis",parser:p},{code:16,name:"ucsXAxis",parser:p},{code:13,name:"ucsOrigin",parser:p},{code:146,name:"elevation",parser:u},{code:15,name:"maxExtent",parser:p},{code:14,name:"minExtent",parser:p},{code:12,name:"insertionBase",parser:p},{code:11,name:"maxLimit",parser:p},{code:10,name:"minLimit",parser:p},{code:71,name:"tabOrder",parser:u},{code:70,name:"controlFlag",parser:u},{code:1,name:"layoutName",parser:u},{code:100,name:"subclassMarker",parser:u},...rF];(V=e5||(e5={}))[V.PSLTSCALE=1]="PSLTSCALE",V[V.LIMCHECK=2]="LIMCHECK";let rV=[{code:330,name:"ownerObjectId",parser:u},{code:102},{code:360,name:"ownerDictionaryIdHard",parser:u},{code:102},{code:102},{code:330,name:"ownerDictionaryIdSoft",parser:u},{code:102},{code:102},{code:102},{code:5,name:"handle",parser:u}],rB=[{code:3,name:"entries",parser:(e,a)=>{let r={name:e.value};return 350===(e=a.next()).code?r.objectId=e.value:a.rewind(),r},isMultiple:!0},{code:281,name:"recordCloneFlag",parser:u},{code:280,name:"isHardOwned",parser:m},{code:100,name:"subclassMarker",parser:u}];function rH(e){return"AcDbDictionary"===e.subclassMarker}(B=e6||(e6={}))[B.NOT_APPLICABLE=0]="NOT_APPLICABLE",B[B.KEEP_EXISTING=1]="KEEP_EXISTING",B[B.USE_CLONE=2]="USE_CLONE",B[B.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",B[B.VALUE_NAME=4]="VALUE_NAME",B[B.UNMANGLE_NAME=5]="UNMANGLE_NAME";let rG={LAYOUT:rw,PLOTSETTINGS:rF,DICTIONARY:rB};function rU(e,a){let r=[];for(;0!==e.code||!["EOF","ENDSEC"].includes(e.value);){let t=e.value,n=rG[t];if(0===e.code&&n?.length){let o=d([...rV,...n]),s={name:t};o(e=a.next(),a,s)?(r.push(s),e=a.peek()):e=a.next()}else e=a.next()}return{byName:a7(r,({name:e})=>e),byTree:function(e){let a=Object.fromEntries(e.map(e=>[e.handle,e]));for(let r of e)(!rH(r)||"0"!==r.ownerDictionaryIdSoft)&&(r.ownerDictionaryIdSoft&&(r.ownerDictionarySoft=a[r.ownerDictionaryIdSoft]),r.ownerDictionaryIdHard&&(r.ownerDictionaryHard=a[r.ownerDictionaryIdHard]),r.ownerObjectId&&(r.ownerObject=a[r.ownerObjectId])),function(e,a){rH(e)&&e.entries&&(e.entries=Object.fromEntries(e.entries.map(({name:e,objectId:r})=>[e,a[r]])))}(r,a);return e[0]}(r)}}let rY=[{code:100,name:"subclassMarker",parser:u},{code:330,name:"ownerObjectId",parser:u},{code:102,parser(e,a){for(;!i(e,0,"EOF")&&!i(e,102,"}");)e=a.next()}},{code:5,name:"handle",parser:u}],rW=d([{code:310,name:"bmpPreview",parser:u},{code:281,name:"scalability",parser:u},{code:280,name:"explodability",parser:u},{code:70,name:"insertionUnits",parser:u},{code:340,name:"layoutObjects",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},...rY]),rj=d([...[{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:eT.Above,defaultValueImperial:eT.Center},{name:"DIMZIN",code:78,defaultValue:eD.Trailing,defaultValueImperial:eD.Feet},{name:"DIMAZIN",code:79,defaultValue:eO.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMJUST",code:280,defaultValue:eS.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:eN.Center},{name:"DIMTZIN",code:284,defaultValue:eD.Trailing,defaultValueImperial:eD.Feet},{name:"DIMALTZ",code:285,defaultValue:eD.Trailing},{name:"DIMALTTZ",code:286,defaultValue:eD.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}].map(e=>({...e,parser:u})),{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},{code:105,name:"handle",parser:u},...rY.filter(e=>5!==e.code)]),rX=d([{code:347,name:"materialObjectId",parser:u},{code:390,name:"plotStyleNameObjectId",parser:u},{code:370,name:"lineweight",parser:u},{code:290,name:"isPlotting",parser:m},{code:6,name:"lineType",parser:u},{code:62,name:"colorIndex",parser:u},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},...rY]),rz=d([{code:9,name:"text",parser:u},{code:45,name:"offsetY",parser:u},{code:44,name:"offsetX",parser:u},{code:50,name:"rotation",parser:u},{code:46,name:"scale",parser:u},{code:340,name:"styleObjectId",parser:u},{code:75,name:"shapeNumber",parser:u},{code:74,name:"elementTypeFlag",parser:u},{code:49,name:"elementLength",parser:u}],{elementTypeFlag:0,elementLength:0}),rK={BLOCK_RECORD:rW,DIMSTYLE:rj,LAYER:rX,LTYPE:d([{code:49,name:"pattern",parser(e,a){let r={};return rz(e,a,r),r},isMultiple:!0},{code:40,name:"totalPatternLength",parser:u},{code:73,name:"numberOfLineTypes",parser:u},{code:72,parser:u},{code:3,name:"description",parser:u},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},...rY]),STYLE:d([{code:1e3,name:"extendedFont",parser:u},{code:1001},{code:4,name:"bigFont",parser:u},{code:3,name:"font",parser:u},{code:42,name:"lastHeight",parser:u},{code:71,name:"textGenerationFlag",parser:u},{code:50,name:"obliqueAngle",parser:u},{code:41,name:"widthFactor",parser:u},{code:40,name:"fixedTextHeight",parser:u},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},...rY]),VPORT:d([{code:[63,421,431],name:"ambientColor",parser:u},{code:142,name:"contrast",parser:u},{code:141,name:"brightness",parser:u},{code:282,name:"defaultLightingType",parser:u},{code:292,name:"isDefaultLightingOn",parser:m},{code:348,name:"visualStyleObjectId",parser:u},{code:333,name:"shadePlotObjectId",parser:u},{code:332,name:"backgroundObjectId",parser:u},{code:61,name:"majorGridLines",parser:u},{code:170,name:"shadePlotSetting",parser:u},{code:146,name:"elevation",parser:u},{code:79,name:"orthographicType",parser:u},{code:112,name:"ucsYAxis",parser:p},{code:111,name:"ucsXAxis",parser:p},{code:110,name:"ucsOrigin",parser:p},{code:74,name:"ucsIconSetting",parser:u},{code:71,name:"viewMode",parser:u},{code:281,name:"renderMode",parser:u},{code:1,name:"styleSheet",parser:u},{code:[331,441],name:"frozenLayers",parser:u,isMultiple:!0},{code:72,name:"circleSides",parser:u},{code:51,name:"viewTwistAngle",parser:u},{code:50,name:"snapRotationAngle",parser:u},{code:45,name:"viewHeight",parser:u},{code:44,name:"backClippingPlane",parser:u},{code:43,name:"frontClippingPlane",parser:u},{code:42,name:"lensLength",parser:u},{code:17,name:"viewTarget",parser:p},{code:16,name:"viewDirectionFromTarget",parser:p},{code:15,name:"gridSpacing",parser:p},{code:14,name:"snapSpacing",parser:p},{code:13,name:"snapBasePoint",parser:p},{code:12,name:"center",parser:p},{code:11,name:"upperRightCorner",parser:p},{code:10,name:"lowerLeftCorner",parser:p},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},...rY])},rZ=d([{code:70,name:"maxNumberOfEntries",parser:u},{code:100,name:"subclassMarker",parser:u},{code:330,name:"ownerObjectId",parser:u},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:u},{code:2,name:"name",parser:u}]);function rJ(e,a){let r={};for(;!i(e,0,"EOF")&&!i(e,0,"ENDSEC");){if(i(e,0,"TABLE")){e=a.next();let t={entries:[]};rZ(e,a,t),r[t.name]=t}if(i(e,0)&&!i(e,0,"ENDTAB")){let t=e.value;e=a.next();let n=rK[t];if(!n){console.warn(`parseTable: Invalid table name '${t}'`),e=a.next();continue}let o={};n(e,a,o),r[t]?.entries.push(o)}e=a.next()}return r}function r$(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class rq{next(){if(!this.hasNext())return this._eof?console.warn("Cannot call 'next' after EOF group has been read"):console.warn("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer]),{code:0,value:"EOF"};let e=parseInt(this._data[this._pointer++],10),a=rQ(e,this._data[this._pointer++]),r={code:e,value:a};return i(r,0,"EOF")&&(this._eof=!0),this.lastReadGroup=r,r}peek(){if(!this.hasNext()){if(this._eof)throw Error("Cannot call 'next' after EOF group has been read");throw Error("Unexpected end of input: EOF group not read before end of file. Ended on code "+this._data[this._pointer])}let e={code:parseInt(this._data[this._pointer]),value:0};return e.value=rQ(e.code,this._data[this._pointer+1]),e}rewind(e){e=e||1,this._pointer=this._pointer-2*e}hasNext(){return!this._eof&&!(this._pointer>this._data.length-2)}isEOF(){return this._eof}constructor(e){r$(this,"_pointer",void 0),r$(this,"_data",void 0),r$(this,"_eof",void 0),r$(this,"lastReadGroup",{code:0,value:0}),this._pointer=0,this._data=e,this._eof=!1}}function rQ(e,a){return e<=9?a:e>=10&&e<=59?parseFloat(a.trim()):e>=60&&e<=99?parseInt(a.trim()):e>=100&&e<=109?a:e>=110&&e<=149?parseFloat(a.trim()):e>=160&&e<=179?parseInt(a.trim()):e>=210&&e<=239?parseFloat(a.trim()):e>=270&&e<=289?parseInt(a.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")}(a.trim()):e>=300&&e<=369?a:e>=370&&e<=389?parseInt(a.trim()):e>=390&&e<=399?a:e>=400&&e<=409?parseInt(a.trim()):e>=410&&e<=419?a:e>=420&&e<=429?parseInt(a.trim()):e>=430&&e<=439?a:e>=440&&e<=459?parseInt(a.trim()):e>=460&&e<=469?parseFloat(a.trim()):e>=470&&e<=481||999===e||e>=1e3&&e<=1009?a:e>=1010&&e<=1059?parseFloat(a.trim()):e>=1060&&e<=1071?parseInt(a.trim()):(console.log("WARNING: Group code does not have a defined type: %j",{code:e,value:a}),a)}function r0(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class r1{parseStart(e){this.startCode=e.code}setPoint(e){if(this.code=e.code,this.value=e.value,this.startCode===this.code&&(this.x=this.value),this.startCode===this.code+10)this.y=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}if(this.startCode===this.code+20)this.z=this.value;else{let e={x:this.x??0,y:this.y??0,z:this.z??0};return this.reset(),e}}reset(){this.x=void 0,this.y=void 0,this.z=void 0}constructor(){r0(this,"point",{}),r0(this,"startCode",0),r0(this,"code",0),r0(this,"value",0),r0(this,"x",void 0),r0(this,"y",void 0),r0(this,"z",void 0)}}function r4(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class r2{constructor(){r4(this,"encoding","utf-8"),r4(this,"encodingFailureFatal",!1)}}class r3 extends Error{constructor(e,a,r){let t=`[Line ${a}]: ${e}`;r?.cause&&(t+=`
2
+ Caused by ${r.cause.toString()}
3
+ ${r.cause.stack}`),super(t),r4(this,"line",void 0),this.line=a}}class r7 extends EventTarget{Feed(e,a=!1){let r=this._decoder.decode(e??void 0,{stream:!a});this.FeedString(r,a)}FeedString(e,a=!1){if(this._finalChunkSeen)throw Error("Data fed after final chunk processed");a&&(this._finalChunkSeen=!0),this._curChunk+=e,this._ProcessCurChunk(),a&&this._Finalize()}_Finalize(){}async FeedFile(e,a){let r=e.byteLength;for(let t=0;t<r;t+=65536){a?.throwIfAborted();let n=Math.min(r-t,65536),o=await e.slice(t,t+n);this.Feed(o,t+n>=r)}}_ProcessCurChunk(){for(let e of this._ConsumeCurChunkLines())if(this._ProcessLine(e),this._curLineNum++,!this._eof&&"HEADER"===this._curSection){let e=this._curValue.value;9===this._curValue.code?this._currVarName=e:10===this._curValue.code?this._pointParser.parseStart(this._curValue):this._pointParser.startCode===this._curValue.code||this._pointParser.startCode+10===this._curValue.code||this._pointParser.startCode+20===this._curValue.code?e=this._pointParser.setPoint(this._curValue):this._currVarName&&(this.dxf.header[this._currVarName]=e)}}*_ConsumeCurChunkLines(){let e=0,a=this._curChunk.length;for(;e<a;){let r=this._curChunk.indexOf("\r",e),t=0;if(r>=0?(t=r+1)<a&&"\n"==this._curChunk.charAt(t)&&t++:(r=this._curChunk.indexOf("\n",e))>=0&&(t=r+1),r<0)break;yield this._curChunk.substring(e,r),e=t}0!=e&&(this._curChunk=this._curChunk.substring(e))}_ProcessLine(e){if(null===this._curGroupCode){let a=e.trim();this._curGroupCode=parseInt(a),isNaN(this._curGroupCode)&&this._Error("Bad group code: "+a);return}let a=new r5(this._curGroupCode,e);if(!i(a,0,"EOF")){switch(a.value){case"SECTION":this._curSection="SECTION";break;case"HEADER":this._curSection="HEADER";break;case"BLOCKS":this._curSection="BLOCKS";break;case"ENTITIES":this._curSection="ENTITIES";break;case"TABLES":this._curSection="TABLES";break;case"OBJECTS":this._curSection="OBJECTS"}this._eof=!1}i(a,0,"EOF")&&(this._eof=!0),this._curValue=a,this._curGroupCode=null}_Error(e,a=null){let r;throw a&&(r={cause:a}),new r3(e,this._curLineNum,r)}constructor(e=new r2){super(),r4(this,"dxf",{header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}}),r4(this,"_decoder",void 0),r4(this,"_pointParser",void 0),r4(this,"_finalChunkSeen",!1),r4(this,"_curChunk",""),r4(this,"_curGroupCode",null),r4(this,"_curLineNum",1),r4(this,"_eof",!1),r4(this,"_curValue",{code:0,value:0}),r4(this,"_curSection",""),r4(this,"_currVarName",""),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal}),this._pointParser=new r1}}class r5{constructor(e,a){r4(this,"code",void 0),r4(this,"value",void 0),this.code=e,this.value=rQ(e,a)}}function r6(e){return"INSERT"===e.type||"DIMENSION"===e.type&&!!e.name}function r9(e,a,r){return a in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}class r8{constructor(){r9(this,"encoding","utf-8"),r9(this,"encodingFailureFatal",!1)}}class te extends EventTarget{parseSync(e){let a=new rq(e.split(/\r\n|\r|\n/g));if(!a.hasNext())throw Error("Empty file");return this.parseAll(a)}parseStream(e){let a="",r=this;return new Promise((t,n)=>{e.on("data",e=>{a+=e}),e.on("end",()=>{try{let e=a.split(/\r\n|\r|\n/g),n=new rq(e);if(!n.hasNext())throw Error("Empty file");t(r.parseAll(n))}catch(e){n(e)}}),e.on("error",e=>{n(e)})})}async parseFromUrl(e,a){let r=await fetch(e,a);if(!r.body)return null;let t=r.body.getReader(),n="";for(;;){let{done:e,value:a}=await t.read();if(e){n+=this._decoder.decode(new ArrayBuffer(0),{stream:!1});break}n+=this._decoder.decode(a,{stream:!0})}return this.parseSync(n)}parseAll(r){let t={header:{},blocks:{},entities:[],tables:{},objects:{byName:{},byTree:void 0}},n=r.next();for(;!i(n,0,"EOF");)i(n,0,"SECTION")&&(i(n=r.next(),2,"HEADER")?(n=r.next(),t.header=rx(n,r)):i(n,2,"BLOCKS")?(n=r.next(),t.blocks=rR(n,r)):i(n,2,"ENTITIES")?(n=r.next(),t.entities=rv(n,r)):i(n,2,"TABLES")?(n=r.next(),t.tables=rJ(n,r)):i(n,2,"OBJECTS")&&(n=r.next(),t.objects=rU(n,r))),n=r.next();return function(r){let t=Object.entries(r.blocks),n={};for(let[a,r]of e(([e,a])=>a.entities?.some(r6),t))for(let e of r.entities??[])r6(e)&&(n[a]??(n[a]=[]),n[a].push(e.name));let o=a3({seeds:[...a(({name:e})=>e,e(r6,r.entities))],serializer:e=>e,spanner:e=>n[e]??[]}).flat();return{...r,blocks:Object.fromEntries(o.map(e=>[e,r.blocks[e]]))}}(t)}constructor(e=new r8){super(),r9(this,"_decoder",void 0),this._decoder=new TextDecoder(e.encoding,{fatal:e.encodingFailureFatal})}}export{al as ArcEntityParser,af as AttDefEntityParser,eW as AttDefMTextFlag,ef as AttachmentPoint,eY as AttributeFlag,eE as BlockTypeFlag,ev as BoundaryPathEdgeType,eM as BoundaryPathTypeFlag,aO as CircleEntityParser,eI as ColorCode,an as CommonEntitySnippets,o as DefaultDxfHeaderVariables,eG as DefaultLightingType,au as DefaultTextEntity,eS as DimensionTextHorizontal,eb as DimensionTextLineSpacing,eT as DimensionTextVertical,eN as DimensionToleranceTextVertical,eh as DimensionType,eD as DimensionZeroSuppression,eO as DimensionZeroSuppressionAngular,r3 as DxfParsingError,r7 as DxfStreamParser,r2 as DxfStreamParserOptions,aL as EllipseEntityParser,e_ as HatchAssociativity,ey as HatchBoundaryAnnotation,aH as HatchEntityParser,eC as HatchGradientColorFlag,eP as HatchGradientFlag,eA as HatchPatternType,eg as HatchSolidFill,eL as HatchStyle,s as INDEXED_CHUNK_SIZE,aW as InsertEntityParser,eZ as LWPolylineFlag,a2 as LWPolylineParser,eK as LeaderCreationFlag,aK as LeaderEntityParser,aq as LineEntityParser,eJ as MTextDrawingDirection,ra as MTextEntityParser,re as MTextEntityParserSnippets,ex as Measurement,eR as ObscuredLineTypes,eB as OrthographicType,ro as PointEntityParser,e$ as PolylineFlag,rm as PolylineParser,ew as RenderMode,ek as ReservedLineweight,t as SPLINE_SUBDIVISION,rf as SectionEntityParser,eH as ShadePlotMode,eU as ShadowMode,eq as SmoothType,rO as SolidEntityParser,r_ as SplineEntityParser,e0 as SplineFlag,n as TESSELLATION_ANGLE,am as TextEntityParser,ap as TextEntityParserSnippets,ej as TextGenerationFlag,eX as TextHorizontalAlign,ez as TextVerticalAlign,eV as UCSPerViewport,r as UndeterminedBlockColor,eQ as VertexFlag,rl as VertexParser,eF as ViewportStatusFlag,a7 as classify,te as default,at as ensureHandle,a6 as ensurePoint3D,a3 as flooding,a5 as generateIntegers,i as isMatched,rk as parseBlock,rR as parseBlocks,rv as parseEntities,rx as parseHeader,rU as parseObjects,rJ as parseTables,ao as skipApplicationGroups};
@@ -1,9 +1,11 @@
1
- export * from './color';
2
- export * from './config';
3
- export * from './dimension';
4
- export * from './hatch';
5
- export * from './measurement';
6
- export * from './obscuredLineTypes';
7
- export * from './lineweight';
8
- export * from './scene';
9
- export * from './viewport';
1
+ export * from "./block";
2
+ export * from "./color";
3
+ export * from "./config";
4
+ export * from "./dimension";
5
+ export * from "./hatch";
6
+ export * from "./header";
7
+ export * from "./lineweight";
8
+ export * from "./measurement";
9
+ export * from "./obscuredLineTypes";
10
+ export * from "./scene";
11
+ export * from "./viewport";
package/dist/index.d.ts CHANGED
@@ -1,2 +1,7 @@
1
- import DxfParser from './parser/DxfParser';
1
+ export * from "./consts";
2
+ export * from "./parser";
3
+ export * from "./stream-parser";
4
+ export * from "./types";
5
+ export * from "./utils";
6
+ import { DxfParser } from "./parser/DxfParser";
2
7
  export default DxfParser;
@@ -1,7 +1,5 @@
1
- /// <reference types="node" />
2
- import fs from "fs";
3
- import type { ParsedDxf } from './types';
4
- import { Readable } from 'readable-stream';
1
+ import type { ParsedDxf } from "./types";
2
+ import type { Readable } from "readable-stream";
5
3
  /** Options for {@link DxfParser} construction. */
6
4
  export declare class DxfParserOptions {
7
5
  /** Encoding label.
@@ -13,11 +11,11 @@ export declare class DxfParserOptions {
13
11
  */
14
12
  encodingFailureFatal: boolean;
15
13
  }
16
- export default class DxfParser extends EventTarget {
14
+ export declare class DxfParser extends EventTarget {
17
15
  private readonly _decoder;
18
16
  constructor(options?: DxfParserOptions);
19
17
  parseSync(dxfString: string): ParsedDxf;
20
- parseStream(stream: Readable | fs.ReadStream): Promise<ParsedDxf>;
18
+ parseStream(stream: Readable): Promise<ParsedDxf>;
21
19
  parseFromUrl(url: string, init?: RequestInit | undefined): Promise<ParsedDxf | null>;
22
20
  private parseAll;
23
21
  }
@@ -1,5 +1,5 @@
1
1
  import DxfArrayScanner, { ScannerGroup } from './DxfArrayScanner';
2
- import { CommonDxfEntity } from './entities/shared';
2
+ import { type CommonDxfEntity } from './entities/shared';
3
3
  /**
4
4
  * Returns the truecolor value of the given AutoCad color index value
5
5
  * @param {import('../types').ColorIndex} index
@@ -1,5 +1,5 @@
1
- import DxfArrayScanner, { ScannerGroup } from 'parser/DxfArrayScanner';
2
- import { DimensionEntity } from './types';
1
+ import DxfArrayScanner, { type ScannerGroup } from '@src/parser/DxfArrayScanner';
2
+ import type { DimensionEntity } from './types';
3
3
  /**
4
4
  * @returns Return `false` if curr is not related to common dimension group
5
5
  */
@@ -1,4 +1,4 @@
1
- import DxfArrayScanner, { ScannerGroup } from 'parser/DxfArrayScanner';
1
+ import DxfArrayScanner, { type ScannerGroup } from '../../DxfArrayScanner';
2
2
  import { DimensionEntity } from './types';
3
3
  export default class DimensionParser {
4
4
  static ForEntityName: string;
@@ -1,6 +1,7 @@
1
- import type DxfArrayScanner from '../../DxfArrayScanner';
2
- import type { ScannerGroup } from '../../DxfArrayScanner';
3
- import type { HatchEntity } from './types';
1
+ export * from "./types";
2
+ import type DxfArrayScanner from "../../DxfArrayScanner";
3
+ import type { ScannerGroup } from "../../DxfArrayScanner";
4
+ import type { HatchEntity } from "./types";
4
5
  export declare class HatchEntityParser {
5
6
  static ForEntityName: string;
6
7
  private parser;
@@ -1,6 +1,8 @@
1
- import type DxfArrayScanner from '../DxfArrayScanner';
2
- import { ScannerGroup } from '../DxfArrayScanner';
3
- import { CommonDxfEntity } from './shared';
1
+ export * from "./types";
2
+ export * from "./shared";
3
+ import type DxfArrayScanner from "../DxfArrayScanner";
4
+ import { ScannerGroup } from "../DxfArrayScanner";
5
+ import { CommonDxfEntity } from "./shared";
4
6
  /**
5
7
  * Is called after the parser first reads the 0:ENTITIES group. The scanner
6
8
  * should be on the start of the first entity already.
@@ -0,0 +1,19 @@
1
+ export * from "./arc";
2
+ export * from "./attdef";
3
+ export * from "./circle";
4
+ export * from "./dimension";
5
+ export * from "./ellipse";
6
+ export * from "./hatch";
7
+ export * from "./insert";
8
+ export * from "./leader";
9
+ export * from "./line";
10
+ export * from "./lwpolyline";
11
+ export * from "./mtext";
12
+ export * from "./point";
13
+ export * from "./polyline";
14
+ export * from "./section";
15
+ export * from "./solid";
16
+ export * from "./spline";
17
+ export * from "./text";
18
+ export * from "./vertex";
19
+ export * from "./viewport";
@@ -0,0 +1,8 @@
1
+ export * from "./blocks";
2
+ export * from "./types";
3
+ export * from "./blocks";
4
+ export * from "./entities";
5
+ export * from "./header";
6
+ export * from "./objects";
7
+ export * from "./shared";
8
+ export * from "./tables";
@@ -1,7 +1,2 @@
1
- import type { ScannerGroup } from '../DxfArrayScanner';
1
+ export * from './isMatched';
2
2
  export declare function ensureHandle(entity: any): void;
3
- /**
4
- * group이 `code`와 `value`를 갖는지 확인
5
- * `value`가 `null`이나 `undefined`인 경우 아무거나 다 매칭한다고 가정한다.
6
- */
7
- export declare function isMatched(group: ScannerGroup, code: number, value?: any): boolean;
@@ -0,0 +1,6 @@
1
+ import type { ScannerGroup } from "../DxfArrayScanner";
2
+ /**
3
+ * group이 `code`와 `value`를 갖는지 확인
4
+ * `value`가 `null`이나 `undefined`인 경우 아무거나 다 매칭한다고 가정한다.
5
+ */
6
+ export declare function isMatched(group: ScannerGroup, code: number, value?: any): boolean;
@@ -11,5 +11,5 @@ export interface DXFParserSnippet {
11
11
  export type DXFParser = (curr: ScannerGroup, scanner: DxfArrayScanner, target: any) => boolean;
12
12
  export declare function createParser(snippets: DXFParserSnippet[], defaultObject?: any): DXFParser;
13
13
  export declare function Identity({ value }: ScannerGroup): any;
14
- export declare function PointParser(_: any, scanner: DxfArrayScanner): import("../../types").Point2D | import("../../types").Point3D;
14
+ export declare function PointParser(_: any, scanner: DxfArrayScanner): import("../..").Point2D | import("../..").Point3D;
15
15
  export declare function ToBoolean({ value }: ScannerGroup): boolean;
@@ -1,4 +1,4 @@
1
- import { ParsedDxf } from 'parser/types';
1
+ import type { ParsedDxf } from "@src/parser/types";
2
2
  type ErrorOptions = {
3
3
  cause: Error;
4
4
  } | undefined;
@@ -17,7 +17,7 @@ export declare class DxfParsingError extends Error {
17
17
  readonly line: number;
18
18
  constructor(msg: string, line: number, options?: ErrorOptions);
19
19
  }
20
- export default class DxfStreamParser extends EventTarget {
20
+ export declare class DxfStreamParser extends EventTarget {
21
21
  dxf: ParsedDxf;
22
22
  private readonly _decoder;
23
23
  private readonly _pointParser;
@@ -0,0 +1 @@
1
+ export * from "./DxfStreamParser";
@@ -1,4 +1,4 @@
1
- import { ScannerGroup } from 'parser/DxfArrayScanner';
1
+ import type { ScannerGroup } from "@src/parser/DxfArrayScanner";
2
2
  import type { Point3D } from '../../types';
3
3
  export declare class parsePoint {
4
4
  point: Point3D;
@@ -1,5 +1,5 @@
1
1
  export * from './flooding';
2
- import type { Point2D, Point3D } from 'types';
2
+ import type { Point2D, Point3D } from '@src/types';
3
3
  export declare function classify<T>(iterable: Iterable<T>, keySelector: (value: T) => string | undefined): Record<string, T[]>;
4
4
  /**
5
5
  * 정수 생성기
package/package.json CHANGED
@@ -1,69 +1,65 @@
1
1
  {
2
- "name": "dxf-json",
3
- "version": "0.0.40",
4
- "description": "perfect dxf parser",
5
- "main": "./dist/index.d.ts",
6
- "type": "module",
7
- "module": "./dist/bundle.js",
8
- "types": "./dist/index.d.ts",
9
- "scripts": {
10
- "build": "tsc --declaration && webpack --mode production",
11
- "test:parser": "jest --silent=false"
12
- },
13
- "repository": {
14
- "type": "git",
15
- "url": "git+https://github.com/dotoritos-kim/dxf-json.git"
16
- },
17
- "keywords": [
18
- "dxf",
19
- "cad",
20
- "dxf-json",
21
- "json",
22
- "type-safe-dxf",
23
- "type-safe",
24
- "typescript"
25
- ],
26
- "author": {
27
- "name": "kanghyune kim",
28
- "email": "wwponv158@gmail.com"
29
- },
30
- "publishConfig": {
31
- "registry": "https://registry.npmjs.org/"
32
- },
33
- "contributors": [
34
- "phryxia"
35
- ],
36
- "license": "GPL-3.0",
37
- "bugs": {
38
- "url": "https://github.com/dotoritos-kim/dxf-json/issues",
39
- "email": "wwponv158@gmail.com"
40
- },
41
- "homepage": "https://github.com/dotoritos-kim/dxf-json#readme",
42
- "dependencies": {
43
- "@fxts/core": "^0.23.0",
44
- "@swc/cli": "^0.1.63",
45
- "@swc/core": "^1.3.104",
46
- "file-api": "^0.10.4",
47
- "readable-stream": "^4.5.2",
48
- "swc-loader": "^0.2.3",
49
- "webpack": "^5.89.0",
50
- "webpack-cli": "^5.1.4",
51
- "webpack-dev-server": "^4.15.1"
52
- },
53
- "devDependencies": {
54
- "@types/jest": "^29.5.11",
55
- "@types/readable-stream": "^4.0.10",
56
- "@types/three": "^0.160.0",
57
- "jest": "^29.7.0",
58
- "resolve-typescript-plugin": "^2.0.1",
59
- "ts-jest": "^29.1.1",
60
- "typescript": "^5.3.3"
61
- },
62
- "files": [
63
- "dist"
64
- ],
65
- "exports": {
66
- ".": "./dist/bundle.js",
67
- "./dist": "./dist/bundle.js"
68
- }
2
+ "name": "dxf-json",
3
+ "version": "0.1.1",
4
+ "description": "perfect dxf parser",
5
+ "type": "module",
6
+ "main": "./dist/bundle.cjs",
7
+ "module": "./dist/bundle.mjs",
8
+ "exports": {
9
+ "import": "./dist/bundle.mjs",
10
+ "require": "./dist/bundle.cjs",
11
+ "types": "./dist/index.d.ts"
12
+ },
13
+ "types": "./dist/index.d.ts",
14
+ "scripts": {
15
+ "build": "tsc && rollup --config",
16
+ "test": "jest --silent=false"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/dotoritos-kim/dxf-json.git"
21
+ },
22
+ "keywords": [
23
+ "dxf",
24
+ "cad",
25
+ "dxf-json",
26
+ "json",
27
+ "type-safe-dxf",
28
+ "type-safe",
29
+ "typescript"
30
+ ],
31
+ "author": {
32
+ "name": "kanghyune kim",
33
+ "email": "wwponv158@gmail.com"
34
+ },
35
+ "publishConfig": {
36
+ "registry": "https://registry.npmjs.org/"
37
+ },
38
+ "contributors": [
39
+ "phryxia"
40
+ ],
41
+ "license": "GPL-3.0",
42
+ "bugs": {
43
+ "url": "https://github.com/dotoritos-kim/dxf-json/issues",
44
+ "email": "wwponv158@gmail.com"
45
+ },
46
+ "homepage": "https://github.com/dotoritos-kim/dxf-json#readme",
47
+ "dependencies": {
48
+ "@fxts/core": "^1.0.1"
49
+ },
50
+ "devDependencies": {
51
+ "@swc/core": "^1.3.107",
52
+ "@types/jest": "^29.5.11",
53
+ "@types/readable-stream": "^4.0.10",
54
+ "@types/three": "^0.160.0",
55
+ "jest": "^29.7.0",
56
+ "resolve-typescript-plugin": "^2.0.1",
57
+ "rollup": "^4.9.6",
58
+ "rollup-plugin-swc3": "^0.11.0",
59
+ "ts-jest": "^29.1.1",
60
+ "typescript": "^5.3.3"
61
+ },
62
+ "files": [
63
+ "dist"
64
+ ]
69
65
  }
package/dist/bundle.js DELETED
@@ -1 +0,0 @@
1
- function e(e,r,n){return e.code===r&&(null==n||e.value===n)}function r(e){var r={};e.rewind();var n=e.next(),a=n.code;if(r.x=n.value,(n=e.next()).code!==a+10)throw new Error("Expected code for point value to be 20 but got "+n.code+".");return r.y=n.value,(n=e.next()).code!==a+20?(e.rewind(),r):(r.z=n.value,r)}function n(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function a(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,t,o=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(a=n.next()).done)&&(o.push(a.value),!r||o.length!==r);i=!0);}catch(e){c=!0,t=e}finally{try{i||null==n.return||n.return()}finally{if(c)throw t}}return o}}(e,r)||function(e,r){if(e){if("string"==typeof e)return n(e,r);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(a):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(e,r):void 0}}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var t=Symbol();function o(r,n){return function(o,u,l){for(var s=function(e){return e.reduce((function(e,r){r.pushContext&&e.push({});var n=e[e.length-1],a="number"==typeof r.code?[r.code]:r.code,t=!0,o=!1,i=void 0;try{for(var c,u=a[Symbol.iterator]();!(t=(c=u.next()).done);t=!0){var l,s,d,p=c.value,f=null!==(d=(l=n)[s=p])&&void 0!==d?d:l[s]=[];r.isMultiple&&f.length&&console.warn("Snippet ".concat(f.at(-1).name," for code(").concat(p,") is shadowed by ").concat(r.name)),f.push(r)}}catch(e){o=!0,i=e}finally{try{t||null==u.return||u.return()}finally{if(o)throw i}}return e}),[{}])}(r),d=!1,p=s.length-1;!e(o,0,"EOF");){var f=i(s,o.code,p),m=null==f?void 0:f[o.code].at(-1);if(!f||!m){u.rewind();break}m.isMultiple||f[o.code].pop();var y=m.name,b=m.parser,v=m.isMultiple,I=null==b?void 0:b(o,u,l);if(I===t){u.rewind();break}if(y){var g=a(c(l,y),2),h=g[0],E=g[1];v?(Object.hasOwn(h,E)||(h[E]=[]),h[E].push(I)):h[E]=I}m.pushContext&&(p-=1),d=!0,o=u.next()}return n&&Object.setPrototypeOf(l,n),d}}function i(e,r,n){return e.find((function(e,a){var t;return a>=n&&(null===(t=e[r])||void 0===t?void 0:t.length)}))}function c(e,r){for(var n=r.split("."),a=e,t=0;t<n.length-1;++t){var o=n[t];Object.hasOwn(a,o)||(a[o]={}),a=a[o]}return[a,n.at(-1)]}function u(e){return e.value}function l(e,n){return r(n)}function s(e){return!!e.value}var d=[{code:100,name:"subclassMarker",parser:u},{code:330,name:"ownerObjectId",parser:u},{code:102,parser:function(r,n){for(;!e(r,0,"EOF")&&!e(r,102,"}");)r=n.next()}},{code:5,name:"handle",parser:u}];function p(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}var f,m,y,b,v,I,g,h,E,A,O,S,T,D,w,N,P,L,M,C,k,R,_,j,F,x,V,U;o([{code:310,name:"bmpPreview",parser:u},{code:281,name:"scalability",parser:u},{code:280,name:"explodability",parser:u},{code:70,name:"insertionUnits",parser:u},{code:340,name:"layoutObjects",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){if(Array.isArray(e))return p(e)}(f=d)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(f)||function(e,r){if(e){if("string"==typeof e)return p(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,r):void 0}}(f)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()));function B(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function G(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function H(e){return function(e){if(Array.isArray(e))return B(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return B(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}!function(e){e[e.BYBLOCK=0]="BYBLOCK",e[e.BYLAYER=256]="BYLAYER"}(m||(m={})),Math.PI,function(e){e[e.Rotated=0]="Rotated",e[e.Aligned=1]="Aligned",e[e.Angular=2]="Angular",e[e.Diameter=3]="Diameter",e[e.Radius=4]="Radius",e[e.Angular3Point=5]="Angular3Point",e[e.Ordinate=6]="Ordinate",e[e.ReferenceIsExclusive=32]="ReferenceIsExclusive",e[e.IsOrdinateXTypeFlag=64]="IsOrdinateXTypeFlag",e[e.IsCustomTextPositionFlag=128]="IsCustomTextPositionFlag"}(y||(y={})),function(e){e[e.TopLeft=1]="TopLeft",e[e.TopCenter=2]="TopCenter",e[e.TopRight=3]="TopRight",e[e.MiddleLeft=4]="MiddleLeft",e[e.MiddleCenter=5]="MiddleCenter",e[e.MiddleRight=6]="MiddleRight",e[e.BottomLeft=7]="BottomLeft",e[e.BottomCenter=8]="BottomCenter",e[e.BottomRight=9]="BottomRight"}(b||(b={})),function(e){e[e.AtLeast=1]="AtLeast",e[e.Exact=2]="Exact"}(v||(v={})),function(e){e[e.Center=0]="Center",e[e.Above=1]="Above",e[e.Outside=2]="Outside",e[e.JIS=3]="JIS",e[e.Below=4]="Below"}(I||(I={})),function(e){e[e.Feet=0]="Feet",e[e.None=1]="None",e[e.Inch=2]="Inch",e[e.FeetAndInch=3]="FeetAndInch",e[e.Leading=4]="Leading",e[e.Trailing=8]="Trailing",e[e.LeadingAndTrailing=12]="LeadingAndTrailing"}(g||(g={})),function(e){e[e.None=0]="None",e[e.Leading=1]="Leading",e[e.Trailing=2]="Trailing",e[e.LeadingAndTrailing=3]="LeadingAndTrailing"}(h||(h={})),function(e){e[e.Center=0]="Center",e[e.Left=1]="Left",e[e.Right=2]="Right",e[e.OverFirst=3]="OverFirst",e[e.OverSecond=4]="OverSecond"}(E||(E={})),function(e){e[e.Bottom=0]="Bottom",e[e.Center=1]="Center",e[e.Top=2]="Top"}(A||(A={})),function(e){e[e.PatternFill=0]="PatternFill",e[e.SolidFill=1]="SolidFill"}(O||(O={})),function(e){e[e.NonAssociative=0]="NonAssociative",e[e.Associative=1]="Associative"}(S||(S={})),function(e){e[e.Normal=0]="Normal",e[e.Outer=1]="Outer",e[e.Ignore=2]="Ignore"}(T||(T={})),function(e){e[e.UserDefined=0]="UserDefined",e[e.Predefined=1]="Predefined",e[e.Custom=2]="Custom"}(D||(D={})),function(e){e[e.NotAnnotated=0]="NotAnnotated",e[e.Annotated=1]="Annotated"}(w||(w={})),function(e){e[e.Solid=0]="Solid",e[e.Gradient=1]="Gradient"}(N||(N={})),function(e){e[e.TwoColor=0]="TwoColor",e[e.OneColor=1]="OneColor"}(P||(P={})),function(e){e[e.Default=0]="Default",e[e.External=1]="External",e[e.Polyline=2]="Polyline",e[e.Derived=4]="Derived",e[e.Textbox=8]="Textbox",e[e.Outermost=16]="Outermost"}(L||(L={})),function(e){e[e.Line=1]="Line",e[e.Circular=2]="Circular",e[e.Elliptic=3]="Elliptic",e[e.Spline=4]="Spline"}(M||(M={})),function(e){e[e.English=0]="English",e[e.Metric=1]="Metric"}(C||(C={})),function(e){e[e.Off=0]="Off",e[e.Solid=1]="Solid",e[e.Dashed=2]="Dashed",e[e.Dotted=3]="Dotted",e[e.ShotDash=4]="ShotDash",e[e.MediumDash=5]="MediumDash",e[e.LongDash=6]="LongDash",e[e.DoubleShortDash=7]="DoubleShortDash",e[e.DoubleMediumDash=8]="DoubleMediumDash",e[e.DoubleLongDash=9]="DoubleLongDash",e[e.DoubleMediumLongDash=10]="DoubleMediumLongDash",e[e.SparseDot=11]="SparseDot"}(k||(k={})),function(e){e[e.Standard=-3]="Standard",e[e.ByLayer=-2]="ByLayer",e[e.ByBlock=-1]="ByBlock"}(R||(R={})),function(e){e[e.PERSPECTIVE_MODE=1]="PERSPECTIVE_MODE",e[e.FRONT_CLIPPING=2]="FRONT_CLIPPING",e[e.BACK_CLIPPING=4]="BACK_CLIPPING",e[e.UCS_FOLLOW=8]="UCS_FOLLOW",e[e.FRONT_CLIP_NOT_AT_EYE=16]="FRONT_CLIP_NOT_AT_EYE",e[e.UCS_ICON_VISIBILITY=32]="UCS_ICON_VISIBILITY",e[e.UCS_ICON_AT_ORIGIN=64]="UCS_ICON_AT_ORIGIN",e[e.FAST_ZOOM=128]="FAST_ZOOM",e[e.SNAP_MODE=256]="SNAP_MODE",e[e.GRID_MODE=512]="GRID_MODE",e[e.ISOMETRIC_SNAP_STYLE=1024]="ISOMETRIC_SNAP_STYLE",e[e.HIDE_PLOT_MODE=2048]="HIDE_PLOT_MODE",e[e.K_ISO_PAIR_TOP=4096]="K_ISO_PAIR_TOP",e[e.K_ISO_PAIR_RIGHT=8192]="K_ISO_PAIR_RIGHT",e[e.VIEWPORT_ZOOM_LOCKING=16384]="VIEWPORT_ZOOM_LOCKING",e[e.UNUSED=32768]="UNUSED",e[e.NON_RECTANGULAR_CLIPPING=65536]="NON_RECTANGULAR_CLIPPING",e[e.VIEWPORT_OFF=131072]="VIEWPORT_OFF",e[e.GRID_BEYOND_DRAWING_LIMITS=262144]="GRID_BEYOND_DRAWING_LIMITS",e[e.ADAPTIVE_GRID_DISPLAY=524288]="ADAPTIVE_GRID_DISPLAY",e[e.SUBDIVISION_BELOW_SPACING=1048576]="SUBDIVISION_BELOW_SPACING",e[e.GRID_FOLLOWS_WORKPLANE=2097152]="GRID_FOLLOWS_WORKPLANE"}(_||(_={})),function(e){e[e.OPTIMIZED_2D=0]="OPTIMIZED_2D",e[e.WIREFRAME=1]="WIREFRAME",e[e.HIDDEN_LINE=2]="HIDDEN_LINE",e[e.FLAT_SHADED=3]="FLAT_SHADED",e[e.GOURAUD_SHADED=4]="GOURAUD_SHADED",e[e.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",e[e.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME"}(j||(j={})),function(e){e[e.UCS_UNCHANGED=0]="UCS_UNCHANGED",e[e.HAS_OWN_UCS=1]="HAS_OWN_UCS"}(F||(F={})),function(e){e[e.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",e[e.TOP=1]="TOP",e[e.BOTTOM=2]="BOTTOM",e[e.FRONT=3]="FRONT",e[e.BACK=4]="BACK",e[e.LEFT=5]="LEFT",e[e.RIGHT=6]="RIGHT"}(x||(x={})),function(e){e[e.AS_DISPLAYED=0]="AS_DISPLAYED",e[e.WIREFRAME=1]="WIREFRAME",e[e.HIDDEN=2]="HIDDEN",e[e.RENDERED=3]="RENDERED"}(V||(V={})),function(e){e[e.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",e[e.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS"}(U||(U={}));var W=H([{name:"DIMPOST",code:3},{name:"DIMAPOST",code:4},{name:"DIMBLK_OBSOLETE",code:5},{name:"DIMBLK1_OBSOLETE",code:6},{name:"DIMBLK2_OBSOLETE",code:7},{name:"DIMSCALE",code:40,defaultValue:1},{name:"DIMASZ",code:41,defaultValue:.25},{name:"DIMEXO",code:42,defaultValue:.625,defaultValueImperial:.0625},{name:"DIMDLI",code:43,defaultValue:3.75,defaultValueImperial:.38},{name:"DIMEXE",code:44,defaultValue:2.25,defaultValueImperial:.28},{name:"DIMRND",code:45,defaultValue:0},{name:"DIMDLE",code:46,defaultValue:0},{name:"DIMTP",code:47,defaultValue:0},{name:"DIMTM",code:48,defaultValue:0},{name:"DIMTXT",code:140,defaultValue:2.5,defaultValueImperial:.28},{name:"DIMCEN",code:141,defaultValue:2.5,defaultValueImperial:.09},{name:"DIMTSZ",code:142,defaultValue:0},{name:"DIMALTF",code:143,defaultValue:25.4},{name:"DIMLFAC",code:144,defaultValue:1},{name:"DIMTVP",code:145,defaultValue:0},{name:"DIMTFAC",code:146,defaultValue:1},{name:"DIMGAP",code:147,defaultValue:.625,defaultValueImperial:.09},{name:"DIMALTRND",code:148,defaultValue:0},{name:"DIMTOL",code:71,defaultValue:0,defaultValueImperial:1},{name:"DIMLIM",code:72,defaultValue:0},{name:"DIMTIH",code:73,defaultValue:0,defaultValueImperial:1},{name:"DIMTOH",code:74,defaultValue:0,defaultValueImperial:1},{name:"DIMSE1",code:75,defaultValue:0},{name:"DIMSE2",code:76,defaultValue:0},{name:"DIMTAD",code:77,defaultValue:I.Above,defaultValueImperial:I.Center},{name:"DIMZIN",code:78,defaultValue:g.Trailing,defaultValueImperial:g.Feet},{name:"DIMAZIN",code:79,defaultValue:h.None},{name:"DIMALT",code:170,defaultValue:0},{name:"DIMALTD",code:171,defaultValue:3,defaultValueImperial:2},{name:"DIMTOFL",code:172,defaultValue:1,defaultValueImperial:0},{name:"DIMSAH",code:173,defaultValue:0},{name:"DIMTIX",code:174,defaultValue:0},{name:"DIMSOXD",code:175,defaultValue:0},{name:"DIMCLRD",code:176,defaultValue:0},{name:"DIMCLRE",code:177,defaultValue:0},{name:"DIMCLRT",code:178,defaultValue:0},{name:"DIMADEC",code:179},{name:"DIMUNIT",code:270},{name:"DIMDEC",code:271,defaultValue:2,defaultValueImperial:4},{name:"DIMTDEC",code:272,defaultValue:2,defaultValueImperial:4},{name:"DIMALTU",code:273,defaultValue:2},{name:"DIMALTTD",code:274,defaultValue:2,defaultValueImperial:4},{name:"DIMAUNIT",code:275,defaultValue:0},{name:"DIMFRAC",code:276,defaultValue:0},{name:"DIMLUNIT",code:277,defaultValue:2},{name:"DIMDSEP",code:278,defaultValue:",",defaultValueImperial:"."},{name:"DIMJUST",code:280,defaultValue:E.Center},{name:"DIMSD1",code:281,defaultValue:0},{name:"DIMSD2",code:282,defaultValue:0},{name:"DIMTOLJ",code:283,defaultValue:A.Center},{name:"DIMTZIN",code:284,defaultValue:g.Trailing,defaultValueImperial:g.Feet},{name:"DIMALTZ",code:285,defaultValue:g.Trailing},{name:"DIMALTTZ",code:286,defaultValue:g.Trailing},{name:"DIMFIT",code:287},{name:"DIMUPT",code:288,defaultValue:0},{name:"DIMATFIT",code:289,defaultValue:3},{name:"DIMTXSTY",code:340},{name:"DIMLDRBLK",code:341},{name:"DIMBLK",code:342},{name:"DIMBLK1",code:343},{name:"DIMBLK2",code:344},{name:"DIMLWD",code:371,defaultValue:-2},{name:"DIMLWD",code:372,defaultValue:-2}].map((function(e){return r=function(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),a.forEach((function(r){G(e,r,n[r])}))}return e}({},e),n=null!=(n={parser:u})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):function(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n.push.apply(n,a)}return n}(Object(n)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))})),r;var r,n}))).concat([{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u},{code:105,name:"handle",parser:u}],H(d.filter((function(e){return 5!==e.code}))));o(W);function Y(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}var $=[{code:347,name:"materialObjectId",parser:u},{code:390,name:"plotStyleNameObjectId",parser:u},{code:370,name:"lineweight",parser:u},{code:290,name:"isPlotting",parser:s},{code:6,name:"lineType",parser:u},{code:62,name:"colorIndex",parser:u},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Y(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Y(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(d));o($);function X(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}var z=o([{code:9,name:"text",parser:u},{code:45,name:"offsetY",parser:u},{code:44,name:"offsetX",parser:u},{code:50,name:"rotation",parser:u},{code:46,name:"scale",parser:u},{code:340,name:"styleObjectId",parser:u},{code:75,name:"shapeNumber",parser:u},{code:74,name:"elementTypeFlag",parser:u},{code:49,name:"elementLength",parser:u}],{elementTypeFlag:0,elementLength:0}),K=[{code:49,name:"pattern",parser:function(e,r){var n={};return z(e,r,n),n},isMultiple:!0},{code:40,name:"totalPatternLength",parser:u},{code:73,name:"numberOfLineTypes",parser:u},{code:72,parser:u},{code:3,name:"description",parser:u},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return X(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return X(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?X(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(d));o(K);function Z(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}var J=[{code:1e3,name:"extendedFont",parser:u},{code:1001},{code:4,name:"bigFont",parser:u},{code:3,name:"font",parser:u},{code:42,name:"lastHeight",parser:u},{code:71,name:"textGenerationFlag",parser:u},{code:50,name:"obliqueAngle",parser:u},{code:41,name:"widthFactor",parser:u},{code:40,name:"fixedTextHeight",parser:u},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Z(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Z(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(d));o(J);function q(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}var Q=[{code:[63,421,431],name:"ambientColor",parser:u},{code:142,name:"contrast",parser:u},{code:141,name:"brightness",parser:u},{code:282,name:"defaultLightingType",parser:u},{code:292,name:"isDefaultLightingOn",parser:s},{code:348,name:"visualStyleObjectId",parser:u},{code:333,name:"shadePlotObjectId",parser:u},{code:332,name:"backgroundObjectId",parser:u},{code:61,name:"majorGridLines",parser:u},{code:170,name:"shadePlotSetting",parser:u},{code:146,name:"elevation",parser:u},{code:79,name:"orthographicType",parser:u},{code:112,name:"ucsYAxis",parser:l},{code:111,name:"ucsXAxis",parser:l},{code:110,name:"ucsOrigin",parser:l},{code:74,name:"ucsIconSetting",parser:u},{code:71,name:"viewMode",parser:u},{code:281,name:"renderMode",parser:u},{code:1,name:"styleSheet",parser:u},{code:[331,441],name:"frozenLayers",parser:u,isMultiple:!0},{code:72,name:"circleSides",parser:u},{code:51,name:"viewTwistAngle",parser:u},{code:50,name:"snapRotationAngle",parser:u},{code:45,name:"viewHeight",parser:u},{code:44,name:"backClippingPlane",parser:u},{code:43,name:"frontClippingPlane",parser:u},{code:42,name:"lensLength",parser:u},{code:17,name:"viewTarget",parser:l},{code:16,name:"viewDirectionFromTarget",parser:l},{code:15,name:"gridSpacing",parser:l},{code:14,name:"snapSpacing",parser:l},{code:13,name:"snapBasePoint",parser:l},{code:12,name:"center",parser:l},{code:11,name:"upperRightCorner",parser:l},{code:10,name:"lowerLeftCorner",parser:l},{code:70,name:"standardFlag",parser:u},{code:2,name:"name",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return q(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return q(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?q(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(d));o(Q),o([{code:70,name:"maxNumberOfEntries",parser:u},{code:100,name:"subclassMarker",parser:u},{code:330,name:"ownerObjectId",parser:u},{code:102},{code:360,isMultiple:!0},{code:102},{code:5,name:"handle",parser:u},{code:2,name:"name",parser:u}]);const ee=[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 re,ne=[{code:1001,name:"xdata",parser:ae}];function ae(n,a){if(!e(n,1001))throw new Error("XData must starts with code 1001");var t={appName:n.value,value:[]};n=a.next();for(var o=[t.value];!e(n,0,"EOF")&&n.code>=1e3;){var i=o.at(-1);switch(n.code){case 1002:var c;"{"===n.value?o.push([]):(o.pop(),null===(c=o.at(-1))||void 0===c||c.push(i));break;case 1e3:case 1004:case 1040:case 1070:case 1071:i.push({type:te(n.code),value:n.value});break;case 1003:i.push({name:"layer",type:te(n.code),value:n.value});break;case 1005:i.push({name:"handle",type:te(n.code),value:n.value});break;case 1010:i.push({type:te(n.code),value:r(a)});break;case 1011:i.push({name:"worldSpacePosition",type:te(n.code),value:r(a)});break;case 1012:i.push({name:"worldSpaceDisplacement",type:te(n.code),value:r(a)});break;case 1013:i.push({name:"worldSpaceDirection",type:te(n.code),value:r(a)});break;case 1041:i.push({name:"distance",type:te(n.code),value:n.value});break;case 1042:i.push({name:"scale",type:te(n.code),value:n.value})}n=a.next()}return a.rewind(),t}function te(e){switch(e){case 1e3:case 1003:case 1005:return"string";case 1004:return"hex";case 1040:case 1041:case 1042:return"real";case 1070:return"integer";case 1071:return"long";case 1010:case 1011:case 1012:case 1013:return"point";default:return""}}function oe(e){return ee[e]}function ie(r,n,a){if(e(n,102))return le(n,a),!0;switch(n.code){case 0:r.type=n.value;break;case 5:r.handle=n.value;break;case 330:r.ownerDictionarySoftId?r.ownerBlockRecordSoftId=n.value:r.ownerDictionarySoftId=n.value;break;case 360:r.ownerdictionaryHardId=n.value;break;case 67:r.isInPaperSpace=!!n.value;break;case 8:r.layer=n.value;break;case 6:r.lineType=n.value;break;case 347:r.materialObjectHardId=n.value;break;case 62:r.colorIndex=n.value,r.color=oe(Math.abs(n.value));break;case 370:r.lineweight=n.value;break;case 48:r.lineTypeScale=n.value;break;case 60:r.isVisible=!!n.value;break;case 92:r.proxyByte=n.value;break;case 310:r.proxyEntity=n.value;break;case 100:break;case 420:r.color=n.value;break;case 430:r.transparency=n.value;break;case 390:r.plotStyleHardId=n.value;break;case 284:r.shadowMode=n.value;break;case 1001:r.xdata=ae(n,a);break;default:return!1}return!0}function ce(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}!function(e){e[e.CAST_AND_RECEIVE=0]="CAST_AND_RECEIVE",e[e.CAST=1]="CAST",e[e.RECEIVE=2]="RECEIVE",e[e.IGNORE=3]="IGNORE"}(re||(re={}));var ue=function(e){return function(e){if(Array.isArray(e))return ce(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return ce(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ce(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ne).concat([{code:284,name:"shadowMode",parser:u},{code:390,name:"plotStyleHardId",parser:u},{code:440,name:"transparency",parser:u},{code:430,name:"colorName",parser:u},{code:420,name:"color",parser:u},{code:310,name:"proxyEntity",parser:u},{code:92,name:"proxyByte",parser:u},{code:60,name:"isVisible",parser:s},{code:48,name:"lineTypeScale",parser:u},{code:370,name:"lineweight",parser:u},{code:62,name:"colorIndex",parser:function(e,r,n){var a=e.value;return n.color=oe(Math.abs(a)),a}},{code:347,name:"materialObjectHardId",parser:u},{code:6,name:"lineType",parser:u},{code:8,name:"layer",parser:u},{code:410,name:"layoutTabName",parser:u},{code:67,name:"isInPaperSpace",parser:s},{code:100},{code:330,name:"ownerBlockRecordSoftId",parser:u},{code:102,parser:le},{code:102,parser:le},{code:102,parser:le},{code:5,name:"handle",parser:u}]);function le(r,n){for(r=n.next();!e(r,102)&&!e(r,0,"EOF");)r=n.next()}function se(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function de(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function pe(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}var fe,me,ye,be,ve,Ie={extrusionDirection:{x:0,y:0,z:1}},ge=[{code:210,name:"extrusionDirection",parser:l},{code:51,name:"endAngle",parser:u},{code:50,name:"startAngle",parser:u},{code:100,name:"subclassMarker",parser:u},{code:40,name:"radius",parser:u},{code:10,name:"center",parser:l},{code:39,name:"thickness",parser:u},{code:100}].concat(function(e){return function(e){if(Array.isArray(e))return se(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return se(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?se(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),he=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),pe(this,"parser",o(ge,Ie))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&de(r.prototype,n),e}();function Ee(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Ae(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Oe(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}pe(he,"ForEntityName","ARC"),function(e){e[e.NONE=0]="NONE",e[e.INVISIBLE=1]="INVISIBLE",e[e.CONSTANT=2]="CONSTANT",e[e.VERIFICATION_REQUIRED=4]="VERIFICATION_REQUIRED",e[e.PRESET=8]="PRESET"}(fe||(fe={})),function(e){e[e.MULTILINE=2]="MULTILINE",e[e.CONSTANT_MULTILINE=4]="CONSTANT_MULTILINE"}(me||(me={})),function(e){e[e.NONE=0]="NONE",e[e.MIRRORED_X=2]="MIRRORED_X",e[e.MIRRORED_Y=4]="MIRRORED_Y"}(ye||(ye={})),function(e){e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e[e.ALIGNED=3]="ALIGNED",e[e.MIDDLE=4]="MIDDLE",e[e.FIT=5]="FIT"}(be||(be={})),function(e){e[e.BASELINE=0]="BASELINE",e[e.BOTTOM=1]="BOTTOM",e[e.MIDDLE=2]="MIDDLE",e[e.TOP=3]="TOP"}(ve||(ve={}));var Se={thickness:0,rotation:0,xScale:1,obliqueAngle:0,styleName:"STANDARD",generationFlag:0,halign:be.LEFT,valign:ve.BASELINE,extrusionDirection:{x:0,y:0,z:1}},Te=[{code:73,name:"valign",parser:u},{code:100},{code:210,name:"extrusionDirection",parser:l},{code:11,name:"endPoint",parser:l},{code:72,name:"valign",parser:u},{code:72,name:"halign",parser:u},{code:71,name:"generationFlag",parser:u},{code:7,name:"styleName",parser:u},{code:51,name:"obliqueAngle",parser:u},{code:41,name:"xScale",parser:u},{code:50,name:"rotation",parser:u},{code:1,name:"text",parser:u},{code:40,name:"textHeight",parser:u},{code:10,name:"startPoint",parser:l},{code:39,name:"thickness",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Ee(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Ee(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ee(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),De=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Oe(this,"parser",o(Te,Se))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Ae(r.prototype,n),e}();function we(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Ne(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Pe(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}Oe(De,"ForEntityName","TEXT");var Le,Me,Ce=function(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),a.forEach((function(r){Pe(e,r,n[r])}))}return e}({},Se),ke=[{code:2},{code:40,name:"annotationScale",parser:u},{code:10,name:"alignmentPoint",parser:l},{code:340,name:"secondaryAttributesHardIds",isMultiple:!0,parser:u},{code:70,name:"numberOfSecondaryAttributes",parser:u},{code:70,name:"isReallyLocked",parser:s},{code:70,name:"mtextFlag",parser:u},{code:280,name:"isDuplicatedRecord",parser:s},{code:100},{code:280,name:"isLocked",parser:s},{code:74,name:"valign",parser:u},{code:73},{code:70,name:"attributeFlag",parser:u},{code:2,name:"tag",parser:u},{code:3,name:"prompt",parser:u},{code:280},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return we(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return we(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?we(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Te.slice(2))),Re=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Pe(this,"parser",o(ke,Ce))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Ne(r.prototype,n),e}();function _e(e){var r,n,a,t=arguments;return function(e,r){var n,a,t,o,i={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,a&&(t=2&o[0]?a.return:o[0]?a.throw||((t=a.return)&&t.call(a),0):a.next)&&!(t=t.call(a,o[1])).done)return t;switch(a=0,t&&(o=[2&o[0],t.value]),o[0]){case 0:case 1:t=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,a=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!((t=(t=i.trys).length>0&&t[t.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!t||o[1]>t[0]&&o[1]<t[3])){i.label=o[1];break}if(6===o[0]&&i.label<t[1]){i.label=t[1],t=o;break}if(t&&i.label<t[2]){i.label=t[2],i.ops.push(o);break}t[2]&&i.ops.pop(),i.trys.pop();continue}o=r.call(e,i)}catch(e){o=[6,e],a=0}finally{n=t=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,c])}}}(this,(function(o){switch(o.label){case 0:r=t.length>1&&void 0!==t[1]?t[1]:1/0,n=t.length>2&&void 0!==t[2]?t[2]:1,a=e,o.label=1;case 1:return a===r?[3,4]:[4,a];case 2:o.sent(),o.label=3;case 3:return a+=n,[3,1];case 4:return[2]}}))}function je(e){var r,n,a;return{x:null!==(r=e.x)&&void 0!==r?r:0,y:null!==(n=e.y)&&void 0!==n?n:0,z:null!==(a=e.z)&&void 0!==a?a:0}}function Fe(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function xe(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Ve(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function Ue(e){return function(e){if(Array.isArray(e))return Fe(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Fe(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fe(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}Pe(Re,"ForEntityName","ATTDEF"),function(e){e[e.INVISIBLE=1]="INVISIBLE",e[e.CONSTANT=2]="CONSTANT",e[e.REQUIRE_VERIFICATION=4]="REQUIRE_VERIFICATION",e[e.PRESET=8]="PRESET"}(Le||(Le={})),function(e){e[e.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",e[e.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",e[e.BY_STYLE=5]="BY_STYLE"}(Me||(Me={}));var Be={textStyle:"STANDARD",extrusionDirection:{x:0,y:0,z:1},rotation:0},Ge=[{code:46,name:"annotationHeight",parser:u},{code:101,parser:function(e,r){!function(e){e.rewind();var r=e.next();if(101!==r.code)throw new Error("Bad call for skipEmbeddedObject()");do{r=e.next()}while(0!==r.code);e.rewind()}(r)}},{code:50,name:"columnHeight",parser:u},{code:49,name:"columnGutter",parser:u},{code:48,name:"columnWidth",parser:u},{code:79,name:"columnAutoHeight",parser:u},{code:78,name:"columnFlowReversed",parser:u},{code:76,name:"columnCount",parser:u},{code:75,name:"columnType",parser:u},{code:441,name:"backgroundFillTransparency",parser:u},{code:63,name:"backgroundFillColor",parser:u},{code:45,name:"fillBoxScale",parser:u},{code:Ue(_e(430,440)),name:"backgroundColor",parser:u},{code:Ue(_e(420,430)),name:"backgroundColor",parser:u},{code:90,name:"backgroundFill",parser:u},{code:44,name:"lineSpacing",parser:u},{code:73,name:"lineSpacingStyle",parser:u},{code:50,name:"rotation",parser:u},{code:43},{code:42},{code:11,name:"direction",parser:l},{code:210,name:"extrusionDirection",parser:l},{code:7,name:"styleName",parser:u},{code:3,name:"text",parser:function(e,r,n){var a;return(null!==(a=n.text)&&void 0!==a?a:"")+e.value}},{code:1,name:"text",parser:u},{code:72,name:"drawingDirection",parser:u},{code:71,name:"attachmentPoint",parser:u},{code:41,name:"width",parser:u},{code:40,name:"height",parser:u},{code:10,name:"insertionPoint",parser:l},{code:100,name:"subclassMarker",parser:u}].concat(Ue(ue)),He=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Ve(this,"parser",o(Ge,Be))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&xe(r.prototype,n),e}();function We(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Ye(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function $e(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function Xe(e){return function(e){if(Array.isArray(e))return We(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return We(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?We(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}Ve(He,"ForEntityName","MTEXT");var ze={thickness:0,rotation:0,scale:1,obliqueAngle:0,textStyle:"STANDARD",textGenerationFlag:0,horizontalJustification:0,verticalJustification:0,extrusionDirection:{x:0,y:0,z:1}},Ke=Xe(Ge.slice(Ge.findIndex((function(e){return"columnType"===e.name})),Ge.findIndex((function(e){return"subclassMarker"===e.name}))+1)).concat([{code:100},{code:0,parser:function(r){if(!e(r,0,"MTEXT"))return t}},{code:2,name:"definitionTag",parser:u},{code:40,name:"annotationScale",parser:u},{code:10,name:"alignmentPoint",parser:l},{code:340,name:"secondaryAttributesHardId",parser:u},{code:70,name:"numberOfSecondaryAttributes",parser:u},{code:70,name:"isReallyLocked",parser:s},{code:70,name:"mtextFlag",parser:u},{code:280,name:"isDuplicatedEntriesKeep",parser:s},{code:100},{code:280,name:"lockPositionFlag",parser:s},{code:210,name:"extrusionDirection",parser:l},{code:11,name:"alignmentPoint",parser:l},{code:74,name:"verticalJustification",parser:u},{code:72,name:"horizontalJustification",parser:u},{code:71,name:"textGenerationFlag",parser:u},{code:7,name:"textStyle",parser:u},{code:51,name:"obliqueAngle",parser:u},{code:41,name:"scale",parser:u},{code:50,name:"rotation",parser:u},{code:73},{code:70,name:"attributeFlag",parser:u},{code:2,name:"tag",parser:u},{code:280},{code:100,name:"subclassMarker",parser:u},{code:1,name:"text",parser:u},{code:40,name:"textHeight",parser:u},{code:10,name:"startPoint",parser:l},{code:39,name:"thickness",parser:u},{code:100}],Xe(ue)),Ze=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),$e(this,"parser",o(Ke,ze))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Ye(r.prototype,n),e}();function Je(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function qe(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Qe(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}$e(Ze,"ForEntityName","ATTRIB");var er={thickness:0,extrusionDirection:{x:0,y:0,z:1}},rr=[{code:210,name:"extrusionDirection",parser:l},{code:40,name:"radius",parser:u},{code:10,name:"center",parser:l},{code:39,name:"thickness",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Je(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Je(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Je(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),nr=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Qe(this,"parser",o(rr,er))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&qe(r.prototype,n),e}();function ar(e,n,a){switch(n.code){case 100:e.subclassMarker=n.value;break;case 280:e.version=n.value;break;case 2:e.name=n.value;break;case 10:e.definitionPoint=r(a);break;case 11:e.textPoint=r(a);break;case 12:e.insertionPoint=r(a);break;case 13:e.subDefinitionPoint1=r(a);break;case 14:e.subDefinitionPoint2=r(a);break;case 15:e.centerPoint=r(a);break;case 16:e.arcPoint=r(a);break;case 70:e.dimensionType=n.value;break;case 71:e.attachmentPoint=n.value;break;case 72:e.textLineSpacingStyle=n.value;break;case 40:e.leaderLength=n.value;break;case 41:e.textLineSpacingFactor=n.value;break;case 42:e.measurement=n.value;break;case 1:e.text=n.value;break;case 50:e.rotationAngle=n.value;break;case 52:e.obliqueAngle=n.value;break;case 53:e.textRotation=n.value;break;case 51:e.ocsRotation=n.value;break;case 210:e.extrusionDirection=r(a);break;case 3:e.styleName=n.value;break;default:ie(e,n,a)}}function tr(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}Qe(nr,"ForEntityName","CIRCLE");var or,ir,cr,ur=function(){function r(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,r)}var n,a;return n=r,(a=[{key:"parseEntity",value:function(r,n){for(var a={};!e(n,0,"EOF");){if(0===n.code)return r.rewind(),a;ar(a,n,r),n=r.next()}return a}}])&&tr(n.prototype,a),r}();function lr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function sr(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function dr(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}cr="DIMENSION",(ir="ForEntityName")in(or=ur)?Object.defineProperty(or,ir,{value:cr,enumerable:!0,configurable:!0,writable:!0}):or[ir]=cr;var pr={extrusionDirection:{x:0,y:0,z:1}},fr=[{code:42,name:"endAngle",parser:u},{code:41,name:"startAngle",parser:u},{code:40,name:"axisRatio",parser:u},{code:210,name:"extrusionDirection",parser:l},{code:11,name:"majorAxisEndPoint",parser:l},{code:10,name:"center",parser:l},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return lr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return lr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lr(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),mr=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),dr(this,"parser",o(fr,pr))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&sr(r.prototype,n),e}();function yr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function br(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function vr(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}dr(mr,"ForEntityName","ELLIPSE");var Ir={xScale:1,yScale:1,zScale:1,rotation:0,columnCount:0,rowCount:0,columnSpacing:0,rowSpacing:0,extrusionDirection:{x:0,y:0,z:1}},gr=[{code:210,name:"extrusionDirection",parser:l},{code:45,name:"rowSpacing",parser:u},{code:44,name:"columnSpacing",parser:u},{code:71,name:"rowCount",parser:u},{code:70,name:"columnCount",parser:u},{code:50,name:"rotation",parser:u},{code:43,name:"zScale",parser:u},{code:42,name:"yScale",parser:u},{code:41,name:"xScale",parser:u},{code:10,name:"insertionPoint",parser:l},{code:2,name:"name",parser:u},{code:66,name:"isVariableAttributes",parser:s},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return yr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return yr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yr(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),hr=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),vr(this,"parser",o(gr,Ir))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&br(r.prototype,n),e}();function Er(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Ar(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Or(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}vr(hr,"ForEntityName","INSERT");var Sr,Tr={isArrowheadEnabled:!0},Dr=[{code:213,name:"offsetFromAnnotation",parser:l},{code:212,name:"offsetFromBlock",parser:l},{code:211,name:"horizontalDirection",parser:l},{code:210,name:"normal",parser:l},{code:340,name:"associatedAnnotation",parser:u},{code:77,name:"byBlockColor",parser:u},{code:10,name:"vertices",parser:l,isMultiple:!0},{code:76,name:"numberOfVertices",parser:u},{code:41,name:"textWidth",parser:u},{code:40,name:"textHeight",parser:u},{code:75,name:"isHooklineExists",parser:s},{code:74,name:"isHooklineSameDirection",parser:s},{code:73,name:"leaderCreationFlag",parser:u},{code:72,name:"isSpline",parser:s},{code:71,name:"isArrowheadEnabled",parser:s},{code:3,name:"styleName",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Er(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Er(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Er(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),wr=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Or(this,"parser",o(Dr,Tr))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Ar(r.prototype,n),e}();function Nr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Pr(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Lr(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}Or(wr,"ForEntityName","LEADER"),function(e){e[e.TextAnnotation=0]="TextAnnotation",e[e.ToleranceAnnotation=1]="ToleranceAnnotation",e[e.BlockReferenceAnnotation=2]="BlockReferenceAnnotation",e[e.NoAnnotation=3]="NoAnnotation"}(Sr||(Sr={}));var Mr,Cr={thickness:0,extrusionDirection:{x:0,y:0,z:1}},kr=[{code:210,name:"extrusionDirection",parser:l},{code:11,name:"endPoint",parser:l},{code:10,name:"startPoint",parser:l},{code:39,name:"thickness",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Nr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Nr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Nr(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),Rr=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Lr(this,"parser",o(kr,Cr))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Pr(r.prototype,n),e}();function _r(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function jr(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}Lr(Rr,"ForEntityName","LINE"),function(e){e[e.IS_CLOSED=1]="IS_CLOSED",e[e.PLINE_GEN=128]="PLINE_GEN"}(Mr||(Mr={}));var Fr={flag:0,elevation:0,thickness:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},xr={bulge:0},Vr=[{code:42,name:"bulge",parser:u},{code:41,name:"endWidth",parser:u},{code:40,name:"startWidth",parser:u},{code:91,name:"id",parser:u},{code:20,name:"y",parser:u},{code:10,name:"x",parser:u}],Ur=[{code:210,name:"extrusionDirection",parser:l},{code:10,name:"vertices",isMultiple:!0,parser:function(e,r){var n={};return o(Vr,xr)(e,r,n),n}},{code:39,name:"thickness",parser:u},{code:38,name:"elevation",parser:u},{code:43,name:"constantWidth",parser:u},{code:70,name:"flag",parser:u},{code:90,name:"numberOfVertices",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return _r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return _r(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_r(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),Br=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e)}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return o(Ur,Fr)(r,e,n),n}}])&&jr(r.prototype,n),e}();function Gr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Hr(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Wr(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}!function(e,r,n){r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}(Br,"ForEntityName","LWPOLYLINE");var Yr,$r,Xr,zr={thickness:0,extrusionDirection:{x:0,y:0,z:1},angle:0},Kr=[{code:50,name:"angle",parser:u},{code:210,name:"extrusionDirection",parser:l},{code:39,name:"thickness",parser:u},{code:10,name:"position",parser:l},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Gr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Gr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gr(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),Zr=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Wr(this,"parser",o(Kr,zr))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Hr(r.prototype,n),e}();function Jr(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function qr(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function Qr(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function en(e){return function(e){if(Array.isArray(e))return Jr(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Jr(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Jr(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}Wr(Zr,"ForEntityName","POINT"),function(e){e[e.CLOSED_POLYLINE=1]="CLOSED_POLYLINE",e[e.CURVE_FIT=2]="CURVE_FIT",e[e.SPLINE_FIT=4]="SPLINE_FIT",e[e.POLYLINE_3D=8]="POLYLINE_3D",e[e.POLYGON_3D=16]="POLYGON_3D",e[e.CLOSED_POLYGON=32]="CLOSED_POLYGON",e[e.POLYFACE=64]="POLYFACE",e[e.CONTINUOUS=128]="CONTINUOUS"}(Yr||(Yr={})),function(e){e[e.NONE=0]="NONE",e[e.QUADRATIC=5]="QUADRATIC",e[e.CUBIC=6]="CUBIC",e[e.BEZIER=8]="BEZIER"}($r||($r={})),function(e){e[e.CREATED_BY_CURVE_FIT=1]="CREATED_BY_CURVE_FIT",e[e.TANGENT_DEFINED=2]="TANGENT_DEFINED",e[e.NOT_USED=4]="NOT_USED",e[e.CREATED_BY_SPLINE_FIT=8]="CREATED_BY_SPLINE_FIT",e[e.SPLINE_CONTROL_POINT=16]="SPLINE_CONTROL_POINT",e[e.FOR_POLYLINE=32]="FOR_POLYLINE",e[e.FOR_POLYGON=64]="FOR_POLYGON",e[e.POLYFACE=128]="POLYFACE"}(Xr||(Xr={}));var rn={startWidth:0,endWidth:0,bulge:0},nn=[{code:91,name:"id",parser:u},{code:en(_e(71,75)),name:"faces",isMultiple:!0,parser:u},{code:50,name:"tangentDirection",parser:u},{code:70,name:"flag",parser:u},{code:42,name:"bulge",parser:u},{code:41,name:"endWidth",parser:u},{code:40,name:"startWidth",parser:u},{code:30,name:"z",parser:u},{code:20,name:"y",parser:u},{code:10,name:"x",parser:u},{code:100,name:"subclassMarker",parser:u},{code:100}].concat(en(ue)),an=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),Qr(this,"parser",o(nn,rn))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&qr(r.prototype,n),e}();function tn(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function on(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function cn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}Qr(an,"ForEntityName","VERTEX");var un={thickness:0,flag:0,startWidth:0,endWidth:0,meshMVertexCount:0,meshNVertexCount:0,surfaceMDensity:0,surfaceNDensity:0,smoothType:0,extrusionDirection:{x:0,y:0,z:1},vertices:[]},ln=[{code:0,name:"vertices",isMultiple:!0,parser:function(r,n){return e(r,0,"VERTEX")?(r=n.next(),(new an).parseEntity(n,r)):t}},{code:210,name:"extrusionDirection",parser:l},{code:75,name:"smoothType",parser:u},{code:74,name:"surfaceNDensity",parser:u},{code:73,name:"surfaceMDensity",parser:u},{code:72,name:"meshNVertexCount",parser:u},{code:71,name:"meshMVertexCount",parser:u},{code:41,name:"endWidth",parser:u},{code:40,name:"startWidth",parser:u},{code:70,name:"flag",parser:u},{code:39,name:"thickness",parser:u},{code:30,name:"elevation",parser:u},{code:20},{code:10},{code:66},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return tn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return tn(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tn(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),sn=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),cn(this,"parser",o(ln,un))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&on(r.prototype,n),e}();function dn(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function pn(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function fn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}cn(sn,"ForEntityName","POLYLINE");var mn={vertices:[],backLineVertices:[]},yn=[{code:360,name:"geometrySettingHardId",parser:u},{code:12,name:"backLineVertices",isMultiple:!0,parser:l},{code:93,name:"numberOfBackLineVertices",parser:u},{code:11,name:"vertices",isMultiple:!0,parser:l},{code:92,name:"verticesCount",parser:u},{code:[63,411],name:"indicatorColor",parser:u},{code:70,name:"indicatorTransparency",parser:u},{code:41,name:"bottomHeight",parser:u},{code:40,name:"topHeight",parser:u},{code:10,name:"verticalDirection",parser:l},{code:1,name:"name",parser:u},{code:91,name:"flag",parser:u},{code:90,name:"state",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return dn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return dn(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?dn(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),bn=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),fn(this,"parser",o(yn,mn))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&pn(r.prototype,n),e}();function vn(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function In(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function gn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function hn(e){return function(e){if(Array.isArray(e))return vn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return vn(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vn(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}fn(bn,"ForEntityName","SECTION");var En,An={points:[],thickness:0,extrusionDirection:{x:0,y:0,z:1}},On=[{code:210,name:"extrusionDirection",parser:l},{code:39,name:"thickness",parser:u},{code:hn(_e(10,14)),name:"points",isMultiple:!0,parser:l},{code:100,name:"subclassMarker",parser:u}].concat(hn(ue)),Sn=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),gn(this,"parser",o(On,An))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&In(r.prototype,n),e}();function Tn(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Dn(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function wn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}gn(Sn,"ForEntityName","SOLID"),function(e){e[e.NONE=0]="NONE",e[e.CLOSED=1]="CLOSED",e[e.PERIODIC=2]="PERIODIC",e[e.RATIONAL=4]="RATIONAL",e[e.PLANAR=8]="PLANAR",e[e.LINEAR=16]="LINEAR"}(En||(En={}));var Nn={knotTolerance:1e-6,controlTolerance:1e-6,fitTolerance:1e-9,knotValues:[],controlPoints:[],fitPoints:[]},Pn=[{code:11,name:"fitPoints",isMultiple:!0,parser:l},{code:10,name:"controlPoints",isMultiple:!0,parser:l},{code:41,name:"weights",isMultiple:!0,parser:u},{code:40,name:"knots",isMultiple:!0,parser:u},{code:13,name:"endTangent",parser:l},{code:12,name:"startTangent",parser:l},{code:44,name:"fitTolerance",parser:u},{code:43,name:"controlTolerance",parser:u},{code:42,name:"knotTolerance",parser:u},{code:74,name:"numberOfFitPoints",parser:u},{code:73,name:"numberOfControlPoints",parser:u},{code:72,name:"numberOfKnots",parser:u},{code:71,name:"degree",parser:u},{code:70,name:"flag",parser:u},{code:210,name:"normal",parser:l},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return Tn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Tn(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tn(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),Ln=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),wn(this,"parser",o(Pn,Nn))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Dn(r.prototype,n),e}();wn(Ln,"ForEntityName","SPLINE");var Mn=[{code:330,name:"sourceBoundaryObjects",parser:u,isMultiple:!0},{code:97,name:"numberOfSourceBoundaryObjects",parser:u}];function Cn(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function kn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}var Rn,_n=[{code:11,name:"end",parser:l},{code:10,name:"start",parser:l}],jn=[{code:73,name:"isCCW",parser:s},{code:51,name:"endAngle",parser:u},{code:50,name:"startAngle",parser:u},{code:40,name:"radius",parser:u},{code:10,name:"center",parser:l}],Fn=[{code:73,name:"isCCW",parser:s},{code:51,name:"endAngle",parser:u},{code:50,name:"startAngle",parser:u},{code:40,name:"lengthOfMinorAxis",parser:u},{code:11,name:"end",parser:l},{code:10,name:"center",parser:l}],xn=[{code:13,name:"endTangent",parser:l},{code:12,name:"startTangent",parser:l},{code:11,name:"fitDatum",isMultiple:!0,parser:l},{code:97,name:"numberOfFitData",parser:u},{code:10,name:"controlPoints",isMultiple:!0,parser:function(e,n){var a,t,o=(a=function(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),a.forEach((function(r){kn(e,r,n[r])}))}return e}({},r(n)),t=null!=(t={weight:1})?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):function(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n.push.apply(n,a)}return n}(Object(t)).forEach((function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(t,e))})),a);return 42===(e=n.next()).code?o.weight=e.value:n.rewind(),o}},{code:40,name:"knots",isMultiple:!0,parser:u},{code:96,name:"numberOfControlPoints",parser:u},{code:95,name:"numberOfKnots",parser:u},{code:74,name:"isPeriodic",parser:s},{code:73,name:"splineFlag",parser:u},{code:94,name:"degree",parser:u}],Vn=(kn(Rn={},M.Line,_n),kn(Rn,M.Circular,jn),kn(Rn,M.Elliptic,Fn),kn(Rn,M.Spline,xn),Rn),Un=function(e){return function(e){if(Array.isArray(e))return Cn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Cn(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Cn(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Mn).concat([{code:72,name:"edges",parser:function(e,r){var n={type:e.value},a=o(Vn[n.type]);if(!a)throw new Error("Invalid edge type ".concat(n.type));return a(e=r.next(),r,n),n},isMultiple:!0},{code:93,name:"numberOfEdges",parser:u}]);function Bn(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Gn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}var Hn=function(e){return function(e){if(Array.isArray(e))return Bn(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return Bn(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bn(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(Mn).concat([{code:10,name:"vertices",parser:function(e,n){var a,t,o=(a=function(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{},a=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),a.forEach((function(r){Gn(e,r,n[r])}))}return e}({},r(n)),t=null!=(t={bulge:0})?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(t)):function(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n.push.apply(n,a)}return n}(Object(t)).forEach((function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(t,e))})),a);return 42===(e=n.next()).code?o.bulge=e.value:n.rewind(),o},isMultiple:!0},{code:93,name:"numberOfVertices",parser:u},{code:73,name:"isClosed",parser:s},{code:72,name:"hasBulge",parser:s}]),Wn=[{code:49,name:"dashLengths",parser:u,isMultiple:!0},{code:79,name:"numberOfDashLengths",parser:u},{code:45,name:"offset",parser:Yn},{code:43,name:"base",parser:Yn},{code:53,name:"angle",parser:u}];function Yn(e,r){var n=e.code+1,a={x:e.value,y:1};return(e=r.next()).code===n?a.y=e.value:r.rewind(),a}function $n(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}function Xn(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}function zn(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}var Kn={extrusionDirection:{x:0,y:0,z:1},gradientRotation:0,colorTint:0},Zn=[{code:470},{code:463},{code:462,name:"colorTint",parser:u},{code:461,name:"gradientDefinition",parser:u},{code:460,name:"gradientRotation",parser:u},{code:453,name:"numberOfColors",parser:u},{code:452,name:"gradientColorFlag",parser:u},{code:451},{code:450,name:"gradientFlag",parser:u},{code:10,name:"seedPoints",parser:l,isMultiple:!0},{code:99},{code:11,name:"offsetVector",parser:l},{code:98,name:"numberOfSeedPoints",parser:u},{code:47,name:"pixelSize",parser:u},{code:53,name:"definitionLines",parser:function(e,r){var n={};return o(Wn)(e,r,n),n},isMultiple:!0},{code:78,name:"numberOfDefinitionLines",parser:u},{code:77,name:"isDouble",parser:s},{code:73,name:"isAnnotated",parser:s},{code:41,name:"patternScale",parser:u},{code:52,name:"patternAngle",parser:u},{code:76,name:"patternType",parser:u},{code:75,name:"hatchStyle",parser:u},{code:92,name:"boundaryPaths",parser:function(e,r){var n={boundaryPathTypeFlag:e.value},a=n.boundaryPathTypeFlag&L.Polyline;return e=r.next(),a?(o(Hn)(e,r,n),n):(o(Un)(e,r,n),n)},isMultiple:!0},{code:91,name:"numberOfBoundaryPaths",parser:u},{code:71,name:"associativity",parser:u},{code:63,name:"patternFillColor",parser:u},{code:70,name:"solidFill",parser:u},{code:2,name:"patternName",parser:u},{code:210,name:"extrusionDirection",parser:l},{code:10,name:"elevationPoint",parser:l},{code:100,name:"subclassMarker",parser:u,pushContext:!0}].concat(function(e){return function(e){if(Array.isArray(e))return $n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return $n(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$n(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ue)),Jn=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e),zn(this,"parser",o(Zn,Kn))}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){var n={};return this.parser(r,e,n),n}}])&&Xn(r.prototype,n),e}();function qn(e,r){for(var n=0;n<r.length;n++){var a=r[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}zn(Jn,"ForEntityName","HATCH");var Qn=function(){function e(){!function(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}(this,e)}var r,n;return r=e,(n=[{key:"parseEntity",value:function(e,r){for(var n={};"EOF"!==r;){if(0===r.code)return e.rewind(),n;ea(n,e,r)||ie(n,r,e),r=e.next()}return n}}])&&qn(r.prototype,n),e}();function ea(e,n,a){if("EOF"===a)return!1;switch(a.code){case 0:return!1;case 100:e.subclassMarker=a.value;break;case 10:e.viewportCenter=je(r(n));break;case 40:e.width=a.value;break;case 41:e.height=a.value;break;case 68:e.status=a.value;break;case 69:e.viewportId=a.value;break;case 12:e.displayCenter=r(n);break;case 13:e.snapBase=r(n);break;case 14:e.snapSpacing=r(n);break;case 15:e.gridSpacing=r(n);break;case 16:e.viewDirection=je(r(n));break;case 17:e.targetPoint=je(r(n));break;case 42:e.perspectiveLensLength=a.value;break;case 43:e.frontClipZ=a.value;break;case 44:e.backClipZ=a.value;break;case 45:e.viewHeight=a.value;break;case 50:e.snapAngle=a.value;break;case 51:e.viewTwistAngle=a.value;break;case 72:e.circleZoomPercent=a.value;break;case 331:var t,o;null!==(o=(t=e).frozenLayerIds)&&void 0!==o||(t.frozenLayerIds=[]),e.frozenLayerIds.push(a.value);break;case 90:e.statusBitFlags=a.value;break;case 340:e.clippingBoundaryId=a.value;break;case 1:e.sheetName=a.value;break;case 281:e.renderMode=a.value;break;case 71:e.ucsPerViewport=a.value;break;case 110:e.ucsOrigin=je(r(n));break;case 111:e.ucsXAxis=je(r(n));break;case 112:e.ucsYAxis=je(r(n));break;case 345:e.ucsId=a.value;break;case 346:e.ucsBaseId=a.value;break;case 79:e.orthographicType=a.value;break;case 146:e.elevation=a.value;break;case 170:e.shadePlotMode=a.value;break;case 61:e.majorGridFrequency=a.value;break;case 332:e.backgroundId=a.value;break;case 333:e.shadePlotId=a.value;break;case 348:e.visualStyleId=a.value;break;case 292:e.isDefaultLighting=!!a.value;break;case 282:e.defaultLightingType=a.value;break;case 141:e.brightness=a.value;break;case 142:e.contrast=a.value;break;case 63:case 421:case 431:e.ambientLightColor=a.value;break;case 361:e.sunId=a.value;break;case 335:case 343:case 344:case 91:e.softPointer=a.value}return!0}!function(e,r,n){r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}(Qn,"ForEntityName","VIEWPORT"),Object.fromEntries([he,Re,Ze,nr,ur,mr,hr,wr,Rr,Br,He,Zr,sn,bn,Sn,Ln,De,Jn,Qn].map((function(e){return[e.ForEntityName,new e]})));var ra,na,aa,ta,oa,ia,ca=[{code:333,name:"shadePlotId",parser:u},{code:149,name:"imageOriginY",parser:u},{code:148,name:"imageOriginX",parser:u},{code:147,name:"scaleFactor",parser:u},{code:78,name:"shadePlotCustomDPI",parser:u},{code:77,name:"shadePlotResolution",parser:u},{code:76,name:"shadePlotMode",parser:u},{code:75,name:"standardScaleType",parser:u},{code:7,name:"currentStyleSheet",parser:u},{code:74,name:"plotType",parser:u},{code:73,name:"plotRotation",parser:u},{code:72,name:"paperUnit",parser:u},{code:70,name:"layoutFlag",parser:u},{code:143,name:"printScaleDenominator",parser:u},{code:142,name:"printScaleNominator",parser:u},{code:141,name:"windowAreaYMax",parser:u},{code:140,name:"windowAreaYMin",parser:u},{code:49,name:"windowAreaXMax",parser:u},{code:48,name:"windowAreaXMin",parser:u},{code:47,name:"plotOriginY",parser:u},{code:46,name:"plotOriginX",parser:u},{code:45,name:"paperHeight",parser:u},{code:44,name:"paperWidth",parser:u},{code:43,name:"marginTop",parser:u},{code:42,name:"marginRight",parser:u},{code:41,name:"marginBottom",parser:u},{code:40,name:"marginLeft",parser:u},{code:6,name:"plotViewName",parser:u},{code:4,name:"paperSize",parser:u},{code:2,name:"configName",parser:u},{code:1,name:"pageSetupName",parser:u},{code:100,name:"subclassMarker",parser:u}];function ua(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,a=new Array(r);n<r;n++)a[n]=e[n];return a}!function(e){e[e.INCHES=0]="INCHES",e[e.MILLIMETERS=1]="MILLIMETERS",e[e.PIXELS=2]="PIXELS"}(ra||(ra={})),function(e){e[e.LAST_SCREEN_DISPLAY=0]="LAST_SCREEN_DISPLAY",e[e.DRAWING_EXTENTS=1]="DRAWING_EXTENTS",e[e.DRAWING_LIMITS=2]="DRAWING_LIMITS",e[e.VIEW_SPECIFIED=3]="VIEW_SPECIFIED",e[e.WINDOW_SPECIFIED=4]="WINDOW_SPECIFIED",e[e.LAYOUT_INFORMATION=5]="LAYOUT_INFORMATION"}(na||(na={})),function(e){e[e.AS_DISPLAYED=0]="AS_DISPLAYED",e[e.WIREFRAME=1]="WIREFRAME",e[e.HIDDEN=2]="HIDDEN",e[e.RENDERED=3]="RENDERED"}(aa||(aa={})),function(e){e[e.DRAFT=0]="DRAFT",e[e.PREVIEW=1]="PREVIEW",e[e.NORMAL=2]="NORMAL",e[e.PRESENTATION=3]="PRESENTATION",e[e.MAXIMUM=4]="MAXIMUM",e[e.CUSTOM=5]="CUSTOM"}(ta||(ta={})),[{code:333,name:"shadePlotId",parser:u},{code:346,name:"orthographicUcsId",parser:u},{code:345,name:"namedUcsId",parser:u},{code:331,name:"viewportId",parser:u},{code:330,name:"paperSpaceTableId",parser:u},{code:76,name:"orthographicType",parser:u},{code:17,name:"ucsYAxis",parser:l},{code:16,name:"ucsXAxis",parser:l},{code:13,name:"ucsOrigin",parser:l},{code:146,name:"elevation",parser:u},{code:15,name:"maxExtent",parser:l},{code:14,name:"minExtent",parser:l},{code:12,name:"insertionBase",parser:l},{code:11,name:"maxLimit",parser:l},{code:10,name:"minLimit",parser:l},{code:71,name:"tabOrder",parser:u},{code:70,name:"controlFlag",parser:u},{code:1,name:"layoutName",parser:u},{code:100,name:"subclassMarker",parser:u}].concat(function(e){return function(e){if(Array.isArray(e))return ua(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(e){if("string"==typeof e)return ua(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ua(e,r):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(ca)),function(e){e[e.PSLTSCALE=1]="PSLTSCALE",e[e.LIMCHECK=2]="LIMCHECK"}(oa||(oa={})),function(e){e[e.NOT_APPLICABLE=0]="NOT_APPLICABLE",e[e.KEEP_EXISTING=1]="KEEP_EXISTING",e[e.USE_CLONE=2]="USE_CLONE",e[e.XREF_VALUE_NAME=3]="XREF_VALUE_NAME",e[e.VALUE_NAME=4]="VALUE_NAME",e[e.UNMANGLE_NAME=5]="UNMANGLE_NAME"}(ia||(ia={}));class la extends Error{constructor(e=la.MESSAGE){super(e)}}la.MESSAGE="'Iterable' can not used with async function.\nIf you want to deal with async function, see: [toAsync](https://fxts.dev/docs/toAsync)";const sa="\\ud800-\\udfff",da=`[${sa}]`,pa="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\u1ab0-\\u1aff\\u1dc0-\\u1dff]",fa="\\ud83c[\\udffb-\\udfff]",ma=`[^${sa}]`,ya="(?:\\ud83c[\\udde6-\\uddff]){2}",ba="[\\ud800-\\udbff][\\udc00-\\udfff]",va=`(?:${pa}|${fa})?`,Ia="[\\ufe0e\\ufe0f]?",ga=Ia+va+`(?:\\u200d(?:${[ma,ya,ba].join("|")})${Ia+va})*`,ha=`(?:${[`${ma}${pa}?`,pa,ya,ba,da].join("|")})`;RegExp(`${fa}(?=${fa})|${ha+ga}`,"g"),module.exports.DxfParser={}.DxfParser;
@@ -1,5 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2010-2023 Three.js Authors
4
- * SPDX-License-Identifier: MIT
5
- */
@@ -1 +0,0 @@
1
- export {};
@@ -1,6 +0,0 @@
1
- import type { Matrix3 } from 'three';
2
- export interface CommonEntityDecomposeOption {
3
- layer?: string;
4
- color: number;
5
- extrusionTransform?: Matrix3;
6
- }
@@ -1 +0,0 @@
1
- export declare function createMaxLessOrEqualFinder<T>(comp: (a: T, b: T) => number): (list: T[], target: T) => number;
@@ -1,6 +0,0 @@
1
- export declare function createDisjointSet(initialSize: number): {
2
- find: (index: number) => number;
3
- union: (ia: number, ib: number) => void;
4
- size: (index?: number) => number;
5
- getSets: () => Record<number, number[]>;
6
- };
@@ -1,17 +0,0 @@
1
- export declare function adjacentPairs<T>(itr: Iterable<T>, n: number, isClosed?: boolean): Generator<T[], void, unknown>;
2
- export declare function argmin<T>(itr: Iterable<T>, evaluator: (value: T) => number): {
3
- target: T;
4
- score: number;
5
- index: number;
6
- };
7
- export declare function subIterator<T>(array: T[], start: number, end: number): Generator<T, void, unknown>;
8
- export declare function reverseIterator<T>(array: T[]): Generator<T, void, unknown>;
9
- export declare function separate<T>(predicate: (value: T) => boolean, itr: Iterable<T>): T[][];
10
- export declare function findLast<T>(predicate: (value: T) => boolean, isIncremental: boolean, // true일 경우, predicate가 실패하는 즉시 종료
11
- itr: Iterable<T>): [T | undefined, number];
12
- /**
13
- * size개씩 자른 것을 생성한다. 만약 마지막에 size개가 안되면 그냥 되는대로 준다.
14
- * @param size
15
- * @param iterable
16
- */
17
- export declare function groupPairs<T>(size: number, iterable: Iterable<T>): Generator<T[], void, unknown>;
@@ -1,19 +0,0 @@
1
- export interface Edge<E> {
2
- index: number;
3
- values: E[];
4
- }
5
- /**
6
- * 정수로 표현하는 무향 비단순 그래프
7
- * 두 정점 사이에 간선이 여러 개 존재할 수 있음
8
- * 인접 리스트를 사용
9
- * 간선에 값을 할당할 수 있음
10
- */
11
- export declare class UndirectedMultiGraph<T> {
12
- vertices: Set<number>;
13
- edges: Edge<T>[][];
14
- addEdge(u: number, v: number, value: T): void;
15
- getDegree(v: number): number;
16
- getEdgeCount(u: number, v: number): number;
17
- getNeighbors(u: number): Generator<Edge<T>, void, undefined>;
18
- private connectDirected;
19
- }
@@ -1,19 +0,0 @@
1
- export declare class Queue<T> implements Iterable<T> {
2
- readonly growthRate: number;
3
- private data;
4
- private head;
5
- private tail;
6
- private _size;
7
- constructor(growthRate?: number);
8
- private grow;
9
- push(el: T): T;
10
- pop(): T | undefined;
11
- front(): T | undefined;
12
- size(): number;
13
- [Symbol.iterator](): IterableIterator<T>;
14
- isNotEmpty(): this is NonEmptyQueue<T>;
15
- }
16
- interface NonEmptyQueue<T> extends Queue<T> {
17
- pop(): T;
18
- }
19
- export {};
@@ -1,2 +0,0 @@
1
- import { Vector2 } from 'three';
2
- export declare function createTriangle(position: Vector2, angle: number, width: number, height: number): Vector2[];