@mlightcad/libredwg-converter 3.14.14 → 3.15.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.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 mlightcad
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 mlightcad
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,59 +1,59 @@
1
- # @mlightcad/libredwg-converter
2
-
3
- [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4
- [![npm version](https://img.shields.io/npm/v/@mlightcad/libredwg-converter.svg)](https://www.npmjs.com/package/@mlightcad/libredwg-converter)
5
-
6
- The `libredwg-converter` package provides a DWG file converter for the RealDWG-Web ecosystem, enabling reading and conversion of DWG files into the AutoCAD-like drawing database structure. It is based on the [LibreDWG](https://www.gnu.org/software/libredwg/) library compiled to WebAssembly.
7
-
8
- ## Overview
9
-
10
- This package implements a DWG file converter compatible with the RealDWG-Web data model. It allows you to register DWG file support in your application and convert DWG files into the in-memory drawing database.
11
-
12
- DWG parsing is provided through a dedicated Web Worker bundle (`libredwg-parser-worker.js`). **This converter is intended for Web Worker use only.** That restriction is not because parsing cannot run on the main thread in principle; it is a deliberate licensing choice. LibreDWG and its WebAssembly wrapper are copyleft (GPL), and loading them in a separate worker bundle helps keep that parser code apart from the main MIT-licensed application so license obligations are easier to manage.
13
-
14
- ## Key Features
15
-
16
- - **DWG File Support**: Read and convert DWG files to the drawing database
17
- - **Integration**: Designed to work with the RealDWG-Web data model and converter manager
18
- - **WebAssembly Powered**: Uses LibreDWG compiled to WASM, loaded in a Web Worker for license isolation
19
-
20
- ## Installation
21
-
22
- ```bash
23
- npm install @mlightcad/libredwg-converter
24
- ```
25
-
26
- > **Peer dependencies:**
27
- > - `@mlightcad/data-model`
28
-
29
- ## Usage Example
30
-
31
- ```typescript
32
- import { AcDbDatabaseConverterManager, AcDbFileType } from '@mlightcad/data-model';
33
- import { AcDbLibreDwgConverter } from '@mlightcad/libredwg-converter';
34
-
35
- const dwgConverter = new AcDbLibreDwgConverter({
36
- useWorker: true,
37
- parserWorkerUrl: './assets/libredwg-parser-worker.js'
38
- });
39
- AcDbDatabaseConverterManager.instance.register(AcDbFileType.DWG, dwgConverter);
40
- ```
41
-
42
- Deploy both `libredwg-parser-worker.js` and its sibling `libredwg-web.wasm` from this package's `dist/` folder to the same public directory. The worker loads the wasm from next to itself at runtime.
43
-
44
- ## API
45
-
46
- - **AcDbLibreDwgConverter**: Main converter class for DWG files (extends `AcDbDatabaseConverter`)
47
-
48
- ## Dependencies
49
-
50
- - **@mlightcad/data-model**: Drawing database and entity definitions
51
- - **@mlightcad/libredwg-web**: WASM wrapper for LibreDWG, loaded in the worker bundle by design for license isolation
52
-
53
- ## API Documentation
54
-
55
- For detailed API documentation, visit the [RealDWG-Web documentation](https://mlight-lee.github.io/realdwg-web/).
56
-
57
- ## Contributing
58
-
59
- This package is part of the RealDWG-Web monorepo. Please refer to the main project README for contribution guidelines.
1
+ # @mlightcad/libredwg-converter
2
+
3
+ [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
4
+ [![npm version](https://img.shields.io/npm/v/@mlightcad/libredwg-converter.svg)](https://www.npmjs.com/package/@mlightcad/libredwg-converter)
5
+
6
+ The `libredwg-converter` package provides a DWG file converter for the RealDWG-Web ecosystem, enabling reading and conversion of DWG files into the AutoCAD-like drawing database structure. It is based on the [LibreDWG](https://www.gnu.org/software/libredwg/) library compiled to WebAssembly.
7
+
8
+ ## Overview
9
+
10
+ This package implements a DWG file converter compatible with the RealDWG-Web data model. It allows you to register DWG file support in your application and convert DWG files into the in-memory drawing database.
11
+
12
+ DWG parsing is provided through a dedicated Web Worker bundle (`libredwg-parser-worker.js`). **This converter is intended for Web Worker use only.** That restriction is not because parsing cannot run on the main thread in principle; it is a deliberate licensing choice. LibreDWG and its WebAssembly wrapper are copyleft (GPL), and loading them in a separate worker bundle helps keep that parser code apart from the main MIT-licensed application so license obligations are easier to manage.
13
+
14
+ ## Key Features
15
+
16
+ - **DWG File Support**: Read and convert DWG files to the drawing database
17
+ - **Integration**: Designed to work with the RealDWG-Web data model and converter manager
18
+ - **WebAssembly Powered**: Uses LibreDWG compiled to WASM, loaded in a Web Worker for license isolation
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install @mlightcad/libredwg-converter
24
+ ```
25
+
26
+ > **Peer dependencies:**
27
+ > - `@mlightcad/data-model`
28
+
29
+ ## Usage Example
30
+
31
+ ```typescript
32
+ import { AcDbDatabaseConverterManager, AcDbFileType } from '@mlightcad/data-model';
33
+ import { AcDbLibreDwgConverter } from '@mlightcad/libredwg-converter';
34
+
35
+ const dwgConverter = new AcDbLibreDwgConverter({
36
+ useWorker: true,
37
+ parserWorkerUrl: './assets/libredwg-parser-worker.js'
38
+ });
39
+ AcDbDatabaseConverterManager.instance.register(AcDbFileType.DWG, dwgConverter);
40
+ ```
41
+
42
+ Deploy both `libredwg-parser-worker.js` and its sibling `libredwg-web.wasm` from this package's `dist/` folder to the same public directory. The worker loads the wasm from next to itself at runtime.
43
+
44
+ ## API
45
+
46
+ - **AcDbLibreDwgConverter**: Main converter class for DWG files (extends `AcDbDatabaseConverter`)
47
+
48
+ ## Dependencies
49
+
50
+ - **@mlightcad/data-model**: Drawing database and entity definitions
51
+ - **@mlightcad/libredwg-web**: WASM wrapper for LibreDWG, loaded in the worker bundle by design for license isolation
52
+
53
+ ## API Documentation
54
+
55
+ For detailed API documentation, visit the [RealDWG-Web documentation](https://mlight-lee.github.io/realdwg-web/).
56
+
57
+ ## Contributing
58
+
59
+ This package is part of the RealDWG-Web monorepo. Please refer to the main project README for contribution guidelines.
@@ -1 +1 @@
1
- (function(D,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(D=typeof globalThis<"u"?globalThis:D||self,r(D["libredwg-converter"]={},D.dataModel))})(this,(function(D,r){"use strict";class C{convert(e){const t=this.createEntity(e);if(t&&(this.processCommonAttrs(e,t),e.type==="ARCALIGNEDTEXT")){const o=e.rawTextColor;t.applyRawTextColor(o)}return t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="TOLERANCE"?this.convertTolerance(e):e.type=="SHAPE"?this.convertShape(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):e.type=="ACAD_PROXY_ENTITY"?this.convertProxyEntity(e):e.type=="OLE2FRAME"?this.convertOle2Frame(e):e.type=="OLEFRAME"?this.convertOleFrame(e):e.type=="ARCALIGNEDTEXT"?this.convertArcAlignedText(e):null}convertProxyEntity(e){const t=new r.AcDbProxyEntity;if(t.proxyEntityClassId=e.proxyEntityClassId,e.originalDxfName&&(t.originalDxfName=e.originalDxfName),e.applicationEntityClassId!=null&&(t.applicationEntityClassId=e.applicationEntityClassId),e.objectDrawingFormat!=null&&(t.objectDrawingFormat=e.objectDrawingFormat),e.originalDataFormat!=null&&(t.originalDataFormat=e.originalDataFormat),e.graphicsData){const o=r.acdbHexStringsToBytes([e.graphicsData]),n=e.graphicsDataSize??o.length;t.setProxyGraphic(o.subarray(0,n))}return t}convertFace(e){const t=new r.AcDbFace;return e.corner1&&t.setVertexAt(0,e.corner1),e.corner2&&t.setVertexAt(1,e.corner2),e.corner3&&t.setVertexAt(2,e.corner3),e.corner4&&t.setVertexAt(3,e.corner4),t.setEdgeInvisibilities(e.flag),t}convertArc(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new r.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(t.x,t.y,t.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){return r.AcDbSpline.fromDwgSpline(e)}convertPoint(e){const t=new r.AcDbPoint;return t.position=e.position,t}convertShape(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,o=new r.AcDbShape;return o.position=r.acgeTransformOcsPointToWcs(e.insertionPoint,t),o.size=e.size,o.shapeNumber=e.shapeNumber,e.styleName&&(o.styleName=e.styleName),o.rotation=e.rotation??0,o.widthFactor=e.xScale??1,o.oblique=e.obliqueAngle??0,o.thickness=e.thickness??0,o.normal.copy(t),o}convertSolid(e){const t=new r.AcDbSolid;return t.setPointAt(0,{...e.corner1,z:0}),t.setPointAt(1,{...e.corner2,z:0}),t.setPointAt(2,{...e.corner3,z:0}),t.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),t.thickness=e.thickness??0,t}convertLWPolyline(e){const t=new r.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,i)=>{t.addVertexAt(i,new r.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){var u;const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),i=!!(e.flag&32),s=[],c=[],a=[];if(e.vertices.map(l=>{if(!(l.flag&16))if(n&&l.flag&128)if(l.flag&64)s.push({x:l.x,y:l.y,z:l.z}),c.push(l.bulge??0);else{const f=[];l.polyfaceIndex0!=null&&l.polyfaceIndex0!=0&&f.push(Math.abs(l.polyfaceIndex0)-1),l.polyfaceIndex1!=null&&l.polyfaceIndex1!=0&&f.push(Math.abs(l.polyfaceIndex1)-1),l.polyfaceIndex2!=null&&l.polyfaceIndex2!=0&&f.push(Math.abs(l.polyfaceIndex2)-1),l.polyfaceIndex3!=null&&l.polyfaceIndex3!=0&&f.push(Math.abs(l.polyfaceIndex3)-1),f.length>=3&&a.push(f)}else s.push({x:l.x,y:l.y,z:l.z}),c.push(l.bulge??0)}),o){const l=e.meshMVertexCount??2,f=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(l,f,s,t,i)}else{if(n)return new r.AcDbPolyFaceMesh(s,a);{let l=r.AcDbPoly2dType.SimplePoly;e.flag&2?l=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?l=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(l=r.AcDbPoly2dType.QuadSplinePoly));const f=new r.AcDb2dPolyline(l,s,((u=s[0])==null?void 0:u.z)??0,t,e.startWidth,e.endWidth,c);return e.extrusionDirection&&(f.normal=e.extrusionDirection),f}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let n=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new r.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(i=>{t.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,e.solidFill==1&&(t.isSolidFill=!0),t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:e.patternAngle,t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const c=i,a=new r.AcGePolyline2d;a.closed=c.isClosed,c.vertices.forEach((u,l)=>{a.addVertexAt(l,{x:u.x,y:u.y,bulge:u.bulge})}),t.add(a)}else{const c=i,a=[];c.edges.forEach(l=>{if(l!=null){if(l.type==1){const f=l;a.push(new r.AcGeLine2d(f.start,f.end))}else if(l.type==2){const f=l;a.push(new r.AcGeCircArc2d(f.center,f.radius,f.startAngle,f.endAngle,!f.isCCW))}else if(l.type==3){const f=l;new r.AcGeVector2d().subVectors(f.end,f.center);const d=Math.sqrt(Math.pow(f.end.x,2)+Math.pow(f.end.y,2)),g=d*f.lengthOfMinorAxis;let b=f.startAngle,A=f.endAngle;const x=Math.atan2(f.end.y,f.end.x);f.isCCW||(b=Math.PI*2-b,A=Math.PI*2-A),a.push(new r.AcGeEllipseArc2d({...f.center,z:0},d,g,b,A,!f.isCCW,x))}else if(l.type==4){const f=r.AcGeSpline3d.fromDwgSplineEdge(l);f&&a.push(f)}}});const u=r.AcGeLoop2d.buildFromEdges(a);u.length==0&&a.length>0?t.add(new r.AcGeLoop2d(a)):u.forEach(l=>t.add(l))}}),e.gradientFlag){const i=e;if(t.hatchObjectType=r.AcDbHatchObjectType.GradientObject,t.gradientName=i.gradientName,t.gradientAngle=i.gradientRotation??0,t.gradientShift=i.gradientDefinition??0,t.gradientOneColorMode=i.gradientColorFlag==1,t.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(t.gradientStartColor=i.gradientColors[0].rgb,t.gradientEndColor=i.gradientColors[1].rgb):s>0&&(t.gradientStartColor=i.gradientColors[0].rgb)}}return e.extrusionDirection&&(t.normal=e.extrusionDirection),t}convertTable(e){const t=new r.AcDbTable(e.name??"",e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new r.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new r.AcDbText;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?(t.alignmentPoint.copy(e.endPoint),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(e.startPoint),t.hasAlignmentPoint=!1),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertArcAlignedText(e){const t=new r.AcDbArcAlignedText;return t.textString=e.text,t.textSize=e.textSize,t.xScale=e.xScale>0?e.xScale:1,t.characterSpacing=e.characterSpacing,e.styleName&&(t.styleName=e.styleName),t.fontName=e.fontName,t.bigFontName=e.bigFontName,t.offsetFromArc=e.offsetFromArc,t.rightOffset=e.rightOffset,t.leftOffset=e.leftOffset,t.center=new r.AcGePoint3d(e.center.x,e.center.y,e.center.z),t.radius=e.radius,t.startAngle=e.startAngle,t.endAngle=e.endAngle,t.normal=new r.AcGeVector3d(e.extrusionDirection.x,e.extrusionDirection.y,e.extrusionDirection.z||1),t.characterSet=e.characterSet,t.pitchAndFamily=e.pitchAndFamily,t.isShx=e.isShx,t.isBold=e.isBold,t.isItalic=e.isItalic,t.isUnderlined=e.isUnderlined,t.alignment=e.alignment,t.isReverse=e.isReverse,t.wizardFlag=e.wizardFlag,t.textPosition=e.textPosition,t.textDirection=e.textDirection,e.arcHandle&&(t.arcId=e.arcHandle),t}convertTolerance(e){const t=new r.AcDbFcf;return t.location.copy(e.insertionPoint),t.text=e.text,t.dimensionStyle=e.styleName??"",e.extrusionDirection&&t.normal.copy(e.extrusionDirection),e.xAxisDirection&&t.direction.copy(e.xAxisDirection),t}convertMText(e){const t=new r.AcDbMText;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.textHeight,t.width=e.rectWidth,t.rotation=e.rotation||0,t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new r.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,e.lineSpacing!=null&&e.lineSpacing>0&&(t.lineSpacingFactor=e.lineSpacing),e.lineSpacingStyle!=null&&(t.lineSpacingStyle=e.lineSpacingStyle),e.extentsWidth!=null&&e.extentsWidth>0&&(t.extentsWidth=e.extentsWidth),t}convertLeader(e){const t=new r.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,e.textHeight!=null&&(t.textHeight=e.textHeight),e.textWidth!=null&&(t.textWidth=e.textWidth),e.byBlockColor!=null&&(t.byBlockColor=e.byBlockColor),e.associatedAnnotation&&(t.associatedAnnotation=e.associatedAnnotation),e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new r.AcDbMLine;return t.styleName=e.mlineStyle||"STANDARD",t.scale=e.scale,t.flags=e.flags,t.justification=e.justification,t.startPosition=e.startPoint,t.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var I,P;const t=new r.AcDbMLeader,o=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??r.AcDbMLeaderLineType.StraightLeader,e.leaderLineColor!=null&&(t.leaderLineColor=this.convertMLeaderEntityColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,e.textColor!=null&&(t.textColor=this.convertMLeaderEntityColor(e.textColor)),t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,this.isValidHandleId(e.blockContentId)&&(t.blockContentId=e.blockContentId),e.blockContentColor!=null&&(t.blockContentColor=this.convertMLeaderEntityColor(e.blockContentColor)),t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(p=>({...p})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(p=>({...p})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,e.textBackgroundColor!=null&&(t.textBackgroundColor=this.convertMLeaderEntityColor(e.textBackgroundColor)),t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new r.AcGeVector3d(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new r.AcGePoint3d().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new r.AcGePoint3d().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new r.AcGePoint3d().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new r.AcGeVector3d(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new r.AcGeVector3d(e.planeYAxisDirection));const n=o.textContent,i=n&&typeof n=="object"?n:void 0,s=typeof n=="string"&&n.length>0||this.readString(i??{},["text","contents"])!=null||this.readString(o,["text","contents","mtext"])!=null,c=e.contentType??(s?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);t.contentType=c;const a=this.readPoint(o,["normal","extrusionDirection"]);a&&(t.normal=a);const u=this.readString(i??{},["styleName","textStyleName","textStyle"])??this.readString(o,["textStyleName","textStyle","styleName"]);u&&(t.textStyleName=u);const l=this.readPositiveNumber(i??{},["textHeight","height"])??this.readPositiveNumber(o,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(o,["arrowheadSize","contentScale"]);l!=null&&(t.textHeight=l);const f=this.readPositiveNumber(i??{},["textWidth","width"])??this.readPositiveNumber(o,["textWidth","mtextWidth","textContentWidth"]);f!=null&&(t.textWidth=f),t.textLineSpacingFactor=this.readNumber(i??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(o,["textLineSpacingFactor"])??t.textLineSpacingFactor;const h=this.readNumber(i??{},["lineSpacingStyle","textLineSpacingStyle"])??this.readNumber(o,["textLineSpacingStyle"]);h!=null&&(t.textLineSpacingStyle=h);const d=this.readNumber(i??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);d!=null&&(t.textRotation=d);const g=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);g&&(t.textDirection=g);const b=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);b!=null&&b!==0&&(t.textAttachmentPoint=b);const A=e.textAttachmentDirection;A!=null&&(t.textAttachmentDirection=A);const x=this.readNumber(o,["textDrawingDirection","drawingDirection"]);x!=null&&(t.textDrawingDirection=x);const T=typeof n=="string"?n:this.readString(i??{},["text","contents"])??this.readString(o,["text","contents","mtext"]),S=this.readPoint(i??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(o,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(T!=null&&S&&(t.mtextContent={text:T,anchorPoint:S}),e.blockContent){const p=e.blockContent,w=e.blockContent.blockContentId;if(this.isValidHandleId(w)){const v=this.readMLeaderEntityColor(p,["color"]);t.blockContent={blockContentId:w,normal:this.readPoint(p,["normal"]),position:e.blockContent.position,scale:this.readPoint(p,["scale"]),rotation:this.readNumber(p,["rotation"]),color:v,transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}}else this.isValidHandleId(e.blockContentId)&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:t.blockContentColor,transformationMatrix:[]});return(I=this.readMLeaderLeaders(o))==null||I.forEach(p=>{t.addLeader({lastLeaderLinePoint:p.lastLeaderLinePoint,lastLeaderLinePointSet:p.lastLeaderLinePointSet,doglegVector:p.doglegVector,doglegVectorSet:p.doglegVectorSet,doglegLength:p.doglegLength??e.doglegLength,breaks:p.breaks,leaderBranchIndex:p.leaderBranchIndex,leaderLines:p.leaderLines})}),t.numberOfLeaders===0&&((P=this.readLeaderLineArray(o))==null||P.forEach(p=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,p)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new r.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new r.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new r.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb2LineAngularDimension"){const t=e,o=t.definitionPoint??t.arcPoint??t.subDefinitionPoint2,n=t.centerPoint??t.subDefinitionPoint2??t.subDefinitionPoint1,i=n??o,s=t.subDefinitionPoint1??n??o,c=t.subDefinitionPoint2??n??o;if(!o||!t.name)return null;const a=new r.AcDb3PointAngularDimension(i,s,c,o);return this.processDimensionCommonAttrs(e,a),a}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new r.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new r.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new r.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags&4)!==0,t.isImageShown=(e.flags&3)!==0,t.isImageTransparent=(e.flags&8)!==0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new r.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new r.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new r.AcDbWipeout;return this.processImage(e,t),t}convertOleFrame(e){const t=new r.AcDbOleFrame;if(t.oleVersion=e.flag??0,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertOle2Frame(e){const t=new r.AcDbOle2Frame;if(t.oleVersion=e.oleVersion??0,t.userType=e.oleClient??"",e.leftUpPoint&&t.upperLeftCorner.copy(e.leftUpPoint),e.rightDownPoint&&t.lowerRightCorner.copy(e.rightDownPoint),t.setLockAspect(e.lockAspect??0),t.oleObjectType=e.oleObjectType??r.AcDbOleObjectType.Embedded,t.tileMode=e.tileModeDescriptor??r.AcDbOleTileMode.ModelSpace,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertViewport(e){const t=new r.AcDbViewport;t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,e.targetPoint&&t.viewTarget.copy(e.targetPoint),e.viewTwistAngle!=null&&(t.viewTwistAngle=e.viewTwistAngle);const o=1e-6,n=Math.abs(t.centerPoint.x)<o&&Math.abs(t.centerPoint.y)<o,i=t.viewTarget,s=Math.abs(i.x)<o&&Math.abs(i.y)<o,c=Number.isFinite(t.height)&&Number.isFinite(t.viewHeight)&&Math.abs(t.viewHeight-t.height)<o;return n&&s&&c&&t.centerPoint.copy(t.viewCenter),t}convertRay(e){const t=new r.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new r.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.copy(o.startPoint);const n=e.alignmentPoint??o.endPoint,i=!n||n.x===0&&n.y===0&&(n.z??0)===0;n&&!i?(t.alignmentPoint.copy(n),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(o.startPoint),t.hasAlignmentPoint=!1),t.rotation=o.rotation,t.oblique=o.obliqueAngle??0,t.thickness=o.thickness,t.horizontalMode=o.halign,t.verticalMode=o.valign,t.widthFactor=o.xScale??1,t.tag=e.tag,t.fieldLength=e.fieldLength,t.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new r.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new r.AcDbBlockReference(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale,t.scaleFactors.y=e.yScale,t.scaleFactors.z=e.zScale,t.rotation=e.rotation,t.normal.copy(e.extrusionDirection),e.columnCount!=null&&(t.columnCount=e.columnCount),e.rowCount!=null&&(t.rowCount=e.rowCount),e.columnSpacing!=null&&(t.columnSpacing=e.columnSpacing),e.rowSpacing!=null&&(t.rowSpacing=e.rowSpacing),e.handle!=null&&(t.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const n=this.convert(o);n instanceof r.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement}processCommonAttrs(e,t){t.layer=e.layer||"0",t.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(t.ownerId=e.ownerBlockRecordSoftId);const o=r.acdbNormalizeExtensionDictionaryId(e.extensionDictionary??e.ownerDictionaryHardId??e.ownerDictionarySoftId);if(o&&(t.extensionDictionary=o),this.applyExtendedData(e,t),e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const n=new r.AcCmColor;e.color!=null&&n.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(n.colorIndex=e.colorIndex),e.colorName&&(n.colorName=e.colorName),t.color=n}if(e.isVisible!=null&&(t.visibility=e.isVisible),e.transparency!=null){const n=new r.AcCmTransparency;n.method=e.transparencyType,(n.isByBlock||n.isByBlock)&&(n.alpha=e.transparency),t.transparency=n}}applyExtendedData(e,t){const o=e.xdata;if(!o)return;const n=Array.isArray(o)?o:[o];for(const i of n){if(!(i!=null&&i.appName))continue;const s=[{code:r.AcDbDxfCode.ExtendedDataRegAppName,value:i.appName}];for(const c of i.value??[])if(c!=null&&typeof c=="object"&&"code"in c&&"value"in c){const a=Number(c.code),u=c.value;(a===r.AcDbDxfCode.ExtendedDataHandle||a>=1e3&&a<=1071)&&s.push({code:a,value:typeof u=="string"||typeof u=="number"?u:String(u)})}t.setXData(new r.AcDbResultBuffer(s))}}convertMLeaderEntityColor(e){return r.acdbDecodeMLeaderStyleRawColor(e)}readMLeaderEntityColor(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return r.acdbDecodeMLeaderStyleRawColor(n)}}isValidHandleId(e){return e!=null&&e!==""&&e!=="0"}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readPositiveNumber(e,t){const o=this.readNumber(e,t);return o!=null&&o>0?o:void 0}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const i=n.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(i=>this.isPointLike(i));return n.length>0?[n]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const o=[];return t.forEach(n=>{if(!n||typeof n!="object")return;const i=n,s=i.leaderLines,c=Array.isArray(s)?s.reduce((g,b)=>{const A=this.readMLeaderLine(b);return A&&g.push(A),g},[]):void 0,a={},u=this.readPoint(i,["lastLeaderLinePoint"]),l=this.readPoint(i,["doglegVector"]),f=this.readNumber(i,["doglegLength"]),h=this.readMLeaderBreaks(i.breaks),d=this.readNumber(i,["leaderBranchIndex"]);u&&(a.lastLeaderLinePoint=u),i.lastLeaderLinePointSet!=null&&(a.lastLeaderLinePointSet=this.readBoolean(i,["lastLeaderLinePointSet"])),l&&(a.doglegVector=l),i.doglegVectorSet!=null&&(a.doglegVectorSet=this.readBoolean(i,["doglegVectorSet"])),f!=null&&(a.doglegLength=f),h&&(a.breaks=h),d!=null&&(a.leaderBranchIndex=d),c&&(a.leaderLines=c),o.push(a)}),o}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,o=t.vertices,n=Array.isArray(o)?o.filter(a=>this.isPointLike(a)):[],i=this.readMLeaderBreaks(t.breaks),s=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(a=>typeof a=="number"):void 0,c=this.readNumber(t,["leaderLineIndex"]);return n.length>0||i&&i.length>0?{vertices:n,breakPointIndexes:s,leaderLineIndex:c,breaks:i}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(o=>{if(!o||typeof o!="object")return;const n=o,i=this.readPoint(n,["start"]),s=this.readPoint(n,["end"]),c=this.readNumber(n,["index"]);if(!i||!s)return;const a={start:i,end:s};return c!=null&&(a.index=c),a}).filter(o=>!!o);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class L{convertMLeaderStyle(e){const t=new r.AcDbMLeaderStyle;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=r.acdbDecodeMLeaderStyleRawColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=r.acdbDecodeMLeaderStyleRawColor(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=r.acdbDecodeMLeaderStyleRawColor(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertLayerFilter(e){var o;const t=new r.AcDbLayerFilter;return(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),this.processCommonAttrs(e,t),t}convertLayerIndex(e){var o,n,i;const t=new r.AcDbLayerIndex;return e.timeStamp!=null&&(t.lastUpdatedAt=e.timeStamp,t.lastUpdatedAtU=e.timeStamp),(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),(n=e.idBufferIds)!=null&&n.length&&(t.idBufferIds=e.idBufferIds),(i=e.idBufferEntryCounts)!=null&&i.length&&(t.idBufferEntryCounts=e.idBufferEntryCounts),t.isUptoDate=!0,this.processCommonAttrs(e,t),t}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}}const E="*MODEL_SPACE";class m extends r.AcDbDatabaseConverter{constructor(e={}){super(e),this.config.useWorker=!0,this.config.parserWorkerUrl||(this.config.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const i=r.acdbCreateWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,maxConcurrentWorkers:1}),s=await i.execute(e);return i.destroy(),r.AcDbOpenDatabaseError.throwOnWorkerParseFailure(s),s.data}else throw new Error("dwg converter can run in web worker only!")}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const i={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const i={name:n.name,standardFlag:n.standardFlag,fixedTextHeight:n.fixedTextHeight,widthFactor:n.widthFactor,obliqueAngle:n.obliqueAngle,textGenerationFlag:n.textGenerationFlag,lastHeight:n.lastHeight,font:n.font,bigFont:n.bigFont,extendedFont:n.extendedFont},s=new r.AcDbTextStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.textStyleTable.add(s)}),t.ensureTextStyleDefaults()}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(n=>{const i={name:n.name,ownerId:n.ownerHandle,dimpost:n.DIMPOST||"",dimapost:n.DIMAPOST||"",dimscale:n.DIMSCALE,dimasz:n.DIMASZ,dimexo:n.DIMEXO,dimdli:n.DIMDLI,dimexe:n.DIMEXE,dimrnd:n.DIMRND,dimdle:n.DIMDLE,dimtp:n.DIMTP,dimtm:n.DIMTM,dimtxt:n.DIMTXT,dimcen:n.DIMCEN,dimtsz:n.DIMTSZ,dimaltf:n.DIMALTF,dimlfac:n.DIMLFAC,dimtvp:n.DIMTVP,dimtfac:n.DIMTFAC,dimgap:n.DIMGAP,dimaltrnd:n.DIMALTRND,dimtol:n.DIMTOL==null||n.DIMTOL==0?0:1,dimlim:n.DIMLIM==null||n.DIMLIM==0?0:1,dimtih:n.DIMTIH==null||n.DIMTIH==0?0:1,dimtoh:n.DIMTOH==null||n.DIMTOH==0?0:1,dimse1:n.DIMSE1==null||n.DIMSE1==0?0:1,dimse2:n.DIMSE2==null||n.DIMSE2==0?0:1,dimtad:n.DIMTAD,dimzin:n.DIMZIN,dimazin:n.DIMAZIN,dimalt:n.DIMALT,dimaltd:n.DIMALTD,dimtofl:n.DIMTOFL,dimsah:n.DIMSAH,dimtix:n.DIMTIX,dimsoxd:n.DIMSOXD,dimclrd:n.DIMCLRD,dimclre:n.DIMCLRE,dimclrt:n.DIMCLRT,dimadec:n.DIMADEC||0,dimunit:n.DIMUNIT||2,dimdec:n.DIMDEC,dimtdec:n.DIMTDEC,dimaltu:n.DIMALTU,dimalttd:n.DIMALTTD,dimaunit:n.DIMAUNIT,dimfrac:n.DIMFRAC,dimlunit:n.DIMLUNIT,dimdsep:n.DIMDSEP||".",dimtmove:n.DIMTMOVE||0,dimjust:n.DIMJUST,dimsd1:n.DIMSD1,dimsd2:n.DIMSD2,dimtolj:n.DIMTOLJ,dimtzin:n.DIMTZIN,dimaltz:n.DIMALTZ,dimalttz:n.DIMALTTZ,dimfit:n.DIMFIT||0,dimupt:n.DIMUPT,dimatfit:n.DIMATFIT,dimtxsty:r.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:n.DIMBLK||"",dimblk1:n.DIMBLK1||"",dimblk2:n.DIMBLK2||"",dimlwd:n.DIMLWD,dimlwe:n.DIMLWE},s=new r.AcDbDimStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.dimStyleTable.add(s)})}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const i=new r.AcCmColor;this.applyLibreLayerColor(i,n);const s=new r.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:i,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}applyLibreLayerColor(e,t){const o=t.colorIndex,n=t.color;o!=null&&o>=1&&o<=255?e.colorIndex=o:o===0?e.colorIndex=0:n!=null&&Number.isFinite(n)?e.setRGBValue(n&16777215):e.colorIndex=256,t.colorName&&(e.colorName=t.colorName)}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const i=new r.AcDbViewportTableRecord;n.circleSides&&(i.circleSides=n.circleSides),i.standardFlag=n.standardFlag,i.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.lowerLeftCorner.copy(n.lowerLeftCorner??r.VPORT_FALLBACK_LLC),i.upperRightCorner.copy(n.upperRightCorner??r.VPORT_FALLBACK_URC),n.snapBasePoint&&i.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(i.snapAngle=n.snapRotationAngle),n.snapSpacing&&i.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(i.gridMajor=n.majorGridLines),n.gridSpacing&&i.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(i.backgroundObjectId=n.backgroundObjectId),i.gsView.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget??r.VPORT_FALLBACK_VIEW_DIR),i.gsView.viewTarget.copy(n.viewTarget??r.VPORT_FALLBACK_VIEW_TARGET),n.lensLength&&(i.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(i.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(i.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(i.gsView.viewHeight=n.viewHeight);const s=n.aspectRatio;s!=null&&Number.isFinite(s)&&s>0&&(i.gsView.aspectRatio=s),n.viewTwistAngle&&(i.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(i.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(i.gsView.styleSheet=n.styleSheet),n.renderMode&&(i.gsView.renderMode=n.renderMode),n.viewMode&&(i.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(i.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&i.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&i.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&i.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(i.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(i.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(i.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(i.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(i.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(i.gsView.brightness=n.brightness),n.contrast&&(i.gsView.contrast=n.contrast),n.ambientColor&&(i.gsView.ambientColor=n.ambientColor),this.processCommonTableEntryAttrs(n,i),t.tables.viewportTable.add(i)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let i=t.tables.blockTable.getAt(n.name);i||(i=new r.AcDbBlockTableRecord,i.name=n.name,i.ownerId=n.ownerHandle,i.layoutId=n.layout,i.flags=r.AcDbBlockTableRecord.sanitizeImportedFlags(n.flags??0),i.blockInsertUnits=n.insertionUnits,i.explodability=n.explodability,i.blockScaling=n.scalability,i.objectId=n.handle,t.tables.blockTable.add(i)),n.bmpPreview&&(i.previewIcon=r.acdbHexStringsToBytes([n.bmpPreview])),i.origin.copy(n.basePoint),!i.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,i)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new C,n=e.length,i=[];for(let s=0;s<n;s++){const c=e[s],a=o.convert(c);a&&i.push(a)}t.appendEntity(i)}async processEntities(e,t,o,n,i){const s=new C;let c=[];e.tables.BLOCK_RECORD.entries.forEach(f=>{this.isModelSpace(f.name)&&(c=f.entities)});const a=c.length,u=new r.AcDbBatchProcessing(a,100-n.value,o);this.config.convertByEntityType&&(c=this.groupAndFlattenByType(c));const l=t.tables.blockTable.modelSpace;await u.processChunk(async(f,h)=>{const d=[];for(let g=f;g<h;g++){const b=c[g],A=s.convert(b);A&&d.push(A)}if(l.appendEntity(d),i){let g=n.value+h/a*(100-n.value);g>100&&(g=100),await i(g,"ENTITY","IN-PROGRESS")}})}processClasses(e,t){var o;(o=e.classes)!=null&&o.length&&(t.classes=e.classes.map(n=>({name:n.dxfName,cppClassName:n.cppName,appName:n.appName,proxyFlag:n.capabilitiesFlag,instanceCount:n.instanceCount,wasProxy:n.wasAProxyFlag,isEntity:n.isAnEntityFlag})))}processHeader(e,t){const o=e.thumbnailImage;o!=null&&o.length&&(t.thumbnailImage=o);const n=e.header;n.CECOLOR&&(n.CECOLOR.index>=0&&n.CECOLOR.index<=256?t.cecolor.colorIndex=n.CECOLOR.index:t.cecolor.setRGBValue(n.CECOLOR.rgb)),t.angbase=n.ANGBASE??0,t.angdir=n.ANGDIR??0,t.aunits=n.AUNITS??0,n.AUPREC!=null&&(t.auprec=n.AUPREC),n.LUNITS!=null&&(t.lunits=n.LUNITS),n.LUPREC!=null&&(t.luprec=n.LUPREC),n.UNITMODE!=null&&(t.unitmode=n.UNITMODE),n.MEASUREMENT!=null&&(t.measurement=n.MEASUREMENT),t.celtype=n.CELTYPE??r.ByLayer,t.celtscale=n.CELTSCALE??1,t.ltscale=n.LTSCALE??1,n.EXTMAX&&(t.extmax=n.EXTMAX),n.EXTMIN&&(t.extmin=n.EXTMIN),t.insunits=n.INSUNITS??1,t.pdmode=n.PDMODE??0,t.pdsize=n.PDSIZE??0,t.textstyle=n.TEXTSTYLE??r.DEFAULT_TEXT_STYLE;const i=this.normalizeHeaderStringValue(n.CMLEADERSTYLE)??r.DEFAULT_MLEADER_STYLE;t.cmleaderstyle=i}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processLayouts(e,t),this.processImageDefs(e,t),this.processLayerFilters(e,t),this.processLayerIndexes(e,t),this.processLayerFilterTree(e,t),this.processMLeaderStyles(e,t),this.processDynBlockMetadata(e,t)}processDynBlockMetadata(e,t){const o=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.tables.BLOCK_RECORD.entries){const c=t.tables.blockTable.getAt(s.name);if(!c)continue;const a=s,u=r.acdbNormalizeExtensionDictionaryId(a.extensionDictionary??a.ownerDictionaryHardId??a.ownerDictionarySoftId);u&&(c.extensionDictionary=u)}const n=e.objects.DICTIONARY;if(!(n!=null&&n.length))return;const i=n.map(s=>{const c=[],a=s.entries??{};for(const u in a){const l=a[u];u&&l&&c.push({name:u,handle:o(String(l))})}return{handle:o(s.handle),ownerHandle:o(s.ownerHandle)||void 0,entries:c}});r.acdbImportDynBlockMetadata(t,{dictionaries:i,representationData:[]})}processLayerFilterTree(e,t){const o=e.objects.DICTIONARY,n=e.objects.XRECORD;if(!(o!=null&&o.length)||!(n!=null&&n.length))return;const i=u=>u?String(u).trim().toUpperCase():"",s=new Map;o.forEach(u=>{const l={},f=u.entries??{};for(const h in f){const d=f[h];h&&d&&(l[h]=i(String(d)))}s.set(i(u.handle),{handle:i(u.handle),ownerObjectId:i(u.ownerHandle),entries:l})});const c=new Map;n.forEach(u=>{c.set(i(u.handle),{handle:i(u.handle),ownerObjectId:i(u.ownerHandle),extensionDictionaryId:i(u.extensionDictionary),data:(u.data??[]).map(l=>({code:Number(l.code),value:l.value}))})});const a=r.acdbReadLayerFilterTree({dictionaries:s,xrecords:c});a.root.getNestedFilters().length>0&&(t.layerFilters=a)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const c=t.tables.blockTable.newIterator();s.objectId=i.handle;for(const a of c)if(a.layoutId===s.objectId){s.blockTableRecordId=a.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=t.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,t){const o=t.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processLayerFilters(e,t){const o=e.objects.LAYER_FILTER;if(!(o!=null&&o.length))return;const n=t.objects.layerFilter,i=new L;o.forEach(s=>{const c=i.convertLayerFilter(s);n.setAt(c.objectId,c)})}processLayerIndexes(e,t){const o=e.objects.LAYER_INDEX;if(!(o!=null&&o.length))return;const n=t.objects.layerIndex,i=new L;o.forEach(s=>{const c=i.convertLayerIndex(s);n.setAt(c.objectId,c)})}processMLeaderStyles(e,t){const o=e.objects.MLEADERSTYLE;if(!(o!=null&&o.length))return;const n=t.objects.mleaderStyle,i=new L;o.forEach(s=>{const c=i.convertMLeaderStyle(s);n.setAt(c.objectId,c)})}processCommonObjectAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const i of e)t[i.type]||(t[i.type]=[],o.push(i.type)),t[i.type].push(i);const n=[];for(const i of o){const s=t[i];for(let c=0;c<s.length;c++)n.push(s[c])}return n}isModelSpace(e){return e&&e.toUpperCase()==E}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}D.AcDbLibreDwgConverter=m,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(D,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@mlightcad/data-model")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/data-model"],r):(D=typeof globalThis<"u"?globalThis:D||self,r(D["libredwg-converter"]={},D.dataModel))})(this,(function(D,r){"use strict";class L{convert(e){const t=this.createEntity(e);if(t&&(this.processCommonAttrs(e,t),e.type==="ARCALIGNEDTEXT")){const o=e.rawTextColor;t.applyRawTextColor(o)}return t}createEntity(e){return e.type=="3DFACE"?this.convertFace(e):e.type=="ARC"?this.convertArc(e):e.type=="ATTDEF"?this.convertAttributeDefinition(e):e.type=="ATTRIB"?this.convertAttribute(e):e.type=="CIRCLE"?this.convertCirle(e):e.type=="DIMENSION"?this.convertDimension(e):e.type=="ELLIPSE"?this.convertEllipse(e):e.type=="HATCH"?this.convertHatch(e):e.type=="IMAGE"?this.convertImage(e):e.type=="LEADER"?this.convertLeader(e):e.type=="LINE"?this.convertLine(e):e.type=="LWPOLYLINE"?this.convertLWPolyline(e):e.type=="MLINE"?this.convertMLine(e):e.type=="MTEXT"?this.convertMText(e):e.type=="MULTILEADER"||e.type=="MLEADER"?this.convertMLeader(e):e.type=="POINT"?this.convertPoint(e):e.type=="POLYLINE2D"?this.convertPolyline2d(e):e.type=="POLYLINE3D"?this.convertPolyline3d(e):e.type=="RAY"?this.convertRay(e):e.type=="SPLINE"?this.convertSpline(e):e.type=="ACAD_TABLE"?this.convertTable(e):e.type=="TEXT"?this.convertText(e):e.type=="TOLERANCE"?this.convertTolerance(e):e.type=="SHAPE"?this.convertShape(e):e.type=="SOLID"?this.convertSolid(e):e.type=="VIEWPORT"?this.convertViewport(e):e.type=="WIPEOUT"?this.convertWipeout(e):e.type=="XLINE"?this.convertXline(e):e.type=="INSERT"?this.convertBlockReference(e):e.type=="ACAD_PROXY_ENTITY"?this.convertProxyEntity(e):e.type=="OLE2FRAME"?this.convertOle2Frame(e):e.type=="OLEFRAME"?this.convertOleFrame(e):e.type=="ARCALIGNEDTEXT"?this.convertArcAlignedText(e):null}convertProxyEntity(e){const t=new r.AcDbProxyEntity;if(t.proxyEntityClassId=e.proxyEntityClassId,e.originalDxfName&&(t.originalDxfName=e.originalDxfName),e.applicationEntityClassId!=null&&(t.applicationEntityClassId=e.applicationEntityClassId),e.objectDrawingFormat!=null&&(t.objectDrawingFormat=e.objectDrawingFormat),e.originalDataFormat!=null&&(t.originalDataFormat=e.originalDataFormat),e.graphicsData){const o=r.acdbHexStringsToBytes([e.graphicsData]),n=e.graphicsDataSize??o.length;t.setProxyGraphic(o.subarray(0,n))}return t}convertFace(e){const t=new r.AcDbFace;return e.corner1&&t.setVertexAt(0,e.corner1),e.corner2&&t.setVertexAt(1,e.corner2),e.corner3&&t.setVertexAt(2,e.corner3),e.corner4&&t.setVertexAt(3,e.corner4),t.setEdgeInvisibilities(e.flag),t}convertArc(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbArc(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,e.startAngle,e.endAngle,t)}convertCirle(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS;return new r.AcDbCircle(r.acgeTransformOcsPointToWcs(e.center,t),e.radius,t)}convertEllipse(e){const t=new r.AcGeVector3d(e.majorAxisEndPoint),o=t.length();return new r.AcDbEllipse(e.center,e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t,o,o*e.axisRatio,e.startAngle,e.endAngle)}convertLine(e){const t=e.startPoint,o=e.endPoint;return new r.AcDbLine(new r.AcGePoint3d(t.x,t.y,t.z),new r.AcGePoint3d(o.x,o.y,o.z))}convertSpline(e){return r.AcDbSpline.fromDwgSpline(e)}convertPoint(e){const t=new r.AcDbPoint;return t.position=e.position,t}convertShape(e){const t=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,o=new r.AcDbShape;return o.position=r.acgeTransformOcsPointToWcs(e.insertionPoint,t),o.size=e.size,o.shapeNumber=e.shapeNumber,e.styleName&&(o.styleName=e.styleName),o.rotation=e.rotation??0,o.widthFactor=e.xScale??1,o.oblique=e.obliqueAngle??0,o.thickness=e.thickness??0,o.normal.copy(t),o}convertSolid(e){const t=new r.AcDbSolid;return t.setPointAt(0,{...e.corner1,z:0}),t.setPointAt(1,{...e.corner2,z:0}),t.setPointAt(2,{...e.corner3,z:0}),t.setPointAt(3,e.corner4?{...e.corner4,z:0}:{...e.corner3,z:0}),t.thickness=e.thickness??0,t}convertLWPolyline(e){const t=new r.AcDbPolyline;t.closed=!!(e.flag&512);const o=e.constantWidth??-1;return e.vertices.forEach((n,i)=>{t.addVertexAt(i,new r.AcGePoint2d(n.x,n.y),n.bulge,n.startWidth??o,n.endWidth??o)}),t}convertPolyline2d(e){var p;const t=!!(e.flag&1),o=!!(e.flag&16),n=!!(e.flag&64),i=!!(e.flag&32),s=[],l=[],a=[];if(e.vertices.map(c=>{if(!(c.flag&16))if(n&&c.flag&128)if(c.flag&64)s.push({x:c.x,y:c.y,z:c.z}),l.push(c.bulge??0);else{const f=[];c.polyfaceIndex0!=null&&c.polyfaceIndex0!=0&&f.push(Math.abs(c.polyfaceIndex0)-1),c.polyfaceIndex1!=null&&c.polyfaceIndex1!=0&&f.push(Math.abs(c.polyfaceIndex1)-1),c.polyfaceIndex2!=null&&c.polyfaceIndex2!=0&&f.push(Math.abs(c.polyfaceIndex2)-1),c.polyfaceIndex3!=null&&c.polyfaceIndex3!=0&&f.push(Math.abs(c.polyfaceIndex3)-1),f.length>=3&&a.push(f)}else s.push({x:c.x,y:c.y,z:c.z}),l.push(c.bulge??0)}),o){const c=e.meshMVertexCount??2,f=e.meshNVertexCount??2;return new r.AcDbPolygonMesh(c,f,s,t,i)}else{if(n)return new r.AcDbPolyFaceMesh(s,a);{let c=r.AcDbPoly2dType.SimplePoly;e.flag&2?c=r.AcDbPoly2dType.FitCurvePoly:e.flag&4&&(e.smoothType==6?c=r.AcDbPoly2dType.CubicSplinePoly:e.smoothType==5&&(c=r.AcDbPoly2dType.QuadSplinePoly));const f=new r.AcDb2dPolyline(c,s,((p=s[0])==null?void 0:p.z)??0,t,e.startWidth,e.endWidth,l);return e.extrusionDirection&&(f.normal=e.extrusionDirection),f}}}convertPolyline3d(e){const t=!!(e.flag&1),o=[];e.vertices.map(i=>{i.flag&16||o.push({x:i.x,y:i.y,z:i.z})});let n=r.AcDbPoly3dType.SimplePoly;return e.flag&4&&(e.smoothType==6?n=r.AcDbPoly3dType.CubicSplinePoly:e.smoothType==5&&(n=r.AcDbPoly3dType.QuadSplinePoly)),new r.AcDb3dPolyline(n,o,t)}convertHatch(e){var n;const t=new r.AcDbHatch;if((n=e.definitionLines)==null||n.forEach(i=>{t.definitionLines.push({angle:i.angle,base:i.base,offset:i.offset,dashLengths:i.numberOfDashLengths>0?i.dashLengths:[]})}),t.hatchStyle=e.hatchStyle,t.patternName=e.patternName,e.solidFill==1&&(t.isSolidFill=!0),t.patternType=e.patternType,t.patternAngle=e.patternAngle==null?0:e.patternAngle,t.patternScale=e.patternScale==null?0:e.patternScale,e.boundaryPaths.forEach(i=>{if(i.boundaryPathTypeFlag&2){const l=i,a=new r.AcGePolyline2d;a.closed=l.isClosed,l.vertices.forEach((p,c)=>{a.addVertexAt(c,{x:p.x,y:p.y,bulge:p.bulge})}),t.add(a)}else{const l=i,a=[];l.edges.forEach(c=>{if(c!=null){if(c.type==1){const f=c;a.push(new r.AcGeLine2d(f.start,f.end))}else if(c.type==2){const f=c;a.push(new r.AcGeCircArc2d(f.center,f.radius,f.startAngle,f.endAngle,!f.isCCW))}else if(c.type==3){const f=c;new r.AcGeVector2d().subVectors(f.end,f.center);const d=Math.sqrt(Math.pow(f.end.x,2)+Math.pow(f.end.y,2)),g=d*f.lengthOfMinorAxis;let b=f.startAngle,A=f.endAngle;const x=Math.atan2(f.end.y,f.end.x);f.isCCW||(b=Math.PI*2-b,A=Math.PI*2-A),a.push(new r.AcGeEllipseArc2d({...f.center,z:0},d,g,b,A,!f.isCCW,x))}else if(c.type==4){const f=r.AcGeSpline3d.fromDwgSplineEdge(c);f&&a.push(f)}}});const p=r.AcGeLoop2d.buildFromEdges(a);p.length==0&&a.length>0?t.add(new r.AcGeLoop2d(a)):p.forEach(c=>t.add(c))}}),e.gradientFlag){const i=e;if(t.hatchObjectType=r.AcDbHatchObjectType.GradientObject,t.gradientName=i.gradientName,t.gradientAngle=i.gradientRotation??0,t.gradientShift=i.gradientDefinition??0,t.gradientOneColorMode=i.gradientColorFlag==1,t.shadeTintValue=i.colorTint??0,i.gradientColors){const s=i.gradientColors.length;s>1?(t.gradientStartColor=i.gradientColors[0].rgb,t.gradientEndColor=i.gradientColors[1].rgb):s>0&&(t.gradientStartColor=i.gradientColors[0].rgb)}}return e.extrusionDirection&&(t.normal=e.extrusionDirection),t}convertTable(e){const t=new r.AcDbTable(e.name??"",e.rowCount,e.columnCount);return t.tableStyleId=e.tableStyleId,t.owningBlockRecordId=e.blockRecordHandle,e.directionVector&&(t.horizontalDirection=new r.AcGeVector3d(e.directionVector)),t.attachmentPoint=e.attachmentPoint,t.position.copy(e.startPoint),t.tableValueFlag=e.tableValue,t.tableOverrideFlag=e.overrideFlag,t.borderColorOverrideFlag=e.borderColorOverrideFlag,t.borderLineweightOverrideFlag=e.borderLineWeightOverrideFlag,t.borderVisibilityOverrideFlag=e.borderVisibilityOverrideFlag,e.columnWidthArr.forEach((o,n)=>t.setColumnWidth(n,o)),e.rowHeightArr.forEach((o,n)=>t.setRowHeight(n,o)),e.cells.forEach((o,n)=>{t.setCell(n,o)}),t}convertText(e){const t=new r.AcDbText;t.textString=e.text,t.styleName=e.styleName,t.height=e.textHeight,t.position.copy(e.startPoint);const o=!e.endPoint||e.endPoint.x===0&&e.endPoint.y===0&&(e.endPoint.z??0)===0;return e.endPoint&&!o?(t.alignmentPoint.copy(e.endPoint),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(e.startPoint),t.hasAlignmentPoint=!1),t.rotation=e.rotation,t.oblique=e.obliqueAngle??0,t.thickness=e.thickness,t.horizontalMode=e.halign,t.verticalMode=e.valign,t.widthFactor=e.xScale??1,t}convertArcAlignedText(e){const t=new r.AcDbArcAlignedText;return t.textString=e.text,t.textSize=e.textSize,t.xScale=e.xScale>0?e.xScale:1,t.characterSpacing=e.characterSpacing,e.styleName&&(t.styleName=e.styleName),t.fontName=e.fontName,t.bigFontName=e.bigFontName,t.offsetFromArc=e.offsetFromArc,t.rightOffset=e.rightOffset,t.leftOffset=e.leftOffset,t.center=new r.AcGePoint3d(e.center.x,e.center.y,e.center.z),t.radius=e.radius,t.startAngle=e.startAngle,t.endAngle=e.endAngle,t.normal=new r.AcGeVector3d(e.extrusionDirection.x,e.extrusionDirection.y,e.extrusionDirection.z||1),t.characterSet=e.characterSet,t.pitchAndFamily=e.pitchAndFamily,t.isShx=e.isShx,t.isBold=e.isBold,t.isItalic=e.isItalic,t.isUnderlined=e.isUnderlined,t.alignment=e.alignment,t.isReverse=e.isReverse,t.wizardFlag=e.wizardFlag,t.textPosition=e.textPosition,t.textDirection=e.textDirection,e.arcHandle&&(t.arcId=e.arcHandle),t}convertTolerance(e){const t=new r.AcDbFcf;return t.location.copy(e.insertionPoint),t.text=e.text,t.dimensionStyle=e.styleName??"",e.extrusionDirection&&t.normal.copy(e.extrusionDirection),e.xAxisDirection&&t.direction.copy(e.xAxisDirection),t}convertMText(e){const t=new r.AcDbMText;return t.contents=e.text,e.styleName!=null&&(t.styleName=e.styleName),t.height=e.textHeight,t.width=e.rectWidth,t.rotation=e.rotation||0,t.location=e.insertionPoint,t.attachmentPoint=e.attachmentPoint,e.direction&&(t.direction=new r.AcGeVector3d(e.direction)),t.drawingDirection=e.drawingDirection,e.lineSpacing!=null&&e.lineSpacing>0&&(t.lineSpacingFactor=e.lineSpacing),e.lineSpacingStyle!=null&&(t.lineSpacingStyle=e.lineSpacingStyle),e.extentsWidth!=null&&e.extentsWidth>0&&(t.extentsWidth=e.extentsWidth),t}convertLeader(e){const t=new r.AcDbLeader;return e.vertices.forEach(o=>{t.appendVertex(o)}),t.hasArrowHead=e.isArrowheadEnabled,t.hasHookLine=e.isHooklineExists,t.isHookLineSameDirection=e.isHooklineSameDirection,t.isSplined=e.isSpline,t.dimensionStyle=e.styleName??"",t.annoType=e.leaderCreationFlag,e.textHeight!=null&&(t.textHeight=e.textHeight),e.textWidth!=null&&(t.textWidth=e.textWidth),e.byBlockColor!=null&&(t.byBlockColor=e.byBlockColor),e.associatedAnnotation&&(t.associatedAnnotation=e.associatedAnnotation),e.normal&&(t.normal=e.normal),e.horizontalDirection&&(t.horizontalDirection=e.horizontalDirection),e.offsetFromBlock&&(t.offsetFromBlock=e.offsetFromBlock),e.offsetFromAnnotation&&(t.offsetFromAnnotation=e.offsetFromAnnotation),t}convertMLine(e){const t=new r.AcDbMLine;return t.styleName=e.mlineStyle||"STANDARD",t.scale=e.scale,t.flags=e.flags,t.justification=e.justification,t.startPosition=e.startPoint,t.normal=e.extrusionDirection??r.AcGeVector3d.Z_AXIS,t.styleCount=e.numberOfLines??0,t.segments=(e.vertices??[]).map(o=>({position:o.vertex,direction:o.vertexDirection,miterDirection:o.miterDirection,elements:(o.lines??[]).map(n=>({parameterCount:n.numberOfSegmentParams,parameters:n.segmentParams??[],fillCount:n.numberOfAreaFillParams,fillParameters:n.areaFillParams??[]}))})),t}convertMLeader(e){var P,I;const t=new r.AcDbMLeader,o=e;t.version=e.version,t.leaderStyleId=e.leaderStyleId,e.leaderStyleId&&(t.mleaderStyleId=e.leaderStyleId),t.propertyOverrideFlag=e.propertyOverrideFlag,t.leaderLineType=e.leaderLineType??r.AcDbMLeaderLineType.StraightLeader,e.leaderLineColor!=null&&(t.leaderLineColor=this.convertMLeaderEntityColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,t.leaderLineWeight=e.leaderLineWeight,t.landingEnabled=e.landingEnabled,t.doglegEnabled=e.doglegEnabled??!1,t.doglegLength=e.doglegLength??0,t.arrowheadId=e.arrowheadId,t.arrowheadSize=e.arrowheadSize,t.textStyleId=e.textStyleId,t.textLeftAttachmentType=e.textLeftAttachmentType,t.textRightAttachmentType=e.textRightAttachmentType,t.textAngleType=e.textAngleType,t.textAlignmentType=e.textAlignmentType,e.textColor!=null&&(t.textColor=this.convertMLeaderEntityColor(e.textColor)),t.textFrameEnabled=e.textFrameEnabled,t.landingGap=e.landingGap,t.textAttachment=e.textAttachment,t.textFlowDirection=e.textFlowDirection,this.isValidHandleId(e.blockContentId)&&(t.blockContentId=e.blockContentId),e.blockContentColor!=null&&(t.blockContentColor=this.convertMLeaderEntityColor(e.blockContentColor)),t.blockContentRotation=e.blockContentRotation,t.blockContentConnectionType=e.blockContentConnectionType,t.annotativeScaleEnabled=e.annotativeScaleEnabled,t.arrowheadOverrides=e.arrowheadOverrides?e.arrowheadOverrides.map(u=>({...u})):[],t.blockAttributes=e.blockAttributes?e.blockAttributes.map(u=>({...u})):[],t.textDirectionNegative=e.textDirectionNegative,t.textAlignInIPE=e.textAlignInIPE,t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection,t.topTextAttachmentDirection=e.topTextAttachmentDirection,t.contentScale=e.contentScale,t.textLineSpacingStyle=e.textLineSpacingStyle,e.textBackgroundColor!=null&&(t.textBackgroundColor=this.convertMLeaderEntityColor(e.textBackgroundColor)),t.textBackgroundScaleFactor=e.textBackgroundScaleFactor,t.textBackgroundTransparency=e.textBackgroundTransparency,t.textBackgroundColorOn=e.textBackgroundColorOn,t.textFillOn=e.textFillOn,t.textColumnType=e.textColumnType,t.textUseAutoHeight=e.textUseAutoHeight,t.textColumnWidth=e.textColumnWidth,t.textColumnGutterWidth=e.textColumnGutterWidth,t.textColumnFlowReversed=e.textColumnFlowReversed,t.textColumnHeight=e.textColumnHeight,t.textUseWordBreak=e.textUseWordBreak,t.hasMText=e.hasMText,t.hasBlock=e.hasBlock,t.planeNormalReversed=e.planeNormalReversed,e.blockContentScale&&(t.blockContentScale=new r.AcGeVector3d(e.blockContentScale)),e.contentBasePosition&&(t.contentBasePosition=new r.AcGePoint3d().copy(e.contentBasePosition)),e.textAnchor&&(t.textAnchor=new r.AcGePoint3d().copy(e.textAnchor)),e.planeOrigin&&(t.planeOrigin=new r.AcGePoint3d().copy(e.planeOrigin)),e.planeXAxisDirection&&(t.planeXAxisDirection=new r.AcGeVector3d(e.planeXAxisDirection)),e.planeYAxisDirection&&(t.planeYAxisDirection=new r.AcGeVector3d(e.planeYAxisDirection));const n=o.textContent,i=n&&typeof n=="object"?n:void 0,s=typeof n=="string"&&n.length>0||this.readString(i??{},["text","contents"])!=null||this.readString(o,["text","contents","mtext"])!=null,l=e.contentType??(s?r.AcDbMLeaderContentType.MTextContent:e.blockContent?r.AcDbMLeaderContentType.BlockContent:r.AcDbMLeaderContentType.NoneContent);t.contentType=l;const a=this.readPoint(o,["normal","extrusionDirection"]);a&&(t.normal=a);const p=this.readString(i??{},["styleName","textStyleName","textStyle"])??this.readString(o,["textStyleName","textStyle","styleName"]);p&&(t.textStyleName=p);const c=this.readPositiveNumber(i??{},["textHeight","height"])??this.readPositiveNumber(o,["textHeight","mtextHeight","textContentHeight"])??this.readPositiveNumber(o,["arrowheadSize","contentScale"]);c!=null&&(t.textHeight=c);const f=this.readPositiveNumber(i??{},["textWidth","width"])??this.readPositiveNumber(o,["textWidth","mtextWidth","textContentWidth"]);f!=null&&(t.textWidth=f),t.textLineSpacingFactor=this.readNumber(i??{},["lineSpacingFactor","textLineSpacingFactor"])??this.readNumber(o,["textLineSpacingFactor"])??t.textLineSpacingFactor;const h=this.readNumber(i??{},["lineSpacingStyle","textLineSpacingStyle"])??this.readNumber(o,["textLineSpacingStyle"]);h!=null&&(t.textLineSpacingStyle=h);const d=this.readNumber(i??{},["textRotation","rotation"])??this.readNumber(o,["textRotation","mtextRotation","textContentRotation"]);d!=null&&(t.textRotation=d);const g=this.readPoint(o,["textDirection","mtextDirection","textDirectionVector"]);g&&(t.textDirection=g);const b=this.readNumber(o,["textAttachmentPoint","attachmentPoint"]);b!=null&&b!==0&&(t.textAttachmentPoint=b);const A=e.textAttachmentDirection;A!=null&&(t.textAttachmentDirection=A);const x=this.readNumber(o,["textDrawingDirection","drawingDirection"]);x!=null&&(t.textDrawingDirection=x);const T=typeof n=="string"?n:this.readString(i??{},["text","contents"])??this.readString(o,["text","contents","mtext"]),S=this.readPoint(i??{},["anchorPoint","textAnchor","textLocation","textPosition","textAnchorPoint"])??this.readPoint(o,["textAnchor","textLocation","textPosition","textAnchorPoint","contentBasePosition"]);if(T!=null&&S&&(t.mtextContent={text:T,anchorPoint:S}),e.blockContent){const u=e.blockContent,w=e.blockContent.blockContentId;if(this.isValidHandleId(w)){const k=this.readMLeaderEntityColor(u,["color"]);t.blockContent={blockContentId:w,normal:this.readPoint(u,["normal"]),position:e.blockContent.position,scale:this.readPoint(u,["scale"]),rotation:this.readNumber(u,["rotation"]),color:k,transformationMatrix:Array.isArray(e.blockContent.transformationMatrix)?e.blockContent.transformationMatrix:[]}}}else this.isValidHandleId(e.blockContentId)&&(t.blockContent={blockContentId:e.blockContentId,scale:e.blockContentScale,rotation:e.blockContentRotation,color:t.blockContentColor,transformationMatrix:[]});return(P=this.readMLeaderLeaders(o))==null||P.forEach(u=>{t.addLeader({lastLeaderLinePoint:u.lastLeaderLinePoint,lastLeaderLinePointSet:u.lastLeaderLinePointSet,doglegVector:u.doglegVector,doglegVectorSet:u.doglegVectorSet,doglegLength:u.doglegLength??e.doglegLength,breaks:u.breaks,leaderBranchIndex:u.leaderBranchIndex,leaderLines:u.leaderLines})}),t.numberOfLeaders===0&&((I=this.readLeaderLineArray(o))==null||I.forEach(u=>{t.addLeader({doglegLength:e.doglegLength}),t.addLeaderLine(t.numberOfLeaders-1,u)})),t.numberOfLeaders===0&&e.contentBasePosition&&t.addLeader({lastLeaderLinePoint:e.contentBasePosition,lastLeaderLinePointSet:!0,doglegLength:e.doglegLength}),t}convertDimension(e){if(e.subclassMarker=="AcDbAlignedDimension"){const t=e,o=new r.AcDbAlignedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRotatedDimension"){const t=e,o=new r.AcDbRotatedDimension(t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return t.insertionPoint&&(o.dimBlockPosition={x:t.insertionPoint.x,y:t.insertionPoint.y,z:0}),o.rotation=t.rotationAngle,this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb3PointAngularDimension"){const t=e,o=new r.AcDb3PointAngularDimension(t.centerPoint,t.subDefinitionPoint1,t.subDefinitionPoint2,t.definitionPoint);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDb2LineAngularDimension"){const t=e,o=t.definitionPoint??t.arcPoint??t.subDefinitionPoint2,n=t.centerPoint??t.subDefinitionPoint2??t.subDefinitionPoint1,i=n??o,s=t.subDefinitionPoint1??n??o,l=t.subDefinitionPoint2??n??o;if(!o||!t.name)return null;const a=new r.AcDb3PointAngularDimension(i,s,l,o);return this.processDimensionCommonAttrs(e,a),a}else if(e.subclassMarker=="AcDbOrdinateDimension"){const t=e,o=new r.AcDbOrdinateDimension(t.subDefinitionPoint1,t.subDefinitionPoint2);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbRadialDimension"){const t=e,o=new r.AcDbRadialDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}else if(e.subclassMarker=="AcDbDiametricDimension"){const t=e,o=new r.AcDbDiametricDimension(t.definitionPoint,t.centerPoint,t.leaderLength);return this.processDimensionCommonAttrs(e,o),o}return null}processImage(e,t){t.position.copy(e.position),t.brightness=e.brightness,t.contrast=e.contrast,t.fade=e.fade,t.imageSize.copy(e.imageSize),t.imageDefId=e.imageDefHandle,t.isClipped=e.clipping>0,t.isShownClipped=(e.flags&4)!==0,t.isImageShown=(e.flags&3)!==0,t.isImageTransparent=(e.flags&8)!==0,e.clippingBoundaryPath.forEach(o=>{t.clipBoundary.push(new r.AcGePoint2d(o))}),t.clipBoundaryType=e.clippingBoundaryType,t.width=Math.sqrt(e.uPixel.x**2+e.uPixel.y**2+e.uPixel.z**2)*e.imageSize.x,t.height=Math.sqrt(e.vPixel.x**2+e.vPixel.y**2+e.vPixel.z**2)*e.imageSize.y,t.rotation=Math.atan2(e.uPixel.y,e.uPixel.x)}convertImage(e){const t=new r.AcDbRasterImage;return this.processImage(e,t),t}convertWipeout(e){const t=new r.AcDbWipeout;return this.processImage(e,t),t}convertOleFrame(e){const t=new r.AcDbOleFrame;if(t.oleVersion=e.flag??0,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertOle2Frame(e){const t=new r.AcDbOle2Frame;if(t.oleVersion=e.oleVersion??0,t.userType=e.oleClient??"",e.leftUpPoint&&t.upperLeftCorner.copy(e.leftUpPoint),e.rightDownPoint&&t.lowerRightCorner.copy(e.rightDownPoint),t.setLockAspect(e.lockAspect??0),t.oleObjectType=e.oleObjectType??r.AcDbOleObjectType.Embedded,t.tileMode=e.tileModeDescriptor??r.AcDbOleTileMode.ModelSpace,e.binaryData){const o=r.acdbHexStringsToBytes([e.binaryData]);t.loadOleObjectFromDxf(e.dataSize,o)}return t}convertViewport(e){const t=new r.AcDbViewport;t.number=e.viewportId,t.centerPoint.copy(e.viewportCenter),t.height=e.height,t.width=e.width,t.viewCenter.copy(e.displayCenter),t.viewHeight=e.viewHeight,e.targetPoint&&t.viewTarget.copy(e.targetPoint),e.viewTwistAngle!=null&&(t.viewTwistAngle=e.viewTwistAngle);const o=1e-6,n=Math.abs(t.centerPoint.x)<o&&Math.abs(t.centerPoint.y)<o,i=t.viewTarget,s=Math.abs(i.x)<o&&Math.abs(i.y)<o,l=Number.isFinite(t.height)&&Number.isFinite(t.viewHeight)&&Math.abs(t.viewHeight-t.height)<o;return n&&s&&l&&t.centerPoint.copy(t.viewCenter),t}convertRay(e){const t=new r.AcDbRay;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertXline(e){const t=new r.AcDbXline;return t.basePoint.copy(e.firstPoint),t.unitDir.copy(e.unitDirection),t}convertAttributeCommon(e,t){const o=e.text;t.textString=o.text,t.styleName=o.styleName,t.height=o.textHeight,t.position.copy(o.startPoint);const n=e.alignmentPoint??o.endPoint,i=!n||n.x===0&&n.y===0&&(n.z??0)===0;n&&!i?(t.alignmentPoint.copy(n),t.hasAlignmentPoint=!0):(t.alignmentPoint.copy(o.startPoint),t.hasAlignmentPoint=!1),t.rotation=o.rotation,t.oblique=o.obliqueAngle??0,t.thickness=o.thickness,t.horizontalMode=o.halign,t.verticalMode=o.valign,t.widthFactor=o.xScale??1,t.tag=e.tag,t.fieldLength=e.fieldLength,t.isInvisible=(e.flags&r.AcDbAttributeFlags.Invisible)!==0,t.isConst=(e.flags&r.AcDbAttributeFlags.Const)!==0,t.isVerifiable=(e.flags&r.AcDbAttributeFlags.Verifiable)!==0,t.isPreset=(e.flags&r.AcDbAttributeFlags.Preset)!==0,t.lockPositionInBlock=e.lockPositionFlag,t.isReallyLocked=e.isReallyLocked,t.isMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.MultiLine)!==0,t.isConstMTextAttribute=(e.mtextFlag&r.AcDbAttributeMTextFlag.ConstMultiLine)!==0}convertAttribute(e){const t=new r.AcDbAttribute;return this.convertAttributeCommon(e,t),t}convertAttributeDefinition(e){const t=new r.AcDbAttributeDefinition;return this.convertAttributeCommon(e,t),t.prompt=e.prompt,t}convertBlockReference(e){const t=new r.AcDbBlockReference(e.name);return e.insertionPoint&&t.position.copy(e.insertionPoint),t.scaleFactors.x=e.xScale,t.scaleFactors.y=e.yScale,t.scaleFactors.z=e.zScale,t.rotation=e.rotation,t.normal.copy(e.extrusionDirection),e.columnCount!=null&&(t.columnCount=e.columnCount),e.rowCount!=null&&(t.rowCount=e.rowCount),e.columnSpacing!=null&&(t.columnSpacing=e.columnSpacing),e.rowSpacing!=null&&(t.rowSpacing=e.rowSpacing),e.handle!=null&&(t.objectId=e.handle),e.attribs&&e.attribs.forEach(o=>{const n=this.convert(o);n instanceof r.AcDbAttribute&&t.appendAttributes(n)}),t}processDimensionCommonAttrs(e,t){t.dimBlockId=e.name,t.textPosition.copy(e.textPoint),t.textRotation=e.textRotation||0,e.textLineSpacingFactor&&(t.textLineSpacingFactor=e.textLineSpacingFactor),e.textLineSpacingStyle&&(t.textLineSpacingStyle=e.textLineSpacingStyle),t.dimensionStyleName=e.styleName,t.dimensionText=e.text||"",t.measurement=e.measurement}processCommonAttrs(e,t){t.layer=e.layer||"0",t.objectId=e.handle,e.ownerBlockRecordSoftId!=null&&(t.ownerId=e.ownerBlockRecordSoftId);const o=r.acdbNormalizeExtensionDictionaryId(e.extensionDictionary??e.ownerDictionaryHardId??e.ownerDictionarySoftId);if(o&&(t.extensionDictionary=o),this.applyExtendedData(e,t),e.lineType!=null&&(t.lineType=e.lineType),e.lineweight!=null&&(t.lineWeight=e.lineweight),e.lineTypeScale!=null&&(t.linetypeScale=e.lineTypeScale),e.color!=null||e.colorIndex!=null||e.colorName){const n=new r.AcCmColor;e.color!=null&&n.setRGBValue(e.color),e.colorIndex!=null&&(e.color==null||e.colorIndex===7)&&(n.colorIndex=e.colorIndex),e.colorName&&(n.colorName=e.colorName),t.color=n}if(e.isVisible!=null&&(t.visibility=e.isVisible),e.transparency!=null){const n=new r.AcCmTransparency;n.method=e.transparencyType,(n.isByBlock||n.isByBlock)&&(n.alpha=e.transparency),t.transparency=n}}applyExtendedData(e,t){const o=e.xdata;if(!o)return;const n=Array.isArray(o)?o:[o];for(const i of n){if(!(i!=null&&i.appName))continue;const s=[{code:r.AcDbDxfCode.ExtendedDataRegAppName,value:i.appName}];for(const l of i.value??[])if(l!=null&&typeof l=="object"&&"code"in l&&"value"in l){const a=Number(l.code),p=l.value;if(a===r.AcDbDxfCode.ExtendedDataHandle||a>=1e3&&a<=1071){const c=this.normalizeXDataValue(a,p);c!==void 0&&s.push({code:a,value:c})}}t.setImportedXData(s)}}normalizeXDataValue(e,t){if(e>=1010&&e<=1013){if(this.isPointLike(t))return{x:t.x,y:t.y,z:typeof t.z=="number"?t.z:0};if(Array.isArray(t)&&typeof t[0]=="number"&&typeof t[1]=="number")return{x:t[0],y:t[1],z:typeof t[2]=="number"?t[2]:0};if(typeof t=="number"&&Number.isFinite(t))return t}if(e===r.AcDbDxfCode.ExtendedDataBinaryChunk)return t instanceof Uint8Array?t:t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?t:Array.isArray(t)&&t.every(o=>typeof o=="number"&&Number.isFinite(o)&&o>=0&&o<=255)?Uint8Array.from(t):void 0;if(typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t instanceof Uint8Array)return t;if(this.isPointLike(t))return{x:t.x,y:t.y,z:typeof t.z=="number"?t.z:0}}convertMLeaderEntityColor(e){return r.acdbDecodeMLeaderStyleRawColor(e)}readMLeaderEntityColor(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return r.acdbDecodeMLeaderStyleRawColor(n)}}isValidHandleId(e){return e!=null&&e!==""&&e!=="0"}readNumber(e,t){for(const o of t){const n=e[o];if(typeof n=="number"&&Number.isFinite(n))return n}}readPositiveNumber(e,t){const o=this.readNumber(e,t);return o!=null&&o>0?o:void 0}readString(e,t){for(const o of t){const n=e[o];if(typeof n=="string")return n}}readBoolean(e,t){for(const o of t){const n=e[o];if(typeof n=="boolean")return n;if(typeof n=="number")return n!==0}}readPoint(e,t){for(const o of t){const n=e[o];if(this.isPointLike(n))return n;if(Array.isArray(n)&&typeof n[0]=="number"&&typeof n[1]=="number")return{x:n[0],y:n[1],z:n[2]??0}}}readLeaderLineArray(e){const t=e.leaderLines;if(Array.isArray(t))return t.map(n=>{if(!n||typeof n!="object")return;const i=n.vertices;return Array.isArray(i)?i.filter(s=>this.isPointLike(s)):void 0}).filter(n=>!!n&&n.length>0);const o=e.vertices;if(Array.isArray(o)){const n=o.filter(i=>this.isPointLike(i));return n.length>0?[n]:void 0}}readMLeaderLeaders(e){const t=e.leaderSections;if(!Array.isArray(t))return;const o=[];return t.forEach(n=>{if(!n||typeof n!="object")return;const i=n,s=i.leaderLines,l=Array.isArray(s)?s.reduce((g,b)=>{const A=this.readMLeaderLine(b);return A&&g.push(A),g},[]):void 0,a={},p=this.readPoint(i,["lastLeaderLinePoint"]),c=this.readPoint(i,["doglegVector"]),f=this.readNumber(i,["doglegLength"]),h=this.readMLeaderBreaks(i.breaks),d=this.readNumber(i,["leaderBranchIndex"]);p&&(a.lastLeaderLinePoint=p),i.lastLeaderLinePointSet!=null&&(a.lastLeaderLinePointSet=this.readBoolean(i,["lastLeaderLinePointSet"])),c&&(a.doglegVector=c),i.doglegVectorSet!=null&&(a.doglegVectorSet=this.readBoolean(i,["doglegVectorSet"])),f!=null&&(a.doglegLength=f),h&&(a.breaks=h),d!=null&&(a.leaderBranchIndex=d),l&&(a.leaderLines=l),o.push(a)}),o}readMLeaderLine(e){if(!e||typeof e!="object")return;const t=e,o=t.vertices,n=Array.isArray(o)?o.filter(a=>this.isPointLike(a)):[],i=this.readMLeaderBreaks(t.breaks),s=Array.isArray(t.breakPointIndexes)?t.breakPointIndexes.filter(a=>typeof a=="number"):void 0,l=this.readNumber(t,["leaderLineIndex"]);return n.length>0||i&&i.length>0?{vertices:n,breakPointIndexes:s,leaderLineIndex:l,breaks:i}:void 0}readMLeaderBreaks(e){if(!Array.isArray(e))return;const t=e.map(o=>{if(!o||typeof o!="object")return;const n=o,i=this.readPoint(n,["start"]),s=this.readPoint(n,["end"]),l=this.readNumber(n,["index"]);if(!i||!s)return;const a={start:i,end:s};return l!=null&&(a.index=l),a}).filter(o=>!!o);return t.length>0?t:void 0}isPointLike(e){return!!e&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}}class y{convertMLeaderStyle(e){const t=new r.AcDbMLeaderStyle;return t.unknown1=e.unknown1,e.contentType!=null&&(t.contentType=e.contentType),e.drawMLeaderOrderType!=null&&(t.drawMLeaderOrderType=e.drawMLeaderOrderType),e.drawLeaderOrderType!=null&&(t.drawLeaderOrderType=e.drawLeaderOrderType),e.maxLeaderSegmentPoints!=null&&(t.maxLeaderSegmentPoints=e.maxLeaderSegmentPoints),e.firstSegmentAngleConstraint!=null&&(t.firstSegmentAngleConstraint=e.firstSegmentAngleConstraint),e.secondSegmentAngleConstraint!=null&&(t.secondSegmentAngleConstraint=e.secondSegmentAngleConstraint),e.leaderLineType!=null&&(t.leaderLineType=e.leaderLineType),e.leaderLineColor!=null&&(t.leaderLineColor=r.acdbDecodeMLeaderStyleRawColor(e.leaderLineColor)),t.leaderLineTypeId=e.leaderLineTypeId,e.leaderLineWeight!=null&&(t.leaderLineWeight=e.leaderLineWeight),e.landingEnabled!=null&&(t.landingEnabled=e.landingEnabled),e.landingGap!=null&&(t.landingGap=e.landingGap),e.doglegEnabled!=null&&(t.doglegEnabled=e.doglegEnabled),e.doglegLength!=null&&(t.doglegLength=e.doglegLength),e.description!=null&&(t.description=e.description),t.arrowheadId=e.arrowheadId,e.arrowheadSize!=null&&(t.arrowheadSize=e.arrowheadSize),e.defaultMTextContents!=null&&(t.defaultMTextContents=e.defaultMTextContents),t.textStyleId=e.textStyleId,e.textLeftAttachmentType!=null&&(t.textLeftAttachmentType=e.textLeftAttachmentType),e.textAngleType!=null&&(t.textAngleType=e.textAngleType),e.textAlignmentType!=null&&(t.textAlignmentType=e.textAlignmentType),e.textRightAttachmentType!=null&&(t.textRightAttachmentType=e.textRightAttachmentType),e.textColor!=null&&(t.textColor=r.acdbDecodeMLeaderStyleRawColor(e.textColor)),e.textHeight!=null&&(t.textHeight=e.textHeight),e.textFrameEnabled!=null&&(t.textFrameEnabled=e.textFrameEnabled),e.textAlignAlwaysLeft!=null&&(t.textAlignAlwaysLeft=e.textAlignAlwaysLeft),e.alignSpace!=null&&(t.alignSpace=e.alignSpace),t.blockContentId=e.blockContentId,e.blockContentColor!=null&&(t.blockContentColor=r.acdbDecodeMLeaderStyleRawColor(e.blockContentColor)),e.blockContentScale&&(t.blockContentScale={x:e.blockContentScale.x,y:e.blockContentScale.y,z:e.blockContentScale.z??1}),e.blockContentScaleEnabled!=null&&(t.blockContentScaleEnabled=e.blockContentScaleEnabled),e.blockContentRotation!=null&&(t.blockContentRotation=e.blockContentRotation),e.blockContentRotationEnabled!=null&&(t.blockContentRotationEnabled=e.blockContentRotationEnabled),e.blockContentConnectionType!=null&&(t.blockContentConnectionType=e.blockContentConnectionType),e.scale!=null&&(t.scale=e.scale),e.overwritePropertyValue!=null&&(t.overwritePropertyValue=e.overwritePropertyValue),e.annotative!=null&&(t.annotative=e.annotative),e.breakGapSize!=null&&(t.breakGapSize=e.breakGapSize),e.textAttachmentDirection!=null&&(t.textAttachmentDirection=e.textAttachmentDirection),e.bottomTextAttachmentDirection!=null&&(t.bottomTextAttachmentDirection=e.bottomTextAttachmentDirection),e.topTextAttachmentDirection!=null&&(t.topTextAttachmentDirection=e.topTextAttachmentDirection),t.unknown2=e.unknown2,this.processCommonAttrs(e,t),t}convertLayerFilter(e){var o;const t=new r.AcDbLayerFilter;return(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),this.processCommonAttrs(e,t),t}convertLayerIndex(e){var o,n,i;const t=new r.AcDbLayerIndex;return e.timeStamp!=null&&(t.lastUpdatedAt=e.timeStamp,t.lastUpdatedAtU=e.timeStamp),(o=e.layerNames)!=null&&o.length&&(t.layerNames=e.layerNames),(n=e.idBufferIds)!=null&&n.length&&(t.idBufferIds=e.idBufferIds),(i=e.idBufferEntryCounts)!=null&&i.length&&(t.idBufferEntryCounts=e.idBufferEntryCounts),t.isUptoDate=!0,this.processCommonAttrs(e,t),t}processCommonAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}}const m="*MODEL_SPACE";class E extends r.AcDbDatabaseConverter{constructor(e={}){super(e),this.config.useWorker=!0,this.config.parserWorkerUrl||(this.config.parserWorkerUrl="/assets/libredwg-parser-worker.js")}async parse(e,t){const o=this.config,n=this.getParserWorkerTimeout(e,t);if(o.useWorker&&o.parserWorkerUrl){const i=r.acdbCreateWorkerApi({workerUrl:o.parserWorkerUrl,timeout:n,maxConcurrentWorkers:1}),s=await i.execute(e);return i.destroy(),r.AcDbOpenDatabaseError.throwOnWorkerParseFailure(s),s.data}else throw new Error("dwg converter can run in web worker only!")}processLineTypes(e,t){e.tables.LTYPE.entries.forEach(n=>{const i={name:n.name,description:n.description,standardFlag:n.standardFlag,totalPatternLength:n.totalPatternLength,pattern:n.pattern},s=new r.AcDbLinetypeTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.linetypeTable.add(s)})}processTextStyles(e,t){e.tables.STYLE.entries.forEach(n=>{const i={name:n.name,standardFlag:n.standardFlag,fixedTextHeight:n.fixedTextHeight,widthFactor:n.widthFactor,obliqueAngle:n.obliqueAngle,textGenerationFlag:n.textGenerationFlag,lastHeight:n.lastHeight,font:n.font,bigFont:n.bigFont,extendedFont:n.extendedFont},s=new r.AcDbTextStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.textStyleTable.add(s)}),t.ensureTextStyleDefaults()}processDimStyles(e,t){e.tables.DIMSTYLE.entries.forEach(n=>{const i={name:n.name,ownerId:n.ownerHandle,dimpost:n.DIMPOST||"",dimapost:n.DIMAPOST||"",dimscale:n.DIMSCALE,dimasz:n.DIMASZ,dimexo:n.DIMEXO,dimdli:n.DIMDLI,dimexe:n.DIMEXE,dimrnd:n.DIMRND,dimdle:n.DIMDLE,dimtp:n.DIMTP,dimtm:n.DIMTM,dimtxt:n.DIMTXT,dimcen:n.DIMCEN,dimtsz:n.DIMTSZ,dimaltf:n.DIMALTF,dimlfac:n.DIMLFAC,dimtvp:n.DIMTVP,dimtfac:n.DIMTFAC,dimgap:n.DIMGAP,dimaltrnd:n.DIMALTRND,dimtol:n.DIMTOL==null||n.DIMTOL==0?0:1,dimlim:n.DIMLIM==null||n.DIMLIM==0?0:1,dimtih:n.DIMTIH==null||n.DIMTIH==0?0:1,dimtoh:n.DIMTOH==null||n.DIMTOH==0?0:1,dimse1:n.DIMSE1==null||n.DIMSE1==0?0:1,dimse2:n.DIMSE2==null||n.DIMSE2==0?0:1,dimtad:n.DIMTAD,dimzin:n.DIMZIN,dimazin:n.DIMAZIN,dimalt:n.DIMALT,dimaltd:n.DIMALTD,dimtofl:n.DIMTOFL,dimsah:n.DIMSAH,dimtix:n.DIMTIX,dimsoxd:n.DIMSOXD,dimclrd:n.DIMCLRD,dimclre:n.DIMCLRE,dimclrt:n.DIMCLRT,dimadec:n.DIMADEC||0,dimunit:n.DIMUNIT||2,dimdec:n.DIMDEC,dimtdec:n.DIMTDEC,dimaltu:n.DIMALTU,dimalttd:n.DIMALTTD,dimaunit:n.DIMAUNIT,dimfrac:n.DIMFRAC,dimlunit:n.DIMLUNIT,dimdsep:n.DIMDSEP||".",dimtmove:n.DIMTMOVE||0,dimjust:n.DIMJUST,dimsd1:n.DIMSD1,dimsd2:n.DIMSD2,dimtolj:n.DIMTOLJ,dimtzin:n.DIMTZIN,dimaltz:n.DIMALTZ,dimalttz:n.DIMALTTZ,dimfit:n.DIMFIT||0,dimupt:n.DIMUPT,dimatfit:n.DIMATFIT,dimtxsty:r.DEFAULT_TEXT_STYLE,dimldrblk:"",dimblk:n.DIMBLK||"",dimblk1:n.DIMBLK1||"",dimblk2:n.DIMBLK2||"",dimlwd:n.DIMLWD,dimlwe:n.DIMLWE},s=new r.AcDbDimStyleTableRecord(i);this.processCommonTableEntryAttrs(n,s),t.tables.dimStyleTable.add(s)})}processLayers(e,t){e.tables.LAYER.entries.forEach(n=>{const i=new r.AcCmColor;this.applyLibreLayerColor(i,n);const s=new r.AcDbLayerTableRecord({name:n.name,standardFlags:n.standardFlag,linetype:n.lineType,lineWeight:n.lineweight,isOff:n.off,color:i,isPlottable:n.plotFlag!=0});this.processCommonTableEntryAttrs(n,s),t.tables.layerTable.add(s)})}applyLibreLayerColor(e,t){const o=t.colorIndex,n=t.color;o!=null&&o>=1&&o<=255?e.colorIndex=o:o===0?e.colorIndex=0:n!=null&&Number.isFinite(n)?e.setRGBValue(n&16777215):e.colorIndex=256,t.colorName&&(e.colorName=t.colorName)}processViewports(e,t){e.tables.VPORT.entries.forEach(n=>{const i=new r.AcDbViewportTableRecord;n.circleSides&&(i.circleSides=n.circleSides),i.standardFlag=n.standardFlag,i.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.lowerLeftCorner.copy(n.lowerLeftCorner??r.VPORT_FALLBACK_LLC),i.upperRightCorner.copy(n.upperRightCorner??r.VPORT_FALLBACK_URC),n.snapBasePoint&&i.snapBase.copy(n.snapBasePoint),n.snapRotationAngle&&(i.snapAngle=n.snapRotationAngle),n.snapSpacing&&i.snapIncrements.copy(n.snapSpacing),n.majorGridLines&&(i.gridMajor=n.majorGridLines),n.gridSpacing&&i.gridIncrements.copy(n.gridSpacing),n.backgroundObjectId&&(i.backgroundObjectId=n.backgroundObjectId),i.gsView.center.copy(n.center??r.VPORT_FALLBACK_CENTER_2D),i.gsView.viewDirectionFromTarget.copy(n.viewDirectionFromTarget??r.VPORT_FALLBACK_VIEW_DIR),i.gsView.viewTarget.copy(n.viewTarget??r.VPORT_FALLBACK_VIEW_TARGET),n.lensLength&&(i.gsView.lensLength=n.lensLength),n.frontClippingPlane&&(i.gsView.frontClippingPlane=n.frontClippingPlane),n.backClippingPlane&&(i.gsView.backClippingPlane=n.backClippingPlane),n.viewHeight&&(i.gsView.viewHeight=n.viewHeight);const s=n.aspectRatio;s!=null&&Number.isFinite(s)&&s>0&&(i.gsView.aspectRatio=s),n.viewTwistAngle&&(i.gsView.viewTwistAngle=n.viewTwistAngle),n.frozenLayers&&(i.gsView.frozenLayers=n.frozenLayers),n.styleSheet&&(i.gsView.styleSheet=n.styleSheet),n.renderMode&&(i.gsView.renderMode=n.renderMode),n.viewMode&&(i.gsView.viewMode=n.viewMode),n.ucsIconSetting&&(i.gsView.ucsIconSetting=n.ucsIconSetting),n.ucsOrigin&&i.gsView.ucsOrigin.copy(n.ucsOrigin),n.ucsXAxis&&i.gsView.ucsXAxis.copy(n.ucsXAxis),n.ucsYAxis&&i.gsView.ucsYAxis.copy(n.ucsYAxis),n.orthographicType&&(i.gsView.orthographicType=n.orthographicType),n.shadePlotSetting&&(i.gsView.shadePlotSetting=n.shadePlotSetting),n.shadePlotObjectId&&(i.gsView.shadePlotObjectId=n.shadePlotObjectId),n.visualStyleObjectId&&(i.gsView.visualStyleObjectId=n.visualStyleObjectId),n.isDefaultLightingOn&&(i.gsView.isDefaultLightingOn=n.isDefaultLightingOn),n.defaultLightingType&&(i.gsView.defaultLightingType=n.defaultLightingType),n.brightness&&(i.gsView.brightness=n.brightness),n.contrast&&(i.gsView.contrast=n.contrast),n.ambientColor&&(i.gsView.ambientColor=n.ambientColor),this.processCommonTableEntryAttrs(n,i),t.tables.viewportTable.add(i)})}processBlockTables(e,t){e.tables.BLOCK_RECORD.entries.forEach(n=>{let i=t.tables.blockTable.getAt(n.name);i||(i=new r.AcDbBlockTableRecord,i.name=n.name,i.ownerId=n.ownerHandle,i.layoutId=n.layout,i.flags=r.AcDbBlockTableRecord.sanitizeImportedFlags(n.flags??0),i.blockInsertUnits=n.insertionUnits,i.explodability=n.explodability,i.blockScaling=n.scalability,i.objectId=n.handle,t.tables.blockTable.add(i)),n.bmpPreview&&(i.previewIcon=r.acdbHexStringsToBytes([n.bmpPreview])),i.origin.copy(n.basePoint),!i.isModelSapce&&n.entities&&n.entities.length>0&&this.processEntitiesInBlock(n.entities,i)})}processBlocks(e,t){}async processEntitiesInBlock(e,t){const o=new L,n=e.length,i=[];for(let s=0;s<n;s++){const l=e[s],a=o.convert(l);a&&i.push(a)}t.appendEntity(i)}async processEntities(e,t,o,n,i){const s=new L;let l=[];e.tables.BLOCK_RECORD.entries.forEach(f=>{this.isModelSpace(f.name)&&(l=f.entities)});const a=l.length,p=new r.AcDbBatchProcessing(a,100-n.value,o);this.config.convertByEntityType&&(l=this.groupAndFlattenByType(l));const c=t.tables.blockTable.modelSpace;await p.processChunk(async(f,h)=>{const d=[];for(let g=f;g<h;g++){const b=l[g],A=s.convert(b);A&&d.push(A)}if(c.appendEntity(d),i){let g=n.value+h/a*(100-n.value);g>100&&(g=100),await i(g,"ENTITY","IN-PROGRESS")}})}processClasses(e,t){var o;(o=e.classes)!=null&&o.length&&(t.classes=e.classes.map(n=>({name:n.dxfName,cppClassName:n.cppName,appName:n.appName,proxyFlag:n.capabilitiesFlag,instanceCount:n.instanceCount,wasProxy:n.wasAProxyFlag,isEntity:n.isAnEntityFlag})))}processHeader(e,t){const o=e.thumbnailImage;o!=null&&o.length&&(t.thumbnailImage=o);const n=e.header;n.CECOLOR&&(n.CECOLOR.index>=0&&n.CECOLOR.index<=256?t.cecolor.colorIndex=n.CECOLOR.index:t.cecolor.setRGBValue(n.CECOLOR.rgb)),t.angbase=n.ANGBASE??0,t.angdir=n.ANGDIR??0,t.aunits=n.AUNITS??0,n.AUPREC!=null&&(t.auprec=n.AUPREC),n.LUNITS!=null&&(t.lunits=n.LUNITS),n.LUPREC!=null&&(t.luprec=n.LUPREC),n.UNITMODE!=null&&(t.unitmode=n.UNITMODE),n.MEASUREMENT!=null&&(t.measurement=n.MEASUREMENT),t.celtype=n.CELTYPE??r.ByLayer,t.celtscale=n.CELTSCALE??1,t.ltscale=n.LTSCALE??1,n.EXTMAX&&(t.extmax=n.EXTMAX),n.EXTMIN&&(t.extmin=n.EXTMIN),t.insunits=n.INSUNITS??1,t.pdmode=n.PDMODE??0,t.pdsize=n.PDSIZE??0,t.textstyle=n.TEXTSTYLE??r.DEFAULT_TEXT_STYLE;const i=this.normalizeHeaderStringValue(n.CMLEADERSTYLE)??r.DEFAULT_MLEADER_STYLE;t.cmleaderstyle=i}processCommonTableEntryAttrs(e,t){t.name=e.name,t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}processObjects(e,t){this.processLayouts(e,t),this.processImageDefs(e,t),this.processLayerFilters(e,t),this.processLayerIndexes(e,t),this.processLayerFilterTree(e,t),this.processMLeaderStyles(e,t),this.processDynBlockMetadata(e,t)}processDynBlockMetadata(e,t){const o=s=>s==null||s===""||s===0?"":String(s).trim().toUpperCase();for(const s of e.tables.BLOCK_RECORD.entries){const l=t.tables.blockTable.getAt(s.name);if(!l)continue;const a=s,p=r.acdbNormalizeExtensionDictionaryId(a.extensionDictionary??a.ownerDictionaryHardId??a.ownerDictionarySoftId);p&&(l.extensionDictionary=p)}const n=e.objects.DICTIONARY;if(!(n!=null&&n.length))return;const i=n.map(s=>{const l=[],a=s.entries??{};for(const p in a){const c=a[p];p&&c&&l.push({name:p,handle:o(String(c))})}return{handle:o(s.handle),ownerHandle:o(s.ownerHandle)||void 0,entries:l}});r.acdbImportDynBlockMetadata(t,{dictionaries:i,representationData:[]})}processLayerFilterTree(e,t){const o=e.objects.DICTIONARY,n=e.objects.XRECORD;if(!(o!=null&&o.length)||!(n!=null&&n.length))return;const i=p=>p?String(p).trim().toUpperCase():"",s=new Map;o.forEach(p=>{const c={},f=p.entries??{};for(const h in f){const d=f[h];h&&d&&(c[h]=i(String(d)))}s.set(i(p.handle),{handle:i(p.handle),ownerObjectId:i(p.ownerHandle),entries:c})});const l=new Map;n.forEach(p=>{l.set(i(p.handle),{handle:i(p.handle),ownerObjectId:i(p.ownerHandle),extensionDictionaryId:i(p.extensionDictionary),data:(p.data??[]).map(c=>({code:Number(c.code),value:c.value}))})});const a=r.acdbReadLayerFilterTree({dictionaries:s,xrecords:l});a.root.getNestedFilters().length>0&&(t.layerFilters=a)}processLayouts(e,t){const o=t.objects.layout;e.objects.LAYOUT.forEach(i=>{const s=new r.AcDbLayout;s.layoutName=i.layoutName,s.tabOrder=i.tabOrder;const l=t.tables.blockTable.newIterator();s.objectId=i.handle;for(const a of l)if(a.layoutId===s.objectId){s.blockTableRecordId=a.objectId;break}s.blockTableRecordId||i.layoutName==="Model"&&(s.blockTableRecordId=t.tables.blockTable.modelSpace.objectId),s.limits.min.copy(i.minLimit),s.limits.max.copy(i.maxLimit),s.extents.min.copy(i.minExtent),s.extents.max.copy(i.maxExtent),i.viewportId&&s.viewportArray.push(i.viewportId),this.processCommonObjectAttrs(i,s),o.setAt(s.layoutName,s)})}processImageDefs(e,t){const o=t.objects.imageDefinition;e.objects.IMAGEDEF.forEach(i=>{const s=new r.AcDbRasterImageDef;s.sourceFileName=i.fileName,this.processCommonObjectAttrs(i,s),o.setAt(s.objectId,s)})}processLayerFilters(e,t){const o=e.objects.LAYER_FILTER;if(!(o!=null&&o.length))return;const n=t.objects.layerFilter,i=new y;o.forEach(s=>{const l=i.convertLayerFilter(s);n.setAt(l.objectId,l)})}processLayerIndexes(e,t){const o=e.objects.LAYER_INDEX;if(!(o!=null&&o.length))return;const n=t.objects.layerIndex,i=new y;o.forEach(s=>{const l=i.convertLayerIndex(s);n.setAt(l.objectId,l)})}processMLeaderStyles(e,t){const o=e.objects.MLEADERSTYLE;if(!(o!=null&&o.length))return;const n=t.objects.mleaderStyle,i=new y;o.forEach(s=>{const l=i.convertMLeaderStyle(s);n.setAt(l.objectId,l)})}processCommonObjectAttrs(e,t){t.objectId=e.handle,e.ownerHandle!=null&&(t.ownerId=e.ownerHandle)}groupAndFlattenByType(e){const t={},o=[];for(const i of e)t[i.type]||(t[i.type]=[],o.push(i.type)),t[i.type].push(i);const n=[];for(const i of o){const s=t[i];for(let l=0;l<s.length;l++)n.push(s[l])}return n}isModelSpace(e){return e&&e.toUpperCase()==m}normalizeHeaderStringValue(e){if(typeof e!="string")return;const t=e.trim();return t.length>0?t:void 0}}D.AcDbLibreDwgConverter=E,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
@@ -1,4 +1,4 @@
1
- var ro=Object.defineProperty;var ao=(a,t,i)=>t in a?ro(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i;var Yt=(a,t,i)=>ao(a,typeof t!="symbol"?t+"":t,i);var oo="DwgConverterLicenseError",io=["evaluation of @mlight-cad/dwg-converter has expired"],so=["invalid @mlight-cad/dwg-converter license key"];function _o(a){return a==="license_expired"||a==="license_invalid"}function _r(a){var t=a.toLowerCase();if(io.some(function(i){return t.includes(i)}))return"license_expired";if(so.some(function(i){return t.includes(i)}))return"license_invalid"}function lo(a){var t;return(t=_r(a))!==null&&t!==void 0?t:"license_invalid"}var co=function(a,t,i,n){function d(_){return _ instanceof i?_:new i(function(E){E(_)})}return new(i||(i=Promise))(function(_,E){function h(P){try{A(n.next(P))}catch(v){E(v)}}function g(P){try{A(n.throw(P))}catch(v){E(v)}}function A(P){P.done?_(P.value):d(P.value).then(h,g)}A((n=n.apply(a,t||[])).next())})},Eo=function(a,t){var i={label:0,sent:function(){if(_[0]&1)throw _[1];return _[1]},trys:[],ops:[]},n,d,_,E;return E={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function h(A){return function(P){return g([A,P])}}function g(A){if(n)throw new TypeError("Generator is already executing.");for(;E&&(E=0,A[0]&&(i=0)),i;)try{if(n=1,d&&(_=A[0]&2?d.return:A[0]?d.throw||((_=d.return)&&_.call(d),0):d.next)&&!(_=_.call(d,A[1])).done)return _;switch(d=0,_&&(A=[A[0]&2,_.value]),A[0]){case 0:case 1:_=A;break;case 4:return i.label++,{value:A[1],done:!1};case 5:i.label++,d=A[1],A=[0];continue;case 7:A=i.ops.pop(),i.trys.pop();continue;default:if(_=i.trys,!(_=_.length>0&&_[_.length-1])&&(A[0]===6||A[0]===2)){i=0;continue}if(A[0]===3&&(!_||A[1]>_[0]&&A[1]<_[3])){i.label=A[1];break}if(A[0]===6&&i.label<_[1]){i.label=_[1],_=A;break}if(_&&i.label<_[2]){i.label=_[2],i.ops.push(A);break}_[2]&&i.ops.pop(),i.trys.pop();continue}A=t.call(a,i)}catch(P){A=[6,P],d=0}finally{n=_=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},uo=["out of memory","data cannot be cloned","allocation failed","memory access out of bounds"];function fo(a){var t=a.toLowerCase();return uo.some(function(i){return t.includes(i)})}var ho=(function(){function a(){this.setupMessageHandler()}return a.prototype.setupMessageHandler=function(){var t=this;self.onmessage=function(i){return co(t,void 0,void 0,function(){var n,d,_,E,h,g;return Eo(this,function(A){switch(A.label){case 0:n=i.data,d=n.id,_=n.input,A.label=1;case 1:return A.trys.push([1,3,,4]),[4,this.executeTask(_)];case 2:return E=A.sent(),this.sendResponse(d,!0,E),[3,4];case 3:return h=A.sent(),g=h instanceof Error?h.message:String(h),this.sendResponse(d,!1,void 0,g,this.classifyTaskError(h,g)),[3,4];case 4:return[2]}})})}},a.prototype.sendResponse=function(t,i,n,d,_){var E={id:t,success:i,data:n,error:d,errorCode:_};try{self.postMessage(E)}catch(g){var h=g instanceof Error?g.message:String(g);self.postMessage({id:t,success:!1,error:h,errorCode:this.classifyPostMessageError(h)})}},a.prototype.classifyTaskError=function(t,i){if(t instanceof Error){var n=t.code;if(_o(n))return n;if(t.name===oo)return lo(i)}var d=_r(i);return d||this.classifyPostMessageError(i)},a.prototype.classifyPostMessageError=function(t){return fo(t)?"worker_oom":t.toLowerCase().includes("timed out")?"worker_timeout":"worker_error"},a})();const go="modulepreload",Ao=function(a,t){return new URL(a,t).href},tr={},To=function(t,i,n){let d=Promise.resolve();if(i&&i.length>0){let E=function(P){return Promise.all(P.map(v=>Promise.resolve(v).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const h=document.getElementsByTagName("link"),g=document.querySelector("meta[property=csp-nonce]"),A=(g==null?void 0:g.nonce)||(g==null?void 0:g.getAttribute("nonce"));d=E(i.map(P=>{if(P=Ao(P,n),P in tr)return;tr[P]=!0;const v=P.endsWith(".css"),p=v?'[rel="stylesheet"]':"";if(!!n)for(let w=h.length-1;w>=0;w--){const m=h[w];if(m.href===P&&(!v||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${P}"]${p}`))return;const R=document.createElement("link");if(R.rel=v?"stylesheet":go,v||(R.as="script"),R.crossOrigin="",R.href=P,A&&R.setAttribute("nonce",A),document.head.appendChild(R),v)return new Promise((w,m)=>{R.addEventListener("load",w),R.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${P}`)))})}))}function _(E){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=E,window.dispatchEvent(h),!h.defaultPrevented)throw E}return d.then(E=>{for(const h of E||[])h.status==="rejected"&&_(h.reason);return t().catch(_)})};var er=(()=>{var a=import.meta.url;return(async function(t={}){var i,n=t,d,_,E=new Promise((e,r)=>{d=e,_=r}),h=typeof window=="object",g=typeof WorkerGlobalScope<"u",A=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(A){const{createRequire:e}=await To(()=>Promise.resolve().then(()=>Fo),void 0,import.meta.url);var P=e(import.meta.url)}var v=Object.assign({},n),p="./this.program",I="";function R(e){return n.locateFile?n.locateFile(e,I):I+e}var w,m;if(A){var S=P("fs"),W=P("path");import.meta.url.startsWith("data:")||(I=W.dirname(P("url").fileURLToPath(import.meta.url))+"/"),m=e=>{e=ft(e)?new URL(e):e;var r=S.readFileSync(e);return r},w=async(e,r=!0)=>{e=ft(e)?new URL(e):e;var o=S.readFileSync(e,r?void 0:"utf8");return o},!n.thisProgram&&process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else(h||g)&&(g?I=self.location.href:typeof document<"u"&&document.currentScript&&(I=document.currentScript.src),a&&(I=a),I.startsWith("blob:")?I="":I=I.slice(0,I.replace(/[?#].*/,"").lastIndexOf("/")+1),g&&(m=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),w=async e=>{if(ft(e))return new Promise((o,s)=>{var c=new XMLHttpRequest;c.open("GET",e,!0),c.responseType="arraybuffer",c.onload=()=>{if(c.status==200||c.status==0&&c.response){o(c.response);return}s(c.status)},c.onerror=s,c.send(null)});var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)});var M=n.print||(()=>{}).bind(console),x=n.printErr||(()=>{}).bind(console);Object.assign(n,v),v=null,n.arguments&&n.arguments,n.thisProgram&&(p=n.thisProgram);var k=n.wasmBinary,V,q=!1,$,Z,nt,it,Y,U,lt,st,Dt,yt,Nt="data:application/octet-stream;base64,",pt=e=>e.startsWith(Nt),ft=e=>e.startsWith("file://");function ht(){var e=V.buffer;n.HEAP8=$=new Int8Array(e),n.HEAP16=nt=new Int16Array(e),n.HEAPU8=Z=new Uint8Array(e),n.HEAPU16=it=new Uint16Array(e),n.HEAP32=Y=new Int32Array(e),n.HEAPU32=U=new Uint32Array(e),n.HEAPF32=lt=new Float32Array(e),n.HEAPF64=yt=new Float64Array(e),n.HEAP64=st=new BigInt64Array(e),n.HEAPU64=Dt=new BigUint64Array(e)}var Rt=[],Ft=[],Ut=[];function Zt(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)jt(n.preRun.shift());ne(Rt)}function qt(){!n.noFSInit&&!l.initialized&&l.init(),l.ignorePermissions=!1,ne(Ft)}function Qt(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)te(n.postRun.shift());ne(Ut)}function jt(e){Rt.unshift(e)}function Gt(e){Ft.unshift(e)}function te(e){Ut.unshift(e)}var ct=0,Wt=null;function $t(e){var r;ct++,(r=n.monitorRunDependencies)==null||r.call(n,ct)}function Q(e){var o;if(ct--,(o=n.monitorRunDependencies)==null||o.call(n,ct),ct==0&&Wt){var r=Wt;Wt=null,r()}}function X(e){var o;(o=n.onAbort)==null||o.call(n,e),e="Aborted("+e+")",x(e),q=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw _(r),r}var ee;function we(){if(n.locateFile){var e="libredwg-web.wasm";return pt(e)?e:R(e)}return new URL(""+new URL("libredwg-web.wasm",import.meta.url).href,import.meta.url).href}function Ce(e){if(e==ee&&k)return new Uint8Array(k);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}async function De(e){if(!k)try{var r=await w(e);return new Uint8Array(r)}catch{}return Ce(e)}async function Re(e,r){try{var o=await De(e),s=await WebAssembly.instantiate(o,r);return s}catch(c){x(`failed to asynchronously prepare wasm: ${c}`),X(c)}}async function Se(e,r,o){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!pt(r)&&!ft(r)&&!A)try{var s=fetch(r,{credentials:"same-origin"}),c=await WebAssembly.instantiateStreaming(s,o);return c}catch(u){x(`wasm streaming compile failed: ${u}`),x("falling back to ArrayBuffer instantiation")}return Re(r,o)}function Le(){return{env:Qn,wasi_snapshot_preview1:Qn}}async function Ye(){function e(u,f){return K=u.exports,K=no(K),V=K.memory,ht(),kn=K.__indirect_function_table,Gt(K.__wasm_call_ctors),Q(),K}$t();function r(u){return e(u.instance)}var o=Le();if(n.instantiateWasm)try{return n.instantiateWasm(o,e)}catch(u){x(`Module.instantiateWasm callback failed with error: ${u}`),_(u)}ee??(ee=we());try{var s=await Se(k,ee,o),c=r(s);return c}catch(u){return _(u),Promise.reject(u)}}var ne=e=>{for(;e.length>0;)e.shift()(n)};n.noExitRuntime;function Ne(e,r,o="i8"){switch(o.endsWith("*")&&(o="*"),o){case"i1":$[e>>>0]=r;break;case"i8":$[e>>>0]=r;break;case"i16":nt[e>>>1>>>0]=r;break;case"i32":Y[e>>>2>>>0]=r;break;case"i64":st[e>>>3]=BigInt(r);break;case"float":lt[e>>>2>>>0]=r;break;case"double":yt[e>>>3>>>0]=r;break;case"*":U[e>>>2>>>0]=r;break;default:X(`invalid type for setValue: ${o}`)}}var he=e=>ja(e),ge=()=>eo();class Ge{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){U[this.ptr+4>>>2>>>0]=r}get_type(){return U[this.ptr+4>>>2>>>0]}set_destructor(r){U[this.ptr+8>>>2>>>0]=r}get_destructor(){return U[this.ptr+8>>>2>>>0]}set_caught(r){r=r?1:0,$[this.ptr+12>>>0]=r}get_caught(){return $[this.ptr+12>>>0]!=0}set_rethrown(r){r=r?1:0,$[this.ptr+13>>>0]=r}get_rethrown(){return $[this.ptr+13>>>0]!=0}init(r,o){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(o)}set_adjusted_ptr(r){U[this.ptr+16>>>2>>>0]=r}get_adjusted_ptr(){return U[this.ptr+16>>>2>>>0]}}var Ae=0,We=9007199254740992,Me=-9007199254740992,re=e=>e<Me||e>We?NaN:Number(e);function Te(e,r,o){e>>>=0,r>>>=0,o>>>=0;var s=new Ge(e);throw s.init(r,o),Ae=e,Ae}var Mt=()=>{var e=Y[+F.varargs>>>2>>>0];return F.varargs+=4,e},vt=Mt,J={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var o=0,s=e.length-1;s>=0;s--){var c=e[s];c==="."?e.splice(s,1):c===".."?(e.splice(s,1),o++):o&&(e.splice(s,1),o--)}if(r)for(;o;o--)e.unshift("..");return e},normalize:e=>{var r=J.isAbs(e),o=e.slice(-1)==="/";return e=J.normalizeArray(e.split("/").filter(s=>!!s),!r).join("/"),!e&&!r&&(e="."),e&&o&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=J.splitPath(e),o=r[0],s=r[1];return!o&&!s?".":(s&&(s=s.slice(0,-1)),o+s)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>J.normalize(e.join("/")),join2:(e,r)=>J.normalize(e+"/"+r)},Pe=()=>{if(A){var e=P("crypto");return r=>e.randomFillSync(r)}return r=>crypto.getRandomValues(r)},Ht=e=>{(Ht=Pe())(e)},It={resolve:(...e)=>{for(var r="",o=!1,s=e.length-1;s>=-1&&!o;s--){var c=s>=0?e[s]:l.cwd();if(typeof c!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!c)return"";r=c+"/"+r,o=J.isAbs(c)}return r=J.normalizeArray(r.split("/").filter(u=>!!u),!o).join("/"),(o?"/":"")+r||"."},relative:(e,r)=>{e=It.resolve(e).slice(1),r=It.resolve(r).slice(1);function o(C){for(var D=0;D<C.length&&C[D]==="";D++);for(var N=C.length-1;N>=0&&C[N]==="";N--);return D>N?[]:C.slice(D,N-D+1)}for(var s=o(e.split("/")),c=o(r.split("/")),u=Math.min(s.length,c.length),f=u,T=0;T<u;T++)if(s[T]!==c[T]){f=T;break}for(var y=[],T=f;T<s.length;T++)y.push("..");return y=y.concat(c.slice(f)),y.join("/")}},ae=typeof TextDecoder<"u"?new TextDecoder:void 0,mt=(e,r=0,o=NaN)=>{r>>>=0;for(var s=r+o,c=r;e[c]&&!(c>=s);)++c;if(c-r>16&&e.buffer&&ae)return ae.decode(e.subarray(r,c));for(var u="";r<c;){var f=e[r++];if(!(f&128)){u+=String.fromCharCode(f);continue}var T=e[r++]&63;if((f&224)==192){u+=String.fromCharCode((f&31)<<6|T);continue}var y=e[r++]&63;if((f&240)==224?f=(f&15)<<12|T<<6|y:f=(f&7)<<18|T<<12|y<<6|e[r++]&63,f<65536)u+=String.fromCharCode(f);else{var C=f-65536;u+=String.fromCharCode(55296|C>>10,56320|C&1023)}}return u},Vt=[],St=e=>{for(var r=0,o=0;o<e.length;++o){var s=e.charCodeAt(o);s<=127?r++:s<=2047?r+=2:s>=55296&&s<=57343?(r+=4,++o):r+=3}return r},Xt=(e,r,o,s)=>{if(o>>>=0,!(s>0))return 0;for(var c=o,u=o+s-1,f=0;f<e.length;++f){var T=e.charCodeAt(f);if(T>=55296&&T<=57343){var y=e.charCodeAt(++f);T=65536+((T&1023)<<10)|y&1023}if(T<=127){if(o>=u)break;r[o++>>>0]=T}else if(T<=2047){if(o+1>=u)break;r[o++>>>0]=192|T>>6,r[o++>>>0]=128|T&63}else if(T<=65535){if(o+2>=u)break;r[o++>>>0]=224|T>>12,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}else{if(o+3>=u)break;r[o++>>>0]=240|T>>18,r[o++>>>0]=128|T>>12&63,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}}return r[o>>>0]=0,o-c},oe=(e,r,o)=>{var s=St(e)+1,c=new Array(s),u=Xt(e,c,0,c.length);return c.length=u,c},ye=()=>{if(!Vt.length){var e=null;if(A){var r=256,o=Buffer.alloc(r),s=0,c=process.stdin.fd;try{s=S.readSync(c,o,0,r)}catch(u){if(u.toString().includes("EOF"))s=0;else throw u}s>0&&(e=o.slice(0,s).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
1
+ var ro=Object.defineProperty;var ao=(a,t,i)=>t in a?ro(a,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[t]=i;var Yt=(a,t,i)=>ao(a,typeof t!="symbol"?t+"":t,i);var oo="DwgConverterLicenseError",io=["evaluation of @mlightcad/dwg-converter has expired"],so=["invalid @mlightcad/dwg-converter license key"];function _o(a){return a==="license_expired"||a==="license_invalid"}function _r(a){var t=a.toLowerCase();if(io.some(function(i){return t.includes(i)}))return"license_expired";if(so.some(function(i){return t.includes(i)}))return"license_invalid"}function lo(a){var t;return(t=_r(a))!==null&&t!==void 0?t:"license_invalid"}var co=function(a,t,i,n){function d(_){return _ instanceof i?_:new i(function(E){E(_)})}return new(i||(i=Promise))(function(_,E){function h(P){try{A(n.next(P))}catch(v){E(v)}}function g(P){try{A(n.throw(P))}catch(v){E(v)}}function A(P){P.done?_(P.value):d(P.value).then(h,g)}A((n=n.apply(a,t||[])).next())})},Eo=function(a,t){var i={label:0,sent:function(){if(_[0]&1)throw _[1];return _[1]},trys:[],ops:[]},n,d,_,E;return E={next:h(0),throw:h(1),return:h(2)},typeof Symbol=="function"&&(E[Symbol.iterator]=function(){return this}),E;function h(A){return function(P){return g([A,P])}}function g(A){if(n)throw new TypeError("Generator is already executing.");for(;E&&(E=0,A[0]&&(i=0)),i;)try{if(n=1,d&&(_=A[0]&2?d.return:A[0]?d.throw||((_=d.return)&&_.call(d),0):d.next)&&!(_=_.call(d,A[1])).done)return _;switch(d=0,_&&(A=[A[0]&2,_.value]),A[0]){case 0:case 1:_=A;break;case 4:return i.label++,{value:A[1],done:!1};case 5:i.label++,d=A[1],A=[0];continue;case 7:A=i.ops.pop(),i.trys.pop();continue;default:if(_=i.trys,!(_=_.length>0&&_[_.length-1])&&(A[0]===6||A[0]===2)){i=0;continue}if(A[0]===3&&(!_||A[1]>_[0]&&A[1]<_[3])){i.label=A[1];break}if(A[0]===6&&i.label<_[1]){i.label=_[1],_=A;break}if(_&&i.label<_[2]){i.label=_[2],i.ops.push(A);break}_[2]&&i.ops.pop(),i.trys.pop();continue}A=t.call(a,i)}catch(P){A=[6,P],d=0}finally{n=_=0}if(A[0]&5)throw A[1];return{value:A[0]?A[1]:void 0,done:!0}}},uo=["out of memory","data cannot be cloned","allocation failed","memory access out of bounds"];function fo(a){var t=a.toLowerCase();return uo.some(function(i){return t.includes(i)})}var ho=(function(){function a(){this.setupMessageHandler()}return a.prototype.setupMessageHandler=function(){var t=this;self.onmessage=function(i){return co(t,void 0,void 0,function(){var n,d,_,E,h,g;return Eo(this,function(A){switch(A.label){case 0:n=i.data,d=n.id,_=n.input,A.label=1;case 1:return A.trys.push([1,3,,4]),[4,this.executeTask(_)];case 2:return E=A.sent(),this.sendResponse(d,!0,E),[3,4];case 3:return h=A.sent(),g=h instanceof Error?h.message:String(h),this.sendResponse(d,!1,void 0,g,this.classifyTaskError(h,g)),[3,4];case 4:return[2]}})})}},a.prototype.sendResponse=function(t,i,n,d,_){var E={id:t,success:i,data:n,error:d,errorCode:_};try{self.postMessage(E)}catch(g){var h=g instanceof Error?g.message:String(g);self.postMessage({id:t,success:!1,error:h,errorCode:this.classifyPostMessageError(h)})}},a.prototype.classifyTaskError=function(t,i){if(t instanceof Error){var n=t.code;if(_o(n))return n;if(t.name===oo)return lo(i)}var d=_r(i);return d||this.classifyPostMessageError(i)},a.prototype.classifyPostMessageError=function(t){return fo(t)?"worker_oom":t.toLowerCase().includes("timed out")?"worker_timeout":"worker_error"},a})();const go="modulepreload",Ao=function(a,t){return new URL(a,t).href},tr={},To=function(t,i,n){let d=Promise.resolve();if(i&&i.length>0){let E=function(P){return Promise.all(P.map(v=>Promise.resolve(v).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const h=document.getElementsByTagName("link"),g=document.querySelector("meta[property=csp-nonce]"),A=(g==null?void 0:g.nonce)||(g==null?void 0:g.getAttribute("nonce"));d=E(i.map(P=>{if(P=Ao(P,n),P in tr)return;tr[P]=!0;const v=P.endsWith(".css"),p=v?'[rel="stylesheet"]':"";if(!!n)for(let w=h.length-1;w>=0;w--){const m=h[w];if(m.href===P&&(!v||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${P}"]${p}`))return;const R=document.createElement("link");if(R.rel=v?"stylesheet":go,v||(R.as="script"),R.crossOrigin="",R.href=P,A&&R.setAttribute("nonce",A),document.head.appendChild(R),v)return new Promise((w,m)=>{R.addEventListener("load",w),R.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${P}`)))})}))}function _(E){const h=new Event("vite:preloadError",{cancelable:!0});if(h.payload=E,window.dispatchEvent(h),!h.defaultPrevented)throw E}return d.then(E=>{for(const h of E||[])h.status==="rejected"&&_(h.reason);return t().catch(_)})};var er=(()=>{var a=import.meta.url;return(async function(t={}){var i,n=t,d,_,E=new Promise((e,r)=>{d=e,_=r}),h=typeof window=="object",g=typeof WorkerGlobalScope<"u",A=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(A){const{createRequire:e}=await To(()=>Promise.resolve().then(()=>Fo),void 0,import.meta.url);var P=e(import.meta.url)}var v=Object.assign({},n),p="./this.program",I="";function R(e){return n.locateFile?n.locateFile(e,I):I+e}var w,m;if(A){var S=P("fs"),W=P("path");import.meta.url.startsWith("data:")||(I=W.dirname(P("url").fileURLToPath(import.meta.url))+"/"),m=e=>{e=ft(e)?new URL(e):e;var r=S.readFileSync(e);return r},w=async(e,r=!0)=>{e=ft(e)?new URL(e):e;var o=S.readFileSync(e,r?void 0:"utf8");return o},!n.thisProgram&&process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2)}else(h||g)&&(g?I=self.location.href:typeof document<"u"&&document.currentScript&&(I=document.currentScript.src),a&&(I=a),I.startsWith("blob:")?I="":I=I.slice(0,I.replace(/[?#].*/,"").lastIndexOf("/")+1),g&&(m=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),w=async e=>{if(ft(e))return new Promise((o,s)=>{var c=new XMLHttpRequest;c.open("GET",e,!0),c.responseType="arraybuffer",c.onload=()=>{if(c.status==200||c.status==0&&c.response){o(c.response);return}s(c.status)},c.onerror=s,c.send(null)});var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)});var M=n.print||(()=>{}).bind(console),x=n.printErr||(()=>{}).bind(console);Object.assign(n,v),v=null,n.arguments&&n.arguments,n.thisProgram&&(p=n.thisProgram);var k=n.wasmBinary,V,q=!1,$,Z,nt,it,Y,U,lt,st,Dt,yt,Nt="data:application/octet-stream;base64,",pt=e=>e.startsWith(Nt),ft=e=>e.startsWith("file://");function ht(){var e=V.buffer;n.HEAP8=$=new Int8Array(e),n.HEAP16=nt=new Int16Array(e),n.HEAPU8=Z=new Uint8Array(e),n.HEAPU16=it=new Uint16Array(e),n.HEAP32=Y=new Int32Array(e),n.HEAPU32=U=new Uint32Array(e),n.HEAPF32=lt=new Float32Array(e),n.HEAPF64=yt=new Float64Array(e),n.HEAP64=st=new BigInt64Array(e),n.HEAPU64=Dt=new BigUint64Array(e)}var Rt=[],Ft=[],Ut=[];function Zt(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)jt(n.preRun.shift());ne(Rt)}function qt(){!n.noFSInit&&!l.initialized&&l.init(),l.ignorePermissions=!1,ne(Ft)}function Qt(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)te(n.postRun.shift());ne(Ut)}function jt(e){Rt.unshift(e)}function Gt(e){Ft.unshift(e)}function te(e){Ut.unshift(e)}var ct=0,Wt=null;function $t(e){var r;ct++,(r=n.monitorRunDependencies)==null||r.call(n,ct)}function Q(e){var o;if(ct--,(o=n.monitorRunDependencies)==null||o.call(n,ct),ct==0&&Wt){var r=Wt;Wt=null,r()}}function X(e){var o;(o=n.onAbort)==null||o.call(n,e),e="Aborted("+e+")",x(e),q=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw _(r),r}var ee;function we(){if(n.locateFile){var e="libredwg-web.wasm";return pt(e)?e:R(e)}return new URL(""+new URL("libredwg-web.wasm",import.meta.url).href,import.meta.url).href}function Ce(e){if(e==ee&&k)return new Uint8Array(k);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}async function De(e){if(!k)try{var r=await w(e);return new Uint8Array(r)}catch{}return Ce(e)}async function Re(e,r){try{var o=await De(e),s=await WebAssembly.instantiate(o,r);return s}catch(c){x(`failed to asynchronously prepare wasm: ${c}`),X(c)}}async function Se(e,r,o){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!pt(r)&&!ft(r)&&!A)try{var s=fetch(r,{credentials:"same-origin"}),c=await WebAssembly.instantiateStreaming(s,o);return c}catch(u){x(`wasm streaming compile failed: ${u}`),x("falling back to ArrayBuffer instantiation")}return Re(r,o)}function Le(){return{env:Qn,wasi_snapshot_preview1:Qn}}async function Ye(){function e(u,f){return K=u.exports,K=no(K),V=K.memory,ht(),kn=K.__indirect_function_table,Gt(K.__wasm_call_ctors),Q(),K}$t();function r(u){return e(u.instance)}var o=Le();if(n.instantiateWasm)try{return n.instantiateWasm(o,e)}catch(u){x(`Module.instantiateWasm callback failed with error: ${u}`),_(u)}ee??(ee=we());try{var s=await Se(k,ee,o),c=r(s);return c}catch(u){return _(u),Promise.reject(u)}}var ne=e=>{for(;e.length>0;)e.shift()(n)};n.noExitRuntime;function Ne(e,r,o="i8"){switch(o.endsWith("*")&&(o="*"),o){case"i1":$[e>>>0]=r;break;case"i8":$[e>>>0]=r;break;case"i16":nt[e>>>1>>>0]=r;break;case"i32":Y[e>>>2>>>0]=r;break;case"i64":st[e>>>3]=BigInt(r);break;case"float":lt[e>>>2>>>0]=r;break;case"double":yt[e>>>3>>>0]=r;break;case"*":U[e>>>2>>>0]=r;break;default:X(`invalid type for setValue: ${o}`)}}var he=e=>ja(e),ge=()=>eo();class Ge{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){U[this.ptr+4>>>2>>>0]=r}get_type(){return U[this.ptr+4>>>2>>>0]}set_destructor(r){U[this.ptr+8>>>2>>>0]=r}get_destructor(){return U[this.ptr+8>>>2>>>0]}set_caught(r){r=r?1:0,$[this.ptr+12>>>0]=r}get_caught(){return $[this.ptr+12>>>0]!=0}set_rethrown(r){r=r?1:0,$[this.ptr+13>>>0]=r}get_rethrown(){return $[this.ptr+13>>>0]!=0}init(r,o){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(o)}set_adjusted_ptr(r){U[this.ptr+16>>>2>>>0]=r}get_adjusted_ptr(){return U[this.ptr+16>>>2>>>0]}}var Ae=0,We=9007199254740992,Me=-9007199254740992,re=e=>e<Me||e>We?NaN:Number(e);function Te(e,r,o){e>>>=0,r>>>=0,o>>>=0;var s=new Ge(e);throw s.init(r,o),Ae=e,Ae}var Mt=()=>{var e=Y[+F.varargs>>>2>>>0];return F.varargs+=4,e},vt=Mt,J={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var o=0,s=e.length-1;s>=0;s--){var c=e[s];c==="."?e.splice(s,1):c===".."?(e.splice(s,1),o++):o&&(e.splice(s,1),o--)}if(r)for(;o;o--)e.unshift("..");return e},normalize:e=>{var r=J.isAbs(e),o=e.slice(-1)==="/";return e=J.normalizeArray(e.split("/").filter(s=>!!s),!r).join("/"),!e&&!r&&(e="."),e&&o&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=J.splitPath(e),o=r[0],s=r[1];return!o&&!s?".":(s&&(s=s.slice(0,-1)),o+s)},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>J.normalize(e.join("/")),join2:(e,r)=>J.normalize(e+"/"+r)},Pe=()=>{if(A){var e=P("crypto");return r=>e.randomFillSync(r)}return r=>crypto.getRandomValues(r)},Ht=e=>{(Ht=Pe())(e)},It={resolve:(...e)=>{for(var r="",o=!1,s=e.length-1;s>=-1&&!o;s--){var c=s>=0?e[s]:l.cwd();if(typeof c!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!c)return"";r=c+"/"+r,o=J.isAbs(c)}return r=J.normalizeArray(r.split("/").filter(u=>!!u),!o).join("/"),(o?"/":"")+r||"."},relative:(e,r)=>{e=It.resolve(e).slice(1),r=It.resolve(r).slice(1);function o(C){for(var D=0;D<C.length&&C[D]==="";D++);for(var N=C.length-1;N>=0&&C[N]==="";N--);return D>N?[]:C.slice(D,N-D+1)}for(var s=o(e.split("/")),c=o(r.split("/")),u=Math.min(s.length,c.length),f=u,T=0;T<u;T++)if(s[T]!==c[T]){f=T;break}for(var y=[],T=f;T<s.length;T++)y.push("..");return y=y.concat(c.slice(f)),y.join("/")}},ae=typeof TextDecoder<"u"?new TextDecoder:void 0,mt=(e,r=0,o=NaN)=>{r>>>=0;for(var s=r+o,c=r;e[c]&&!(c>=s);)++c;if(c-r>16&&e.buffer&&ae)return ae.decode(e.subarray(r,c));for(var u="";r<c;){var f=e[r++];if(!(f&128)){u+=String.fromCharCode(f);continue}var T=e[r++]&63;if((f&224)==192){u+=String.fromCharCode((f&31)<<6|T);continue}var y=e[r++]&63;if((f&240)==224?f=(f&15)<<12|T<<6|y:f=(f&7)<<18|T<<12|y<<6|e[r++]&63,f<65536)u+=String.fromCharCode(f);else{var C=f-65536;u+=String.fromCharCode(55296|C>>10,56320|C&1023)}}return u},Vt=[],St=e=>{for(var r=0,o=0;o<e.length;++o){var s=e.charCodeAt(o);s<=127?r++:s<=2047?r+=2:s>=55296&&s<=57343?(r+=4,++o):r+=3}return r},Xt=(e,r,o,s)=>{if(o>>>=0,!(s>0))return 0;for(var c=o,u=o+s-1,f=0;f<e.length;++f){var T=e.charCodeAt(f);if(T>=55296&&T<=57343){var y=e.charCodeAt(++f);T=65536+((T&1023)<<10)|y&1023}if(T<=127){if(o>=u)break;r[o++>>>0]=T}else if(T<=2047){if(o+1>=u)break;r[o++>>>0]=192|T>>6,r[o++>>>0]=128|T&63}else if(T<=65535){if(o+2>=u)break;r[o++>>>0]=224|T>>12,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}else{if(o+3>=u)break;r[o++>>>0]=240|T>>18,r[o++>>>0]=128|T>>12&63,r[o++>>>0]=128|T>>6&63,r[o++>>>0]=128|T&63}}return r[o>>>0]=0,o-c},oe=(e,r,o)=>{var s=St(e)+1,c=new Array(s),u=Xt(e,c,0,c.length);return c.length=u,c},ye=()=>{if(!Vt.length){var e=null;if(A){var r=256,o=Buffer.alloc(r),s=0,c=process.stdin.fd;try{s=S.readSync(c,o,0,r)}catch(u){if(u.toString().includes("EOF"))s=0;else throw u}s>0&&(e=o.slice(0,s).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
2
2
  `));if(!e)return null;Vt=oe(e)}return Vt.shift()},gt={ttys:[],init(){},shutdown(){},register(e,r){gt.ttys[e]={input:[],output:[],ops:r},l.registerDevice(e,gt.stream_ops)},stream_ops:{open(e){var r=gt.ttys[e.node.rdev];if(!r)throw new l.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,o,s,c){if(!e.tty||!e.tty.ops.get_char)throw new l.ErrnoError(60);for(var u=0,f=0;f<s;f++){var T;try{T=e.tty.ops.get_char(e.tty)}catch{throw new l.ErrnoError(29)}if(T===void 0&&u===0)throw new l.ErrnoError(6);if(T==null)break;u++,r[o+f]=T}return u&&(e.node.atime=Date.now()),u},write(e,r,o,s,c){if(!e.tty||!e.tty.ops.put_char)throw new l.ErrnoError(60);try{for(var u=0;u<s;u++)e.tty.ops.put_char(e.tty,r[o+u])}catch{throw new l.ErrnoError(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),u}},default_tty_ops:{get_char(e){return ye()},put_char(e,r){r===null||r===10?(M(mt(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(M(mt(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,r,o){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(x(mt(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){var r;((r=e.output)==null?void 0:r.length)>0&&(x(mt(e.output)),e.output=[])}}},pe=(e,r)=>Math.ceil(e/r)*r,ie=e=>{X()},B={ops_table:null,mount(e){return B.createNode(null,"/",16895,0)},createNode(e,r,o,s){if(l.isBlkdev(o)||l.isFIFO(o))throw new l.ErrnoError(63);B.ops_table||(B.ops_table={dir:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr,lookup:B.node_ops.lookup,mknod:B.node_ops.mknod,rename:B.node_ops.rename,unlink:B.node_ops.unlink,rmdir:B.node_ops.rmdir,readdir:B.node_ops.readdir,symlink:B.node_ops.symlink},stream:{llseek:B.stream_ops.llseek}},file:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr},stream:{llseek:B.stream_ops.llseek,read:B.stream_ops.read,write:B.stream_ops.write,allocate:B.stream_ops.allocate,mmap:B.stream_ops.mmap,msync:B.stream_ops.msync}},link:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr,readlink:B.node_ops.readlink},stream:{}},chrdev:{node:{getattr:B.node_ops.getattr,setattr:B.node_ops.setattr},stream:l.chrdev_stream_ops}});var c=l.createNode(e,r,o,s);return l.isDir(c.mode)?(c.node_ops=B.ops_table.dir.node,c.stream_ops=B.ops_table.dir.stream,c.contents={}):l.isFile(c.mode)?(c.node_ops=B.ops_table.file.node,c.stream_ops=B.ops_table.file.stream,c.usedBytes=0,c.contents=null):l.isLink(c.mode)?(c.node_ops=B.ops_table.link.node,c.stream_ops=B.ops_table.link.stream):l.isChrdev(c.mode)&&(c.node_ops=B.ops_table.chrdev.node,c.stream_ops=B.ops_table.chrdev.stream),c.atime=c.mtime=c.ctime=Date.now(),e&&(e.contents[r]=c,e.atime=e.mtime=e.ctime=c.atime),c},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,r){var o=e.contents?e.contents.length:0;if(!(o>=r)){var s=1024*1024;r=Math.max(r,o*(o<s?2:1.125)>>>0),o!=0&&(r=Math.max(r,256));var c=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(c.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var o=e.contents;e.contents=new Uint8Array(r),o&&e.contents.set(o.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=l.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,l.isDir(e.mode)?r.size=4096:l.isFile(e.mode)?r.size=e.usedBytes:l.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const o of["mode","atime","mtime","ctime"])r[o]!=null&&(e[o]=r[o]);r.size!==void 0&&B.resizeFileStorage(e,r.size)},lookup(e,r){throw B.doesNotExistError},mknod(e,r,o,s){return B.createNode(e,r,o,s)},rename(e,r,o){var s;try{s=l.lookupNode(r,o)}catch{}if(s){if(l.isDir(e.mode))for(var c in s.contents)throw new l.ErrnoError(55);l.hashRemoveNode(s)}delete e.parent.contents[e.name],r.contents[o]=e,e.name=o,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var o=l.lookupNode(e,r);for(var s in o.contents)throw new l.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,r,o){var s=B.createNode(e,r,41471,0);return s.link=o,s},readlink(e){if(!l.isLink(e.mode))throw new l.ErrnoError(28);return e.link}},stream_ops:{read(e,r,o,s,c){var u=e.node.contents;if(c>=e.node.usedBytes)return 0;var f=Math.min(e.node.usedBytes-c,s);if(f>8&&u.subarray)r.set(u.subarray(c,c+f),o);else for(var T=0;T<f;T++)r[o+T]=u[c+T];return f},write(e,r,o,s,c,u){if(r.buffer===$.buffer&&(u=!1),!s)return 0;var f=e.node;if(f.mtime=f.ctime=Date.now(),r.subarray&&(!f.contents||f.contents.subarray)){if(u)return f.contents=r.subarray(o,o+s),f.usedBytes=s,s;if(f.usedBytes===0&&c===0)return f.contents=r.slice(o,o+s),f.usedBytes=s,s;if(c+s<=f.usedBytes)return f.contents.set(r.subarray(o,o+s),c),s}if(B.expandFileStorage(f,c+s),f.contents.subarray&&r.subarray)f.contents.set(r.subarray(o,o+s),c);else for(var T=0;T<s;T++)f.contents[c+T]=r[o+T];return f.usedBytes=Math.max(f.usedBytes,c+s),s},llseek(e,r,o){var s=r;if(o===1?s+=e.position:o===2&&l.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new l.ErrnoError(28);return s},allocate(e,r,o){B.expandFileStorage(e.node,r+o),e.node.usedBytes=Math.max(e.node.usedBytes,r+o)},mmap(e,r,o,s,c){if(!l.isFile(e.node.mode))throw new l.ErrnoError(43);var u,f,T=e.node.contents;if(!(c&2)&&T&&T.buffer===$.buffer)f=!1,u=T.byteOffset;else{if(f=!0,u=ie(),!u)throw new l.ErrnoError(48);T&&((o>0||o+r<T.length)&&(T.subarray?T=T.subarray(o,o+r):T=Array.prototype.slice.call(T,o,o+r)),$.set(T,u>>>0))}return{ptr:u,allocated:f}},msync(e,r,o,s,c){return B.stream_ops.write(e,r,0,s,o,!1),0}}},He=async e=>{var r=await w(e);return new Uint8Array(r)},Ve=(e,r,o,s,c,u)=>{l.createDataFile(e,r,o,s,c,u)},Xe=n.preloadPlugins||[],an=(e,r,o,s)=>{typeof Browser<"u"&&Browser.init();var c=!1;return Xe.forEach(u=>{c||u.canHandle(r)&&(u.handle(e,r,o,s),c=!0)}),c},on=(e,r,o,s,c,u,f,T,y,C)=>{var D=r?It.resolve(J.join2(e,r)):e;function N(O){function G(b){C==null||C(),T||Ve(e,r,b,s,c,y),u==null||u(),Q()}an(O,D,G,()=>{f==null||f(),Q()})||G(O)}$t(),typeof o=="string"?He(o).then(N,f):N(o)},sn=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},o=r[e];if(typeof o>"u")throw new Error(`Unknown file open mode: ${e}`);return o},xe=(e,r)=>{var o=0;return e&&(o|=365),r&&(o|=146),o},l={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){Yt(this,"name","ErrnoError");this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){Yt(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,o,s){Yt(this,"node_ops",{});Yt(this,"stream_ops",{});Yt(this,"readMode",365);Yt(this,"writeMode",146);Yt(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=l.nextInode++,this.name=r,this.mode=o,this.rdev=s,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return l.isDir(this.mode)}get isDevice(){return l.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new l.ErrnoError(44);r.follow_mount??(r.follow_mount=!0),J.isAbs(e)||(e=l.cwd()+"/"+e);t:for(var o=0;o<40;o++){for(var s=e.split("/").filter(C=>!!C),c=l.root,u="/",f=0;f<s.length;f++){var T=f===s.length-1;if(T&&r.parent)break;if(s[f]!=="."){if(s[f]===".."){u=J.dirname(u),c=c.parent;continue}u=J.join2(u,s[f]);try{c=l.lookupNode(c,s[f])}catch(C){if((C==null?void 0:C.errno)===44&&T&&r.noent_okay)return{path:u};throw C}if(l.isMountpoint(c)&&(!T||r.follow_mount)&&(c=c.mounted.root),l.isLink(c.mode)&&(!T||r.follow)){if(!c.node_ops.readlink)throw new l.ErrnoError(52);var y=c.node_ops.readlink(c);J.isAbs(y)||(y=J.dirname(u)+"/"+y),e=y+"/"+s.slice(f+1).join("/");continue t}}}return{path:u,node:c}}throw new l.ErrnoError(32)},getPath(e){for(var r;;){if(l.isRoot(e)){var o=e.mount.mountpoint;return r?o[o.length-1]!=="/"?`${o}/${r}`:o+r:o}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var o=0,s=0;s<r.length;s++)o=(o<<5)-o+r.charCodeAt(s)|0;return(e+o>>>0)%l.nameTable.length},hashAddNode(e){var r=l.hashName(e.parent.id,e.name);e.name_next=l.nameTable[r],l.nameTable[r]=e},hashRemoveNode(e){var r=l.hashName(e.parent.id,e.name);if(l.nameTable[r]===e)l.nameTable[r]=e.name_next;else for(var o=l.nameTable[r];o;){if(o.name_next===e){o.name_next=e.name_next;break}o=o.name_next}},lookupNode(e,r){var o=l.mayLookup(e);if(o)throw new l.ErrnoError(o);for(var s=l.hashName(e.id,r),c=l.nameTable[s];c;c=c.name_next){var u=c.name;if(c.parent.id===e.id&&u===r)return c}return l.lookup(e,r)},createNode(e,r,o,s){var c=new l.FSNode(e,r,o,s);return l.hashAddNode(c),c},destroyNode(e){l.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return l.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!l.isDir(e.mode))return 54;var r=l.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!l.isDir(e.mode))return 54;try{var o=l.lookupNode(e,r);return 20}catch{}return l.nodePermissions(e,"wx")},mayDelete(e,r,o){var s;try{s=l.lookupNode(e,r)}catch(u){return u.errno}var c=l.nodePermissions(e,"wx");if(c)return c;if(o){if(!l.isDir(s.mode))return 54;if(l.isRoot(s)||l.getPath(s)===l.cwd())return 10}else if(l.isDir(s.mode))return 31;return 0},mayOpen(e,r){return e?l.isLink(e.mode)?32:l.isDir(e.mode)&&(l.flagsToPermissionString(r)!=="r"||r&576)?31:l.nodePermissions(e,l.flagsToPermissionString(r)):44},checkOpExists(e,r){if(!e)throw new l.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=l.MAX_OPEN_FDS;e++)if(!l.streams[e])return e;throw new l.ErrnoError(33)},getStreamChecked(e){var r=l.getStream(e);if(!r)throw new l.ErrnoError(8);return r},getStream:e=>l.streams[e],createStream(e,r=-1){return e=Object.assign(new l.FSStream,e),r==-1&&(r=l.nextfd()),e.fd=r,l.streams[r]=e,e},closeStream(e){l.streams[e]=null},dupStream(e,r=-1){var s,c;var o=l.createStream(e,r);return(c=(s=o.stream_ops)==null?void 0:s.dup)==null||c.call(s,o),o},doSetAttr(e,r,o){var s=e==null?void 0:e.stream_ops.setattr,c=s?e:r;s??(s=r.node_ops.setattr),l.checkOpExists(s,63),s(c,o)},chrdev_stream_ops:{open(e){var o,s;var r=l.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,(s=(o=e.stream_ops).open)==null||s.call(o,e)},llseek(){throw new l.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){l.devices[e]={stream_ops:r}},getDevice:e=>l.devices[e],getMounts(e){for(var r=[],o=[e];o.length;){var s=o.pop();r.push(s),o.push(...s.mounts)}return r},syncfs(e,r){typeof e=="function"&&(r=e,e=!1),l.syncFSRequests++,l.syncFSRequests>1&&x(`warning: ${l.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var o=l.getMounts(l.root.mount),s=0;function c(f){return l.syncFSRequests--,r(f)}function u(f){if(f)return u.errored?void 0:(u.errored=!0,c(f));++s>=o.length&&c(null)}o.forEach(f=>{if(!f.type.syncfs)return u(null);f.type.syncfs(f,e,u)})},mount(e,r,o){var s=o==="/",c=!o,u;if(s&&l.root)throw new l.ErrnoError(10);if(!s&&!c){var f=l.lookupPath(o,{follow_mount:!1});if(o=f.path,u=f.node,l.isMountpoint(u))throw new l.ErrnoError(10);if(!l.isDir(u.mode))throw new l.ErrnoError(54)}var T={type:e,opts:r,mountpoint:o,mounts:[]},y=e.mount(T);return y.mount=T,T.root=y,s?l.root=y:u&&(u.mounted=T,u.mount&&u.mount.mounts.push(T)),y},unmount(e){var r=l.lookupPath(e,{follow_mount:!1});if(!l.isMountpoint(r.node))throw new l.ErrnoError(28);var o=r.node,s=o.mounted,c=l.getMounts(s);Object.keys(l.nameTable).forEach(f=>{for(var T=l.nameTable[f];T;){var y=T.name_next;c.includes(T.mount)&&l.destroyNode(T),T=y}}),o.mounted=null;var u=o.mount.mounts.indexOf(s);o.mount.mounts.splice(u,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,o){var s=l.lookupPath(e,{parent:!0}),c=s.node,u=J.basename(e);if(!u)throw new l.ErrnoError(28);if(u==="."||u==="..")throw new l.ErrnoError(20);var f=l.mayCreate(c,u);if(f)throw new l.ErrnoError(f);if(!c.node_ops.mknod)throw new l.ErrnoError(63);return c.node_ops.mknod(c,u,r,o)},statfs(e){return l.statfsNode(l.lookupPath(e,{follow:!0}).node)},statfsStream(e){return l.statfsNode(e.node)},statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:l.nextInode,ffree:l.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create(e,r=438){return r&=4095,r|=32768,l.mknod(e,r,0)},mkdir(e,r=511){return r&=1023,r|=16384,l.mknod(e,r,0)},mkdirTree(e,r){for(var o=e.split("/"),s="",c=0;c<o.length;++c)if(o[c]){s+="/"+o[c];try{l.mkdir(s,r)}catch(u){if(u.errno!=20)throw u}}},mkdev(e,r,o){return typeof o>"u"&&(o=r,r=438),r|=8192,l.mknod(e,r,o)},symlink(e,r){if(!It.resolve(e))throw new l.ErrnoError(44);var o=l.lookupPath(r,{parent:!0}),s=o.node;if(!s)throw new l.ErrnoError(44);var c=J.basename(r),u=l.mayCreate(s,c);if(u)throw new l.ErrnoError(u);if(!s.node_ops.symlink)throw new l.ErrnoError(63);return s.node_ops.symlink(s,c,e)},rename(e,r){var o=J.dirname(e),s=J.dirname(r),c=J.basename(e),u=J.basename(r),f,T,y;if(f=l.lookupPath(e,{parent:!0}),T=f.node,f=l.lookupPath(r,{parent:!0}),y=f.node,!T||!y)throw new l.ErrnoError(44);if(T.mount!==y.mount)throw new l.ErrnoError(75);var C=l.lookupNode(T,c),D=It.relative(e,s);if(D.charAt(0)!==".")throw new l.ErrnoError(28);if(D=It.relative(r,o),D.charAt(0)!==".")throw new l.ErrnoError(55);var N;try{N=l.lookupNode(y,u)}catch{}if(C!==N){var O=l.isDir(C.mode),G=l.mayDelete(T,c,O);if(G)throw new l.ErrnoError(G);if(G=N?l.mayDelete(y,u,O):l.mayCreate(y,u),G)throw new l.ErrnoError(G);if(!T.node_ops.rename)throw new l.ErrnoError(63);if(l.isMountpoint(C)||N&&l.isMountpoint(N))throw new l.ErrnoError(10);if(y!==T&&(G=l.nodePermissions(T,"w"),G))throw new l.ErrnoError(G);l.hashRemoveNode(C);try{T.node_ops.rename(C,y,u),C.parent=y}catch(b){throw b}finally{l.hashAddNode(C)}}},rmdir(e){var r=l.lookupPath(e,{parent:!0}),o=r.node,s=J.basename(e),c=l.lookupNode(o,s),u=l.mayDelete(o,s,!0);if(u)throw new l.ErrnoError(u);if(!o.node_ops.rmdir)throw new l.ErrnoError(63);if(l.isMountpoint(c))throw new l.ErrnoError(10);o.node_ops.rmdir(o,s),l.destroyNode(c)},readdir(e){var r=l.lookupPath(e,{follow:!0}),o=r.node,s=l.checkOpExists(o.node_ops.readdir,54);return s(o)},unlink(e){var r=l.lookupPath(e,{parent:!0}),o=r.node;if(!o)throw new l.ErrnoError(44);var s=J.basename(e),c=l.lookupNode(o,s),u=l.mayDelete(o,s,!1);if(u)throw new l.ErrnoError(u);if(!o.node_ops.unlink)throw new l.ErrnoError(63);if(l.isMountpoint(c))throw new l.ErrnoError(10);o.node_ops.unlink(o,s),l.destroyNode(c)},readlink(e){var r=l.lookupPath(e),o=r.node;if(!o)throw new l.ErrnoError(44);if(!o.node_ops.readlink)throw new l.ErrnoError(28);return o.node_ops.readlink(o)},stat(e,r){var o=l.lookupPath(e,{follow:!r}),s=o.node,c=l.checkOpExists(s.node_ops.getattr,63);return c(s)},fstat(e){var r=l.getStreamChecked(e),o=r.node,s=r.stream_ops.getattr,c=s?r:o;return s??(s=o.node_ops.getattr),l.checkOpExists(s,63),s(c)},lstat(e){return l.stat(e,!0)},doChmod(e,r,o,s){l.doSetAttr(e,r,{mode:o&4095|r.mode&-4096,ctime:Date.now(),dontFollow:s})},chmod(e,r,o){var s;if(typeof e=="string"){var c=l.lookupPath(e,{follow:!o});s=c.node}else s=e;l.doChmod(null,s,r,o)},lchmod(e,r){l.chmod(e,r,!0)},fchmod(e,r){var o=l.getStreamChecked(e);l.doChmod(o,o.node,r,!1)},doChown(e,r,o){l.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:o})},chown(e,r,o,s){var c;if(typeof e=="string"){var u=l.lookupPath(e,{follow:!s});c=u.node}else c=e;l.doChown(null,c,s)},lchown(e,r,o){l.chown(e,r,o,!0)},fchown(e,r,o){var s=l.getStreamChecked(e);l.doChown(s,s.node,!1)},doTruncate(e,r,o){if(l.isDir(r.mode))throw new l.ErrnoError(31);if(!l.isFile(r.mode))throw new l.ErrnoError(28);var s=l.nodePermissions(r,"w");if(s)throw new l.ErrnoError(s);l.doSetAttr(e,r,{size:o,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new l.ErrnoError(28);var o;if(typeof e=="string"){var s=l.lookupPath(e,{follow:!0});o=s.node}else o=e;l.doTruncate(null,o,r)},ftruncate(e,r){var o=l.getStreamChecked(e);if(r<0||(o.flags&2097155)===0)throw new l.ErrnoError(28);l.doTruncate(o,o.node,r)},utime(e,r,o){var s=l.lookupPath(e,{follow:!0}),c=s.node,u=l.checkOpExists(c.node_ops.setattr,63);u(c,{atime:r,mtime:o})},open(e,r,o=438){if(e==="")throw new l.ErrnoError(44);r=typeof r=="string"?sn(r):r,r&64?o=o&4095|32768:o=0;var s,c;if(typeof e=="object")s=e;else{c=e.endsWith("/");var u=l.lookupPath(e,{follow:!(r&131072),noent_okay:!0});s=u.node,e=u.path}var f=!1;if(r&64)if(s){if(r&128)throw new l.ErrnoError(20)}else{if(c)throw new l.ErrnoError(31);s=l.mknod(e,o|511,0),f=!0}if(!s)throw new l.ErrnoError(44);if(l.isChrdev(s.mode)&&(r&=-513),r&65536&&!l.isDir(s.mode))throw new l.ErrnoError(54);if(!f){var T=l.mayOpen(s,r);if(T)throw new l.ErrnoError(T)}r&512&&!f&&l.truncate(s,0),r&=-131713;var y=l.createStream({node:s,path:l.getPath(s),flags:r,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return y.stream_ops.open&&y.stream_ops.open(y),f&&l.chmod(s,o&511),n.logReadFiles&&!(r&1)&&(e in l.readFiles||(l.readFiles[e]=1)),y},close(e){if(l.isClosed(e))throw new l.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{l.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new l.ErrnoError(70);if(o!=0&&o!=1&&o!=2)throw new l.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,o),e.ungotten=[],e.position},read(e,r,o,s,c){if(s<0||c<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===1)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.read)throw new l.ErrnoError(28);var u=typeof c<"u";if(!u)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var f=e.stream_ops.read(e,r,o,s,c);return u||(e.position+=f),f},write(e,r,o,s,c,u){if(s<0||c<0)throw new l.ErrnoError(28);if(l.isClosed(e))throw new l.ErrnoError(8);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(l.isDir(e.node.mode))throw new l.ErrnoError(31);if(!e.stream_ops.write)throw new l.ErrnoError(28);e.seekable&&e.flags&1024&&l.llseek(e,0,2);var f=typeof c<"u";if(!f)c=e.position;else if(!e.seekable)throw new l.ErrnoError(70);var T=e.stream_ops.write(e,r,o,s,c,u);return f||(e.position+=T),T},allocate(e,r,o){if(l.isClosed(e))throw new l.ErrnoError(8);if(r<0||o<=0)throw new l.ErrnoError(28);if((e.flags&2097155)===0)throw new l.ErrnoError(8);if(!l.isFile(e.node.mode)&&!l.isDir(e.node.mode))throw new l.ErrnoError(43);if(!e.stream_ops.allocate)throw new l.ErrnoError(138);e.stream_ops.allocate(e,r,o)},mmap(e,r,o,s,c){if((s&2)!==0&&(c&2)===0&&(e.flags&2097155)!==2)throw new l.ErrnoError(2);if((e.flags&2097155)===1)throw new l.ErrnoError(2);if(!e.stream_ops.mmap)throw new l.ErrnoError(43);if(!r)throw new l.ErrnoError(28);return e.stream_ops.mmap(e,r,o,s,c)},msync(e,r,o,s,c){return e.stream_ops.msync?e.stream_ops.msync(e,r,o,s,c):0},ioctl(e,r,o){if(!e.stream_ops.ioctl)throw new l.ErrnoError(59);return e.stream_ops.ioctl(e,r,o)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error(`Invalid encoding type "${r.encoding}"`);var o,s=l.open(e,r.flags),c=l.stat(e),u=c.size,f=new Uint8Array(u);return l.read(s,f,0,u,0),r.encoding==="utf8"?o=mt(f):r.encoding==="binary"&&(o=f),l.close(s),o},writeFile(e,r,o={}){o.flags=o.flags||577;var s=l.open(e,o.flags,o.mode);if(typeof r=="string"){var c=new Uint8Array(St(r)+1),u=Xt(r,c,0,c.length);l.write(s,c,0,u,void 0,o.canOwn)}else if(ArrayBuffer.isView(r))l.write(s,r,0,r.byteLength,void 0,o.canOwn);else throw new Error("Unsupported data type");l.close(s)},cwd:()=>l.currentPath,chdir(e){var r=l.lookupPath(e,{follow:!0});if(r.node===null)throw new l.ErrnoError(44);if(!l.isDir(r.node.mode))throw new l.ErrnoError(54);var o=l.nodePermissions(r.node,"x");if(o)throw new l.ErrnoError(o);l.currentPath=r.path},createDefaultDirectories(){l.mkdir("/tmp"),l.mkdir("/home"),l.mkdir("/home/web_user")},createDefaultDevices(){l.mkdir("/dev"),l.registerDevice(l.makedev(1,3),{read:()=>0,write:(s,c,u,f,T)=>f,llseek:()=>0}),l.mkdev("/dev/null",l.makedev(1,3)),gt.register(l.makedev(5,0),gt.default_tty_ops),gt.register(l.makedev(6,0),gt.default_tty1_ops),l.mkdev("/dev/tty",l.makedev(5,0)),l.mkdev("/dev/tty1",l.makedev(6,0));var e=new Uint8Array(1024),r=0,o=()=>(r===0&&(Ht(e),r=e.byteLength),e[--r]);l.createDevice("/dev","random",o),l.createDevice("/dev","urandom",o),l.mkdir("/dev/shm"),l.mkdir("/dev/shm/tmp")},createSpecialDirectories(){l.mkdir("/proc");var e=l.mkdir("/proc/self");l.mkdir("/proc/self/fd"),l.mount({mount(){var r=l.createNode(e,"fd",16895,73);return r.stream_ops={llseek:B.stream_ops.llseek},r.node_ops={lookup(o,s){var c=+s,u=l.getStreamChecked(c),f={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>u.path},id:c+1};return f.parent=f,f},readdir(){return Array.from(l.streams.entries()).filter(([o,s])=>s).map(([o,s])=>o.toString())}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,o){e?l.createDevice("/dev","stdin",e):l.symlink("/dev/tty","/dev/stdin"),r?l.createDevice("/dev","stdout",null,r):l.symlink("/dev/tty","/dev/stdout"),o?l.createDevice("/dev","stderr",null,o):l.symlink("/dev/tty1","/dev/stderr"),l.open("/dev/stdin",0),l.open("/dev/stdout",1),l.open("/dev/stderr",1)},staticInit(){l.nameTable=new Array(4096),l.mount(B,{},"/"),l.createDefaultDirectories(),l.createDefaultDevices(),l.createSpecialDirectories(),l.filesystems={MEMFS:B}},init(e,r,o){l.initialized=!0,e??(e=n.stdin),r??(r=n.stdout),o??(o=n.stderr),l.createStandardStreams(e,r,o)},quit(){l.initialized=!1;for(var e=0;e<l.streams.length;e++){var r=l.streams[e];r&&l.close(r)}},findObject(e,r){var o=l.analyzePath(e,r);return o.exists?o.object:null},analyzePath(e,r){try{var o=l.lookupPath(e,{follow:!r});e=o.path}catch{}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=l.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=o.path,s.parentObject=o.node,s.name=J.basename(e),o=l.lookupPath(e,{follow:!r}),s.exists=!0,s.path=o.path,s.object=o.node,s.name=o.node.name,s.isRoot=o.path==="/"}catch(c){s.error=c.errno}return s},createPath(e,r,o,s){e=typeof e=="string"?e:l.getPath(e);for(var c=r.split("/").reverse();c.length;){var u=c.pop();if(u){var f=J.join2(e,u);try{l.mkdir(f)}catch{}e=f}}return f},createFile(e,r,o,s,c){var u=J.join2(typeof e=="string"?e:l.getPath(e),r),f=xe(s,c);return l.create(u,f)},createDataFile(e,r,o,s,c,u){var f=r;e&&(e=typeof e=="string"?e:l.getPath(e),f=r?J.join2(e,r):e);var T=xe(s,c),y=l.create(f,T);if(o){if(typeof o=="string"){for(var C=new Array(o.length),D=0,N=o.length;D<N;++D)C[D]=o.charCodeAt(D);o=C}l.chmod(y,T|146);var O=l.open(y,577);l.write(O,o,0,o.length,0,u),l.close(O),l.chmod(y,T)}},createDevice(e,r,o,s){var T;var c=J.join2(typeof e=="string"?e:l.getPath(e),r),u=xe(!!o,!!s);(T=l.createDevice).major??(T.major=64);var f=l.makedev(l.createDevice.major++,0);return l.registerDevice(f,{open(y){y.seekable=!1},close(y){var C;(C=s==null?void 0:s.buffer)!=null&&C.length&&s(10)},read(y,C,D,N,O){for(var G=0,b=0;b<N;b++){var z;try{z=o()}catch{throw new l.ErrnoError(29)}if(z===void 0&&G===0)throw new l.ErrnoError(6);if(z==null)break;G++,C[D+b]=z}return G&&(y.node.atime=Date.now()),G},write(y,C,D,N,O){for(var G=0;G<N;G++)try{s(C[D+G])}catch{throw new l.ErrnoError(29)}return N&&(y.node.mtime=y.node.ctime=Date.now()),G}}),l.mkdev(c,u,f)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=m(e.url),e.usedBytes=e.contents.length}catch{throw new l.ErrnoError(29)}},createLazyFile(e,r,o,s,c){class u{constructor(){Yt(this,"lengthKnown",!1);Yt(this,"chunks",[])}get(G){if(!(G>this.length-1||G<0)){var b=G%this.chunkSize,z=G/this.chunkSize|0;return this.getter(z)[b]}}setDataGetter(G){this.getter=G}cacheLength(){var G=new XMLHttpRequest;if(G.open("HEAD",o,!1),G.send(null),!(G.status>=200&&G.status<300||G.status===304))throw new Error("Couldn't load "+o+". Status: "+G.status);var b=Number(G.getResponseHeader("Content-length")),z,_t=(z=G.getResponseHeader("Accept-Ranges"))&&z==="bytes",rt=(z=G.getResponseHeader("Content-Encoding"))&&z==="gzip",dt=1024*1024;_t||(dt=b);var tt=(ut,Bt)=>{if(ut>Bt)throw new Error("invalid range ("+ut+", "+Bt+") or no bytes requested!");if(Bt>b-1)throw new Error("only "+b+" bytes available! programmer error!");var at=new XMLHttpRequest;if(at.open("GET",o,!1),b!==dt&&at.setRequestHeader("Range","bytes="+ut+"-"+Bt),at.responseType="arraybuffer",at.overrideMimeType&&at.overrideMimeType("text/plain; charset=x-user-defined"),at.send(null),!(at.status>=200&&at.status<300||at.status===304))throw new Error("Couldn't load "+o+". Status: "+at.status);return at.response!==void 0?new Uint8Array(at.response||[]):oe(at.responseText||"")},Ee=this;Ee.setDataGetter(ut=>{var Bt=ut*dt,at=(ut+1)*dt-1;if(at=Math.min(at,b-1),typeof Ee.chunks[ut]>"u"&&(Ee.chunks[ut]=tt(Bt,at)),typeof Ee.chunks[ut]>"u")throw new Error("doXHR failed!");return Ee.chunks[ut]}),(rt||!b)&&(dt=b=1,b=this.getter(0).length,dt=b,M("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=b,this._chunkSize=dt,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!g)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var f=new u,T={isDevice:!1,contents:f}}else var T={isDevice:!1,url:o};var y=l.createFile(e,r,T,s,c);T.contents?y.contents=T.contents:T.url&&(y.contents=null,y.url=T.url),Object.defineProperties(y,{usedBytes:{get:function(){return this.contents.length}}});var C={},D=Object.keys(y.stream_ops);D.forEach(O=>{var G=y.stream_ops[O];C[O]=(...b)=>(l.forceLoadFile(y),G(...b))});function N(O,G,b,z,_t){var rt=O.node.contents;if(_t>=rt.length)return 0;var dt=Math.min(rt.length-_t,z);if(rt.slice)for(var tt=0;tt<dt;tt++)G[b+tt]=rt[_t+tt];else for(var tt=0;tt<dt;tt++)G[b+tt]=rt.get(_t+tt);return dt}return C.read=(O,G,b,z,_t)=>(l.forceLoadFile(y),N(O,G,b,z,_t)),C.mmap=(O,G,b,z,_t)=>{l.forceLoadFile(y);var rt=ie();if(!rt)throw new l.ErrnoError(48);return N(O,$,rt,G,b),{ptr:rt,allocated:!0}},y.stream_ops=C,y}},xt=(e,r)=>(e>>>=0,e?mt(Z,e,r):""),F={DEFAULT_POLLMASK:5,calculateAt(e,r,o){if(J.isAbs(r))return r;var s;if(e===-100)s=l.cwd();else{var c=F.getStreamFromFD(e);s=c.path}if(r.length==0){if(!o)throw new l.ErrnoError(44);return s}return s+"/"+r},writeStat(e,r){Y[e>>>2>>>0]=r.dev,Y[e+4>>>2>>>0]=r.mode,U[e+8>>>2>>>0]=r.nlink,Y[e+12>>>2>>>0]=r.uid,Y[e+16>>>2>>>0]=r.gid,Y[e+20>>>2>>>0]=r.rdev,st[e+24>>>3]=BigInt(r.size),Y[e+32>>>2>>>0]=4096,Y[e+36>>>2>>>0]=r.blocks;var o=r.atime.getTime(),s=r.mtime.getTime(),c=r.ctime.getTime();return st[e+40>>>3]=BigInt(Math.floor(o/1e3)),U[e+48>>>2>>>0]=o%1e3*1e3*1e3,st[e+56>>>3]=BigInt(Math.floor(s/1e3)),U[e+64>>>2>>>0]=s%1e3*1e3*1e3,st[e+72>>>3]=BigInt(Math.floor(c/1e3)),U[e+80>>>2>>>0]=c%1e3*1e3*1e3,st[e+88>>>3]=BigInt(r.ino),0},writeStatFs(e,r){Y[e+4>>>2>>>0]=r.bsize,Y[e+40>>>2>>>0]=r.bsize,Y[e+8>>>2>>>0]=r.blocks,Y[e+12>>>2>>>0]=r.bfree,Y[e+16>>>2>>>0]=r.bavail,Y[e+20>>>2>>>0]=r.files,Y[e+24>>>2>>>0]=r.ffree,Y[e+28>>>2>>>0]=r.fsid,Y[e+44>>>2>>>0]=r.flags,Y[e+36>>>2>>>0]=r.namelen},doMsync(e,r,o,s,c){if(!l.isFile(r.node.mode))throw new l.ErrnoError(43);if(s&2)return 0;var u=Z.slice(e,e+o);l.msync(r,u,c,o,s)},getStreamFromFD(e){var r=l.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=xt(e);return r}};function j(e,r,o){o>>>=0,F.varargs=o;try{var s=F.getStreamFromFD(e);switch(r){case 0:{var c=Mt();if(c<0)return-28;for(;l.streams[c];)c++;var u;return u=l.dupStream(s,c),u.fd}case 1:case 2:return 0;case 3:return s.flags;case 4:{var c=Mt();return s.flags|=c,0}case 12:{var c=vt(),f=0;return nt[c+f>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(T){if(typeof l>"u"||T.name!=="ErrnoError")throw T;return-T.errno}}function Kt(e,r){r>>>=0;try{return F.writeStat(r,l.fstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function Ke(e,r,o){o>>>=0,F.varargs=o;try{var s=F.getStreamFromFD(e);switch(r){case 21509:return s.tty?0:-59;case 21505:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcgets){var c=s.tty.ops.ioctl_tcgets(s),u=vt();Y[u>>>2>>>0]=c.c_iflag||0,Y[u+4>>>2>>>0]=c.c_oflag||0,Y[u+8>>>2>>>0]=c.c_cflag||0,Y[u+12>>>2>>>0]=c.c_lflag||0;for(var f=0;f<32;f++)$[u+f+17>>>0]=c.c_cc[f]||0;return 0}return 0}case 21510:case 21511:case 21512:return s.tty?0:-59;case 21506:case 21507:case 21508:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tcsets){for(var u=vt(),T=Y[u>>>2>>>0],y=Y[u+4>>>2>>>0],C=Y[u+8>>>2>>>0],D=Y[u+12>>>2>>>0],N=[],f=0;f<32;f++)N.push($[u+f+17>>>0]);return s.tty.ops.ioctl_tcsets(s.tty,r,{c_iflag:T,c_oflag:y,c_cflag:C,c_lflag:D,c_cc:N})}return 0}case 21519:{if(!s.tty)return-59;var u=vt();return Y[u>>>2>>>0]=0,0}case 21520:return s.tty?-28:-59;case 21531:{var u=vt();return l.ioctl(s,r,u)}case 21523:{if(!s.tty)return-59;if(s.tty.ops.ioctl_tiocgwinsz){var O=s.tty.ops.ioctl_tiocgwinsz(s.tty),u=vt();nt[u>>>1>>>0]=O[0],nt[u+2>>>1>>>0]=O[1]}return 0}case 21524:return s.tty?0:-59;case 21515:return s.tty?0:-59;default:return-28}}catch(G){if(typeof l>"u"||G.name!=="ErrnoError")throw G;return-G.errno}}function _n(e,r){e>>>=0,r>>>=0;try{return e=F.getStr(e),F.writeStat(r,l.lstat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}function dn(e,r,o,s){r>>>=0,o>>>=0;try{r=F.getStr(r);var c=s&256,u=s&4096;return s=s&-6401,r=F.calculateAt(e,r,u),F.writeStat(o,c?l.lstat(r):l.stat(r))}catch(f){if(typeof l>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}function be(e,r,o,s){r>>>=0,s>>>=0,F.varargs=s;try{r=F.getStr(r),r=F.calculateAt(e,r);var c=s?Mt():0;return l.open(r,o,c).fd}catch(u){if(typeof l>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}function ln(e,r){e>>>=0,r>>>=0;try{return e=F.getStr(e),F.writeStat(r,l.stat(e))}catch(o){if(typeof l>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}var cn=()=>X(""),se=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e},bt=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);wt=e},wt,ot=e=>{for(var r="",o=e;Z[o>>>0];)r+=wt[Z[o++>>>0]];return r},zt={},kt={},ve={},_e,H=e=>{throw new _e(e)},Ie,de=e=>{throw new Ie(e)},ze=(e,r,o)=>{e.forEach(T=>ve[T]=r);function s(T){var y=o(T);y.length!==e.length&&de("Mismatched type converter count");for(var C=0;C<e.length;++C)Ct(e[C],y[C])}var c=new Array(r.length),u=[],f=0;r.forEach((T,y)=>{kt.hasOwnProperty(T)?c[y]=kt[T]:(u.push(T),zt.hasOwnProperty(T)||(zt[T]=[]),zt[T].push(()=>{c[y]=kt[T],++f,f===u.length&&s(c)}))}),u.length===0&&s(c)};function gr(e,r,o={}){var s=r.name;if(e||H(`type "${s}" must have a positive integer typeid pointer`),kt.hasOwnProperty(e)){if(o.ignoreDuplicateRegistrations)return;H(`Cannot register type '${s}' twice`)}if(kt[e]=r,delete ve[e],zt.hasOwnProperty(e)){var c=zt[e];delete zt[e],c.forEach(u=>u())}}function Ct(e,r,o={}){return gr(e,r,o)}var Nn=(e,r,o)=>{switch(r){case 1:return o?s=>$[s>>>0]:s=>Z[s>>>0];case 2:return o?s=>nt[s>>>1>>>0]:s=>it[s>>>1>>>0];case 4:return o?s=>Y[s>>>2>>>0]:s=>U[s>>>2>>>0];case 8:return o?s=>st[s>>>3]:s=>Dt[s>>>3];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function Ar(e,r,o,s,c){e>>>=0,r>>>=0,o>>>=0,r=ot(r);var u=r.indexOf("u")!=-1;Ct(e,{name:r,fromWireType:f=>f,toWireType:function(f,T){if(typeof T!="bigint"&&typeof T!="number")throw new TypeError(`Cannot convert "${se(T)}" to ${this.name}`);return typeof T=="number"&&(T=BigInt(T)),T},argPackAdvance:Lt,readValueFromPointer:Nn(r,o,!u),destructorFunction:null})}var Lt=8;function Tr(e,r,o,s){e>>>=0,r>>>=0,r=ot(r),Ct(e,{name:r,fromWireType:function(c){return!!c},toWireType:function(c,u){return u?o:s},argPackAdvance:Lt,readValueFromPointer:function(c){return this.fromWireType(Z[c>>>0])},destructorFunction:null})}var Pr=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),En=e=>{function r(o){return o.$$.ptrType.registeredClass.name}H(r(e)+" instance already deleted")},un=!1,Gn=e=>{},yr=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},Wn=e=>{e.count.value-=1;var r=e.count.value===0;r&&yr(e)},Mn=(e,r,o)=>{if(r===o)return e;if(o.baseClass===void 0)return null;var s=Mn(e,r,o.baseClass);return s===null?null:o.downcast(s)},xn={},pr={},vr=(e,r)=>{for(r===void 0&&H("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},Ir=(e,r)=>(r=vr(e,r),pr[r]),Je=(e,r)=>{(!r.ptrType||!r.ptr)&&de("makeClassHandle requires ptr and ptrType");var o=!!r.smartPtrType,s=!!r.smartPtr;return o!==s&&de("Both smartPtrType and smartPtr must be specified"),r.count={value:1},ke(Object.create(e,{$$:{value:r,writable:!0}}))};function mr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var o=Ir(this.registeredClass,r);if(o!==void 0){if(o.$$.count.value===0)return o.$$.ptr=r,o.$$.smartPtr=e,o.clone();var s=o.clone();return this.destructor(e),s}function c(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var u=this.registeredClass.getActualType(r),f=xn[u];if(!f)return c.call(this);var T;this.isConst?T=f.constPointerType:T=f.pointerType;var y=Mn(r,this.registeredClass,T.registeredClass);return y===null?c.call(this):this.isSmartPointer?Je(T.registeredClass.instancePrototype,{ptrType:T,ptr:y,smartPtrType:this,smartPtr:e}):Je(T.registeredClass.instancePrototype,{ptrType:T,ptr:y})}var ke=e=>typeof FinalizationRegistry>"u"?(ke=r=>r,e):(un=new FinalizationRegistry(r=>{Wn(r.$$)}),ke=r=>{var o=r.$$,s=!!o.smartPtr;if(s){var c={$$:o};un.register(r,c,r)}return r},Gn=r=>un.unregister(r),ke(e)),wr=()=>{Object.assign(Ze.prototype,{isAliasOf(e){if(!(this instanceof Ze)||!(e instanceof Ze))return!1;var r=this.$$.ptrType.registeredClass,o=this.$$.ptr;e.$$=e.$$;for(var s=e.$$.ptrType.registeredClass,c=e.$$.ptr;r.baseClass;)o=r.upcast(o),r=r.baseClass;for(;s.baseClass;)c=s.upcast(c),s=s.baseClass;return r===s&&o===c},clone(){if(this.$$.ptr||En(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=ke(Object.create(Object.getPrototypeOf(this),{$$:{value:Pr(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||En(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&H("Object already scheduled for deletion"),Gn(this),Wn(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||En(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&H("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}})};function Ze(){}var me=(e,r)=>Object.defineProperty(r,"name",{value:e}),Cr=(e,r,o)=>{if(e[r].overloadTable===void 0){var s=e[r];e[r]=function(...c){return e[r].overloadTable.hasOwnProperty(c.length)||H(`Function '${o}' called with an invalid number of arguments (${c.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[c.length].apply(this,c)},e[r].overloadTable=[],e[r].overloadTable[s.argCount]=s}},fn=(e,r,o)=>{n.hasOwnProperty(e)?((o===void 0||n[e].overloadTable!==void 0&&n[e].overloadTable[o]!==void 0)&&H(`Cannot register public name '${e}' twice`),Cr(n,e,e),n[e].overloadTable.hasOwnProperty(o)&&H(`Cannot register multiple overloads of a function with the same number of arguments (${o})!`),n[e].overloadTable[o]=r):(n[e]=r,n[e].argCount=o)},Dr=48,Rr=57,Sr=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=Dr&&r<=Rr?`_${e}`:e};function Lr(e,r,o,s,c,u,f,T){this.name=e,this.constructor=r,this.instancePrototype=o,this.rawDestructor=s,this.baseClass=c,this.getActualType=u,this.upcast=f,this.downcast=T,this.pureVirtualFunctions=[]}var qe=(e,r,o)=>{for(;r!==o;)r.upcast||H(`Expected null or instance of ${o.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function Yr(e,r){if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),0;r.$$||H(`Cannot pass "${se(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=qe(r.$$.ptr,o,this.registeredClass);return s}function Nr(e,r){var o;if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),this.isSmartPointer?(o=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,o),o):0;(!r||!r.$$)&&H(`Cannot pass "${se(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&H(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var s=r.$$.ptrType.registeredClass;if(o=qe(r.$$.ptr,s,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&H("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?o=r.$$.smartPtr:H(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:o=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)o=r.$$.smartPtr;else{var c=r.clone();o=this.rawShare(o,Et.toHandle(()=>c.delete())),e!==null&&e.push(this.rawDestructor,o)}break;default:H("Unsupporting sharing policy")}return o}function Gr(e,r){if(r===null)return this.isReference&&H(`null is not a valid ${this.name}`),0;r.$$||H(`Cannot pass "${se(r)}" as a ${this.name}`),r.$$.ptr||H(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&H(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var o=r.$$.ptrType.registeredClass,s=qe(r.$$.ptr,o,this.registeredClass);return s}function Qe(e){return this.fromWireType(U[e>>>2>>>0])}var Wr=()=>{Object.assign(je.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},argPackAdvance:Lt,readValueFromPointer:Qe,fromWireType:mr})};function je(e,r,o,s,c,u,f,T,y,C,D){this.name=e,this.registeredClass=r,this.isReference=o,this.isConst=s,this.isSmartPointer=c,this.pointeeType=u,this.sharingPolicy=f,this.rawGetPointee=T,this.rawConstructor=y,this.rawShare=C,this.rawDestructor=D,!c&&r.baseClass===void 0?s?(this.toWireType=Yr,this.destructorFunction=null):(this.toWireType=Gr,this.destructorFunction=null):this.toWireType=Nr}var bn=(e,r,o)=>{n.hasOwnProperty(e)||de("Replacing nonexistent public symbol"),n[e].overloadTable!==void 0&&o!==void 0?n[e].overloadTable[o]=r:(n[e]=r,n[e].argCount=o)},tn=[],kn,On=e=>{var r=tn[e];return r||(e>=tn.length&&(tn.length=e+1),tn[e]=r=kn.get(e)),r},Mr=(e,r,o=[])=>{var s=On(r)(...o);return e[0]=="p"?s>>>0:s},xr=(e,r)=>(...o)=>Mr(e,r,o),le=(e,r)=>{e=ot(e);function o(){return e.includes("p")?xr(e,r):On(r)}var s=o();return typeof s!="function"&&H(`unknown function pointer with signature ${e}: ${r}`),s},br=(e,r)=>{var o=me(r,function(s){this.name=r,this.message=s;var c=new Error(s).stack;c!==void 0&&(this.stack=this.toString()+`
3
3
  `+c.replace(/^Error(:[^\n]*)?\n/,""))});return o.prototype=Object.create(e.prototype),o.prototype.constructor=o,o.prototype.toString=function(){return this.message===void 0?this.name:`${this.name}: ${this.message}`},o},Bn,Fn=e=>{var r=Qa(e),o=ot(r);return Jt(r),o},en=(e,r)=>{var o=[],s={};function c(u){if(!s[u]&&!kt[u]){if(ve[u]){ve[u].forEach(c);return}o.push(u),s[u]=!0}}throw r.forEach(c),new Bn(`${e}: `+o.map(Fn).join([", "]))};function kr(e,r,o,s,c,u,f,T,y,C,D,N,O){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,u>>>=0,f>>>=0,T>>>=0,y>>>=0,C>>>=0,D>>>=0,N>>>=0,O>>>=0,D=ot(D),u=le(c,u),T&&(T=le(f,T)),C&&(C=le(y,C)),O=le(N,O);var G=Sr(D);fn(G,function(){en(`Cannot construct ${D} due to unbound types`,[s])}),ze([e,r,o],s?[s]:[],b=>{var at;b=b[0];var z,_t;s?(z=b.registeredClass,_t=z.instancePrototype):_t=Ze.prototype;var rt=me(D,function(...vn){if(Object.getPrototypeOf(this)!==dt)throw new _e("Use 'new' to construct "+D);if(tt.constructor_body===void 0)throw new _e(D+" has no accessible constructor");var jn=tt.constructor_body[vn.length];if(jn===void 0)throw new _e(`Tried to invoke ctor of ${D} with invalid number of parameters (${vn.length}) - expected (${Object.keys(tt.constructor_body).toString()}) parameters instead!`);return jn.apply(this,vn)}),dt=Object.create(_t,{constructor:{value:rt}});rt.prototype=dt;var tt=new Lr(D,rt,dt,O,z,u,T,C);tt.baseClass&&((at=tt.baseClass).__derivedClasses??(at.__derivedClasses=[]),tt.baseClass.__derivedClasses.push(tt));var Ee=new je(D,tt,!0,!1,!1),ut=new je(D+"*",tt,!1,!1,!1),Bt=new je(D+" const*",tt,!1,!0,!1);return xn[e]={pointerType:ut,constPointerType:Bt},bn(G,rt),[Ee,ut,Bt]})}var hn=e=>{for(;e.length;){var r=e.pop(),o=e.pop();o(r)}},Un=(e,r,o)=>(e instanceof Object||H(`${o} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||H(`${o} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||H(`cannot call emscripten binding method ${o} on deleted object`),qe(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Or=function(e,r,o,s,c,u,f,T,y,C){e>>>=0,r>>>=0,o>>>=0,s>>>=0,c>>>=0,u>>>=0,f>>>=0,T>>>=0,y>>>=0,C>>>=0,r=ot(r),c=le(s,c),ze([],[e],D=>{D=D[0];var N=`${D.name}.${r}`,O={get(){en(`Cannot access ${N} due to unbound types`,[o,f])},enumerable:!0,configurable:!0};return y?O.set=()=>en(`Cannot access ${N} due to unbound types`,[o,f]):O.set=G=>H(N+" is a read-only property"),Object.defineProperty(D.registeredClass.instancePrototype,r,O),ze([],y?[o,f]:[o],G=>{var b=G[0],z={get(){var rt=Un(this,D,N+" getter");return b.fromWireType(c(u,rt))},enumerable:!0};if(y){y=le(T,y);var _t=G[1];z.set=function(rt){var dt=Un(this,D,N+" setter"),tt=[];y(C,dt,_t.toWireType(tt,rt)),hn(tt)}}return Object.defineProperty(D.registeredClass.instancePrototype,r,z),[]}),[]})},gn=[],Ot=[];function An(e){e>>>=0,e>9&&--Ot[e+1]===0&&(Ot[e]=void 0,gn.push(e))}var Br=()=>Ot.length/2-5-gn.length,Fr=()=>{Ot.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=Br},Et={toValue:e=>(e||H("Cannot use deleted val. handle = "+e),Ot[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=gn.pop()||Ot.length;return Ot[r]=e,Ot[r+1]=1,r}}}},Ur={name:"emscripten::val",fromWireType:e=>{var r=Et.toValue(e);return An(e),r},toWireType:(e,r)=>Et.toHandle(r),argPackAdvance:Lt,readValueFromPointer:Qe,destructorFunction:null};function $r(e){return e>>>=0,Ct(e,Ur)}var Hr=(e,r,o)=>{switch(r){case 1:return o?function(s){return this.fromWireType($[s>>>0])}:function(s){return this.fromWireType(Z[s>>>0])};case 2:return o?function(s){return this.fromWireType(nt[s>>>1>>>0])}:function(s){return this.fromWireType(it[s>>>1>>>0])};case 4:return o?function(s){return this.fromWireType(Y[s>>>2>>>0])}:function(s){return this.fromWireType(U[s>>>2>>>0])};default:throw new TypeError(`invalid integer width (${r}): ${e}`)}};function Vr(e,r,o,s){e>>>=0,r>>>=0,o>>>=0,r=ot(r);function c(){}c.values={},Ct(e,{name:r,constructor:c,fromWireType:function(u){return this.constructor.values[u]},toWireType:(u,f)=>f.value,argPackAdvance:Lt,readValueFromPointer:Hr(r,o,s),destructorFunction:null}),fn(r,c)}var Tn=(e,r)=>{var o=kt[e];return o===void 0&&H(`${r} has unknown type ${Fn(e)}`),o};function Xr(e,r,o){e>>>=0,r>>>=0;var s=Tn(e,"enum");r=ot(r);var c=s.constructor,u=Object.create(s.constructor.prototype,{value:{value:o},constructor:{value:me(`${s.name}_${r}`,function(){})}});c.values[o]=u,c[r]=u}var Kr=(e,r)=>{switch(r){case 4:return function(o){return this.fromWireType(lt[o>>>2>>>0])};case 8:return function(o){return this.fromWireType(yt[o>>>3>>>0])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},zr=function(e,r,o){e>>>=0,r>>>=0,o>>>=0,r=ot(r),Ct(e,{name:r,fromWireType:s=>s,toWireType:(s,c)=>c,argPackAdvance:Lt,readValueFromPointer:Kr(r,o),destructorFunction:null})};function $n(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function Hn(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var o=me(e.name||"unknownFunctionName",function(){});o.prototype=e.prototype;var s=new o,c=e.apply(s,r);return c instanceof Object?c:s}function Jr(e,r,o,s){for(var c=$n(e),u=e.length-2,f=[],T=["fn"],y=0;y<u;++y)f.push(`arg${y}`),T.push(`arg${y}Wired`);f=f.join(","),T=T.join(",");var C=`return function (${f}) {
4
4
  `;c&&(C+=`var destructors = [];
@@ -49,6 +49,12 @@ export declare class AcDbEntityConverter {
49
49
  private processDimensionCommonAttrs;
50
50
  private processCommonAttrs;
51
51
  private applyExtendedData;
52
+ /**
53
+ * Preserve XData point objects and binary chunks so DXF export can emit
54
+ * numeric 1010/1020/1030 triples and hex 1004 data instead of
55
+ * "[object Object]" / invalid binary strings.
56
+ */
57
+ private normalizeXDataValue;
52
58
  private convertMLeaderEntityColor;
53
59
  private readMLeaderEntityColor;
54
60
  private isValidHandleId;
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAoBL,UAAU,EAgEX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAcV,SAAS,EAgCV,MAAM,yBAAyB,CAAA;AA+DhC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAY7C;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAuEpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAyGzB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,YAAY;IAuIpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,qBAAqB;IAyC7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;IA8TtB,OAAO,CAAC,gBAAgB;IAqGxB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,sBAAsB;IAmD9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,qBAAqB;IAgD7B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,kBAAkB;IAsE1B,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;CAQpB"}
1
+ {"version":3,"file":"AcDbEntitiyConverter.d.ts","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"AAAA,OAAO,EAoBL,UAAU,EA+DX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAcV,SAAS,EAgCV,MAAM,yBAAyB,CAAA;AA+DhC,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAY7C;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAuEpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,iBAAiB;IAyGzB,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,YAAY;IAuIpB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;IA8TtB,OAAO,CAAC,gBAAgB;IAqGxB,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,eAAe;IAoCvB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,sBAAsB;IAmD9B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,qBAAqB;IAgD7B,OAAO,CAAC,2BAA2B;IAmBnC,OAAO,CAAC,kBAAkB;IAsE1B,OAAO,CAAC,iBAAiB;IAgCzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA0D3B,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,kBAAkB;IAqD1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,WAAW;CAQpB"}
@@ -20,7 +20,7 @@ var __values = (this && this.__values) || function(o) {
20
20
  };
21
21
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
22
22
  };
23
- import { AcCmColor, AcCmTransparency, AcDb2dPolyline, AcDb3dPolyline, AcDb3PointAngularDimension, AcDbAlignedDimension, AcDbArc, AcDbArcAlignedText, AcDbAttribute, AcDbAttributeDefinition, AcDbAttributeFlags, AcDbAttributeMTextFlag, AcDbBlockReference, AcDbCircle, acdbDecodeMLeaderStyleRawColor, AcDbDiametricDimension, AcDbDxfCode, AcDbEllipse, AcDbFace, AcDbFcf, AcDbHatch, AcDbHatchObjectType, acdbHexStringsToBytes, AcDbLeader, AcDbLine, AcDbMLeader, AcDbMLeaderContentType, AcDbMLeaderLineType, AcDbMLine, AcDbMText, acdbNormalizeExtensionDictionaryId, AcDbOle2Frame, AcDbOleFrame, AcDbOleObjectType, AcDbOleTileMode, AcDbOrdinateDimension, AcDbPoint, AcDbPoly2dType, AcDbPoly3dType, AcDbPolyFaceMesh, AcDbPolygonMesh, AcDbPolyline, AcDbProxyEntity, AcDbRadialDimension, AcDbRasterImage, AcDbRay, AcDbResultBuffer, AcDbRotatedDimension, AcDbShape, AcDbSolid, AcDbSpline, AcDbTable, AcDbText, AcDbViewport, AcDbWipeout, AcDbXline, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, acgeTransformOcsPointToWcs, AcGeVector2d, AcGeVector3d } from '@mlightcad/data-model';
23
+ import { AcCmColor, AcCmTransparency, AcDb2dPolyline, AcDb3dPolyline, AcDb3PointAngularDimension, AcDbAlignedDimension, AcDbArc, AcDbArcAlignedText, AcDbAttribute, AcDbAttributeDefinition, AcDbAttributeFlags, AcDbAttributeMTextFlag, AcDbBlockReference, AcDbCircle, acdbDecodeMLeaderStyleRawColor, AcDbDiametricDimension, AcDbDxfCode, AcDbEllipse, AcDbFace, AcDbFcf, AcDbHatch, AcDbHatchObjectType, acdbHexStringsToBytes, AcDbLeader, AcDbLine, AcDbMLeader, AcDbMLeaderContentType, AcDbMLeaderLineType, AcDbMLine, AcDbMText, acdbNormalizeExtensionDictionaryId, AcDbOle2Frame, AcDbOleFrame, AcDbOleObjectType, AcDbOleTileMode, AcDbOrdinateDimension, AcDbPoint, AcDbPoly2dType, AcDbPoly3dType, AcDbPolyFaceMesh, AcDbPolygonMesh, AcDbPolyline, AcDbProxyEntity, AcDbRadialDimension, AcDbRasterImage, AcDbRay, AcDbRotatedDimension, AcDbShape, AcDbSolid, AcDbSpline, AcDbTable, AcDbText, AcDbViewport, AcDbWipeout, AcDbXline, AcGeCircArc2d, AcGeEllipseArc2d, AcGeLine2d, AcGeLoop2d, AcGePoint2d, AcGePoint3d, AcGePolyline2d, AcGeSpline3d, acgeTransformOcsPointToWcs, AcGeVector2d, AcGeVector3d } from '@mlightcad/data-model';
24
24
  var AcDbEntityConverter = /** @class */ (function () {
25
25
  function AcDbEntityConverter() {
26
26
  }
@@ -601,7 +601,8 @@ var AcDbEntityConverter = /** @class */ (function () {
601
601
  dbEntity.alignment = entity.alignment;
602
602
  dbEntity.isReverse = entity.isReverse;
603
603
  dbEntity.wizardFlag = entity.wizardFlag;
604
- dbEntity.textPosition = entity.textPosition;
604
+ dbEntity.textPosition =
605
+ entity.textPosition;
605
606
  dbEntity.textDirection =
606
607
  entity.textDirection;
607
608
  if (entity.arcHandle)
@@ -1372,12 +1373,10 @@ var AcDbEntityConverter = /** @class */ (function () {
1372
1373
  var value = entry.value;
1373
1374
  if (code === AcDbDxfCode.ExtendedDataHandle ||
1374
1375
  (code >= 1000 && code <= 1071)) {
1375
- values.push({
1376
- code: code,
1377
- value: typeof value === 'string' || typeof value === 'number'
1378
- ? value
1379
- : String(value)
1380
- });
1376
+ var normalized = this.normalizeXDataValue(code, value);
1377
+ if (normalized !== undefined) {
1378
+ values.push({ code: code, value: normalized });
1379
+ }
1381
1380
  }
1382
1381
  }
1383
1382
  }
@@ -1389,7 +1388,7 @@ var AcDbEntityConverter = /** @class */ (function () {
1389
1388
  }
1390
1389
  finally { if (e_2) throw e_2.error; }
1391
1390
  }
1392
- dbEntity.setXData(new AcDbResultBuffer(values));
1391
+ dbEntity.setImportedXData(values);
1393
1392
  }
1394
1393
  }
1395
1394
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1400,6 +1399,64 @@ var AcDbEntityConverter = /** @class */ (function () {
1400
1399
  finally { if (e_1) throw e_1.error; }
1401
1400
  }
1402
1401
  };
1402
+ /**
1403
+ * Preserve XData point objects and binary chunks so DXF export can emit
1404
+ * numeric 1010/1020/1030 triples and hex 1004 data instead of
1405
+ * "[object Object]" / invalid binary strings.
1406
+ */
1407
+ AcDbEntityConverter.prototype.normalizeXDataValue = function (code, value) {
1408
+ if (code >= 1010 && code <= 1013) {
1409
+ if (this.isPointLike(value)) {
1410
+ return {
1411
+ x: value.x,
1412
+ y: value.y,
1413
+ z: typeof value.z === 'number' ? value.z : 0
1414
+ };
1415
+ }
1416
+ if (Array.isArray(value) &&
1417
+ typeof value[0] === 'number' &&
1418
+ typeof value[1] === 'number') {
1419
+ return {
1420
+ x: value[0],
1421
+ y: value[1],
1422
+ z: typeof value[2] === 'number' ? value[2] : 0
1423
+ };
1424
+ }
1425
+ if (typeof value === 'number' && Number.isFinite(value))
1426
+ return value;
1427
+ }
1428
+ if (code === AcDbDxfCode.ExtendedDataBinaryChunk) {
1429
+ if (value instanceof Uint8Array)
1430
+ return value;
1431
+ if (value instanceof ArrayBuffer)
1432
+ return new Uint8Array(value);
1433
+ if (typeof value === 'string')
1434
+ return value;
1435
+ if (Array.isArray(value) &&
1436
+ value.every(function (n) {
1437
+ return typeof n === 'number' && Number.isFinite(n) && n >= 0 && n <= 255;
1438
+ })) {
1439
+ return Uint8Array.from(value);
1440
+ }
1441
+ return undefined;
1442
+ }
1443
+ if (typeof value === 'string' ||
1444
+ typeof value === 'number' ||
1445
+ typeof value === 'boolean') {
1446
+ return value;
1447
+ }
1448
+ if (value instanceof Uint8Array)
1449
+ return value;
1450
+ if (this.isPointLike(value)) {
1451
+ return {
1452
+ x: value.x,
1453
+ y: value.y,
1454
+ z: typeof value.z === 'number' ? value.z : 0
1455
+ };
1456
+ }
1457
+ // Avoid String(object) → "[object Object]" in DXF.
1458
+ return undefined;
1459
+ };
1403
1460
  AcDbEntityConverter.prototype.convertMLeaderEntityColor = function (color) {
1404
1461
  return acdbDecodeMLeaderStyleRawColor(color);
1405
1462
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcDbEntitiyConverter.js","sourceRoot":"","sources":["../src/AcDbEntitiyConverter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/libredwg-converter",
3
- "version": "3.14.14",
3
+ "version": "3.15.1",
4
4
  "license": "GPL-3.0",
5
5
  "type": "module",
6
6
  "repository": {
@@ -39,10 +39,10 @@
39
39
  },
40
40
  "devDependencies": {
41
41
  "vite": "^6.4.3",
42
- "@mlightcad/data-model": "1.14.14"
42
+ "@mlightcad/data-model": "1.15.1"
43
43
  },
44
44
  "peerDependencies": {
45
- "@mlightcad/data-model": "1.14.14"
45
+ "@mlightcad/data-model": "1.15.1"
46
46
  },
47
47
  "scripts": {
48
48
  "analyze": "pnpm run analyze:lib && pnpm run analyze:worker",