@flyfish-group/file-viewer3 1.0.14 → 1.0.16
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/README.md +11 -10
- package/dist/components/3MFLoader.js +1 -1
- package/dist/components/AMFLoader.js +1 -1
- package/dist/components/ArchiveViewer.js +293 -1
- package/dist/components/AudioViewer.js +1 -1
- package/dist/components/CadViewer.js +1 -1
- package/dist/components/CodeViewer.js +1 -1
- package/dist/components/ColladaLoader.js +1 -1
- package/dist/components/DrawingViewer.js +1 -1
- package/dist/components/EdaViewer.js +1 -1
- package/dist/components/EmailViewer.js +1 -1
- package/dist/components/EpubViewer.js +1 -1
- package/dist/components/FBXLoader.js +1 -1
- package/dist/components/GLTFLoader.js +1 -1
- package/dist/components/ImageViewer.js +1 -1
- package/dist/components/KMZLoader.js +1 -1
- package/dist/components/MarkdownViewer.js +1 -1
- package/dist/components/ModelViewer.js +1 -1
- package/dist/components/OBJLoader.js +1 -1
- package/dist/components/OfdViewer.js +1 -1
- package/dist/components/PCDLoader.js +1 -1
- package/dist/components/PLYLoader.js +1 -1
- package/dist/components/PdfView.js +4588 -4497
- package/dist/components/PptxRender.js +1 -1
- package/dist/components/STLLoader.js +1 -1
- package/dist/components/TDSLoader.js +1 -1
- package/dist/components/USDLoader.js +1 -1
- package/dist/components/UmdViewer.js +1 -1
- package/dist/components/VRMLLoader.js +1 -1
- package/dist/components/VTKLoader.js +1 -1
- package/dist/components/XYZLoader.js +1 -1
- package/dist/components/XlsxTable.js +1 -1
- package/dist/components/__vite-browser-external.js +1 -1
- package/dist/components/_plugin-vue_export-helper.js +1 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
- package/dist/components/arc.js +1 -1
- package/dist/components/architecture-7EHR7CIX.js +1 -1
- package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
- package/dist/components/archive.js +1 -1
- package/dist/components/asyncToGenerator.js +1 -1
- package/dist/components/audio.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -1
- package/dist/components/bash.js +1 -1
- package/dist/components/bg-BG-XCXSNQG7.js +1 -1
- package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
- package/dist/components/bn-BD-2XOGV67Q.js +1 -1
- package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
- package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
- package/dist/components/cad.js +1 -1
- package/dist/components/cfb.js +1 -1
- package/dist/components/channel.js +1 -1
- package/dist/components/chunk-2J33WTMH.js +1 -1
- package/dist/components/chunk-3OPIFGDE.js +1 -1
- package/dist/components/chunk-4BX2VUAB.js +1 -1
- package/dist/components/chunk-55IACEB6.js +1 -1
- package/dist/components/chunk-5ZQYHXKU.js +1 -1
- package/dist/components/chunk-6U3AYISY.js +1 -1
- package/dist/components/chunk-727SXJPM.js +1 -1
- package/dist/components/chunk-AGHRB4JF.js +1 -1
- package/dist/components/chunk-AQP2D5EJ.js +1 -1
- package/dist/components/chunk-BSJP7CBP.js +1 -1
- package/dist/components/chunk-CSCIHK7Q.js +1 -1
- package/dist/components/chunk-FMBD7UC4.js +1 -1
- package/dist/components/chunk-K2UTITRG.js +1 -1
- package/dist/components/chunk-KSCS5N6A.js +1 -1
- package/dist/components/chunk-L5ZTLDWV.js +1 -1
- package/dist/components/chunk-LZXEDZCA.js +1 -1
- package/dist/components/chunk-ND2GUHAM.js +1 -1
- package/dist/components/chunk-NZK2D7GU.js +1 -1
- package/dist/components/chunk-O5CBEL6O.js +1 -1
- package/dist/components/chunk-QZHKN3VN.js +1 -1
- package/dist/components/chunk-SRAX5OIU.js +1 -1
- package/dist/components/chunk-WU5MYG2G.js +1 -1
- package/dist/components/chunk-XPW4576I.js +1 -1
- package/dist/components/chunk-Z3N5DIM6.js +1 -1
- package/dist/components/chunk-ZUYEQ4TG.js +1 -1
- package/dist/components/chunk.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
- package/dist/components/core.js +1 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
- package/dist/components/cpp.js +1 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
- package/dist/components/csharp.js +1 -1
- package/dist/components/css.js +1 -1
- package/dist/components/cytoscape.esm.js +1 -1
- package/dist/components/da-DK-5WZEPLOC.js +1 -1
- package/dist/components/dagre-BM42HDAG.js +1 -1
- package/dist/components/dagre.js +1 -1
- package/dist/components/de-DE-XR44H4JA.js +1 -1
- package/dist/components/defaultLocale.js +1 -1
- package/dist/components/defineProperty.js +1 -1
- package/dist/components/diagram-2AECGRRQ.js +1 -1
- package/dist/components/diagram-5GNKFQAL.js +1 -1
- package/dist/components/diagram-KO2AKTUF.js +1 -1
- package/dist/components/diagram-LMA3HP47.js +1 -1
- package/dist/components/diagram-OG6HWLK6.js +1 -1
- package/dist/components/diff.js +1 -1
- package/dist/components/directory-open-01563666.js +1 -1
- package/dist/components/directory-open-4ed118d0.js +1 -1
- package/dist/components/dist.js +1 -1
- package/dist/components/dist2.js +1 -1
- package/dist/components/dist3.js +1 -1
- package/dist/components/docx-preview.js +1 -1
- package/dist/components/drawing.js +1 -1
- package/dist/components/ebook.js +1 -1
- package/dist/components/eda.js +1 -1
- package/dist/components/el-GR-BZB4AONW.js +1 -1
- package/dist/components/email.js +1 -1
- package/dist/components/en-B4ZKOASM.js +1 -1
- package/dist/components/erDiagram-TEJ5UH35.js +1 -1
- package/dist/components/es-ES-U4NZUMDT.js +1 -1
- package/dist/components/eu-ES-A7QVB2H4.js +1 -1
- package/dist/components/eventmodeling-FCH6USID.js +1 -1
- package/dist/components/fa-IR-HGAKTJCU.js +1 -1
- package/dist/components/fflate.module.js +1 -1
- package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
- package/dist/components/file-open-002ab408.js +1 -1
- package/dist/components/file-open-7c801643.js +1 -1
- package/dist/components/file-save-3189631c.js +1 -1
- package/dist/components/file-save-745eba88.js +1 -1
- package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
- package/dist/components/fr-FR-RHASNOE6.js +1 -1
- package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
- package/dist/components/gitGraph-WXDBUCRP.js +1 -1
- package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
- package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
- package/dist/components/go.js +1 -1
- package/dist/components/graphlib.js +1 -1
- package/dist/components/he-IL-6SHJWFNN.js +1 -1
- package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
- package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
- package/dist/components/id-ID-SAP4L64H.js +1 -1
- package/dist/components/image-GAAHSSAO.js +1 -1
- package/dist/components/image-blob-reduce.esm.js +1 -1
- package/dist/components/image.js +1 -1
- package/dist/components/info-J43DQDTF.js +1 -1
- package/dist/components/infoDiagram-5YYISTIA.js +1 -1
- package/dist/components/ini.js +1 -1
- package/dist/components/init.js +1 -1
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
- package/dist/components/it-IT-JPQ66NNP.js +1 -1
- package/dist/components/ja-JP-DBVTYXUO.js +1 -1
- package/dist/components/java.js +1 -1
- package/dist/components/javascript.js +1 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
- package/dist/components/json.js +1 -1
- package/dist/components/jszip.min.js +1 -1
- package/dist/components/kaa-6HZHGXH3.js +1 -1
- package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
- package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
- package/dist/components/katex.js +1 -1
- package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
- package/dist/components/km-KH-HSX4SM5Z.js +1 -1
- package/dist/components/ko-KR-MTYHY66A.js +1 -1
- package/dist/components/ku-TR-6OUDTVRD.js +1 -1
- package/dist/components/lib.js +1 -1
- package/dist/components/libarchive.js +1 -1
- package/dist/components/linear.js +1 -1
- package/dist/components/lt-LT-XHIRWOB4.js +1 -1
- package/dist/components/lv-LV-5QDEKY6T.js +1 -1
- package/dist/components/markdown.js +1 -1
- package/dist/components/md.js +1 -1
- package/dist/components/mermaid-parser.core.js +1 -1
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
- package/dist/components/model.js +1 -1
- package/dist/components/mp4.js +1 -1
- package/dist/components/mr-IN-CRQNXWMA.js +1 -1
- package/dist/components/my-MM-5M5IBNSE.js +1 -1
- package/dist/components/nb-NO-T6EIAALU.js +1 -1
- package/dist/components/nestedRender.js +1 -1
- package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
- package/dist/components/nn-NO-6E72VCQL.js +1 -1
- package/dist/components/objectSpread2.js +1 -1
- package/dist/components/objectWithoutProperties.js +1 -1
- package/dist/components/oc-FR-POXYY2M6.js +1 -1
- package/dist/components/ofd.js +1 -1
- package/dist/components/ofd2.js +1 -1
- package/dist/components/ordinal.js +1 -1
- package/dist/components/pa-IN-N4M65BXN.js +1 -1
- package/dist/components/packet-YPE3B663.js +1 -1
- package/dist/components/pdf.js +1 -1
- package/dist/components/percentages-BXMCSKIN.js +1 -1
- package/dist/components/php.js +1 -1
- package/dist/components/pica.js +1 -1
- package/dist/components/pie-LRSECV5Y.js +1 -1
- package/dist/components/pie.js +1 -1
- package/dist/components/pieDiagram-4H26LBE5.js +1 -1
- package/dist/components/pl-PL-T2D74RX3.js +1 -1
- package/dist/components/postal-mime.js +1 -1
- package/dist/components/pptx.js +1 -1
- package/dist/components/prod.js +1 -1
- package/dist/components/pt-BR-5N22H2LF.js +1 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
- package/dist/components/python.js +1 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
- package/dist/components/radar-GUYGQ44K.js +1 -1
- package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
- package/dist/components/ro-RO-JPDTUUEW.js +1 -1
- package/dist/components/rough.esm.js +1 -1
- package/dist/components/roundRect.js +1 -1
- package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
- package/dist/components/rust.js +1 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
- package/dist/components/shared.js +1 -1
- package/dist/components/shared2.js +1 -1
- package/dist/components/si-LK-N5RQ5JYF.js +1 -1
- package/dist/components/sk-SK-C5VTKIMK.js +1 -1
- package/dist/components/sl-SI-NN7IZMDC.js +1 -1
- package/dist/components/sql.js +1 -1
- package/dist/components/src.js +1 -1
- package/dist/components/src2.js +1 -1
- package/dist/components/stateDiagram-AJRCARHV.js +1 -1
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
- package/dist/components/subset-shared.chunk.js +1 -1
- package/dist/components/subset-worker.chunk.js +1 -1
- package/dist/components/sv-SE-XGPEYMSR.js +1 -1
- package/dist/components/ta-IN-2NMHFXQM.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/th-TH-HPSO5L25.js +1 -1
- package/dist/components/three.module.js +1 -1
- package/dist/components/time.js +1 -1
- package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
- package/dist/components/tr-TR-DEFEU3FU.js +1 -1
- package/dist/components/treeView-BLDUP644.js +1 -1
- package/dist/components/treemap-LRROVOQU.js +1 -1
- package/dist/components/typescript.js +1 -1
- package/dist/components/uk-UA-QMV73CPH.js +1 -1
- package/dist/components/umd.js +1 -1
- package/dist/components/use.js +1 -1
- package/dist/components/util.js +1 -1
- package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
- package/dist/components/vi-VN-M7AON7JQ.js +1 -1
- package/dist/components/wardley-L42UT6IY.js +1 -1
- package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
- package/dist/components/word.js +1 -1
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/wrapAsyncGenerator.js +1 -1
- package/dist/components/xlsx.js +1 -1
- package/dist/components/xml.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
- package/dist/components/yaml.js +1 -1
- package/dist/components/zh-CN-LNUGB5OW.js +1 -1
- package/dist/components/zh-HK-E62DVLB3.js +1 -1
- package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
- package/dist/file-viewer3.css +1 -1
- package/dist/index.mjs +1 -1
- package/dist/src/package/common/type.d.ts +43 -0
- package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +16 -2
- package/dist/src/package/index.d.ts +1 -1
- package/dist/src/package/vendors/word/doc.d.ts +2 -2
- package/dist/src/package/vendors/word/docx.d.ts +2 -2
- package/package.json +1 -1
- package/dist/components/worker-bundle.js +0 -1
- package/dist/worker/pptx.worker.js +0 -1
package/dist/components/dist.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const aY=a1;(function(a6,a7){const aX=a1,a8=a6();while(!![]){try{const a9=parseInt(aX(0x1c3))/0x1+parseInt(aX(0x1f3))/0x2*(-parseInt(aX(0x1ea))/0x3)+-parseInt(aX(0x1e5))/0x4*(-parseInt(aX(0x185))/0x5)+-parseInt(aX(0x122))/0x6+parseInt(aX(0x21f))/0x7*(parseInt(aX(0x1f1))/0x8)+-parseInt(aX(0x184))/0x9+parseInt(aX(0x120))/0xa*(parseInt(aX(0x1ee))/0xb);if(a9===a7)break;else a8['push'](a8['shift']());}catch(aa){a8['push'](a8['shift']());}}}(a0,0xa92df));import{n as a2,t}from'./defineProperty.js';import{n,t as a3}from'./objectSpread2.js';import{n as a4,t as a5}from'./asyncToGenerator.js';function o(a6,a7,a8=0x0,a9=a6[aY(0x1e8)]-0x1,aa=c){const aZ=aY;for(;a9>a8;){if(a9-a8>0x258){let af=a9-a8+0x1,ag=a7-a8+0x1,ah=Math['log'](af),ai=0.5*Math[aZ(0x11b)](0x2*ah/0x3),aj=0.5*Math[aZ(0x181)](ah*ai*(af-ai)/af)*(ag-af/0x2<0x0?-0x1:0x1);o(a6,a7,Math[aZ(0x131)](a8,Math['floor'](a7-ag*ai/af+aj)),Math[aZ(0x228)](a9,Math['floor'](a7+(af-ag)*ai/af+aj)),aa);}let ab=a6[a7],ac=a8,ad=a9;for(s(a6,a8,a7),aa(a6[a9],ab)>0x0&&s(a6,a8,a9);ac<ad;){for(s(a6,ac,ad),ac++,ad--;aa(a6[ac],ab)<0x0;)ac++;for(;aa(a6[ad],ab)>0x0;)ad--;}aa(a6[a8],ab)===0x0?s(a6,a8,ad):(ad++,s(a6,ad,a9)),ad<=a7&&(a8=ad+0x1),a7<=ad&&(a9=ad-0x1);}}function s(a6,a7,a8){let a9=a6[a7];a6[a7]=a6[a8],a6[a8]=a9;}function a1(a,b){a=a-0x103;const c=a0();let d=c[a];return d;}function c(a6,a7){return a6<a7?-0x1:+(a6>a7);}var l=class{constructor(a6=0x9){const b0=aY;this['_maxEntries']=Math[b0(0x131)](0x4,a6),this['_minEntries']=Math['max'](0x2,Math['ceil'](this['_maxEntries']*0.4)),this['clear']();}['all'](){return this['_all'](this['data'],[]);}['search'](a6){const b1=aY;let a7=this['data'],a8=[];if(!x(a6,a7))return a8;let a9=this[b1(0x189)],aa=[];for(;a7;){for(let ab=0x0;ab<a7['children']['length'];ab++){let ac=a7['children'][ab],ad=a7['leaf']?a9(ac):ac;x(a6,ad)&&(a7['leaf']?a8[b1(0x21b)](ac):b(a6,ad)?this['_all'](ac,a8):aa['push'](ac));}a7=aa['pop']();}return a8;}['collides'](a6){const b2=aY;let a7=this['data'];if(!x(a6,a7))return!0x1;let a8=[];for(;a7;){for(let a9=0x0;a9<a7['children']['length'];a9++){let aa=a7[b2(0x139)][a9],ab=a7['leaf']?this[b2(0x189)](aa):aa;if(x(a6,ab)){if(a7['leaf']||b(a6,ab))return!0x0;a8['push'](aa);}}a7=a8['pop']();}return!0x1;}['load'](a6){const b3=aY;if(!(a6&&a6['length']))return this;if(a6['length']<this['_minEntries']){for(let a8=0x0;a8<a6['length'];a8++)this['insert'](a6[a8]);return this;}let a7=this['_build'](a6[b3(0x211)](),0x0,a6['length']-0x1,0x0);if(!this[b3(0x105)]['children'][b3(0x1e8)])this['data']=a7;else{if(this['data']['height']===a7['height'])this['_splitRoot'](this['data'],a7);else{if(this['data']['height']<a7['height']){let a9=this['data'];this['data']=a7,a7=a9;}this['_insert'](a7,this[b3(0x105)]['height']-a7[b3(0x1da)]-0x1,!0x0);}}return this;}['insert'](a6){const b4=aY;return a6&&this['_insert'](a6,this['data'][b4(0x1da)]-0x1),this;}[aY(0x19e)](){const b5=aY;return this[b5(0x105)]=S([]),this;}[aY(0x149)](a6,a7){const b6=aY;if(!a6)return this;let a8=this['data'],a9=this['toBBox'](a6),aa=[],ab=[],ac,ad,af;for(;a8||aa[b6(0x1e8)];){if(a8||(a8=aa['pop'](),ad=aa[aa['length']-0x1],ac=ab[b6(0x1f9)](),af=!0x0),a8['leaf']){let ag=u(a6,a8[b6(0x139)],a7);if(ag!==-0x1)return a8['children'][b6(0x147)](ag,0x1),aa['push'](a8),this['_condense'](aa),this;}!af&&!a8[b6(0x174)]&&b(a8,a9)?(aa[b6(0x21b)](a8),ab[b6(0x21b)](ac),ac=0x0,ad=a8,a8=a8['children'][0x0]):ad?(ac++,a8=ad['children'][ac],af=!0x1):a8=null;}return this;}[aY(0x189)](a6){return a6;}['compareMinX'](a6,a7){return a6['minX']-a7['minX'];}[aY(0x224)](a6,a7){const b7=aY;return a6[b7(0x11c)]-a7['minY'];}['toJSON'](){return this['data'];}['fromJSON'](a6){return this['data']=a6,this;}['_all'](a6,a7){const b8=aY;let a8=[];for(;a6;)a6['leaf']?a7['push'](...a6['children']):a8[b8(0x21b)](...a6['children']),a6=a8[b8(0x1f9)]();return a7;}['_build'](a6,a7,a8,a9){const b9=aY;let aa=a8-a7+0x1,ab=this['_maxEntries'],ac;if(aa<=ab)return ac=S(a6['slice'](a7,a8+0x1)),d(ac,this[b9(0x189)]),ac;a9||(a9=Math[b9(0x227)](Math[b9(0x204)](aa)/Math['log'](ab)),ab=Math['ceil'](aa/Math['pow'](ab,a9-0x1))),ac=S([]),ac['leaf']=!0x1,ac['height']=a9;let ad=Math[b9(0x227)](aa/ab),af=ad*Math[b9(0x227)](Math['sqrt'](ab));C(a6,a7,a8,af,this['compareMinX']);for(let ag=a7;ag<=a8;ag+=af){let ah=Math['min'](ag+af-0x1,a8);C(a6,ag,ah,ad,this['compareMinY']);for(let ai=ag;ai<=ah;ai+=ad){let aj=Math[b9(0x228)](ai+ad-0x1,ah);ac['children']['push'](this['_build'](a6,ai,aj,a9-0x1));}}return d(ac,this['toBBox']),ac;}['_chooseSubtree'](a6,a7,a8,a9){const ba=aY;for(;a9['push'](a7),!(a7['leaf']||a9['length']-0x1===a8);){let aa=Infinity,ab=Infinity,ac;for(let ad=0x0;ad<a7['children'][ba(0x1e8)];ad++){let af=a7['children'][ad],ag=g(af),ah=v(a6,af)-ag;ah<ab?(ab=ah,aa=ag<aa?ag:aa,ac=af):ah===ab&&ag<aa&&(aa=ag,ac=af);}a7=ac||a7['children'][0x0];}return a7;}['_insert'](a6,a7,a8){const bb=aY;let a9=a8?a6:this[bb(0x189)](a6),aa=[],ab=this['_chooseSubtree'](a9,this['data'],a7,aa);for(ab['children'][bb(0x21b)](a6),p(ab,a9);a7>=0x0&&aa[a7]['children']['length']>this['_maxEntries'];)this['_split'](aa,a7),a7--;this['_adjustParentBBoxes'](a9,aa,a7);}['_split'](a6,a7){const bc=aY;let a8=a6[a7],a9=a8[bc(0x139)]['length'],aa=this['_minEntries'];this['_chooseSplitAxis'](a8,aa,a9);let ab=this[bc(0x210)](a8,aa,a9),ac=S(a8['children']['splice'](ab,a8['children']['length']-ab));ac['height']=a8['height'],ac['leaf']=a8['leaf'],d(a8,this[bc(0x189)]),d(ac,this['toBBox']),a7?a6[a7-0x1]['children']['push'](ac):this['_splitRoot'](a8,ac);}[aY(0x117)](a6,a7){const bd=aY;this['data']=S([a6,a7]),this[bd(0x105)]['height']=a6['height']+0x1,this['data']['leaf']=!0x1,d(this['data'],this['toBBox']);}['_chooseSplitIndex'](a6,a7,a8){let a9,aa=Infinity,ab=Infinity;for(let ac=a7;ac<=a8-a7;ac++){let ad=f(a6,0x0,ac,this['toBBox']),af=f(a6,ac,a8,this['toBBox']),ag=y(ad,af),ah=g(ad)+g(af);ag<aa?(aa=ag,a9=ac,ab=ah<ab?ah:ab):ag===aa&&ah<ab&&(ab=ah,a9=ac);}return a9||a8-a7;}[aY(0x148)](a6,a7,a8){let a9=a6['leaf']?this['compareMinX']:m,aa=a6['leaf']?this['compareMinY']:h;this['_allDistMargin'](a6,a7,a8,a9)<this['_allDistMargin'](a6,a7,a8,aa)&&a6['children']['sort'](a9);}[aY(0x16b)](a6,a7,a8,a9){const bf=aY;a6[bf(0x139)][bf(0x20c)](a9);let aa=this['toBBox'],ab=f(a6,0x0,a7,aa),ac=f(a6,a8-a7,a8,aa),ad=_(ab)+_(ac);for(let af=a7;af<a8-a7;af++){let ag=a6['children'][af];p(ab,a6['leaf']?aa(ag):ag),ad+=_(ab);}for(let ah=a8-a7-0x1;ah>=a7;ah--){let ai=a6['children'][ah];p(ac,a6['leaf']?aa(ai):ai),ad+=_(ac);}return ad;}['_adjustParentBBoxes'](a6,a7,a8){for(let a9=a8;a9>=0x0;a9--)p(a7[a9],a6);}['_condense'](a6){for(let a7=a6['length']-0x1,a8;a7>=0x0;a7--)a6[a7]['children']['length']===0x0?a7>0x0?(a8=a6[a7-0x1]['children'],a8['splice'](a8['indexOf'](a6[a7]),0x1)):this['clear']():d(a6[a7],this['toBBox']);}};function u(a6,a7,a8){const bg=aY;if(!a8)return a7['indexOf'](a6);for(let a9=0x0;a9<a7[bg(0x1e8)];a9++)if(a8(a6,a7[a9]))return a9;return-0x1;}function d(a6,a7){f(a6,0x0,a6['children']['length'],a7,a6);}function f(a6,a7,a8,a9,aa){const bh=aY;aa||(aa=S(null)),aa['minX']=Infinity,aa['minY']=Infinity,aa[bh(0x19a)]=-Infinity,aa['maxY']=-Infinity;for(let ab=a7;ab<a8;ab++){let ac=a6['children'][ab];p(aa,a6['leaf']?a9(ac):ac);}return aa;}function p(a6,a7){const bi=aY;return a6['minX']=Math[bi(0x228)](a6['minX'],a7['minX']),a6[bi(0x11c)]=Math['min'](a6['minY'],a7['minY']),a6['maxX']=Math['max'](a6[bi(0x19a)],a7['maxX']),a6['maxY']=Math['max'](a6['maxY'],a7['maxY']),a6;}function m(a6,a7){const bj=aY;return a6['minX']-a7[bj(0x19f)];}function h(a6,a7){return a6['minY']-a7['minY'];}function g(a6){return(a6['maxX']-a6['minX'])*(a6['maxY']-a6['minY']);}function _(a6){return a6['maxX']-a6['minX']+(a6['maxY']-a6['minY']);}function v(a6,a7){const bk=aY;return(Math['max'](a7['maxX'],a6['maxX'])-Math[bk(0x228)](a7['minX'],a6['minX']))*(Math['max'](a7['maxY'],a6['maxY'])-Math['min'](a7['minY'],a6['minY']));}function y(a6,a7){const bl=aY;let a8=Math[bl(0x131)](a6['minX'],a7['minX']),a9=Math['max'](a6[bl(0x11c)],a7['minY']),aa=Math['min'](a6['maxX'],a7['maxX']),ab=Math['min'](a6[bl(0x1ad)],a7['maxY']);return Math[bl(0x131)](0x0,aa-a8)*Math[bl(0x131)](0x0,ab-a9);}function b(a6,a7){return a6['minX']<=a7['minX']&&a6['minY']<=a7['minY']&&a7['maxX']<=a6['maxX']&&a7['maxY']<=a6['maxY'];}function x(a6,a7){const bm=aY;return a7['minX']<=a6['maxX']&&a7['minY']<=a6['maxY']&&a7['maxX']>=a6['minX']&&a7[bm(0x1ad)]>=a6['minY'];}function S(a6){return{'children':a6,'height':0x1,'leaf':!0x0,'minX':Infinity,'minY':Infinity,'maxX':-Infinity,'maxY':-Infinity};}function C(a6,a7,a8,a9,aa){const bn=aY;let ab=[a7,a8];for(;ab[bn(0x1e8)];){if(a8=ab[bn(0x1f9)](),a7=ab['pop'](),a8-a7<=a9)continue;let ac=a7+Math['ceil']((a8-a7)/a9/0x2)*a9;o(a6,ac,a7,a8,aa),ab['push'](a7,ac,ac,a8);}}n(),a2(),a4();function w(a6){const bo=aY;let a7=a6['replace'](/\r\n?/g,'\x0a'),a8=[],a9=a7['length'],aa=0x0;for(;aa<a9;){for(;aa<a9&&a7['charCodeAt'](aa)===0xa;)aa++;if(aa>=a9)break;let ab=a7['indexOf']('\x0a',aa);ab===-0x1&&(ab=a9);let ac=a7['substring'](aa,ab)['trim']();aa=ab+0x1;let ad=parseInt(ac,0xa);if(isNaN(ad)){aa<a9&&(ab=a7[bo(0x1a6)]('\x0a',aa),ab===-0x1&&(ab=a9),aa=ab+0x1);continue;}if(aa>=a9)break;ab=a7['indexOf']('\x0a',aa),ab===-0x1&&(ab=a9);let af=a7['substring'](aa,ab)[bo(0x1ca)](/\s+$/,'');aa=ab+0x1,a8['push']({'code':ad,'value':af});}return a8;}function T(a6,a7,a8){const bp=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bp(0x1b1))return a7+0x1;if(a9['code']===0x9){let aa=a9['value'];switch(a7++,aa){case'$ACADVER':a7<a6['length']&&(a8['acadVersion']=a6[a7]['value'],a7++);break;case'$EXTMIN':if(a7<a6['length']){let ab=E(a6,a7);a8['extMin']=ab['point'],a7=ab['nextIndex'];}break;case bp(0x1c4):if(a7<a6['length']){let ac=E(a6,a7);a8['extMax']=ac['point'],a7=ac['nextIndex'];}break;case'$INSUNITS':a7<a6['length']&&(a8['insUnits']=parseInt(a6[a7][bp(0x183)],0xa),a7++);break;case'$MEASUREMENT':a7<a6['length']&&(a8['measurement']=parseInt(a6[a7]['value'],0xa),a7++);break;case'$LTSCALE':a7<a6[bp(0x1e8)]&&(a8['ltScale']=parseFloat(a6[a7]['value']),a7++);break;case bp(0x12f):a7<a6['length']&&(a8['dwgCodePage']=a6[a7]['value'],a7++);break;case'$HANDSEED':a7<a6['length']&&(a8['handleSeed']=a6[a7]['value'],a7++);break;default:for(;a7<a6[bp(0x1e8)]&&a6[a7]['code']!==0x9&&a6[a7]['code']!==0x0;)a8[aa]=a6[a7]['value'],a7++;}}else a7++;}return a7;}function E(a6,a7){const bq=aY;let a8={'x':0x0,'y':0x0,'z':0x0};for(;a7<a6['length'];){let a9=a6[a7][bq(0x10b)];if(a9===0xa)a8['x']=parseFloat(a6[a7][bq(0x183)]),a7++;else{if(a9===0x14)a8['y']=parseFloat(a6[a7]['value']),a7++;else{if(a9===0x1e)a8['z']=parseFloat(a6[a7]['value']),a7++;else break;}}}return{'point':a8,'nextIndex':a7};}function D(a6,a7,a8){const br=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9['code']===0x0&&a9['value']==='TABLE'){if(a7++,a7>=a6['length'])break;let aa=a6[a7]['value'];switch(a7++,aa){case'LAYER':a7=k(a6,a7,a8[br(0x1cf)]);break;case br(0x197):a7=ee(a6,a7,a8['lineTypes']);break;case br(0x17a):a7=te(a6,a7,a8['styles']);break;default:a7=O(a6,a7);break;}}else a7++;}return a7;}function O(a6,a7){const bs=aY;for(;a7<a6['length'];){if(a6[a7]['code']===0x0&&a6[a7][bs(0x183)]==='ENDTAB')return a7+0x1;a7++;}return a7;}function k(a6,a7,a8){const bu=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9[bu(0x10b)]===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9[bu(0x183)]===bu(0x106)){a7++;let aa={'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab['value'];break;case 0x6:aa['lineType']=ab['value'];break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;case 0x46:aa['flags']=parseInt(ab[bu(0x183)],0xa);break;case 0x172:aa['lineWeight']=parseInt(ab['value'],0xa);break;case 0x1a4:aa['trueColor']=parseInt(ab['value'],0xa);break;}a7++;}a8['set'](aa[bu(0x156)],aa);}else a7++;}return a7;}function ee(a6,a7,a8){const bv=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bv(0x11e))return a7+0x1;if(a9['code']===0x0&&a9['value']==='LTYPE'){a7++;let aa={'name':'','description':'','pattern':[],'totalLength':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab[bv(0x183)];break;case 0x3:aa['description']=ab['value'];break;case 0x28:aa['totalLength']=parseFloat(ab['value']);break;case 0x31:aa['pattern']['push'](parseFloat(ab[bv(0x183)]));break;}a7++;}aa['name']&&a8[bv(0x1d1)](aa['name'],aa);}else a7++;}return a7;}function te(a6,a7,a8){const bw=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bw(0x11e))return a7+0x1;if(a9['code']===0x0&&a9['value']==='STYLE'){a7++;let aa={'name':'','fontName':'','bigFontName':'','height':0x0,'widthFactor':0x1,'obliqueAngle':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab[bw(0x183)];break;case 0x3:aa['fontName']=ab[bw(0x183)];break;case 0x4:aa['bigFontName']=ab[bw(0x183)];break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x29:aa['widthFactor']=parseFloat(ab['value']);break;case 0x32:aa['obliqueAngle']=parseFloat(ab['value']);break;}a7++;}aa['name']&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function A(a6){const bx=aY;let a7={'type':'','layer':'0','color':0x100,'lineType':bx(0x22a),'lineTypeScale':0x1,'lineWeight':-0x1,'visible':!0x0,'extrusion':{'x':0x0,'y':0x0,'z':0x1}};for(let a8 of a6)switch(a8['code']){case 0x5:a7['handle']=a8[bx(0x183)];break;case 0x8:a7['layer']=a8['value'];break;case 0x6:a7['lineType']=a8[bx(0x183)];break;case 0x30:a7['lineTypeScale']=parseFloat(a8['value']);break;case 0x3c:a7['visible']=a8['value']==='0'||a8['value']==='';break;case 0x3e:a7['color']=parseInt(a8['value'],0xa);break;case 0x172:a7['lineWeight']=parseInt(a8['value'],0xa);break;case 0x1a4:a7['trueColor']=parseInt(a8[bx(0x183)],0xa);break;case 0xd2:a7['extrusion']['x']=parseFloat(a8[bx(0x183)]);break;case 0xdc:a7['extrusion']['y']=parseFloat(a8[bx(0x183)]);break;case 0xe6:a7['extrusion']['z']=parseFloat(a8['value']);break;}return a7;}function ne(a6){const by=aY;let a7=a3(a3({},A(a6)),{},{'type':'LINE','start':{'x':0x0,'y':0x0,'z':0x0},'end':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7[by(0x1e2)]['x']=parseFloat(a8['value']);break;case 0x14:a7['start']['y']=parseFloat(a8['value']);break;case 0x1e:a7['start']['z']=parseFloat(a8['value']);break;case 0xb:a7[by(0x231)]['x']=parseFloat(a8['value']);break;case 0x15:a7['end']['y']=parseFloat(a8['value']);break;case 0x1f:a7['end']['z']=parseFloat(a8[by(0x183)]);break;}return a7;}function re(a6){const bz=aY;let a7=a3(a3({},A(a6)),{},{'type':'CIRCLE','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0});for(let a8 of a6)switch(a8[bz(0x10b)]){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;}return a7;}function ie(a6){const bA=aY;let a7=a3(a3({},A(a6)),{},{'type':'ARC','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168});for(let a8 of a6)switch(a8['code']){case 0xa:a7[bA(0x140)]['x']=parseFloat(a8[bA(0x183)]);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;case 0x32:a7['startAngle']=parseFloat(a8['value']);break;case 0x33:a7['endAngle']=parseFloat(a8['value']);break;}return a7;}function ae(a6){const bB=aY;let a7=a3(a3({},A(a6)),{},{'type':bB(0x1e6),'vertices':[],'closed':!0x1,'constantWidth':0x0,'elevation':0x0}),a8=null;for(let a9 of a6)switch(a9['code']){case 0x46:a7[bB(0x226)]=(parseInt(a9[bB(0x183)],0xa)&0x1)!=0x0;break;case 0x26:a7[bB(0x1dd)]=parseFloat(a9['value']);break;case 0x2b:a7['constantWidth']=parseFloat(a9['value']);break;case 0xa:a8&&a7['vertices']['push'](a8),a8={'x':parseFloat(a9['value']),'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(a9['value']));break;case 0x28:a8&&(a8[bB(0x1e3)]=parseFloat(a9[bB(0x183)]));break;case 0x29:a8&&(a8['endWidth']=parseFloat(a9['value']));break;case 0x2a:a8&&(a8['bulge']=parseFloat(a9['value']));break;}return a8&&a7[bB(0x135)][bB(0x21b)](a8),a7;}function oe(a6){const bC=aY;let a7=a3(a3({},A(a6)),{},{'type':'POLYLINE','vertices':[],'closed':!0x1,'is3d':!0x1});for(let a8 of a6)switch(a8['code']){case 0x46:{let a9=parseInt(a8[bC(0x183)],0xa);a7[bC(0x226)]=(a9&0x1)!=0x0,a7[bC(0x1ae)]=(a9&0x8)!=0x0;break;}}return a7;}function se(a6){const bD=aY;let a7=a3(a3({},A(a6)),{},{'type':bD(0x162),'center':{'x':0x0,'y':0x0,'z':0x0},'majorAxis':{'x':0x1,'y':0x0,'z':0x0},'minorRatio':0x1,'startParam':0x0,'endParam':Math['PI']*0x2});for(let a8 of a6)switch(a8['code']){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8[bD(0x183)]);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0xb:a7['majorAxis']['x']=parseFloat(a8[bD(0x183)]);break;case 0x15:a7['majorAxis']['y']=parseFloat(a8['value']);break;case 0x1f:a7['majorAxis']['z']=parseFloat(a8['value']);break;case 0x28:a7['minorRatio']=parseFloat(a8[bD(0x183)]);break;case 0x29:a7['startParam']=parseFloat(a8['value']);break;case 0x2a:a7['endParam']=parseFloat(a8['value']);break;}return a7;}function ce(a6){const bE=aY;let a7=a3(a3({},A(a6)),{},{'type':'SPLINE','degree':0x3,'flags':0x0,'knots':[],'controlPoints':[],'fitPoints':[],'weights':[]}),a8=null,a9=null;for(let aa of a6)switch(aa['code']){case 0x46:a7['flags']=parseInt(aa['value'],0xa);break;case 0x47:a7['degree']=parseInt(aa[bE(0x183)],0xa);break;case 0x28:a7['knots'][bE(0x21b)](parseFloat(aa['value']));break;case 0x29:a7['weights']['push'](parseFloat(aa['value']));break;case 0xa:a8&&a7['controlPoints'][bE(0x21b)](a8),a8={'x':parseFloat(aa['value']),'y':0x0,'z':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(aa['value']));break;case 0x1e:a8&&(a8['z']=parseFloat(aa['value']));break;case 0xb:a9&&a7['fitPoints']['push'](a9),a9={'x':parseFloat(aa[bE(0x183)]),'y':0x0,'z':0x0};break;case 0x15:a9&&(a9['y']=parseFloat(aa['value']));break;case 0x1f:a9&&(a9['z']=parseFloat(aa['value']));break;case 0xc:a7[bE(0x194)]||(a7['startTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['startTangent']['x']=parseFloat(aa[bE(0x183)]);break;case 0x16:a7[bE(0x194)]&&(a7['startTangent']['y']=parseFloat(aa['value']));break;case 0x20:a7[bE(0x194)]&&(a7['startTangent']['z']=parseFloat(aa['value']));break;case 0xd:a7['endTangent']||(a7['endTangent']={'x':0x0,'y':0x0,'z':0x0}),a7[bE(0x10f)]['x']=parseFloat(aa['value']);break;case 0x17:a7['endTangent']&&(a7['endTangent']['y']=parseFloat(aa['value']));break;case 0x21:a7['endTangent']&&(a7['endTangent']['z']=parseFloat(aa['value']));break;}return a8&&a7[bE(0x14c)]['push'](a8),a9&&a7['fitPoints']['push'](a9),a7;}function le(a6){const bF=aY;let a7=a3(a3({},A(a6)),{},{'type':'TEXT','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'widthFactor':0x1,'obliqueAngle':0x0,'style':'STANDARD','hAlign':0x0,'vAlign':0x0,'generationFlags':0x0});for(let a8 of a6)switch(a8['code']){case 0x1:a7['text']=a8['value'];break;case 0xa:a7[bF(0x153)]['x']=parseFloat(a8['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7[bF(0x153)]['z']=parseFloat(a8['value']);break;case 0xb:a7['alignmentPoint']||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['x']=parseFloat(a8['value']);break;case 0x15:a7[bF(0x18b)]||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['y']=parseFloat(a8['value']);break;case 0x1f:a7['alignmentPoint']||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['z']=parseFloat(a8['value']);break;case 0x28:a7['height']=parseFloat(a8['value']);break;case 0x29:a7['widthFactor']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8['value']);break;case 0x33:a7['obliqueAngle']=parseFloat(a8['value']);break;case 0x7:a7['style']=a8['value'];break;case 0x47:a7['generationFlags']=parseInt(a8['value'],0xa);break;case 0x48:a7['hAlign']=parseInt(a8['value'],0xa);break;case 0x49:a7['vAlign']=parseInt(a8['value'],0xa);break;}return a7;}function ue(a6){const bG=aY;let a7=a3(a3({},A(a6)),{},{'type':bG(0x11f),'text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'width':0x0,'attachmentPoint':0x1,'drawingDirection':0x1,'rotation':0x0,'lineSpacingStyle':0x1,'lineSpacingFactor':0x1,'style':'STANDARD','bgFill':0x0,'bgFillScale':1.5}),a8=[];for(let a9 of a6)switch(a9['code']){case 0x1:a8['push'](a9['value']);break;case 0x3:a8[bG(0x21b)](a9['value']);break;case 0x7:a7['style']=a9['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a9['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a9['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a9['value']);break;case 0xb:a7['textDirection']||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7[bG(0x141)]['x']=parseFloat(a9['value']);break;case 0x15:a7['textDirection']||(a7[bG(0x141)]={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['y']=parseFloat(a9['value']);break;case 0x1f:a7['textDirection']||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7[bG(0x141)]['z']=parseFloat(a9['value']);break;case 0x28:a7['height']=parseFloat(a9['value']);break;case 0x29:a7['width']=parseFloat(a9['value']);break;case 0x2c:a7['lineSpacingFactor']=parseFloat(a9['value']);break;case 0x32:a7['rotation']=parseFloat(a9['value']);break;case 0x47:a7['attachmentPoint']=parseInt(a9[bG(0x183)],0xa);break;case 0x48:a7[bG(0x234)]=parseInt(a9['value'],0xa);break;case 0x49:a7['lineSpacingStyle']=parseInt(a9['value'],0xa);break;case 0x5a:a7[bG(0x1a2)]=parseInt(a9['value'],0xa);break;}return a7[bG(0x1ac)]=a8['join'](''),a7;}function de(a6){const bH=aY;let a7=a3(a3({},A(a6)),{},{'type':'INSERT','blockName':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'scaleX':0x1,'scaleY':0x1,'scaleZ':0x1,'rotation':0x0,'columnCount':0x1,'rowCount':0x1,'columnSpacing':0x0,'rowSpacing':0x0,'attribs':[]});for(let a8 of a6)switch(a8['code']){case 0x2:a7['blockName']=a8['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a8['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8[bH(0x183)]);break;case 0x29:a7[bH(0x1ec)]=parseFloat(a8['value']);break;case 0x2a:a7[bH(0x1d5)]=parseFloat(a8['value']);break;case 0x2b:a7['scaleZ']=parseFloat(a8['value']);break;case 0x2c:a7['columnSpacing']=parseFloat(a8['value']);break;case 0x2d:a7['rowSpacing']=parseFloat(a8['value']);break;case 0x32:a7[bH(0x15a)]=parseFloat(a8[bH(0x183)]);break;case 0x46:a7['columnCount']=parseInt(a8['value'],0xa)||0x1;break;case 0x47:a7['rowCount']=parseInt(a8['value'],0xa)||0x1;break;}return a7;}function fe(a6){const bI=aY;let a7=a3(a3({},A(a6)),{},{'type':'DIMENSION','blockName':'','dimStyle':'STANDARD','dimType':0x0,'defPoint':{'x':0x0,'y':0x0,'z':0x0},'textMidpoint':{'x':0x0,'y':0x0,'z':0x0},'textOverride':'','rotation':0x0,'textRotation':0x0,'leaderLength':0x0});for(let a8 of a6)switch(a8[bI(0x10b)]){case 0x1:a7[bI(0x20d)]=a8['value'];break;case 0x2:a7['blockName']=a8['value'];break;case 0x3:a7[bI(0x199)]=a8['value'];break;case 0xa:a7['defPoint']['x']=parseFloat(a8['value']);break;case 0x14:a7['defPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['defPoint']['z']=parseFloat(a8[bI(0x183)]);break;case 0xb:a7['textMidpoint']['x']=parseFloat(a8['value']);break;case 0x15:a7['textMidpoint']['y']=parseFloat(a8['value']);break;case 0x1f:a7['textMidpoint']['z']=parseFloat(a8['value']);break;case 0xd:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['x']=parseFloat(a8[bI(0x183)]);break;case 0x17:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['y']=parseFloat(a8['value']);break;case 0x21:a7[bI(0x233)]||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['z']=parseFloat(a8['value']);break;case 0xe:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['x']=parseFloat(a8['value']);break;case 0x18:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['y']=parseFloat(a8['value']);break;case 0x22:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7[bI(0x1a1)]['z']=parseFloat(a8['value']);break;case 0xf:a7['defPoint4']||(a7[bI(0x22e)]={'x':0x0,'y':0x0,'z':0x0}),a7[bI(0x22e)]['x']=parseFloat(a8[bI(0x183)]);break;case 0x19:a7[bI(0x22e)]||(a7[bI(0x22e)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['y']=parseFloat(a8['value']);break;case 0x23:a7['defPoint4']||(a7['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['z']=parseFloat(a8[bI(0x183)]);break;case 0x10:a7['defPoint5']||(a7[bI(0x1f0)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['x']=parseFloat(a8['value']);break;case 0x1a:a7[bI(0x1f0)]||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7[bI(0x1f0)]['y']=parseFloat(a8['value']);break;case 0x24:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['z']=parseFloat(a8['value']);break;case 0x28:a7['leaderLength']=parseFloat(a8[bI(0x183)]);break;case 0x32:a7[bI(0x15a)]=parseFloat(a8['value']);break;case 0x35:a7['textRotation']=parseFloat(a8['value']);break;case 0x46:a7['dimType']=parseInt(a8['value'],0xa);break;}return a7;}function pe(a6){const bJ=aY;let a7=a3(a3({},A(a6)),{},{'type':'HATCH','patternName':'','solidFill':!0x0,'associative':!0x1,'hatchStyle':0x0,'patternType':0x1,'patternAngle':0x0,'patternScale':0x1,'boundaryPaths':[]}),a8=0x0;for(;a8<a6[bJ(0x1e8)];){let a9=a6[a8];switch(a9['code']){case 0x2:a7['patternName']=a9['value'];break;case 0x29:a7['patternScale']=parseFloat(a9['value']);break;case 0x34:a7['patternAngle']=parseFloat(a9['value']);break;case 0x46:a7['solidFill']=a9['value']==='1';break;case 0x47:a7[bJ(0x1f8)]=a9['value']==='1';break;case 0x4b:a7['hatchStyle']=parseInt(a9['value'],0xa);break;case 0x4c:a7['patternType']=parseInt(a9['value'],0xa);break;case 0x5b:{let aa=parseInt(a9[bJ(0x183)],0xa);a8++;for(let ab=0x0;ab<aa&&a8<a6['length'];ab++){let ac=me(a6,a8);a7[bJ(0x169)]['push'](ac['path']),a8=ac[bJ(0x12a)];}continue;}}a8++;}return a7;}function me(a6,a7){let a8=0x0;return a7<a6['length']&&a6[a7]['code']===0x5c&&(a8=parseInt(a6[a7]['value'],0xa),a7++),a8&0x2?he(a6,a7,a8):ge(a6,a7,a8);}function he(a6,a7,a8){const bK=aY;let a9={'type':'polyline','vertices':[],'bulges':[],'flags':a8},aa=!0x1;a7<a6['length']&&a6[a7]['code']===0x48&&(aa=a6[a7]['value']==='1',a7++),a7<a6['length']&&a6[a7][bK(0x10b)]===0x49&&(a9['isClosed']=a6[a7]['value']==='1',a7++);let ab=0x0;a7<a6[bK(0x1e8)]&&a6[a7]['code']===0x5d&&(ab=parseInt(a6[a7][bK(0x183)],0xa),a7++);for(let ac=0x0;ac<ab&&a7<a6['length'];ac++){let ad={'x':0x0,'y':0x0};a6[a7]['code']===0xa&&(ad['x']=parseFloat(a6[a7][bK(0x183)]),a7++),a7<a6['length']&&a6[a7][bK(0x10b)]===0x14&&(ad['y']=parseFloat(a6[a7][bK(0x183)]),a7++),a9['vertices']['push'](ad),aa&&a7<a6['length']&&a6[a7]['code']===0x2a?(a9['bulges']['push'](parseFloat(a6[a7][bK(0x183)])),a7++):aa&&a9[bK(0x10e)]['push'](0x0);}for(;a7<a6['length']&&(a6[a7]['code']===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let af=parseInt(a6[a7]['value'],0xa);a7++;for(let ag=0x0;ag<af&&a7<a6[bK(0x1e8)]&&a6[a7][bK(0x10b)]===0x14a;ag++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function ge(a6,a7,a8){const bL=aY;let a9={'type':'edges','edges':[],'flags':a8},aa=0x0;a7<a6['length']&&a6[a7]['code']===0x5d&&(aa=parseInt(a6[a7]['value'],0xa),a7++);for(let ab=0x0;ab<aa&&a7<a6[bL(0x1e8)]&&a6[a7]['code']===0x48;ab++){let ac=parseInt(a6[a7]['value'],0xa);switch(a7++,ac){case 0x1:{let ad={'type':'line','start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x0}};a7<a6['length']&&a6[a7][bL(0x10b)]===0xa&&(ad['start']['x']=parseFloat(a6[a7][bL(0x183)]),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['start']['y']=parseFloat(a6[a7][bL(0x183)]),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ad['end']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x15&&(ad['end']['y']=parseFloat(a6[a7]['value']),a7++),a9['edges']['push'](ad);break;}case 0x2:{let af={'type':'arc','center':{'x':0x0,'y':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168,'ccw':!0x0};a7<a6['length']&&a6[a7]['code']===0xa&&(af['center']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(af['center']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x28&&(af['radius']=parseFloat(a6[a7]['value']),a7++),a7<a6[bL(0x1e8)]&&a6[a7]['code']===0x32&&(af['startAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(af['endAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(af[bL(0x19d)]=a6[a7]['value']==='1',a7++),a9['edges']['push'](af);break;}case 0x3:{let ag={'type':'ellipse','center':{'x':0x0,'y':0x0},'majorAxis':{'x':0x1,'y':0x0},'minorRatio':0x1,'startAngle':0x0,'endAngle':Math['PI']*0x2,'ccw':!0x0};a7<a6['length']&&a6[a7]['code']===0xa&&(ag['center']['x']=parseFloat(a6[a7][bL(0x183)]),a7++),a7<a6[bL(0x1e8)]&&a6[a7]['code']===0x14&&(ag['center']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ag['majorAxis']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x15&&(ag['majorAxis']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x28&&(ag['minorRatio']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bL(0x10b)]===0x32&&(ag[bL(0x1eb)]=parseFloat(a6[a7][bL(0x183)]),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(ag['endAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&(ag['ccw']=a6[a7]['value']==='1',a7++),a9['edges']['push'](ag);break;}case 0x4:{let ah=0x3,ai=[],aj=[];a7<a6['length']&&a6[a7][bL(0x10b)]===0x5e&&(ah=parseInt(a6[a7]['value'],0xa),a7++),a7<a6['length']&&a6[a7][bL(0x10b)]===0x49&&a7++,a7<a6[bL(0x1e8)]&&a6[a7]['code']===0x4a&&a7++;let ak=0x0;a7<a6[bL(0x1e8)]&&a6[a7]['code']===0x5f&&(ak=parseInt(a6[a7]['value'],0xa),a7++);let al=0x0;a7<a6['length']&&a6[a7]['code']===0x60&&(al=parseInt(a6[a7]['value'],0xa),a7++);for(let am=0x0;am<ak&&a7<a6['length']&&a6[a7][bL(0x10b)]===0x28;am++)ai[bL(0x21b)](parseFloat(a6[a7]['value'])),a7++;for(let an=0x0;an<al&&a7<a6['length'];an++){let ao={'x':0x0,'y':0x0};a6[a7]['code']===0xa&&(ao['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ao['y']=parseFloat(a6[a7]['value']),a7++),aj['push'](ao);}a9['edges']['push']({'type':'spline','degree':ah,'knots':ai,'controlPoints':aj});break;}}}for(;a7<a6[bL(0x1e8)]&&(a6[a7][bL(0x10b)]===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let ap=parseInt(a6[a7]['value'],0xa);a7++;for(let aq=0x0;aq<ap&&a7<a6['length']&&a6[a7]['code']===0x14a;aq++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function _e(a6){const bM=aY;let a7=a3(a3({},A(a6)),{},{'type':bM(0x158),'position':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7['position']['x']=parseFloat(a8[bM(0x183)]);break;case 0x14:a7[bM(0x166)]['y']=parseFloat(a8['value']);break;case 0x1e:a7[bM(0x166)]['z']=parseFloat(a8['value']);break;}return a7;}function a0(){const dM=['max','toFixed','currentSnap','measureTool','vertices','\x22Times\x20New\x20Roman\x22,\x20serif','right','rgb(','children','entityBBoxes','layer','layerManager','fromCodePoint','abs','style','center','textDirection','LINE','measureColor','handleSelect','computeDocumentBounds','INSERT','splice','_chooseSplitAxis','remove','restore','touchstart','controlPoints','hypot','wheel','pointerId','dark','BLOCK','degree','insertionPoint','runConverters','tag','name','options','POINT','shift','rotation','SPLINE','state','BLOCKS','isArray','renderer','devicePixelRatio','pending','ELLIPSE','onDocumentLoaded','entitiesSkipped','translate','position','guardDestroyed','createObjectURL','boundaryPaths','showDocumentInfo','_allDistMargin','getZoomSpeed','lineWidth','blocks','frameTimestamps','knots','windows-1250','doRender','viewchange','leaf','drawCalls','nextId','scale','Layers:\x20','sin','STYLE','stroke','setTransform','trueColor','destroyed','moveTo','fill','sqrt','loadGeneration','value','619956iuOtsq','339400xXRvtV','styles','setLayerColor','point','toBBox','setPointerCapture','alignmentPoint','parseTime','inputHandler','nearest','View:\x20[','visibleCache','listeners','TABLES','radius','startTangent','handleMove','tree','LTYPE','items','dimStyle','maxX','defPoint','destroy','ccw','clear','minX','fillText','defPoint3','bgFill','resizeObserver','width','done','indexOf','majorAxis','workerManager','split','textAlign','getLayers','text','maxY','is3d','measure','lastDebugStats','ENDSEC','secondPoint','strokeStyle','touches','lineTo','now','basePoint','Standard','getBoundingClientRect','firstPoint','lastFrameTime','byType','from','startParam','type','getWidth','left','arrayBuffer','588986eJQiUE','$EXTMAX','getCursorForTool','blockName','viewer','spatialIndex','loadedFileName','replace','second-point','select','\x20MB','decode','layers','formatConverters','set','textBaseline','arc','delete','scaleY','bottom-right','idle','rgba(0,\x200,\x200,\x200.85)','#0066ff','height','handleTouchStart','setVisible','elevation','addEventListener','mouseScreenX','toLowerCase','isSeparator','start','startWidth','has','8MWohMQ','LWPOLYLINE','FPS:\x20','length','activate','3tOsLDa','startAngle','scaleX','rowCount','418omAnSj','debugEnabled','defPoint5','17528SQmpvh','Worker\x20error','138514hbEDnI','Input\x20ArrayBuffer\x20is\x20empty.','lastRenderStats','entityIndex','attribs','associative','pop','spatialIndexBuildTime','ensureMap','startDebugLoop','widthFactor','emit','setLayerVisible','extMin','size','reject','getHeight','log','#ff6600','changedTouches','11px\x20monospace','POLYLINE','pow','beginPath','buildDebugStats','sort','textOverride','Failed\x20to\x20tokenize\x20DXF\x20content.','setTheme','_chooseSplitIndex','slice','getAllLayers','emitter','offsetY','handlePan','button','destroyWorker','renderStats','blobUrl','build','push','closePath','render','ATTRIB','3283IxAHJn','camera','canvas','midpoint','worker','compareMinY','AC1021','closed','ceil','min','preventDefault','BYLAYER','doc','toString','mouseScreenY','defPoint4','message','viewportBounds','end','getTransform','defPoint2','drawingDirection','loadedFileSize','deactivate','endpoint','crosshair','data','LAYER','entities','onPointerUp','alphabetic','atan2','code','currentTool','obliqueAngle','bulges','endTangent','measureText','\x20/\x20','updateSize','ARC','lineSpacingFactor','onTouchMove','terminate','_splitRoot','DIMENSION','selectedEntityIndex','identifier','exp','minY','#555555','ENDTAB','MTEXT','110480UYfDNv','bulge','8046294vEQVip','endParam','CIRCLE','onContextMenu','getVisibleLayerNames','Size:\x20','minorRatio','minZoom','nextIndex','cos','rotate','fillStyle','requestRender','$DWGCODEPAGE','map'];a0=function(){return dM;};return a0();}function j(a6,a7,a8){const bN=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']!==0x0){a7++;continue;}let aa=a9['value'];if(aa==='ENDSEC'||aa==='ENDBLK')return a7+0x1;a7++;let ab=[];for(;a7<a6[bN(0x1e8)]&&a6[a7]['code']!==0x0;)ab['push'](a6[a7]),a7++;switch(aa){case'LINE':a8['push'](ne(ab));break;case bN(0x124):a8[bN(0x21b)](re(ab));break;case bN(0x113):a8['push'](ie(ab));break;case bN(0x1e6):a8['push'](ae(ab));break;case'ELLIPSE':a8[bN(0x21b)](se(ab));break;case bN(0x15b):a8['push'](ce(ab));break;case'TEXT':a8['push'](le(ab));break;case'MTEXT':a8['push'](ue(ab));break;case'INSERT':{let ac=de(ab);ab['some'](ad=>ad['code']===0x42&&ad['value']==='1')&&(a7=ye(a6,a7,ac[bN(0x1f7)])),a8['push'](ac);break;}case'DIMENSION':a8[bN(0x21b)](fe(ab));break;case'HATCH':a8['push'](pe(ab));break;case'POINT':a8['push'](_e(ab));break;case'POLYLINE':{let ad=oe(ab);a7=ve(a6,a7,ad['vertices']),a8['push'](ad);break;}}}return a7;}function ve(a6,a7,a8){const bO=aY;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9==='ENDSEC'||a9==='ENDBLK')return a7;if(a9==='VERTEX'){a7++;let aa={'x':0x0,'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab[bO(0x10b)]){case 0xa:aa['x']=parseFloat(ab['value']);break;case 0x14:aa['y']=parseFloat(ab['value']);break;case 0x2a:aa['bulge']=parseFloat(ab['value']);break;case 0x28:aa[bO(0x1e3)]=parseFloat(ab['value']);break;case 0x29:aa['endWidth']=parseFloat(ab['value']);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6['length']&&a6[a7][bO(0x10b)]!==0x0;)a7++;}}return a7;}function ye(a6,a7,a8){const bP=aY;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9===bP(0x1b1)||a9==='ENDBLK')return a7;if(a9===bP(0x21e)){a7++;let aa={'tag':'','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'style':'STANDARD','layer':'0','color':0x100};for(;a7<a6[bP(0x1e8)]&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x1:aa[bP(0x1ac)]=ab['value'];break;case 0x2:aa[bP(0x155)]=ab[bP(0x183)];break;case 0x7:aa['style']=ab['value'];break;case 0x8:aa['layer']=ab['value'];break;case 0xa:aa['insertionPoint']['x']=parseFloat(ab['value']);break;case 0x14:aa['insertionPoint']['y']=parseFloat(ab[bP(0x183)]);break;case 0x1e:aa['insertionPoint']['z']=parseFloat(ab['value']);break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x32:aa['rotation']=parseFloat(ab['value']);break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6[bP(0x1e8)]&&a6[a7][bP(0x10b)]!==0x0;)a7++;}}return a7;}function be(a6,a7,a8){const bQ=aY;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bQ(0x1b1))return a7+0x1;if(a9['code']===0x0&&a9['value']===bQ(0x151)){a7++;let aa={'name':'','basePoint':{'x':0x0,'y':0x0,'z':0x0},'entities':[],'flags':0x0};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa[bQ(0x156)]=ab['value'];break;case 0x8:break;case 0xa:aa['basePoint']['x']=parseFloat(ab[bQ(0x183)]);break;case 0x14:aa['basePoint']['y']=parseFloat(ab['value']);break;case 0x1e:aa['basePoint']['z']=parseFloat(ab['value']);break;case 0x46:aa['flags']=parseInt(ab['value'],0xa);break;}a7++;}a7=j(a6,a7,aa['entities']),aa['name']&&!aa['name']['startsWith']('*Model_Space')&&!aa['name']['startsWith']('*Paper_Space')&&a8['set'](aa['name'],aa);}else a7++;}return a7;}var M='AutoCAD\x20Binary\x20DXF',xe={'ANSI_874':'windows-874','ANSI_932':'shift_jis','ANSI_936':'gbk','ANSI_949':'euc-kr','ANSI_950':'big5','ANSI_1250':aY(0x171),'ANSI_1251':'windows-1251','ANSI_1252':'windows-1252','ANSI_1253':'windows-1253','ANSI_1254':'windows-1254','ANSI_1255':'windows-1255','ANSI_1256':'windows-1256','ANSI_1257':'windows-1257','ANSI_1258':'windows-1258'},Se=aY(0x225);function Ce(){return{'acadVersion':'','insUnits':0x0,'measurement':0x0,'ltScale':0x1};}function N(a6){const bR=aY;return a6[bR(0x1ca)](/\\U\+([0-9A-Fa-f]{4})/g,(a7,a8)=>String[bR(0x13d)](parseInt(a8,0x10)));}function we(a6){const bS=aY;var a7;if(typeof a6=='string')return N(a6);let a8=new Uint8Array(a6);if(new TextDecoder('ascii')['decode'](a8['slice'](0x0,M['length']))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let a9=new TextDecoder('utf-8')['decode'](a6),aa=a9['match'](/\$ACADVER[\s\S]*?\n\s*1\s*\n\s*(\S+)/),ab=(a7=aa==null?void 0x0:aa[0x1])==null?'':a7;if(ab&&ab<Se){var ac,ad;let af=a9['match'](/\$DWGCODEPAGE[\s\S]*?\n\s*3\s*\n\s*(\S+)/),ag=(ad=xe[(ac=af==null?void 0x0:af[0x1])==null?'':ac])==null?'windows-1252':ad;ag!=='utf-8'&&(a9=new TextDecoder(ag)[bS(0x1ce)](a6));}return N(a9);}function Te(a6,a7){for(;a7<a6['length'];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDSEC')return a7+0x1;a7++;}return a7;}function Ee(a6){const bT=aY;a6[bT(0x1cf)]['has']('0')||a6['layers']['set']('0',{'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1});}function De(a6){for(let [,a7]of a6['layers'])a7['isOff']=a7['color']<0x0,a7['isOff']&&(a7['color']=Math['abs'](a7['color'])),a7['isFrozen']=(a7['flags']&0x1)!=0x0,a7['isLocked']=(a7['flags']&0x4)!=0x0;}var P=class extends Error{constructor(a6,a7){super(a6),this['cause']=a7,this['name']='DxfParseError';}};function F(a6){const bU=aY;if(typeof a6=='string'){if(a6['length']===0x0)throw new P('Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.');}else{if(a6 instanceof ArrayBuffer){if(a6['byteLength']===0x0)throw new P(bU(0x1f4));}else throw new P('Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.');}let a7;try{a7=we(a6);}catch(aa){throw aa instanceof P?aa:new P('Failed\x20to\x20decode\x20DXF\x20input.',aa);}let a8;try{a8=w(a7);}catch(ab){throw new P(bU(0x20e),ab);}if(a8['length']===0x0)throw new P('DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.');let a9={'header':Ce(),'layers':new Map(),'lineTypes':new Map(),'styles':new Map(),'blocks':new Map(),'entities':[]};try{let ac=0x0;for(;ac<a8['length'];){let ad=a8[ac];if(ad['code']===0x0&&ad['value']==='SECTION'){if(ac++,ac>=a8[bU(0x1e8)])break;let af=a8[ac]['value'];switch(ac++,af){case'HEADER':ac=T(a8,ac,a9['header']);break;case bU(0x192):ac=D(a8,ac,a9);break;case bU(0x15d):ac=be(a8,ac,a9[bU(0x16e)]);break;case'ENTITIES':ac=j(a8,ac,a9['entities']);break;default:ac=Te(a8,ac);break;}}else{if(ad['code']===0x0&&ad['value']==='EOF')break;else ac++;}}}catch(ag){throw new P('Failed\x20to\x20parse\x20DXF\x20sections.',ag);}return Ee(a9),De(a9),a9;}var Oe='#000000.#FF0000.#FFFF00.#00FF00.#00FFFF.#0000FF.#FF00FF.#FFFFFF.#808080.#C0C0C0.#FF0000.#FF7F7F.#A50000.#A55252.#7F0000.#7F3F3F.#4C0000.#4C2626.#260000.#261313.#FF3F00.#FF9F7F.#A52900.#A56752.#7F1F00.#7F4F3F.#4C1300.#4C2F26.#260900.#261713.#FF7F00.#FFBF7F.#A55200.#A57C52.#7F3F00.#7F5F3F.#4C2600.#4C3926.#261300.#261C13.#FFBF00.#FFDF7F.#A57C00.#A59152.#7F5F00.#7F6F3F.#4C3900.#4C4226.#261C00.#262113.#FFFF00.#FFFF7F.#A5A500.#A5A552.#7F7F00.#7F7F3F.#4C4C00.#4C4C26.#262600.#262613.#BFFF00.#DFFF7F.#7CA500.#91A552.#5F7F00.#6F7F3F.#394C00.#424C26.#1C2600.#212613.#7FFF00.#BFFF7F.#52A500.#7CA552.#3F7F00.#5F7F3F.#264C00.#394C26.#132600.#1C2613.#3FFF00.#9FFF7F.#29A500.#67A552.#1F7F00.#4F7F3F.#134C00.#2F4C26.#092600.#172613.#00FF00.#7FFF7F.#00A500.#52A552.#007F00.#3F7F3F.#004C00.#264C26.#002600.#132613.#00FF3F.#7FFF9F.#00A529.#52A567.#007F1F.#3F7F4F.#004C13.#264C2F.#002609.#132617.#00FF7F.#7FFFBF.#00A552.#52A57C.#007F3F.#3F7F5F.#004C26.#264C39.#002613.#13261C.#00FFBF.#7FFFDF.#00A57C.#52A591.#007F5F.#3F7F6F.#004C39.#264C42.#00261C.#132621.#00FFFF.#7FFFFF.#00A5A5.#52A5A5.#007F7F.#3F7F7F.#004C4C.#264C4C.#002626.#132626.#00BFFF.#7FDFFF.#007CA5.#5291A5.#005F7F.#3F6F7F.#00394C.#26424C.#001C26.#132126.#007FFF.#7FBFFF.#0052A5.#527CA5.#003F7F.#3F5F7F.#00264C.#26394C.#001326.#131C26.#003FFF.#7F9FFF.#0029A5.#5267A5.#001F7F.#3F4F7F.#00134C.#262F4C.#000926.#131726.#0000FF.#7F7FFF.#0000A5.#5252A5.#00007F.#3F3F7F.#00004C.#26264C.#000026.#131326.#3F00FF.#9F7FFF.#2900A5.#6752A5.#1F007F.#4F3F7F.#13004C.#2F264C.#090026.#171326.#7F00FF.#BF7FFF.#5200A5.#7C52A5.#3F007F.#5F3F7F.#26004C.#39264C.#130026.#1C1326.#BF00FF.#DF7FFF.#7C00A5.#9152A5.#5F007F.#6F3F7F.#39004C.#42264C.#1C0026.#211326.#FF00FF.#FF7FFF.#A500A5.#A552A5.#7F007F.#7F3F7F.#4C004C.#4C264C.#260026.#261326.#FF00BF.#FF7FDF.#A5007C.#A55291.#7F005F.#7F3F6F.#4C0039.#4C2642.#26001C.#261321.#FF007F.#FF7FBF.#A50052.#A5527C.#7F003F.#7F3F5F.#4C0026.#4C2639.#260013.#26131C.#FF003F.#FF7F9F.#A50029.#A55267.#7F001F.#7F3F4F.#4C0013.#4C262F.#260009.#261317.#333333.#505050.#696969.#828282.#BEBEBE.#FFFFFF'[aY(0x1a9)]('.');function ke(a6){if(!(a6===0x0||a6===0x100)&&!(a6<0x0||a6>0xff))return Oe[a6];}function Ae(a6,a7){var a8;return a6===0x7||(a8=Oe[Math['abs'](a6)])==null?a7?'#FFFFFF':'#000000':a8;}function je(a6){const bV=aY;let a7=a6>>0x10&0xff,a8=a6>>0x8&0xff,a9=a6&0xff;return'#'+a7['toString'](0x10)['padStart'](0x2,'0')+a8[bV(0x22c)](0x10)['padStart'](0x2,'0')+a9['toString'](0x10)['padStart'](0x2,'0');}var I={'dark':{'backgroundColor':'#1a1a2e','defaultEntityColor':'#ffffff','selectionColor':'#00ff88','measureColor':'#ffaa00','gridColor':'#333333','crosshairColor':aY(0x11d)},'light':{'backgroundColor':'#ffffff','defaultEntityColor':'#000000','selectionColor':aY(0x1d9),'measureColor':aY(0x205),'gridColor':'#dddddd','crosshairColor':'#cccccc'}};function L(a6,a7,a8){const bW=aY;return[a7*a6[bW(0x177)]+a6['offsetX'],-a8*a6['scale']+a6[bW(0x214)]];}function R(a6,a7,a8){return[(a7-a6['offsetX'])/a6['scale'],-(a8-a6['offsetY'])/a6['scale']];}function z(a6,a7){const bX=aY;let a8=window['devicePixelRatio']||0x1;a6[bX(0x17c)](a7['scale']*a8,0x0,0x0,-a7['scale']*a8,a7['offsetX']*a8,a7[bX(0x214)]*a8);}function B(a6,a7,a8,a9,aa,ab,ac=0.05){let ad=aa-a8,af=ab-a9;if(ad<=0x0||af<=0x0)return{'scale':0x1,'offsetX':a6/0x2,'offsetY':a7/0x2};let ag=a6/ad,ah=a7/af,ai=Math['min'](ag,ah)*(0x1-ac*0x2),aj=(a8+aa)/0x2,ak=(a9+ab)/0x2;return{'scale':ai,'offsetX':a6/0x2-aj*ai,'offsetY':a7/0x2+ak*ai};}function Me(a6,a7,a8,a9,aa=0.0001,ab=0x186a0){let ac=Math['max'](aa,Math['min'](ab,a6['scale']*a9)),ad=ac/a6['scale'];return{'scale':ac,'offsetX':a7-(a7-a6['offsetX'])*ad,'offsetY':a8-(a8-a6['offsetY'])*ad};}var Ne=class{constructor(a6){t(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),t(this,'minScale',void 0x0),t(this,'maxScale',void 0x0),this['minScale']=a6['minZoom'],this['maxScale']=a6['maxZoom'];}['getTransform'](){return this['transform'];}['setTransform'](a6){this['transform']=a6;}['pan'](a6,a7){const bY=aY;this['transform']=a3(a3({},this['transform']),{},{'offsetX':this['transform']['offsetX']+a6,'offsetY':this['transform'][bY(0x214)]+a7});}['zoom'](a6,a7,a8){this['transform']=Me(this['transform'],a6,a7,a8,this['minScale'],this['maxScale']);}};function Pe(a6,a7){var a8;return a6===0x7?a7==='dark'?'#ffffff':'#000000':(a8=ke(a6))==null?'#ffffff':a8;}function V(a6,a7,a8,a9){const bZ=aY;if(a6['trueColor']!==void 0x0)return bZ(0x138)+(a6['trueColor']>>0x10&0xff)+','+(a6['trueColor']>>0x8&0xff)+','+(a6['trueColor']&0xff)+')';if(a6['color']===0x0)return a9==null?I[a8]['defaultEntityColor']:a9;if(a6['color']!==0x100)return Pe(a6['color'],a8);let aa=a7['get'](a6['layer']);return aa?aa['trueColor']===void 0x0?Pe(Math['abs'](aa['color']),a8):'rgb('+(aa[bZ(0x17d)]>>0x10&0xff)+','+(aa['trueColor']>>0x8&0xff)+','+(aa['trueColor']&0xff)+')':I[a8]['defaultEntityColor'];}function Fe(a6,a7){const c0=aY;a6[c0(0x20a)](),a6[c0(0x17f)](a7[c0(0x1e2)]['x'],a7['start']['y']),a6['lineTo'](a7['end']['x'],a7['end']['y']),a6['stroke']();}function Ie(a6,a7){const c1=aY;a7['radius']<=0x0||(a6['beginPath'](),a6['arc'](a7['center']['x'],a7[c1(0x140)]['y'],a7['radius'],0x0,Math['PI']*0x2),a6['stroke']());}function Le(a6,a7){const c2=aY;if(a7['radius']<=0x0)return;let a8=a7[c2(0x1eb)]*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['beginPath'](),a6[c2(0x1d3)](a7['center']['x'],a7['center']['y'],a7['radius'],a8,a9,!0x1),a6['stroke']();}function Re(a6,a7,a8,a9,aa){const c3=aY;let ab=a8-a6,ac=a9-a7,ad=Math[c3(0x181)](ab*ab+ac*ac);if(ad<1e-10)return{'cx':a6,'cy':a7,'radius':0x0,'startAngle':0x0,'endAngle':0x0,'anticlockwise':!0x1};let af=Math['abs'](aa)*ad/0x2,ag=(Math['pow'](ad/0x2,0x2)+Math[c3(0x209)](af,0x2))/(0x2*af),ah=(a6+a8)/0x2,ai=(a7+a9)/0x2,aj=-ac/ad,ak=ab/ad,al=ag-af,am=aa>0x0?0x1:-0x1,an=ah+am*al*aj,ao=ai+am*al*ak;return{'cx':an,'cy':ao,'radius':ag,'startAngle':Math['atan2'](a7-ao,a6-an),'endAngle':Math[c3(0x10a)](a9-ao,a8-an),'anticlockwise':aa<0x0};}function H(a6,a7,a8,a9,aa,ab){const c4=aY;let ac=Re(a7,a8,a9,aa,ab);if(ac['radius']<1e-10){a6['lineTo'](a9,aa);return;}a6[c4(0x1d3)](ac['cx'],ac['cy'],ac[c4(0x193)],ac['startAngle'],ac['endAngle'],ac['anticlockwise']);}function ze(a6,a7){const c5=aY;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['beginPath'](),a6[c5(0x17f)](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8[c5(0x1e8)]];Math['abs'](ab['bulge'])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}a6['stroke']();}function Be(a6,a7){const c6=aY;let a8=a7['vertices'];if(a8['length']<0x2)return;a6[c6(0x20a)](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8['length']],af=(aa=ac['bulge'])==null?0x0:aa;Math[c6(0x13e)](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}a6['stroke']();}function Ve(a6,a7){const c7=aY;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math[c7(0x209)](a7[c7(0x1a7)]['y'],0x2)+Math['pow'](a7['majorAxis']['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7[c7(0x128)],aa=Math['atan2'](a7['majorAxis']['y'],a7['majorAxis']['x']);a6['beginPath'](),a6['ellipse'](a7['center']['x'],a7[c7(0x140)]['y'],a8,a9,aa,a7['startParam'],a7[c7(0x123)],!0x1),a6['stroke']();}function He(a6,a7,a8,a9,aa){const c8=aY;var ab;let ac=a7['length']-0x1,ad=a6;for(;ad<ac&&a8[ad+0x1]<=a9;)ad++;let af=[],ag=[];for(let ah=0x0;ah<=a6;ah++){let ai=ad-a6+ah;af['push'](a3({},a7[ai])),ag[c8(0x21b)](aa?aa[ai]:0x1);}for(let aj=0x1;aj<=a6;aj++)for(let ak=a6;ak>=aj;ak--){let al=ad-a6+ak,am=a8[al+a6-aj+0x1]-a8[al];if(Math['abs'](am)<1e-10)continue;let an=(a9-a8[al])/am,ao=af[ak],ap=af[ak-0x1];if(aa){let aq=ag[ak-0x1]*(0x1-an),ar=ag[ak]*an,as=aq+ar;if(Math[c8(0x13e)](as)<1e-10)continue;ao['x']=(ap['x']*aq+ao['x']*ar)/as,ao['y']=(ap['y']*aq+ao['y']*ar)/as,ao['z']=(ap['z']*aq+ao['z']*ar)/as,ag[ak]=as;}else ao['x']=(0x1-an)*ap['x']+an*ao['x'],ao['y']=(0x1-an)*ap['y']+an*ao['y'],ao['z']=(0x1-an)*ap['z']+an*ao['z'];}return(ab=af[a6])==null?{'x':0x0,'y':0x0,'z':0x0}:ab;}function Ue(a6){if(a6['length']<0x2)return a6['map'](a9=>({'x':a9['x'],'y':a9['y']}));let a7=[],a8=a6['length'];for(let a9=0x0;a9<a8-0x1;a9++){let aa=a6[Math['max'](0x0,a9-0x1)],ab=a6[a9],ac=a6[Math['min'](a8-0x1,a9+0x1)],ad=a6[Math['min'](a8-0x1,a9+0x2)];for(let af=0x0;af<=(a9===a8-0x2?0xa:0x9);af++){let ag=af/0xa,ah=ag*ag,ai=ah*ag,aj=0.5*(0x2*ab['x']+(-aa['x']+ac['x'])*ag+(0x2*aa['x']-0x5*ab['x']+0x4*ac['x']-ad['x'])*ah+(-aa['x']+0x3*ab['x']-0x3*ac['x']+ad['x'])*ai),ak=0.5*(0x2*ab['y']+(-aa['y']+ac['y'])*ag+(0x2*aa['y']-0x5*ab['y']+0x4*ac['y']-ad['y'])*ah+(-aa['y']+0x3*ab['y']-0x3*ac['y']+ad['y'])*ai);a7['push']({'x':aj,'y':ak});}}return a7;}function We(a6,a7){const c9=aY;if(a6['degree']===0x1)return a6[c9(0x14c)][c9(0x130)](af=>({'x':af['x'],'y':af['y']}));if(a6[c9(0x14c)]['length']===0x0&&a6['fitPoints']['length']>=0x2)return Ue(a6['fitPoints']);if(a6['controlPoints']['length']<a6['degree']+0x1||a6['knots']['length']<a6['controlPoints']['length']+a6[c9(0x152)]+0x1)return[];let a8=[],a9=a6[c9(0x170)][a6['degree']],aa=a6['knots'][a6[c9(0x170)]['length']-a6['degree']-0x1];if(aa<=a9)return[];let ab=Math[c9(0x131)](a6['controlPoints']['length']*0xa,Math['ceil']((aa-a9)/a7)),ac=Math['min'](ab,0x1388),ad=a6['weights']['length']>0x0?a6['weights']:void 0x0;for(let af=0x0;af<=ac;af++){let ag=a9+(aa-a9)*(af/ac),ah=He(a6['degree'],a6['controlPoints'],a6['knots'],ag,ad);a8['push']({'x':ah['x'],'y':ah['y']});}return a8;}function Ge(a6,a7,a8){const ca=aY;let a9=We(a7,a8);if(!(a9[ca(0x1e8)]<0x2)){a6['beginPath'](),a6['moveTo'](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9[ca(0x1e8)];aa++)a6['lineTo'](a9[aa]['x'],a9[aa]['y']);a7['flags']&0x1&&a6['closePath'](),a6['stroke']();}}var Ke={'standard':'Arial,\x20sans-serif','arial':'Arial,\x20sans-serif','arial.ttf':'Arial,\x20sans-serif','romans.shx':'\x22Courier\x20New\x22,\x20monospace','simplex.shx':'\x22Courier\x20New\x22,\x20monospace','txt.shx':'monospace','monotxt.shx':'monospace','isocp.shx':'\x22Courier\x20New\x22,\x20monospace','isocpeur.shx':'\x22Courier\x20New\x22,\x20monospace','times.ttf':aY(0x136),'timesnr.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','gothic.ttf':'\x22Century\x20Gothic\x22,\x20sans-serif'};function qe(a6){const cb=aY;return Ke[a6[cb(0x1e0)]()['trim']()]||'sans-serif';}function Je(a6,a7,a8){const cc=aY;if(!a7['text']||a7[cc(0x1da)]<a8*0x4)return;let a9=a7['hAlign']!==0x0||a7['vAlign']!==0x0,aa=a9&&a7['alignmentPoint']?a7['alignmentPoint']['x']:a7['insertionPoint']['x'],ab=a9&&a7['alignmentPoint']?a7['alignmentPoint']['y']:a7['insertionPoint']['y'];if(a6['save'](),a6['translate'](aa,ab),a6['scale'](0x1,-0x1),a7['rotation']&&a6[cc(0x12c)](-a7['rotation']*Math['PI']/0xb4),a7[cc(0x1fd)]!==0x1&&a6['scale'](a7['widthFactor'],0x1),a7['obliqueAngle']){let ag=Math['tan'](a7[cc(0x10d)]*Math['PI']/0xb4);a6['transform'](0x1,0x0,ag,0x1,0x0,0x0);}let ac=(a7['generationFlags']&0x2)!=0x0,ad=(a7['generationFlags']&0x4)!=0x0;ac&&a6['scale'](-0x1,0x1),ad&&a6[cc(0x177)](0x1,-0x1);let af=qe(a7['style']||cc(0x1b8));switch(a6['font']=a7['height']+'px\x20'+af,a7['hAlign']){case 0x0:a6['textAlign']='left';break;case 0x1:a6[cc(0x1aa)]='center';break;case 0x2:a6['textAlign']=cc(0x137);break;case 0x3:a6['textAlign']='left';break;case 0x4:a6['textAlign']=cc(0x140);break;case 0x5:a6['textAlign']=cc(0x1c1);break;default:a6['textAlign']=cc(0x1c1);}switch(a7['vAlign']){case 0x0:a6['textBaseline']=cc(0x109);break;case 0x1:a6['textBaseline']='bottom';break;case 0x2:a6[cc(0x1d2)]='middle';break;case 0x3:a6['textBaseline']='top';break;default:a6['textBaseline']='alphabetic';}a6['fillText'](a7['text'],0x0,0x0),a6['restore']();}function Ye(a6){const cd=aY;return a6[cd(0x1ca)](/\\P/g,'\x0a')['replace'](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')['replace'](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')['replace'](/\{/g,'')[cd(0x1ca)](/\}/g,'')['replace'](/\\S[^;]*;/g,'')['trim']();}function Xe(a6,a7,a8){const cf=aY;var a9;if(!a7['text']||a7['height']<a8*0x4)return;a6['save'](),a6['translate'](a7['insertionPoint']['x'],a7[cf(0x153)]['y']),a6['scale'](0x1,-0x1);let aa=a7['textDirection']?Math['atan2'](a7['textDirection']['y'],a7[cf(0x141)]['x']):(a7['rotation']||0x0)*Math['PI']/0xb4;aa&&a6[cf(0x12c)](-aa);let ab=Ye(a7['text'])['split']('\x0a'),ac=a7['height']*(a7[cf(0x114)]||1.4),ad=qe(a7['style']||cf(0x1b8));a6['font']=a7['height']+'px\x20'+ad;let af=(a7['attachmentPoint']-0x1)%0x3,ag=Math['floor']((a7['attachmentPoint']-0x1)/0x3);a6['textAlign']=(a9=['left','center','right'][af])==null?'left':a9;let ah=0x0,ai=ab['length']*ac;switch(ag){case 0x0:ah=a7['height'];break;case 0x1:ah=a7[cf(0x1da)]-ai/0x2;break;case 0x2:ah=a7['height']-ai;break;}for(let aj=0x0;aj<ab['length'];aj++)a6[cf(0x1a0)](ab[aj],0x0,ah+aj*ac);a6[cf(0x14a)]();}var Ze=0x64;function Qe(a6,a7,a8,a9=0x0){const cg=aY;if(a9>Ze)return null;if(a8['has'](a6))return a8['get'](a6);let aa=a7[cg(0x16e)]['get'](a6);if(!aa)return a8['set'](a6,null),null;a8['set'](a6,null);let ab=Infinity,ac=Infinity,ad=-Infinity,af=-Infinity,ag=!0x1;for(let ai of aa['entities']){let aj;aj=ai['type']===cg(0x146)?U(ai,a7,a8,a9+0x1):G(ai),aj&&(ag=!0x0,ab=Math['min'](ab,aj[cg(0x19f)]),ac=Math[cg(0x228)](ac,aj['minY']),ad=Math['max'](ad,aj['maxX']),af=Math['max'](af,aj['maxY']));}let ah=ag?{'minX':ab,'minY':ac,'maxX':ad,'maxY':af}:null;return a8['set'](a6,ah),ah;}function U(a6,a7,a8,a9=0x0){const ch=aY;let aa=Qe(a6['blockName'],a7,a8,a9);if(!aa)return null;let ab=a7['blocks']['get'](a6[ch(0x1c6)]);if(!ab)return null;let ac=ab['basePoint']['x'],ad=ab['basePoint']['y'],af=aa[ch(0x19f)]-ac,ag=aa['minY']-ad,ah=aa['maxX']-ac,ai=aa['maxY']-ad,aj=a6['scaleX'],ak=a6['scaleY'],al=af*aj,am=ah*aj,an=ag*ak,ao=ai*ak;if(al>am){let aC=al;al=am,am=aC;}if(an>ao){let aD=an;an=ao,ao=aD;}let ap=(a6['rotation']||0x0)*Math['PI']/0xb4;if(Math['abs'](ap)<1e-10){let aE=a6['insertionPoint']['x'],aF=a6['insertionPoint']['y'],aG=al+aE,aH=an+aF,aI=am+aE,aJ=ao+aF,aK=Math['max'](0x1,a6['columnCount']),aL=Math['max'](0x1,a6[ch(0x1ed)]);if(aK>0x1||aL>0x1){let aM=(aK-0x1)*a6['columnSpacing'],aN=(aL-0x1)*a6['rowSpacing'];aG=Math['min'](aG,aG+aM),aI=Math['max'](aI,aI+aM),aH=Math['min'](aH,aH+aN),aJ=Math[ch(0x131)](aJ,aJ+aN);}return{'minX':aG,'minY':aH,'maxX':aI,'maxY':aJ};}let aq=Math['cos'](ap),ar=Math['sin'](ap),as=[{'x':al,'y':an},{'x':am,'y':an},{'x':am,'y':ao},{'x':al,'y':ao}],au=a6['insertionPoint']['x'],av=a6['insertionPoint']['y'],aw=Infinity,ax=Infinity,ay=-Infinity,az=-Infinity;for(let aO of as){let aP=aO['x']*aq-aO['y']*ar+au,aQ=aO['x']*ar+aO['y']*aq+av;aw=Math['min'](aw,aP),ax=Math['min'](ax,aQ),ay=Math['max'](ay,aP),az=Math[ch(0x131)](az,aQ);}let aA=Math['max'](0x1,a6['columnCount']),aB=Math['max'](0x1,a6['rowCount']);if(aA>0x1||aB>0x1){let aR=(aA-0x1)*a6['columnSpacing'],aS=(aB-0x1)*a6['rowSpacing'],aT=[{'x':0x0,'y':0x0},{'x':aR,'y':0x0},{'x':aR,'y':aS},{'x':0x0,'y':aS}];for(let aU of aT){let aV=aU['x']*aq-aU['y']*ar,aW=aU['x']*ar+aU['y']*aq;aw=Math['min'](aw,aw+aV),ax=Math[ch(0x228)](ax,ax+aW),ay=Math['max'](ay,ay+aV),az=Math['max'](az,az+aW);}}return{'minX':aw,'minY':ax,'maxX':ay,'maxY':az};}function $e(a6,a7){const ci=aY;let a8=Infinity,a9=Infinity,aa=-Infinity,ab=-Infinity,ac=!0x1,ad=a7?new Map():void 0x0;for(let af of a6){let ag=a7&&ad?et(af,a7,ad):G(af);ag&&(ac=!0x0,a8=Math['min'](a8,ag[ci(0x19f)]),a9=Math['min'](a9,ag['minY']),aa=Math['max'](aa,ag['maxX']),ab=Math['max'](ab,ag['maxY']));}return ac?{'minX':a8,'minY':a9,'maxX':aa,'maxY':ab}:null;}function et(a6,a7,a8){return a6['type']==='INSERT'?U(a6,a7,a8):G(a6);}var W=null;function tt(a6){const cj=aY;let a7=new Map();for(let [a8,a9]of a6['blocks']){let aa=Array(a9['entities']['length']);for(let ab=0x0;ab<a9['entities']['length'];ab++)aa[ab]=G(a9[cj(0x107)][ab]);a7['set'](a8,aa);}return a7;}function nt(a6){W=a6;}function rt(){W=null;}function it(a6,a7){if(!W)return;let a8=W['get'](a6);if(!(!a8||a7>=a8['length']))return a8[a7];}function G(a6){const ck=aY;switch(a6['type']){case'LINE':return{'minX':Math['min'](a6[ck(0x1e2)]['x'],a6['end']['x']),'minY':Math['min'](a6['start']['y'],a6[ck(0x231)]['y']),'maxX':Math['max'](a6['start']['x'],a6['end']['x']),'maxY':Math['max'](a6['start']['y'],a6['end']['y'])};case'CIRCLE':return{'minX':a6[ck(0x140)]['x']-a6['radius'],'minY':a6[ck(0x140)]['y']-a6[ck(0x193)],'maxX':a6['center']['x']+a6['radius'],'maxY':a6['center']['y']+a6['radius']};case'ARC':return{'minX':a6['center']['x']-a6[ck(0x193)],'minY':a6['center']['y']-a6[ck(0x193)],'maxX':a6['center']['x']+a6[ck(0x193)],'maxY':a6['center']['y']+a6['radius']};case'LWPOLYLINE':case'POLYLINE':{if(a6['vertices']['length']===0x0)return null;let ao=Infinity,ap=Infinity,aq=-Infinity,ar=-Infinity;for(let as of a6[ck(0x135)])ao=Math['min'](ao,as['x']),ap=Math['min'](ap,as['y']),aq=Math['max'](aq,as['x']),ar=Math['max'](ar,as['y']);return{'minX':ao,'minY':ap,'maxX':aq,'maxY':ar};}case ck(0x162):{let au=Math[ck(0x181)](Math['pow'](a6['majorAxis']['x'],0x2)+Math[ck(0x209)](a6['majorAxis']['y'],0x2));return{'minX':a6[ck(0x140)]['x']-au,'minY':a6['center']['y']-au,'maxX':a6['center']['x']+au,'maxY':a6['center']['y']+au};}case'TEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x']+a6['height']*a6['text']['length']*0.6,'maxY':a6[ck(0x153)]['y']+a6['height']};case'MTEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y']-a6['height'],'maxX':a6['insertionPoint']['x']+(a6['width']||a6['height']*0xa),'maxY':a6['insertionPoint']['y']+a6['height']};case'SPLINE':{if(a6['controlPoints']['length']===0x0)return null;let av=Infinity,aw=Infinity,ax=-Infinity,ay=-Infinity;for(let az of a6['controlPoints'])av=Math['min'](av,az['x']),aw=Math['min'](aw,az['y']),ax=Math[ck(0x131)](ax,az['x']),ay=Math['max'](ay,az['y']);return{'minX':av,'minY':aw,'maxX':ax,'maxY':ay};}case'POINT':return{'minX':a6['position']['x'],'minY':a6['position']['y'],'maxX':a6[ck(0x166)]['x'],'maxY':a6[ck(0x166)]['y']};case'INSERT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x'],'maxY':a6[ck(0x153)]['y']};case ck(0x118):if(a6['defPoint']){var a7,a8,a9,aa,ab,ac,ad,af,ag,ah,ai,aj,ak,al,am,an;return{'minX':Math[ck(0x228)](a6['defPoint']['x'],(a7=(a8=a6[ck(0x233)])==null?void 0x0:a8['x'])==null?a6['defPoint']['x']:a7,(a9=(aa=a6[ck(0x1a1)])==null?void 0x0:aa['x'])==null?a6['defPoint']['x']:a9),'minY':Math['min'](a6['defPoint']['y'],(ab=(ac=a6['defPoint2'])==null?void 0x0:ac['y'])==null?a6['defPoint']['y']:ab,(ad=(af=a6['defPoint3'])==null?void 0x0:af['y'])==null?a6[ck(0x19b)]['y']:ad),'maxX':Math['max'](a6['defPoint']['x'],(ag=(ah=a6[ck(0x233)])==null?void 0x0:ah['x'])==null?a6['defPoint']['x']:ag,(ai=(aj=a6['defPoint3'])==null?void 0x0:aj['x'])==null?a6[ck(0x19b)]['x']:ai),'maxY':Math['max'](a6['defPoint']['y'],(ak=(al=a6['defPoint2'])==null?void 0x0:al['y'])==null?a6['defPoint']['y']:ak,(am=(an=a6[ck(0x1a1)])==null?void 0x0:an['y'])==null?a6[ck(0x19b)]['y']:am)};}return null;case'HATCH':{let aA=Infinity,aB=Infinity,aC=-Infinity,aD=-Infinity,aE=!0x1;for(let aF of a6[ck(0x169)])if(aF['vertices']){for(let aG of aF['vertices'])aE=!0x0,aA=Math['min'](aA,aG['x']),aB=Math['min'](aB,aG['y']),aC=Math['max'](aC,aG['x']),aD=Math['max'](aD,aG['y']);}return aE?{'minX':aA,'minY':aB,'maxX':aC,'maxY':aD}:null;}default:return null;}}var at=new Set(['LINE','ARC','CIRCLE','LWPOLYLINE',aY(0x208),'ELLIPSE','SPLINE']);function ot(a6){return at['has'](a6);}function st(a6,a7){const cl=aY;a6['moveTo'](a7[cl(0x1e2)]['x'],a7['start']['y']),a6['lineTo'](a7['end']['x'],a7['end']['y']);}function ct(a6,a7){const cm=aY;if(a7['radius']<=0x0)return;let a8=a7['startAngle']*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['moveTo'](a7['center']['x']+a7['radius']*Math['cos'](a8),a7['center']['y']+a7['radius']*Math[cm(0x179)](a8)),a6['arc'](a7['center']['x'],a7['center']['y'],a7[cm(0x193)],a8,a9,!0x1);}function lt(a6,a7){const cn=aY;a7[cn(0x193)]<=0x0||(a6['moveTo'](a7['center']['x']+a7['radius'],a7['center']['y']),a6[cn(0x1d3)](a7['center']['x'],a7['center']['y'],a7['radius'],0x0,Math['PI']*0x2));}function ut(a6,a7){const co=aY;let a8=a7[co(0x135)];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math[co(0x13e)](ab['bulge'])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab[co(0x121)]);}}function dt(a6,a7){const cp=aY;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8[cp(0x1e8)]:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8[cp(0x1e8)]],af=(aa=ac['bulge'])==null?0x0:aa;Math[cp(0x13e)](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}}function ft(a6,a7){const cq=aY;let a8=Math[cq(0x181)](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7['majorAxis']['y'],0x2)+Math['pow'](a7['majorAxis']['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7['minorRatio'],aa=Math[cq(0x10a)](a7[cq(0x1a7)]['y'],a7['majorAxis']['x']),ab=Math['cos'](aa),ac=Math['sin'](aa),ad=Math['cos'](a7['startParam']),af=Math['sin'](a7[cq(0x1be)]);a6['moveTo'](a7['center']['x']+a8*ab*ad-a9*ac*af,a7['center']['y']+a8*ac*ad+a9*ab*af),a6['ellipse'](a7['center']['x'],a7['center']['y'],a8,a9,aa,a7['startParam'],a7['endParam'],!0x1);}function pt(a6,a7,a8){const cr=aY;let a9=We(a7,a8);if(!(a9['length']<0x2)){a6['moveTo'](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6[cr(0x1b5)](a9[aa]['x'],a9[aa]['y']);a7['flags']&0x1&&a6['closePath']();}}function mt(a6,a7,a8){switch(a7['type']){case'LINE':st(a6,a7);break;case'ARC':ct(a6,a7);break;case'CIRCLE':lt(a6,a7);break;case'LWPOLYLINE':ut(a6,a7);break;case'POLYLINE':dt(a6,a7);break;case'ELLIPSE':ft(a6,a7);break;case'SPLINE':pt(a6,a7,a8);break;}}var ht=0x64,gt=0.5;function _t(a6,a7,a8,a9,aa,ab,ac=0x0,ad){const cs=aY;if(ac>ht)return;let af=a8[cs(0x16e)]['get'](a7[cs(0x1c6)]);if(!af)return;let ag=Math['max'](0x1,a7['columnCount']),ah=Math['max'](0x1,a7['rowCount']);for(let aj=0x0;aj<ah;aj++)for(let ak=0x0;ak<ag;ak++){a6['save']();let al=a7['insertionPoint']['x']+ak*a7['columnSpacing'],am=a7['insertionPoint']['y']+aj*a7['rowSpacing'];a6[cs(0x165)](al,am),a7['rotation']&&a6[cs(0x12c)](a7['rotation']*Math['PI']/0xb4),a6['scale'](a7[cs(0x1ec)],a7[cs(0x1d5)]),a6['translate'](-af[cs(0x1b7)]['x'],-af['basePoint']['y']);let an=ab/(Math['max'](Math['abs'](a7[cs(0x1ec)]),Math['abs'](a7['scaleY']))||0x1),ao=null,ap=af['entities'];for(let aq=0x0;aq<ap['length'];aq++){let ar=ap[aq];if(ar['type']!==cs(0x146)){let au=it(a7['blockName'],aq),av=au===void 0x0?G(ar):au;if(av){let aw=Math['max'](av['maxX']-av[cs(0x19f)],av['maxY']-av['minY']);if(aw>0x0&&aw/an<gt)continue;}}let as=V(ar,a8['layers'],aa);if(ar['type']!=='INSERT'&&ot(ar['type'])){if(as!==ao&&(ao!==null&&(a6[cs(0x17b)](),ad&&ad['drawCalls']++),ao=as,a6[cs(0x20a)](),a6['strokeStyle']=as,a6['lineWidth']=an),mt(a6,ar,an),ad){var ai;ad['byType'][ar['type']]=((ai=ad['byType'][ar['type']])==null?0x0:ai)+0x1;}}else ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++,ao=null),a6['strokeStyle']=as,a6['fillStyle']=as,a6[cs(0x16d)]=an,ar['type']==='INSERT'?_t(a6,ar,a8,a9,aa,an,ac+0x1,ad):K(a6,ar,a8,a9,aa,an,ad);}ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++),a6[cs(0x14a)]();}}function vt(a6,a7,a8,a9,aa,ab,ac){const cu=aY;if(a7['blockName']){let ad=a8['blocks']['get'](a7['blockName']);if(ad){for(let af of ad['entities']){let ag=V(af,a8['layers'],aa);a6['strokeStyle']=ag,a6['fillStyle']=ag,a6['lineWidth']=ab,K(a6,af,a8,a9,aa,ab,ac);}return;}}a7['defPoint2']&&a7[cu(0x1a1)]&&(a6['beginPath'](),a6['moveTo'](a7[cu(0x233)]['x'],a7['defPoint2']['y']),a6['lineTo'](a7[cu(0x19b)]['x'],a7['defPoint']['y']),a6[cu(0x17b)](),a6['beginPath'](),a6[cu(0x17f)](a7['defPoint3']['x'],a7['defPoint3']['y']),a6[cu(0x1b5)](a7['defPoint']['x'],a7[cu(0x19b)]['y']),a6[cu(0x17b)]());}function yt(a6,a7){const cv=aY;if(a7['boundaryPaths']['length']!==0x0){a6['beginPath']();for(let aa of a7['boundaryPaths'])if(aa['type']==='polyline'&&aa[cv(0x135)]&&aa['vertices']['length']>0x0){let ab=aa['vertices'][0x0];a6[cv(0x17f)](ab['x'],ab['y']);for(let ac=0x1;ac<aa['vertices']['length'];ac++){var a8,a9;let ad=aa['vertices'][ac-0x1],af=aa['vertices'][ac],ag=(a8=(a9=aa['bulges'])==null?void 0x0:a9[ac-0x1])==null?0x0:a8;Math['abs'](ag)<1e-10?a6['lineTo'](af['x'],af['y']):H(a6,ad['x'],ad['y'],af['x'],af['y'],ag);}aa['isClosed']&&a6[cv(0x21c)]();}else{if(aa['type']==='edges'&&aa['edges'])for(let ah=0x0;ah<aa['edges'][cv(0x1e8)];ah++){let ai=aa['edges'][ah];if(ai[cv(0x1bf)]==='line')ah===0x0&&a6['moveTo'](ai['start']['x'],ai['start']['y']),a6['lineTo'](ai['end']['x'],ai['end']['y']);else{if(ai[cv(0x1bf)]==='arc'){if(ah===0x0){let aj=ai['center']['x']+ai['radius']*Math['cos'](ai['startAngle']*Math['PI']/0xb4),ak=ai['center']['y']+ai['radius']*Math['sin'](ai['startAngle']*Math['PI']/0xb4);a6['moveTo'](aj,ak);}a6['arc'](ai['center']['x'],ai['center']['y'],ai[cv(0x193)],ai['startAngle']*Math['PI']/0xb4,ai['endAngle']*Math['PI']/0xb4,!ai['ccw']);}}}}a7['solidFill']&&(a6['globalAlpha']=0.3,a6[cv(0x180)]('evenodd'),a6['globalAlpha']=0x1),a6['stroke']();}}function bt(a6,a7,a8){let a9=a8*0x3;a6['beginPath'](),a6['arc'](a7['position']['x'],a7['position']['y'],a9,0x0,Math['PI']*0x2),a6['fill']();}function K(a6,a7,a8,a9,aa,ab,ac){const cw=aY;if(ac){var ad;ac['drawCalls']++,ac[cw(0x1bc)][a7[cw(0x1bf)]]=((ad=ac['byType'][a7['type']])==null?0x0:ad)+0x1;}switch(a7['type']){case cw(0x142):Fe(a6,a7);break;case'CIRCLE':Ie(a6,a7);break;case'ARC':Le(a6,a7);break;case'LWPOLYLINE':ze(a6,a7);break;case'POLYLINE':Be(a6,a7);break;case cw(0x162):Ve(a6,a7);break;case'SPLINE':Ge(a6,a7,ab);break;case'TEXT':Je(a6,a7,ab);break;case'MTEXT':Xe(a6,a7,ab);break;case'INSERT':_t(a6,a7,a8,a9,aa,ab,0x0,ac);break;case'DIMENSION':vt(a6,a7,a8,a9,aa,ab,ac);break;case'HATCH':yt(a6,a7);break;case'POINT':bt(a6,a7,ab);break;}}var xt=0.5,St=class{constructor(a6){t(this,'ctx',void 0x0),t(this,'width',0x0),t(this,'height',0x0),this['canvas']=a6;let a7=a6['getContext']('2d',{'alpha':!0x1});if(!a7)throw Error('Failed\x20to\x20get\x202D\x20rendering\x20context.\x20The\x20canvas\x20may\x20already\x20have\x20a\x20different\x20context\x20type,\x20or\x20canvas\x20rendering\x20is\x20not\x20available\x20in\x20this\x20environment.');this['ctx']=a7,this['updateSize']();}['getContext'](){return this['ctx'];}['getWidth'](){return this['width'];}['getHeight'](){return this['height'];}[aY(0x112)](){const cx=aY;let a6=window[cx(0x160)]||0x1,a7=this['canvas']['getBoundingClientRect']();this['width']=a7['width'],this['height']=a7['height'],this['canvas'][cx(0x1a4)]=a7['width']*a6,this['canvas']['height']=a7['height']*a6;}['render'](a6,a7,a8,a9,aa,ab,ac){const cy=aY;let ad=this['ctx'],af=window['devicePixelRatio']||0x1,ag={'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}};ad['setTransform'](af,0x0,0x0,af,0x0,0x0),ad['fillStyle']=I[a8]['backgroundColor'],ad['fillRect'](0x0,0x0,this[cy(0x1a4)],this['height']),z(ad,a7);let ah=0x1/a7['scale'];ad['lineCap']='round',ad['lineJoin']='round';let ai=null;for(let ak=0x0;ak<a6['entities']['length'];ak++){let al=a6[cy(0x107)][ak];if(!al['visible']){ag['entitiesSkipped']++;continue;}if(!a9['has'](al['layer'])){ag[cy(0x164)]++;continue;}if(ab&&!ab['has'](ak)){ag['entitiesSkipped']++;continue;}if(ac){let an=ac[ak];if(an){let ao=(an['maxX']-an['minX'])*a7['scale'],ap=(an['maxY']-an['minY'])*a7[cy(0x177)];if(Math['max'](ao,ap)<xt){ag['entitiesSkipped']++;continue;}}}let am=V(al,a6['layers'],a8);if(ot(al['type'])){var aj;am!==ai&&(ai!==null&&(ad['stroke'](),ag['drawCalls']++),ai=am,ad['beginPath'](),ad['strokeStyle']=am,ad['lineWidth']=ah),mt(ad,al,ah),ag['entitiesDrawn']++,ag['byType'][al['type']]=((aj=ag['byType'][al[cy(0x1bf)]])==null?0x0:aj)+0x1;}else ai!==null&&(ad['stroke'](),ag['drawCalls']++,ai=null),ad[cy(0x1b3)]=am,ad['fillStyle']=am,ad['lineWidth']=ah,ag['entitiesDrawn']++,K(ad,al,a6,a7,a8,ah,ag);}if(ai!==null&&(ad['stroke'](),ag['drawCalls']++),aa>=0x0&&aa<a6['entities']['length']){let aq=a6['entities'][aa];z(ad,a7),ad[cy(0x1b3)]=I[a8]['selectionColor'],ad['fillStyle']=I[a8]['selectionColor'],ad[cy(0x16d)]=ah*0x3,K(ad,aq,a6,a7,a8,ah);}return ag;}['renderEmpty'](a6){const cz=aY;let a7=this['ctx'],a8=window['devicePixelRatio']||0x1;a7['setTransform'](a8,0x0,0x0,a8,0x0,0x0),a7[cz(0x12d)]=I[a6]['backgroundColor'],a7['fillRect'](0x0,0x0,this['width'],this['height']);}['destroy'](){}},Ct={'showFps':!0x0,'showRenderStats':!0x0,'showDocumentInfo':!0x0,'showTimings':!0x0,'showCamera':!0x0,'position':'top-left'};function q(a6){return a3(a3({},Ct),a6);}function wt(a6){const cA=aY;return a6===0x0?'0\x20B':a6<0x400?a6+'\x20B':a6<0x400*0x400?(a6/0x400)['toFixed'](0x1)+'\x20KB':(a6/(0x400*0x400))['toFixed'](0x1)+cA(0x1cd);}function Tt(a6){return a6>=0x1?a6['toFixed'](0x2)+'x':'1:'+(0x1/a6)['toFixed'](0x1);}var Et=aY(0x207),Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a6,a7,a8,a9,aa,ab){const cB=aY;a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ac=[];if(a9['showFps']&&ac['push']([cB(0x1e7)+a7['fps']+'\x20\x20Frame:\x20'+a7['frameTime']['toFixed'](0x1)+'ms']),a9['showRenderStats']){let am=a7['renderStats']['entitiesDrawn']+a7['renderStats']['entitiesSkipped'],an=['Drawn:\x20'+a7['renderStats']['entitiesDrawn']+cB(0x111)+am+'\x20\x20Calls:\x20'+a7[cB(0x218)][cB(0x175)]],ao=Object['entries'](a7['renderStats']['byType'])['sort'](([,ap],[,aq])=>aq-ap)['slice'](0x0,0x6)['map'](([ap,aq])=>ap+':\x20'+aq)['join']('\x20\x20');ao&&an[cB(0x21b)](ao),ac['push'](an);}if(a9[cB(0x16a)]){let ap=[cB(0x178)+a7['visibleLayerCount']+'\x20/\x20'+a7['layerCount']+'\x20\x20Blocks:\x20'+a7['blockCount']];a7['dxfVersion']&&ap['push']('DXF:\x20'+a7['dxfVersion']),a7['fileName']&&ap['push']('File:\x20'+a7['fileName']),a7['fileSize']>0x0&&ap['push'](cB(0x127)+wt(a7['fileSize'])),ac['push'](ap);}if(a9['showTimings']){let aq=[];a7['parseTime']>0x0&&aq['push']('Parse:\x20'+a7['parseTime']['toFixed'](0x0)+'ms'),a7['spatialIndexBuildTime']>0x0&&aq['push']('Index:\x20'+a7[cB(0x1fa)]['toFixed'](0x0)+'ms'),a7['totalLoadTime']>0x0&&aq['push']('Load:\x20'+a7['totalLoadTime']['toFixed'](0x0)+'ms'),aq['length']>0x0&&ac['push']([aq['join']('\x20\x20')]);}if(a9['showCamera']){let ar=a7[cB(0x230)];ac['push'](['Zoom:\x20'+Tt(a7['zoom'])+'\x20\x20Pixel:\x20'+a7['pixelSize']['toFixed'](0x2),cB(0x18f)+ar['minX']['toFixed'](0x0)+',\x20'+ar['minY']['toFixed'](0x0)+']\x20→\x20['+ar['maxX'][cB(0x132)](0x0)+',\x20'+ar['maxY'][cB(0x132)](0x0)+']']);}if(ac['length']===0x0)return;a6['font']=Et;let ad=[];for(let as=0x0;as<ac[cB(0x1e8)];as++){as>0x0&&ad['push']({'text':'','isSeparator':!0x0});for(let au of ac[as])ad['push']({'text':au,'isSeparator':!0x1});}let af=0x0;for(let av of ad)if(!av['isSeparator']){let aw=a6['measureText'](av['text'])['width'];aw>af&&(af=aw);}let ag=af+J*0x2,ah=J*0x2;for(let ax of ad)ah+=ax['isSeparator']?Ot:Dt;let ai,aj;switch(a9['position']){case'top-left':ai=Y,aj=Y;break;case'top-right':ai=aa-ag-Y,aj=Y;break;case'bottom-left':ai=Y,aj=ab-ah-Y;break;case cB(0x1d6):ai=aa-ag-Y,aj=ab-ah-Y;break;}let ak=I[a8];a6[cB(0x12d)]=a8==='dark'?'rgba(0,\x200,\x200,\x200.75)':'rgba(255,\x20255,\x20255,\x200.85)',a6['fillRect'](ai,aj,ag,ah),a6['strokeStyle']=a8===cB(0x150)?'rgba(255,\x20255,\x20255,\x200.15)':'rgba(0,\x200,\x200,\x200.15)',a6['lineWidth']=0x1,a6['strokeRect'](ai+0.5,aj+0.5,ag-0x1,ah-0x1),a6['fillStyle']=a8==='dark'?ak['defaultEntityColor']:cB(0x1d8),a6['textAlign']='left',a6['textBaseline']='top';let al=aj+J;for(let ay of ad)ay[cB(0x1e1)]?al+=Ot:(a6['fillText'](ay['text'],ai+J,al),al+=Dt);}var At=class{constructor(){const cC=aY;t(this,cC(0x1cf),new Map()),t(this,'visibility',new Map()),t(this,'colorOverrides',new Map()),t(this,'visibleCache',null);}['setLayers'](a6){const cD=aY;this['layers']=new Map(a6),this['visibility']['clear'](),this['colorOverrides'][cD(0x19e)](),this['visibleCache']=null;for(let [a7,a8]of this['layers'])this['visibility'][cD(0x1d1)](a7,!a8['isOff']&&!a8['isFrozen']);}['getAllLayers'](){return Array['from'](this['layers']['values']());}['setVisible'](a6,a7){this['visibility']['set'](a6,a7),this['visibleCache']=null;}['isVisible'](a6){var a7;return(a7=this['visibility']['get'](a6))==null?!0x0:a7;}['setColorOverride'](a6,a7){this['colorOverrides']['set'](a6,a7);}['getColorOverride'](a6){return this['colorOverrides']['get'](a6);}['getVisibleLayerNames'](){const cE=aY;if(this[cE(0x190)])return this['visibleCache'];let a6=new Set();for(let [a7,a8]of this['visibility'])a8&&a6['add'](a7);return this[cE(0x190)]=a6,a6;}[aY(0x19e)](){const cF=aY;this[cF(0x1cf)]['clear'](),this['visibility'][cF(0x19e)](),this['colorOverrides']['clear'](),this['visibleCache']=null;}},jt=class{constructor(){const cG=aY;t(this,cG(0x191),new Map());}['on'](a6,a7){this['listeners']['has'](a6)||this['listeners']['set'](a6,new Set()),this['listeners']['get'](a6)['add'](a7);}['off'](a6,a7){const cH=aY;var a8;(a8=this['listeners']['get'](a6))==null||a8[cH(0x1d4)](a7);}[aY(0x1fe)](a6,a7){let a8=this['listeners']['get'](a6);if(a8){for(let a9 of a8)a9(a7);}}['removeAllListeners'](){this['listeners']['clear']();}},Mt=class{constructor(a6,a7){const cI=aY;t(this,'isPanning',!0x1),t(this,'lastX',0x0),t(this,'lastY',0x0),t(this,cI(0x1b4),new Map()),t(this,'onPointerDown',void 0x0),t(this,'onPointerMove',void 0x0),t(this,'onPointerUp',void 0x0),t(this,'onWheel',void 0x0),t(this,'onTouchStart',void 0x0),t(this,'onTouchMove',void 0x0),t(this,'onTouchEnd',void 0x0),t(this,cI(0x125),void 0x0),this['canvas']=a6,this['viewer']=a7,this['onPointerDown']=this['handlePointerDown']['bind'](this),this['onPointerMove']=this['handlePointerMove']['bind'](this),this['onPointerUp']=this['handlePointerUp']['bind'](this),this['onWheel']=this['handleWheel']['bind'](this),this['onTouchStart']=this[cI(0x1db)]['bind'](this),this[cI(0x115)]=this['handleTouchMove']['bind'](this),this['onTouchEnd']=this['handleTouchEnd']['bind'](this),this[cI(0x125)]=a8=>a8['preventDefault'](),a6['addEventListener']('pointerdown',this['onPointerDown']),a6['addEventListener']('pointermove',this['onPointerMove']),a6['addEventListener']('pointerup',this['onPointerUp']),a6['addEventListener'](cI(0x14e),this['onWheel'],{'passive':!0x1}),a6['addEventListener'](cI(0x14b),this['onTouchStart'],{'passive':!0x1}),a6['addEventListener']('touchmove',this[cI(0x115)],{'passive':!0x1}),a6['addEventListener']('touchend',this['onTouchEnd']),a6[cI(0x1de)]('contextmenu',this[cI(0x125)]);}[aY(0x19c)](){const cJ=aY;this['canvas']['removeEventListener']('pointerdown',this['onPointerDown']),this['canvas']['removeEventListener']('pointermove',this['onPointerMove']),this[cJ(0x221)]['removeEventListener']('pointerup',this[cJ(0x108)]),this[cJ(0x221)]['removeEventListener']('wheel',this['onWheel']),this[cJ(0x221)]['removeEventListener'](cJ(0x14b),this['onTouchStart']),this['canvas']['removeEventListener']('touchmove',this[cJ(0x115)]),this[cJ(0x221)]['removeEventListener']('touchend',this['onTouchEnd']),this['canvas']['removeEventListener']('contextmenu',this['onContextMenu']);}['handlePointerDown'](a6){const cK=aY;let a7=this['viewer']['getTool'](),a8=this['canvas']['getBoundingClientRect'](),a9=a6['clientX']-a8['left'],aa=a6['clientY']-a8['top'];a6['button']===0x0&&a7==='pan'||a6['button']===0x1?this['startPan'](a6,a9,aa):a6[cK(0x216)]===0x0&&(a7==='select'||a7==='measure')&&this['viewer']['handleClick'](a9,aa);}['startPan'](a6,a7,a8){const cL=aY;this['isPanning']=!0x0,this['lastX']=a7,this['lastY']=a8,this['canvas'][cL(0x18a)](a6[cL(0x14f)]),this['canvas']['style']['cursor']='grabbing';}['handlePointerMove'](a6){let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7['left'],a9=a6['clientY']-a7['top'];if(this['isPanning']){let aa=a8-this['lastX'],ab=a9-this['lastY'];this['lastX']=a8,this['lastY']=a9,this['viewer']['handlePan'](aa,ab);}else this['viewer']['handleMouseMove'](a8,a9);}['handlePointerUp'](a6){const cM=aY;this['isPanning']&&(this['isPanning']=!0x1,this[cM(0x221)]['releasePointerCapture'](a6[cM(0x14f)]),this['canvas'][cM(0x13f)]['cursor']=this['viewer']['getTool']()==='pan'?'grab':'crosshair');}['handleWheel'](a6){const cN=aY;a6['preventDefault']();let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7[cN(0x1c1)],a9=a6['clientY']-a7['top'],aa=-Math['sign'](a6['deltaY']),ab=this[cN(0x1c7)][cN(0x16c)](),ac=aa>0x0?ab:0x1/ab;this['viewer']['handleZoom'](a8,a9,ac);}[aY(0x1db)](a6){const cO=aY;a6[cO(0x229)]();for(let a7 of Array[cO(0x1bd)](a6['changedTouches']))this['touches']['set'](a7[cO(0x11a)],{'x':a7['clientX'],'y':a7['clientY']});}['handleTouchMove'](a6){const cP=aY;if(a6['preventDefault'](),this['touches'][cP(0x201)]===0x2&&a6[cP(0x1b4)]['length']===0x2){let a7=a6['touches'][0x0],a8=a6['touches'][0x1],a9=Array[cP(0x1bd)](this['touches']['values']()),aa=Math[cP(0x14d)](a9[0x0]['x']-a9[0x1]['x'],a9[0x0]['y']-a9[0x1]['y']),ab=Math['hypot'](a7['clientX']-a8['clientX'],a7['clientY']-a8['clientY']);if(aa>0x0){let ac=ab/aa,ad=this['canvas']['getBoundingClientRect'](),af=(a9[0x0]['x']+a9[0x1]['x'])/0x2-ad['left'],ag=(a9[0x0]['y']+a9[0x1]['y'])/0x2-ad['top'],ah=(a7['clientX']+a8['clientX'])/0x2-ad[cP(0x1c1)],ai=(a7['clientY']+a8['clientY'])/0x2-ad['top'];this['viewer']['handleZoom'](af,ag,ac),this['viewer']['handlePan'](ah-af,ai-ag);}}else{if(this['touches']['size']===0x1&&a6[cP(0x1b4)][cP(0x1e8)]===0x1){let aj=a6['touches'][0x0],ak=this['touches']['get'](aj['identifier']);ak&&this['viewer']['handlePan'](aj['clientX']-ak['x'],aj['clientY']-ak['y']);}}for(let al of Array[cP(0x1bd)](a6[cP(0x206)]))this['touches']['set'](al[cP(0x11a)],{'x':al['clientX'],'y':al['clientY']});}['handleTouchEnd'](a6){for(let a7 of Array['from'](a6['changedTouches']))this['touches']['delete'](a7['identifier']);}},Nt=0x5,Pt=class{constructor(){const cQ=aY;t(this,cQ(0x196),new l()),t(this,'items',[]),t(this,'entityBBoxes',[]);}['build'](a6,a7){const cR=aY;this['items']=[],this['entityBBoxes']=Array(a6[cR(0x1e8)])[cR(0x180)](null);let a8=a7?new Map():void 0x0;for(let a9=0x0;a9<a6['length'];a9++){let aa=a6[a9],ab=a7&&a8?et(aa,a7,a8):G(aa);this[cR(0x13a)][a9]=ab,ab&&this[cR(0x198)]['push'](a3(a3({},ab),{},{'entityIndex':a9}));}this['tree'][cR(0x19e)](),this['tree']['load'](this['items']);}['search'](a6,a7,a8,a9){return this['tree']['search']({'minX':a6,'minY':a7,'maxX':a8,'maxY':a9});}['getEntityBBox'](a6){var a7;return(a7=this['entityBBoxes'][a6])==null?null:a7;}['getEntityBBoxes'](){return this['entityBBoxes'];}['clear'](){const cS=aY;this[cS(0x196)]['clear'](),this[cS(0x198)]=[],this['entityBBoxes']=[];}};function Ft(a6,a7,a8,a9,aa,ab){const cT=aY;let ac=Nt/ab,ad=a9['search'](a6-ac,a7-ac,a6+ac,a7+ac),af=ac,ag=-0x1;for(let ah=ad['length']-0x1;ah>=0x0;ah--){let ai=ad[ah],aj=a8[ai['entityIndex']];if(!aj||!aa['has'](aj[cT(0x13b)])||!aj['visible'])continue;let ak=It(a6,a7,aj);ak<af&&(af=ak,ag=ai[cT(0x1f6)]);}return ag;}function It(a6,a7,a8){const cU=aY;switch(a8['type']){case cU(0x142):return X(a6,a7,a8[cU(0x1e2)]['x'],a8['start']['y'],a8['end']['x'],a8['end']['y']);case cU(0x124):return Lt(a6,a7,a8['center']['x'],a8['center']['y'],a8['radius']);case'ARC':return Rt(a6,a7,a8['center']['x'],a8['center']['y'],a8['radius'],a8['startAngle']*Math['PI']/0xb4,a8['endAngle']*Math['PI']/0xb4);case cU(0x1e6):case'POLYLINE':{let a9=Infinity,aa=a8['vertices'],ab=a8['closed']?aa['length']:aa['length']-0x1;for(let ac=0x0;ac<ab;ac++){let ad=aa[ac],af=aa[(ac+0x1)%aa['length']],ag=X(a6,a7,ad['x'],ad['y'],af['x'],af['y']);a9=Math['min'](a9,ag);}return a9;}case'ELLIPSE':return Bt(a6,a7,a8['center']['x'],a8['center']['y'],a8['majorAxis'],a8['minorRatio']);case'TEXT':case'MTEXT':{let ah=G(a8);return ah?zt(a6,a7,ah['minX'],ah['minY'],ah[cU(0x19a)],ah['maxY']):Infinity;}case cU(0x158):return Math['hypot'](a6-a8['position']['x'],a7-a8['position']['y']);case'SPLINE':{let ai=Infinity,aj=a8['controlPoints'];for(let ak=0x0;ak<aj['length']-0x1;ak++){let al=X(a6,a7,aj[ak]['x'],aj[ak]['y'],aj[ak+0x1]['x'],aj[ak+0x1]['y']);ai=Math['min'](ai,al);}return ai;}default:return Infinity;}}function X(a6,a7,a8,a9,aa,ab){const cV=aY;let ac=aa-a8,ad=ab-a9,af=ac*ac+ad*ad;if(af===0x0)return Math[cV(0x14d)](a6-a8,a7-a9);let ag=((a6-a8)*ac+(a7-a9)*ad)/af;ag=Math[cV(0x131)](0x0,Math['min'](0x1,ag));let ah=a8+ag*ac,ai=a9+ag*ad;return Math[cV(0x14d)](a6-ah,a7-ai);}function Lt(a6,a7,a8,a9,aa){return Math['abs'](Math['hypot'](a6-a8,a7-a9)-aa);}function Rt(a6,a7,a8,a9,aa,ab,ac){const cW=aY;let ad=(Math[cW(0x10a)](a7-a9,a6-a8)%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),af=(ab%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),ag=(ac%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']);if(af<=ag?ad>=af&&ad<=ag:ad>=af||ad<=ag)return Math['abs'](Math[cW(0x14d)](a6-a8,a7-a9)-aa);let ah=Math['hypot'](a6-(a8+aa*Math['cos'](ab)),a7-(a9+aa*Math['sin'](ab))),ai=Math['hypot'](a6-(a8+aa*Math['cos'](ac)),a7-(a9+aa*Math[cW(0x179)](ac)));return Math['min'](ah,ai);}function zt(a6,a7,a8,a9,aa,ab){const cX=aY;if(a6>=a8&&a6<=aa&&a7>=a9&&a7<=ab)return 0x0;let ac=Math[cX(0x131)](a8-a6,0x0,a6-aa),ad=Math['max'](a9-a7,0x0,a7-ab);return Math['hypot'](ac,ad);}function Bt(a6,a7,a8,a9,aa,ab){let ac=Math['atan2'](aa['y'],aa['x']),ad=Math['cos'](-ac),af=Math['sin'](-ac),ag=(a6-a8)*ad-(a7-a9)*af,ah=(a6-a8)*af+(a7-a9)*ad,ai=Math['sqrt'](Math['pow'](aa['x'],0x2)+Math['pow'](aa['y'],0x2)),aj=ai*ab;if(ai<1e-10)return Math['hypot'](a6-a8,a7-a9);let ak=ai/aj*ah,al=Math['hypot'](ag,ak);if(al<1e-10)return ai;let am=ag/al*ai,an=ah/al*aj;return Math['hypot'](ag-am,ah-an);}var Vt=class{constructor(){t(this,'state',{'phase':'idle'}),t(this,'currentSnap',null);}['activate'](){this['state']={'phase':'first-point'},this['currentSnap']=null;}['deactivate'](){const cY=aY;this['state']={'phase':cY(0x1d7)},this['currentSnap']=null;}['handleClick'](a6,a7,a8){const cZ=aY;let a9=a8?a8['point']:{'x':a6,'y':a7};switch(this['state']['phase']){case'first-point':return this['state']={'phase':'second-point','firstPoint':a9,'firstSnap':a8==null?void 0x0:a8},null;case'second-point':{let aa=this['state']['firstPoint'],ab=a9,ac=ab['x']-aa['x'],ad=ab['y']-aa['y'],af=Math['sqrt'](ac*ac+ad*ad),ag=Math['atan2'](ad,ac)*0xb4/Math['PI'];return this['state']={'phase':'done','firstPoint':aa,'secondPoint':ab,'distance':af,'angle':ag},{'distance':af,'angle':ag,'deltaX':ac,'deltaY':ad,'points':[aa,ab]};}case'done':return this['state']={'phase':cZ(0x1cb),'firstPoint':a9},null;default:return null;}}[aY(0x195)](a6){this['currentSnap']=a6;}};function Z(a6,a7,a8,a9,aa,ab=new Set(['endpoint',aY(0x222),aY(0x140)])){const d0=aY;let ac=0xa/aa,ad=[],af=a9['search'](a6-ac,a7-ac,a6+ac,a7+ac);for(let ag of af){let ah=a8[ag['entityIndex']];if(!ah)continue;let ai=ag['entityIndex'];switch(ah['type']){case'LINE':ab[d0(0x1e4)]('endpoint')&&(Q(ad,ah['start']['x'],ah['start']['y'],'endpoint',ai,a6,a7,ac),Q(ad,ah[d0(0x231)]['x'],ah['end']['y'],'endpoint',ai,a6,a7,ac)),ab['has'](d0(0x222))&&Q(ad,(ah[d0(0x1e2)]['x']+ah['end']['x'])/0x2,(ah[d0(0x1e2)]['y']+ah['end']['y'])/0x2,'midpoint',ai,a6,a7,ac);break;case d0(0x124):if(ab[d0(0x1e4)]('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has'](d0(0x103))){for(let aj of[0x0,Math['PI']/0x2,Math['PI'],0x3*Math['PI']/0x2])Q(ad,ah['center']['x']+ah[d0(0x193)]*Math['cos'](aj),ah[d0(0x140)]['y']+ah['radius']*Math['sin'](aj),'endpoint',ai,a6,a7,ac);}break;case'ARC':if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){let ak=ah[d0(0x1eb)]*Math['PI']/0xb4,al=ah['endAngle']*Math['PI']/0xb4;Q(ad,ah['center']['x']+ah['radius']*Math[d0(0x12b)](ak),ah['center']['y']+ah['radius']*Math['sin'](ak),d0(0x103),ai,a6,a7,ac),Q(ad,ah['center']['x']+ah[d0(0x193)]*Math['cos'](al),ah['center']['y']+ah['radius']*Math['sin'](al),'endpoint',ai,a6,a7,ac);}break;case'LWPOLYLINE':case d0(0x208):if(ab['has']('endpoint')){for(let am of ah['vertices'])Q(ad,am['x'],am['y'],d0(0x103),ai,a6,a7,ac);}if(ab['has']('midpoint'))for(let an=0x0;an<ah['vertices']['length']-0x1;an++){let ao=ah['vertices'][an],ap=ah['vertices'][an+0x1];Q(ad,(ao['x']+ap['x'])/0x2,(ao['y']+ap['y'])/0x2,'midpoint',ai,a6,a7,ac);}break;case'ELLIPSE':ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],d0(0x140),ai,a6,a7,ac);break;case'TEXT':ab['has']('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;case'MTEXT':ab[d0(0x1e4)]('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;}}return ad['sort']((aq,ar)=>Math['hypot'](aq['point']['x']-a6,aq['point']['y']-a7)-Math['hypot'](ar['point']['x']-a6,ar['point']['y']-a7)),ad;}function Q(a6,a7,a8,a9,aa,ab,ac,ad){const d1=aY;Math['hypot'](a7-ab,a8-ac)<=ad&&a6[d1(0x21b)]({'point':{'x':a7,'y':a8},'type':a9,'entityIndex':aa});}function Ht(a6,a7,a8,a9,aa,ab){const d2=aY;let ac=I[ab];a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ad=a8[d2(0x15c)];if(a8['currentSnap']){let [af,ag]=L(a7,a8['currentSnap']['point']['x'],a8['currentSnap'][d2(0x188)]['y']);Ut(a6,af,ag,a8['currentSnap'][d2(0x1bf)],ac['measureColor']);}if(ad['phase']==='second-point'){let [ah,ai]=L(a7,ad['firstPoint']['x'],ad['firstPoint']['y']),aj,ak;if(a8['currentSnap']){let [ao,ap]=L(a7,a8['currentSnap']['point']['x'],a8['currentSnap']['point']['y']);aj=ao,ak=ap;}else aj=a9,ak=aa;a6[d2(0x1b3)]=ac[d2(0x143)],a6['lineWidth']=1.5,a6['setLineDash']([0x6,0x3]),a6['beginPath'](),a6['moveTo'](ah,ai),a6['lineTo'](aj,ak),a6['stroke'](),a6['setLineDash']([]),$(a6,ah,ai,ac['measureColor']),$(a6,aj,ak,ac['measureColor']);let al,am;a8[d2(0x133)]?(al=a8[d2(0x133)]['point']['x'],am=a8['currentSnap']['point']['y']):[al,am]=R(a7,a9,aa);let an=Math['hypot'](al-ad['firstPoint']['x'],am-ad['firstPoint']['y']);Wt(a6,(ah+aj)/0x2,(ai+ak)/0x2,an,ab);}if(ad['phase']===d2(0x1a5)){let [aq,ar]=L(a7,ad['firstPoint']['x'],ad[d2(0x1ba)]['y']),[as,au]=L(a7,ad[d2(0x1b2)]['x'],ad['secondPoint']['y']);a6['strokeStyle']=ac['measureColor'],a6['lineWidth']=0x2,a6['beginPath'](),a6[d2(0x17f)](aq,ar),a6['lineTo'](as,au),a6['stroke'](),$(a6,aq,ar,ac['measureColor']),$(a6,as,au,ac['measureColor']),Wt(a6,(aq+as)/0x2,(ar+au)/0x2,ad['distance'],ab);}}function Ut(a6,a7,a8,a9,aa){const d3=aY;switch(a6['strokeStyle']=aa,a6['lineWidth']=0x2,a9){case'endpoint':a6['strokeRect'](a7-0x8/0x2,a8-0x8/0x2,0x8,0x8);break;case'midpoint':a6['beginPath'](),a6['moveTo'](a7,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6['closePath'](),a6[d3(0x17b)]();break;case d3(0x140):a6[d3(0x20a)](),a6['arc'](a7,a8,0x8/0x2,0x0,Math['PI']*0x2),a6[d3(0x17b)]();break;case d3(0x18e):a6['beginPath'](),a6['moveTo'](a7-0x8/0x2,a8-0x8/0x2),a6[d3(0x1b5)](a7+0x8/0x2,a8+0x8/0x2),a6['moveTo'](a7+0x8/0x2,a8-0x8/0x2),a6[d3(0x1b5)](a7-0x8/0x2,a8+0x8/0x2),a6['stroke']();break;}}function $(a6,a7,a8,a9){const d4=aY;a6[d4(0x12d)]=a9,a6['beginPath'](),a6['arc'](a7,a8,0x4,0x0,Math['PI']*0x2),a6['fill']();}function Wt(a6,a7,a8,a9,aa){const d5=aY;let ab=a9['toFixed'](0x4);a6['font']='13px\x20monospace',a6[d5(0x1aa)]='center',a6['textBaseline']='bottom';let ac=a6[d5(0x110)](ab),ad=a7-ac['width']/0x2-0x4,af=a8-0x14,ag=ac[d5(0x1a4)]+0x8;a6[d5(0x12d)]=aa==='dark'?'rgba(0,0,0,0.8)':'rgba(255,255,255,0.9)',a6['fillRect'](ad,af,ag,0x12),a6[d5(0x12d)]=I[aa]['measureColor'],a6['fillText'](ab,a7,a8-0x6);}var Gt=class{constructor(){const d6=aY;t(this,'worker',null),t(this,'blobUrl',null),t(this,d6(0x176),0x1),t(this,'pending',new Map());}['getWorker'](){const d7=aY;return this['worker']?this['worker']:(this['blobUrl']=URL[d7(0x168)](new Blob(['\x22use\x20strict\x22;(()=>{function\x20h(a){let\x20e=a.replace(/\x5cr\x5cn?/g,`\x0a`),t=[],r=e.length,n=0;for(;n<r;){for(;n<r&&e.charCodeAt(n)===10;)n++;if(n>=r)break;let\x20o=e.indexOf(`\x0a`,n);o===-1&&(o=r);let\x20c=e.substring(n,o).trim();n=o+1;let\x20s=parseInt(c,10);if(isNaN(s)){n<r&&(o=e.indexOf(`\x0a`,n),o===-1&&(o=r),n=o+1);continue}if(n>=r)break;o=e.indexOf(`\x0a`,n),o===-1&&(o=r);let\x20p=e.substring(n,o).replace(/\x5cs+$/,\x22\x22);n=o+1,t.push({code:s,value:p})}return\x20t}function\x20m(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===9){let\x20n=r.value;switch(e++,n){case\x22$ACADVER\x22:e<a.length&&(t.acadVersion=a[e].value,e++);break;case\x22$EXTMIN\x22:if(e<a.length){let\x20o=v(a,e);t.extMin=o.point,e=o.nextIndex}break;case\x22$EXTMAX\x22:if(e<a.length){let\x20o=v(a,e);t.extMax=o.point,e=o.nextIndex}break;case\x22$INSUNITS\x22:e<a.length&&(t.insUnits=parseInt(a[e].value,10),e++);break;case\x22$MEASUREMENT\x22:e<a.length&&(t.measurement=parseInt(a[e].value,10),e++);break;case\x22$LTSCALE\x22:e<a.length&&(t.ltScale=parseFloat(a[e].value),e++);break;case\x22$DWGCODEPAGE\x22:e<a.length&&(t.dwgCodePage=a[e].value,e++);break;case\x22$HANDSEED\x22:e<a.length&&(t.handleSeed=a[e].value,e++);break;default:for(;e<a.length&&a[e].code!==9&&a[e].code!==0;)t[n]=a[e].value,e++}}else\x20e++}return\x20e}function\x20v(a,e){let\x20t={x:0,y:0,z:0};for(;e<a.length;){let\x20r=a[e].code;if(r===10)t.x=parseFloat(a[e].value),e++;else\x20if(r===20)t.y=parseFloat(a[e].value),e++;else\x20if(r===30)t.z=parseFloat(a[e].value),e++;else\x20break}return{point:t,nextIndex:e}}function\x20k(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===0&&r.value===\x22TABLE\x22){if(e++,e>=a.length)break;let\x20n=a[e].value;switch(e++,n){case\x22LAYER\x22:e=H(a,e,t.layers);break;case\x22LTYPE\x22:e=O(a,e,t.lineTypes);break;case\x22STYLE\x22:e=_(a,e,t.styles);break;default:e=R(a,e);break}}else\x20e++}return\x20e}function\x20R(a,e){for(;e<a.length;){if(a[e].code===0&&a[e].value===\x22ENDTAB\x22)return\x20e+1;e++}return\x20e}function\x20H(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22LAYER\x22){e++;let\x20n={name:\x220\x22,color:7,lineType:\x22Continuous\x22,flags:0,lineWeight:-3,isOff:!1,isFrozen:!1,isLocked:!1};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x206:n.lineType=o.value;break;case\x2062:n.color=parseInt(o.value,10);break;case\x2070:n.flags=parseInt(o.value,10);break;case\x20370:n.lineWeight=parseInt(o.value,10);break;case\x20420:n.trueColor=parseInt(o.value,10);break}e++}t.set(n.name,n)}else\x20e++}return\x20e}function\x20O(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22LTYPE\x22){e++;let\x20n={name:\x22\x22,description:\x22\x22,pattern:[],totalLength:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x203:n.description=o.value;break;case\x2040:n.totalLength=parseFloat(o.value);break;case\x2049:n.pattern.push(parseFloat(o.value));break}e++}n.name&&t.set(n.name,n)}else\x20e++}return\x20e}function\x20_(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22STYLE\x22){e++;let\x20n={name:\x22\x22,fontName:\x22\x22,bigFontName:\x22\x22,height:0,widthFactor:1,obliqueAngle:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x203:n.fontName=o.value;break;case\x204:n.bigFontName=o.value;break;case\x2040:n.height=parseFloat(o.value);break;case\x2041:n.widthFactor=parseFloat(o.value);break;case\x2050:n.obliqueAngle=parseFloat(o.value);break}e++}n.name&&t.set(n.name,n)}else\x20e++}return\x20e}function\x20l(a){let\x20e={type:\x22\x22,layer:\x220\x22,color:256,lineType:\x22BYLAYER\x22,lineTypeScale:1,lineWeight:-1,visible:!0,extrusion:{x:0,y:0,z:1}};for(let\x20t\x20of\x20a)switch(t.code){case\x205:e.handle=t.value;break;case\x208:e.layer=t.value;break;case\x206:e.lineType=t.value;break;case\x2048:e.lineTypeScale=parseFloat(t.value);break;case\x2060:e.visible=t.value===\x220\x22||t.value===\x22\x22;break;case\x2062:e.color=parseInt(t.value,10);break;case\x20370:e.lineWeight=parseInt(t.value,10);break;case\x20420:e.trueColor=parseInt(t.value,10);break;case\x20210:e.extrusion.x=parseFloat(t.value);break;case\x20220:e.extrusion.y=parseFloat(t.value);break;case\x20230:e.extrusion.z=parseFloat(t.value);break}return\x20e}function\x20D(a){let\x20t={...l(a),type:\x22LINE\x22,start:{x:0,y:0,z:0},end:{x:0,y:0,z:0}};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.start.x=parseFloat(r.value);break;case\x2020:t.start.y=parseFloat(r.value);break;case\x2030:t.start.z=parseFloat(r.value);break;case\x2011:t.end.x=parseFloat(r.value);break;case\x2021:t.end.y=parseFloat(r.value);break;case\x2031:t.end.z=parseFloat(r.value);break}return\x20t}function\x20F(a){let\x20t={...l(a),type:\x22CIRCLE\x22,center:{x:0,y:0,z:0},radius:0};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2040:t.radius=parseFloat(r.value);break}return\x20t}function\x20E(a){let\x20t={...l(a),type:\x22ARC\x22,center:{x:0,y:0,z:0},radius:0,startAngle:0,endAngle:360};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2040:t.radius=parseFloat(r.value);break;case\x2050:t.startAngle=parseFloat(r.value);break;case\x2051:t.endAngle=parseFloat(r.value);break}return\x20t}function\x20P(a){let\x20t={...l(a),type:\x22LWPOLYLINE\x22,vertices:[],closed:!1,constantWidth:0,elevation:0},r=null;for(let\x20n\x20of\x20a)switch(n.code){case\x2070:t.closed=(parseInt(n.value,10)&1)!==0;break;case\x2038:t.elevation=parseFloat(n.value);break;case\x2043:t.constantWidth=parseFloat(n.value);break;case\x2010:r&&t.vertices.push(r),r={x:parseFloat(n.value),y:0,bulge:0,startWidth:0,endWidth:0};break;case\x2020:r&&(r.y=parseFloat(n.value));break;case\x2040:r&&(r.startWidth=parseFloat(n.value));break;case\x2041:r&&(r.endWidth=parseFloat(n.value));break;case\x2042:r&&(r.bulge=parseFloat(n.value));break}return\x20r&&t.vertices.push(r),t}function\x20T(a){let\x20t={...l(a),type:\x22POLYLINE\x22,vertices:[],closed:!1,is3d:!1};for(let\x20r\x20of\x20a)if(r.code===70){let\x20n=parseInt(r.value,10);t.closed=(n&1)!==0,t.is3d=(n&8)!==0}return\x20t}function\x20w(a){let\x20t={...l(a),type:\x22ELLIPSE\x22,center:{x:0,y:0,z:0},majorAxis:{x:1,y:0,z:0},minorRatio:1,startParam:0,endParam:Math.PI*2};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2011:t.majorAxis.x=parseFloat(r.value);break;case\x2021:t.majorAxis.y=parseFloat(r.value);break;case\x2031:t.majorAxis.z=parseFloat(r.value);break;case\x2040:t.minorRatio=parseFloat(r.value);break;case\x2041:t.startParam=parseFloat(r.value);break;case\x2042:t.endParam=parseFloat(r.value);break}return\x20t}function\x20g(a){let\x20t={...l(a),type:\x22SPLINE\x22,degree:3,flags:0,knots:[],controlPoints:[],fitPoints:[],weights:[]},r=null,n=null;for(let\x20o\x20of\x20a)switch(o.code){case\x2070:t.flags=parseInt(o.value,10);break;case\x2071:t.degree=parseInt(o.value,10);break;case\x2040:t.knots.push(parseFloat(o.value));break;case\x2041:t.weights.push(parseFloat(o.value));break;case\x2010:r&&t.controlPoints.push(r),r={x:parseFloat(o.value),y:0,z:0};break;case\x2020:r&&(r.y=parseFloat(o.value));break;case\x2030:r&&(r.z=parseFloat(o.value));break;case\x2011:n&&t.fitPoints.push(n),n={x:parseFloat(o.value),y:0,z:0};break;case\x2021:n&&(n.y=parseFloat(o.value));break;case\x2031:n&&(n.z=parseFloat(o.value));break;case\x2012:t.startTangent||(t.startTangent={x:0,y:0,z:0}),t.startTangent.x=parseFloat(o.value);break;case\x2022:t.startTangent&&(t.startTangent.y=parseFloat(o.value));break;case\x2032:t.startTangent&&(t.startTangent.z=parseFloat(o.value));break;case\x2013:t.endTangent||(t.endTangent={x:0,y:0,z:0}),t.endTangent.x=parseFloat(o.value);break;case\x2023:t.endTangent&&(t.endTangent.y=parseFloat(o.value));break;case\x2033:t.endTangent&&(t.endTangent.z=parseFloat(o.value));break}return\x20r&&t.controlPoints.push(r),n&&t.fitPoints.push(n),t}function\x20I(a){let\x20t={...l(a),type:\x22TEXT\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,rotation:0,widthFactor:1,obliqueAngle:0,style:\x22STANDARD\x22,hAlign:0,vAlign:0,generationFlags:0};for(let\x20r\x20of\x20a)switch(r.code){case\x201:t.text=r.value;break;case\x2010:t.insertionPoint.x=parseFloat(r.value);break;case\x2020:t.insertionPoint.y=parseFloat(r.value);break;case\x2030:t.insertionPoint.z=parseFloat(r.value);break;case\x2011:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.x=parseFloat(r.value);break;case\x2021:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.y=parseFloat(r.value);break;case\x2031:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.z=parseFloat(r.value);break;case\x2040:t.height=parseFloat(r.value);break;case\x2041:t.widthFactor=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2051:t.obliqueAngle=parseFloat(r.value);break;case\x207:t.style=r.value;break;case\x2071:t.generationFlags=parseInt(r.value,10);break;case\x2072:t.hAlign=parseInt(r.value,10);break;case\x2073:t.vAlign=parseInt(r.value,10);break}return\x20t}function\x20A(a){let\x20t={...l(a),type:\x22MTEXT\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,width:0,attachmentPoint:1,drawingDirection:1,rotation:0,lineSpacingStyle:1,lineSpacingFactor:1,style:\x22STANDARD\x22,bgFill:0,bgFillScale:1.5},r=[];for(let\x20n\x20of\x20a)switch(n.code){case\x201:r.push(n.value);break;case\x203:r.push(n.value);break;case\x207:t.style=n.value;break;case\x2010:t.insertionPoint.x=parseFloat(n.value);break;case\x2020:t.insertionPoint.y=parseFloat(n.value);break;case\x2030:t.insertionPoint.z=parseFloat(n.value);break;case\x2011:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.x=parseFloat(n.value);break;case\x2021:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.y=parseFloat(n.value);break;case\x2031:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.z=parseFloat(n.value);break;case\x2040:t.height=parseFloat(n.value);break;case\x2041:t.width=parseFloat(n.value);break;case\x2044:t.lineSpacingFactor=parseFloat(n.value);break;case\x2050:t.rotation=parseFloat(n.value);break;case\x2071:t.attachmentPoint=parseInt(n.value,10);break;case\x2072:t.drawingDirection=parseInt(n.value,10);break;case\x2073:t.lineSpacingStyle=parseInt(n.value,10);break;case\x2090:t.bgFill=parseInt(n.value,10);break}return\x20t.text=r.join(\x22\x22),t}function\x20z(a){let\x20t={...l(a),type:\x22INSERT\x22,blockName:\x22\x22,insertionPoint:{x:0,y:0,z:0},scaleX:1,scaleY:1,scaleZ:1,rotation:0,columnCount:1,rowCount:1,columnSpacing:0,rowSpacing:0,attribs:[]};for(let\x20r\x20of\x20a)switch(r.code){case\x202:t.blockName=r.value;break;case\x2010:t.insertionPoint.x=parseFloat(r.value);break;case\x2020:t.insertionPoint.y=parseFloat(r.value);break;case\x2030:t.insertionPoint.z=parseFloat(r.value);break;case\x2041:t.scaleX=parseFloat(r.value);break;case\x2042:t.scaleY=parseFloat(r.value);break;case\x2043:t.scaleZ=parseFloat(r.value);break;case\x2044:t.columnSpacing=parseFloat(r.value);break;case\x2045:t.rowSpacing=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2070:t.columnCount=parseInt(r.value,10)||1;break;case\x2071:t.rowCount=parseInt(r.value,10)||1;break}return\x20t}function\x20S(a){let\x20t={...l(a),type:\x22DIMENSION\x22,blockName:\x22\x22,dimStyle:\x22STANDARD\x22,dimType:0,defPoint:{x:0,y:0,z:0},textMidpoint:{x:0,y:0,z:0},textOverride:\x22\x22,rotation:0,textRotation:0,leaderLength:0};for(let\x20r\x20of\x20a)switch(r.code){case\x201:t.textOverride=r.value;break;case\x202:t.blockName=r.value;break;case\x203:t.dimStyle=r.value;break;case\x2010:t.defPoint.x=parseFloat(r.value);break;case\x2020:t.defPoint.y=parseFloat(r.value);break;case\x2030:t.defPoint.z=parseFloat(r.value);break;case\x2011:t.textMidpoint.x=parseFloat(r.value);break;case\x2021:t.textMidpoint.y=parseFloat(r.value);break;case\x2031:t.textMidpoint.z=parseFloat(r.value);break;case\x2013:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.x=parseFloat(r.value);break;case\x2023:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.y=parseFloat(r.value);break;case\x2033:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.z=parseFloat(r.value);break;case\x2014:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.x=parseFloat(r.value);break;case\x2024:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.y=parseFloat(r.value);break;case\x2034:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.z=parseFloat(r.value);break;case\x2015:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.x=parseFloat(r.value);break;case\x2025:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.y=parseFloat(r.value);break;case\x2035:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.z=parseFloat(r.value);break;case\x2016:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.x=parseFloat(r.value);break;case\x2026:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.y=parseFloat(r.value);break;case\x2036:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.z=parseFloat(r.value);break;case\x2040:t.leaderLength=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2053:t.textRotation=parseFloat(r.value);break;case\x2070:t.dimType=parseInt(r.value,10);break}return\x20t}function\x20N(a){let\x20t={...l(a),type:\x22HATCH\x22,patternName:\x22\x22,solidFill:!0,associative:!1,hatchStyle:0,patternType:1,patternAngle:0,patternScale:1,boundaryPaths:[]},r=0;for(;r<a.length;){let\x20n=a[r];switch(n.code){case\x202:t.patternName=n.value;break;case\x2041:t.patternScale=parseFloat(n.value);break;case\x2052:t.patternAngle=parseFloat(n.value);break;case\x2070:t.solidFill=n.value===\x221\x22;break;case\x2071:t.associative=n.value===\x221\x22;break;case\x2075:t.hatchStyle=parseInt(n.value,10);break;case\x2076:t.patternType=parseInt(n.value,10);break;case\x2091:{let\x20o=parseInt(n.value,10);r++;for(let\x20c=0;c<o&&r<a.length;c++){let\x20s=W(a,r);t.boundaryPaths.push(s.path),r=s.nextIndex}continue}}r++}return\x20t}function\x20W(a,e){let\x20t=0;return\x20e<a.length&&a[e].code===92&&(t=parseInt(a[e].value,10),e++),(t&2)!==0?X(a,e,t):Y(a,e,t)}function\x20X(a,e,t){let\x20r={type:\x22polyline\x22,vertices:[],bulges:[],flags:t},n=!1;e<a.length&&a[e].code===72&&(n=a[e].value===\x221\x22,e++),e<a.length&&a[e].code===73&&(r.isClosed=a[e].value===\x221\x22,e++);let\x20o=0;e<a.length&&a[e].code===93&&(o=parseInt(a[e].value,10),e++);for(let\x20c=0;c<o&&e<a.length;c++){let\x20s={x:0,y:0};a[e].code===10&&(s.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.y=parseFloat(a[e].value),e++),r.vertices.push(s),n&&e<a.length&&a[e].code===42?(r.bulges.push(parseFloat(a[e].value)),e++):n&&r.bulges.push(0)}for(;e<a.length&&(a[e].code===97||a[e].code===330);)if(a[e].code===97){let\x20c=parseInt(a[e].value,10);e++;for(let\x20s=0;s<c&&e<a.length&&a[e].code===330;s++)e++}else\x20e++;return{path:r,nextIndex:e}}function\x20Y(a,e,t){let\x20r={type:\x22edges\x22,edges:[],flags:t},n=0;e<a.length&&a[e].code===93&&(n=parseInt(a[e].value,10),e++);for(let\x20o=0;o<n&&e<a.length&&a[e].code===72;o++){let\x20c=parseInt(a[e].value,10);switch(e++,c){case\x201:{let\x20s={type:\x22line\x22,start:{x:0,y:0},end:{x:0,y:0}};e<a.length&&a[e].code===10&&(s.start.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.start.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===11&&(s.end.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===21&&(s.end.y=parseFloat(a[e].value),e++),r.edges.push(s);break}case\x202:{let\x20s={type:\x22arc\x22,center:{x:0,y:0},radius:0,startAngle:0,endAngle:360,ccw:!0};e<a.length&&a[e].code===10&&(s.center.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.center.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===40&&(s.radius=parseFloat(a[e].value),e++),e<a.length&&a[e].code===50&&(s.startAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===51&&(s.endAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===73&&(s.ccw=a[e].value===\x221\x22,e++),r.edges.push(s);break}case\x203:{let\x20s={type:\x22ellipse\x22,center:{x:0,y:0},majorAxis:{x:1,y:0},minorRatio:1,startAngle:0,endAngle:Math.PI*2,ccw:!0};e<a.length&&a[e].code===10&&(s.center.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.center.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===11&&(s.majorAxis.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===21&&(s.majorAxis.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===40&&(s.minorRatio=parseFloat(a[e].value),e++),e<a.length&&a[e].code===50&&(s.startAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===51&&(s.endAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===73&&(s.ccw=a[e].value===\x221\x22,e++),r.edges.push(s);break}case\x204:{let\x20s=3,p=[],b=[];e<a.length&&a[e].code===94&&(s=parseInt(a[e].value,10),e++),e<a.length&&a[e].code===73&&e++,e<a.length&&a[e].code===74&&e++;let\x20d=0;e<a.length&&a[e].code===95&&(d=parseInt(a[e].value,10),e++);let\x20x=0;e<a.length&&a[e].code===96&&(x=parseInt(a[e].value,10),e++);for(let\x20f=0;f<d&&e<a.length&&a[e].code===40;f++)p.push(parseFloat(a[e].value)),e++;for(let\x20f=0;f<x&&e<a.length;f++){let\x20y={x:0,y:0};a[e].code===10&&(y.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(y.y=parseFloat(a[e].value),e++),b.push(y)}r.edges.push({type:\x22spline\x22,degree:s,knots:p,controlPoints:b});break}default:break}}for(;e<a.length&&(a[e].code===97||a[e].code===330);)if(a[e].code===97){let\x20o=parseInt(a[e].value,10);e++;for(let\x20c=0;c<o&&e<a.length&&a[e].code===330;c++)e++}else\x20e++;return{path:r,nextIndex:e}}function\x20L(a){let\x20t={...l(a),type:\x22POINT\x22,position:{x:0,y:0,z:0}};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.position.x=parseFloat(r.value);break;case\x2020:t.position.y=parseFloat(r.value);break;case\x2030:t.position.z=parseFloat(r.value);break}return\x20t}function\x20u(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code!==0){e++;continue}let\x20n=r.value;if(n===\x22ENDSEC\x22||n===\x22ENDBLK\x22)return\x20e+1;e++;let\x20o=[];for(;e<a.length&&a[e].code!==0;)o.push(a[e]),e++;switch(n){case\x22LINE\x22:t.push(D(o));break;case\x22CIRCLE\x22:t.push(F(o));break;case\x22ARC\x22:t.push(E(o));break;case\x22LWPOLYLINE\x22:t.push(P(o));break;case\x22ELLIPSE\x22:t.push(w(o));break;case\x22SPLINE\x22:t.push(g(o));break;case\x22TEXT\x22:t.push(I(o));break;case\x22MTEXT\x22:t.push(A(o));break;case\x22INSERT\x22:{let\x20c=z(o);o.some(p=>p.code===66&&p.value===\x221\x22)&&(e=$(a,e,c.attribs)),t.push(c);break}case\x22DIMENSION\x22:t.push(S(o));break;case\x22HATCH\x22:t.push(N(o));break;case\x22POINT\x22:t.push(L(o));break;case\x22POLYLINE\x22:{let\x20c=T(o);e=V(a,e,c.vertices),t.push(c);break}default:break}}return\x20e}function\x20V(a,e,t){for(;e<a.length;){if(a[e].code!==0){e++;continue}let\x20r=a[e].value;if(r===\x22SEQEND\x22)return\x20e+1;if(r===\x22ENDSEC\x22||r===\x22ENDBLK\x22)return\x20e;if(r===\x22VERTEX\x22){e++;let\x20n={x:0,y:0,bulge:0,startWidth:0,endWidth:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x2010:n.x=parseFloat(o.value);break;case\x2020:n.y=parseFloat(o.value);break;case\x2042:n.bulge=parseFloat(o.value);break;case\x2040:n.startWidth=parseFloat(o.value);break;case\x2041:n.endWidth=parseFloat(o.value);break}e++}t.push(n)}else\x20for(e++;e<a.length&&a[e].code!==0;)e++}return\x20e}function\x20$(a,e,t){for(;e<a.length;){if(a[e].code!==0){e++;continue}let\x20r=a[e].value;if(r===\x22SEQEND\x22)return\x20e+1;if(r===\x22ENDSEC\x22||r===\x22ENDBLK\x22)return\x20e;if(r===\x22ATTRIB\x22){e++;let\x20n={tag:\x22\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,rotation:0,style:\x22STANDARD\x22,layer:\x220\x22,color:256};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x201:n.text=o.value;break;case\x202:n.tag=o.value;break;case\x207:n.style=o.value;break;case\x208:n.layer=o.value;break;case\x2010:n.insertionPoint.x=parseFloat(o.value);break;case\x2020:n.insertionPoint.y=parseFloat(o.value);break;case\x2030:n.insertionPoint.z=parseFloat(o.value);break;case\x2040:n.height=parseFloat(o.value);break;case\x2050:n.rotation=parseFloat(o.value);break;case\x2062:n.color=parseInt(o.value,10);break}e++}t.push(n)}else\x20for(e++;e<a.length&&a[e].code!==0;)e++}return\x20e}function\x20B(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===0&&r.value===\x22BLOCK\x22){e++;let\x20n={name:\x22\x22,basePoint:{x:0,y:0,z:0},entities:[],flags:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x208:break;case\x2010:n.basePoint.x=parseFloat(o.value);break;case\x2020:n.basePoint.y=parseFloat(o.value);break;case\x2030:n.basePoint.z=parseFloat(o.value);break;case\x2070:n.flags=parseInt(o.value,10);break}e++}e=u(a,e,n.entities),n.name&&!n.name.startsWith(\x22*Model_Space\x22)&&!n.name.startsWith(\x22*Paper_Space\x22)&&t.set(n.name,n)}else\x20e++}return\x20e}var\x20C=\x22AutoCAD\x20Binary\x20DXF\x22,U={ANSI_874:\x22windows-874\x22,ANSI_932:\x22shift_jis\x22,ANSI_936:\x22gbk\x22,ANSI_949:\x22euc-kr\x22,ANSI_950:\x22big5\x22,ANSI_1250:\x22windows-1250\x22,ANSI_1251:\x22windows-1251\x22,ANSI_1252:\x22windows-1252\x22,ANSI_1253:\x22windows-1253\x22,ANSI_1254:\x22windows-1254\x22,ANSI_1255:\x22windows-1255\x22,ANSI_1256:\x22windows-1256\x22,ANSI_1257:\x22windows-1257\x22,ANSI_1258:\x22windows-1258\x22},G=\x22AC1021\x22;function\x20K(){return{acadVersion:\x22\x22,insUnits:0,measurement:0,ltScale:1}}function\x20j(a){return\x20a.replace(/\x5c\x5cU\x5c+([0-9A-Fa-f]{4})/g,(e,t)=>String.fromCodePoint(parseInt(t,16)))}function\x20q(a){if(typeof\x20a==\x22string\x22)return\x20j(a);let\x20e=new\x20Uint8Array(a);if(new\x20TextDecoder(\x22ascii\x22).decode(e.slice(0,C.length))===C)throw\x20new\x20i(\x22Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.\x22);let\x20r=new\x20TextDecoder(\x22utf-8\x22).decode(a),o=r.match(/\x5c$ACADVER[\x5cs\x5cS]*?\x5cn\x5cs*1\x5cs*\x5cn\x5cs*(\x5cS+)/)?.[1]??\x22\x22;if(o&&o<G){let\x20s=r.match(/\x5c$DWGCODEPAGE[\x5cs\x5cS]*?\x5cn\x5cs*3\x5cs*\x5cn\x5cs*(\x5cS+)/)?.[1]??\x22\x22,p=U[s]??\x22windows-1252\x22;p!==\x22utf-8\x22&&(r=new\x20TextDecoder(p).decode(a))}return\x20j(r)}function\x20Q(a,e){for(;e<a.length;){if(a[e].code===0&&a[e].value===\x22ENDSEC\x22)return\x20e+1;e++}return\x20e}function\x20Z(a){a.layers.has(\x220\x22)||a.layers.set(\x220\x22,{name:\x220\x22,color:7,lineType:\x22Continuous\x22,flags:0,lineWeight:-3,isOff:!1,isFrozen:!1,isLocked:!1})}function\x20J(a){for(let[,e]of\x20a.layers)e.isOff=e.color<0,e.isOff&&(e.color=Math.abs(e.color)),e.isFrozen=(e.flags&1)!==0,e.isLocked=(e.flags&4)!==0}var\x20i=class\x20extends\x20Error{constructor(t,r){super(t);this.cause=r;this.name=\x22DxfParseError\x22}};function\x20M(a){if(typeof\x20a==\x22string\x22){if(a.length===0)throw\x20new\x20i(\x22Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.\x22)}else\x20if(a\x20instanceof\x20ArrayBuffer){if(a.byteLength===0)throw\x20new\x20i(\x22Input\x20ArrayBuffer\x20is\x20empty.\x22)}else\x20throw\x20new\x20i(\x22Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.\x22);let\x20e;try{e=q(a)}catch(n){throw\x20n\x20instanceof\x20i?n:new\x20i(\x22Failed\x20to\x20decode\x20DXF\x20input.\x22,n)}let\x20t;try{t=h(e)}catch(n){throw\x20new\x20i(\x22Failed\x20to\x20tokenize\x20DXF\x20content.\x22,n)}if(t.length===0)throw\x20new\x20i(\x22DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.\x22);let\x20r={header:K(),layers:new\x20Map,lineTypes:new\x20Map,styles:new\x20Map,blocks:new\x20Map,entities:[]};try{let\x20n=0;for(;n<t.length;){let\x20o=t[n];if(o.code===0&&o.value===\x22SECTION\x22){if(n++,n>=t.length)break;let\x20c=t[n].value;switch(n++,c){case\x22HEADER\x22:n=m(t,n,r.header);break;case\x22TABLES\x22:n=k(t,n,r);break;case\x22BLOCKS\x22:n=B(t,n,r.blocks);break;case\x22ENTITIES\x22:n=u(t,n,r.entities);break;default:n=Q(t,n);break}}else{if(o.code===0&&o.value===\x22EOF\x22)break;n++}}}catch(n){throw\x20new\x20i(\x22Failed\x20to\x20parse\x20DXF\x20sections.\x22,n)}return\x20Z(r),J(r),r}self.onmessage=a=>{let{type:e,id:t,payload:r}=a.data;if(e===\x22parse\x22)try{let\x20n=M(r);postMessage({type:\x22result\x22,id:t,doc:n})}catch(n){let\x20o=n\x20instanceof\x20Error?n.message:String(n);postMessage({type:\x22error\x22,id:t,message:o})}};})();\x0a'],{'type':'text/javascript'})),this['worker']=new Worker(this[d7(0x219)]),this['worker']['onmessage']=a6=>{const d8=d7;let {type:a7,id:a8,doc:a9,message:aa}=a6['data'],ab=this['pending']['get'](a8);ab&&(this['pending'][d8(0x1d4)](a8),a7==='result'?ab['resolve'](this['reviveDocument'](a9)):a7==='error'&&ab['reject'](Error(aa==null?'Worker\x20parse\x20failed':aa)));},this['worker']['onerror']=a6=>{const d9=d7;var a7;let a8=Error((a7=a6[d9(0x22f)])==null?d9(0x1f2):a7);for(let [,a9]of this[d9(0x161)])a9['reject'](a8);this['pending']['clear'](),this['destroyWorker']();},this['worker']);}['parse'](a6){return new Promise((a7,a8)=>{const da=a1;let a9=this[da(0x176)]++;this['pending']['set'](a9,{'resolve':a7,'reject':a8});let aa;try{aa=this['getWorker']();}catch(ac){this['pending']['delete'](a9),a8(ac instanceof Error?ac:Error(String(ac)));return;}let ab={'type':'parse','id':a9,'payload':a6};try{a6 instanceof ArrayBuffer?aa['postMessage'](ab,[a6]):aa['postMessage'](ab);}catch(ad){this['pending']['delete'](a9),a8(ad instanceof Error?ad:Error(String(ad)));}});}[aY(0x116)](){const db=aY;this[db(0x217)]();let a6=Error('Worker\x20terminated');for(let [,a7]of this['pending'])a7[db(0x202)](a6);this['pending']['clear']();}['destroyWorker'](){const dc=aY;this['worker']&&(this[dc(0x223)][dc(0x116)](),this['worker']=null),this['blobUrl']&&(URL['revokeObjectURL'](this['blobUrl']),this['blobUrl']=null);}['reviveDocument'](a6){const dd=aY;return a3(a3({},a6),{},{'layers':this['ensureMap'](a6[dd(0x1cf)]),'lineTypes':this[dd(0x1fb)](a6['lineTypes']),'styles':this[dd(0x1fb)](a6[dd(0x186)]),'blocks':this['ensureMap'](a6[dd(0x16e)])});}['ensureMap'](a6){return a6 instanceof Map?a6:a6&&typeof a6=='object'?new Map(Object['entries'](a6)):new Map();}},Kt=class{constructor(a6,a7){const df=aY;var a8,a9,aa,ab,ac,ad,af;t(this,'canvas',void 0x0),t(this,'renderer',void 0x0),t(this,'camera',void 0x0),t(this,df(0x13c),void 0x0),t(this,'emitter',void 0x0),t(this,'spatialIndex',void 0x0),t(this,'measureTool',void 0x0),t(this,'doc',null),t(this,'options',void 0x0),t(this,'currentTool',void 0x0),t(this,df(0x18d),void 0x0),t(this,'resizeObserver',void 0x0),t(this,df(0x1d0),void 0x0),t(this,df(0x1a8),null),t(this,'selectedEntityIndex',-0x1),t(this,'renderPending',!0x1),t(this,'destroyed',!0x1),t(this,'loadGeneration',0x0),t(this,'mouseScreenX',0x0),t(this,'mouseScreenY',0x0),t(this,'debugEnabled',!0x1),t(this,'debugOptions',void 0x0),t(this,df(0x1f5),null),t(this,'lastDebugStats',null),t(this,'frameTimestamps',[]),t(this,'lastDoRenderTime',0x0),t(this,df(0x1bb),0x0),t(this,'parseTime',0x0),t(this,'spatialIndexBuildTime',0x0),t(this,'loadedFileName',null),t(this,'loadedFileSize',0x0),t(this,'debugRafId',0x0),this['canvas']=a6,this['options']={'theme':(a8=a7==null?void 0x0:a7['theme'])==null?df(0x150):a8,'backgroundColor':a7==null?void 0x0:a7['backgroundColor'],'antialias':(a9=a7==null?void 0x0:a7['antialias'])==null?!0x0:a9,'minZoom':(aa=a7==null?void 0x0:a7[df(0x129)])==null?0.0001:aa,'maxZoom':(ab=a7==null?void 0x0:a7['maxZoom'])==null?0x186a0:ab,'zoomSpeed':(ac=a7==null?void 0x0:a7['zoomSpeed'])==null?1.1:ac,'initialTool':(ad=a7==null?void 0x0:a7['initialTool'])==null?'pan':ad},this['formatConverters']=(af=a7==null?void 0x0:a7['formatConverters'])==null?[]:af,a7!=null&&a7['worker']&&(this['workerManager']=new Gt()),a7!=null&&a7['debug']?(this['debugEnabled']=!0x0,this['debugOptions']=q(typeof a7['debug']=='boolean'?void 0x0:a7['debug'])):this['debugOptions']=q(),this['renderer']=new St(a6),this['camera']=new Ne(this['options']),this['layerManager']=new At(),this['emitter']=new jt(),this['spatialIndex']=new Pt(),this[df(0x134)]=new Vt(),this['currentTool']=this['options']['initialTool'],this[df(0x18d)]=new Mt(a6,this),this['resizeObserver']=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a6),a6['style']['cursor']=this['getCursorForTool'](this['currentTool']),this[df(0x12e)](),this[df(0x1ef)]&&this[df(0x1fc)]();}['guardDestroyed'](){if(this['destroyed'])throw Error('CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.');}[aY(0x154)](a6){var a7=this;return a5(function*(){for(let a8 of a7['formatConverters']){let a9=!0x1;try{a9=a8['detect'](a6);}catch(aa){continue;}if(a9)return a8['convert'](a6);}return null;})();}['loadFile'](a6){var a7=this;return a5(function*(){const dg=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7['loadedFileName']=a6['name'],a7[dg(0x235)]=a6['size'];let a9=yield a6[dg(0x1c2)]();if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=yield a7['runConverters'](a9);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let ab=performance[dg(0x1b6)](),ac=aa==null?a9:aa;a7['doc']=yield a7['parseWithOptionalWorker'](ac,a8),!(a7['destroyed']||a8!==a7[dg(0x182)])&&(a7['parseTime']=performance['now']()-ab,a7['onDocumentLoaded']());})();}['loadBuffer'](a6){var a7=this;return a5(function*(){const dh=a1;a7['guardDestroyed']();let a8=++a7[dh(0x182)];a7[dh(0x1c9)]=null,a7['loadedFileSize']=a6['byteLength'];let a9=yield a7[dh(0x154)](a6);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=performance['now'](),ab=a9==null?a6:a9;a7[dh(0x22b)]=yield a7['parseWithOptionalWorker'](ab,a8),!(a7['destroyed']||a8!==a7[dh(0x182)])&&(a7['parseTime']=performance['now']()-aa,a7[dh(0x163)]());})();}['parseWithOptionalWorker'](a6,a7){var a8=this;return a5(function*(){if(!a8['workerManager'])return F(a6);try{return yield a8['workerManager']['parse'](a6);}catch(a9){if(a8['destroyed']||a7!==a8['loadGeneration'])return null;throw a9;}})();}['loadDocument'](a6){const di=aY;if(this[di(0x167)](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=0x0,this['parseTime']=0x0,!a6||!Array[di(0x15e)](a6[di(0x107)])||!(a6['layers']instanceof Map))throw Error('CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.');this['doc']=a6,this['onDocumentLoaded']();}['loadString'](a6){const dj=aY;this['guardDestroyed'](),++this['loadGeneration'],this[dj(0x1c9)]=null,this['loadedFileSize']=a6['length'];let a7=performance[dj(0x1b6)]();this[dj(0x22b)]=F(a6),this['parseTime']=performance['now']()-a7,this['onDocumentLoaded']();}['loadArrayBuffer'](a6){const dk=aY;this[dk(0x167)](),++this['loadGeneration'],this[dk(0x1c9)]=null,this['loadedFileSize']=a6['byteLength'];let a7=performance['now']();this['doc']=F(a6),this[dk(0x18c)]=performance['now']()-a7,this[dk(0x163)]();}['clearDocument'](){const dl=aY;this['guardDestroyed'](),++this['loadGeneration'],this['doc']=null,this[dl(0x119)]=-0x1,this[dl(0x1c8)]['clear'](),rt(),this['layerManager']['clear'](),this['measureTool']['deactivate'](),this['requestRender']();}['onDocumentLoaded'](){const dm=aY;if(!this['doc'])return;this[dm(0x13c)]['setLayers'](this['doc']['layers']);let a6=performance['now']();this['spatialIndex'][dm(0x21a)](this['doc'][dm(0x107)],this['doc']),nt(tt(this['doc'])),this['spatialIndexBuildTime']=performance['now']()-a6,this[dm(0x119)]=-0x1,this['measureTool']['deactivate'](),this['currentTool']==='measure'&&this['measureTool']['activate'](),this['fitToView']();}['fitToView'](){const dn=aY;if(this['guardDestroyed'](),!this['doc'])return;let a6=this['computeDocumentBounds']();if(!a6)return;let a7=this['canvas']['getBoundingClientRect']();this['camera']['setTransform'](B(a7[dn(0x1a4)],a7[dn(0x1da)],a6['minX'],a6[dn(0x11c)],a6[dn(0x19a)],a6['maxY'])),this[dn(0x12e)](),this['emitter'][dn(0x1fe)](dn(0x173),this['camera']['getTransform']());}['zoomTo'](a6){const dp=aY;this['guardDestroyed']();let a7=this['canvas'][dp(0x1b9)](),a8=a7['width']/0x2,a9=a7['height']/0x2,aa=a6/this[dp(0x220)]['getTransform']()['scale'];this['camera']['zoom'](a8,a9,aa),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['panTo'](a6,a7){const dq=aY;this['guardDestroyed']();let a8=this['canvas']['getBoundingClientRect'](),a9=this['camera']['getTransform'](),aa=a6*a9['scale']+a9['offsetX'],ab=-a7*a9['scale']+a9['offsetY'],ac=a8[dq(0x1a4)]/0x2-aa,ad=a8['height']/0x2-ab;this[dq(0x220)]['pan'](ac,ad),this['requestRender'](),this['emitter'][dq(0x1fe)]('viewchange',this['camera']['getTransform']());}['getViewTransform'](){return a3({},this['camera']['getTransform']());}['getZoomSpeed'](){return this['options']['zoomSpeed'];}[aY(0x1ab)](){const dr=aY;return this['layerManager'][dr(0x212)]();}[aY(0x1ff)](a6,a7){const ds=aY;this['guardDestroyed'](),this[ds(0x13c)][ds(0x1dc)](a6,a7),this[ds(0x12e)]();}[aY(0x187)](a6,a7){this['guardDestroyed'](),this['layerManager']['setColorOverride'](a6,a7),this['requestRender']();}[aY(0x20f)](a6){const du=aY;this['guardDestroyed'](),this[du(0x157)]['theme']=a6,this['requestRender']();}['getTheme'](){const dv=aY;return this[dv(0x157)]['theme'];}['setBackgroundColor'](a6){this['guardDestroyed'](),this['options']['backgroundColor']=a6,this['requestRender']();}['setTool'](a6){const dw=aY;this['guardDestroyed'](),this['currentTool']==='measure'&&a6!=='measure'&&this['measureTool'][dw(0x236)](),this['currentTool']=a6,this['canvas']['style']['cursor']=this[dw(0x1c5)](a6),a6==='measure'&&this['measureTool'][dw(0x1e9)](),a6!=='select'&&(this[dw(0x119)]=-0x1),this['requestRender']();}['getTool'](){return this['currentTool'];}[aY(0x1c5)](a6){const dx=aY;switch(a6){case'pan':return'grab';case dx(0x1cc):return'crosshair';case dx(0x1af):return dx(0x104);}}['on'](a6,a7){this['emitter']['on'](a6,a7);}['off'](a6,a7){const dy=aY;this[dy(0x213)]['off'](a6,a7);}['getDocument'](){return this['doc'];}['getEntities'](){var a6,a7;return(a6=(a7=this['doc'])==null?void 0x0:a7['entities'])==null?[]:a6;}['resize'](){const dz=aY;this['renderer'][dz(0x112)](),this['requestRender']();}['destroy'](){const dA=aY;var a6;this['destroyed']=!0x0,this['stopDebugLoop'](),this['inputHandler'][dA(0x19c)](),this[dA(0x1a3)]['disconnect'](),this['renderer'][dA(0x19c)](),this['emitter']['removeAllListeners'](),this['spatialIndex'][dA(0x19e)](),rt(),this['layerManager'][dA(0x19e)](),(a6=this['workerManager'])==null||a6['terminate'](),this['workerManager']=null,this['doc']=null;}['requestRender'](){if(!this['destroyed']){if(this['debugRafId']){this['doRender']();return;}this['renderPending']||(this['renderPending']=!0x0,requestAnimationFrame(()=>{this['renderPending']=!0x1,!this['destroyed']&&this['doRender']();}));}}[aY(0x172)](){const dB=aY;if(!this['doc']){this[dB(0x15f)]['renderEmpty'](this['options']['theme']);return;}let a6=this['camera']['getTransform'](),a7=this[dB(0x15f)][dB(0x1c0)](),a8=this['renderer'][dB(0x203)](),a9=this['computeViewportBounds'](a6,a7,a8),aa=this['spatialIndex']['search'](a9['minX'],a9['minY'],a9['maxX'],a9['maxY']),ab=new Set();for(let ag=0x0;ag<aa['length'];ag++)ab['add'](aa[ag]['entityIndex']);let ac=performance['now'](),ad=this['renderer'][dB(0x21d)](this['doc'],a6,this['options']['theme'],this[dB(0x13c)]['getVisibleLayerNames'](),this['selectedEntityIndex'],ab,this['spatialIndex']['getEntityBBoxes']());this['lastFrameTime']=performance['now']()-ac,this['lastRenderStats']=ad;let af=performance[dB(0x1b6)]();for(af-this['lastDoRenderTime']>=0x3&&this[dB(0x16f)]['push'](af),this['lastDoRenderTime']=af;this['frameTimestamps']['length']>0x0&&this['frameTimestamps'][0x0]<af-0x3e8;)this['frameTimestamps'][dB(0x159)]();if(this['currentTool']==='measure'&&this['measureTool']['state']['phase']!=='idle'&&Ht(this['renderer']['getContext'](),this['camera'][dB(0x232)](),this['measureTool'],this['mouseScreenX'],this['mouseScreenY'],this[dB(0x157)]['theme']),this['debugEnabled']){let ah=this['renderer']['getContext'](),ai=this['buildDebugStats']();this['lastDebugStats']=ai,kt(ah,ai,this['options']['theme'],this['debugOptions'],this['renderer'][dB(0x1c0)](),this['renderer']['getHeight']());}}['setDebug'](a6){this['guardDestroyed'](),typeof a6=='boolean'?this['debugEnabled']=a6:(this['debugEnabled']=!0x0,this['debugOptions']=q(a6)),this['debugEnabled']?this['startDebugLoop']():(this['stopDebugLoop'](),this['requestRender']());}['startDebugLoop'](){if(this['debugRafId'])return;let a6=()=>{const dC=a1;if(!this[dC(0x1ef)]||this[dC(0x17e)]){this['debugRafId']=0x0;return;}this['doRender'](),this['debugRafId']=requestAnimationFrame(a6);};this['debugRafId']=requestAnimationFrame(a6);}['stopDebugLoop'](){this['debugRafId']&&(cancelAnimationFrame(this['debugRafId']),this['debugRafId']=0x0);}['getDebugStats'](){const dD=aY;return this['debugEnabled']?this[dD(0x1b0)]:null;}[aY(0x20b)](){const dE=aY;var a6,a7,a8,a9,aa,ab,ac,ad,af;let ag=this['camera']['getTransform'](),ah=this['renderer'][dE(0x1c0)](),ai=this['renderer'][dE(0x203)](),aj=this['computeViewportBounds'](ag,ah,ai);return{'fps':this['frameTimestamps']['length'],'frameTime':this[dE(0x1bb)],'renderStats':(a6=this['lastRenderStats'])==null?{'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}}:a6,'entityCount':(a7=(a8=this['doc'])==null?void 0x0:a8['entities'][dE(0x1e8)])==null?0x0:a7,'layerCount':(a9=(aa=this['doc'])==null?void 0x0:aa['layers']['size'])==null?0x0:a9,'visibleLayerCount':this['layerManager']['getVisibleLayerNames']()['size'],'blockCount':(ab=(ac=this['doc'])==null?void 0x0:ac['blocks']['size'])==null?0x0:ab,'parseTime':this['parseTime'],'spatialIndexBuildTime':this['spatialIndexBuildTime'],'totalLoadTime':this['parseTime']+this[dE(0x1fa)],'zoom':ag['scale'],'pixelSize':ag['scale']>0x0?0x1/ag['scale']:0x0,'viewportBounds':aj,'fileName':this['loadedFileName'],'fileSize':this['loadedFileSize'],'dxfVersion':(ad=(af=this['doc'])==null?void 0x0:af['header']['acadVersion'])==null?null:ad};}['computeViewportBounds'](a6,a7,a8){const dF=aY;let [a9,aa]=R(a6,0x0,a8),[ab,ac]=R(a6,a7,0x0);return{'minX':Math[dF(0x228)](a9,ab),'minY':Math['min'](aa,ac),'maxX':Math[dF(0x131)](a9,ab),'maxY':Math['max'](aa,ac)};}[aY(0x215)](a6,a7){const dG=aY;this['camera']['pan'](a6,a7),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera'][dG(0x232)]());}['handleZoom'](a6,a7,a8){const dH=aY;this['camera']['zoom'](a6,a7,a8),this['requestRender'](),this['emitter'][dH(0x1fe)]('viewchange',this[dH(0x220)][dH(0x232)]());}['handleClick'](a6,a7){const dI=aY;if(!this['doc'])return;let a8=this['camera']['getTransform'](),[a9,aa]=R(a8,a6,a7);switch(this['currentTool']){case'select':this[dI(0x144)](a9,aa,a6,a7);break;case'measure':{let ab=Z(a9,aa,this[dI(0x22b)]['entities'],this[dI(0x1c8)],a8[dI(0x177)]),ac=ab['length']>0x0?ab[0x0]:null,ad=this[dI(0x134)]['handleClick'](a9,aa,ac);this['requestRender'](),ad&&this['emitter']['emit']('measure',ad);break;}}}['handleMouseMove'](a6,a7){const dJ=aY;if(this[dJ(0x1df)]=a6,this[dJ(0x22d)]=a7,this[dJ(0x10c)]==='measure'&&this[dJ(0x22b)]){var a8;let a9=this[dJ(0x220)]['getTransform'](),[aa,ab]=R(a9,a6,a7),ac=Z(aa,ab,this['doc']['entities'],this['spatialIndex'],a9['scale']);this['measureTool'][dJ(0x195)]((a8=ac[0x0])==null?null:a8),this['requestRender']();}}['handleSelect'](a6,a7,a8,a9){const dK=aY;if(!this['doc'])return;let aa=Ft(a6,a7,this['doc']['entities'],this['spatialIndex'],this['layerManager'][dK(0x126)](),this['camera'][dK(0x232)]()['scale']);if(this['selectedEntityIndex']=aa,this['requestRender'](),aa>=0x0&&this['doc']){let ab=this['doc']['entities'][aa];ab&&this['emitter']['emit']('select',{'entity':ab,'entityIndex':aa,'worldPoint':{'x':a6,'y':a7},'screenPoint':{'x':a8,'y':a9}});}}[aY(0x145)](){const dL=aY;return this['doc']?this['doc']['header']['extMin']&&this['doc']['header']['extMax']?{'minX':this[dL(0x22b)]['header']['extMin']['x'],'minY':this[dL(0x22b)]['header'][dL(0x200)]['y'],'maxX':this['doc']['header']['extMax']['x'],'maxY':this['doc']['header']['extMax']['y']}:$e(this['doc']['entities']):null;}};export{Kt as CadViewer,Ne as Camera,St as CanvasRenderer,P as DxfParseError,jt as EventEmitter,At as LayerManager,Vt as MeasureTool,Pt as SpatialIndex,I as THEMES,Ae as aciToDisplayColor,ke as aciToHex,z as applyTransform,$e as computeEntitiesBounds,G as computeEntityBBox,K as drawEntity,Z as findSnaps,B as fitToView,Ft as hitTest,F as parseDxf,kt as renderDebugOverlay,Ht as renderMeasureOverlay,V as resolveEntityColor,R as screenToWorld,je as trueColorToHex,L as worldToScreen,Me as zoomAtPoint};
|
|
1
|
+
const b2=a1;(function(a6,a7){const aX=a1,a8=a6();while(!![]){try{const a9=-parseInt(aX(0x18e))/0x1+-parseInt(aX(0x1c7))/0x2+-parseInt(aX(0x198))/0x3*(parseInt(aX(0x159))/0x4)+parseInt(aX(0x163))/0x5+parseInt(aX(0x151))/0x6+-parseInt(aX(0x187))/0x7*(parseInt(aX(0xf7))/0x8)+parseInt(aX(0x1c8))/0x9;if(a9===a7)break;else a8['push'](a8['shift']());}catch(aa){a8['push'](a8['shift']());}}}(a0,0xac7af));import{n as a2,t}from'./defineProperty.js';import{n,t as a3}from'./objectSpread2.js';import{n as a4,t as a5}from'./asyncToGenerator.js';function o(a6,a7,a8=0x0,a9=a6['length']-0x1,aa=c){for(;a9>a8;){if(a9-a8>0x258){let af=a9-a8+0x1,ag=a7-a8+0x1,ah=Math['log'](af),ai=0.5*Math['exp'](0x2*ah/0x3),aj=0.5*Math['sqrt'](ah*ai*(af-ai)/af)*(ag-af/0x2<0x0?-0x1:0x1);o(a6,a7,Math['max'](a8,Math['floor'](a7-ag*ai/af+aj)),Math['min'](a9,Math['floor'](a7+(af-ag)*ai/af+aj)),aa);}let ab=a6[a7],ac=a8,ad=a9;for(s(a6,a8,a7),aa(a6[a9],ab)>0x0&&s(a6,a8,a9);ac<ad;){for(s(a6,ac,ad),ac++,ad--;aa(a6[ac],ab)<0x0;)ac++;for(;aa(a6[ad],ab)>0x0;)ad--;}aa(a6[a8],ab)===0x0?s(a6,a8,ad):(ad++,s(a6,ad,a9)),ad<=a7&&(a8=ad+0x1),a7<=ad&&(a9=ad-0x1);}}function s(a6,a7,a8){let a9=a6[a7];a6[a7]=a6[a8],a6[a8]=a9;}function c(a6,a7){return a6<a7?-0x1:+(a6>a7);}var l=class{constructor(a6=0x9){this['_maxEntries']=Math['max'](0x4,a6),this['_minEntries']=Math['max'](0x2,Math['ceil'](this['_maxEntries']*0.4)),this['clear']();}['all'](){const aY=a1;return this['_all'](this[aY(0x1ee)],[]);}['search'](a6){const aZ=a1;let a7=this['data'],a8=[];if(!x(a6,a7))return a8;let a9=this[aZ(0x188)],aa=[];for(;a7;){for(let ab=0x0;ab<a7['children']['length'];ab++){let ac=a7['children'][ab],ad=a7[aZ(0x17b)]?a9(ac):ac;x(a6,ad)&&(a7['leaf']?a8['push'](ac):b(a6,ad)?this['_all'](ac,a8):aa['push'](ac));}a7=aa[aZ(0xe7)]();}return a8;}['collides'](a6){const b0=a1;let a7=this[b0(0x1ee)];if(!x(a6,a7))return!0x1;let a8=[];for(;a7;){for(let a9=0x0;a9<a7['children']['length'];a9++){let aa=a7['children'][a9],ab=a7[b0(0x17b)]?this['toBBox'](aa):aa;if(x(a6,ab)){if(a7['leaf']||b(a6,ab))return!0x0;a8[b0(0xfc)](aa);}}a7=a8['pop']();}return!0x1;}['load'](a6){const b1=a1;if(!(a6&&a6['length']))return this;if(a6['length']<this['_minEntries']){for(let a8=0x0;a8<a6[b1(0x16c)];a8++)this[b1(0x1d1)](a6[a8]);return this;}let a7=this[b1(0xef)](a6['slice'](),0x0,a6['length']-0x1,0x0);if(!this['data']['children']['length'])this['data']=a7;else{if(this[b1(0x1ee)]['height']===a7['height'])this[b1(0x136)](this[b1(0x1ee)],a7);else{if(this['data'][b1(0xd2)]<a7['height']){let a9=this[b1(0x1ee)];this['data']=a7,a7=a9;}this['_insert'](a7,this[b1(0x1ee)]['height']-a7['height']-0x1,!0x0);}}return this;}[b2(0x1d1)](a6){return a6&&this['_insert'](a6,this['data']['height']-0x1),this;}['clear'](){return this['data']=S([]),this;}[b2(0x1a0)](a6,a7){if(!a6)return this;let a8=this['data'],a9=this['toBBox'](a6),aa=[],ab=[],ac,ad,af;for(;a8||aa['length'];){if(a8||(a8=aa['pop'](),ad=aa[aa['length']-0x1],ac=ab['pop'](),af=!0x0),a8['leaf']){let ag=u(a6,a8['children'],a7);if(ag!==-0x1)return a8['children']['splice'](ag,0x1),aa['push'](a8),this['_condense'](aa),this;}!af&&!a8['leaf']&&b(a8,a9)?(aa['push'](a8),ab['push'](ac),ac=0x0,ad=a8,a8=a8['children'][0x0]):ad?(ac++,a8=ad['children'][ac],af=!0x1):a8=null;}return this;}['toBBox'](a6){return a6;}['compareMinX'](a6,a7){const b3=b2;return a6[b3(0x1d7)]-a7['minX'];}[b2(0xfb)](a6,a7){return a6['minY']-a7['minY'];}[b2(0x10d)](){return this['data'];}['fromJSON'](a6){return this['data']=a6,this;}['_all'](a6,a7){const b4=b2;let a8=[];for(;a6;)a6['leaf']?a7[b4(0xfc)](...a6['children']):a8['push'](...a6[b4(0x133)]),a6=a8['pop']();return a7;}['_build'](a6,a7,a8,a9){const b5=b2;let aa=a8-a7+0x1,ab=this['_maxEntries'],ac;if(aa<=ab)return ac=S(a6[b5(0x10a)](a7,a8+0x1)),d(ac,this[b5(0x188)]),ac;a9||(a9=Math['ceil'](Math['log'](aa)/Math['log'](ab)),ab=Math['ceil'](aa/Math['pow'](ab,a9-0x1))),ac=S([]),ac['leaf']=!0x1,ac['height']=a9;let ad=Math['ceil'](aa/ab),af=ad*Math['ceil'](Math['sqrt'](ab));C(a6,a7,a8,af,this['compareMinX']);for(let ag=a7;ag<=a8;ag+=af){let ah=Math['min'](ag+af-0x1,a8);C(a6,ag,ah,ad,this['compareMinY']);for(let ai=ag;ai<=ah;ai+=ad){let aj=Math['min'](ai+ad-0x1,ah);ac['children']['push'](this['_build'](a6,ai,aj,a9-0x1));}}return d(ac,this['toBBox']),ac;}[b2(0x178)](a6,a7,a8,a9){const b6=b2;for(;a9[b6(0xfc)](a7),!(a7['leaf']||a9['length']-0x1===a8);){let aa=Infinity,ab=Infinity,ac;for(let ad=0x0;ad<a7['children']['length'];ad++){let af=a7['children'][ad],ag=g(af),ah=v(a6,af)-ag;ah<ab?(ab=ah,aa=ag<aa?ag:aa,ac=af):ah===ab&&ag<aa&&(aa=ag,ac=af);}a7=ac||a7['children'][0x0];}return a7;}[b2(0xc2)](a6,a7,a8){let a9=a8?a6:this['toBBox'](a6),aa=[],ab=this['_chooseSubtree'](a9,this['data'],a7,aa);for(ab['children']['push'](a6),p(ab,a9);a7>=0x0&&aa[a7]['children']['length']>this['_maxEntries'];)this['_split'](aa,a7),a7--;this['_adjustParentBBoxes'](a9,aa,a7);}['_split'](a6,a7){const b7=b2;let a8=a6[a7],a9=a8['children']['length'],aa=this['_minEntries'];this[b7(0xf0)](a8,aa,a9);let ab=this['_chooseSplitIndex'](a8,aa,a9),ac=S(a8['children'][b7(0x1c4)](ab,a8['children'][b7(0x16c)]-ab));ac['height']=a8['height'],ac['leaf']=a8['leaf'],d(a8,this[b7(0x188)]),d(ac,this['toBBox']),a7?a6[a7-0x1]['children']['push'](ac):this[b7(0x136)](a8,ac);}['_splitRoot'](a6,a7){const b8=b2;this['data']=S([a6,a7]),this['data'][b8(0xd2)]=a6['height']+0x1,this['data'][b8(0x17b)]=!0x1,d(this['data'],this[b8(0x188)]);}['_chooseSplitIndex'](a6,a7,a8){const b9=b2;let a9,aa=Infinity,ab=Infinity;for(let ac=a7;ac<=a8-a7;ac++){let ad=f(a6,0x0,ac,this['toBBox']),af=f(a6,ac,a8,this[b9(0x188)]),ag=y(ad,af),ah=g(ad)+g(af);ag<aa?(aa=ag,a9=ac,ab=ah<ab?ah:ab):ag===aa&&ah<ab&&(ab=ah,a9=ac);}return a9||a8-a7;}['_chooseSplitAxis'](a6,a7,a8){let a9=a6['leaf']?this['compareMinX']:m,aa=a6['leaf']?this['compareMinY']:h;this['_allDistMargin'](a6,a7,a8,a9)<this['_allDistMargin'](a6,a7,a8,aa)&&a6['children']['sort'](a9);}['_allDistMargin'](a6,a7,a8,a9){const ba=b2;a6[ba(0x133)]['sort'](a9);let aa=this[ba(0x188)],ab=f(a6,0x0,a7,aa),ac=f(a6,a8-a7,a8,aa),ad=_(ab)+_(ac);for(let af=a7;af<a8-a7;af++){let ag=a6['children'][af];p(ab,a6[ba(0x17b)]?aa(ag):ag),ad+=_(ab);}for(let ah=a8-a7-0x1;ah>=a7;ah--){let ai=a6['children'][ah];p(ac,a6[ba(0x17b)]?aa(ai):ai),ad+=_(ac);}return ad;}[b2(0xf5)](a6,a7,a8){for(let a9=a8;a9>=0x0;a9--)p(a7[a9],a6);}['_condense'](a6){for(let a7=a6['length']-0x1,a8;a7>=0x0;a7--)a6[a7]['children']['length']===0x0?a7>0x0?(a8=a6[a7-0x1]['children'],a8['splice'](a8['indexOf'](a6[a7]),0x1)):this['clear']():d(a6[a7],this['toBBox']);}};function u(a6,a7,a8){if(!a8)return a7['indexOf'](a6);for(let a9=0x0;a9<a7['length'];a9++)if(a8(a6,a7[a9]))return a9;return-0x1;}function d(a6,a7){f(a6,0x0,a6['children']['length'],a7,a6);}function f(a6,a7,a8,a9,aa){aa||(aa=S(null)),aa['minX']=Infinity,aa['minY']=Infinity,aa['maxX']=-Infinity,aa['maxY']=-Infinity;for(let ab=a7;ab<a8;ab++){let ac=a6['children'][ab];p(aa,a6['leaf']?a9(ac):ac);}return aa;}function p(a6,a7){const bb=b2;return a6['minX']=Math['min'](a6['minX'],a7['minX']),a6['minY']=Math['min'](a6[bb(0x102)],a7['minY']),a6['maxX']=Math['max'](a6['maxX'],a7['maxX']),a6[bb(0x1ac)]=Math[bb(0xe0)](a6['maxY'],a7['maxY']),a6;}function m(a6,a7){return a6['minX']-a7['minX'];}function h(a6,a7){return a6['minY']-a7['minY'];}function g(a6){const bc=b2;return(a6[bc(0x197)]-a6[bc(0x1d7)])*(a6['maxY']-a6['minY']);}function _(a6){return a6['maxX']-a6['minX']+(a6['maxY']-a6['minY']);}function v(a6,a7){const bd=b2;return(Math['max'](a7['maxX'],a6[bd(0x197)])-Math['min'](a7['minX'],a6['minX']))*(Math['max'](a7[bd(0x1ac)],a6['maxY'])-Math[bd(0x128)](a7[bd(0x102)],a6['minY']));}function y(a6,a7){const bf=b2;let a8=Math[bf(0xe0)](a6['minX'],a7['minX']),a9=Math['max'](a6['minY'],a7['minY']),aa=Math['min'](a6['maxX'],a7['maxX']),ab=Math['min'](a6['maxY'],a7['maxY']);return Math['max'](0x0,aa-a8)*Math['max'](0x0,ab-a9);}function b(a6,a7){const bg=b2;return a6['minX']<=a7['minX']&&a6['minY']<=a7['minY']&&a7['maxX']<=a6['maxX']&&a7[bg(0x1ac)]<=a6['maxY'];}function x(a6,a7){return a7['minX']<=a6['maxX']&&a7['minY']<=a6['maxY']&&a7['maxX']>=a6['minX']&&a7['maxY']>=a6['minY'];}function S(a6){return{'children':a6,'height':0x1,'leaf':!0x0,'minX':Infinity,'minY':Infinity,'maxX':-Infinity,'maxY':-Infinity};}function C(a6,a7,a8,a9,aa){const bh=b2;let ab=[a7,a8];for(;ab[bh(0x16c)];){if(a8=ab['pop'](),a7=ab['pop'](),a8-a7<=a9)continue;let ac=a7+Math['ceil']((a8-a7)/a9/0x2)*a9;o(a6,ac,a7,a8,aa),ab['push'](a7,ac,ac,a8);}}n(),a2(),a4();function w(a6){let a7=a6['replace'](/\r\n?/g,'\x0a'),a8=[],a9=a7['length'],aa=0x0;for(;aa<a9;){for(;aa<a9&&a7['charCodeAt'](aa)===0xa;)aa++;if(aa>=a9)break;let ab=a7['indexOf']('\x0a',aa);ab===-0x1&&(ab=a9);let ac=a7['substring'](aa,ab)['trim']();aa=ab+0x1;let ad=parseInt(ac,0xa);if(isNaN(ad)){aa<a9&&(ab=a7['indexOf']('\x0a',aa),ab===-0x1&&(ab=a9),aa=ab+0x1);continue;}if(aa>=a9)break;ab=a7['indexOf']('\x0a',aa),ab===-0x1&&(ab=a9);let af=a7['substring'](aa,ab)['replace'](/\s+$/,'');aa=ab+0x1,a8['push']({'code':ad,'value':af});}return a8;}function T(a6,a7,a8){const bi=b2;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDSEC')return a7+0x1;if(a9['code']===0x9){let aa=a9['value'];switch(a7++,aa){case'$ACADVER':a7<a6['length']&&(a8[bi(0xc0)]=a6[a7]['value'],a7++);break;case'$EXTMIN':if(a7<a6['length']){let ab=E(a6,a7);a8[bi(0x14f)]=ab['point'],a7=ab[bi(0x1eb)];}break;case'$EXTMAX':if(a7<a6['length']){let ac=E(a6,a7);a8[bi(0x1a3)]=ac['point'],a7=ac[bi(0x1eb)];}break;case'$INSUNITS':a7<a6['length']&&(a8['insUnits']=parseInt(a6[a7]['value'],0xa),a7++);break;case'$MEASUREMENT':a7<a6['length']&&(a8[bi(0x10b)]=parseInt(a6[a7][bi(0x129)],0xa),a7++);break;case bi(0x1d6):a7<a6['length']&&(a8['ltScale']=parseFloat(a6[a7]['value']),a7++);break;case'$DWGCODEPAGE':a7<a6[bi(0x16c)]&&(a8[bi(0x117)]=a6[a7]['value'],a7++);break;case'$HANDSEED':a7<a6['length']&&(a8[bi(0x1c2)]=a6[a7][bi(0x129)],a7++);break;default:for(;a7<a6['length']&&a6[a7]['code']!==0x9&&a6[a7]['code']!==0x0;)a8[aa]=a6[a7]['value'],a7++;}}else a7++;}return a7;}function E(a6,a7){let a8={'x':0x0,'y':0x0,'z':0x0};for(;a7<a6['length'];){let a9=a6[a7]['code'];if(a9===0xa)a8['x']=parseFloat(a6[a7]['value']),a7++;else{if(a9===0x14)a8['y']=parseFloat(a6[a7]['value']),a7++;else{if(a9===0x1e)a8['z']=parseFloat(a6[a7]['value']),a7++;else break;}}}return{'point':a8,'nextIndex':a7};}function a0(){const dQ=['setVisible','getContext','13px\x20monospace','clientY','load','getTool','MTEXT','emitter','\x20/\x20','text','byType','bulge','handleSeed','startsWith','splice','LTYPE','defPoint2','1355844XWdMSA','22441545JSjiMs','ARC','tag','LINE','measure','onmessage','updateSize','lineTo','runConverters','insert','radius','beginPath','worker','mouseScreenX','$LTSCALE','minX','DIMENSION','left','pattern','end','generationFlags','knots','items','resizeObserver','layers','\x22Courier\x20New\x22,\x20monospace','width','dimStyle','degree','fitPoints','\x20MB','layer','layerManager','getWorker','Size:\x20','nextIndex','ENDSEC','loadGeneration','data','columnSpacing','now','Index:\x20','styles','button','acadVersion','viewchange','_insert','devicePixelRatio','touchend','#ff6600','lastDoRenderTime','theme','touches','style','delete','lastY','build','convert','backgroundColor','setTransform','endTangent','offsetY','height','pending','strokeRect','offsetX','rotation','viewer','position','defPoint3','doRender','center','getHeight','lastFrameTime','INSERT','color','max','restore','map','midpoint','currentSnap','endAngle','maxZoom','pop','columnCount','moveTo','floor','ctx','blocks','clientX','onWheel','_build','_chooseSplitAxis','grabbing','defPoint4','select','onPointerUp','_adjustParentBBoxes','startTangent','984tXXnsP','lastDebugStats','render','start','compareMinY','push','inputHandler','trueColor','done','clear','startAngle','minY','getCursorForTool','handleTouchMove','deltaY','options','entityBBoxes','stopDebugLoop','pow','slice','measurement','STYLE','toJSON','lineWeight','alignmentPoint','widthFactor','distance','handleTouchStart','is3d','add','transform','entries','dwgCodePage','drawingDirection','totalLoadTime','lineWidth','debugEnabled','majorAxis','scale','getVisibleLayerNames','canvas','point','measureColor','sqrt','onTouchMove','viewportBounds','string','spatialIndexBuildTime','spatialIndex','min','value','zoom','fill','patternAngle','camera','doc','#ffffff','line','abs','buildDebugStats','children','trim','loadedFileSize','_splitRoot','blockName','POLYLINE','SPLINE','lastRenderStats','touchmove','vertices','renderStats','rowSpacing','getBoundingClientRect','pixelSize','handleWheel','get','defaultEntityColor','lineTypes','px\x20','controlPoints','name','insertionPoint','sin','attachmentPoint','closePath','requestRender','removeEventListener','*Model_Space','extMin','replace','1956972uLXKsR','emit','ascii','destroy','top','firstPoint','getDocument','onTouchStart','968FnJHaF','hAlign','grab','handleClick','renderer','textDirection','fillText','guardDestroyed','size','blobUrl','5826965AqdBYG','phase','handleMouseMove','getTransform','parseTime','toFixed','entitiesDrawn','strokeStyle','0\x20B','length','flags','lastX','scaleX','utf-8','cause','arc','basePoint','closed','currentTool','\x20\x20Blocks:\x20','dark','_chooseSubtree','off','tree','leaf','visibleCache','search','CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.','stroke','TEXT','parse','getEntityBBoxes','header','textRotation','set','fillRect','79282qNhHcX','toBBox','byteLength','lineType','ELLIPSE','has','debugOptions','161153fRTSwc','boundaryPaths','AC1021','type','isFrozen','setColorOverride','textAlign','entities','edges','maxX','12972mMdcZQ','secondPoint','padStart','endpoint','loadArrayBuffer','POINT','frameTimestamps','listeners','remove','cursor','code','extMax','shift_jis','hypot','ellipse','deactivate','onDocumentLoaded','attribs','getLayers','state','maxY','zoomSpeed','drawCalls','split','tan','entitiesSkipped','maxScale','workerManager','destroyed','atan2'];a0=function(){return dQ;};return a0();}function D(a6,a7,a8){const bj=b2;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bj(0x1ec))return a7+0x1;if(a9['code']===0x0&&a9['value']==='TABLE'){if(a7++,a7>=a6['length'])break;let aa=a6[a7][bj(0x129)];switch(a7++,aa){case'LAYER':a7=k(a6,a7,a8['layers']);break;case'LTYPE':a7=ee(a6,a7,a8['lineTypes']);break;case bj(0x10c):a7=te(a6,a7,a8[bj(0xbe)]);break;default:a7=O(a6,a7);break;}}else a7++;}return a7;}function O(a6,a7){const bk=b2;for(;a7<a6[bk(0x16c)];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDTAB')return a7+0x1;a7++;}return a7;}function k(a6,a7,a8){const bl=b2;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9[bl(0x129)]==='LAYER'){a7++;let aa={'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1};for(;a7<a6['length']&&a6[a7][bl(0x1a2)]!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab['value'];break;case 0x6:aa['lineType']=ab[bl(0x129)];break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;case 0x46:aa['flags']=parseInt(ab['value'],0xa);break;case 0x172:aa[bl(0x10e)]=parseInt(ab['value'],0xa);break;case 0x1a4:aa['trueColor']=parseInt(ab['value'],0xa);break;}a7++;}a8['set'](aa['name'],aa);}else a7++;}return a7;}function ee(a6,a7,a8){const bm=b2;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9[bm(0x129)]==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9['value']===bm(0x1c5)){a7++;let aa={'name':'','description':'','pattern':[],'totalLength':0x0};for(;a7<a6['length']&&a6[a7][bm(0x1a2)]!==0x0;){let ab=a6[a7];switch(ab[bm(0x1a2)]){case 0x2:aa[bm(0x147)]=ab['value'];break;case 0x3:aa['description']=ab[bm(0x129)];break;case 0x28:aa['totalLength']=parseFloat(ab[bm(0x129)]);break;case 0x31:aa[bm(0x1da)]['push'](parseFloat(ab['value']));break;}a7++;}aa['name']&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function te(a6,a7,a8){const bn=b2;for(;a7<a6[bn(0x16c)];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9['code']===0x0&&a9['value']==='STYLE'){a7++;let aa={'name':'','fontName':'','bigFontName':'','height':0x0,'widthFactor':0x1,'obliqueAngle':0x0};for(;a7<a6['length']&&a6[a7][bn(0x1a2)]!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab[bn(0x129)];break;case 0x3:aa['fontName']=ab['value'];break;case 0x4:aa['bigFontName']=ab['value'];break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x29:aa[bn(0x110)]=parseFloat(ab['value']);break;case 0x32:aa['obliqueAngle']=parseFloat(ab['value']);break;}a7++;}aa[bn(0x147)]&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function A(a6){const bo=b2;let a7={'type':'','layer':'0','color':0x100,'lineType':'BYLAYER','lineTypeScale':0x1,'lineWeight':-0x1,'visible':!0x0,'extrusion':{'x':0x0,'y':0x0,'z':0x1}};for(let a8 of a6)switch(a8['code']){case 0x5:a7['handle']=a8['value'];break;case 0x8:a7['layer']=a8['value'];break;case 0x6:a7[bo(0x18a)]=a8['value'];break;case 0x30:a7['lineTypeScale']=parseFloat(a8['value']);break;case 0x3c:a7['visible']=a8['value']==='0'||a8[bo(0x129)]==='';break;case 0x3e:a7[bo(0xdf)]=parseInt(a8[bo(0x129)],0xa);break;case 0x172:a7[bo(0x10e)]=parseInt(a8['value'],0xa);break;case 0x1a4:a7['trueColor']=parseInt(a8['value'],0xa);break;case 0xd2:a7['extrusion']['x']=parseFloat(a8['value']);break;case 0xdc:a7['extrusion']['y']=parseFloat(a8['value']);break;case 0xe6:a7['extrusion']['z']=parseFloat(a8[bo(0x129)]);break;}return a7;}function ne(a6){const bp=b2;let a7=a3(a3({},A(a6)),{},{'type':'LINE','start':{'x':0x0,'y':0x0,'z':0x0},'end':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7[bp(0xfa)]['x']=parseFloat(a8['value']);break;case 0x14:a7['start']['y']=parseFloat(a8[bp(0x129)]);break;case 0x1e:a7[bp(0xfa)]['z']=parseFloat(a8['value']);break;case 0xb:a7['end']['x']=parseFloat(a8['value']);break;case 0x15:a7['end']['y']=parseFloat(a8['value']);break;case 0x1f:a7['end']['z']=parseFloat(a8['value']);break;}return a7;}function re(a6){const bq=b2;let a7=a3(a3({},A(a6)),{},{'type':'CIRCLE','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0});for(let a8 of a6)switch(a8['code']){case 0xa:a7[bq(0xdb)]['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8[bq(0x129)]);break;case 0x28:a7['radius']=parseFloat(a8['value']);break;}return a7;}function ie(a6){const br=b2;let a7=a3(a3({},A(a6)),{},{'type':'ARC','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168});for(let a8 of a6)switch(a8['code']){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0x28:a7[br(0x1d2)]=parseFloat(a8[br(0x129)]);break;case 0x32:a7['startAngle']=parseFloat(a8['value']);break;case 0x33:a7['endAngle']=parseFloat(a8['value']);break;}return a7;}function ae(a6){const bs=b2;let a7=a3(a3({},A(a6)),{},{'type':'LWPOLYLINE','vertices':[],'closed':!0x1,'constantWidth':0x0,'elevation':0x0}),a8=null;for(let a9 of a6)switch(a9['code']){case 0x46:a7['closed']=(parseInt(a9[bs(0x129)],0xa)&0x1)!=0x0;break;case 0x26:a7['elevation']=parseFloat(a9['value']);break;case 0x2b:a7['constantWidth']=parseFloat(a9['value']);break;case 0xa:a8&&a7[bs(0x13c)][bs(0xfc)](a8),a8={'x':parseFloat(a9['value']),'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(a9['value']));break;case 0x28:a8&&(a8['startWidth']=parseFloat(a9[bs(0x129)]));break;case 0x29:a8&&(a8['endWidth']=parseFloat(a9[bs(0x129)]));break;case 0x2a:a8&&(a8['bulge']=parseFloat(a9['value']));break;}return a8&&a7['vertices']['push'](a8),a7;}function oe(a6){const bu=b2;let a7=a3(a3({},A(a6)),{},{'type':'POLYLINE','vertices':[],'closed':!0x1,'is3d':!0x1});for(let a8 of a6)switch(a8[bu(0x1a2)]){case 0x46:{let a9=parseInt(a8['value'],0xa);a7['closed']=(a9&0x1)!=0x0,a7[bu(0x113)]=(a9&0x8)!=0x0;break;}}return a7;}function se(a6){const bv=b2;let a7=a3(a3({},A(a6)),{},{'type':'ELLIPSE','center':{'x':0x0,'y':0x0,'z':0x0},'majorAxis':{'x':0x1,'y':0x0,'z':0x0},'minorRatio':0x1,'startParam':0x0,'endParam':Math['PI']*0x2});for(let a8 of a6)switch(a8[bv(0x1a2)]){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8[bv(0x129)]);break;case 0xb:a7['majorAxis']['x']=parseFloat(a8[bv(0x129)]);break;case 0x15:a7['majorAxis']['y']=parseFloat(a8[bv(0x129)]);break;case 0x1f:a7['majorAxis']['z']=parseFloat(a8[bv(0x129)]);break;case 0x28:a7['minorRatio']=parseFloat(a8['value']);break;case 0x29:a7['startParam']=parseFloat(a8['value']);break;case 0x2a:a7['endParam']=parseFloat(a8['value']);break;}return a7;}function ce(a6){const bw=b2;let a7=a3(a3({},A(a6)),{},{'type':bw(0x139),'degree':0x3,'flags':0x0,'knots':[],'controlPoints':[],'fitPoints':[],'weights':[]}),a8=null,a9=null;for(let aa of a6)switch(aa['code']){case 0x46:a7['flags']=parseInt(aa[bw(0x129)],0xa);break;case 0x47:a7[bw(0x1e4)]=parseInt(aa[bw(0x129)],0xa);break;case 0x28:a7['knots'][bw(0xfc)](parseFloat(aa['value']));break;case 0x29:a7['weights']['push'](parseFloat(aa['value']));break;case 0xa:a8&&a7[bw(0x146)]['push'](a8),a8={'x':parseFloat(aa['value']),'y':0x0,'z':0x0};break;case 0x14:a8&&(a8['y']=parseFloat(aa['value']));break;case 0x1e:a8&&(a8['z']=parseFloat(aa[bw(0x129)]));break;case 0xb:a9&&a7['fitPoints']['push'](a9),a9={'x':parseFloat(aa['value']),'y':0x0,'z':0x0};break;case 0x15:a9&&(a9['y']=parseFloat(aa['value']));break;case 0x1f:a9&&(a9['z']=parseFloat(aa['value']));break;case 0xc:a7[bw(0xf6)]||(a7['startTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['startTangent']['x']=parseFloat(aa['value']);break;case 0x16:a7['startTangent']&&(a7['startTangent']['y']=parseFloat(aa['value']));break;case 0x20:a7['startTangent']&&(a7['startTangent']['z']=parseFloat(aa[bw(0x129)]));break;case 0xd:a7['endTangent']||(a7['endTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['endTangent']['x']=parseFloat(aa[bw(0x129)]);break;case 0x17:a7['endTangent']&&(a7[bw(0xd0)]['y']=parseFloat(aa[bw(0x129)]));break;case 0x21:a7['endTangent']&&(a7[bw(0xd0)]['z']=parseFloat(aa['value']));break;}return a8&&a7['controlPoints'][bw(0xfc)](a8),a9&&a7['fitPoints']['push'](a9),a7;}function le(a6){const bx=b2;let a7=a3(a3({},A(a6)),{},{'type':'TEXT','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'widthFactor':0x1,'obliqueAngle':0x0,'style':'STANDARD','hAlign':0x0,'vAlign':0x0,'generationFlags':0x0});for(let a8 of a6)switch(a8['code']){case 0x1:a7['text']=a8['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a8['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8['value']);break;case 0xb:a7['alignmentPoint']||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['x']=parseFloat(a8['value']);break;case 0x15:a7[bx(0x10f)]||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7['alignmentPoint']['y']=parseFloat(a8['value']);break;case 0x1f:a7[bx(0x10f)]||(a7['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a7[bx(0x10f)]['z']=parseFloat(a8['value']);break;case 0x28:a7['height']=parseFloat(a8[bx(0x129)]);break;case 0x29:a7['widthFactor']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8[bx(0x129)]);break;case 0x33:a7['obliqueAngle']=parseFloat(a8['value']);break;case 0x7:a7[bx(0xc9)]=a8['value'];break;case 0x47:a7[bx(0x1dc)]=parseInt(a8['value'],0xa);break;case 0x48:a7[bx(0x15a)]=parseInt(a8['value'],0xa);break;case 0x49:a7['vAlign']=parseInt(a8['value'],0xa);break;}return a7;}function ue(a6){const by=b2;let a7=a3(a3({},A(a6)),{},{'type':by(0x1bc),'text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'width':0x0,'attachmentPoint':0x1,'drawingDirection':0x1,'rotation':0x0,'lineSpacingStyle':0x1,'lineSpacingFactor':0x1,'style':'STANDARD','bgFill':0x0,'bgFillScale':1.5}),a8=[];for(let a9 of a6)switch(a9['code']){case 0x1:a8['push'](a9['value']);break;case 0x3:a8['push'](a9['value']);break;case 0x7:a7[by(0xc9)]=a9['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a9[by(0x129)]);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a9['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a9['value']);break;case 0xb:a7[by(0x15e)]||(a7[by(0x15e)]={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['x']=parseFloat(a9['value']);break;case 0x15:a7['textDirection']||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['y']=parseFloat(a9['value']);break;case 0x1f:a7[by(0x15e)]||(a7['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a7['textDirection']['z']=parseFloat(a9['value']);break;case 0x28:a7['height']=parseFloat(a9['value']);break;case 0x29:a7['width']=parseFloat(a9[by(0x129)]);break;case 0x2c:a7['lineSpacingFactor']=parseFloat(a9['value']);break;case 0x32:a7['rotation']=parseFloat(a9['value']);break;case 0x47:a7[by(0x14a)]=parseInt(a9['value'],0xa);break;case 0x48:a7[by(0x118)]=parseInt(a9[by(0x129)],0xa);break;case 0x49:a7['lineSpacingStyle']=parseInt(a9['value'],0xa);break;case 0x5a:a7['bgFill']=parseInt(a9['value'],0xa);break;}return a7['text']=a8['join'](''),a7;}function de(a6){const bz=b2;let a7=a3(a3({},A(a6)),{},{'type':bz(0xde),'blockName':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'scaleX':0x1,'scaleY':0x1,'scaleZ':0x1,'rotation':0x0,'columnCount':0x1,'rowCount':0x1,'columnSpacing':0x0,'rowSpacing':0x0,'attribs':[]});for(let a8 of a6)switch(a8['code']){case 0x2:a7['blockName']=a8['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a8['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a8['value']);break;case 0x29:a7[bz(0x16f)]=parseFloat(a8['value']);break;case 0x2a:a7['scaleY']=parseFloat(a8['value']);break;case 0x2b:a7['scaleZ']=parseFloat(a8['value']);break;case 0x2c:a7['columnSpacing']=parseFloat(a8['value']);break;case 0x2d:a7['rowSpacing']=parseFloat(a8['value']);break;case 0x32:a7['rotation']=parseFloat(a8[bz(0x129)]);break;case 0x46:a7['columnCount']=parseInt(a8['value'],0xa)||0x1;break;case 0x47:a7['rowCount']=parseInt(a8['value'],0xa)||0x1;break;}return a7;}function fe(a6){const bA=b2;let a7=a3(a3({},A(a6)),{},{'type':'DIMENSION','blockName':'','dimStyle':'STANDARD','dimType':0x0,'defPoint':{'x':0x0,'y':0x0,'z':0x0},'textMidpoint':{'x':0x0,'y':0x0,'z':0x0},'textOverride':'','rotation':0x0,'textRotation':0x0,'leaderLength':0x0});for(let a8 of a6)switch(a8['code']){case 0x1:a7['textOverride']=a8[bA(0x129)];break;case 0x2:a7['blockName']=a8['value'];break;case 0x3:a7[bA(0x1e3)]=a8['value'];break;case 0xa:a7['defPoint']['x']=parseFloat(a8['value']);break;case 0x14:a7['defPoint']['y']=parseFloat(a8['value']);break;case 0x1e:a7['defPoint']['z']=parseFloat(a8['value']);break;case 0xb:a7['textMidpoint']['x']=parseFloat(a8['value']);break;case 0x15:a7['textMidpoint']['y']=parseFloat(a8['value']);break;case 0x1f:a7['textMidpoint']['z']=parseFloat(a8[bA(0x129)]);break;case 0xd:a7['defPoint2']||(a7[bA(0x1c6)]={'x':0x0,'y':0x0,'z':0x0}),a7[bA(0x1c6)]['x']=parseFloat(a8['value']);break;case 0x17:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['y']=parseFloat(a8['value']);break;case 0x21:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7[bA(0x1c6)]['z']=parseFloat(a8[bA(0x129)]);break;case 0xe:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['x']=parseFloat(a8['value']);break;case 0x18:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['y']=parseFloat(a8['value']);break;case 0x22:a7['defPoint3']||(a7['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint3']['z']=parseFloat(a8['value']);break;case 0xf:a7[bA(0xf2)]||(a7['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a7[bA(0xf2)]['x']=parseFloat(a8['value']);break;case 0x19:a7[bA(0xf2)]||(a7[bA(0xf2)]={'x':0x0,'y':0x0,'z':0x0}),a7[bA(0xf2)]['y']=parseFloat(a8['value']);break;case 0x23:a7['defPoint4']||(a7[bA(0xf2)]={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['z']=parseFloat(a8['value']);break;case 0x10:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['x']=parseFloat(a8['value']);break;case 0x1a:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['y']=parseFloat(a8['value']);break;case 0x24:a7['defPoint5']||(a7['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint5']['z']=parseFloat(a8['value']);break;case 0x28:a7['leaderLength']=parseFloat(a8['value']);break;case 0x32:a7[bA(0xd6)]=parseFloat(a8['value']);break;case 0x35:a7[bA(0x184)]=parseFloat(a8[bA(0x129)]);break;case 0x46:a7['dimType']=parseInt(a8['value'],0xa);break;}return a7;}function pe(a6){const bB=b2;let a7=a3(a3({},A(a6)),{},{'type':'HATCH','patternName':'','solidFill':!0x0,'associative':!0x1,'hatchStyle':0x0,'patternType':0x1,'patternAngle':0x0,'patternScale':0x1,'boundaryPaths':[]}),a8=0x0;for(;a8<a6['length'];){let a9=a6[a8];switch(a9[bB(0x1a2)]){case 0x2:a7['patternName']=a9['value'];break;case 0x29:a7['patternScale']=parseFloat(a9['value']);break;case 0x34:a7[bB(0x12c)]=parseFloat(a9[bB(0x129)]);break;case 0x46:a7['solidFill']=a9['value']==='1';break;case 0x47:a7['associative']=a9['value']==='1';break;case 0x4b:a7['hatchStyle']=parseInt(a9['value'],0xa);break;case 0x4c:a7['patternType']=parseInt(a9['value'],0xa);break;case 0x5b:{let aa=parseInt(a9['value'],0xa);a8++;for(let ab=0x0;ab<aa&&a8<a6['length'];ab++){let ac=me(a6,a8);a7['boundaryPaths']['push'](ac['path']),a8=ac['nextIndex'];}continue;}}a8++;}return a7;}function me(a6,a7){let a8=0x0;return a7<a6['length']&&a6[a7]['code']===0x5c&&(a8=parseInt(a6[a7]['value'],0xa),a7++),a8&0x2?he(a6,a7,a8):ge(a6,a7,a8);}function he(a6,a7,a8){const bC=b2;let a9={'type':'polyline','vertices':[],'bulges':[],'flags':a8},aa=!0x1;a7<a6['length']&&a6[a7]['code']===0x48&&(aa=a6[a7]['value']==='1',a7++),a7<a6['length']&&a6[a7][bC(0x1a2)]===0x49&&(a9['isClosed']=a6[a7]['value']==='1',a7++);let ab=0x0;a7<a6['length']&&a6[a7]['code']===0x5d&&(ab=parseInt(a6[a7]['value'],0xa),a7++);for(let ac=0x0;ac<ab&&a7<a6['length'];ac++){let ad={'x':0x0,'y':0x0};a6[a7]['code']===0xa&&(ad['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['y']=parseFloat(a6[a7]['value']),a7++),a9['vertices']['push'](ad),aa&&a7<a6[bC(0x16c)]&&a6[a7][bC(0x1a2)]===0x2a?(a9['bulges']['push'](parseFloat(a6[a7][bC(0x129)])),a7++):aa&&a9['bulges']['push'](0x0);}for(;a7<a6[bC(0x16c)]&&(a6[a7]['code']===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let af=parseInt(a6[a7]['value'],0xa);a7++;for(let ag=0x0;ag<af&&a7<a6['length']&&a6[a7]['code']===0x14a;ag++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function ge(a6,a7,a8){const bD=b2;let a9={'type':'edges','edges':[],'flags':a8},aa=0x0;a7<a6['length']&&a6[a7]['code']===0x5d&&(aa=parseInt(a6[a7]['value'],0xa),a7++);for(let ab=0x0;ab<aa&&a7<a6['length']&&a6[a7][bD(0x1a2)]===0x48;ab++){let ac=parseInt(a6[a7]['value'],0xa);switch(a7++,ac){case 0x1:{let ad={'type':'line','start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x0}};a7<a6[bD(0x16c)]&&a6[a7][bD(0x1a2)]===0xa&&(ad['start']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bD(0x1a2)]===0x14&&(ad[bD(0xfa)]['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ad['end']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6[bD(0x16c)]&&a6[a7]['code']===0x15&&(ad['end']['y']=parseFloat(a6[a7]['value']),a7++),a9['edges'][bD(0xfc)](ad);break;}case 0x2:{let af={'type':bD(0x172),'center':{'x':0x0,'y':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168,'ccw':!0x0};a7<a6['length']&&a6[a7]['code']===0xa&&(af['center']['x']=parseFloat(a6[a7][bD(0x129)]),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(af['center']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bD(0x1a2)]===0x28&&(af['radius']=parseFloat(a6[a7]['value']),a7++),a7<a6[bD(0x16c)]&&a6[a7]['code']===0x32&&(af['startAngle']=parseFloat(a6[a7][bD(0x129)]),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(af['endAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6[bD(0x16c)]&&a6[a7]['code']===0x49&&(af['ccw']=a6[a7]['value']==='1',a7++),a9[bD(0x196)][bD(0xfc)](af);break;}case 0x3:{let ag={'type':'ellipse','center':{'x':0x0,'y':0x0},'majorAxis':{'x':0x1,'y':0x0},'minorRatio':0x1,'startAngle':0x0,'endAngle':Math['PI']*0x2,'ccw':!0x0};a7<a6['length']&&a6[a7]['code']===0xa&&(ag['center']['x']=parseFloat(a6[a7][bD(0x129)]),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ag['center']['y']=parseFloat(a6[a7][bD(0x129)]),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ag['majorAxis']['x']=parseFloat(a6[a7][bD(0x129)]),a7++),a7<a6['length']&&a6[a7]['code']===0x15&&(ag['majorAxis']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x28&&(ag['minorRatio']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bD(0x1a2)]===0x32&&(ag[bD(0x101)]=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bD(0x1a2)]===0x33&&(ag[bD(0xe5)]=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7][bD(0x1a2)]===0x49&&(ag['ccw']=a6[a7]['value']==='1',a7++),a9[bD(0x196)][bD(0xfc)](ag);break;}case 0x4:{let ah=0x3,ai=[],aj=[];a7<a6['length']&&a6[a7]['code']===0x5e&&(ah=parseInt(a6[a7]['value'],0xa),a7++),a7<a6['length']&&a6[a7]['code']===0x49&&a7++,a7<a6['length']&&a6[a7]['code']===0x4a&&a7++;let ak=0x0;a7<a6['length']&&a6[a7]['code']===0x5f&&(ak=parseInt(a6[a7]['value'],0xa),a7++);let al=0x0;a7<a6[bD(0x16c)]&&a6[a7]['code']===0x60&&(al=parseInt(a6[a7]['value'],0xa),a7++);for(let am=0x0;am<ak&&a7<a6[bD(0x16c)]&&a6[a7]['code']===0x28;am++)ai['push'](parseFloat(a6[a7]['value'])),a7++;for(let an=0x0;an<al&&a7<a6['length'];an++){let ao={'x':0x0,'y':0x0};a6[a7]['code']===0xa&&(ao['x']=parseFloat(a6[a7]['value']),a7++),a7<a6[bD(0x16c)]&&a6[a7][bD(0x1a2)]===0x14&&(ao['y']=parseFloat(a6[a7]['value']),a7++),aj['push'](ao);}a9['edges']['push']({'type':'spline','degree':ah,'knots':ai,'controlPoints':aj});break;}}}for(;a7<a6['length']&&(a6[a7]['code']===0x61||a6[a7]['code']===0x14a);)if(a6[a7]['code']===0x61){let ap=parseInt(a6[a7][bD(0x129)],0xa);a7++;for(let aq=0x0;aq<ap&&a7<a6['length']&&a6[a7]['code']===0x14a;aq++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function _e(a6){const bE=b2;let a7=a3(a3({},A(a6)),{},{'type':bE(0x19d),'position':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7[bE(0xd8)]['x']=parseFloat(a8['value']);break;case 0x14:a7['position']['y']=parseFloat(a8['value']);break;case 0x1e:a7['position']['z']=parseFloat(a8['value']);break;}return a7;}function j(a6,a7,a8){const bF=b2;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']!==0x0){a7++;continue;}let aa=a9['value'];if(aa===bF(0x1ec)||aa==='ENDBLK')return a7+0x1;a7++;let ab=[];for(;a7<a6['length']&&a6[a7]['code']!==0x0;)ab['push'](a6[a7]),a7++;switch(aa){case bF(0x1cb):a8['push'](ne(ab));break;case'CIRCLE':a8['push'](re(ab));break;case bF(0x1c9):a8['push'](ie(ab));break;case'LWPOLYLINE':a8['push'](ae(ab));break;case bF(0x18b):a8[bF(0xfc)](se(ab));break;case'SPLINE':a8['push'](ce(ab));break;case'TEXT':a8['push'](le(ab));break;case'MTEXT':a8['push'](ue(ab));break;case'INSERT':{let ac=de(ab);ab['some'](ad=>ad['code']===0x42&&ad[bF(0x129)]==='1')&&(a7=ye(a6,a7,ac[bF(0x1a9)])),a8['push'](ac);break;}case bF(0x1d8):a8['push'](fe(ab));break;case'HATCH':a8['push'](pe(ab));break;case'POINT':a8[bF(0xfc)](_e(ab));break;case'POLYLINE':{let ad=oe(ab);a7=ve(a6,a7,ad['vertices']),a8['push'](ad);break;}}}return a7;}function ve(a6,a7,a8){const bG=b2;for(;a7<a6['length'];){if(a6[a7][bG(0x1a2)]!==0x0){a7++;continue;}let a9=a6[a7][bG(0x129)];if(a9==='SEQEND')return a7+0x1;if(a9==='ENDSEC'||a9==='ENDBLK')return a7;if(a9==='VERTEX'){a7++;let aa={'x':0x0,'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};for(;a7<a6['length']&&a6[a7][bG(0x1a2)]!==0x0;){let ab=a6[a7];switch(ab['code']){case 0xa:aa['x']=parseFloat(ab['value']);break;case 0x14:aa['y']=parseFloat(ab['value']);break;case 0x2a:aa['bulge']=parseFloat(ab['value']);break;case 0x28:aa['startWidth']=parseFloat(ab['value']);break;case 0x29:aa['endWidth']=parseFloat(ab[bG(0x129)]);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6[bG(0x16c)]&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function ye(a6,a7,a8){const bH=b2;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9===bH(0x1ec)||a9==='ENDBLK')return a7;if(a9==='ATTRIB'){a7++;let aa={'tag':'','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'style':'STANDARD','layer':'0','color':0x100};for(;a7<a6['length']&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x1:aa[bH(0x1bf)]=ab['value'];break;case 0x2:aa[bH(0x1ca)]=ab['value'];break;case 0x7:aa['style']=ab['value'];break;case 0x8:aa[bH(0x1e7)]=ab['value'];break;case 0xa:aa['insertionPoint']['x']=parseFloat(ab['value']);break;case 0x14:aa['insertionPoint']['y']=parseFloat(ab['value']);break;case 0x1e:aa['insertionPoint']['z']=parseFloat(ab[bH(0x129)]);break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x32:aa[bH(0xd6)]=parseFloat(ab['value']);break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6['length']&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function be(a6,a7,a8){const bI=b2;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9[bI(0x129)]==='ENDSEC')return a7+0x1;if(a9['code']===0x0&&a9['value']==='BLOCK'){a7++;let aa={'name':'','basePoint':{'x':0x0,'y':0x0,'z':0x0},'entities':[],'flags':0x0};for(;a7<a6['length']&&a6[a7][bI(0x1a2)]!==0x0;){let ab=a6[a7];switch(ab[bI(0x1a2)]){case 0x2:aa['name']=ab['value'];break;case 0x8:break;case 0xa:aa['basePoint']['x']=parseFloat(ab[bI(0x129)]);break;case 0x14:aa[bI(0x173)]['y']=parseFloat(ab['value']);break;case 0x1e:aa['basePoint']['z']=parseFloat(ab['value']);break;case 0x46:aa[bI(0x16d)]=parseInt(ab['value'],0xa);break;}a7++;}a7=j(a6,a7,aa['entities']),aa['name']&&!aa[bI(0x147)]['startsWith'](bI(0x14e))&&!aa['name'][bI(0x1c3)]('*Paper_Space')&&a8['set'](aa['name'],aa);}else a7++;}return a7;}var M='AutoCAD\x20Binary\x20DXF',xe={'ANSI_874':'windows-874','ANSI_932':b2(0x1a4),'ANSI_936':'gbk','ANSI_949':'euc-kr','ANSI_950':'big5','ANSI_1250':'windows-1250','ANSI_1251':'windows-1251','ANSI_1252':'windows-1252','ANSI_1253':'windows-1253','ANSI_1254':'windows-1254','ANSI_1255':'windows-1255','ANSI_1256':'windows-1256','ANSI_1257':'windows-1257','ANSI_1258':'windows-1258'},Se=b2(0x190);function Ce(){return{'acadVersion':'','insUnits':0x0,'measurement':0x0,'ltScale':0x1};}function N(a6){return a6['replace'](/\\U\+([0-9A-Fa-f]{4})/g,(a7,a8)=>String['fromCodePoint'](parseInt(a8,0x10)));}function we(a6){const bJ=b2;var a7;if(typeof a6==bJ(0x125))return N(a6);let a8=new Uint8Array(a6);if(new TextDecoder(bJ(0x153))['decode'](a8['slice'](0x0,M[bJ(0x16c)]))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let a9=new TextDecoder('utf-8')['decode'](a6),aa=a9['match'](/\$ACADVER[\s\S]*?\n\s*1\s*\n\s*(\S+)/),ab=(a7=aa==null?void 0x0:aa[0x1])==null?'':a7;if(ab&&ab<Se){var ac,ad;let af=a9['match'](/\$DWGCODEPAGE[\s\S]*?\n\s*3\s*\n\s*(\S+)/),ag=(ad=xe[(ac=af==null?void 0x0:af[0x1])==null?'':ac])==null?'windows-1252':ad;ag!==bJ(0x170)&&(a9=new TextDecoder(ag)['decode'](a6));}return N(a9);}function Te(a6,a7){const bK=b2;for(;a7<a6[bK(0x16c)];){if(a6[a7]['code']===0x0&&a6[a7][bK(0x129)]==='ENDSEC')return a7+0x1;a7++;}return a7;}function Ee(a6){const bL=b2;a6[bL(0x1e0)]['has']('0')||a6['layers'][bL(0x185)]('0',{'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1});}function De(a6){const bM=b2;for(let [,a7]of a6[bM(0x1e0)])a7['isOff']=a7['color']<0x0,a7['isOff']&&(a7[bM(0xdf)]=Math['abs'](a7['color'])),a7[bM(0x192)]=(a7[bM(0x16d)]&0x1)!=0x0,a7['isLocked']=(a7['flags']&0x4)!=0x0;}var P=class extends Error{constructor(a6,a7){const bN=b2;super(a6),this[bN(0x171)]=a7,this['name']='DxfParseError';}};function F(a6){const bO=b2;if(typeof a6=='string'){if(a6['length']===0x0)throw new P('Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.');}else{if(a6 instanceof ArrayBuffer){if(a6[bO(0x189)]===0x0)throw new P('Input\x20ArrayBuffer\x20is\x20empty.');}else throw new P('Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.');}let a7;try{a7=we(a6);}catch(aa){throw aa instanceof P?aa:new P('Failed\x20to\x20decode\x20DXF\x20input.',aa);}let a8;try{a8=w(a7);}catch(ab){throw new P('Failed\x20to\x20tokenize\x20DXF\x20content.',ab);}if(a8['length']===0x0)throw new P('DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.');let a9={'header':Ce(),'layers':new Map(),'lineTypes':new Map(),'styles':new Map(),'blocks':new Map(),'entities':[]};try{let ac=0x0;for(;ac<a8['length'];){let ad=a8[ac];if(ad['code']===0x0&&ad['value']==='SECTION'){if(ac++,ac>=a8['length'])break;let af=a8[ac]['value'];switch(ac++,af){case'HEADER':ac=T(a8,ac,a9['header']);break;case'TABLES':ac=D(a8,ac,a9);break;case'BLOCKS':ac=be(a8,ac,a9['blocks']);break;case'ENTITIES':ac=j(a8,ac,a9['entities']);break;default:ac=Te(a8,ac);break;}}else{if(ad[bO(0x1a2)]===0x0&&ad['value']==='EOF')break;else ac++;}}}catch(ag){throw new P('Failed\x20to\x20parse\x20DXF\x20sections.',ag);}return Ee(a9),De(a9),a9;}var Oe='#000000.#FF0000.#FFFF00.#00FF00.#00FFFF.#0000FF.#FF00FF.#FFFFFF.#808080.#C0C0C0.#FF0000.#FF7F7F.#A50000.#A55252.#7F0000.#7F3F3F.#4C0000.#4C2626.#260000.#261313.#FF3F00.#FF9F7F.#A52900.#A56752.#7F1F00.#7F4F3F.#4C1300.#4C2F26.#260900.#261713.#FF7F00.#FFBF7F.#A55200.#A57C52.#7F3F00.#7F5F3F.#4C2600.#4C3926.#261300.#261C13.#FFBF00.#FFDF7F.#A57C00.#A59152.#7F5F00.#7F6F3F.#4C3900.#4C4226.#261C00.#262113.#FFFF00.#FFFF7F.#A5A500.#A5A552.#7F7F00.#7F7F3F.#4C4C00.#4C4C26.#262600.#262613.#BFFF00.#DFFF7F.#7CA500.#91A552.#5F7F00.#6F7F3F.#394C00.#424C26.#1C2600.#212613.#7FFF00.#BFFF7F.#52A500.#7CA552.#3F7F00.#5F7F3F.#264C00.#394C26.#132600.#1C2613.#3FFF00.#9FFF7F.#29A500.#67A552.#1F7F00.#4F7F3F.#134C00.#2F4C26.#092600.#172613.#00FF00.#7FFF7F.#00A500.#52A552.#007F00.#3F7F3F.#004C00.#264C26.#002600.#132613.#00FF3F.#7FFF9F.#00A529.#52A567.#007F1F.#3F7F4F.#004C13.#264C2F.#002609.#132617.#00FF7F.#7FFFBF.#00A552.#52A57C.#007F3F.#3F7F5F.#004C26.#264C39.#002613.#13261C.#00FFBF.#7FFFDF.#00A57C.#52A591.#007F5F.#3F7F6F.#004C39.#264C42.#00261C.#132621.#00FFFF.#7FFFFF.#00A5A5.#52A5A5.#007F7F.#3F7F7F.#004C4C.#264C4C.#002626.#132626.#00BFFF.#7FDFFF.#007CA5.#5291A5.#005F7F.#3F6F7F.#00394C.#26424C.#001C26.#132126.#007FFF.#7FBFFF.#0052A5.#527CA5.#003F7F.#3F5F7F.#00264C.#26394C.#001326.#131C26.#003FFF.#7F9FFF.#0029A5.#5267A5.#001F7F.#3F4F7F.#00134C.#262F4C.#000926.#131726.#0000FF.#7F7FFF.#0000A5.#5252A5.#00007F.#3F3F7F.#00004C.#26264C.#000026.#131326.#3F00FF.#9F7FFF.#2900A5.#6752A5.#1F007F.#4F3F7F.#13004C.#2F264C.#090026.#171326.#7F00FF.#BF7FFF.#5200A5.#7C52A5.#3F007F.#5F3F7F.#26004C.#39264C.#130026.#1C1326.#BF00FF.#DF7FFF.#7C00A5.#9152A5.#5F007F.#6F3F7F.#39004C.#42264C.#1C0026.#211326.#FF00FF.#FF7FFF.#A500A5.#A552A5.#7F007F.#7F3F7F.#4C004C.#4C264C.#260026.#261326.#FF00BF.#FF7FDF.#A5007C.#A55291.#7F005F.#7F3F6F.#4C0039.#4C2642.#26001C.#261321.#FF007F.#FF7FBF.#A50052.#A5527C.#7F003F.#7F3F5F.#4C0026.#4C2639.#260013.#26131C.#FF003F.#FF7F9F.#A50029.#A55267.#7F001F.#7F3F4F.#4C0013.#4C262F.#260009.#261317.#333333.#505050.#696969.#828282.#BEBEBE.#FFFFFF'['split']('.');function ke(a6){if(!(a6===0x0||a6===0x100)&&!(a6<0x0||a6>0xff))return Oe[a6];}function Ae(a6,a7){var a8;return a6===0x7||(a8=Oe[Math['abs'](a6)])==null?a7?'#FFFFFF':'#000000':a8;}function je(a6){const bP=b2;let a7=a6>>0x10&0xff,a8=a6>>0x8&0xff,a9=a6&0xff;return'#'+a7['toString'](0x10)['padStart'](0x2,'0')+a8['toString'](0x10)[bP(0x19a)](0x2,'0')+a9['toString'](0x10)[bP(0x19a)](0x2,'0');}function a1(a,b){a=a-0xbd;const c=a0();let d=c[a];return d;}var I={'dark':{'backgroundColor':'#1a1a2e','defaultEntityColor':'#ffffff','selectionColor':'#00ff88','measureColor':'#ffaa00','gridColor':'#333333','crosshairColor':'#555555'},'light':{'backgroundColor':b2(0x12f),'defaultEntityColor':'#000000','selectionColor':'#0066ff','measureColor':b2(0xc5),'gridColor':'#dddddd','crosshairColor':'#cccccc'}};function L(a6,a7,a8){const bQ=b2;return[a7*a6['scale']+a6[bQ(0xd5)],-a8*a6['scale']+a6['offsetY']];}function R(a6,a7,a8){return[(a7-a6['offsetX'])/a6['scale'],-(a8-a6['offsetY'])/a6['scale']];}function z(a6,a7){const bR=b2;let a8=window['devicePixelRatio']||0x1;a6[bR(0xcf)](a7['scale']*a8,0x0,0x0,-a7['scale']*a8,a7['offsetX']*a8,a7['offsetY']*a8);}function B(a6,a7,a8,a9,aa,ab,ac=0.05){let ad=aa-a8,af=ab-a9;if(ad<=0x0||af<=0x0)return{'scale':0x1,'offsetX':a6/0x2,'offsetY':a7/0x2};let ag=a6/ad,ah=a7/af,ai=Math['min'](ag,ah)*(0x1-ac*0x2),aj=(a8+aa)/0x2,ak=(a9+ab)/0x2;return{'scale':ai,'offsetX':a6/0x2-aj*ai,'offsetY':a7/0x2+ak*ai};}function Me(a6,a7,a8,a9,aa=0.0001,ab=0x186a0){const bS=b2;let ac=Math[bS(0xe0)](aa,Math['min'](ab,a6['scale']*a9)),ad=ac/a6['scale'];return{'scale':ac,'offsetX':a7-(a7-a6[bS(0xd5)])*ad,'offsetY':a8-(a8-a6[bS(0xd1)])*ad};}var Ne=class{constructor(a6){const bT=b2;t(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),t(this,'minScale',void 0x0),t(this,bT(0x1b2),void 0x0),this['minScale']=a6['minZoom'],this['maxScale']=a6[bT(0xe6)];}['getTransform'](){const bU=b2;return this[bU(0x115)];}['setTransform'](a6){this['transform']=a6;}['pan'](a6,a7){const bV=b2;this['transform']=a3(a3({},this[bV(0x115)]),{},{'offsetX':this['transform']['offsetX']+a6,'offsetY':this['transform']['offsetY']+a7});}[b2(0x12a)](a6,a7,a8){const bW=b2;this['transform']=Me(this['transform'],a6,a7,a8,this['minScale'],this[bW(0x1b2)]);}};function Pe(a6,a7){const bX=b2;var a8;return a6===0x7?a7==='dark'?bX(0x12f):'#000000':(a8=ke(a6))==null?'#ffffff':a8;}function V(a6,a7,a8,a9){const bY=b2;if(a6['trueColor']!==void 0x0)return'rgb('+(a6[bY(0xfe)]>>0x10&0xff)+','+(a6['trueColor']>>0x8&0xff)+','+(a6[bY(0xfe)]&0xff)+')';if(a6['color']===0x0)return a9==null?I[a8][bY(0x143)]:a9;if(a6['color']!==0x100)return Pe(a6['color'],a8);let aa=a7['get'](a6[bY(0x1e7)]);return aa?aa['trueColor']===void 0x0?Pe(Math['abs'](aa['color']),a8):'rgb('+(aa['trueColor']>>0x10&0xff)+','+(aa['trueColor']>>0x8&0xff)+','+(aa['trueColor']&0xff)+')':I[a8][bY(0x143)];}function Fe(a6,a7){const bZ=b2;a6[bZ(0x1d3)](),a6['moveTo'](a7['start']['x'],a7['start']['y']),a6['lineTo'](a7['end']['x'],a7[bZ(0x1db)]['y']),a6['stroke']();}function Ie(a6,a7){const c0=b2;a7['radius']<=0x0||(a6['beginPath'](),a6['arc'](a7[c0(0xdb)]['x'],a7['center']['y'],a7['radius'],0x0,Math['PI']*0x2),a6['stroke']());}function Le(a6,a7){const c1=b2;if(a7['radius']<=0x0)return;let a8=a7[c1(0x101)]*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['beginPath'](),a6['arc'](a7['center']['x'],a7['center']['y'],a7['radius'],a8,a9,!0x1),a6['stroke']();}function Re(a6,a7,a8,a9,aa){const c2=b2;let ab=a8-a6,ac=a9-a7,ad=Math['sqrt'](ab*ab+ac*ac);if(ad<1e-10)return{'cx':a6,'cy':a7,'radius':0x0,'startAngle':0x0,'endAngle':0x0,'anticlockwise':!0x1};let af=Math['abs'](aa)*ad/0x2,ag=(Math[c2(0x109)](ad/0x2,0x2)+Math['pow'](af,0x2))/(0x2*af),ah=(a6+a8)/0x2,ai=(a7+a9)/0x2,aj=-ac/ad,ak=ab/ad,al=ag-af,am=aa>0x0?0x1:-0x1,an=ah+am*al*aj,ao=ai+am*al*ak;return{'cx':an,'cy':ao,'radius':ag,'startAngle':Math['atan2'](a7-ao,a6-an),'endAngle':Math['atan2'](a9-ao,a8-an),'anticlockwise':aa<0x0};}function H(a6,a7,a8,a9,aa,ab){const c3=b2;let ac=Re(a7,a8,a9,aa,ab);if(ac[c3(0x1d2)]<1e-10){a6['lineTo'](a9,aa);return;}a6['arc'](ac['cx'],ac['cy'],ac['radius'],ac['startAngle'],ac['endAngle'],ac['anticlockwise']);}function ze(a6,a7){const c4=b2;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['beginPath'](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7[c4(0x174)]?a8[c4(0x16c)]:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math['abs'](ab['bulge'])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab[c4(0x1c1)]);}a6['stroke']();}function Be(a6,a7){const c5=b2;let a8=a7['vertices'];if(a8[c5(0x16c)]<0x2)return;a6['beginPath'](),a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8['length']],af=(aa=ac[c5(0x1c1)])==null?0x0:aa;Math[c5(0x131)](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}a6['stroke']();}function Ve(a6,a7){const c6=b2;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7['majorAxis']['y'],0x2)+Math[c6(0x109)](a7['majorAxis']['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7['minorRatio'],aa=Math[c6(0x1b5)](a7['majorAxis']['y'],a7['majorAxis']['x']);a6[c6(0x1d3)](),a6[c6(0x1a6)](a7['center']['x'],a7[c6(0xdb)]['y'],a8,a9,aa,a7['startParam'],a7['endParam'],!0x1),a6['stroke']();}function He(a6,a7,a8,a9,aa){const c7=b2;var ab;let ac=a7['length']-0x1,ad=a6;for(;ad<ac&&a8[ad+0x1]<=a9;)ad++;let af=[],ag=[];for(let ah=0x0;ah<=a6;ah++){let ai=ad-a6+ah;af['push'](a3({},a7[ai])),ag['push'](aa?aa[ai]:0x1);}for(let aj=0x1;aj<=a6;aj++)for(let ak=a6;ak>=aj;ak--){let al=ad-a6+ak,am=a8[al+a6-aj+0x1]-a8[al];if(Math[c7(0x131)](am)<1e-10)continue;let an=(a9-a8[al])/am,ao=af[ak],ap=af[ak-0x1];if(aa){let aq=ag[ak-0x1]*(0x1-an),ar=ag[ak]*an,as=aq+ar;if(Math['abs'](as)<1e-10)continue;ao['x']=(ap['x']*aq+ao['x']*ar)/as,ao['y']=(ap['y']*aq+ao['y']*ar)/as,ao['z']=(ap['z']*aq+ao['z']*ar)/as,ag[ak]=as;}else ao['x']=(0x1-an)*ap['x']+an*ao['x'],ao['y']=(0x1-an)*ap['y']+an*ao['y'],ao['z']=(0x1-an)*ap['z']+an*ao['z'];}return(ab=af[a6])==null?{'x':0x0,'y':0x0,'z':0x0}:ab;}function Ue(a6){const c8=b2;if(a6['length']<0x2)return a6['map'](a9=>({'x':a9['x'],'y':a9['y']}));let a7=[],a8=a6['length'];for(let a9=0x0;a9<a8-0x1;a9++){let aa=a6[Math[c8(0xe0)](0x0,a9-0x1)],ab=a6[a9],ac=a6[Math['min'](a8-0x1,a9+0x1)],ad=a6[Math['min'](a8-0x1,a9+0x2)];for(let af=0x0;af<=(a9===a8-0x2?0xa:0x9);af++){let ag=af/0xa,ah=ag*ag,ai=ah*ag,aj=0.5*(0x2*ab['x']+(-aa['x']+ac['x'])*ag+(0x2*aa['x']-0x5*ab['x']+0x4*ac['x']-ad['x'])*ah+(-aa['x']+0x3*ab['x']-0x3*ac['x']+ad['x'])*ai),ak=0.5*(0x2*ab['y']+(-aa['y']+ac['y'])*ag+(0x2*aa['y']-0x5*ab['y']+0x4*ac['y']-ad['y'])*ah+(-aa['y']+0x3*ab['y']-0x3*ac['y']+ad['y'])*ai);a7['push']({'x':aj,'y':ak});}}return a7;}function We(a6,a7){const c9=b2;if(a6[c9(0x1e4)]===0x1)return a6['controlPoints'][c9(0xe2)](af=>({'x':af['x'],'y':af['y']}));if(a6['controlPoints'][c9(0x16c)]===0x0&&a6['fitPoints']['length']>=0x2)return Ue(a6[c9(0x1e5)]);if(a6['controlPoints']['length']<a6['degree']+0x1||a6['knots']['length']<a6['controlPoints']['length']+a6['degree']+0x1)return[];let a8=[],a9=a6[c9(0x1dd)][a6['degree']],aa=a6['knots'][a6['knots'][c9(0x16c)]-a6['degree']-0x1];if(aa<=a9)return[];let ab=Math['max'](a6['controlPoints']['length']*0xa,Math['ceil']((aa-a9)/a7)),ac=Math['min'](ab,0x1388),ad=a6['weights']['length']>0x0?a6['weights']:void 0x0;for(let af=0x0;af<=ac;af++){let ag=a9+(aa-a9)*(af/ac),ah=He(a6['degree'],a6[c9(0x146)],a6[c9(0x1dd)],ag,ad);a8['push']({'x':ah['x'],'y':ah['y']});}return a8;}function Ge(a6,a7,a8){const ca=b2;let a9=We(a7,a8);if(!(a9[ca(0x16c)]<0x2)){a6['beginPath'](),a6[ca(0xe9)](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6['lineTo'](a9[aa]['x'],a9[aa]['y']);a7['flags']&0x1&&a6['closePath'](),a6[ca(0x17f)]();}}var Ke={'standard':'Arial,\x20sans-serif','arial':'Arial,\x20sans-serif','arial.ttf':'Arial,\x20sans-serif','romans.shx':b2(0x1e1),'simplex.shx':'\x22Courier\x20New\x22,\x20monospace','txt.shx':'monospace','monotxt.shx':'monospace','isocp.shx':b2(0x1e1),'isocpeur.shx':b2(0x1e1),'times.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','timesnr.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','gothic.ttf':'\x22Century\x20Gothic\x22,\x20sans-serif'};function qe(a6){return Ke[a6['toLowerCase']()['trim']()]||'sans-serif';}function Je(a6,a7,a8){const cb=b2;if(!a7['text']||a7['height']<a8*0x4)return;let a9=a7['hAlign']!==0x0||a7['vAlign']!==0x0,aa=a9&&a7['alignmentPoint']?a7['alignmentPoint']['x']:a7['insertionPoint']['x'],ab=a9&&a7['alignmentPoint']?a7['alignmentPoint']['y']:a7['insertionPoint']['y'];if(a6['save'](),a6['translate'](aa,ab),a6['scale'](0x1,-0x1),a7['rotation']&&a6['rotate'](-a7['rotation']*Math['PI']/0xb4),a7['widthFactor']!==0x1&&a6['scale'](a7['widthFactor'],0x1),a7['obliqueAngle']){let ag=Math[cb(0x1b0)](a7['obliqueAngle']*Math['PI']/0xb4);a6['transform'](0x1,0x0,ag,0x1,0x0,0x0);}let ac=(a7[cb(0x1dc)]&0x2)!=0x0,ad=(a7['generationFlags']&0x4)!=0x0;ac&&a6['scale'](-0x1,0x1),ad&&a6[cb(0x11d)](0x1,-0x1);let af=qe(a7['style']||'Standard');switch(a6['font']=a7['height']+cb(0x145)+af,a7['hAlign']){case 0x0:a6['textAlign']=cb(0x1d9);break;case 0x1:a6['textAlign']='center';break;case 0x2:a6[cb(0x194)]='right';break;case 0x3:a6['textAlign']='left';break;case 0x4:a6['textAlign']='center';break;case 0x5:a6['textAlign']='left';break;default:a6[cb(0x194)]='left';}switch(a7['vAlign']){case 0x0:a6['textBaseline']='alphabetic';break;case 0x1:a6['textBaseline']='bottom';break;case 0x2:a6['textBaseline']='middle';break;case 0x3:a6['textBaseline']='top';break;default:a6['textBaseline']='alphabetic';}a6['fillText'](a7['text'],0x0,0x0),a6[cb(0xe1)]();}function Ye(a6){const cc=b2;return a6['replace'](/\\P/g,'\x0a')['replace'](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')['replace'](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')['replace'](/\{/g,'')[cc(0x150)](/\}/g,'')['replace'](/\\S[^;]*;/g,'')[cc(0x134)]();}function Xe(a6,a7,a8){const cd=b2;var a9;if(!a7['text']||a7['height']<a8*0x4)return;a6['save'](),a6['translate'](a7['insertionPoint']['x'],a7['insertionPoint']['y']),a6['scale'](0x1,-0x1);let aa=a7['textDirection']?Math['atan2'](a7[cd(0x15e)]['y'],a7['textDirection']['x']):(a7['rotation']||0x0)*Math['PI']/0xb4;aa&&a6['rotate'](-aa);let ab=Ye(a7[cd(0x1bf)])[cd(0x1af)]('\x0a'),ac=a7['height']*(a7['lineSpacingFactor']||1.4),ad=qe(a7['style']||'Standard');a6['font']=a7['height']+cd(0x145)+ad;let af=(a7['attachmentPoint']-0x1)%0x3,ag=Math[cd(0xea)]((a7['attachmentPoint']-0x1)/0x3);a6['textAlign']=(a9=['left','center','right'][af])==null?cd(0x1d9):a9;let ah=0x0,ai=ab[cd(0x16c)]*ac;switch(ag){case 0x0:ah=a7['height'];break;case 0x1:ah=a7[cd(0xd2)]-ai/0x2;break;case 0x2:ah=a7['height']-ai;break;}for(let aj=0x0;aj<ab['length'];aj++)a6[cd(0x15f)](ab[aj],0x0,ah+aj*ac);a6['restore']();}var Ze=0x64;function Qe(a6,a7,a8,a9=0x0){const cf=b2;if(a9>Ze)return null;if(a8[cf(0x18c)](a6))return a8['get'](a6);let aa=a7[cf(0xec)]['get'](a6);if(!aa)return a8['set'](a6,null),null;a8['set'](a6,null);let ab=Infinity,ac=Infinity,ad=-Infinity,af=-Infinity,ag=!0x1;for(let ai of aa['entities']){let aj;aj=ai['type']===cf(0xde)?U(ai,a7,a8,a9+0x1):G(ai),aj&&(ag=!0x0,ab=Math['min'](ab,aj['minX']),ac=Math['min'](ac,aj['minY']),ad=Math['max'](ad,aj['maxX']),af=Math['max'](af,aj['maxY']));}let ah=ag?{'minX':ab,'minY':ac,'maxX':ad,'maxY':af}:null;return a8['set'](a6,ah),ah;}function U(a6,a7,a8,a9=0x0){const cg=b2;let aa=Qe(a6['blockName'],a7,a8,a9);if(!aa)return null;let ab=a7['blocks']['get'](a6['blockName']);if(!ab)return null;let ac=ab['basePoint']['x'],ad=ab['basePoint']['y'],af=aa['minX']-ac,ag=aa['minY']-ad,ah=aa['maxX']-ac,ai=aa[cg(0x1ac)]-ad,aj=a6['scaleX'],ak=a6['scaleY'],al=af*aj,am=ah*aj,an=ag*ak,ao=ai*ak;if(al>am){let aC=al;al=am,am=aC;}if(an>ao){let aD=an;an=ao,ao=aD;}let ap=(a6['rotation']||0x0)*Math['PI']/0xb4;if(Math['abs'](ap)<1e-10){let aE=a6['insertionPoint']['x'],aF=a6['insertionPoint']['y'],aG=al+aE,aH=an+aF,aI=am+aE,aJ=ao+aF,aK=Math['max'](0x1,a6[cg(0xe8)]),aL=Math['max'](0x1,a6['rowCount']);if(aK>0x1||aL>0x1){let aM=(aK-0x1)*a6[cg(0x1ef)],aN=(aL-0x1)*a6['rowSpacing'];aG=Math['min'](aG,aG+aM),aI=Math['max'](aI,aI+aM),aH=Math[cg(0x128)](aH,aH+aN),aJ=Math['max'](aJ,aJ+aN);}return{'minX':aG,'minY':aH,'maxX':aI,'maxY':aJ};}let aq=Math['cos'](ap),ar=Math['sin'](ap),as=[{'x':al,'y':an},{'x':am,'y':an},{'x':am,'y':ao},{'x':al,'y':ao}],au=a6['insertionPoint']['x'],av=a6['insertionPoint']['y'],aw=Infinity,ax=Infinity,ay=-Infinity,az=-Infinity;for(let aO of as){let aP=aO['x']*aq-aO['y']*ar+au,aQ=aO['x']*ar+aO['y']*aq+av;aw=Math['min'](aw,aP),ax=Math[cg(0x128)](ax,aQ),ay=Math[cg(0xe0)](ay,aP),az=Math['max'](az,aQ);}let aA=Math['max'](0x1,a6['columnCount']),aB=Math['max'](0x1,a6['rowCount']);if(aA>0x1||aB>0x1){let aR=(aA-0x1)*a6[cg(0x1ef)],aS=(aB-0x1)*a6[cg(0x13e)],aT=[{'x':0x0,'y':0x0},{'x':aR,'y':0x0},{'x':aR,'y':aS},{'x':0x0,'y':aS}];for(let aU of aT){let aV=aU['x']*aq-aU['y']*ar,aW=aU['x']*ar+aU['y']*aq;aw=Math['min'](aw,aw+aV),ax=Math['min'](ax,ax+aW),ay=Math['max'](ay,ay+aV),az=Math['max'](az,az+aW);}}return{'minX':aw,'minY':ax,'maxX':ay,'maxY':az};}function $e(a6,a7){const ch=b2;let a8=Infinity,a9=Infinity,aa=-Infinity,ab=-Infinity,ac=!0x1,ad=a7?new Map():void 0x0;for(let af of a6){let ag=a7&&ad?et(af,a7,ad):G(af);ag&&(ac=!0x0,a8=Math['min'](a8,ag[ch(0x1d7)]),a9=Math['min'](a9,ag[ch(0x102)]),aa=Math[ch(0xe0)](aa,ag['maxX']),ab=Math['max'](ab,ag['maxY']));}return ac?{'minX':a8,'minY':a9,'maxX':aa,'maxY':ab}:null;}function et(a6,a7,a8){return a6['type']==='INSERT'?U(a6,a7,a8):G(a6);}var W=null;function tt(a6){const ci=b2;let a7=new Map();for(let [a8,a9]of a6['blocks']){let aa=Array(a9['entities']['length']);for(let ab=0x0;ab<a9['entities']['length'];ab++)aa[ab]=G(a9[ci(0x195)][ab]);a7['set'](a8,aa);}return a7;}function nt(a6){W=a6;}function rt(){W=null;}function it(a6,a7){if(!W)return;let a8=W['get'](a6);if(!(!a8||a7>=a8['length']))return a8[a7];}function G(a6){const cj=b2;switch(a6['type']){case'LINE':return{'minX':Math['min'](a6['start']['x'],a6['end']['x']),'minY':Math['min'](a6['start']['y'],a6['end']['y']),'maxX':Math[cj(0xe0)](a6['start']['x'],a6['end']['x']),'maxY':Math['max'](a6['start']['y'],a6['end']['y'])};case'CIRCLE':return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6['center']['x']+a6['radius'],'maxY':a6['center']['y']+a6['radius']};case'ARC':return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6[cj(0x1d2)],'maxX':a6['center']['x']+a6[cj(0x1d2)],'maxY':a6[cj(0xdb)]['y']+a6['radius']};case'LWPOLYLINE':case'POLYLINE':{if(a6['vertices']['length']===0x0)return null;let ao=Infinity,ap=Infinity,aq=-Infinity,ar=-Infinity;for(let as of a6[cj(0x13c)])ao=Math['min'](ao,as['x']),ap=Math[cj(0x128)](ap,as['y']),aq=Math['max'](aq,as['x']),ar=Math[cj(0xe0)](ar,as['y']);return{'minX':ao,'minY':ap,'maxX':aq,'maxY':ar};}case'ELLIPSE':{let au=Math['sqrt'](Math['pow'](a6['majorAxis']['x'],0x2)+Math['pow'](a6['majorAxis']['y'],0x2));return{'minX':a6['center']['x']-au,'minY':a6['center']['y']-au,'maxX':a6[cj(0xdb)]['x']+au,'maxY':a6['center']['y']+au};}case cj(0x180):return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x']+a6[cj(0xd2)]*a6['text']['length']*0.6,'maxY':a6['insertionPoint']['y']+a6[cj(0xd2)]};case'MTEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y']-a6['height'],'maxX':a6['insertionPoint']['x']+(a6['width']||a6['height']*0xa),'maxY':a6['insertionPoint']['y']+a6['height']};case cj(0x139):{if(a6['controlPoints']['length']===0x0)return null;let av=Infinity,aw=Infinity,ax=-Infinity,ay=-Infinity;for(let az of a6['controlPoints'])av=Math['min'](av,az['x']),aw=Math[cj(0x128)](aw,az['y']),ax=Math['max'](ax,az['x']),ay=Math['max'](ay,az['y']);return{'minX':av,'minY':aw,'maxX':ax,'maxY':ay};}case'POINT':return{'minX':a6['position']['x'],'minY':a6[cj(0xd8)]['y'],'maxX':a6['position']['x'],'maxY':a6['position']['y']};case'INSERT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x'],'maxY':a6['insertionPoint']['y']};case'DIMENSION':if(a6['defPoint']){var a7,a8,a9,aa,ab,ac,ad,af,ag,ah,ai,aj,ak,al,am,an;return{'minX':Math[cj(0x128)](a6['defPoint']['x'],(a7=(a8=a6['defPoint2'])==null?void 0x0:a8['x'])==null?a6['defPoint']['x']:a7,(a9=(aa=a6['defPoint3'])==null?void 0x0:aa['x'])==null?a6['defPoint']['x']:a9),'minY':Math['min'](a6['defPoint']['y'],(ab=(ac=a6['defPoint2'])==null?void 0x0:ac['y'])==null?a6['defPoint']['y']:ab,(ad=(af=a6['defPoint3'])==null?void 0x0:af['y'])==null?a6['defPoint']['y']:ad),'maxX':Math['max'](a6['defPoint']['x'],(ag=(ah=a6['defPoint2'])==null?void 0x0:ah['x'])==null?a6['defPoint']['x']:ag,(ai=(aj=a6['defPoint3'])==null?void 0x0:aj['x'])==null?a6['defPoint']['x']:ai),'maxY':Math[cj(0xe0)](a6['defPoint']['y'],(ak=(al=a6['defPoint2'])==null?void 0x0:al['y'])==null?a6['defPoint']['y']:ak,(am=(an=a6[cj(0xd9)])==null?void 0x0:an['y'])==null?a6['defPoint']['y']:am)};}return null;case'HATCH':{let aA=Infinity,aB=Infinity,aC=-Infinity,aD=-Infinity,aE=!0x1;for(let aF of a6[cj(0x18f)])if(aF['vertices']){for(let aG of aF['vertices'])aE=!0x0,aA=Math['min'](aA,aG['x']),aB=Math['min'](aB,aG['y']),aC=Math['max'](aC,aG['x']),aD=Math[cj(0xe0)](aD,aG['y']);}return aE?{'minX':aA,'minY':aB,'maxX':aC,'maxY':aD}:null;}default:return null;}}var at=new Set(['LINE','ARC','CIRCLE','LWPOLYLINE','POLYLINE',b2(0x18b),'SPLINE']);function ot(a6){return at['has'](a6);}function st(a6,a7){const ck=b2;a6['moveTo'](a7['start']['x'],a7[ck(0xfa)]['y']),a6['lineTo'](a7['end']['x'],a7['end']['y']);}function ct(a6,a7){const cl=b2;if(a7['radius']<=0x0)return;let a8=a7['startAngle']*Math['PI']/0xb4,a9=a7['endAngle']*Math['PI']/0xb4;a6['moveTo'](a7['center']['x']+a7['radius']*Math['cos'](a8),a7['center']['y']+a7['radius']*Math['sin'](a8)),a6['arc'](a7[cl(0xdb)]['x'],a7['center']['y'],a7['radius'],a8,a9,!0x1);}function lt(a6,a7){const cm=b2;a7['radius']<=0x0||(a6['moveTo'](a7['center']['x']+a7['radius'],a7['center']['y']),a6['arc'](a7['center']['x'],a7[cm(0xdb)]['y'],a7['radius'],0x0,Math['PI']*0x2));}function ut(a6,a7){const cn=b2;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8[cn(0x16c)]:a8['length']-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8['length']];Math['abs'](ab[cn(0x1c1)])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}}function dt(a6,a7){const co=b2;let a8=a7[co(0x13c)];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8['length']-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8['length']],af=(aa=ac['bulge'])==null?0x0:aa;Math['abs'](af)<1e-10?a6['lineTo'](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}}function ft(a6,a7){const cp=b2;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7[cp(0x11c)]['y'],0x2)+Math['pow'](a7[cp(0x11c)]['z'],0x2));if(a8<1e-10||a7['minorRatio']<=0x0)return;let a9=a8*a7['minorRatio'],aa=Math['atan2'](a7['majorAxis']['y'],a7['majorAxis']['x']),ab=Math['cos'](aa),ac=Math['sin'](aa),ad=Math['cos'](a7['startParam']),af=Math['sin'](a7['startParam']);a6['moveTo'](a7['center']['x']+a8*ab*ad-a9*ac*af,a7['center']['y']+a8*ac*ad+a9*ab*af),a6['ellipse'](a7['center']['x'],a7['center']['y'],a8,a9,aa,a7['startParam'],a7['endParam'],!0x1);}function pt(a6,a7,a8){const cq=b2;let a9=We(a7,a8);if(!(a9[cq(0x16c)]<0x2)){a6['moveTo'](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9['length'];aa++)a6['lineTo'](a9[aa]['x'],a9[aa]['y']);a7[cq(0x16d)]&0x1&&a6['closePath']();}}function mt(a6,a7,a8){const cr=b2;switch(a7['type']){case cr(0x1cb):st(a6,a7);break;case cr(0x1c9):ct(a6,a7);break;case'CIRCLE':lt(a6,a7);break;case'LWPOLYLINE':ut(a6,a7);break;case'POLYLINE':dt(a6,a7);break;case cr(0x18b):ft(a6,a7);break;case'SPLINE':pt(a6,a7,a8);break;}}var ht=0x64,gt=0.5;function _t(a6,a7,a8,a9,aa,ab,ac=0x0,ad){const cs=b2;if(ac>ht)return;let af=a8[cs(0xec)]['get'](a7['blockName']);if(!af)return;let ag=Math[cs(0xe0)](0x1,a7['columnCount']),ah=Math[cs(0xe0)](0x1,a7['rowCount']);for(let aj=0x0;aj<ah;aj++)for(let ak=0x0;ak<ag;ak++){a6['save']();let al=a7['insertionPoint']['x']+ak*a7['columnSpacing'],am=a7['insertionPoint']['y']+aj*a7['rowSpacing'];a6['translate'](al,am),a7[cs(0xd6)]&&a6['rotate'](a7['rotation']*Math['PI']/0xb4),a6['scale'](a7['scaleX'],a7['scaleY']),a6['translate'](-af['basePoint']['x'],-af['basePoint']['y']);let an=ab/(Math['max'](Math[cs(0x131)](a7[cs(0x16f)]),Math[cs(0x131)](a7['scaleY']))||0x1),ao=null,ap=af['entities'];for(let aq=0x0;aq<ap['length'];aq++){let ar=ap[aq];if(ar['type']!=='INSERT'){let au=it(a7[cs(0x137)],aq),av=au===void 0x0?G(ar):au;if(av){let aw=Math['max'](av[cs(0x197)]-av['minX'],av['maxY']-av['minY']);if(aw>0x0&&aw/an<gt)continue;}}let as=V(ar,a8['layers'],aa);if(ar['type']!=='INSERT'&&ot(ar['type'])){if(as!==ao&&(ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++),ao=as,a6['beginPath'](),a6['strokeStyle']=as,a6['lineWidth']=an),mt(a6,ar,an),ad){var ai;ad['byType'][ar['type']]=((ai=ad['byType'][ar['type']])==null?0x0:ai)+0x1;}}else ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++,ao=null),a6[cs(0x16a)]=as,a6['fillStyle']=as,a6['lineWidth']=an,ar['type']==='INSERT'?_t(a6,ar,a8,a9,aa,an,ac+0x1,ad):K(a6,ar,a8,a9,aa,an,ad);}ao!==null&&(a6['stroke'](),ad&&ad['drawCalls']++),a6['restore']();}}function vt(a6,a7,a8,a9,aa,ab,ac){const cu=b2;if(a7['blockName']){let ad=a8['blocks'][cu(0x142)](a7[cu(0x137)]);if(ad){for(let af of ad['entities']){let ag=V(af,a8['layers'],aa);a6['strokeStyle']=ag,a6['fillStyle']=ag,a6['lineWidth']=ab,K(a6,af,a8,a9,aa,ab,ac);}return;}}a7[cu(0x1c6)]&&a7['defPoint3']&&(a6['beginPath'](),a6['moveTo'](a7[cu(0x1c6)]['x'],a7['defPoint2']['y']),a6['lineTo'](a7['defPoint']['x'],a7['defPoint']['y']),a6[cu(0x17f)](),a6[cu(0x1d3)](),a6['moveTo'](a7[cu(0xd9)]['x'],a7['defPoint3']['y']),a6['lineTo'](a7['defPoint']['x'],a7['defPoint']['y']),a6['stroke']());}function yt(a6,a7){const cv=b2;if(a7['boundaryPaths']['length']!==0x0){a6['beginPath']();for(let aa of a7[cv(0x18f)])if(aa['type']==='polyline'&&aa['vertices']&&aa['vertices']['length']>0x0){let ab=aa[cv(0x13c)][0x0];a6['moveTo'](ab['x'],ab['y']);for(let ac=0x1;ac<aa[cv(0x13c)]['length'];ac++){var a8,a9;let ad=aa['vertices'][ac-0x1],af=aa[cv(0x13c)][ac],ag=(a8=(a9=aa['bulges'])==null?void 0x0:a9[ac-0x1])==null?0x0:a8;Math['abs'](ag)<1e-10?a6['lineTo'](af['x'],af['y']):H(a6,ad['x'],ad['y'],af['x'],af['y'],ag);}aa['isClosed']&&a6['closePath']();}else{if(aa[cv(0x191)]==='edges'&&aa['edges'])for(let ah=0x0;ah<aa['edges']['length'];ah++){let ai=aa[cv(0x196)][ah];if(ai[cv(0x191)]===cv(0x130))ah===0x0&&a6['moveTo'](ai[cv(0xfa)]['x'],ai[cv(0xfa)]['y']),a6['lineTo'](ai['end']['x'],ai[cv(0x1db)]['y']);else{if(ai[cv(0x191)]===cv(0x172)){if(ah===0x0){let aj=ai['center']['x']+ai['radius']*Math['cos'](ai[cv(0x101)]*Math['PI']/0xb4),ak=ai['center']['y']+ai['radius']*Math['sin'](ai['startAngle']*Math['PI']/0xb4);a6['moveTo'](aj,ak);}a6['arc'](ai[cv(0xdb)]['x'],ai['center']['y'],ai['radius'],ai[cv(0x101)]*Math['PI']/0xb4,ai['endAngle']*Math['PI']/0xb4,!ai['ccw']);}}}}a7['solidFill']&&(a6['globalAlpha']=0.3,a6['fill']('evenodd'),a6['globalAlpha']=0x1),a6['stroke']();}}function bt(a6,a7,a8){const cw=b2;let a9=a8*0x3;a6[cw(0x1d3)](),a6['arc'](a7['position']['x'],a7['position']['y'],a9,0x0,Math['PI']*0x2),a6['fill']();}function K(a6,a7,a8,a9,aa,ab,ac){const cx=b2;if(ac){var ad;ac['drawCalls']++,ac['byType'][a7['type']]=((ad=ac[cx(0x1c0)][a7['type']])==null?0x0:ad)+0x1;}switch(a7['type']){case'LINE':Fe(a6,a7);break;case'CIRCLE':Ie(a6,a7);break;case cx(0x1c9):Le(a6,a7);break;case'LWPOLYLINE':ze(a6,a7);break;case cx(0x138):Be(a6,a7);break;case'ELLIPSE':Ve(a6,a7);break;case'SPLINE':Ge(a6,a7,ab);break;case'TEXT':Je(a6,a7,ab);break;case'MTEXT':Xe(a6,a7,ab);break;case'INSERT':_t(a6,a7,a8,a9,aa,ab,0x0,ac);break;case'DIMENSION':vt(a6,a7,a8,a9,aa,ab,ac);break;case'HATCH':yt(a6,a7);break;case'POINT':bt(a6,a7,ab);break;}}var xt=0.5,St=class{constructor(a6){const cy=b2;t(this,'ctx',void 0x0),t(this,'width',0x0),t(this,cy(0xd2),0x0),this['canvas']=a6;let a7=a6['getContext']('2d',{'alpha':!0x1});if(!a7)throw Error('Failed\x20to\x20get\x202D\x20rendering\x20context.\x20The\x20canvas\x20may\x20already\x20have\x20a\x20different\x20context\x20type,\x20or\x20canvas\x20rendering\x20is\x20not\x20available\x20in\x20this\x20environment.');this['ctx']=a7,this[cy(0x1ce)]();}[b2(0x1b7)](){const cz=b2;return this[cz(0xeb)];}['getWidth'](){return this['width'];}['getHeight'](){return this['height'];}['updateSize'](){const cA=b2;let a6=window[cA(0xc3)]||0x1,a7=this['canvas']['getBoundingClientRect']();this[cA(0x1e2)]=a7['width'],this['height']=a7['height'],this['canvas'][cA(0x1e2)]=a7['width']*a6,this['canvas']['height']=a7['height']*a6;}['render'](a6,a7,a8,a9,aa,ab,ac){const cB=b2;let ad=this[cB(0xeb)],af=window['devicePixelRatio']||0x1,ag={'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}};ad['setTransform'](af,0x0,0x0,af,0x0,0x0),ad['fillStyle']=I[a8][cB(0xce)],ad['fillRect'](0x0,0x0,this[cB(0x1e2)],this[cB(0xd2)]),z(ad,a7);let ah=0x1/a7['scale'];ad['lineCap']='round',ad['lineJoin']='round';let ai=null;for(let ak=0x0;ak<a6['entities']['length'];ak++){let al=a6['entities'][ak];if(!al['visible']){ag['entitiesSkipped']++;continue;}if(!a9['has'](al['layer'])){ag['entitiesSkipped']++;continue;}if(ab&&!ab['has'](ak)){ag[cB(0x1b1)]++;continue;}if(ac){let an=ac[ak];if(an){let ao=(an['maxX']-an['minX'])*a7[cB(0x11d)],ap=(an['maxY']-an['minY'])*a7['scale'];if(Math['max'](ao,ap)<xt){ag['entitiesSkipped']++;continue;}}}let am=V(al,a6['layers'],a8);if(ot(al['type'])){var aj;am!==ai&&(ai!==null&&(ad['stroke'](),ag['drawCalls']++),ai=am,ad['beginPath'](),ad['strokeStyle']=am,ad['lineWidth']=ah),mt(ad,al,ah),ag[cB(0x169)]++,ag['byType'][al['type']]=((aj=ag['byType'][al['type']])==null?0x0:aj)+0x1;}else ai!==null&&(ad['stroke'](),ag['drawCalls']++,ai=null),ad['strokeStyle']=am,ad['fillStyle']=am,ad['lineWidth']=ah,ag['entitiesDrawn']++,K(ad,al,a6,a7,a8,ah,ag);}if(ai!==null&&(ad[cB(0x17f)](),ag[cB(0x1ae)]++),aa>=0x0&&aa<a6['entities']['length']){let aq=a6['entities'][aa];z(ad,a7),ad['strokeStyle']=I[a8]['selectionColor'],ad['fillStyle']=I[a8]['selectionColor'],ad[cB(0x11a)]=ah*0x3,K(ad,aq,a6,a7,a8,ah);}return ag;}['renderEmpty'](a6){const cC=b2;let a7=this['ctx'],a8=window[cC(0xc3)]||0x1;a7['setTransform'](a8,0x0,0x0,a8,0x0,0x0),a7['fillStyle']=I[a6][cC(0xce)],a7['fillRect'](0x0,0x0,this['width'],this['height']);}['destroy'](){}},Ct={'showFps':!0x0,'showRenderStats':!0x0,'showDocumentInfo':!0x0,'showTimings':!0x0,'showCamera':!0x0,'position':'top-left'};function q(a6){return a3(a3({},Ct),a6);}function wt(a6){const cD=b2;return a6===0x0?cD(0x16b):a6<0x400?a6+'\x20B':a6<0x400*0x400?(a6/0x400)['toFixed'](0x1)+'\x20KB':(a6/(0x400*0x400))['toFixed'](0x1)+cD(0x1e6);}function Tt(a6){return a6>=0x1?a6['toFixed'](0x2)+'x':'1:'+(0x1/a6)['toFixed'](0x1);}var Et='11px\x20monospace',Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a6,a7,a8,a9,aa,ab){const cE=b2;a6[cE(0xcf)](0x1,0x0,0x0,0x1,0x0,0x0);let ac=[];if(a9['showFps']&&ac['push'](['FPS:\x20'+a7['fps']+'\x20\x20Frame:\x20'+a7['frameTime']['toFixed'](0x1)+'ms']),a9['showRenderStats']){let am=a7['renderStats'][cE(0x169)]+a7['renderStats']['entitiesSkipped'],an=['Drawn:\x20'+a7[cE(0x13d)]['entitiesDrawn']+cE(0x1be)+am+'\x20\x20Calls:\x20'+a7['renderStats']['drawCalls']],ao=Object[cE(0x116)](a7['renderStats'][cE(0x1c0)])['sort'](([,ap],[,aq])=>aq-ap)['slice'](0x0,0x6)[cE(0xe2)](([ap,aq])=>ap+':\x20'+aq)['join']('\x20\x20');ao&&an['push'](ao),ac[cE(0xfc)](an);}if(a9['showDocumentInfo']){let ap=['Layers:\x20'+a7['visibleLayerCount']+'\x20/\x20'+a7['layerCount']+cE(0x176)+a7['blockCount']];a7['dxfVersion']&&ap['push']('DXF:\x20'+a7['dxfVersion']),a7['fileName']&&ap['push']('File:\x20'+a7['fileName']),a7['fileSize']>0x0&&ap['push'](cE(0x1ea)+wt(a7['fileSize'])),ac[cE(0xfc)](ap);}if(a9['showTimings']){let aq=[];a7['parseTime']>0x0&&aq['push']('Parse:\x20'+a7['parseTime'][cE(0x168)](0x0)+'ms'),a7[cE(0x126)]>0x0&&aq['push'](cE(0xbd)+a7[cE(0x126)]['toFixed'](0x0)+'ms'),a7['totalLoadTime']>0x0&&aq['push']('Load:\x20'+a7[cE(0x119)]['toFixed'](0x0)+'ms'),aq[cE(0x16c)]>0x0&&ac[cE(0xfc)]([aq['join']('\x20\x20')]);}if(a9['showCamera']){let ar=a7[cE(0x124)];ac[cE(0xfc)](['Zoom:\x20'+Tt(a7['zoom'])+'\x20\x20Pixel:\x20'+a7[cE(0x140)]['toFixed'](0x2),'View:\x20['+ar['minX']['toFixed'](0x0)+',\x20'+ar['minY']['toFixed'](0x0)+']\x20→\x20['+ar['maxX']['toFixed'](0x0)+',\x20'+ar['maxY'][cE(0x168)](0x0)+']']);}if(ac['length']===0x0)return;a6['font']=Et;let ad=[];for(let as=0x0;as<ac['length'];as++){as>0x0&&ad['push']({'text':'','isSeparator':!0x0});for(let au of ac[as])ad['push']({'text':au,'isSeparator':!0x1});}let af=0x0;for(let av of ad)if(!av['isSeparator']){let aw=a6['measureText'](av['text'])[cE(0x1e2)];aw>af&&(af=aw);}let ag=af+J*0x2,ah=J*0x2;for(let ax of ad)ah+=ax['isSeparator']?Ot:Dt;let ai,aj;switch(a9['position']){case'top-left':ai=Y,aj=Y;break;case'top-right':ai=aa-ag-Y,aj=Y;break;case'bottom-left':ai=Y,aj=ab-ah-Y;break;case'bottom-right':ai=aa-ag-Y,aj=ab-ah-Y;break;}let ak=I[a8];a6['fillStyle']=a8==='dark'?'rgba(0,\x200,\x200,\x200.75)':'rgba(255,\x20255,\x20255,\x200.85)',a6['fillRect'](ai,aj,ag,ah),a6['strokeStyle']=a8===cE(0x177)?'rgba(255,\x20255,\x20255,\x200.15)':'rgba(0,\x200,\x200,\x200.15)',a6['lineWidth']=0x1,a6[cE(0xd4)](ai+0.5,aj+0.5,ag-0x1,ah-0x1),a6['fillStyle']=a8===cE(0x177)?ak['defaultEntityColor']:'rgba(0,\x200,\x200,\x200.85)',a6['textAlign']='left',a6['textBaseline']=cE(0x155);let al=aj+J;for(let ay of ad)ay['isSeparator']?al+=Ot:(a6['fillText'](ay['text'],ai+J,al),al+=Dt);}var At=class{constructor(){t(this,'layers',new Map()),t(this,'visibility',new Map()),t(this,'colorOverrides',new Map()),t(this,'visibleCache',null);}['setLayers'](a6){const cF=b2;this['layers']=new Map(a6),this['visibility']['clear'](),this['colorOverrides']['clear'](),this['visibleCache']=null;for(let [a7,a8]of this[cF(0x1e0)])this['visibility']['set'](a7,!a8['isOff']&&!a8['isFrozen']);}['getAllLayers'](){const cG=b2;return Array['from'](this[cG(0x1e0)]['values']());}['setVisible'](a6,a7){this['visibility']['set'](a6,a7),this['visibleCache']=null;}['isVisible'](a6){var a7;return(a7=this['visibility']['get'](a6))==null?!0x0:a7;}['setColorOverride'](a6,a7){this['colorOverrides']['set'](a6,a7);}['getColorOverride'](a6){const cH=b2;return this['colorOverrides'][cH(0x142)](a6);}['getVisibleLayerNames'](){const cI=b2;if(this['visibleCache'])return this[cI(0x17c)];let a6=new Set();for(let [a7,a8]of this['visibility'])a8&&a6[cI(0x114)](a7);return this['visibleCache']=a6,a6;}[b2(0x100)](){const cJ=b2;this['layers']['clear'](),this['visibility']['clear'](),this['colorOverrides'][cJ(0x100)](),this['visibleCache']=null;}},jt=class{constructor(){const cK=b2;t(this,cK(0x19f),new Map());}['on'](a6,a7){const cL=b2;this[cL(0x19f)]['has'](a6)||this['listeners']['set'](a6,new Set()),this['listeners']['get'](a6)['add'](a7);}[b2(0x179)](a6,a7){const cM=b2;var a8;(a8=this['listeners']['get'](a6))==null||a8[cM(0xca)](a7);}[b2(0x152)](a6,a7){let a8=this['listeners']['get'](a6);if(a8){for(let a9 of a8)a9(a7);}}['removeAllListeners'](){this['listeners']['clear']();}},Mt=class{constructor(a6,a7){const cN=b2;t(this,'isPanning',!0x1),t(this,cN(0x16e),0x0),t(this,'lastY',0x0),t(this,'touches',new Map()),t(this,'onPointerDown',void 0x0),t(this,'onPointerMove',void 0x0),t(this,cN(0xf4),void 0x0),t(this,'onWheel',void 0x0),t(this,'onTouchStart',void 0x0),t(this,'onTouchMove',void 0x0),t(this,'onTouchEnd',void 0x0),t(this,'onContextMenu',void 0x0),this['canvas']=a6,this[cN(0xd7)]=a7,this['onPointerDown']=this['handlePointerDown']['bind'](this),this['onPointerMove']=this['handlePointerMove']['bind'](this),this['onPointerUp']=this['handlePointerUp']['bind'](this),this[cN(0xee)]=this[cN(0x141)]['bind'](this),this['onTouchStart']=this['handleTouchStart']['bind'](this),this['onTouchMove']=this['handleTouchMove']['bind'](this),this['onTouchEnd']=this['handleTouchEnd']['bind'](this),this['onContextMenu']=a8=>a8['preventDefault'](),a6['addEventListener']('pointerdown',this['onPointerDown']),a6['addEventListener']('pointermove',this['onPointerMove']),a6['addEventListener']('pointerup',this['onPointerUp']),a6['addEventListener']('wheel',this['onWheel'],{'passive':!0x1}),a6['addEventListener']('touchstart',this[cN(0x158)],{'passive':!0x1}),a6['addEventListener']('touchmove',this[cN(0x123)],{'passive':!0x1}),a6['addEventListener'](cN(0xc4),this['onTouchEnd']),a6['addEventListener']('contextmenu',this['onContextMenu']);}['destroy'](){const cO=b2;this[cO(0x11f)]['removeEventListener']('pointerdown',this['onPointerDown']),this[cO(0x11f)]['removeEventListener']('pointermove',this['onPointerMove']),this['canvas']['removeEventListener']('pointerup',this['onPointerUp']),this['canvas']['removeEventListener']('wheel',this['onWheel']),this['canvas'][cO(0x14d)]('touchstart',this[cO(0x158)]),this['canvas']['removeEventListener'](cO(0x13b),this['onTouchMove']),this['canvas']['removeEventListener']('touchend',this['onTouchEnd']),this['canvas']['removeEventListener']('contextmenu',this['onContextMenu']);}['handlePointerDown'](a6){const cP=b2;let a7=this[cP(0xd7)]['getTool'](),a8=this['canvas'][cP(0x13f)](),a9=a6[cP(0xed)]-a8[cP(0x1d9)],aa=a6[cP(0x1b9)]-a8[cP(0x155)];a6[cP(0xbf)]===0x0&&a7==='pan'||a6['button']===0x1?this['startPan'](a6,a9,aa):a6[cP(0xbf)]===0x0&&(a7==='select'||a7==='measure')&&this['viewer']['handleClick'](a9,aa);}['startPan'](a6,a7,a8){const cQ=b2;this['isPanning']=!0x0,this['lastX']=a7,this[cQ(0xcb)]=a8,this[cQ(0x11f)]['setPointerCapture'](a6['pointerId']),this['canvas']['style']['cursor']=cQ(0xf1);}['handlePointerMove'](a6){const cR=b2;let a7=this[cR(0x11f)]['getBoundingClientRect'](),a8=a6['clientX']-a7['left'],a9=a6['clientY']-a7['top'];if(this['isPanning']){let aa=a8-this['lastX'],ab=a9-this[cR(0xcb)];this['lastX']=a8,this['lastY']=a9,this['viewer']['handlePan'](aa,ab);}else this['viewer']['handleMouseMove'](a8,a9);}['handlePointerUp'](a6){const cS=b2;this['isPanning']&&(this['isPanning']=!0x1,this['canvas']['releasePointerCapture'](a6['pointerId']),this['canvas']['style'][cS(0x1a1)]=this['viewer'][cS(0x1bb)]()==='pan'?'grab':'crosshair');}['handleWheel'](a6){const cT=b2;a6['preventDefault']();let a7=this[cT(0x11f)]['getBoundingClientRect'](),a8=a6['clientX']-a7[cT(0x1d9)],a9=a6[cT(0x1b9)]-a7['top'],aa=-Math['sign'](a6[cT(0x105)]),ab=this['viewer']['getZoomSpeed'](),ac=aa>0x0?ab:0x1/ab;this['viewer']['handleZoom'](a8,a9,ac);}[b2(0x112)](a6){const cU=b2;a6['preventDefault']();for(let a7 of Array['from'](a6['changedTouches']))this['touches']['set'](a7['identifier'],{'x':a7['clientX'],'y':a7[cU(0x1b9)]});}[b2(0x104)](a6){const cV=b2;if(a6['preventDefault'](),this['touches']['size']===0x2&&a6['touches']['length']===0x2){let a7=a6['touches'][0x0],a8=a6['touches'][0x1],a9=Array['from'](this['touches']['values']()),aa=Math['hypot'](a9[0x0]['x']-a9[0x1]['x'],a9[0x0]['y']-a9[0x1]['y']),ab=Math['hypot'](a7['clientX']-a8['clientX'],a7['clientY']-a8[cV(0x1b9)]);if(aa>0x0){let ac=ab/aa,ad=this['canvas']['getBoundingClientRect'](),af=(a9[0x0]['x']+a9[0x1]['x'])/0x2-ad['left'],ag=(a9[0x0]['y']+a9[0x1]['y'])/0x2-ad['top'],ah=(a7['clientX']+a8['clientX'])/0x2-ad['left'],ai=(a7['clientY']+a8['clientY'])/0x2-ad['top'];this['viewer']['handleZoom'](af,ag,ac),this['viewer']['handlePan'](ah-af,ai-ag);}}else{if(this['touches']['size']===0x1&&a6['touches']['length']===0x1){let aj=a6['touches'][0x0],ak=this[cV(0xc8)]['get'](aj['identifier']);ak&&this[cV(0xd7)]['handlePan'](aj['clientX']-ak['x'],aj[cV(0x1b9)]-ak['y']);}}for(let al of Array['from'](a6['changedTouches']))this['touches']['set'](al['identifier'],{'x':al['clientX'],'y':al['clientY']});}['handleTouchEnd'](a6){for(let a7 of Array['from'](a6['changedTouches']))this['touches']['delete'](a7['identifier']);}},Nt=0x5,Pt=class{constructor(){const cW=b2;t(this,cW(0x17a),new l()),t(this,cW(0x1de),[]),t(this,cW(0x107),[]);}['build'](a6,a7){const cX=b2;this['items']=[],this['entityBBoxes']=Array(a6['length'])[cX(0x12b)](null);let a8=a7?new Map():void 0x0;for(let a9=0x0;a9<a6['length'];a9++){let aa=a6[a9],ab=a7&&a8?et(aa,a7,a8):G(aa);this['entityBBoxes'][a9]=ab,ab&&this['items'][cX(0xfc)](a3(a3({},ab),{},{'entityIndex':a9}));}this['tree']['clear'](),this[cX(0x17a)][cX(0x1ba)](this['items']);}['search'](a6,a7,a8,a9){return this['tree']['search']({'minX':a6,'minY':a7,'maxX':a8,'maxY':a9});}['getEntityBBox'](a6){var a7;return(a7=this['entityBBoxes'][a6])==null?null:a7;}['getEntityBBoxes'](){return this['entityBBoxes'];}[b2(0x100)](){this['tree']['clear'](),this['items']=[],this['entityBBoxes']=[];}};function Ft(a6,a7,a8,a9,aa,ab){const cY=b2;let ac=Nt/ab,ad=a9[cY(0x17d)](a6-ac,a7-ac,a6+ac,a7+ac),af=ac,ag=-0x1;for(let ah=ad['length']-0x1;ah>=0x0;ah--){let ai=ad[ah],aj=a8[ai['entityIndex']];if(!aj||!aa['has'](aj['layer'])||!aj['visible'])continue;let ak=It(a6,a7,aj);ak<af&&(af=ak,ag=ai['entityIndex']);}return ag;}function It(a6,a7,a8){const cZ=b2;switch(a8['type']){case'LINE':return X(a6,a7,a8['start']['x'],a8['start']['y'],a8['end']['x'],a8['end']['y']);case'CIRCLE':return Lt(a6,a7,a8['center']['x'],a8['center']['y'],a8['radius']);case cZ(0x1c9):return Rt(a6,a7,a8['center']['x'],a8['center']['y'],a8['radius'],a8['startAngle']*Math['PI']/0xb4,a8['endAngle']*Math['PI']/0xb4);case'LWPOLYLINE':case'POLYLINE':{let a9=Infinity,aa=a8[cZ(0x13c)],ab=a8['closed']?aa['length']:aa['length']-0x1;for(let ac=0x0;ac<ab;ac++){let ad=aa[ac],af=aa[(ac+0x1)%aa['length']],ag=X(a6,a7,ad['x'],ad['y'],af['x'],af['y']);a9=Math['min'](a9,ag);}return a9;}case'ELLIPSE':return Bt(a6,a7,a8['center']['x'],a8[cZ(0xdb)]['y'],a8['majorAxis'],a8['minorRatio']);case'TEXT':case'MTEXT':{let ah=G(a8);return ah?zt(a6,a7,ah['minX'],ah[cZ(0x102)],ah['maxX'],ah['maxY']):Infinity;}case cZ(0x19d):return Math['hypot'](a6-a8[cZ(0xd8)]['x'],a7-a8['position']['y']);case'SPLINE':{let ai=Infinity,aj=a8['controlPoints'];for(let ak=0x0;ak<aj['length']-0x1;ak++){let al=X(a6,a7,aj[ak]['x'],aj[ak]['y'],aj[ak+0x1]['x'],aj[ak+0x1]['y']);ai=Math[cZ(0x128)](ai,al);}return ai;}default:return Infinity;}}function X(a6,a7,a8,a9,aa,ab){let ac=aa-a8,ad=ab-a9,af=ac*ac+ad*ad;if(af===0x0)return Math['hypot'](a6-a8,a7-a9);let ag=((a6-a8)*ac+(a7-a9)*ad)/af;ag=Math['max'](0x0,Math['min'](0x1,ag));let ah=a8+ag*ac,ai=a9+ag*ad;return Math['hypot'](a6-ah,a7-ai);}function Lt(a6,a7,a8,a9,aa){const d0=b2;return Math[d0(0x131)](Math['hypot'](a6-a8,a7-a9)-aa);}function Rt(a6,a7,a8,a9,aa,ab,ac){const d1=b2;let ad=(Math[d1(0x1b5)](a7-a9,a6-a8)%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),af=(ab%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),ag=(ac%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']);if(af<=ag?ad>=af&&ad<=ag:ad>=af||ad<=ag)return Math[d1(0x131)](Math['hypot'](a6-a8,a7-a9)-aa);let ah=Math['hypot'](a6-(a8+aa*Math['cos'](ab)),a7-(a9+aa*Math['sin'](ab))),ai=Math[d1(0x1a5)](a6-(a8+aa*Math['cos'](ac)),a7-(a9+aa*Math[d1(0x149)](ac)));return Math['min'](ah,ai);}function zt(a6,a7,a8,a9,aa,ab){const d2=b2;if(a6>=a8&&a6<=aa&&a7>=a9&&a7<=ab)return 0x0;let ac=Math[d2(0xe0)](a8-a6,0x0,a6-aa),ad=Math['max'](a9-a7,0x0,a7-ab);return Math['hypot'](ac,ad);}function Bt(a6,a7,a8,a9,aa,ab){let ac=Math['atan2'](aa['y'],aa['x']),ad=Math['cos'](-ac),af=Math['sin'](-ac),ag=(a6-a8)*ad-(a7-a9)*af,ah=(a6-a8)*af+(a7-a9)*ad,ai=Math['sqrt'](Math['pow'](aa['x'],0x2)+Math['pow'](aa['y'],0x2)),aj=ai*ab;if(ai<1e-10)return Math['hypot'](a6-a8,a7-a9);let ak=ai/aj*ah,al=Math['hypot'](ag,ak);if(al<1e-10)return ai;let am=ag/al*ai,an=ah/al*aj;return Math['hypot'](ag-am,ah-an);}var Vt=class{constructor(){const d3=b2;t(this,'state',{'phase':'idle'}),t(this,d3(0xe4),null);}['activate'](){this['state']={'phase':'first-point'},this['currentSnap']=null;}['deactivate'](){this['state']={'phase':'idle'},this['currentSnap']=null;}['handleClick'](a6,a7,a8){const d4=b2;let a9=a8?a8['point']:{'x':a6,'y':a7};switch(this['state'][d4(0x164)]){case'first-point':return this['state']={'phase':'second-point','firstPoint':a9,'firstSnap':a8==null?void 0x0:a8},null;case'second-point':{let aa=this['state'][d4(0x156)],ab=a9,ac=ab['x']-aa['x'],ad=ab['y']-aa['y'],af=Math[d4(0x122)](ac*ac+ad*ad),ag=Math[d4(0x1b5)](ad,ac)*0xb4/Math['PI'];return this[d4(0x1ab)]={'phase':'done','firstPoint':aa,'secondPoint':ab,'distance':af,'angle':ag},{'distance':af,'angle':ag,'deltaX':ac,'deltaY':ad,'points':[aa,ab]};}case d4(0xff):return this['state']={'phase':'second-point','firstPoint':a9},null;default:return null;}}['handleMove'](a6){this['currentSnap']=a6;}};function Z(a6,a7,a8,a9,aa,ab=new Set(['endpoint',b2(0xe3),'center'])){const d5=b2;let ac=0xa/aa,ad=[],af=a9['search'](a6-ac,a7-ac,a6+ac,a7+ac);for(let ag of af){let ah=a8[ag['entityIndex']];if(!ah)continue;let ai=ag['entityIndex'];switch(ah['type']){case'LINE':ab['has'](d5(0x19b))&&(Q(ad,ah['start']['x'],ah['start']['y'],'endpoint',ai,a6,a7,ac),Q(ad,ah['end']['x'],ah['end']['y'],'endpoint',ai,a6,a7,ac)),ab[d5(0x18c)]('midpoint')&&Q(ad,(ah['start']['x']+ah['end']['x'])/0x2,(ah['start']['y']+ah['end']['y'])/0x2,'midpoint',ai,a6,a7,ac);break;case'CIRCLE':if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){for(let aj of[0x0,Math['PI']/0x2,Math['PI'],0x3*Math['PI']/0x2])Q(ad,ah['center']['x']+ah['radius']*Math['cos'](aj),ah['center']['y']+ah['radius']*Math['sin'](aj),'endpoint',ai,a6,a7,ac);}break;case'ARC':if(ab['has']('center')&&Q(ad,ah['center']['x'],ah['center']['y'],'center',ai,a6,a7,ac),ab['has']('endpoint')){let ak=ah['startAngle']*Math['PI']/0xb4,al=ah['endAngle']*Math['PI']/0xb4;Q(ad,ah['center']['x']+ah['radius']*Math['cos'](ak),ah['center']['y']+ah['radius']*Math['sin'](ak),'endpoint',ai,a6,a7,ac),Q(ad,ah['center']['x']+ah['radius']*Math['cos'](al),ah['center']['y']+ah['radius']*Math['sin'](al),'endpoint',ai,a6,a7,ac);}break;case'LWPOLYLINE':case'POLYLINE':if(ab['has']('endpoint')){for(let am of ah[d5(0x13c)])Q(ad,am['x'],am['y'],d5(0x19b),ai,a6,a7,ac);}if(ab[d5(0x18c)]('midpoint'))for(let an=0x0;an<ah['vertices']['length']-0x1;an++){let ao=ah[d5(0x13c)][an],ap=ah['vertices'][an+0x1];Q(ad,(ao['x']+ap['x'])/0x2,(ao['y']+ap['y'])/0x2,'midpoint',ai,a6,a7,ac);}break;case'ELLIPSE':ab['has']('center')&&Q(ad,ah[d5(0xdb)]['x'],ah['center']['y'],d5(0xdb),ai,a6,a7,ac);break;case'TEXT':ab['has']('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],'endpoint',ai,a6,a7,ac);break;case d5(0x1bc):ab[d5(0x18c)](d5(0x19b))&&Q(ad,ah['insertionPoint']['x'],ah[d5(0x148)]['y'],'endpoint',ai,a6,a7,ac);break;}}return ad['sort']((aq,ar)=>Math['hypot'](aq['point']['x']-a6,aq['point']['y']-a7)-Math['hypot'](ar['point']['x']-a6,ar[d5(0x120)]['y']-a7)),ad;}function Q(a6,a7,a8,a9,aa,ab,ac,ad){Math['hypot'](a7-ab,a8-ac)<=ad&&a6['push']({'point':{'x':a7,'y':a8},'type':a9,'entityIndex':aa});}function Ht(a6,a7,a8,a9,aa,ab){const d6=b2;let ac=I[ab];a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ad=a8['state'];if(a8[d6(0xe4)]){let [af,ag]=L(a7,a8[d6(0xe4)]['point']['x'],a8['currentSnap']['point']['y']);Ut(a6,af,ag,a8['currentSnap']['type'],ac['measureColor']);}if(ad['phase']==='second-point'){let [ah,ai]=L(a7,ad[d6(0x156)]['x'],ad['firstPoint']['y']),aj,ak;if(a8['currentSnap']){let [ao,ap]=L(a7,a8['currentSnap']['point']['x'],a8['currentSnap']['point']['y']);aj=ao,ak=ap;}else aj=a9,ak=aa;a6['strokeStyle']=ac['measureColor'],a6['lineWidth']=1.5,a6['setLineDash']([0x6,0x3]),a6[d6(0x1d3)](),a6['moveTo'](ah,ai),a6['lineTo'](aj,ak),a6['stroke'](),a6['setLineDash']([]),$(a6,ah,ai,ac['measureColor']),$(a6,aj,ak,ac['measureColor']);let al,am;a8[d6(0xe4)]?(al=a8[d6(0xe4)][d6(0x120)]['x'],am=a8['currentSnap']['point']['y']):[al,am]=R(a7,a9,aa);let an=Math['hypot'](al-ad['firstPoint']['x'],am-ad['firstPoint']['y']);Wt(a6,(ah+aj)/0x2,(ai+ak)/0x2,an,ab);}if(ad[d6(0x164)]==='done'){let [aq,ar]=L(a7,ad[d6(0x156)]['x'],ad['firstPoint']['y']),[as,au]=L(a7,ad['secondPoint']['x'],ad[d6(0x199)]['y']);a6[d6(0x16a)]=ac['measureColor'],a6['lineWidth']=0x2,a6['beginPath'](),a6['moveTo'](aq,ar),a6[d6(0x1cf)](as,au),a6['stroke'](),$(a6,aq,ar,ac['measureColor']),$(a6,as,au,ac[d6(0x121)]),Wt(a6,(aq+as)/0x2,(ar+au)/0x2,ad[d6(0x111)],ab);}}function Ut(a6,a7,a8,a9,aa){const d7=b2;switch(a6['strokeStyle']=aa,a6['lineWidth']=0x2,a9){case'endpoint':a6[d7(0xd4)](a7-0x8/0x2,a8-0x8/0x2,0x8,0x8);break;case'midpoint':a6['beginPath'](),a6[d7(0xe9)](a7,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6[d7(0x14b)](),a6['stroke']();break;case'center':a6['beginPath'](),a6['arc'](a7,a8,0x8/0x2,0x0,Math['PI']*0x2),a6[d7(0x17f)]();break;case'nearest':a6['beginPath'](),a6['moveTo'](a7-0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7+0x8/0x2,a8+0x8/0x2),a6['moveTo'](a7+0x8/0x2,a8-0x8/0x2),a6['lineTo'](a7-0x8/0x2,a8+0x8/0x2),a6['stroke']();break;}}function $(a6,a7,a8,a9){a6['fillStyle']=a9,a6['beginPath'](),a6['arc'](a7,a8,0x4,0x0,Math['PI']*0x2),a6['fill']();}function Wt(a6,a7,a8,a9,aa){const d8=b2;let ab=a9['toFixed'](0x4);a6['font']=d8(0x1b8),a6['textAlign']='center',a6['textBaseline']='bottom';let ac=a6['measureText'](ab),ad=a7-ac[d8(0x1e2)]/0x2-0x4,af=a8-0x14,ag=ac['width']+0x8;a6['fillStyle']=aa==='dark'?'rgba(0,0,0,0.8)':'rgba(255,255,255,0.9)',a6[d8(0x186)](ad,af,ag,0x12),a6['fillStyle']=I[aa][d8(0x121)],a6['fillText'](ab,a7,a8-0x6);}var Gt=class{constructor(){const d9=b2;t(this,d9(0x1d4),null),t(this,'blobUrl',null),t(this,'nextId',0x1),t(this,d9(0xd3),new Map());}['getWorker'](){const da=b2;return this[da(0x1d4)]?this['worker']:(this['blobUrl']=URL['createObjectURL'](new Blob(['\x22use\x20strict\x22;(()=>{function\x20h(a){let\x20e=a.replace(/\x5cr\x5cn?/g,`\x0a`),t=[],r=e.length,n=0;for(;n<r;){for(;n<r&&e.charCodeAt(n)===10;)n++;if(n>=r)break;let\x20o=e.indexOf(`\x0a`,n);o===-1&&(o=r);let\x20c=e.substring(n,o).trim();n=o+1;let\x20s=parseInt(c,10);if(isNaN(s)){n<r&&(o=e.indexOf(`\x0a`,n),o===-1&&(o=r),n=o+1);continue}if(n>=r)break;o=e.indexOf(`\x0a`,n),o===-1&&(o=r);let\x20p=e.substring(n,o).replace(/\x5cs+$/,\x22\x22);n=o+1,t.push({code:s,value:p})}return\x20t}function\x20m(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===9){let\x20n=r.value;switch(e++,n){case\x22$ACADVER\x22:e<a.length&&(t.acadVersion=a[e].value,e++);break;case\x22$EXTMIN\x22:if(e<a.length){let\x20o=v(a,e);t.extMin=o.point,e=o.nextIndex}break;case\x22$EXTMAX\x22:if(e<a.length){let\x20o=v(a,e);t.extMax=o.point,e=o.nextIndex}break;case\x22$INSUNITS\x22:e<a.length&&(t.insUnits=parseInt(a[e].value,10),e++);break;case\x22$MEASUREMENT\x22:e<a.length&&(t.measurement=parseInt(a[e].value,10),e++);break;case\x22$LTSCALE\x22:e<a.length&&(t.ltScale=parseFloat(a[e].value),e++);break;case\x22$DWGCODEPAGE\x22:e<a.length&&(t.dwgCodePage=a[e].value,e++);break;case\x22$HANDSEED\x22:e<a.length&&(t.handleSeed=a[e].value,e++);break;default:for(;e<a.length&&a[e].code!==9&&a[e].code!==0;)t[n]=a[e].value,e++}}else\x20e++}return\x20e}function\x20v(a,e){let\x20t={x:0,y:0,z:0};for(;e<a.length;){let\x20r=a[e].code;if(r===10)t.x=parseFloat(a[e].value),e++;else\x20if(r===20)t.y=parseFloat(a[e].value),e++;else\x20if(r===30)t.z=parseFloat(a[e].value),e++;else\x20break}return{point:t,nextIndex:e}}function\x20k(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===0&&r.value===\x22TABLE\x22){if(e++,e>=a.length)break;let\x20n=a[e].value;switch(e++,n){case\x22LAYER\x22:e=H(a,e,t.layers);break;case\x22LTYPE\x22:e=O(a,e,t.lineTypes);break;case\x22STYLE\x22:e=_(a,e,t.styles);break;default:e=R(a,e);break}}else\x20e++}return\x20e}function\x20R(a,e){for(;e<a.length;){if(a[e].code===0&&a[e].value===\x22ENDTAB\x22)return\x20e+1;e++}return\x20e}function\x20H(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22LAYER\x22){e++;let\x20n={name:\x220\x22,color:7,lineType:\x22Continuous\x22,flags:0,lineWeight:-3,isOff:!1,isFrozen:!1,isLocked:!1};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x206:n.lineType=o.value;break;case\x2062:n.color=parseInt(o.value,10);break;case\x2070:n.flags=parseInt(o.value,10);break;case\x20370:n.lineWeight=parseInt(o.value,10);break;case\x20420:n.trueColor=parseInt(o.value,10);break}e++}t.set(n.name,n)}else\x20e++}return\x20e}function\x20O(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22LTYPE\x22){e++;let\x20n={name:\x22\x22,description:\x22\x22,pattern:[],totalLength:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x203:n.description=o.value;break;case\x2040:n.totalLength=parseFloat(o.value);break;case\x2049:n.pattern.push(parseFloat(o.value));break}e++}n.name&&t.set(n.name,n)}else\x20e++}return\x20e}function\x20_(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDTAB\x22)return\x20e+1;if(r.code===0&&r.value===\x22STYLE\x22){e++;let\x20n={name:\x22\x22,fontName:\x22\x22,bigFontName:\x22\x22,height:0,widthFactor:1,obliqueAngle:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x203:n.fontName=o.value;break;case\x204:n.bigFontName=o.value;break;case\x2040:n.height=parseFloat(o.value);break;case\x2041:n.widthFactor=parseFloat(o.value);break;case\x2050:n.obliqueAngle=parseFloat(o.value);break}e++}n.name&&t.set(n.name,n)}else\x20e++}return\x20e}function\x20l(a){let\x20e={type:\x22\x22,layer:\x220\x22,color:256,lineType:\x22BYLAYER\x22,lineTypeScale:1,lineWeight:-1,visible:!0,extrusion:{x:0,y:0,z:1}};for(let\x20t\x20of\x20a)switch(t.code){case\x205:e.handle=t.value;break;case\x208:e.layer=t.value;break;case\x206:e.lineType=t.value;break;case\x2048:e.lineTypeScale=parseFloat(t.value);break;case\x2060:e.visible=t.value===\x220\x22||t.value===\x22\x22;break;case\x2062:e.color=parseInt(t.value,10);break;case\x20370:e.lineWeight=parseInt(t.value,10);break;case\x20420:e.trueColor=parseInt(t.value,10);break;case\x20210:e.extrusion.x=parseFloat(t.value);break;case\x20220:e.extrusion.y=parseFloat(t.value);break;case\x20230:e.extrusion.z=parseFloat(t.value);break}return\x20e}function\x20D(a){let\x20t={...l(a),type:\x22LINE\x22,start:{x:0,y:0,z:0},end:{x:0,y:0,z:0}};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.start.x=parseFloat(r.value);break;case\x2020:t.start.y=parseFloat(r.value);break;case\x2030:t.start.z=parseFloat(r.value);break;case\x2011:t.end.x=parseFloat(r.value);break;case\x2021:t.end.y=parseFloat(r.value);break;case\x2031:t.end.z=parseFloat(r.value);break}return\x20t}function\x20F(a){let\x20t={...l(a),type:\x22CIRCLE\x22,center:{x:0,y:0,z:0},radius:0};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2040:t.radius=parseFloat(r.value);break}return\x20t}function\x20E(a){let\x20t={...l(a),type:\x22ARC\x22,center:{x:0,y:0,z:0},radius:0,startAngle:0,endAngle:360};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2040:t.radius=parseFloat(r.value);break;case\x2050:t.startAngle=parseFloat(r.value);break;case\x2051:t.endAngle=parseFloat(r.value);break}return\x20t}function\x20P(a){let\x20t={...l(a),type:\x22LWPOLYLINE\x22,vertices:[],closed:!1,constantWidth:0,elevation:0},r=null;for(let\x20n\x20of\x20a)switch(n.code){case\x2070:t.closed=(parseInt(n.value,10)&1)!==0;break;case\x2038:t.elevation=parseFloat(n.value);break;case\x2043:t.constantWidth=parseFloat(n.value);break;case\x2010:r&&t.vertices.push(r),r={x:parseFloat(n.value),y:0,bulge:0,startWidth:0,endWidth:0};break;case\x2020:r&&(r.y=parseFloat(n.value));break;case\x2040:r&&(r.startWidth=parseFloat(n.value));break;case\x2041:r&&(r.endWidth=parseFloat(n.value));break;case\x2042:r&&(r.bulge=parseFloat(n.value));break}return\x20r&&t.vertices.push(r),t}function\x20T(a){let\x20t={...l(a),type:\x22POLYLINE\x22,vertices:[],closed:!1,is3d:!1};for(let\x20r\x20of\x20a)if(r.code===70){let\x20n=parseInt(r.value,10);t.closed=(n&1)!==0,t.is3d=(n&8)!==0}return\x20t}function\x20w(a){let\x20t={...l(a),type:\x22ELLIPSE\x22,center:{x:0,y:0,z:0},majorAxis:{x:1,y:0,z:0},minorRatio:1,startParam:0,endParam:Math.PI*2};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.center.x=parseFloat(r.value);break;case\x2020:t.center.y=parseFloat(r.value);break;case\x2030:t.center.z=parseFloat(r.value);break;case\x2011:t.majorAxis.x=parseFloat(r.value);break;case\x2021:t.majorAxis.y=parseFloat(r.value);break;case\x2031:t.majorAxis.z=parseFloat(r.value);break;case\x2040:t.minorRatio=parseFloat(r.value);break;case\x2041:t.startParam=parseFloat(r.value);break;case\x2042:t.endParam=parseFloat(r.value);break}return\x20t}function\x20g(a){let\x20t={...l(a),type:\x22SPLINE\x22,degree:3,flags:0,knots:[],controlPoints:[],fitPoints:[],weights:[]},r=null,n=null;for(let\x20o\x20of\x20a)switch(o.code){case\x2070:t.flags=parseInt(o.value,10);break;case\x2071:t.degree=parseInt(o.value,10);break;case\x2040:t.knots.push(parseFloat(o.value));break;case\x2041:t.weights.push(parseFloat(o.value));break;case\x2010:r&&t.controlPoints.push(r),r={x:parseFloat(o.value),y:0,z:0};break;case\x2020:r&&(r.y=parseFloat(o.value));break;case\x2030:r&&(r.z=parseFloat(o.value));break;case\x2011:n&&t.fitPoints.push(n),n={x:parseFloat(o.value),y:0,z:0};break;case\x2021:n&&(n.y=parseFloat(o.value));break;case\x2031:n&&(n.z=parseFloat(o.value));break;case\x2012:t.startTangent||(t.startTangent={x:0,y:0,z:0}),t.startTangent.x=parseFloat(o.value);break;case\x2022:t.startTangent&&(t.startTangent.y=parseFloat(o.value));break;case\x2032:t.startTangent&&(t.startTangent.z=parseFloat(o.value));break;case\x2013:t.endTangent||(t.endTangent={x:0,y:0,z:0}),t.endTangent.x=parseFloat(o.value);break;case\x2023:t.endTangent&&(t.endTangent.y=parseFloat(o.value));break;case\x2033:t.endTangent&&(t.endTangent.z=parseFloat(o.value));break}return\x20r&&t.controlPoints.push(r),n&&t.fitPoints.push(n),t}function\x20I(a){let\x20t={...l(a),type:\x22TEXT\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,rotation:0,widthFactor:1,obliqueAngle:0,style:\x22STANDARD\x22,hAlign:0,vAlign:0,generationFlags:0};for(let\x20r\x20of\x20a)switch(r.code){case\x201:t.text=r.value;break;case\x2010:t.insertionPoint.x=parseFloat(r.value);break;case\x2020:t.insertionPoint.y=parseFloat(r.value);break;case\x2030:t.insertionPoint.z=parseFloat(r.value);break;case\x2011:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.x=parseFloat(r.value);break;case\x2021:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.y=parseFloat(r.value);break;case\x2031:t.alignmentPoint||(t.alignmentPoint={x:0,y:0,z:0}),t.alignmentPoint.z=parseFloat(r.value);break;case\x2040:t.height=parseFloat(r.value);break;case\x2041:t.widthFactor=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2051:t.obliqueAngle=parseFloat(r.value);break;case\x207:t.style=r.value;break;case\x2071:t.generationFlags=parseInt(r.value,10);break;case\x2072:t.hAlign=parseInt(r.value,10);break;case\x2073:t.vAlign=parseInt(r.value,10);break}return\x20t}function\x20A(a){let\x20t={...l(a),type:\x22MTEXT\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,width:0,attachmentPoint:1,drawingDirection:1,rotation:0,lineSpacingStyle:1,lineSpacingFactor:1,style:\x22STANDARD\x22,bgFill:0,bgFillScale:1.5},r=[];for(let\x20n\x20of\x20a)switch(n.code){case\x201:r.push(n.value);break;case\x203:r.push(n.value);break;case\x207:t.style=n.value;break;case\x2010:t.insertionPoint.x=parseFloat(n.value);break;case\x2020:t.insertionPoint.y=parseFloat(n.value);break;case\x2030:t.insertionPoint.z=parseFloat(n.value);break;case\x2011:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.x=parseFloat(n.value);break;case\x2021:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.y=parseFloat(n.value);break;case\x2031:t.textDirection||(t.textDirection={x:0,y:0,z:0}),t.textDirection.z=parseFloat(n.value);break;case\x2040:t.height=parseFloat(n.value);break;case\x2041:t.width=parseFloat(n.value);break;case\x2044:t.lineSpacingFactor=parseFloat(n.value);break;case\x2050:t.rotation=parseFloat(n.value);break;case\x2071:t.attachmentPoint=parseInt(n.value,10);break;case\x2072:t.drawingDirection=parseInt(n.value,10);break;case\x2073:t.lineSpacingStyle=parseInt(n.value,10);break;case\x2090:t.bgFill=parseInt(n.value,10);break}return\x20t.text=r.join(\x22\x22),t}function\x20z(a){let\x20t={...l(a),type:\x22INSERT\x22,blockName:\x22\x22,insertionPoint:{x:0,y:0,z:0},scaleX:1,scaleY:1,scaleZ:1,rotation:0,columnCount:1,rowCount:1,columnSpacing:0,rowSpacing:0,attribs:[]};for(let\x20r\x20of\x20a)switch(r.code){case\x202:t.blockName=r.value;break;case\x2010:t.insertionPoint.x=parseFloat(r.value);break;case\x2020:t.insertionPoint.y=parseFloat(r.value);break;case\x2030:t.insertionPoint.z=parseFloat(r.value);break;case\x2041:t.scaleX=parseFloat(r.value);break;case\x2042:t.scaleY=parseFloat(r.value);break;case\x2043:t.scaleZ=parseFloat(r.value);break;case\x2044:t.columnSpacing=parseFloat(r.value);break;case\x2045:t.rowSpacing=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2070:t.columnCount=parseInt(r.value,10)||1;break;case\x2071:t.rowCount=parseInt(r.value,10)||1;break}return\x20t}function\x20S(a){let\x20t={...l(a),type:\x22DIMENSION\x22,blockName:\x22\x22,dimStyle:\x22STANDARD\x22,dimType:0,defPoint:{x:0,y:0,z:0},textMidpoint:{x:0,y:0,z:0},textOverride:\x22\x22,rotation:0,textRotation:0,leaderLength:0};for(let\x20r\x20of\x20a)switch(r.code){case\x201:t.textOverride=r.value;break;case\x202:t.blockName=r.value;break;case\x203:t.dimStyle=r.value;break;case\x2010:t.defPoint.x=parseFloat(r.value);break;case\x2020:t.defPoint.y=parseFloat(r.value);break;case\x2030:t.defPoint.z=parseFloat(r.value);break;case\x2011:t.textMidpoint.x=parseFloat(r.value);break;case\x2021:t.textMidpoint.y=parseFloat(r.value);break;case\x2031:t.textMidpoint.z=parseFloat(r.value);break;case\x2013:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.x=parseFloat(r.value);break;case\x2023:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.y=parseFloat(r.value);break;case\x2033:t.defPoint2||(t.defPoint2={x:0,y:0,z:0}),t.defPoint2.z=parseFloat(r.value);break;case\x2014:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.x=parseFloat(r.value);break;case\x2024:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.y=parseFloat(r.value);break;case\x2034:t.defPoint3||(t.defPoint3={x:0,y:0,z:0}),t.defPoint3.z=parseFloat(r.value);break;case\x2015:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.x=parseFloat(r.value);break;case\x2025:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.y=parseFloat(r.value);break;case\x2035:t.defPoint4||(t.defPoint4={x:0,y:0,z:0}),t.defPoint4.z=parseFloat(r.value);break;case\x2016:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.x=parseFloat(r.value);break;case\x2026:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.y=parseFloat(r.value);break;case\x2036:t.defPoint5||(t.defPoint5={x:0,y:0,z:0}),t.defPoint5.z=parseFloat(r.value);break;case\x2040:t.leaderLength=parseFloat(r.value);break;case\x2050:t.rotation=parseFloat(r.value);break;case\x2053:t.textRotation=parseFloat(r.value);break;case\x2070:t.dimType=parseInt(r.value,10);break}return\x20t}function\x20N(a){let\x20t={...l(a),type:\x22HATCH\x22,patternName:\x22\x22,solidFill:!0,associative:!1,hatchStyle:0,patternType:1,patternAngle:0,patternScale:1,boundaryPaths:[]},r=0;for(;r<a.length;){let\x20n=a[r];switch(n.code){case\x202:t.patternName=n.value;break;case\x2041:t.patternScale=parseFloat(n.value);break;case\x2052:t.patternAngle=parseFloat(n.value);break;case\x2070:t.solidFill=n.value===\x221\x22;break;case\x2071:t.associative=n.value===\x221\x22;break;case\x2075:t.hatchStyle=parseInt(n.value,10);break;case\x2076:t.patternType=parseInt(n.value,10);break;case\x2091:{let\x20o=parseInt(n.value,10);r++;for(let\x20c=0;c<o&&r<a.length;c++){let\x20s=W(a,r);t.boundaryPaths.push(s.path),r=s.nextIndex}continue}}r++}return\x20t}function\x20W(a,e){let\x20t=0;return\x20e<a.length&&a[e].code===92&&(t=parseInt(a[e].value,10),e++),(t&2)!==0?X(a,e,t):Y(a,e,t)}function\x20X(a,e,t){let\x20r={type:\x22polyline\x22,vertices:[],bulges:[],flags:t},n=!1;e<a.length&&a[e].code===72&&(n=a[e].value===\x221\x22,e++),e<a.length&&a[e].code===73&&(r.isClosed=a[e].value===\x221\x22,e++);let\x20o=0;e<a.length&&a[e].code===93&&(o=parseInt(a[e].value,10),e++);for(let\x20c=0;c<o&&e<a.length;c++){let\x20s={x:0,y:0};a[e].code===10&&(s.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.y=parseFloat(a[e].value),e++),r.vertices.push(s),n&&e<a.length&&a[e].code===42?(r.bulges.push(parseFloat(a[e].value)),e++):n&&r.bulges.push(0)}for(;e<a.length&&(a[e].code===97||a[e].code===330);)if(a[e].code===97){let\x20c=parseInt(a[e].value,10);e++;for(let\x20s=0;s<c&&e<a.length&&a[e].code===330;s++)e++}else\x20e++;return{path:r,nextIndex:e}}function\x20Y(a,e,t){let\x20r={type:\x22edges\x22,edges:[],flags:t},n=0;e<a.length&&a[e].code===93&&(n=parseInt(a[e].value,10),e++);for(let\x20o=0;o<n&&e<a.length&&a[e].code===72;o++){let\x20c=parseInt(a[e].value,10);switch(e++,c){case\x201:{let\x20s={type:\x22line\x22,start:{x:0,y:0},end:{x:0,y:0}};e<a.length&&a[e].code===10&&(s.start.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.start.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===11&&(s.end.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===21&&(s.end.y=parseFloat(a[e].value),e++),r.edges.push(s);break}case\x202:{let\x20s={type:\x22arc\x22,center:{x:0,y:0},radius:0,startAngle:0,endAngle:360,ccw:!0};e<a.length&&a[e].code===10&&(s.center.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.center.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===40&&(s.radius=parseFloat(a[e].value),e++),e<a.length&&a[e].code===50&&(s.startAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===51&&(s.endAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===73&&(s.ccw=a[e].value===\x221\x22,e++),r.edges.push(s);break}case\x203:{let\x20s={type:\x22ellipse\x22,center:{x:0,y:0},majorAxis:{x:1,y:0},minorRatio:1,startAngle:0,endAngle:Math.PI*2,ccw:!0};e<a.length&&a[e].code===10&&(s.center.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(s.center.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===11&&(s.majorAxis.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===21&&(s.majorAxis.y=parseFloat(a[e].value),e++),e<a.length&&a[e].code===40&&(s.minorRatio=parseFloat(a[e].value),e++),e<a.length&&a[e].code===50&&(s.startAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===51&&(s.endAngle=parseFloat(a[e].value),e++),e<a.length&&a[e].code===73&&(s.ccw=a[e].value===\x221\x22,e++),r.edges.push(s);break}case\x204:{let\x20s=3,p=[],b=[];e<a.length&&a[e].code===94&&(s=parseInt(a[e].value,10),e++),e<a.length&&a[e].code===73&&e++,e<a.length&&a[e].code===74&&e++;let\x20d=0;e<a.length&&a[e].code===95&&(d=parseInt(a[e].value,10),e++);let\x20x=0;e<a.length&&a[e].code===96&&(x=parseInt(a[e].value,10),e++);for(let\x20f=0;f<d&&e<a.length&&a[e].code===40;f++)p.push(parseFloat(a[e].value)),e++;for(let\x20f=0;f<x&&e<a.length;f++){let\x20y={x:0,y:0};a[e].code===10&&(y.x=parseFloat(a[e].value),e++),e<a.length&&a[e].code===20&&(y.y=parseFloat(a[e].value),e++),b.push(y)}r.edges.push({type:\x22spline\x22,degree:s,knots:p,controlPoints:b});break}default:break}}for(;e<a.length&&(a[e].code===97||a[e].code===330);)if(a[e].code===97){let\x20o=parseInt(a[e].value,10);e++;for(let\x20c=0;c<o&&e<a.length&&a[e].code===330;c++)e++}else\x20e++;return{path:r,nextIndex:e}}function\x20L(a){let\x20t={...l(a),type:\x22POINT\x22,position:{x:0,y:0,z:0}};for(let\x20r\x20of\x20a)switch(r.code){case\x2010:t.position.x=parseFloat(r.value);break;case\x2020:t.position.y=parseFloat(r.value);break;case\x2030:t.position.z=parseFloat(r.value);break}return\x20t}function\x20u(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code!==0){e++;continue}let\x20n=r.value;if(n===\x22ENDSEC\x22||n===\x22ENDBLK\x22)return\x20e+1;e++;let\x20o=[];for(;e<a.length&&a[e].code!==0;)o.push(a[e]),e++;switch(n){case\x22LINE\x22:t.push(D(o));break;case\x22CIRCLE\x22:t.push(F(o));break;case\x22ARC\x22:t.push(E(o));break;case\x22LWPOLYLINE\x22:t.push(P(o));break;case\x22ELLIPSE\x22:t.push(w(o));break;case\x22SPLINE\x22:t.push(g(o));break;case\x22TEXT\x22:t.push(I(o));break;case\x22MTEXT\x22:t.push(A(o));break;case\x22INSERT\x22:{let\x20c=z(o);o.some(p=>p.code===66&&p.value===\x221\x22)&&(e=$(a,e,c.attribs)),t.push(c);break}case\x22DIMENSION\x22:t.push(S(o));break;case\x22HATCH\x22:t.push(N(o));break;case\x22POINT\x22:t.push(L(o));break;case\x22POLYLINE\x22:{let\x20c=T(o);e=V(a,e,c.vertices),t.push(c);break}default:break}}return\x20e}function\x20V(a,e,t){for(;e<a.length;){if(a[e].code!==0){e++;continue}let\x20r=a[e].value;if(r===\x22SEQEND\x22)return\x20e+1;if(r===\x22ENDSEC\x22||r===\x22ENDBLK\x22)return\x20e;if(r===\x22VERTEX\x22){e++;let\x20n={x:0,y:0,bulge:0,startWidth:0,endWidth:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x2010:n.x=parseFloat(o.value);break;case\x2020:n.y=parseFloat(o.value);break;case\x2042:n.bulge=parseFloat(o.value);break;case\x2040:n.startWidth=parseFloat(o.value);break;case\x2041:n.endWidth=parseFloat(o.value);break}e++}t.push(n)}else\x20for(e++;e<a.length&&a[e].code!==0;)e++}return\x20e}function\x20$(a,e,t){for(;e<a.length;){if(a[e].code!==0){e++;continue}let\x20r=a[e].value;if(r===\x22SEQEND\x22)return\x20e+1;if(r===\x22ENDSEC\x22||r===\x22ENDBLK\x22)return\x20e;if(r===\x22ATTRIB\x22){e++;let\x20n={tag:\x22\x22,text:\x22\x22,insertionPoint:{x:0,y:0,z:0},height:1,rotation:0,style:\x22STANDARD\x22,layer:\x220\x22,color:256};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x201:n.text=o.value;break;case\x202:n.tag=o.value;break;case\x207:n.style=o.value;break;case\x208:n.layer=o.value;break;case\x2010:n.insertionPoint.x=parseFloat(o.value);break;case\x2020:n.insertionPoint.y=parseFloat(o.value);break;case\x2030:n.insertionPoint.z=parseFloat(o.value);break;case\x2040:n.height=parseFloat(o.value);break;case\x2050:n.rotation=parseFloat(o.value);break;case\x2062:n.color=parseInt(o.value,10);break}e++}t.push(n)}else\x20for(e++;e<a.length&&a[e].code!==0;)e++}return\x20e}function\x20B(a,e,t){for(;e<a.length;){let\x20r=a[e];if(r.code===0&&r.value===\x22ENDSEC\x22)return\x20e+1;if(r.code===0&&r.value===\x22BLOCK\x22){e++;let\x20n={name:\x22\x22,basePoint:{x:0,y:0,z:0},entities:[],flags:0};for(;e<a.length&&a[e].code!==0;){let\x20o=a[e];switch(o.code){case\x202:n.name=o.value;break;case\x208:break;case\x2010:n.basePoint.x=parseFloat(o.value);break;case\x2020:n.basePoint.y=parseFloat(o.value);break;case\x2030:n.basePoint.z=parseFloat(o.value);break;case\x2070:n.flags=parseInt(o.value,10);break}e++}e=u(a,e,n.entities),n.name&&!n.name.startsWith(\x22*Model_Space\x22)&&!n.name.startsWith(\x22*Paper_Space\x22)&&t.set(n.name,n)}else\x20e++}return\x20e}var\x20C=\x22AutoCAD\x20Binary\x20DXF\x22,U={ANSI_874:\x22windows-874\x22,ANSI_932:\x22shift_jis\x22,ANSI_936:\x22gbk\x22,ANSI_949:\x22euc-kr\x22,ANSI_950:\x22big5\x22,ANSI_1250:\x22windows-1250\x22,ANSI_1251:\x22windows-1251\x22,ANSI_1252:\x22windows-1252\x22,ANSI_1253:\x22windows-1253\x22,ANSI_1254:\x22windows-1254\x22,ANSI_1255:\x22windows-1255\x22,ANSI_1256:\x22windows-1256\x22,ANSI_1257:\x22windows-1257\x22,ANSI_1258:\x22windows-1258\x22},G=\x22AC1021\x22;function\x20K(){return{acadVersion:\x22\x22,insUnits:0,measurement:0,ltScale:1}}function\x20j(a){return\x20a.replace(/\x5c\x5cU\x5c+([0-9A-Fa-f]{4})/g,(e,t)=>String.fromCodePoint(parseInt(t,16)))}function\x20q(a){if(typeof\x20a==\x22string\x22)return\x20j(a);let\x20e=new\x20Uint8Array(a);if(new\x20TextDecoder(\x22ascii\x22).decode(e.slice(0,C.length))===C)throw\x20new\x20i(\x22Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.\x22);let\x20r=new\x20TextDecoder(\x22utf-8\x22).decode(a),o=r.match(/\x5c$ACADVER[\x5cs\x5cS]*?\x5cn\x5cs*1\x5cs*\x5cn\x5cs*(\x5cS+)/)?.[1]??\x22\x22;if(o&&o<G){let\x20s=r.match(/\x5c$DWGCODEPAGE[\x5cs\x5cS]*?\x5cn\x5cs*3\x5cs*\x5cn\x5cs*(\x5cS+)/)?.[1]??\x22\x22,p=U[s]??\x22windows-1252\x22;p!==\x22utf-8\x22&&(r=new\x20TextDecoder(p).decode(a))}return\x20j(r)}function\x20Q(a,e){for(;e<a.length;){if(a[e].code===0&&a[e].value===\x22ENDSEC\x22)return\x20e+1;e++}return\x20e}function\x20Z(a){a.layers.has(\x220\x22)||a.layers.set(\x220\x22,{name:\x220\x22,color:7,lineType:\x22Continuous\x22,flags:0,lineWeight:-3,isOff:!1,isFrozen:!1,isLocked:!1})}function\x20J(a){for(let[,e]of\x20a.layers)e.isOff=e.color<0,e.isOff&&(e.color=Math.abs(e.color)),e.isFrozen=(e.flags&1)!==0,e.isLocked=(e.flags&4)!==0}var\x20i=class\x20extends\x20Error{constructor(t,r){super(t);this.cause=r;this.name=\x22DxfParseError\x22}};function\x20M(a){if(typeof\x20a==\x22string\x22){if(a.length===0)throw\x20new\x20i(\x22Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.\x22)}else\x20if(a\x20instanceof\x20ArrayBuffer){if(a.byteLength===0)throw\x20new\x20i(\x22Input\x20ArrayBuffer\x20is\x20empty.\x22)}else\x20throw\x20new\x20i(\x22Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.\x22);let\x20e;try{e=q(a)}catch(n){throw\x20n\x20instanceof\x20i?n:new\x20i(\x22Failed\x20to\x20decode\x20DXF\x20input.\x22,n)}let\x20t;try{t=h(e)}catch(n){throw\x20new\x20i(\x22Failed\x20to\x20tokenize\x20DXF\x20content.\x22,n)}if(t.length===0)throw\x20new\x20i(\x22DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.\x22);let\x20r={header:K(),layers:new\x20Map,lineTypes:new\x20Map,styles:new\x20Map,blocks:new\x20Map,entities:[]};try{let\x20n=0;for(;n<t.length;){let\x20o=t[n];if(o.code===0&&o.value===\x22SECTION\x22){if(n++,n>=t.length)break;let\x20c=t[n].value;switch(n++,c){case\x22HEADER\x22:n=m(t,n,r.header);break;case\x22TABLES\x22:n=k(t,n,r);break;case\x22BLOCKS\x22:n=B(t,n,r.blocks);break;case\x22ENTITIES\x22:n=u(t,n,r.entities);break;default:n=Q(t,n);break}}else{if(o.code===0&&o.value===\x22EOF\x22)break;n++}}}catch(n){throw\x20new\x20i(\x22Failed\x20to\x20parse\x20DXF\x20sections.\x22,n)}return\x20Z(r),J(r),r}self.onmessage=a=>{let{type:e,id:t,payload:r}=a.data;if(e===\x22parse\x22)try{let\x20n=M(r);postMessage({type:\x22result\x22,id:t,doc:n})}catch(n){let\x20o=n\x20instanceof\x20Error?n.message:String(n);postMessage({type:\x22error\x22,id:t,message:o})}};})();\x0a'],{'type':'text/javascript'})),this['worker']=new Worker(this['blobUrl']),this['worker'][da(0x1cd)]=a6=>{const db=da;let {type:a7,id:a8,doc:a9,message:aa}=a6['data'],ab=this['pending']['get'](a8);ab&&(this[db(0xd3)]['delete'](a8),a7==='result'?ab['resolve'](this['reviveDocument'](a9)):a7==='error'&&ab['reject'](Error(aa==null?'Worker\x20parse\x20failed':aa)));},this['worker']['onerror']=a6=>{const dc=da;var a7;let a8=Error((a7=a6['message'])==null?'Worker\x20error':a7);for(let [,a9]of this['pending'])a9['reject'](a8);this[dc(0xd3)]['clear'](),this['destroyWorker']();},this[da(0x1d4)]);}['parse'](a6){return new Promise((a7,a8)=>{const dd=a1;let a9=this['nextId']++;this['pending']['set'](a9,{'resolve':a7,'reject':a8});let aa;try{aa=this[dd(0x1e9)]();}catch(ac){this['pending']['delete'](a9),a8(ac instanceof Error?ac:Error(String(ac)));return;}let ab={'type':'parse','id':a9,'payload':a6};try{a6 instanceof ArrayBuffer?aa['postMessage'](ab,[a6]):aa['postMessage'](ab);}catch(ad){this['pending']['delete'](a9),a8(ad instanceof Error?ad:Error(String(ad)));}});}['terminate'](){this['destroyWorker']();let a6=Error('Worker\x20terminated');for(let [,a7]of this['pending'])a7['reject'](a6);this['pending']['clear']();}['destroyWorker'](){const df=b2;this['worker']&&(this['worker']['terminate'](),this['worker']=null),this[df(0x162)]&&(URL['revokeObjectURL'](this['blobUrl']),this[df(0x162)]=null);}['reviveDocument'](a6){const dg=b2;return a3(a3({},a6),{},{'layers':this['ensureMap'](a6['layers']),'lineTypes':this['ensureMap'](a6[dg(0x144)]),'styles':this['ensureMap'](a6['styles']),'blocks':this['ensureMap'](a6['blocks'])});}['ensureMap'](a6){return a6 instanceof Map?a6:a6&&typeof a6=='object'?new Map(Object['entries'](a6)):new Map();}},Kt=class{constructor(a6,a7){const dh=b2;var a8,a9,aa,ab,ac,ad,af;t(this,'canvas',void 0x0),t(this,'renderer',void 0x0),t(this,'camera',void 0x0),t(this,'layerManager',void 0x0),t(this,'emitter',void 0x0),t(this,'spatialIndex',void 0x0),t(this,'measureTool',void 0x0),t(this,'doc',null),t(this,dh(0x106),void 0x0),t(this,'currentTool',void 0x0),t(this,dh(0xfd),void 0x0),t(this,'resizeObserver',void 0x0),t(this,'formatConverters',void 0x0),t(this,'workerManager',null),t(this,'selectedEntityIndex',-0x1),t(this,'renderPending',!0x1),t(this,'destroyed',!0x1),t(this,'loadGeneration',0x0),t(this,'mouseScreenX',0x0),t(this,'mouseScreenY',0x0),t(this,'debugEnabled',!0x1),t(this,'debugOptions',void 0x0),t(this,'lastRenderStats',null),t(this,'lastDebugStats',null),t(this,dh(0x19e),[]),t(this,dh(0xc6),0x0),t(this,'lastFrameTime',0x0),t(this,'parseTime',0x0),t(this,'spatialIndexBuildTime',0x0),t(this,'loadedFileName',null),t(this,'loadedFileSize',0x0),t(this,'debugRafId',0x0),this['canvas']=a6,this['options']={'theme':(a8=a7==null?void 0x0:a7['theme'])==null?'dark':a8,'backgroundColor':a7==null?void 0x0:a7[dh(0xce)],'antialias':(a9=a7==null?void 0x0:a7['antialias'])==null?!0x0:a9,'minZoom':(aa=a7==null?void 0x0:a7['minZoom'])==null?0.0001:aa,'maxZoom':(ab=a7==null?void 0x0:a7['maxZoom'])==null?0x186a0:ab,'zoomSpeed':(ac=a7==null?void 0x0:a7['zoomSpeed'])==null?1.1:ac,'initialTool':(ad=a7==null?void 0x0:a7['initialTool'])==null?'pan':ad},this['formatConverters']=(af=a7==null?void 0x0:a7['formatConverters'])==null?[]:af,a7!=null&&a7[dh(0x1d4)]&&(this['workerManager']=new Gt()),a7!=null&&a7['debug']?(this['debugEnabled']=!0x0,this[dh(0x18d)]=q(typeof a7['debug']=='boolean'?void 0x0:a7['debug'])):this[dh(0x18d)]=q(),this['renderer']=new St(a6),this['camera']=new Ne(this['options']),this['layerManager']=new At(),this[dh(0x1bd)]=new jt(),this['spatialIndex']=new Pt(),this['measureTool']=new Vt(),this[dh(0x175)]=this['options']['initialTool'],this['inputHandler']=new Mt(a6,this),this['resizeObserver']=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a6),a6['style']['cursor']=this['getCursorForTool'](this['currentTool']),this[dh(0x14c)](),this[dh(0x11b)]&&this['startDebugLoop']();}[b2(0x160)](){const di=b2;if(this[di(0x1b4)])throw Error('CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.');}[b2(0x1d0)](a6){var a7=this;return a5(function*(){const dj=a1;for(let a8 of a7['formatConverters']){let a9=!0x1;try{a9=a8['detect'](a6);}catch(aa){continue;}if(a9)return a8[dj(0xcd)](a6);}return null;})();}['loadFile'](a6){var a7=this;return a5(function*(){const dk=a1;a7[dk(0x160)]();let a8=++a7['loadGeneration'];a7['loadedFileName']=a6['name'],a7['loadedFileSize']=a6[dk(0x161)];let a9=yield a6['arrayBuffer']();if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=yield a7['runConverters'](a9);if(a7[dk(0x1b4)]||a8!==a7['loadGeneration'])return;let ab=performance['now'](),ac=aa==null?a9:aa;a7['doc']=yield a7['parseWithOptionalWorker'](ac,a8),!(a7[dk(0x1b4)]||a8!==a7[dk(0x1ed)])&&(a7['parseTime']=performance['now']()-ab,a7['onDocumentLoaded']());})();}['loadBuffer'](a6){var a7=this;return a5(function*(){const dl=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7['loadedFileName']=null,a7['loadedFileSize']=a6[dl(0x189)];let a9=yield a7['runConverters'](a6);if(a7['destroyed']||a8!==a7[dl(0x1ed)])return;let aa=performance['now'](),ab=a9==null?a6:a9;a7['doc']=yield a7['parseWithOptionalWorker'](ab,a8),!(a7['destroyed']||a8!==a7['loadGeneration'])&&(a7['parseTime']=performance['now']()-aa,a7[dl(0x1a8)]());})();}['parseWithOptionalWorker'](a6,a7){var a8=this;return a5(function*(){const dm=a1;if(!a8[dm(0x1b3)])return F(a6);try{return yield a8['workerManager'][dm(0x181)](a6);}catch(a9){if(a8['destroyed']||a7!==a8[dm(0x1ed)])return null;throw a9;}})();}['loadDocument'](a6){const dn=b2;if(this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this[dn(0x135)]=0x0,this['parseTime']=0x0,!a6||!Array['isArray'](a6['entities'])||!(a6['layers']instanceof Map))throw Error(dn(0x17e));this['doc']=a6,this['onDocumentLoaded']();}['loadString'](a6){const dp=b2;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a6['length'];let a7=performance['now']();this['doc']=F(a6),this[dp(0x167)]=performance[dp(0x1f0)]()-a7,this['onDocumentLoaded']();}[b2(0x19c)](a6){this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a6['byteLength'];let a7=performance['now']();this['doc']=F(a6),this['parseTime']=performance['now']()-a7,this['onDocumentLoaded']();}['clearDocument'](){const dq=b2;this['guardDestroyed'](),++this[dq(0x1ed)],this['doc']=null,this['selectedEntityIndex']=-0x1,this[dq(0x127)][dq(0x100)](),rt(),this['layerManager']['clear'](),this['measureTool'][dq(0x1a7)](),this[dq(0x14c)]();}['onDocumentLoaded'](){const dr=b2;if(!this['doc'])return;this[dr(0x1e8)]['setLayers'](this['doc']['layers']);let a6=performance['now']();this['spatialIndex'][dr(0xcc)](this['doc']['entities'],this['doc']),nt(tt(this['doc'])),this['spatialIndexBuildTime']=performance['now']()-a6,this['selectedEntityIndex']=-0x1,this['measureTool']['deactivate'](),this['currentTool']==='measure'&&this['measureTool']['activate'](),this['fitToView']();}['fitToView'](){const ds=b2;if(this['guardDestroyed'](),!this[ds(0x12e)])return;let a6=this['computeDocumentBounds']();if(!a6)return;let a7=this['canvas']['getBoundingClientRect']();this[ds(0x12d)][ds(0xcf)](B(a7['width'],a7['height'],a6['minX'],a6['minY'],a6[ds(0x197)],a6['maxY'])),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['zoomTo'](a6){const du=b2;this['guardDestroyed']();let a7=this['canvas'][du(0x13f)](),a8=a7['width']/0x2,a9=a7['height']/0x2,aa=a6/this[du(0x12d)]['getTransform']()['scale'];this['camera'][du(0x12a)](a8,a9,aa),this['requestRender'](),this['emitter']['emit'](du(0xc1),this['camera']['getTransform']());}['panTo'](a6,a7){const dv=b2;this['guardDestroyed']();let a8=this['canvas']['getBoundingClientRect'](),a9=this['camera']['getTransform'](),aa=a6*a9['scale']+a9['offsetX'],ab=-a7*a9['scale']+a9['offsetY'],ac=a8['width']/0x2-aa,ad=a8[dv(0xd2)]/0x2-ab;this['camera']['pan'](ac,ad),this['requestRender'](),this['emitter']['emit'](dv(0xc1),this['camera']['getTransform']());}['getViewTransform'](){return a3({},this['camera']['getTransform']());}['getZoomSpeed'](){const dw=b2;return this[dw(0x106)][dw(0x1ad)];}[b2(0x1aa)](){const dx=b2;return this[dx(0x1e8)]['getAllLayers']();}['setLayerVisible'](a6,a7){const dy=b2;this['guardDestroyed'](),this[dy(0x1e8)][dy(0x1b6)](a6,a7),this['requestRender']();}['setLayerColor'](a6,a7){const dz=b2;this['guardDestroyed'](),this['layerManager'][dz(0x193)](a6,a7),this['requestRender']();}['setTheme'](a6){const dA=b2;this['guardDestroyed'](),this['options'][dA(0xc7)]=a6,this['requestRender']();}['getTheme'](){return this['options']['theme'];}['setBackgroundColor'](a6){this['guardDestroyed'](),this['options']['backgroundColor']=a6,this['requestRender']();}['setTool'](a6){const dB=b2;this['guardDestroyed'](),this[dB(0x175)]==='measure'&&a6!=='measure'&&this['measureTool'][dB(0x1a7)](),this[dB(0x175)]=a6,this[dB(0x11f)]['style']['cursor']=this[dB(0x103)](a6),a6==='measure'&&this['measureTool']['activate'](),a6!==dB(0xf3)&&(this['selectedEntityIndex']=-0x1),this['requestRender']();}['getTool'](){return this['currentTool'];}['getCursorForTool'](a6){const dC=b2;switch(a6){case'pan':return dC(0x15b);case'select':return'crosshair';case'measure':return'crosshair';}}['on'](a6,a7){this['emitter']['on'](a6,a7);}[b2(0x179)](a6,a7){this['emitter']['off'](a6,a7);}[b2(0x157)](){return this['doc'];}['getEntities'](){var a6,a7;return(a6=(a7=this['doc'])==null?void 0x0:a7['entities'])==null?[]:a6;}['resize'](){const dD=b2;this[dD(0x15d)]['updateSize'](),this['requestRender']();}[b2(0x154)](){const dE=b2;var a6;this['destroyed']=!0x0,this['stopDebugLoop'](),this['inputHandler']['destroy'](),this[dE(0x1df)]['disconnect'](),this[dE(0x15d)]['destroy'](),this['emitter']['removeAllListeners'](),this['spatialIndex'][dE(0x100)](),rt(),this['layerManager']['clear'](),(a6=this[dE(0x1b3)])==null||a6['terminate'](),this['workerManager']=null,this['doc']=null;}['requestRender'](){const dF=b2;if(!this[dF(0x1b4)]){if(this['debugRafId']){this['doRender']();return;}this['renderPending']||(this['renderPending']=!0x0,requestAnimationFrame(()=>{const dG=dF;this['renderPending']=!0x1,!this['destroyed']&&this[dG(0xda)]();}));}}['doRender'](){const dH=b2;if(!this['doc']){this['renderer']['renderEmpty'](this['options']['theme']);return;}let a6=this['camera']['getTransform'](),a7=this['renderer']['getWidth'](),a8=this['renderer'][dH(0xdc)](),a9=this['computeViewportBounds'](a6,a7,a8),aa=this[dH(0x127)]['search'](a9['minX'],a9['minY'],a9['maxX'],a9[dH(0x1ac)]),ab=new Set();for(let ag=0x0;ag<aa[dH(0x16c)];ag++)ab['add'](aa[ag]['entityIndex']);let ac=performance[dH(0x1f0)](),ad=this['renderer'][dH(0xf9)](this['doc'],a6,this['options']['theme'],this['layerManager'][dH(0x11e)](),this['selectedEntityIndex'],ab,this['spatialIndex'][dH(0x182)]());this[dH(0xdd)]=performance[dH(0x1f0)]()-ac,this['lastRenderStats']=ad;let af=performance['now']();for(af-this[dH(0xc6)]>=0x3&&this['frameTimestamps'][dH(0xfc)](af),this['lastDoRenderTime']=af;this['frameTimestamps']['length']>0x0&&this['frameTimestamps'][0x0]<af-0x3e8;)this['frameTimestamps']['shift']();if(this['currentTool']===dH(0x1cc)&&this['measureTool']['state'][dH(0x164)]!=='idle'&&Ht(this['renderer']['getContext'](),this[dH(0x12d)]['getTransform'](),this['measureTool'],this['mouseScreenX'],this['mouseScreenY'],this['options']['theme']),this['debugEnabled']){let ah=this['renderer']['getContext'](),ai=this['buildDebugStats']();this[dH(0xf8)]=ai,kt(ah,ai,this['options']['theme'],this['debugOptions'],this['renderer']['getWidth'](),this['renderer']['getHeight']());}}['setDebug'](a6){const dI=b2;this['guardDestroyed'](),typeof a6=='boolean'?this['debugEnabled']=a6:(this['debugEnabled']=!0x0,this['debugOptions']=q(a6)),this['debugEnabled']?this['startDebugLoop']():(this[dI(0x108)](),this[dI(0x14c)]());}['startDebugLoop'](){if(this['debugRafId'])return;let a6=()=>{if(!this['debugEnabled']||this['destroyed']){this['debugRafId']=0x0;return;}this['doRender'](),this['debugRafId']=requestAnimationFrame(a6);};this['debugRafId']=requestAnimationFrame(a6);}['stopDebugLoop'](){this['debugRafId']&&(cancelAnimationFrame(this['debugRafId']),this['debugRafId']=0x0);}['getDebugStats'](){return this['debugEnabled']?this['lastDebugStats']:null;}[b2(0x132)](){const dJ=b2;var a6,a7,a8,a9,aa,ab,ac,ad,af;let ag=this[dJ(0x12d)]['getTransform'](),ah=this['renderer']['getWidth'](),ai=this[dJ(0x15d)]['getHeight'](),aj=this['computeViewportBounds'](ag,ah,ai);return{'fps':this['frameTimestamps']['length'],'frameTime':this[dJ(0xdd)],'renderStats':(a6=this[dJ(0x13a)])==null?{'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}}:a6,'entityCount':(a7=(a8=this['doc'])==null?void 0x0:a8[dJ(0x195)]['length'])==null?0x0:a7,'layerCount':(a9=(aa=this['doc'])==null?void 0x0:aa['layers']['size'])==null?0x0:a9,'visibleLayerCount':this['layerManager']['getVisibleLayerNames']()[dJ(0x161)],'blockCount':(ab=(ac=this['doc'])==null?void 0x0:ac[dJ(0xec)]['size'])==null?0x0:ab,'parseTime':this['parseTime'],'spatialIndexBuildTime':this['spatialIndexBuildTime'],'totalLoadTime':this['parseTime']+this['spatialIndexBuildTime'],'zoom':ag['scale'],'pixelSize':ag['scale']>0x0?0x1/ag[dJ(0x11d)]:0x0,'viewportBounds':aj,'fileName':this['loadedFileName'],'fileSize':this[dJ(0x135)],'dxfVersion':(ad=(af=this['doc'])==null?void 0x0:af['header']['acadVersion'])==null?null:ad};}['computeViewportBounds'](a6,a7,a8){let [a9,aa]=R(a6,0x0,a8),[ab,ac]=R(a6,a7,0x0);return{'minX':Math['min'](a9,ab),'minY':Math['min'](aa,ac),'maxX':Math['max'](a9,ab),'maxY':Math['max'](aa,ac)};}['handlePan'](a6,a7){const dK=b2;this['camera']['pan'](a6,a7),this['requestRender'](),this[dK(0x1bd)][dK(0x152)]('viewchange',this['camera'][dK(0x166)]());}['handleZoom'](a6,a7,a8){const dL=b2;this['camera']['zoom'](a6,a7,a8),this[dL(0x14c)](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['handleClick'](a6,a7){const dM=b2;if(!this['doc'])return;let a8=this['camera']['getTransform'](),[a9,aa]=R(a8,a6,a7);switch(this['currentTool']){case'select':this['handleSelect'](a9,aa,a6,a7);break;case'measure':{let ab=Z(a9,aa,this[dM(0x12e)]['entities'],this['spatialIndex'],a8['scale']),ac=ab['length']>0x0?ab[0x0]:null,ad=this['measureTool'][dM(0x15c)](a9,aa,ac);this['requestRender'](),ad&&this['emitter']['emit']('measure',ad);break;}}}[b2(0x165)](a6,a7){const dN=b2;if(this[dN(0x1d5)]=a6,this['mouseScreenY']=a7,this['currentTool']==='measure'&&this[dN(0x12e)]){var a8;let a9=this[dN(0x12d)]['getTransform'](),[aa,ab]=R(a9,a6,a7),ac=Z(aa,ab,this[dN(0x12e)][dN(0x195)],this[dN(0x127)],a9[dN(0x11d)]);this['measureTool']['handleMove']((a8=ac[0x0])==null?null:a8),this['requestRender']();}}['handleSelect'](a6,a7,a8,a9){const dO=b2;if(!this['doc'])return;let aa=Ft(a6,a7,this['doc']['entities'],this['spatialIndex'],this['layerManager']['getVisibleLayerNames'](),this['camera']['getTransform']()['scale']);if(this['selectedEntityIndex']=aa,this['requestRender'](),aa>=0x0&&this['doc']){let ab=this['doc']['entities'][aa];ab&&this['emitter'][dO(0x152)]('select',{'entity':ab,'entityIndex':aa,'worldPoint':{'x':a6,'y':a7},'screenPoint':{'x':a8,'y':a9}});}}['computeDocumentBounds'](){const dP=b2;return this['doc']?this['doc'][dP(0x183)]['extMin']&&this['doc'][dP(0x183)]['extMax']?{'minX':this[dP(0x12e)]['header']['extMin']['x'],'minY':this['doc']['header']['extMin']['y'],'maxX':this['doc']['header']['extMax']['x'],'maxY':this['doc'][dP(0x183)][dP(0x1a3)]['y']}:$e(this[dP(0x12e)]['entities']):null;}};export{Kt as CadViewer,Ne as Camera,St as CanvasRenderer,P as DxfParseError,jt as EventEmitter,At as LayerManager,Vt as MeasureTool,Pt as SpatialIndex,I as THEMES,Ae as aciToDisplayColor,ke as aciToHex,z as applyTransform,$e as computeEntitiesBounds,G as computeEntityBBox,K as drawEntity,Z as findSnaps,B as fitToView,Ft as hitTest,F as parseDxf,kt as renderDebugOverlay,Ht as renderMeasureOverlay,V as resolveEntityColor,R as screenToWorld,je as trueColorToHex,L as worldToScreen,Me as zoomAtPoint};
|