@flyfish-group/file-viewer3 1.0.8 → 1.0.9
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 +16 -10
- package/dist/components/AudioViewer.js +1 -0
- package/dist/components/CadViewer.js +1 -1
- package/dist/components/CodeViewer.js +1 -1
- package/dist/components/DrawingViewer.js +1 -0
- package/dist/components/EpubViewer.js +1 -0
- package/dist/components/ImageViewer.js +1 -1
- package/dist/components/MarkdownViewer.js +1 -1
- package/dist/components/OfdViewer.js +1 -1
- package/dist/components/PdfView.js +1 -1
- package/dist/components/PptxRender.js +1 -1
- package/dist/components/UmdViewer.js +1 -0
- package/dist/components/XlsxTable.js +1 -1
- package/dist/components/_plugin-vue_export-helper.js +1 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +1 -0
- package/dist/components/arc.js +1 -0
- package/dist/components/architecture-7EHR7CIX.js +1 -0
- package/dist/components/architectureDiagram-3BPJPVTR.js +1 -0
- package/dist/components/asyncToGenerator.js +1 -1
- package/dist/components/az-AZ-76LH7QW2.js +1 -0
- package/dist/components/bg-BG-XCXSNQG7.js +1 -0
- package/dist/components/blockDiagram-GPEHLZMM.js +1 -0
- package/dist/components/bn-BD-2XOGV67Q.js +1 -0
- package/dist/components/c4Diagram-AAUBKEIU.js +1 -0
- package/dist/components/ca-ES-6MX7JW3Y.js +1 -0
- package/dist/components/channel.js +1 -0
- package/dist/components/chunk-2J33WTMH.js +1 -0
- package/dist/components/chunk-3OPIFGDE.js +1 -0
- package/dist/components/chunk-4BX2VUAB.js +1 -0
- package/dist/components/chunk-55IACEB6.js +1 -0
- package/dist/components/chunk-5ZQYHXKU.js +1 -0
- package/dist/components/chunk-6U3AYISY.js +1 -0
- package/dist/components/chunk-727SXJPM.js +1 -0
- package/dist/components/chunk-AGHRB4JF.js +1 -0
- package/dist/components/chunk-AQP2D5EJ.js +1 -0
- package/dist/components/chunk-BSJP7CBP.js +1 -0
- package/dist/components/chunk-CSCIHK7Q.js +1 -0
- package/dist/components/chunk-EIO257PC.js +1837 -0
- package/dist/components/chunk-FMBD7UC4.js +1 -0
- package/dist/components/chunk-K2UTITRG.js +1 -0
- package/dist/components/chunk-KSCS5N6A.js +1 -0
- package/dist/components/chunk-L5ZTLDWV.js +1 -0
- package/dist/components/chunk-LZXEDZCA.js +1 -0
- package/dist/components/chunk-ND2GUHAM.js +1 -0
- package/dist/components/chunk-NZK2D7GU.js +1 -0
- package/dist/components/chunk-O5CBEL6O.js +1 -0
- package/dist/components/chunk-QZHKN3VN.js +1 -0
- package/dist/components/chunk-SRAX5OIU.js +1 -0
- package/dist/components/chunk-WU5MYG2G.js +1 -0
- package/dist/components/chunk-XPW4576I.js +1 -0
- package/dist/components/chunk-Z3N5DIM6.js +1 -0
- package/dist/components/chunk-ZUYEQ4TG.js +1 -0
- package/dist/components/chunk.js +1 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +1 -0
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -0
- package/dist/components/cose-bilkent-S5V4N54A.js +1 -0
- package/dist/components/cs-CZ-2BRQDIVT.js +1 -0
- package/dist/components/cytoscape.esm.js +1 -0
- package/dist/components/da-DK-5WZEPLOC.js +1 -0
- package/dist/components/dagre-BM42HDAG.js +1 -0
- package/dist/components/dagre.js +1 -0
- package/dist/components/de-DE-XR44H4JA.js +1 -0
- package/dist/components/defaultLocale.js +1 -0
- package/dist/components/defineProperty.js +1 -0
- package/dist/components/diagram-2AECGRRQ.js +1 -0
- package/dist/components/diagram-5GNKFQAL.js +1 -0
- package/dist/components/diagram-KO2AKTUF.js +1 -0
- package/dist/components/diagram-LMA3HP47.js +1 -0
- package/dist/components/diagram-OG6HWLK6.js +1 -0
- package/dist/components/directory-open-01563666.js +1 -0
- package/dist/components/directory-open-4ed118d0.js +1 -0
- package/dist/components/dist.js +1 -1
- package/dist/components/dist2.js +1 -0
- package/dist/components/dist3.js +1 -0
- package/dist/components/docx-preview.js +1 -1
- package/dist/components/el-GR-BZB4AONW.js +1 -0
- package/dist/components/en-B4ZKOASM.js +1 -0
- package/dist/components/erDiagram-TEJ5UH35.js +1 -0
- package/dist/components/es-ES-U4NZUMDT.js +1 -0
- package/dist/components/eu-ES-A7QVB2H4.js +1 -0
- package/dist/components/eventmodeling-FCH6USID.js +1 -0
- package/dist/components/fa-IR-HGAKTJCU.js +1 -0
- package/dist/components/fi-FI-Z5N7JZ37.js +1 -0
- package/dist/components/file-open-002ab408.js +1 -0
- package/dist/components/file-open-7c801643.js +1 -0
- package/dist/components/file-save-3189631c.js +1 -0
- package/dist/components/file-save-745eba88.js +1 -0
- package/dist/components/flowDiagram-I6XJVG4X.js +1 -0
- package/dist/components/fr-FR-RHASNOE6.js +1 -0
- package/dist/components/ganttDiagram-6RSMTGT7.js +1 -0
- package/dist/components/gitGraph-WXDBUCRP.js +1 -0
- package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -0
- package/dist/components/gl-ES-HMX3MZ6V.js +1 -0
- package/dist/components/graphlib.js +1 -0
- package/dist/components/he-IL-6SHJWFNN.js +1 -0
- package/dist/components/hi-IN-IWLTKZ5I.js +1 -0
- package/dist/components/hu-HU-A5ZG7DT2.js +1 -0
- package/dist/components/id-ID-SAP4L64H.js +1 -0
- package/dist/components/image-GAAHSSAO.js +1 -0
- package/dist/components/image-blob-reduce.esm.js +1 -0
- package/dist/components/info-J43DQDTF.js +1 -0
- package/dist/components/infoDiagram-5YYISTIA.js +1 -0
- package/dist/components/init.js +1 -0
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -0
- package/dist/components/it-IT-JPQ66NNP.js +1 -0
- package/dist/components/ja-JP-DBVTYXUO.js +1 -0
- package/dist/components/journeyDiagram-JHISSGLW.js +1 -0
- package/dist/components/jszip.min.js +1 -1
- package/dist/components/kaa-6HZHGXH3.js +1 -0
- package/dist/components/kab-KAB-ZGHBKWFO.js +1 -0
- package/dist/components/kanban-definition-UN3LZRKU.js +1 -0
- package/dist/components/katex.js +1 -0
- package/dist/components/kk-KZ-P5N5QNE5.js +1 -0
- package/dist/components/km-KH-HSX4SM5Z.js +1 -0
- package/dist/components/ko-KR-MTYHY66A.js +1 -0
- package/dist/components/ku-TR-6OUDTVRD.js +1 -0
- package/dist/components/linear.js +1 -0
- package/dist/components/lt-LT-XHIRWOB4.js +1 -0
- package/dist/components/lv-LV-5QDEKY6T.js +1 -0
- package/dist/components/mermaid-parser.core.js +1 -0
- package/dist/components/mindmap-definition-RKZ34NQL.js +1 -0
- package/dist/components/mr-IN-CRQNXWMA.js +1 -0
- package/dist/components/my-MM-5M5IBNSE.js +1 -0
- package/dist/components/nb-NO-T6EIAALU.js +1 -0
- package/dist/components/nl-NL-IS3SIHDZ.js +1 -0
- package/dist/components/nn-NO-6E72VCQL.js +1 -0
- package/dist/components/objectSpread2.js +1 -1
- package/dist/components/objectWithoutProperties.js +1 -0
- package/dist/components/oc-FR-POXYY2M6.js +1 -0
- package/dist/components/ofd.js +1 -1
- package/dist/components/ordinal.js +1 -0
- package/dist/components/pa-IN-N4M65BXN.js +1 -0
- package/dist/components/packet-YPE3B663.js +1 -0
- package/dist/components/percentages-BXMCSKIN.js +1 -0
- package/dist/components/pica.js +1 -0
- package/dist/components/pie-LRSECV5Y.js +1 -0
- package/dist/components/pie.js +1 -0
- package/dist/components/pieDiagram-4H26LBE5.js +1 -0
- package/dist/components/pl-PL-T2D74RX3.js +1 -0
- package/dist/components/prod.js +1 -0
- package/dist/components/pt-BR-5N22H2LF.js +1 -0
- package/dist/components/pt-PT-UZXXM6DQ.js +1 -0
- package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -0
- package/dist/components/radar-GUYGQ44K.js +1 -0
- package/dist/components/requirementDiagram-4Y6WPE33.js +1 -0
- package/dist/components/ro-RO-JPDTUUEW.js +1 -0
- package/dist/components/rough.esm.js +1 -0
- package/dist/components/roundRect.js +1 -0
- package/dist/components/ru-RU-B4JR7IUQ.js +1 -0
- package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -0
- package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -0
- package/dist/components/si-LK-N5RQ5JYF.js +1 -0
- package/dist/components/sk-SK-C5VTKIMK.js +1 -0
- package/dist/components/sl-SI-NN7IZMDC.js +1 -0
- package/dist/components/src.js +1 -0
- package/dist/components/src2.js +1 -0
- package/dist/components/stateDiagram-AJRCARHV.js +1 -0
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -0
- package/dist/components/subset-shared.chunk.js +1 -0
- package/dist/components/subset-worker.chunk.js +1 -0
- package/dist/components/sv-SE-XGPEYMSR.js +1 -0
- package/dist/components/ta-IN-2NMHFXQM.js +1 -0
- package/dist/components/th-TH-HPSO5L25.js +1 -0
- package/dist/components/time.js +1 -0
- package/dist/components/timeline-definition-PNZ67QCA.js +1 -0
- package/dist/components/tr-TR-DEFEU3FU.js +1 -0
- package/dist/components/treeView-BLDUP644.js +1 -0
- package/dist/components/treemap-LRROVOQU.js +1 -0
- package/dist/components/uk-UA-QMV73CPH.js +1 -0
- package/dist/components/use.js +1 -1
- package/dist/components/util.js +1 -0
- package/dist/components/vennDiagram-CIIHVFJN.js +1 -0
- package/dist/components/vi-VN-M7AON7JQ.js +1 -0
- package/dist/components/wardley-L42UT6IY.js +1 -0
- package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -0
- package/dist/components/worker-ref.js +1 -1
- package/dist/components/wrapAsyncGenerator.js +1 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +1 -0
- package/dist/components/zh-CN-LNUGB5OW.js +1 -0
- package/dist/components/zh-HK-E62DVLB3.js +1 -0
- package/dist/components/zh-TW-RAJ6MFWO.js +1 -0
- package/dist/file-viewer3.css +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.umd.js +4737 -1
- package/dist/src/package/common/worker-ref.d.ts +1 -1
- package/dist/src/package/vendors/audio/AudioViewer.vue.d.ts +7 -0
- package/dist/src/package/vendors/audio/index.d.ts +7 -0
- package/dist/src/package/vendors/drawing/DrawingViewer.vue.d.ts +15 -0
- package/dist/src/package/vendors/drawing/index.d.ts +7 -0
- package/dist/src/package/vendors/ebook/EpubViewer.vue.d.ts +6 -0
- package/dist/src/package/vendors/ebook/index.d.ts +7 -0
- package/dist/src/package/vendors/umd/UmdViewer.vue.d.ts +6 -0
- package/dist/src/package/vendors/umd/index.d.ts +7 -0
- package/dist/src/package/vendors/umd/parser.d.ts +30 -0
- package/dist/worker/pdf.worker.js +50 -1
- package/dist/worker/pptx.worker.js +1 -1
- package/dist/worker/sheet.worker.js +1 -1
- package/package.json +23 -3
package/dist/components/dist.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const b0=a1;(function(a7,a8){const aY=a1,a9=a7();while(!![]){try{const aa=-parseInt(aY(0x211))/0x1*(parseInt(aY(0x264))/0x2)+parseInt(aY(0x150))/0x3+-parseInt(aY(0x1dc))/0x4+-parseInt(aY(0x167))/0x5*(parseInt(aY(0x241))/0x6)+parseInt(aY(0x1cc))/0x7+-parseInt(aY(0x1e6))/0x8+parseInt(aY(0x23f))/0x9;if(aa===a8)break;else a9['push'](a9['shift']());}catch(ab){a9['push'](a9['shift']());}}}(a0,0xcff3e));import{n as a2,t}from'./asyncToGenerator.js';import{i as a3,n as a4,r as a5,t as a6}from'./objectSpread2.js';function o(a7,a8,a9=0x0,aa=a7['length']-0x1,ab=c){for(;aa>a9;){if(aa-a9>0x258){let ag=aa-a9+0x1,ah=a8-a9+0x1,ai=Math['log'](ag),aj=0.5*Math['exp'](0x2*ai/0x3),ak=0.5*Math['sqrt'](ai*aj*(ag-aj)/ag)*(ah-ag/0x2<0x0?-0x1:0x1);o(a7,a8,Math['max'](a9,Math['floor'](a8-ah*aj/ag+ak)),Math['min'](aa,Math['floor'](a8+(ag-ah)*aj/ag+ak)),ab);}let ac=a7[a8],ad=a9,af=aa;for(s(a7,a9,a8),ab(a7[aa],ac)>0x0&&s(a7,a9,aa);ad<af;){for(s(a7,ad,af),ad++,af--;ab(a7[ad],ac)<0x0;)ad++;for(;ab(a7[af],ac)>0x0;)af--;}ab(a7[a9],ac)===0x0?s(a7,a9,af):(af++,s(a7,af,aa)),af<=a8&&(a9=af+0x1),a8<=af&&(aa=af-0x1);}}function s(a7,a8,a9){let aa=a7[a8];a7[a8]=a7[a9],a7[a9]=aa;}function c(a7,a8){return a7<a8?-0x1:+(a7>a8);}var l=class{constructor(a7=0x9){const aZ=a1;this['_maxEntries']=Math[aZ(0x1a1)](0x4,a7),this['_minEntries']=Math['max'](0x2,Math['ceil'](this['_maxEntries']*0.4)),this['clear']();}[b0(0x221)](){return this['_all'](this['data'],[]);}['search'](a7){const b1=b0;let a8=this['data'],a9=[];if(!x(a7,a8))return a9;let aa=this[b1(0x1dd)],ab=[];for(;a8;){for(let ac=0x0;ac<a8['children']['length'];ac++){let ad=a8['children'][ac],af=a8['leaf']?aa(ad):ad;x(a7,af)&&(a8[b1(0x1f9)]?a9['push'](ad):b(a7,af)?this[b1(0x195)](ad,a9):ab['push'](ad));}a8=ab['pop']();}return a9;}['collides'](a7){const b2=b0;let a8=this[b2(0x222)];if(!x(a7,a8))return!0x1;let a9=[];for(;a8;){for(let aa=0x0;aa<a8['children']['length'];aa++){let ab=a8['children'][aa],ac=a8['leaf']?this['toBBox'](ab):ab;if(x(a7,ac)){if(a8['leaf']||b(a7,ac))return!0x0;a9['push'](ab);}}a8=a9[b2(0x18b)]();}return!0x1;}['load'](a7){const b3=b0;if(!(a7&&a7['length']))return this;if(a7['length']<this['_minEntries']){for(let a9=0x0;a9<a7['length'];a9++)this[b3(0x1f1)](a7[a9]);return this;}let a8=this[b3(0x254)](a7['slice'](),0x0,a7['length']-0x1,0x0);if(!this[b3(0x222)]['children']['length'])this[b3(0x222)]=a8;else{if(this['data']['height']===a8['height'])this['_splitRoot'](this['data'],a8);else{if(this['data']['height']<a8['height']){let aa=this['data'];this['data']=a8,a8=aa;}this['_insert'](a8,this['data'][b3(0x1ef)]-a8['height']-0x1,!0x0);}}return this;}[b0(0x1f1)](a7){const b4=b0;return a7&&this['_insert'](a7,this[b4(0x222)][b4(0x1ef)]-0x1),this;}[b0(0x1df)](){const b5=b0;return this[b5(0x222)]=S([]),this;}['remove'](a7,a8){const b6=b0;if(!a7)return this;let a9=this['data'],aa=this['toBBox'](a7),ab=[],ac=[],ad,af,ag;for(;a9||ab['length'];){if(a9||(a9=ab[b6(0x18b)](),af=ab[ab['length']-0x1],ad=ac['pop'](),ag=!0x0),a9['leaf']){let ah=u(a7,a9[b6(0x160)],a8);if(ah!==-0x1)return a9['children']['splice'](ah,0x1),ab[b6(0x19d)](a9),this['_condense'](ab),this;}!ag&&!a9[b6(0x1f9)]&&b(a9,aa)?(ab['push'](a9),ac['push'](ad),ad=0x0,af=a9,a9=a9['children'][0x0]):af?(ad++,a9=af['children'][ad],ag=!0x1):a9=null;}return this;}['toBBox'](a7){return a7;}['compareMinX'](a7,a8){const b7=b0;return a7[b7(0x24d)]-a8['minX'];}['compareMinY'](a7,a8){return a7['minY']-a8['minY'];}['toJSON'](){const b8=b0;return this[b8(0x222)];}[b0(0x153)](a7){return this['data']=a7,this;}[b0(0x195)](a7,a8){let a9=[];for(;a7;)a7['leaf']?a8['push'](...a7['children']):a9['push'](...a7['children']),a7=a9['pop']();return a8;}['_build'](a7,a8,a9,aa){const b9=b0;let ab=a9-a8+0x1,ac=this['_maxEntries'],ad;if(ab<=ac)return ad=S(a7[b9(0x25c)](a8,a9+0x1)),d(ad,this['toBBox']),ad;aa||(aa=Math['ceil'](Math['log'](ab)/Math['log'](ac)),ac=Math['ceil'](ab/Math['pow'](ac,aa-0x1))),ad=S([]),ad['leaf']=!0x1,ad['height']=aa;let af=Math[b9(0x1b3)](ab/ac),ag=af*Math[b9(0x1b3)](Math['sqrt'](ac));C(a7,a8,a9,ag,this['compareMinX']);for(let ah=a8;ah<=a9;ah+=ag){let ai=Math['min'](ah+ag-0x1,a9);C(a7,ah,ai,af,this['compareMinY']);for(let aj=ah;aj<=ai;aj+=af){let ak=Math['min'](aj+af-0x1,ai);ad[b9(0x160)]['push'](this['_build'](a7,aj,ak,aa-0x1));}}return d(ad,this['toBBox']),ad;}['_chooseSubtree'](a7,a8,a9,aa){const ba=b0;for(;aa['push'](a8),!(a8['leaf']||aa['length']-0x1===a9);){let ab=Infinity,ac=Infinity,ad;for(let af=0x0;af<a8['children'][ba(0x259)];af++){let ag=a8['children'][af],ah=g(ag),ai=v(a7,ag)-ah;ai<ac?(ac=ai,ab=ah<ab?ah:ab,ad=ag):ai===ac&&ah<ab&&(ab=ah,ad=ag);}a8=ad||a8[ba(0x160)][0x0];}return a8;}['_insert'](a7,a8,a9){const bb=b0;let aa=a9?a7:this['toBBox'](a7),ab=[],ac=this['_chooseSubtree'](aa,this['data'],a8,ab);for(ac['children']['push'](a7),p(ac,aa);a8>=0x0&&ab[a8][bb(0x160)]['length']>this['_maxEntries'];)this['_split'](ab,a8),a8--;this['_adjustParentBBoxes'](aa,ab,a8);}['_split'](a7,a8){const bc=b0;let a9=a7[a8],aa=a9['children']['length'],ab=this['_minEntries'];this['_chooseSplitAxis'](a9,ab,aa);let ac=this['_chooseSplitIndex'](a9,ab,aa),ad=S(a9['children'][bc(0x197)](ac,a9['children']['length']-ac));ad['height']=a9['height'],ad['leaf']=a9['leaf'],d(a9,this[bc(0x1dd)]),d(ad,this['toBBox']),a8?a7[a8-0x1]['children']['push'](ad):this['_splitRoot'](a9,ad);}[b0(0x17e)](a7,a8){const bd=b0;this[bd(0x222)]=S([a7,a8]),this['data'][bd(0x1ef)]=a7['height']+0x1,this['data']['leaf']=!0x1,d(this['data'],this['toBBox']);}['_chooseSplitIndex'](a7,a8,a9){let aa,ab=Infinity,ac=Infinity;for(let ad=a8;ad<=a9-a8;ad++){let af=f(a7,0x0,ad,this['toBBox']),ag=f(a7,ad,a9,this['toBBox']),ah=y(af,ag),ai=g(af)+g(ag);ah<ab?(ab=ah,aa=ad,ac=ai<ac?ai:ac):ah===ab&&ai<ac&&(ac=ai,aa=ad);}return aa||a9-a8;}['_chooseSplitAxis'](a7,a8,a9){const bf=b0;let aa=a7[bf(0x1f9)]?this['compareMinX']:m,ab=a7['leaf']?this['compareMinY']:h;this['_allDistMargin'](a7,a8,a9,aa)<this['_allDistMargin'](a7,a8,a9,ab)&&a7['children']['sort'](aa);}[b0(0x209)](a7,a8,a9,aa){const bg=b0;a7['children'][bg(0x158)](aa);let ab=this['toBBox'],ac=f(a7,0x0,a8,ab),ad=f(a7,a9-a8,a9,ab),af=_(ac)+_(ad);for(let ag=a8;ag<a9-a8;ag++){let ah=a7['children'][ag];p(ac,a7['leaf']?ab(ah):ah),af+=_(ac);}for(let ai=a9-a8-0x1;ai>=a8;ai--){let aj=a7[bg(0x160)][ai];p(ad,a7['leaf']?ab(aj):aj),af+=_(ad);}return af;}['_adjustParentBBoxes'](a7,a8,a9){for(let aa=a9;aa>=0x0;aa--)p(a8[aa],a7);}['_condense'](a7){const bh=b0;for(let a8=a7['length']-0x1,a9;a8>=0x0;a8--)a7[a8][bh(0x160)]['length']===0x0?a8>0x0?(a9=a7[a8-0x1]['children'],a9['splice'](a9['indexOf'](a7[a8]),0x1)):this['clear']():d(a7[a8],this['toBBox']);}};function u(a7,a8,a9){if(!a9)return a8['indexOf'](a7);for(let aa=0x0;aa<a8['length'];aa++)if(a9(a7,a8[aa]))return aa;return-0x1;}function d(a7,a8){f(a7,0x0,a7['children']['length'],a8,a7);}function f(a7,a8,a9,aa,ab){const bi=b0;ab||(ab=S(null)),ab['minX']=Infinity,ab['minY']=Infinity,ab['maxX']=-Infinity,ab['maxY']=-Infinity;for(let ac=a8;ac<a9;ac++){let ad=a7['children'][ac];p(ab,a7[bi(0x1f9)]?aa(ad):ad);}return ab;}function p(a7,a8){const bj=b0;return a7['minX']=Math['min'](a7['minX'],a8['minX']),a7['minY']=Math['min'](a7[bj(0x266)],a8['minY']),a7['maxX']=Math['max'](a7['maxX'],a8['maxX']),a7['maxY']=Math['max'](a7['maxY'],a8['maxY']),a7;}function m(a7,a8){return a7['minX']-a8['minX'];}function h(a7,a8){const bk=b0;return a7['minY']-a8[bk(0x266)];}function g(a7){return(a7['maxX']-a7['minX'])*(a7['maxY']-a7['minY']);}function _(a7){const bl=b0;return a7[bl(0x227)]-a7['minX']+(a7['maxY']-a7['minY']);}function v(a7,a8){return(Math['max'](a8['maxX'],a7['maxX'])-Math['min'](a8['minX'],a7['minX']))*(Math['max'](a8['maxY'],a7['maxY'])-Math['min'](a8['minY'],a7['minY']));}function y(a7,a8){const bm=b0;let a9=Math['max'](a7['minX'],a8['minX']),aa=Math['max'](a7['minY'],a8[bm(0x266)]),ab=Math['min'](a7['maxX'],a8['maxX']),ac=Math[bm(0x169)](a7['maxY'],a8['maxY']);return Math['max'](0x0,ab-a9)*Math['max'](0x0,ac-aa);}function b(a7,a8){const bn=b0;return a7['minX']<=a8[bn(0x24d)]&&a7['minY']<=a8['minY']&&a8['maxX']<=a7[bn(0x227)]&&a8['maxY']<=a7['maxY'];}function x(a7,a8){const bo=b0;return a8['minX']<=a7['maxX']&&a8['minY']<=a7['maxY']&&a8['maxX']>=a7['minX']&&a8['maxY']>=a7[bo(0x266)];}function S(a7){return{'children':a7,'height':0x1,'leaf':!0x0,'minX':Infinity,'minY':Infinity,'maxX':-Infinity,'maxY':-Infinity};}function C(a7,a8,a9,aa,ab){let ac=[a8,a9];for(;ac['length'];){if(a9=ac['pop'](),a8=ac['pop'](),a9-a8<=aa)continue;let ad=a8+Math['ceil']((a9-a8)/aa/0x2)*aa;o(a7,ad,a8,a9,ab),ac['push'](a8,ad,ad,a9);}}a4(),a3(),a2();function w(a7){const bp=b0;let a8=a7['replace'](/\r\n?/g,'\x0a'),a9=[],aa=a8['length'],ab=0x0;for(;ab<aa;){for(;ab<aa&&a8['charCodeAt'](ab)===0xa;)ab++;if(ab>=aa)break;let ac=a8[bp(0x229)]('\x0a',ab);ac===-0x1&&(ac=aa);let ad=a8['substring'](ab,ac)['trim']();ab=ac+0x1;let af=parseInt(ad,0xa);if(isNaN(af)){ab<aa&&(ac=a8['indexOf']('\x0a',ab),ac===-0x1&&(ac=aa),ab=ac+0x1);continue;}if(ab>=aa)break;ac=a8['indexOf']('\x0a',ab),ac===-0x1&&(ac=aa);let ag=a8[bp(0x1bc)](ab,ac)[bp(0x225)](/\s+$/,'');ab=ac+0x1,a9['push']({'code':af,'value':ag});}return a9;}function T(a7,a8,a9){const bq=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa['code']===0x0&&aa['value']===bq(0x24e))return a8+0x1;if(aa['code']===0x9){let ab=aa[bq(0x14b)];switch(a8++,ab){case'$ACADVER':a8<a7['length']&&(a9['acadVersion']=a7[a8]['value'],a8++);break;case'$EXTMIN':if(a8<a7['length']){let ac=E(a7,a8);a9['extMin']=ac['point'],a8=ac['nextIndex'];}break;case'$EXTMAX':if(a8<a7[bq(0x259)]){let ad=E(a7,a8);a9['extMax']=ad['point'],a8=ad['nextIndex'];}break;case'$INSUNITS':a8<a7[bq(0x259)]&&(a9['insUnits']=parseInt(a7[a8]['value'],0xa),a8++);break;case'$MEASUREMENT':a8<a7['length']&&(a9['measurement']=parseInt(a7[a8][bq(0x14b)],0xa),a8++);break;case'$LTSCALE':a8<a7['length']&&(a9[bq(0x176)]=parseFloat(a7[a8][bq(0x14b)]),a8++);break;case'$DWGCODEPAGE':a8<a7['length']&&(a9['dwgCodePage']=a7[a8]['value'],a8++);break;case'$HANDSEED':a8<a7['length']&&(a9['handleSeed']=a7[a8][bq(0x14b)],a8++);break;default:for(;a8<a7['length']&&a7[a8]['code']!==0x9&&a7[a8]['code']!==0x0;)a9[ab]=a7[a8]['value'],a8++;}}else a8++;}return a8;}function E(a7,a8){const br=b0;let a9={'x':0x0,'y':0x0,'z':0x0};for(;a8<a7[br(0x259)];){let aa=a7[a8]['code'];if(aa===0xa)a9['x']=parseFloat(a7[a8]['value']),a8++;else{if(aa===0x14)a9['y']=parseFloat(a7[a8]['value']),a8++;else{if(aa===0x1e)a9['z']=parseFloat(a7[a8][br(0x14b)]),a8++;else break;}}}return{'point':a9,'nextIndex':a8};}function D(a7,a8,a9){const bs=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa['code']===0x0&&aa['value']==='ENDSEC')return a8+0x1;if(aa['code']===0x0&&aa['value']==='TABLE'){if(a8++,a8>=a7['length'])break;let ab=a7[a8][bs(0x14b)];switch(a8++,ab){case'LAYER':a8=k(a7,a8,a9['layers']);break;case bs(0x17b):a8=ee(a7,a8,a9['lineTypes']);break;case'STYLE':a8=te(a7,a8,a9['styles']);break;default:a8=O(a7,a8);break;}}else a8++;}return a8;}function O(a7,a8){for(;a8<a7['length'];){if(a7[a8]['code']===0x0&&a7[a8]['value']==='ENDTAB')return a8+0x1;a8++;}return a8;}function k(a7,a8,a9){const bu=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa[bu(0x173)]===0x0&&aa[bu(0x14b)]==='ENDTAB')return a8+0x1;if(aa['code']===0x0&&aa['value']==='LAYER'){a8++;let ab={'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1};for(;a8<a7['length']&&a7[a8]['code']!==0x0;){let ac=a7[a8];switch(ac['code']){case 0x2:ab[bu(0x16f)]=ac['value'];break;case 0x6:ab['lineType']=ac['value'];break;case 0x3e:ab['color']=parseInt(ac['value'],0xa);break;case 0x46:ab['flags']=parseInt(ac[bu(0x14b)],0xa);break;case 0x172:ab['lineWeight']=parseInt(ac['value'],0xa);break;case 0x1a4:ab['trueColor']=parseInt(ac['value'],0xa);break;}a8++;}a9['set'](ab['name'],ab);}else a8++;}return a8;}function ee(a7,a8,a9){const bv=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa['code']===0x0&&aa['value']==='ENDTAB')return a8+0x1;if(aa['code']===0x0&&aa['value']==='LTYPE'){a8++;let ab={'name':'','description':'','pattern':[],'totalLength':0x0};for(;a8<a7['length']&&a7[a8]['code']!==0x0;){let ac=a7[a8];switch(ac['code']){case 0x2:ab['name']=ac['value'];break;case 0x3:ab[bv(0x17c)]=ac['value'];break;case 0x28:ab['totalLength']=parseFloat(ac['value']);break;case 0x31:ab['pattern'][bv(0x19d)](parseFloat(ac['value']));break;}a8++;}ab['name']&&a9['set'](ab[bv(0x16f)],ab);}else a8++;}return a8;}function te(a7,a8,a9){const bw=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa['code']===0x0&&aa['value']==='ENDTAB')return a8+0x1;if(aa['code']===0x0&&aa['value']===bw(0x1ea)){a8++;let ab={'name':'','fontName':'','bigFontName':'','height':0x0,'widthFactor':0x1,'obliqueAngle':0x0};for(;a8<a7['length']&&a7[a8]['code']!==0x0;){let ac=a7[a8];switch(ac['code']){case 0x2:ab[bw(0x16f)]=ac['value'];break;case 0x3:ab['fontName']=ac['value'];break;case 0x4:ab['bigFontName']=ac[bw(0x14b)];break;case 0x28:ab['height']=parseFloat(ac['value']);break;case 0x29:ab['widthFactor']=parseFloat(ac[bw(0x14b)]);break;case 0x32:ab[bw(0x1e9)]=parseFloat(ac[bw(0x14b)]);break;}a8++;}ab[bw(0x16f)]&&a9['set'](ab['name'],ab);}else a8++;}return a8;}function A(a7){const bx=b0;let a8={'type':'','layer':'0','color':0x100,'lineType':'BYLAYER','lineTypeScale':0x1,'lineWeight':-0x1,'visible':!0x0,'extrusion':{'x':0x0,'y':0x0,'z':0x1}};for(let a9 of a7)switch(a9[bx(0x173)]){case 0x5:a8['handle']=a9['value'];break;case 0x8:a8[bx(0x203)]=a9[bx(0x14b)];break;case 0x6:a8['lineType']=a9['value'];break;case 0x30:a8['lineTypeScale']=parseFloat(a9['value']);break;case 0x3c:a8[bx(0x230)]=a9['value']==='0'||a9['value']==='';break;case 0x3e:a8[bx(0x1de)]=parseInt(a9['value'],0xa);break;case 0x172:a8['lineWeight']=parseInt(a9['value'],0xa);break;case 0x1a4:a8['trueColor']=parseInt(a9['value'],0xa);break;case 0xd2:a8['extrusion']['x']=parseFloat(a9['value']);break;case 0xdc:a8[bx(0x239)]['y']=parseFloat(a9['value']);break;case 0xe6:a8['extrusion']['z']=parseFloat(a9['value']);break;}return a8;}function ne(a7){const by=b0;let a8=a6(a6({},A(a7)),{},{'type':'LINE','start':{'x':0x0,'y':0x0,'z':0x0},'end':{'x':0x0,'y':0x0,'z':0x0}});for(let a9 of a7)switch(a9['code']){case 0xa:a8['start']['x']=parseFloat(a9['value']);break;case 0x14:a8['start']['y']=parseFloat(a9['value']);break;case 0x1e:a8['start']['z']=parseFloat(a9['value']);break;case 0xb:a8[by(0x1d8)]['x']=parseFloat(a9['value']);break;case 0x15:a8['end']['y']=parseFloat(a9['value']);break;case 0x1f:a8['end']['z']=parseFloat(a9['value']);break;}return a8;}function re(a7){const bz=b0;let a8=a6(a6({},A(a7)),{},{'type':'CIRCLE','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0});for(let a9 of a7)switch(a9['code']){case 0xa:a8['center']['x']=parseFloat(a9['value']);break;case 0x14:a8['center']['y']=parseFloat(a9[bz(0x14b)]);break;case 0x1e:a8[bz(0x1c4)]['z']=parseFloat(a9['value']);break;case 0x28:a8[bz(0x1a8)]=parseFloat(a9['value']);break;}return a8;}function ie(a7){const bA=b0;let a8=a6(a6({},A(a7)),{},{'type':'ARC','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168});for(let a9 of a7)switch(a9['code']){case 0xa:a8['center']['x']=parseFloat(a9[bA(0x14b)]);break;case 0x14:a8['center']['y']=parseFloat(a9['value']);break;case 0x1e:a8['center']['z']=parseFloat(a9['value']);break;case 0x28:a8[bA(0x1a8)]=parseFloat(a9['value']);break;case 0x32:a8[bA(0x1a2)]=parseFloat(a9['value']);break;case 0x33:a8['endAngle']=parseFloat(a9['value']);break;}return a8;}function ae(a7){const bB=b0;let a8=a6(a6({},A(a7)),{},{'type':'LWPOLYLINE','vertices':[],'closed':!0x1,'constantWidth':0x0,'elevation':0x0}),a9=null;for(let aa of a7)switch(aa['code']){case 0x46:a8['closed']=(parseInt(aa['value'],0xa)&0x1)!=0x0;break;case 0x26:a8[bB(0x1f5)]=parseFloat(aa[bB(0x14b)]);break;case 0x2b:a8[bB(0x13d)]=parseFloat(aa['value']);break;case 0xa:a9&&a8['vertices']['push'](a9),a9={'x':parseFloat(aa[bB(0x14b)]),'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};break;case 0x14:a9&&(a9['y']=parseFloat(aa['value']));break;case 0x28:a9&&(a9['startWidth']=parseFloat(aa['value']));break;case 0x29:a9&&(a9['endWidth']=parseFloat(aa['value']));break;case 0x2a:a9&&(a9['bulge']=parseFloat(aa['value']));break;}return a9&&a8['vertices']['push'](a9),a8;}function oe(a7){let a8=a6(a6({},A(a7)),{},{'type':'POLYLINE','vertices':[],'closed':!0x1,'is3d':!0x1});for(let a9 of a7)switch(a9['code']){case 0x46:{let aa=parseInt(a9['value'],0xa);a8['closed']=(aa&0x1)!=0x0,a8['is3d']=(aa&0x8)!=0x0;break;}}return a8;}function se(a7){const bC=b0;let a8=a6(a6({},A(a7)),{},{'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 a9 of a7)switch(a9['code']){case 0xa:a8['center']['x']=parseFloat(a9['value']);break;case 0x14:a8['center']['y']=parseFloat(a9['value']);break;case 0x1e:a8['center']['z']=parseFloat(a9['value']);break;case 0xb:a8['majorAxis']['x']=parseFloat(a9['value']);break;case 0x15:a8['majorAxis']['y']=parseFloat(a9['value']);break;case 0x1f:a8['majorAxis']['z']=parseFloat(a9['value']);break;case 0x28:a8['minorRatio']=parseFloat(a9['value']);break;case 0x29:a8['startParam']=parseFloat(a9[bC(0x14b)]);break;case 0x2a:a8['endParam']=parseFloat(a9['value']);break;}return a8;}function ce(a7){const bD=b0;let a8=a6(a6({},A(a7)),{},{'type':'SPLINE','degree':0x3,'flags':0x0,'knots':[],'controlPoints':[],'fitPoints':[],'weights':[]}),a9=null,aa=null;for(let ab of a7)switch(ab['code']){case 0x46:a8['flags']=parseInt(ab['value'],0xa);break;case 0x47:a8['degree']=parseInt(ab[bD(0x14b)],0xa);break;case 0x28:a8[bD(0x21a)]['push'](parseFloat(ab['value']));break;case 0x29:a8[bD(0x273)]['push'](parseFloat(ab[bD(0x14b)]));break;case 0xa:a9&&a8[bD(0x22f)]['push'](a9),a9={'x':parseFloat(ab['value']),'y':0x0,'z':0x0};break;case 0x14:a9&&(a9['y']=parseFloat(ab[bD(0x14b)]));break;case 0x1e:a9&&(a9['z']=parseFloat(ab['value']));break;case 0xb:aa&&a8['fitPoints']['push'](aa),aa={'x':parseFloat(ab['value']),'y':0x0,'z':0x0};break;case 0x15:aa&&(aa['y']=parseFloat(ab[bD(0x14b)]));break;case 0x1f:aa&&(aa['z']=parseFloat(ab['value']));break;case 0xc:a8['startTangent']||(a8[bD(0x1d2)]={'x':0x0,'y':0x0,'z':0x0}),a8['startTangent']['x']=parseFloat(ab['value']);break;case 0x16:a8[bD(0x1d2)]&&(a8[bD(0x1d2)]['y']=parseFloat(ab[bD(0x14b)]));break;case 0x20:a8['startTangent']&&(a8['startTangent']['z']=parseFloat(ab['value']));break;case 0xd:a8['endTangent']||(a8[bD(0x262)]={'x':0x0,'y':0x0,'z':0x0}),a8[bD(0x262)]['x']=parseFloat(ab['value']);break;case 0x17:a8['endTangent']&&(a8['endTangent']['y']=parseFloat(ab['value']));break;case 0x21:a8['endTangent']&&(a8['endTangent']['z']=parseFloat(ab['value']));break;}return a9&&a8[bD(0x22f)]['push'](a9),aa&&a8['fitPoints']['push'](aa),a8;}function le(a7){const bE=b0;let a8=a6(a6({},A(a7)),{},{'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 a9 of a7)switch(a9['code']){case 0x1:a8['text']=a9[bE(0x14b)];break;case 0xa:a8['insertionPoint']['x']=parseFloat(a9[bE(0x14b)]);break;case 0x14:a8['insertionPoint']['y']=parseFloat(a9['value']);break;case 0x1e:a8['insertionPoint']['z']=parseFloat(a9['value']);break;case 0xb:a8['alignmentPoint']||(a8['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a8['alignmentPoint']['x']=parseFloat(a9['value']);break;case 0x15:a8[bE(0x1c6)]||(a8['alignmentPoint']={'x':0x0,'y':0x0,'z':0x0}),a8['alignmentPoint']['y']=parseFloat(a9['value']);break;case 0x1f:a8['alignmentPoint']||(a8[bE(0x1c6)]={'x':0x0,'y':0x0,'z':0x0}),a8['alignmentPoint']['z']=parseFloat(a9['value']);break;case 0x28:a8['height']=parseFloat(a9[bE(0x14b)]);break;case 0x29:a8['widthFactor']=parseFloat(a9['value']);break;case 0x32:a8[bE(0x246)]=parseFloat(a9['value']);break;case 0x33:a8['obliqueAngle']=parseFloat(a9[bE(0x14b)]);break;case 0x7:a8['style']=a9['value'];break;case 0x47:a8[bE(0x1a5)]=parseInt(a9[bE(0x14b)],0xa);break;case 0x48:a8['hAlign']=parseInt(a9['value'],0xa);break;case 0x49:a8[bE(0x24c)]=parseInt(a9['value'],0xa);break;}return a8;}function ue(a7){const bF=b0;let a8=a6(a6({},A(a7)),{},{'type':'MTEXT','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}),a9=[];for(let aa of a7)switch(aa['code']){case 0x1:a9['push'](aa['value']);break;case 0x3:a9['push'](aa[bF(0x14b)]);break;case 0x7:a8[bF(0x1cf)]=aa['value'];break;case 0xa:a8['insertionPoint']['x']=parseFloat(aa['value']);break;case 0x14:a8['insertionPoint']['y']=parseFloat(aa['value']);break;case 0x1e:a8['insertionPoint']['z']=parseFloat(aa['value']);break;case 0xb:a8['textDirection']||(a8['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a8['textDirection']['x']=parseFloat(aa['value']);break;case 0x15:a8['textDirection']||(a8['textDirection']={'x':0x0,'y':0x0,'z':0x0}),a8['textDirection']['y']=parseFloat(aa['value']);break;case 0x1f:a8[bF(0x159)]||(a8[bF(0x159)]={'x':0x0,'y':0x0,'z':0x0}),a8['textDirection']['z']=parseFloat(aa['value']);break;case 0x28:a8[bF(0x1ef)]=parseFloat(aa['value']);break;case 0x29:a8['width']=parseFloat(aa['value']);break;case 0x2c:a8['lineSpacingFactor']=parseFloat(aa[bF(0x14b)]);break;case 0x32:a8[bF(0x246)]=parseFloat(aa[bF(0x14b)]);break;case 0x47:a8[bF(0x155)]=parseInt(aa['value'],0xa);break;case 0x48:a8['drawingDirection']=parseInt(aa['value'],0xa);break;case 0x49:a8['lineSpacingStyle']=parseInt(aa['value'],0xa);break;case 0x5a:a8['bgFill']=parseInt(aa['value'],0xa);break;}return a8['text']=a9['join'](''),a8;}function de(a7){const bG=b0;let a8=a6(a6({},A(a7)),{},{'type':bG(0x258),'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 a9 of a7)switch(a9['code']){case 0x2:a8['blockName']=a9['value'];break;case 0xa:a8[bG(0x1f2)]['x']=parseFloat(a9['value']);break;case 0x14:a8['insertionPoint']['y']=parseFloat(a9[bG(0x14b)]);break;case 0x1e:a8['insertionPoint']['z']=parseFloat(a9['value']);break;case 0x29:a8[bG(0x1c7)]=parseFloat(a9['value']);break;case 0x2a:a8['scaleY']=parseFloat(a9[bG(0x14b)]);break;case 0x2b:a8['scaleZ']=parseFloat(a9[bG(0x14b)]);break;case 0x2c:a8['columnSpacing']=parseFloat(a9['value']);break;case 0x2d:a8['rowSpacing']=parseFloat(a9['value']);break;case 0x32:a8[bG(0x246)]=parseFloat(a9['value']);break;case 0x46:a8[bG(0x14e)]=parseInt(a9[bG(0x14b)],0xa)||0x1;break;case 0x47:a8['rowCount']=parseInt(a9['value'],0xa)||0x1;break;}return a8;}function fe(a7){const bH=b0;let a8=a6(a6({},A(a7)),{},{'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 a9 of a7)switch(a9['code']){case 0x1:a8['textOverride']=a9[bH(0x14b)];break;case 0x2:a8[bH(0x1fb)]=a9['value'];break;case 0x3:a8['dimStyle']=a9[bH(0x14b)];break;case 0xa:a8['defPoint']['x']=parseFloat(a9['value']);break;case 0x14:a8['defPoint']['y']=parseFloat(a9['value']);break;case 0x1e:a8['defPoint']['z']=parseFloat(a9['value']);break;case 0xb:a8['textMidpoint']['x']=parseFloat(a9['value']);break;case 0x15:a8['textMidpoint']['y']=parseFloat(a9[bH(0x14b)]);break;case 0x1f:a8['textMidpoint']['z']=parseFloat(a9['value']);break;case 0xd:a8[bH(0x17f)]||(a8[bH(0x17f)]={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint2']['x']=parseFloat(a9['value']);break;case 0x17:a8[bH(0x17f)]||(a8['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint2']['y']=parseFloat(a9['value']);break;case 0x21:a8['defPoint2']||(a8[bH(0x17f)]={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint2']['z']=parseFloat(a9[bH(0x14b)]);break;case 0xe:a8[bH(0x1c1)]||(a8['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint3']['x']=parseFloat(a9['value']);break;case 0x18:a8['defPoint3']||(a8['defPoint3']={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint3']['y']=parseFloat(a9['value']);break;case 0x22:a8[bH(0x1c1)]||(a8[bH(0x1c1)]={'x':0x0,'y':0x0,'z':0x0}),a8[bH(0x1c1)]['z']=parseFloat(a9['value']);break;case 0xf:a8[bH(0x14d)]||(a8[bH(0x14d)]={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint4']['x']=parseFloat(a9['value']);break;case 0x19:a8['defPoint4']||(a8[bH(0x14d)]={'x':0x0,'y':0x0,'z':0x0}),a8[bH(0x14d)]['y']=parseFloat(a9['value']);break;case 0x23:a8['defPoint4']||(a8['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint4']['z']=parseFloat(a9['value']);break;case 0x10:a8['defPoint5']||(a8['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint5']['x']=parseFloat(a9['value']);break;case 0x1a:a8['defPoint5']||(a8[bH(0x186)]={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint5']['y']=parseFloat(a9['value']);break;case 0x24:a8['defPoint5']||(a8['defPoint5']={'x':0x0,'y':0x0,'z':0x0}),a8['defPoint5']['z']=parseFloat(a9['value']);break;case 0x28:a8[bH(0x179)]=parseFloat(a9['value']);break;case 0x32:a8['rotation']=parseFloat(a9['value']);break;case 0x35:a8['textRotation']=parseFloat(a9['value']);break;case 0x46:a8['dimType']=parseInt(a9['value'],0xa);break;}return a8;}function pe(a7){const bI=b0;let a8=a6(a6({},A(a7)),{},{'type':'HATCH','patternName':'','solidFill':!0x0,'associative':!0x1,'hatchStyle':0x0,'patternType':0x1,'patternAngle':0x0,'patternScale':0x1,'boundaryPaths':[]}),a9=0x0;for(;a9<a7['length'];){let aa=a7[a9];switch(aa['code']){case 0x2:a8[bI(0x26f)]=aa['value'];break;case 0x29:a8['patternScale']=parseFloat(aa[bI(0x14b)]);break;case 0x34:a8['patternAngle']=parseFloat(aa[bI(0x14b)]);break;case 0x46:a8['solidFill']=aa['value']==='1';break;case 0x47:a8['associative']=aa['value']==='1';break;case 0x4b:a8['hatchStyle']=parseInt(aa[bI(0x14b)],0xa);break;case 0x4c:a8['patternType']=parseInt(aa['value'],0xa);break;case 0x5b:{let ab=parseInt(aa[bI(0x14b)],0xa);a9++;for(let ac=0x0;ac<ab&&a9<a7['length'];ac++){let ad=me(a7,a9);a8['boundaryPaths'][bI(0x19d)](ad[bI(0x20c)]),a9=ad['nextIndex'];}continue;}}a9++;}return a8;}function me(a7,a8){let a9=0x0;return a8<a7['length']&&a7[a8]['code']===0x5c&&(a9=parseInt(a7[a8]['value'],0xa),a8++),a9&0x2?he(a7,a8,a9):ge(a7,a8,a9);}function he(a7,a8,a9){const bJ=b0;let aa={'type':'polyline','vertices':[],'bulges':[],'flags':a9},ab=!0x1;a8<a7[bJ(0x259)]&&a7[a8]['code']===0x48&&(ab=a7[a8]['value']==='1',a8++),a8<a7['length']&&a7[a8][bJ(0x173)]===0x49&&(aa[bJ(0x236)]=a7[a8][bJ(0x14b)]==='1',a8++);let ac=0x0;a8<a7['length']&&a7[a8]['code']===0x5d&&(ac=parseInt(a7[a8]['value'],0xa),a8++);for(let ad=0x0;ad<ac&&a8<a7[bJ(0x259)];ad++){let af={'x':0x0,'y':0x0};a7[a8][bJ(0x173)]===0xa&&(af['x']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x14&&(af['y']=parseFloat(a7[a8]['value']),a8++),aa['vertices']['push'](af),ab&&a8<a7[bJ(0x259)]&&a7[a8][bJ(0x173)]===0x2a?(aa['bulges']['push'](parseFloat(a7[a8]['value'])),a8++):ab&&aa['bulges']['push'](0x0);}for(;a8<a7[bJ(0x259)]&&(a7[a8][bJ(0x173)]===0x61||a7[a8]['code']===0x14a);)if(a7[a8]['code']===0x61){let ag=parseInt(a7[a8][bJ(0x14b)],0xa);a8++;for(let ah=0x0;ah<ag&&a8<a7['length']&&a7[a8]['code']===0x14a;ah++)a8++;}else a8++;return{'path':aa,'nextIndex':a8};}function ge(a7,a8,a9){const bK=b0;let aa={'type':bK(0x19a),'edges':[],'flags':a9},ab=0x0;a8<a7['length']&&a7[a8]['code']===0x5d&&(ab=parseInt(a7[a8]['value'],0xa),a8++);for(let ac=0x0;ac<ab&&a8<a7['length']&&a7[a8]['code']===0x48;ac++){let ad=parseInt(a7[a8]['value'],0xa);switch(a8++,ad){case 0x1:{let af={'type':'line','start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x0}};a8<a7['length']&&a7[a8]['code']===0xa&&(af[bK(0x15c)]['x']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x14&&(af['start']['y']=parseFloat(a7[a8]['value']),a8++),a8<a7[bK(0x259)]&&a7[a8]['code']===0xb&&(af['end']['x']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x15&&(af['end']['y']=parseFloat(a7[a8]['value']),a8++),aa['edges']['push'](af);break;}case 0x2:{let ag={'type':'arc','center':{'x':0x0,'y':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168,'ccw':!0x0};a8<a7['length']&&a7[a8]['code']===0xa&&(ag['center']['x']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x14&&(ag[bK(0x1c4)]['y']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8][bK(0x173)]===0x28&&(ag[bK(0x1a8)]=parseFloat(a7[a8]['value']),a8++),a8<a7[bK(0x259)]&&a7[a8]['code']===0x32&&(ag[bK(0x1a2)]=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x33&&(ag['endAngle']=parseFloat(a7[a8]['value']),a8++),a8<a7[bK(0x259)]&&a7[a8]['code']===0x49&&(ag['ccw']=a7[a8]['value']==='1',a8++),aa['edges'][bK(0x19d)](ag);break;}case 0x3:{let ah={'type':'ellipse','center':{'x':0x0,'y':0x0},'majorAxis':{'x':0x1,'y':0x0},'minorRatio':0x1,'startAngle':0x0,'endAngle':Math['PI']*0x2,'ccw':!0x0};a8<a7['length']&&a7[a8]['code']===0xa&&(ah['center']['x']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x14&&(ah['center']['y']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0xb&&(ah[bK(0x25e)]['x']=parseFloat(a7[a8]['value']),a8++),a8<a7[bK(0x259)]&&a7[a8]['code']===0x15&&(ah['majorAxis']['y']=parseFloat(a7[a8][bK(0x14b)]),a8++),a8<a7['length']&&a7[a8]['code']===0x28&&(ah['minorRatio']=parseFloat(a7[a8][bK(0x14b)]),a8++),a8<a7['length']&&a7[a8][bK(0x173)]===0x32&&(ah['startAngle']=parseFloat(a7[a8]['value']),a8++),a8<a7[bK(0x259)]&&a7[a8]['code']===0x33&&(ah['endAngle']=parseFloat(a7[a8]['value']),a8++),a8<a7['length']&&a7[a8]['code']===0x49&&(ah['ccw']=a7[a8]['value']==='1',a8++),aa['edges'][bK(0x19d)](ah);break;}case 0x4:{let ai=0x3,aj=[],ak=[];a8<a7['length']&&a7[a8]['code']===0x5e&&(ai=parseInt(a7[a8]['value'],0xa),a8++),a8<a7['length']&&a7[a8][bK(0x173)]===0x49&&a8++,a8<a7['length']&&a7[a8][bK(0x173)]===0x4a&&a8++;let al=0x0;a8<a7['length']&&a7[a8]['code']===0x5f&&(al=parseInt(a7[a8]['value'],0xa),a8++);let am=0x0;a8<a7['length']&&a7[a8]['code']===0x60&&(am=parseInt(a7[a8]['value'],0xa),a8++);for(let an=0x0;an<al&&a8<a7['length']&&a7[a8]['code']===0x28;an++)aj[bK(0x19d)](parseFloat(a7[a8]['value'])),a8++;for(let ao=0x0;ao<am&&a8<a7['length'];ao++){let ap={'x':0x0,'y':0x0};a7[a8]['code']===0xa&&(ap['x']=parseFloat(a7[a8][bK(0x14b)]),a8++),a8<a7['length']&&a7[a8][bK(0x173)]===0x14&&(ap['y']=parseFloat(a7[a8]['value']),a8++),ak[bK(0x19d)](ap);}aa['edges']['push']({'type':'spline','degree':ai,'knots':aj,'controlPoints':ak});break;}}}for(;a8<a7['length']&&(a7[a8][bK(0x173)]===0x61||a7[a8]['code']===0x14a);)if(a7[a8]['code']===0x61){let aq=parseInt(a7[a8]['value'],0xa);a8++;for(let ar=0x0;ar<aq&&a8<a7['length']&&a7[a8]['code']===0x14a;ar++)a8++;}else a8++;return{'path':aa,'nextIndex':a8};}function _e(a7){const bL=b0;let a8=a6(a6({},A(a7)),{},{'type':bL(0x245),'position':{'x':0x0,'y':0x0,'z':0x0}});for(let a9 of a7)switch(a9['code']){case 0xa:a8[bL(0x20b)]['x']=parseFloat(a9['value']);break;case 0x14:a8['position']['y']=parseFloat(a9['value']);break;case 0x1e:a8['position']['z']=parseFloat(a9[bL(0x14b)]);break;}return a8;}function j(a7,a8,a9){const bM=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa['code']!==0x0){a8++;continue;}let ab=aa['value'];if(ab==='ENDSEC'||ab==='ENDBLK')return a8+0x1;a8++;let ac=[];for(;a8<a7[bM(0x259)]&&a7[a8]['code']!==0x0;)ac['push'](a7[a8]),a8++;switch(ab){case'LINE':a9['push'](ne(ac));break;case'CIRCLE':a9[bM(0x19d)](re(ac));break;case'ARC':a9[bM(0x19d)](ie(ac));break;case'LWPOLYLINE':a9['push'](ae(ac));break;case'ELLIPSE':a9[bM(0x19d)](se(ac));break;case'SPLINE':a9['push'](ce(ac));break;case'TEXT':a9[bM(0x19d)](le(ac));break;case'MTEXT':a9['push'](ue(ac));break;case'INSERT':{let ad=de(ac);ac['some'](af=>af[bM(0x173)]===0x42&&af['value']==='1')&&(a8=ye(a7,a8,ad[bM(0x253)])),a9['push'](ad);break;}case'DIMENSION':a9['push'](fe(ac));break;case'HATCH':a9[bM(0x19d)](pe(ac));break;case'POINT':a9['push'](_e(ac));break;case'POLYLINE':{let af=oe(ac);a8=ve(a7,a8,af['vertices']),a9['push'](af);break;}}}return a8;}function ve(a7,a8,a9){const bN=b0;for(;a8<a7['length'];){if(a7[a8]['code']!==0x0){a8++;continue;}let aa=a7[a8]['value'];if(aa==='SEQEND')return a8+0x1;if(aa==='ENDSEC'||aa==='ENDBLK')return a8;if(aa==='VERTEX'){a8++;let ab={'x':0x0,'y':0x0,'bulge':0x0,'startWidth':0x0,'endWidth':0x0};for(;a8<a7[bN(0x259)]&&a7[a8]['code']!==0x0;){let ac=a7[a8];switch(ac[bN(0x173)]){case 0xa:ab['x']=parseFloat(ac[bN(0x14b)]);break;case 0x14:ab['y']=parseFloat(ac['value']);break;case 0x2a:ab['bulge']=parseFloat(ac['value']);break;case 0x28:ab[bN(0x22e)]=parseFloat(ac['value']);break;case 0x29:ab['endWidth']=parseFloat(ac['value']);break;}a8++;}a9['push'](ab);}else{for(a8++;a8<a7['length']&&a7[a8]['code']!==0x0;)a8++;}}return a8;}function ye(a7,a8,a9){const bO=b0;for(;a8<a7['length'];){if(a7[a8]['code']!==0x0){a8++;continue;}let aa=a7[a8]['value'];if(aa==='SEQEND')return a8+0x1;if(aa==='ENDSEC'||aa==='ENDBLK')return a8;if(aa==='ATTRIB'){a8++;let ab={'tag':'','text':'','insertionPoint':{'x':0x0,'y':0x0,'z':0x0},'height':0x1,'rotation':0x0,'style':'STANDARD','layer':'0','color':0x100};for(;a8<a7['length']&&a7[a8]['code']!==0x0;){let ac=a7[a8];switch(ac['code']){case 0x1:ab[bO(0x1bf)]=ac['value'];break;case 0x2:ab['tag']=ac[bO(0x14b)];break;case 0x7:ab['style']=ac[bO(0x14b)];break;case 0x8:ab['layer']=ac[bO(0x14b)];break;case 0xa:ab['insertionPoint']['x']=parseFloat(ac['value']);break;case 0x14:ab['insertionPoint']['y']=parseFloat(ac['value']);break;case 0x1e:ab['insertionPoint']['z']=parseFloat(ac[bO(0x14b)]);break;case 0x28:ab[bO(0x1ef)]=parseFloat(ac['value']);break;case 0x32:ab['rotation']=parseFloat(ac['value']);break;case 0x3e:ab[bO(0x1de)]=parseInt(ac['value'],0xa);break;}a8++;}a9['push'](ab);}else{for(a8++;a8<a7[bO(0x259)]&&a7[a8]['code']!==0x0;)a8++;}}return a8;}function be(a7,a8,a9){const bP=b0;for(;a8<a7['length'];){let aa=a7[a8];if(aa['code']===0x0&&aa[bP(0x14b)]===bP(0x24e))return a8+0x1;if(aa['code']===0x0&&aa['value']==='BLOCK'){a8++;let ab={'name':'','basePoint':{'x':0x0,'y':0x0,'z':0x0},'entities':[],'flags':0x0};for(;a8<a7['length']&&a7[a8]['code']!==0x0;){let ac=a7[a8];switch(ac['code']){case 0x2:ab['name']=ac['value'];break;case 0x8:break;case 0xa:ab['basePoint']['x']=parseFloat(ac['value']);break;case 0x14:ab['basePoint']['y']=parseFloat(ac['value']);break;case 0x1e:ab['basePoint']['z']=parseFloat(ac['value']);break;case 0x46:ab['flags']=parseInt(ac[bP(0x14b)],0xa);break;}a8++;}a8=j(a7,a8,ab['entities']),ab[bP(0x16f)]&&!ab['name']['startsWith']('*Model_Space')&&!ab['name']['startsWith'](bP(0x1ad))&&a9[bP(0x148)](ab[bP(0x16f)],ab);}else a8++;}return a8;}var M='AutoCAD\x20Binary\x20DXF',xe={'ANSI_874':'windows-874','ANSI_932':b0(0x144),'ANSI_936':'gbk','ANSI_949':b0(0x24b),'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='AC1021';function Ce(){return{'acadVersion':'','insUnits':0x0,'measurement':0x0,'ltScale':0x1};}function N(a7){return a7['replace'](/\\U\+([0-9A-Fa-f]{4})/g,(a8,a9)=>String['fromCodePoint'](parseInt(a9,0x10)));}function we(a7){var a8;if(typeof a7=='string')return N(a7);let a9=new Uint8Array(a7);if(new TextDecoder('ascii')['decode'](a9['slice'](0x0,M['length']))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let aa=new TextDecoder('utf-8')['decode'](a7),ab=aa['match'](/\$ACADVER[\s\S]*?\n\s*1\s*\n\s*(\S+)/),ac=(a8=ab==null?void 0x0:ab[0x1])==null?'':a8;if(ac&&ac<Se){var ad,af;let ag=aa['match'](/\$DWGCODEPAGE[\s\S]*?\n\s*3\s*\n\s*(\S+)/),ah=(af=xe[(ad=ag==null?void 0x0:ag[0x1])==null?'':ad])==null?'windows-1252':af;ah!=='utf-8'&&(aa=new TextDecoder(ah)['decode'](a7));}return N(aa);}function Te(a7,a8){const bQ=b0;for(;a8<a7['length'];){if(a7[a8]['code']===0x0&&a7[a8][bQ(0x14b)]==='ENDSEC')return a8+0x1;a8++;}return a8;}function Ee(a7){const bR=b0;a7['layers'][bR(0x13e)]('0')||a7['layers'][bR(0x148)]('0',{'name':'0','color':0x7,'lineType':bR(0x161),'flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1});}function De(a7){const bS=b0;for(let [,a8]of a7['layers'])a8['isOff']=a8['color']<0x0,a8['isOff']&&(a8['color']=Math['abs'](a8['color'])),a8['isFrozen']=(a8['flags']&0x1)!=0x0,a8[bS(0x1f6)]=(a8['flags']&0x4)!=0x0;}var P=class extends Error{constructor(a7,a8){super(a7),this['cause']=a8,this['name']='DxfParseError';}};function F(a7){const bT=b0;if(typeof a7=='string'){if(a7['length']===0x0)throw new P('Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.');}else{if(a7 instanceof ArrayBuffer){if(a7['byteLength']===0x0)throw new P('Input\x20ArrayBuffer\x20is\x20empty.');}else throw new P('Invalid\x20input\x20type.\x20Expected\x20a\x20string\x20or\x20ArrayBuffer.');}let a8;try{a8=we(a7);}catch(ab){throw ab instanceof P?ab:new P(bT(0x151),ab);}let a9;try{a9=w(a8);}catch(ac){throw new P('Failed\x20to\x20tokenize\x20DXF\x20content.',ac);}if(a9[bT(0x259)]===0x0)throw new P('DXF\x20content\x20produced\x20no\x20tokens.\x20The\x20input\x20may\x20not\x20be\x20a\x20valid\x20DXF\x20file.');let aa={'header':Ce(),'layers':new Map(),'lineTypes':new Map(),'styles':new Map(),'blocks':new Map(),'entities':[]};try{let ad=0x0;for(;ad<a9['length'];){let af=a9[ad];if(af['code']===0x0&&af['value']==='SECTION'){if(ad++,ad>=a9['length'])break;let ag=a9[ad][bT(0x14b)];switch(ad++,ag){case'HEADER':ad=T(a9,ad,aa['header']);break;case bT(0x1be):ad=D(a9,ad,aa);break;case bT(0x1c3):ad=be(a9,ad,aa['blocks']);break;case bT(0x191):ad=j(a9,ad,aa['entities']);break;default:ad=Te(a9,ad);break;}}else{if(af['code']===0x0&&af['value']==='EOF')break;else ad++;}}}catch(ah){throw new P('Failed\x20to\x20parse\x20DXF\x20sections.',ah);}return Ee(aa),De(aa),aa;}var Oe=b0(0x242)['split']('.');function ke(a7){if(!(a7===0x0||a7===0x100)&&!(a7<0x0||a7>0xff))return Oe[a7];}function Ae(a7,a8){const bU=b0;var a9;return a7===0x7||(a9=Oe[Math['abs'](a7)])==null?a8?bU(0x1bb):bU(0x1b2):a9;}function je(a7){const bV=b0;let a8=a7>>0x10&0xff,a9=a7>>0x8&0xff,aa=a7&0xff;return'#'+a8['toString'](0x10)[bV(0x178)](0x2,'0')+a9['toString'](0x10)['padStart'](0x2,'0')+aa[bV(0x165)](0x10)['padStart'](0x2,'0');}var I={'dark':{'backgroundColor':'#1a1a2e','defaultEntityColor':'#ffffff','selectionColor':b0(0x1ee),'measureColor':'#ffaa00','gridColor':'#333333','crosshairColor':'#555555'},'light':{'backgroundColor':'#ffffff','defaultEntityColor':'#000000','selectionColor':'#0066ff','measureColor':'#ff6600','gridColor':'#dddddd','crosshairColor':'#cccccc'}};function L(a7,a8,a9){const bW=b0;return[a8*a7['scale']+a7[bW(0x16d)],-a9*a7['scale']+a7['offsetY']];}function R(a7,a8,a9){return[(a8-a7['offsetX'])/a7['scale'],-(a9-a7['offsetY'])/a7['scale']];}function z(a7,a8){const bX=b0;let a9=window['devicePixelRatio']||0x1;a7['setTransform'](a8[bX(0x14f)]*a9,0x0,0x0,-a8['scale']*a9,a8['offsetX']*a9,a8['offsetY']*a9);}function B(a7,a8,a9,aa,ab,ac,ad=0.05){let af=ab-a9,ag=ac-aa;if(af<=0x0||ag<=0x0)return{'scale':0x1,'offsetX':a7/0x2,'offsetY':a8/0x2};let ah=a7/af,ai=a8/ag,aj=Math['min'](ah,ai)*(0x1-ad*0x2),ak=(a9+ab)/0x2,al=(aa+ac)/0x2;return{'scale':aj,'offsetX':a7/0x2-ak*aj,'offsetY':a8/0x2+al*aj};}function Me(a7,a8,a9,aa,ab=0.0001,ac=0x186a0){const bY=b0;let ad=Math[bY(0x1a1)](ab,Math['min'](ac,a7['scale']*aa)),af=ad/a7['scale'];return{'scale':ad,'offsetX':a8-(a8-a7[bY(0x16d)])*af,'offsetY':a9-(a9-a7[bY(0x1b8)])*af};}var Ne=class{constructor(a7){const bZ=b0;a5(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),a5(this,'minScale',void 0x0),a5(this,'maxScale',void 0x0),this['minScale']=a7[bZ(0x26d)],this['maxScale']=a7['maxZoom'];}['getTransform'](){return this['transform'];}['setTransform'](a7){this['transform']=a7;}[b0(0x187)](a7,a8){const c0=b0;this['transform']=a6(a6({},this[c0(0x219)]),{},{'offsetX':this['transform']['offsetX']+a7,'offsetY':this['transform']['offsetY']+a8});}['zoom'](a7,a8,a9){const c1=b0;this[c1(0x219)]=Me(this['transform'],a7,a8,a9,this['minScale'],this['maxScale']);}};function Pe(a7,a8){var a9;return a7===0x7?a8==='dark'?'#ffffff':'#000000':(a9=ke(a7))==null?'#ffffff':a9;}function V(a7,a8,a9,aa){const c2=b0;if(a7['trueColor']!==void 0x0)return'rgb('+(a7['trueColor']>>0x10&0xff)+','+(a7['trueColor']>>0x8&0xff)+','+(a7[c2(0x164)]&0xff)+')';if(a7[c2(0x1de)]===0x0)return aa==null?I[a9]['defaultEntityColor']:aa;if(a7['color']!==0x100)return Pe(a7[c2(0x1de)],a9);let ab=a8['get'](a7['layer']);return ab?ab['trueColor']===void 0x0?Pe(Math[c2(0x180)](ab['color']),a9):'rgb('+(ab['trueColor']>>0x10&0xff)+','+(ab['trueColor']>>0x8&0xff)+','+(ab['trueColor']&0xff)+')':I[a9]['defaultEntityColor'];}function Fe(a7,a8){a7['beginPath'](),a7['moveTo'](a8['start']['x'],a8['start']['y']),a7['lineTo'](a8['end']['x'],a8['end']['y']),a7['stroke']();}function Ie(a7,a8){const c3=b0;a8['radius']<=0x0||(a7['beginPath'](),a7['arc'](a8['center']['x'],a8['center']['y'],a8['radius'],0x0,Math['PI']*0x2),a7[c3(0x257)]());}function Le(a7,a8){const c4=b0;if(a8[c4(0x1a8)]<=0x0)return;let a9=a8['startAngle']*Math['PI']/0xb4,aa=a8['endAngle']*Math['PI']/0xb4;a7['beginPath'](),a7[c4(0x1a9)](a8['center']['x'],a8[c4(0x1c4)]['y'],a8['radius'],a9,aa,!0x1),a7['stroke']();}function Re(a7,a8,a9,aa,ab){const c5=b0;let ac=a9-a7,ad=aa-a8,af=Math['sqrt'](ac*ac+ad*ad);if(af<1e-10)return{'cx':a7,'cy':a8,'radius':0x0,'startAngle':0x0,'endAngle':0x0,'anticlockwise':!0x1};let ag=Math['abs'](ab)*af/0x2,ah=(Math['pow'](af/0x2,0x2)+Math[c5(0x168)](ag,0x2))/(0x2*ag),ai=(a7+a9)/0x2,aj=(a8+aa)/0x2,ak=-ad/af,al=ac/af,am=ah-ag,an=ab>0x0?0x1:-0x1,ao=ai+an*am*ak,ap=aj+an*am*al;return{'cx':ao,'cy':ap,'radius':ah,'startAngle':Math[c5(0x193)](a8-ap,a7-ao),'endAngle':Math['atan2'](aa-ap,a9-ao),'anticlockwise':ab<0x0};}function H(a7,a8,a9,aa,ab,ac){const c6=b0;let ad=Re(a8,a9,aa,ab,ac);if(ad[c6(0x1a8)]<1e-10){a7[c6(0x26c)](aa,ab);return;}a7['arc'](ad['cx'],ad['cy'],ad['radius'],ad['startAngle'],ad['endAngle'],ad['anticlockwise']);}function ze(a7,a8){const c7=b0;let a9=a8['vertices'];if(a9['length']<0x2)return;a7[c7(0x189)](),a7['moveTo'](a9[0x0]['x'],a9[0x0]['y']);let aa=a8['closed']?a9['length']:a9['length']-0x1;for(let ab=0x0;ab<aa;ab++){let ac=a9[ab],ad=a9[(ab+0x1)%a9['length']];Math['abs'](ac['bulge'])<1e-10?a7['lineTo'](ad['x'],ad['y']):H(a7,ac['x'],ac['y'],ad['x'],ad['y'],ac['bulge']);}a7['stroke']();}function Be(a7,a8){const c8=b0;let a9=a8['vertices'];if(a9['length']<0x2)return;a7['beginPath'](),a7['moveTo'](a9[0x0]['x'],a9[0x0]['y']);let aa=a8[c8(0x256)]?a9['length']:a9[c8(0x259)]-0x1;for(let ac=0x0;ac<aa;ac++){var ab;let ad=a9[ac],af=a9[(ac+0x1)%a9['length']],ag=(ab=ad['bulge'])==null?0x0:ab;Math['abs'](ag)<1e-10?a7['lineTo'](af['x'],af['y']):H(a7,ad['x'],ad['y'],af['x'],af['y'],ag);}a7['stroke']();}function Ve(a7,a8){const c9=b0;let a9=Math['sqrt'](Math['pow'](a8['majorAxis']['x'],0x2)+Math['pow'](a8[c9(0x25e)]['y'],0x2)+Math['pow'](a8['majorAxis']['z'],0x2));if(a9<1e-10||a8['minorRatio']<=0x0)return;let aa=a9*a8['minorRatio'],ab=Math[c9(0x193)](a8['majorAxis']['y'],a8['majorAxis']['x']);a7[c9(0x189)](),a7['ellipse'](a8['center']['x'],a8[c9(0x1c4)]['y'],a9,aa,ab,a8['startParam'],a8['endParam'],!0x1),a7['stroke']();}function He(a7,a8,a9,aa,ab){const ca=b0;var ac;let ad=a8['length']-0x1,af=a7;for(;af<ad&&a9[af+0x1]<=aa;)af++;let ag=[],ah=[];for(let ai=0x0;ai<=a7;ai++){let aj=af-a7+ai;ag['push'](a6({},a8[aj])),ah['push'](ab?ab[aj]:0x1);}for(let ak=0x1;ak<=a7;ak++)for(let al=a7;al>=ak;al--){let am=af-a7+al,an=a9[am+a7-ak+0x1]-a9[am];if(Math[ca(0x180)](an)<1e-10)continue;let ao=(aa-a9[am])/an,ap=ag[al],aq=ag[al-0x1];if(ab){let ar=ah[al-0x1]*(0x1-ao),as=ah[al]*ao,au=ar+as;if(Math['abs'](au)<1e-10)continue;ap['x']=(aq['x']*ar+ap['x']*as)/au,ap['y']=(aq['y']*ar+ap['y']*as)/au,ap['z']=(aq['z']*ar+ap['z']*as)/au,ah[al]=au;}else ap['x']=(0x1-ao)*aq['x']+ao*ap['x'],ap['y']=(0x1-ao)*aq['y']+ao*ap['y'],ap['z']=(0x1-ao)*aq['z']+ao*ap['z'];}return(ac=ag[a7])==null?{'x':0x0,'y':0x0,'z':0x0}:ac;}function Ue(a7){const cb=b0;if(a7['length']<0x2)return a7[cb(0x224)](aa=>({'x':aa['x'],'y':aa['y']}));let a8=[],a9=a7[cb(0x259)];for(let aa=0x0;aa<a9-0x1;aa++){let ab=a7[Math['max'](0x0,aa-0x1)],ac=a7[aa],ad=a7[Math['min'](a9-0x1,aa+0x1)],af=a7[Math['min'](a9-0x1,aa+0x2)];for(let ag=0x0;ag<=(aa===a9-0x2?0xa:0x9);ag++){let ah=ag/0xa,ai=ah*ah,aj=ai*ah,ak=0.5*(0x2*ac['x']+(-ab['x']+ad['x'])*ah+(0x2*ab['x']-0x5*ac['x']+0x4*ad['x']-af['x'])*ai+(-ab['x']+0x3*ac['x']-0x3*ad['x']+af['x'])*aj),al=0.5*(0x2*ac['y']+(-ab['y']+ad['y'])*ah+(0x2*ab['y']-0x5*ac['y']+0x4*ad['y']-af['y'])*ai+(-ab['y']+0x3*ac['y']-0x3*ad['y']+af['y'])*aj);a8['push']({'x':ak,'y':al});}}return a8;}function We(a7,a8){const cc=b0;if(a7['degree']===0x1)return a7['controlPoints'][cc(0x224)](ag=>({'x':ag['x'],'y':ag['y']}));if(a7['controlPoints']['length']===0x0&&a7['fitPoints']['length']>=0x2)return Ue(a7['fitPoints']);if(a7['controlPoints']['length']<a7['degree']+0x1||a7['knots']['length']<a7[cc(0x22f)]['length']+a7['degree']+0x1)return[];let a9=[],aa=a7['knots'][a7['degree']],ab=a7[cc(0x21a)][a7['knots']['length']-a7['degree']-0x1];if(ab<=aa)return[];let ac=Math['max'](a7['controlPoints'][cc(0x259)]*0xa,Math['ceil']((ab-aa)/a8)),ad=Math[cc(0x169)](ac,0x1388),af=a7['weights']['length']>0x0?a7['weights']:void 0x0;for(let ag=0x0;ag<=ad;ag++){let ah=aa+(ab-aa)*(ag/ad),ai=He(a7['degree'],a7['controlPoints'],a7['knots'],ah,af);a9['push']({'x':ai['x'],'y':ai['y']});}return a9;}function Ge(a7,a8,a9){const cd=b0;let aa=We(a8,a9);if(!(aa[cd(0x259)]<0x2)){a7['beginPath'](),a7[cd(0x21d)](aa[0x0]['x'],aa[0x0]['y']);for(let ab=0x1;ab<aa['length'];ab++)a7['lineTo'](aa[ab]['x'],aa[ab]['y']);a8[cd(0x183)]&0x1&&a7['closePath'](),a7['stroke']();}}function a1(a,b){a=a-0x13d;const c=a0();let d=c[a];return d;}var Ke={'standard':'Arial,\x20sans-serif','arial':'Arial,\x20sans-serif','arial.ttf':'Arial,\x20sans-serif','romans.shx':b0(0x1ca),'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':'\x22Times\x20New\x20Roman\x22,\x20serif','timesnr.ttf':'\x22Times\x20New\x20Roman\x22,\x20serif','gothic.ttf':'\x22Century\x20Gothic\x22,\x20sans-serif'};function qe(a7){const cf=b0;return Ke[a7['toLowerCase']()[cf(0x1d1)]()]||'sans-serif';}function Je(a7,a8,a9){const cg=b0;if(!a8['text']||a8['height']<a9*0x4)return;let aa=a8['hAlign']!==0x0||a8['vAlign']!==0x0,ab=aa&&a8[cg(0x1c6)]?a8['alignmentPoint']['x']:a8[cg(0x1f2)]['x'],ac=aa&&a8['alignmentPoint']?a8['alignmentPoint']['y']:a8['insertionPoint']['y'];if(a7['save'](),a7['translate'](ab,ac),a7['scale'](0x1,-0x1),a8['rotation']&&a7['rotate'](-a8['rotation']*Math['PI']/0xb4),a8['widthFactor']!==0x1&&a7['scale'](a8['widthFactor'],0x1),a8['obliqueAngle']){let ah=Math['tan'](a8['obliqueAngle']*Math['PI']/0xb4);a7['transform'](0x1,0x0,ah,0x1,0x0,0x0);}let ad=(a8['generationFlags']&0x2)!=0x0,af=(a8['generationFlags']&0x4)!=0x0;ad&&a7['scale'](-0x1,0x1),af&&a7['scale'](0x1,-0x1);let ag=qe(a8['style']||'Standard');switch(a7[cg(0x208)]=a8['height']+'px\x20'+ag,a8[cg(0x1fd)]){case 0x0:a7['textAlign']='left';break;case 0x1:a7[cg(0x16e)]='center';break;case 0x2:a7['textAlign']=cg(0x21c);break;case 0x3:a7['textAlign']='left';break;case 0x4:a7['textAlign']=cg(0x1c4);break;case 0x5:a7['textAlign']='left';break;default:a7['textAlign']=cg(0x171);}switch(a8['vAlign']){case 0x0:a7['textBaseline']='alphabetic';break;case 0x1:a7['textBaseline']=cg(0x141);break;case 0x2:a7['textBaseline']='middle';break;case 0x3:a7['textBaseline']='top';break;default:a7['textBaseline']='alphabetic';}a7['fillText'](a8['text'],0x0,0x0),a7['restore']();}function Ye(a7){const ch=b0;return a7[ch(0x225)](/\\P/g,'\x0a')['replace'](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')['replace'](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')['replace'](/\{/g,'')[ch(0x225)](/\}/g,'')['replace'](/\\S[^;]*;/g,'')['trim']();}function Xe(a7,a8,a9){const ci=b0;var aa;if(!a8['text']||a8['height']<a9*0x4)return;a7['save'](),a7['translate'](a8['insertionPoint']['x'],a8['insertionPoint']['y']),a7[ci(0x14f)](0x1,-0x1);let ab=a8[ci(0x159)]?Math['atan2'](a8['textDirection']['y'],a8['textDirection']['x']):(a8['rotation']||0x0)*Math['PI']/0xb4;ab&&a7['rotate'](-ab);let ac=Ye(a8['text'])['split']('\x0a'),ad=a8['height']*(a8['lineSpacingFactor']||1.4),af=qe(a8['style']||ci(0x1e3));a7['font']=a8['height']+'px\x20'+af;let ag=(a8[ci(0x155)]-0x1)%0x3,ah=Math['floor']((a8['attachmentPoint']-0x1)/0x3);a7['textAlign']=(aa=[ci(0x171),'center','right'][ag])==null?'left':aa;let ai=0x0,aj=ac['length']*ad;switch(ah){case 0x0:ai=a8[ci(0x1ef)];break;case 0x1:ai=a8['height']-aj/0x2;break;case 0x2:ai=a8['height']-aj;break;}for(let ak=0x0;ak<ac['length'];ak++)a7['fillText'](ac[ak],0x0,ai+ak*ad);a7['restore']();}var Ze=0x64;function Qe(a7,a8,a9,aa=0x0){const cj=b0;if(aa>Ze)return null;if(a9['has'](a7))return a9[cj(0x240)](a7);let ab=a8[cj(0x250)]['get'](a7);if(!ab)return a9[cj(0x148)](a7,null),null;a9['set'](a7,null);let ac=Infinity,ad=Infinity,af=-Infinity,ag=-Infinity,ah=!0x1;for(let aj of ab['entities']){let ak;ak=aj['type']==='INSERT'?U(aj,a8,a9,aa+0x1):G(aj),ak&&(ah=!0x0,ac=Math['min'](ac,ak['minX']),ad=Math['min'](ad,ak['minY']),af=Math['max'](af,ak['maxX']),ag=Math['max'](ag,ak[cj(0x14c)]));}let ai=ah?{'minX':ac,'minY':ad,'maxX':af,'maxY':ag}:null;return a9['set'](a7,ai),ai;}function U(a7,a8,a9,aa=0x0){const ck=b0;let ab=Qe(a7['blockName'],a8,a9,aa);if(!ab)return null;let ac=a8['blocks'][ck(0x240)](a7['blockName']);if(!ac)return null;let ad=ac['basePoint']['x'],af=ac['basePoint']['y'],ag=ab['minX']-ad,ah=ab['minY']-af,ai=ab['maxX']-ad,aj=ab['maxY']-af,ak=a7['scaleX'],al=a7['scaleY'],am=ag*ak,an=ai*ak,ao=ah*al,ap=aj*al;if(am>an){let aD=am;am=an,an=aD;}if(ao>ap){let aE=ao;ao=ap,ap=aE;}let aq=(a7['rotation']||0x0)*Math['PI']/0xb4;if(Math['abs'](aq)<1e-10){let aF=a7['insertionPoint']['x'],aG=a7['insertionPoint']['y'],aH=am+aF,aI=ao+aG,aJ=an+aF,aK=ap+aG,aL=Math['max'](0x1,a7['columnCount']),aM=Math['max'](0x1,a7['rowCount']);if(aL>0x1||aM>0x1){let aN=(aL-0x1)*a7[ck(0x18c)],aO=(aM-0x1)*a7['rowSpacing'];aH=Math[ck(0x169)](aH,aH+aN),aJ=Math['max'](aJ,aJ+aN),aI=Math['min'](aI,aI+aO),aK=Math['max'](aK,aK+aO);}return{'minX':aH,'minY':aI,'maxX':aJ,'maxY':aK};}let ar=Math[ck(0x265)](aq),as=Math['sin'](aq),au=[{'x':am,'y':ao},{'x':an,'y':ao},{'x':an,'y':ap},{'x':am,'y':ap}],av=a7['insertionPoint']['x'],aw=a7['insertionPoint']['y'],ax=Infinity,ay=Infinity,az=-Infinity,aA=-Infinity;for(let aP of au){let aQ=aP['x']*ar-aP['y']*as+av,aR=aP['x']*as+aP['y']*ar+aw;ax=Math['min'](ax,aQ),ay=Math['min'](ay,aR),az=Math[ck(0x1a1)](az,aQ),aA=Math['max'](aA,aR);}let aB=Math['max'](0x1,a7['columnCount']),aC=Math['max'](0x1,a7['rowCount']);if(aB>0x1||aC>0x1){let aS=(aB-0x1)*a7[ck(0x18c)],aT=(aC-0x1)*a7[ck(0x1aa)],aU=[{'x':0x0,'y':0x0},{'x':aS,'y':0x0},{'x':aS,'y':aT},{'x':0x0,'y':aT}];for(let aV of aU){let aW=aV['x']*ar-aV['y']*as,aX=aV['x']*as+aV['y']*ar;ax=Math['min'](ax,ax+aW),ay=Math['min'](ay,ay+aX),az=Math[ck(0x1a1)](az,az+aW),aA=Math['max'](aA,aA+aX);}}return{'minX':ax,'minY':ay,'maxX':az,'maxY':aA};}function $e(a7,a8){let a9=Infinity,aa=Infinity,ab=-Infinity,ac=-Infinity,ad=!0x1,af=a8?new Map():void 0x0;for(let ag of a7){let ah=a8&&af?et(ag,a8,af):G(ag);ah&&(ad=!0x0,a9=Math['min'](a9,ah['minX']),aa=Math['min'](aa,ah['minY']),ab=Math['max'](ab,ah['maxX']),ac=Math['max'](ac,ah['maxY']));}return ad?{'minX':a9,'minY':aa,'maxX':ab,'maxY':ac}:null;}function et(a7,a8,a9){const cl=b0;return a7[cl(0x223)]===cl(0x258)?U(a7,a8,a9):G(a7);}var W=null;function tt(a7){const cm=b0;let a8=new Map();for(let [a9,aa]of a7['blocks']){let ab=Array(aa['entities']['length']);for(let ac=0x0;ac<aa['entities'][cm(0x259)];ac++)ab[ac]=G(aa['entities'][ac]);a8['set'](a9,ab);}return a8;}function nt(a7){W=a7;}function rt(){W=null;}function it(a7,a8){if(!W)return;let a9=W['get'](a7);if(!(!a9||a8>=a9['length']))return a9[a8];}function G(a7){const cn=b0;switch(a7[cn(0x223)]){case'LINE':return{'minX':Math['min'](a7['start']['x'],a7[cn(0x1d8)]['x']),'minY':Math['min'](a7['start']['y'],a7['end']['y']),'maxX':Math['max'](a7['start']['x'],a7['end']['x']),'maxY':Math['max'](a7[cn(0x15c)]['y'],a7[cn(0x1d8)]['y'])};case'CIRCLE':return{'minX':a7['center']['x']-a7[cn(0x1a8)],'minY':a7['center']['y']-a7['radius'],'maxX':a7['center']['x']+a7['radius'],'maxY':a7['center']['y']+a7['radius']};case'ARC':return{'minX':a7['center']['x']-a7['radius'],'minY':a7['center']['y']-a7['radius'],'maxX':a7['center']['x']+a7['radius'],'maxY':a7['center']['y']+a7['radius']};case'LWPOLYLINE':case cn(0x18f):{if(a7['vertices']['length']===0x0)return null;let ap=Infinity,aq=Infinity,ar=-Infinity,as=-Infinity;for(let au of a7['vertices'])ap=Math['min'](ap,au['x']),aq=Math['min'](aq,au['y']),ar=Math['max'](ar,au['x']),as=Math[cn(0x1a1)](as,au['y']);return{'minX':ap,'minY':aq,'maxX':ar,'maxY':as};}case'ELLIPSE':{let av=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7['majorAxis']['y'],0x2));return{'minX':a7['center']['x']-av,'minY':a7['center']['y']-av,'maxX':a7['center']['x']+av,'maxY':a7[cn(0x1c4)]['y']+av};}case cn(0x13f):return{'minX':a7['insertionPoint']['x'],'minY':a7[cn(0x1f2)]['y'],'maxX':a7['insertionPoint']['x']+a7['height']*a7['text'][cn(0x259)]*0.6,'maxY':a7['insertionPoint']['y']+a7[cn(0x1ef)]};case'MTEXT':return{'minX':a7['insertionPoint']['x'],'minY':a7['insertionPoint']['y']-a7[cn(0x1ef)],'maxX':a7['insertionPoint']['x']+(a7[cn(0x274)]||a7['height']*0xa),'maxY':a7['insertionPoint']['y']+a7[cn(0x1ef)]};case cn(0x1d3):{if(a7[cn(0x22f)]['length']===0x0)return null;let aw=Infinity,ax=Infinity,ay=-Infinity,az=-Infinity;for(let aA of a7['controlPoints'])aw=Math['min'](aw,aA['x']),ax=Math['min'](ax,aA['y']),ay=Math[cn(0x1a1)](ay,aA['x']),az=Math['max'](az,aA['y']);return{'minX':aw,'minY':ax,'maxX':ay,'maxY':az};}case'POINT':return{'minX':a7[cn(0x20b)]['x'],'minY':a7['position']['y'],'maxX':a7['position']['x'],'maxY':a7['position']['y']};case cn(0x258):return{'minX':a7['insertionPoint']['x'],'minY':a7['insertionPoint']['y'],'maxX':a7[cn(0x1f2)]['x'],'maxY':a7[cn(0x1f2)]['y']};case cn(0x1ae):if(a7['defPoint']){var a8,a9,aa,ab,ac,ad,af,ag,ah,ai,aj,ak,al,am,an,ao;return{'minX':Math['min'](a7[cn(0x23b)]['x'],(a8=(a9=a7['defPoint2'])==null?void 0x0:a9['x'])==null?a7['defPoint']['x']:a8,(aa=(ab=a7['defPoint3'])==null?void 0x0:ab['x'])==null?a7['defPoint']['x']:aa),'minY':Math['min'](a7['defPoint']['y'],(ac=(ad=a7['defPoint2'])==null?void 0x0:ad['y'])==null?a7['defPoint']['y']:ac,(af=(ag=a7['defPoint3'])==null?void 0x0:ag['y'])==null?a7['defPoint']['y']:af),'maxX':Math['max'](a7['defPoint']['x'],(ah=(ai=a7[cn(0x17f)])==null?void 0x0:ai['x'])==null?a7[cn(0x23b)]['x']:ah,(aj=(ak=a7['defPoint3'])==null?void 0x0:ak['x'])==null?a7['defPoint']['x']:aj),'maxY':Math[cn(0x1a1)](a7['defPoint']['y'],(al=(am=a7[cn(0x17f)])==null?void 0x0:am['y'])==null?a7[cn(0x23b)]['y']:al,(an=(ao=a7[cn(0x1c1)])==null?void 0x0:ao['y'])==null?a7['defPoint']['y']:an)};}return null;case cn(0x1b6):{let aB=Infinity,aC=Infinity,aD=-Infinity,aE=-Infinity,aF=!0x1;for(let aG of a7['boundaryPaths'])if(aG[cn(0x1b5)]){for(let aH of aG['vertices'])aF=!0x0,aB=Math['min'](aB,aH['x']),aC=Math['min'](aC,aH['y']),aD=Math['max'](aD,aH['x']),aE=Math[cn(0x1a1)](aE,aH['y']);}return aF?{'minX':aB,'minY':aC,'maxX':aD,'maxY':aE}:null;}default:return null;}}var at=new Set([b0(0x16c),'ARC','CIRCLE','LWPOLYLINE','POLYLINE','ELLIPSE','SPLINE']);function ot(a7){return at['has'](a7);}function st(a7,a8){const co=b0;a7['moveTo'](a8['start']['x'],a8[co(0x15c)]['y']),a7[co(0x26c)](a8['end']['x'],a8['end']['y']);}function ct(a7,a8){const cp=b0;if(a8['radius']<=0x0)return;let a9=a8['startAngle']*Math['PI']/0xb4,aa=a8['endAngle']*Math['PI']/0xb4;a7['moveTo'](a8[cp(0x1c4)]['x']+a8['radius']*Math['cos'](a9),a8['center']['y']+a8[cp(0x1a8)]*Math['sin'](a9)),a7['arc'](a8[cp(0x1c4)]['x'],a8['center']['y'],a8['radius'],a9,aa,!0x1);}function lt(a7,a8){const cq=b0;a8['radius']<=0x0||(a7['moveTo'](a8[cq(0x1c4)]['x']+a8['radius'],a8['center']['y']),a7['arc'](a8['center']['x'],a8['center']['y'],a8['radius'],0x0,Math['PI']*0x2));}function ut(a7,a8){const cr=b0;let a9=a8['vertices'];if(a9['length']<0x2)return;a7['moveTo'](a9[0x0]['x'],a9[0x0]['y']);let aa=a8['closed']?a9['length']:a9['length']-0x1;for(let ab=0x0;ab<aa;ab++){let ac=a9[ab],ad=a9[(ab+0x1)%a9['length']];Math[cr(0x180)](ac['bulge'])<1e-10?a7[cr(0x26c)](ad['x'],ad['y']):H(a7,ac['x'],ac['y'],ad['x'],ad['y'],ac['bulge']);}}function dt(a7,a8){const cs=b0;let a9=a8['vertices'];if(a9['length']<0x2)return;a7['moveTo'](a9[0x0]['x'],a9[0x0]['y']);let aa=a8['closed']?a9['length']:a9[cs(0x259)]-0x1;for(let ac=0x0;ac<aa;ac++){var ab;let ad=a9[ac],af=a9[(ac+0x1)%a9['length']],ag=(ab=ad['bulge'])==null?0x0:ab;Math['abs'](ag)<1e-10?a7['lineTo'](af['x'],af['y']):H(a7,ad['x'],ad['y'],af['x'],af['y'],ag);}}function ft(a7,a8){const cu=b0;let a9=Math['sqrt'](Math[cu(0x168)](a8['majorAxis']['x'],0x2)+Math[cu(0x168)](a8['majorAxis']['y'],0x2)+Math['pow'](a8['majorAxis']['z'],0x2));if(a9<1e-10||a8['minorRatio']<=0x0)return;let aa=a9*a8['minorRatio'],ab=Math['atan2'](a8['majorAxis']['y'],a8[cu(0x25e)]['x']),ac=Math['cos'](ab),ad=Math['sin'](ab),af=Math['cos'](a8['startParam']),ag=Math['sin'](a8['startParam']);a7['moveTo'](a8['center']['x']+a9*ac*af-aa*ad*ag,a8[cu(0x1c4)]['y']+a9*ad*af+aa*ac*ag),a7['ellipse'](a8['center']['x'],a8['center']['y'],a9,aa,ab,a8['startParam'],a8['endParam'],!0x1);}function pt(a7,a8,a9){const cv=b0;let aa=We(a8,a9);if(!(aa['length']<0x2)){a7[cv(0x21d)](aa[0x0]['x'],aa[0x0]['y']);for(let ab=0x1;ab<aa['length'];ab++)a7['lineTo'](aa[ab]['x'],aa[ab]['y']);a8['flags']&0x1&&a7['closePath']();}}function mt(a7,a8,a9){const cw=b0;switch(a8['type']){case'LINE':st(a7,a8);break;case'ARC':ct(a7,a8);break;case'CIRCLE':lt(a7,a8);break;case'LWPOLYLINE':ut(a7,a8);break;case'POLYLINE':dt(a7,a8);break;case'ELLIPSE':ft(a7,a8);break;case cw(0x1d3):pt(a7,a8,a9);break;}}var ht=0x64,gt=0.5;function _t(a7,a8,a9,aa,ab,ac,ad=0x0,af){const cx=b0;if(ad>ht)return;let ag=a9['blocks'][cx(0x240)](a8['blockName']);if(!ag)return;let ah=Math[cx(0x1a1)](0x1,a8['columnCount']),ai=Math['max'](0x1,a8['rowCount']);for(let ak=0x0;ak<ai;ak++)for(let al=0x0;al<ah;al++){a7['save']();let am=a8[cx(0x1f2)]['x']+al*a8['columnSpacing'],an=a8['insertionPoint']['y']+ak*a8['rowSpacing'];a7['translate'](am,an),a8[cx(0x246)]&&a7['rotate'](a8[cx(0x246)]*Math['PI']/0xb4),a7['scale'](a8['scaleX'],a8['scaleY']),a7['translate'](-ag['basePoint']['x'],-ag['basePoint']['y']);let ao=ac/(Math[cx(0x1a1)](Math['abs'](a8['scaleX']),Math['abs'](a8['scaleY']))||0x1),ap=null,aq=ag['entities'];for(let ar=0x0;ar<aq['length'];ar++){let as=aq[ar];if(as['type']!==cx(0x258)){let av=it(a8['blockName'],ar),aw=av===void 0x0?G(as):av;if(aw){let ax=Math['max'](aw['maxX']-aw[cx(0x24d)],aw['maxY']-aw['minY']);if(ax>0x0&&ax/ao<gt)continue;}}let au=V(as,a9['layers'],ab);if(as['type']!=='INSERT'&&ot(as['type'])){if(au!==ap&&(ap!==null&&(a7['stroke'](),af&&af['drawCalls']++),ap=au,a7['beginPath'](),a7['strokeStyle']=au,a7['lineWidth']=ao),mt(a7,as,ao),af){var aj;af['byType'][as[cx(0x223)]]=((aj=af['byType'][as['type']])==null?0x0:aj)+0x1;}}else ap!==null&&(a7[cx(0x257)](),af&&af['drawCalls']++,ap=null),a7['strokeStyle']=au,a7['fillStyle']=au,a7['lineWidth']=ao,as[cx(0x223)]==='INSERT'?_t(a7,as,a9,aa,ab,ao,ad+0x1,af):K(a7,as,a9,aa,ab,ao,af);}ap!==null&&(a7['stroke'](),af&&af['drawCalls']++),a7['restore']();}}function vt(a7,a8,a9,aa,ab,ac,ad){const cy=b0;if(a8[cy(0x1fb)]){let af=a9['blocks']['get'](a8[cy(0x1fb)]);if(af){for(let ag of af[cy(0x154)]){let ah=V(ag,a9['layers'],ab);a7['strokeStyle']=ah,a7['fillStyle']=ah,a7['lineWidth']=ac,K(a7,ag,a9,aa,ab,ac,ad);}return;}}a8['defPoint2']&&a8['defPoint3']&&(a7['beginPath'](),a7[cy(0x21d)](a8['defPoint2']['x'],a8['defPoint2']['y']),a7[cy(0x26c)](a8[cy(0x23b)]['x'],a8['defPoint']['y']),a7['stroke'](),a7['beginPath'](),a7['moveTo'](a8['defPoint3']['x'],a8['defPoint3']['y']),a7['lineTo'](a8['defPoint']['x'],a8['defPoint']['y']),a7['stroke']());}function yt(a7,a8){const cz=b0;if(a8['boundaryPaths']['length']!==0x0){a7['beginPath']();for(let ab of a8['boundaryPaths'])if(ab['type']==='polyline'&&ab['vertices']&&ab['vertices']['length']>0x0){let ac=ab['vertices'][0x0];a7['moveTo'](ac['x'],ac['y']);for(let ad=0x1;ad<ab['vertices'][cz(0x259)];ad++){var a9,aa;let af=ab[cz(0x1b5)][ad-0x1],ag=ab[cz(0x1b5)][ad],ah=(a9=(aa=ab['bulges'])==null?void 0x0:aa[ad-0x1])==null?0x0:a9;Math['abs'](ah)<1e-10?a7['lineTo'](ag['x'],ag['y']):H(a7,af['x'],af['y'],ag['x'],ag['y'],ah);}ab['isClosed']&&a7['closePath']();}else{if(ab['type']==='edges'&&ab['edges'])for(let ai=0x0;ai<ab['edges']['length'];ai++){let aj=ab[cz(0x19a)][ai];if(aj['type']==='line')ai===0x0&&a7[cz(0x21d)](aj['start']['x'],aj['start']['y']),a7[cz(0x26c)](aj['end']['x'],aj['end']['y']);else{if(aj[cz(0x223)]==='arc'){if(ai===0x0){let ak=aj['center']['x']+aj[cz(0x1a8)]*Math['cos'](aj['startAngle']*Math['PI']/0xb4),al=aj[cz(0x1c4)]['y']+aj['radius']*Math['sin'](aj['startAngle']*Math['PI']/0xb4);a7['moveTo'](ak,al);}a7['arc'](aj['center']['x'],aj['center']['y'],aj[cz(0x1a8)],aj[cz(0x1a2)]*Math['PI']/0xb4,aj['endAngle']*Math['PI']/0xb4,!aj['ccw']);}}}}a8['solidFill']&&(a7['globalAlpha']=0.3,a7['fill']('evenodd'),a7['globalAlpha']=0x1),a7['stroke']();}}function bt(a7,a8,a9){const cA=b0;let aa=a9*0x3;a7['beginPath'](),a7['arc'](a8['position']['x'],a8[cA(0x20b)]['y'],aa,0x0,Math['PI']*0x2),a7['fill']();}function K(a7,a8,a9,aa,ab,ac,ad){const cB=b0;if(ad){var af;ad[cB(0x14a)]++,ad['byType'][a8[cB(0x223)]]=((af=ad['byType'][a8['type']])==null?0x0:af)+0x1;}switch(a8['type']){case cB(0x16c):Fe(a7,a8);break;case'CIRCLE':Ie(a7,a8);break;case cB(0x272):Le(a7,a8);break;case'LWPOLYLINE':ze(a7,a8);break;case cB(0x18f):Be(a7,a8);break;case'ELLIPSE':Ve(a7,a8);break;case'SPLINE':Ge(a7,a8,ac);break;case'TEXT':Je(a7,a8,ac);break;case cB(0x214):Xe(a7,a8,ac);break;case'INSERT':_t(a7,a8,a9,aa,ab,ac,0x0,ad);break;case'DIMENSION':vt(a7,a8,a9,aa,ab,ac,ad);break;case'HATCH':yt(a7,a8);break;case'POINT':bt(a7,a8,ac);break;}}var xt=0.5,St=class{constructor(a7){const cC=b0;a5(this,'ctx',void 0x0),a5(this,'width',0x0),a5(this,cC(0x1ef),0x0),this['canvas']=a7;let a8=a7['getContext']('2d',{'alpha':!0x1});if(!a8)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[cC(0x26e)]=a8,this['updateSize']();}['getContext'](){return this['ctx'];}['getWidth'](){return this['width'];}['getHeight'](){const cD=b0;return this[cD(0x1ef)];}['updateSize'](){const cE=b0;let a7=window['devicePixelRatio']||0x1,a8=this['canvas'][cE(0x260)]();this[cE(0x274)]=a8['width'],this['height']=a8[cE(0x1ef)],this['canvas'][cE(0x274)]=a8['width']*a7,this['canvas']['height']=a8['height']*a7;}['render'](a7,a8,a9,aa,ab,ac,ad){const cF=b0;let af=this['ctx'],ag=window['devicePixelRatio']||0x1,ah={'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}};af['setTransform'](ag,0x0,0x0,ag,0x0,0x0),af[cF(0x271)]=I[a9]['backgroundColor'],af['fillRect'](0x0,0x0,this['width'],this['height']),z(af,a8);let ai=0x1/a8['scale'];af[cF(0x23a)]='round',af['lineJoin']='round';let aj=null;for(let al=0x0;al<a7[cF(0x154)]['length'];al++){let am=a7[cF(0x154)][al];if(!am['visible']){ah['entitiesSkipped']++;continue;}if(!aa['has'](am[cF(0x203)])){ah[cF(0x19f)]++;continue;}if(ac&&!ac['has'](al)){ah[cF(0x19f)]++;continue;}if(ad){let ao=ad[al];if(ao){let ap=(ao['maxX']-ao['minX'])*a8['scale'],aq=(ao['maxY']-ao['minY'])*a8['scale'];if(Math['max'](ap,aq)<xt){ah['entitiesSkipped']++;continue;}}}let an=V(am,a7['layers'],a9);if(ot(am['type'])){var ak;an!==aj&&(aj!==null&&(af['stroke'](),ah['drawCalls']++),aj=an,af['beginPath'](),af['strokeStyle']=an,af[cF(0x207)]=ai),mt(af,am,ai),ah[cF(0x1da)]++,ah['byType'][am['type']]=((ak=ah['byType'][am['type']])==null?0x0:ak)+0x1;}else aj!==null&&(af['stroke'](),ah['drawCalls']++,aj=null),af[cF(0x198)]=an,af['fillStyle']=an,af['lineWidth']=ai,ah['entitiesDrawn']++,K(af,am,a7,a8,a9,ai,ah);}if(aj!==null&&(af['stroke'](),ah['drawCalls']++),ab>=0x0&&ab<a7['entities']['length']){let ar=a7['entities'][ab];z(af,a8),af['strokeStyle']=I[a9]['selectionColor'],af['fillStyle']=I[a9][cF(0x232)],af['lineWidth']=ai*0x3,K(af,ar,a7,a8,a9,ai);}return ah;}['renderEmpty'](a7){const cG=b0;let a8=this['ctx'],a9=window['devicePixelRatio']||0x1;a8['setTransform'](a9,0x0,0x0,a9,0x0,0x0),a8['fillStyle']=I[a7][cG(0x152)],a8['fillRect'](0x0,0x0,this['width'],this['height']);}[b0(0x23c)](){}},Ct={'showFps':!0x0,'showRenderStats':!0x0,'showDocumentInfo':!0x0,'showTimings':!0x0,'showCamera':!0x0,'position':'top-left'};function q(a7){return a6(a6({},Ct),a7);}function wt(a7){const cH=b0;return a7===0x0?'0\x20B':a7<0x400?a7+'\x20B':a7<0x400*0x400?(a7/0x400)['toFixed'](0x1)+cH(0x1f8):(a7/(0x400*0x400))['toFixed'](0x1)+cH(0x244);}function Tt(a7){return a7>=0x1?a7['toFixed'](0x2)+'x':'1:'+(0x1/a7)['toFixed'](0x1);}var Et='11px\x20monospace',Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a7,a8,a9,aa,ab,ac){const cI=b0;a7[cI(0x22c)](0x1,0x0,0x0,0x1,0x0,0x0);let ad=[];if(aa['showFps']&&ad['push'](['FPS:\x20'+a8[cI(0x1a6)]+'\x20\x20Frame:\x20'+a8['frameTime']['toFixed'](0x1)+'ms']),aa[cI(0x22d)]){let an=a8['renderStats'][cI(0x1da)]+a8['renderStats']['entitiesSkipped'],ao=['Drawn:\x20'+a8['renderStats']['entitiesDrawn']+cI(0x1a4)+an+'\x20\x20Calls:\x20'+a8['renderStats']['drawCalls']],ap=Object['entries'](a8['renderStats']['byType'])['sort'](([,aq],[,ar])=>ar-aq)['slice'](0x0,0x6)['map'](([aq,ar])=>aq+':\x20'+ar)['join']('\x20\x20');ap&&ao['push'](ap),ad[cI(0x19d)](ao);}if(aa['showDocumentInfo']){let aq=['Layers:\x20'+a8['visibleLayerCount']+'\x20/\x20'+a8['layerCount']+'\x20\x20Blocks:\x20'+a8['blockCount']];a8['dxfVersion']&&aq['push']('DXF:\x20'+a8['dxfVersion']),a8['fileName']&&aq['push']('File:\x20'+a8[cI(0x157)]),a8['fileSize']>0x0&&aq['push']('Size:\x20'+wt(a8['fileSize'])),ad['push'](aq);}if(aa[cI(0x1b7)]){let ar=[];a8[cI(0x1b4)]>0x0&&ar['push']('Parse:\x20'+a8['parseTime']['toFixed'](0x0)+'ms'),a8['spatialIndexBuildTime']>0x0&&ar[cI(0x19d)]('Index:\x20'+a8[cI(0x1f4)]['toFixed'](0x0)+'ms'),a8['totalLoadTime']>0x0&&ar['push']('Load:\x20'+a8[cI(0x1e5)]['toFixed'](0x0)+'ms'),ar['length']>0x0&&ad[cI(0x19d)]([ar['join']('\x20\x20')]);}if(aa['showCamera']){let as=a8['viewportBounds'];ad['push'](['Zoom:\x20'+Tt(a8[cI(0x24f)])+cI(0x25d)+a8['pixelSize']['toFixed'](0x2),cI(0x20f)+as['minX']['toFixed'](0x0)+',\x20'+as['minY']['toFixed'](0x0)+cI(0x1b9)+as['maxX']['toFixed'](0x0)+',\x20'+as['maxY']['toFixed'](0x0)+']']);}if(ad['length']===0x0)return;a7[cI(0x208)]=Et;let af=[];for(let au=0x0;au<ad['length'];au++){au>0x0&&af['push']({'text':'','isSeparator':!0x0});for(let av of ad[au])af['push']({'text':av,'isSeparator':!0x1});}let ag=0x0;for(let aw of af)if(!aw[cI(0x1ac)]){let ax=a7[cI(0x192)](aw['text'])['width'];ax>ag&&(ag=ax);}let ah=ag+J*0x2,ai=J*0x2;for(let ay of af)ai+=ay['isSeparator']?Ot:Dt;let aj,ak;switch(aa['position']){case cI(0x1e8):aj=Y,ak=Y;break;case cI(0x149):aj=ab-ah-Y,ak=Y;break;case'bottom-left':aj=Y,ak=ac-ai-Y;break;case'bottom-right':aj=ab-ah-Y,ak=ac-ai-Y;break;}let al=I[a9];a7['fillStyle']=a9==='dark'?cI(0x201):'rgba(255,\x20255,\x20255,\x200.85)',a7['fillRect'](aj,ak,ah,ai),a7['strokeStyle']=a9==='dark'?'rgba(255,\x20255,\x20255,\x200.15)':'rgba(0,\x200,\x200,\x200.15)',a7['lineWidth']=0x1,a7['strokeRect'](aj+0.5,ak+0.5,ah-0x1,ai-0x1),a7['fillStyle']=a9==='dark'?al['defaultEntityColor']:cI(0x235),a7['textAlign']='left',a7['textBaseline']='top';let am=ak+J;for(let az of af)az[cI(0x1ac)]?am+=Ot:(a7['fillText'](az['text'],aj+J,am),am+=Dt);}var At=class{constructor(){const cJ=b0;a5(this,'layers',new Map()),a5(this,'visibility',new Map()),a5(this,cJ(0x184),new Map()),a5(this,cJ(0x188),null);}['setLayers'](a7){const cK=b0;this['layers']=new Map(a7),this[cK(0x24a)][cK(0x1df)](),this['colorOverrides'][cK(0x1df)](),this['visibleCache']=null;for(let [a8,a9]of this[cK(0x194)])this['visibility'][cK(0x148)](a8,!a9['isOff']&&!a9[cK(0x267)]);}[b0(0x268)](){return Array['from'](this['layers']['values']());}['setVisible'](a7,a8){const cL=b0;this['visibility']['set'](a7,a8),this[cL(0x188)]=null;}['isVisible'](a7){var a8;return(a8=this['visibility']['get'](a7))==null?!0x0:a8;}['setColorOverride'](a7,a8){this['colorOverrides']['set'](a7,a8);}['getColorOverride'](a7){return this['colorOverrides']['get'](a7);}['getVisibleLayerNames'](){const cM=b0;if(this['visibleCache'])return this[cM(0x188)];let a7=new Set();for(let [a8,a9]of this['visibility'])a9&&a7['add'](a8);return this[cM(0x188)]=a7,a7;}['clear'](){const cN=b0;this['layers']['clear'](),this[cN(0x24a)]['clear'](),this['colorOverrides']['clear'](),this['visibleCache']=null;}},jt=class{constructor(){a5(this,'listeners',new Map());}['on'](a7,a8){const cO=b0;this[cO(0x212)]['has'](a7)||this[cO(0x212)]['set'](a7,new Set()),this['listeners']['get'](a7)['add'](a8);}['off'](a7,a8){var a9;(a9=this['listeners']['get'](a7))==null||a9['delete'](a8);}[b0(0x1a3)](a7,a8){let a9=this['listeners']['get'](a7);if(a9){for(let aa of a9)aa(a8);}}['removeAllListeners'](){this['listeners']['clear']();}},Mt=class{constructor(a7,a8){const cP=b0;a5(this,cP(0x26a),!0x1),a5(this,cP(0x23d),0x0),a5(this,'lastY',0x0),a5(this,'touches',new Map()),a5(this,'onPointerDown',void 0x0),a5(this,'onPointerMove',void 0x0),a5(this,'onPointerUp',void 0x0),a5(this,cP(0x217),void 0x0),a5(this,cP(0x233),void 0x0),a5(this,'onTouchMove',void 0x0),a5(this,cP(0x220),void 0x0),a5(this,'onContextMenu',void 0x0),this['canvas']=a7,this['viewer']=a8,this['onPointerDown']=this['handlePointerDown']['bind'](this),this['onPointerMove']=this['handlePointerMove']['bind'](this),this['onPointerUp']=this[cP(0x18a)]['bind'](this),this['onWheel']=this['handleWheel']['bind'](this),this[cP(0x233)]=this[cP(0x25a)][cP(0x1ce)](this),this['onTouchMove']=this['handleTouchMove']['bind'](this),this['onTouchEnd']=this[cP(0x1d0)]['bind'](this),this['onContextMenu']=a9=>a9['preventDefault'](),a7['addEventListener']('pointerdown',this['onPointerDown']),a7['addEventListener']('pointermove',this[cP(0x1c8)]),a7['addEventListener']('pointerup',this[cP(0x143)]),a7['addEventListener']('wheel',this['onWheel'],{'passive':!0x1}),a7['addEventListener'](cP(0x182),this['onTouchStart'],{'passive':!0x1}),a7['addEventListener'](cP(0x205),this['onTouchMove'],{'passive':!0x1}),a7['addEventListener']('touchend',this['onTouchEnd']),a7[cP(0x1ed)]('contextmenu',this['onContextMenu']);}['destroy'](){const cQ=b0;this['canvas'][cQ(0x16a)]('pointerdown',this['onPointerDown']),this['canvas']['removeEventListener']('pointermove',this['onPointerMove']),this['canvas']['removeEventListener']('pointerup',this['onPointerUp']),this['canvas']['removeEventListener']('wheel',this['onWheel']),this['canvas']['removeEventListener']('touchstart',this['onTouchStart']),this['canvas']['removeEventListener'](cQ(0x205),this['onTouchMove']),this['canvas'][cQ(0x16a)]('touchend',this['onTouchEnd']),this['canvas']['removeEventListener']('contextmenu',this['onContextMenu']);}['handlePointerDown'](a7){const cR=b0;let a8=this['viewer'][cR(0x1eb)](),a9=this['canvas'][cR(0x260)](),aa=a7['clientX']-a9['left'],ab=a7['clientY']-a9['top'];a7['button']===0x0&&a8===cR(0x187)||a7[cR(0x190)]===0x1?this['startPan'](a7,aa,ab):a7[cR(0x190)]===0x0&&(a8===cR(0x255)||a8==='measure')&&this['viewer'][cR(0x1c0)](aa,ab);}[b0(0x206)](a7,a8,a9){const cS=b0;this[cS(0x26a)]=!0x0,this['lastX']=a8,this['lastY']=a9,this[cS(0x21e)][cS(0x1af)](a7['pointerId']),this['canvas']['style']['cursor']='grabbing';}['handlePointerMove'](a7){const cT=b0;let a8=this['canvas']['getBoundingClientRect'](),a9=a7['clientX']-a8['left'],aa=a7[cT(0x25f)]-a8['top'];if(this['isPanning']){let ab=a9-this['lastX'],ac=aa-this['lastY'];this['lastX']=a9,this['lastY']=aa,this['viewer']['handlePan'](ab,ac);}else this['viewer']['handleMouseMove'](a9,aa);}['handlePointerUp'](a7){const cU=b0;this['isPanning']&&(this['isPanning']=!0x1,this['canvas']['releasePointerCapture'](a7['pointerId']),this['canvas']['style']['cursor']=this['viewer'][cU(0x1eb)]()==='pan'?cU(0x1c5):cU(0x263));}['handleWheel'](a7){const cV=b0;a7[cV(0x21f)]();let a8=this['canvas']['getBoundingClientRect'](),a9=a7['clientX']-a8[cV(0x171)],aa=a7['clientY']-a8['top'],ab=-Math[cV(0x216)](a7['deltaY']),ac=this['viewer']['getZoomSpeed'](),ad=ab>0x0?ac:0x1/ac;this['viewer']['handleZoom'](a9,aa,ad);}['handleTouchStart'](a7){a7['preventDefault']();for(let a8 of Array['from'](a7['changedTouches']))this['touches']['set'](a8['identifier'],{'x':a8['clientX'],'y':a8['clientY']});}['handleTouchMove'](a7){const cW=b0;if(a7['preventDefault'](),this['touches']['size']===0x2&&a7['touches']['length']===0x2){let a8=a7['touches'][0x0],a9=a7['touches'][0x1],aa=Array[cW(0x231)](this['touches']['values']()),ab=Math[cW(0x261)](aa[0x0]['x']-aa[0x1]['x'],aa[0x0]['y']-aa[0x1]['y']),ac=Math['hypot'](a8['clientX']-a9['clientX'],a8['clientY']-a9[cW(0x25f)]);if(ab>0x0){let ad=ac/ab,af=this['canvas']['getBoundingClientRect'](),ag=(aa[0x0]['x']+aa[0x1]['x'])/0x2-af['left'],ah=(aa[0x0]['y']+aa[0x1]['y'])/0x2-af['top'],ai=(a8['clientX']+a9['clientX'])/0x2-af['left'],aj=(a8['clientY']+a9['clientY'])/0x2-af[cW(0x16b)];this['viewer']['handleZoom'](ag,ah,ad),this['viewer']['handlePan'](ai-ag,aj-ah);}}else{if(this['touches']['size']===0x1&&a7['touches']['length']===0x1){let ak=a7[cW(0x1e2)][0x0],al=this[cW(0x1e2)]['get'](ak['identifier']);al&&this['viewer'][cW(0x1ec)](ak[cW(0x1fe)]-al['x'],ak[cW(0x25f)]-al['y']);}}for(let am of Array['from'](a7['changedTouches']))this['touches']['set'](am[cW(0x20d)],{'x':am['clientX'],'y':am['clientY']});}[b0(0x1d0)](a7){const cX=b0;for(let a8 of Array[cX(0x231)](a7['changedTouches']))this['touches']['delete'](a8['identifier']);}},Nt=0x5,Pt=class{constructor(){a5(this,'tree',new l()),a5(this,'items',[]),a5(this,'entityBBoxes',[]);}[b0(0x1e7)](a7,a8){const cY=b0;this['items']=[],this['entityBBoxes']=Array(a7['length'])['fill'](null);let a9=a8?new Map():void 0x0;for(let aa=0x0;aa<a7['length'];aa++){let ab=a7[aa],ac=a8&&a9?et(ab,a8,a9):G(ab);this['entityBBoxes'][aa]=ac,ac&&this['items']['push'](a6(a6({},ac),{},{'entityIndex':aa}));}this['tree']['clear'](),this[cY(0x238)]['load'](this['items']);}['search'](a7,a8,a9,aa){return this['tree']['search']({'minX':a7,'minY':a8,'maxX':a9,'maxY':aa});}[b0(0x1a0)](a7){var a8;return(a8=this['entityBBoxes'][a7])==null?null:a8;}['getEntityBBoxes'](){return this['entityBBoxes'];}['clear'](){this['tree']['clear'](),this['items']=[],this['entityBBoxes']=[];}};function Ft(a7,a8,a9,aa,ab,ac){let ad=Nt/ac,af=aa['search'](a7-ad,a8-ad,a7+ad,a8+ad),ag=ad,ah=-0x1;for(let ai=af['length']-0x1;ai>=0x0;ai--){let aj=af[ai],ak=a9[aj['entityIndex']];if(!ak||!ab['has'](ak['layer'])||!ak['visible'])continue;let al=It(a7,a8,ak);al<ag&&(ag=al,ah=aj['entityIndex']);}return ah;}function It(a7,a8,a9){const cZ=b0;switch(a9[cZ(0x223)]){case'LINE':return X(a7,a8,a9['start']['x'],a9['start']['y'],a9[cZ(0x1d8)]['x'],a9['end']['y']);case'CIRCLE':return Lt(a7,a8,a9['center']['x'],a9['center']['y'],a9['radius']);case'ARC':return Rt(a7,a8,a9['center']['x'],a9['center']['y'],a9['radius'],a9['startAngle']*Math['PI']/0xb4,a9['endAngle']*Math['PI']/0xb4);case cZ(0x22b):case'POLYLINE':{let aa=Infinity,ab=a9['vertices'],ac=a9[cZ(0x256)]?ab['length']:ab['length']-0x1;for(let ad=0x0;ad<ac;ad++){let af=ab[ad],ag=ab[(ad+0x1)%ab['length']],ah=X(a7,a8,af['x'],af['y'],ag['x'],ag['y']);aa=Math['min'](aa,ah);}return aa;}case'ELLIPSE':return Bt(a7,a8,a9['center']['x'],a9['center']['y'],a9['majorAxis'],a9['minorRatio']);case'TEXT':case'MTEXT':{let ai=G(a9);return ai?zt(a7,a8,ai['minX'],ai['minY'],ai['maxX'],ai[cZ(0x14c)]):Infinity;}case'POINT':return Math['hypot'](a7-a9['position']['x'],a8-a9['position']['y']);case'SPLINE':{let aj=Infinity,ak=a9['controlPoints'];for(let al=0x0;al<ak['length']-0x1;al++){let am=X(a7,a8,ak[al]['x'],ak[al]['y'],ak[al+0x1]['x'],ak[al+0x1]['y']);aj=Math['min'](aj,am);}return aj;}default:return Infinity;}}function X(a7,a8,a9,aa,ab,ac){const d0=b0;let ad=ab-a9,af=ac-aa,ag=ad*ad+af*af;if(ag===0x0)return Math['hypot'](a7-a9,a8-aa);let ah=((a7-a9)*ad+(a8-aa)*af)/ag;ah=Math['max'](0x0,Math['min'](0x1,ah));let ai=a9+ah*ad,aj=aa+ah*af;return Math[d0(0x261)](a7-ai,a8-aj);}function a0(){const dU=['colorOverrides','viewchange','defPoint5','pan','visibleCache','beginPath','handlePointerUp','pop','columnSpacing','handleSelect','measureColor','POLYLINE','button','ENTITIES','measureText','atan2','layers','_all','formatConverters','splice','strokeStyle','CIRCLE','edges','guardDestroyed','setTheme','push','onDocumentLoaded','entitiesSkipped','getEntityBBox','max','startAngle','emit','\x20/\x20','generationFlags','fps','styles','radius','arc','rowSpacing','getContext','isSeparator','*Paper_Space','DIMENSION','setPointerCapture','layerManager','cursor','#000000','ceil','parseTime','vertices','HATCH','showTimings','offsetY',']\x20→\x20[','spatialIndex','#FFFFFF','substring','initialTool','TABLES','text','handleClick','defPoint3','parseWithOptionalWorker','BLOCKS','center','grab','alignmentPoint','scaleX','onPointerMove','doRender','\x22Courier\x20New\x22,\x20monospace','renderPending','11078781boQiFt','rgba(255,255,255,0.9)','bind','style','handleTouchEnd','trim','startTangent','SPLINE','loadArrayBuffer','getWorker','activate','debug','end','currentTool','entitiesDrawn','rgba(0,0,0,0.8)','6804720ePSrht','toBBox','color','clear','destroyWorker','setTool','touches','Standard','getViewTransform','totalLoadTime','3580824UMbMBO','build','top-left','obliqueAngle','STYLE','getTool','handlePan','addEventListener','#00ff88','height','renderer','insert','insertionPoint','measure','spatialIndexBuildTime','elevation','isLocked','runConverters','\x20KB','leaf','camera','blockName','endAngle','hAlign','clientX','frameTimestamps','firstPoint','rgba(0,\x200,\x200,\x200.75)','destroyed','layer','buildDebugStats','touchmove','startPan','lineWidth','font','_allDistMargin','createObjectURL','position','path','identifier','extMin','View:\x20[','zoomTo','223HjPuly','listeners','theme','MTEXT','workerManager','sign','onWheel','fillRect','transform','knots','dark','right','moveTo','canvas','preventDefault','onTouchEnd','all','data','type','map','replace','options','maxX','getVisibleLayerNames','indexOf','doc','LWPOLYLINE','setTransform','showRenderStats','startWidth','controlPoints','visible','from','selectionColor','onTouchStart','endpoint','rgba(0,\x200,\x200,\x200.85)','isClosed','resize','tree','extrusion','lineCap','defPoint','destroy','lastX','phase','10760148mwRSUA','get','3115842kDLxDF','#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','emitter','\x20MB','POINT','rotation','setLayerColor','worker','now','visibility','euc-kr','vAlign','minX','ENDSEC','zoom','blocks','resizeObserver','panTo','attribs','_build','select','closed','stroke','INSERT','length','handleTouchStart','toFixed','slice','\x20\x20Pixel:\x20','majorAxis','clientY','getBoundingClientRect','hypot','endTangent','crosshair','436VBnsfL','cos','minY','isFrozen','getAllLayers','isArray','isPanning','loadGeneration','lineTo','minZoom','ctx','patternName','ensureMap','fillStyle','ARC','weights','width','constantWidth','has','TEXT','point','bottom','second-point','onPointerUp','shift_jis','loadedFileName','delete','shift','set','top-right','drawCalls','value','maxY','defPoint4','columnCount','scale','2370669WPKDmn','Failed\x20to\x20decode\x20DXF\x20input.','backgroundColor','fromJSON','entities','attachmentPoint','closePath','fileName','sort','textDirection','fill','Worker\x20parse\x20failed','start','debugEnabled','computeDocumentBounds','entityIndex','children','Continuous','Worker\x20terminated','blobUrl','trueColor','toString','mouseScreenX','5ZPoAWQ','pow','min','removeEventListener','top','LINE','offsetX','textAlign','name','pending','left','setLayerVisible','code','fitToView','debugRafId','ltScale','search','padStart','leaderLength','deactivate','LTYPE','description','state','_splitRoot','defPoint2','abs','requestRender','touchstart','flags'];a0=function(){return dU;};return a0();}function Lt(a7,a8,a9,aa,ab){return Math['abs'](Math['hypot'](a7-a9,a8-aa)-ab);}function Rt(a7,a8,a9,aa,ab,ac,ad){const d1=b0;let af=(Math['atan2'](a8-aa,a7-a9)%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),ag=(ac%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']),ah=(ad%(0x2*Math['PI'])+0x2*Math['PI'])%(0x2*Math['PI']);if(ag<=ah?af>=ag&&af<=ah:af>=ag||af<=ah)return Math['abs'](Math[d1(0x261)](a7-a9,a8-aa)-ab);let ai=Math['hypot'](a7-(a9+ab*Math['cos'](ac)),a8-(aa+ab*Math['sin'](ac))),aj=Math['hypot'](a7-(a9+ab*Math['cos'](ad)),a8-(aa+ab*Math['sin'](ad)));return Math['min'](ai,aj);}function zt(a7,a8,a9,aa,ab,ac){if(a7>=a9&&a7<=ab&&a8>=aa&&a8<=ac)return 0x0;let ad=Math['max'](a9-a7,0x0,a7-ab),af=Math['max'](aa-a8,0x0,a8-ac);return Math['hypot'](ad,af);}function Bt(a7,a8,a9,aa,ab,ac){const d2=b0;let ad=Math[d2(0x193)](ab['y'],ab['x']),af=Math[d2(0x265)](-ad),ag=Math['sin'](-ad),ah=(a7-a9)*af-(a8-aa)*ag,ai=(a7-a9)*ag+(a8-aa)*af,aj=Math['sqrt'](Math['pow'](ab['x'],0x2)+Math['pow'](ab['y'],0x2)),ak=aj*ac;if(aj<1e-10)return Math[d2(0x261)](a7-a9,a8-aa);let al=aj/ak*ai,am=Math['hypot'](ah,al);if(am<1e-10)return aj;let an=ah/am*aj,ao=ai/am*ak;return Math['hypot'](ah-an,ai-ao);}var Vt=class{constructor(){const d3=b0;a5(this,d3(0x17d),{'phase':'idle'}),a5(this,'currentSnap',null);}['activate'](){this['state']={'phase':'first-point'},this['currentSnap']=null;}[b0(0x17a)](){this['state']={'phase':'idle'},this['currentSnap']=null;}['handleClick'](a7,a8,a9){const d4=b0;let aa=a9?a9['point']:{'x':a7,'y':a8};switch(this['state']['phase']){case'first-point':return this['state']={'phase':d4(0x142),'firstPoint':aa,'firstSnap':a9==null?void 0x0:a9},null;case'second-point':{let ab=this[d4(0x17d)]['firstPoint'],ac=aa,ad=ac['x']-ab['x'],af=ac['y']-ab['y'],ag=Math['sqrt'](ad*ad+af*af),ah=Math['atan2'](af,ad)*0xb4/Math['PI'];return this['state']={'phase':'done','firstPoint':ab,'secondPoint':ac,'distance':ag,'angle':ah},{'distance':ag,'angle':ah,'deltaX':ad,'deltaY':af,'points':[ab,ac]};}case'done':return this['state']={'phase':'second-point','firstPoint':aa},null;default:return null;}}['handleMove'](a7){this['currentSnap']=a7;}};function Z(a7,a8,a9,aa,ab,ac=new Set(['endpoint','midpoint','center'])){const d5=b0;let ad=0xa/ab,af=[],ag=aa[d5(0x177)](a7-ad,a8-ad,a7+ad,a8+ad);for(let ah of ag){let ai=a9[ah[d5(0x15f)]];if(!ai)continue;let aj=ah['entityIndex'];switch(ai['type']){case'LINE':ac['has']('endpoint')&&(Q(af,ai['start']['x'],ai['start']['y'],'endpoint',aj,a7,a8,ad),Q(af,ai[d5(0x1d8)]['x'],ai['end']['y'],'endpoint',aj,a7,a8,ad)),ac['has']('midpoint')&&Q(af,(ai['start']['x']+ai['end']['x'])/0x2,(ai['start']['y']+ai['end']['y'])/0x2,'midpoint',aj,a7,a8,ad);break;case d5(0x199):if(ac['has']('center')&&Q(af,ai['center']['x'],ai['center']['y'],'center',aj,a7,a8,ad),ac[d5(0x13e)]('endpoint')){for(let ak of[0x0,Math['PI']/0x2,Math['PI'],0x3*Math['PI']/0x2])Q(af,ai['center']['x']+ai[d5(0x1a8)]*Math[d5(0x265)](ak),ai[d5(0x1c4)]['y']+ai['radius']*Math['sin'](ak),d5(0x234),aj,a7,a8,ad);}break;case'ARC':if(ac['has']('center')&&Q(af,ai['center']['x'],ai['center']['y'],'center',aj,a7,a8,ad),ac[d5(0x13e)](d5(0x234))){let al=ai['startAngle']*Math['PI']/0xb4,am=ai[d5(0x1fc)]*Math['PI']/0xb4;Q(af,ai[d5(0x1c4)]['x']+ai['radius']*Math['cos'](al),ai['center']['y']+ai['radius']*Math['sin'](al),'endpoint',aj,a7,a8,ad),Q(af,ai['center']['x']+ai['radius']*Math['cos'](am),ai['center']['y']+ai[d5(0x1a8)]*Math['sin'](am),'endpoint',aj,a7,a8,ad);}break;case'LWPOLYLINE':case'POLYLINE':if(ac['has']('endpoint')){for(let an of ai['vertices'])Q(af,an['x'],an['y'],'endpoint',aj,a7,a8,ad);}if(ac['has']('midpoint'))for(let ao=0x0;ao<ai['vertices']['length']-0x1;ao++){let ap=ai[d5(0x1b5)][ao],aq=ai['vertices'][ao+0x1];Q(af,(ap['x']+aq['x'])/0x2,(ap['y']+aq['y'])/0x2,'midpoint',aj,a7,a8,ad);}break;case'ELLIPSE':ac['has']('center')&&Q(af,ai[d5(0x1c4)]['x'],ai['center']['y'],'center',aj,a7,a8,ad);break;case'TEXT':ac[d5(0x13e)]('endpoint')&&Q(af,ai['insertionPoint']['x'],ai[d5(0x1f2)]['y'],d5(0x234),aj,a7,a8,ad);break;case'MTEXT':ac['has']('endpoint')&&Q(af,ai['insertionPoint']['x'],ai['insertionPoint']['y'],'endpoint',aj,a7,a8,ad);break;}}return af['sort']((ar,as)=>Math['hypot'](ar[d5(0x140)]['x']-a7,ar['point']['y']-a8)-Math['hypot'](as['point']['x']-a7,as['point']['y']-a8)),af;}function Q(a7,a8,a9,aa,ab,ac,ad,af){Math['hypot'](a8-ac,a9-ad)<=af&&a7['push']({'point':{'x':a8,'y':a9},'type':aa,'entityIndex':ab});}function Ht(a7,a8,a9,aa,ab,ac){const d6=b0;let ad=I[ac];a7['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let af=a9['state'];if(a9['currentSnap']){let [ag,ah]=L(a8,a9['currentSnap'][d6(0x140)]['x'],a9['currentSnap']['point']['y']);Ut(a7,ag,ah,a9['currentSnap']['type'],ad['measureColor']);}if(af[d6(0x23e)]==='second-point'){let [ai,aj]=L(a8,af['firstPoint']['x'],af['firstPoint']['y']),ak,al;if(a9['currentSnap']){let [ap,aq]=L(a8,a9['currentSnap']['point']['x'],a9['currentSnap']['point']['y']);ak=ap,al=aq;}else ak=aa,al=ab;a7[d6(0x198)]=ad['measureColor'],a7[d6(0x207)]=1.5,a7['setLineDash']([0x6,0x3]),a7['beginPath'](),a7[d6(0x21d)](ai,aj),a7['lineTo'](ak,al),a7['stroke'](),a7['setLineDash']([]),$(a7,ai,aj,ad['measureColor']),$(a7,ak,al,ad[d6(0x18e)]);let am,an;a9['currentSnap']?(am=a9['currentSnap']['point']['x'],an=a9['currentSnap']['point']['y']):[am,an]=R(a8,aa,ab);let ao=Math['hypot'](am-af['firstPoint']['x'],an-af['firstPoint']['y']);Wt(a7,(ai+ak)/0x2,(aj+al)/0x2,ao,ac);}if(af['phase']==='done'){let [ar,as]=L(a8,af[d6(0x200)]['x'],af['firstPoint']['y']),[au,av]=L(a8,af['secondPoint']['x'],af['secondPoint']['y']);a7['strokeStyle']=ad['measureColor'],a7['lineWidth']=0x2,a7['beginPath'](),a7[d6(0x21d)](ar,as),a7['lineTo'](au,av),a7['stroke'](),$(a7,ar,as,ad['measureColor']),$(a7,au,av,ad['measureColor']),Wt(a7,(ar+au)/0x2,(as+av)/0x2,af['distance'],ac);}}function Ut(a7,a8,a9,aa,ab){const d7=b0;switch(a7[d7(0x198)]=ab,a7['lineWidth']=0x2,aa){case'endpoint':a7['strokeRect'](a8-0x8/0x2,a9-0x8/0x2,0x8,0x8);break;case'midpoint':a7['beginPath'](),a7[d7(0x21d)](a8,a9-0x8/0x2),a7['lineTo'](a8+0x8/0x2,a9+0x8/0x2),a7[d7(0x26c)](a8-0x8/0x2,a9+0x8/0x2),a7[d7(0x156)](),a7['stroke']();break;case'center':a7['beginPath'](),a7['arc'](a8,a9,0x8/0x2,0x0,Math['PI']*0x2),a7[d7(0x257)]();break;case'nearest':a7['beginPath'](),a7['moveTo'](a8-0x8/0x2,a9-0x8/0x2),a7['lineTo'](a8+0x8/0x2,a9+0x8/0x2),a7['moveTo'](a8+0x8/0x2,a9-0x8/0x2),a7['lineTo'](a8-0x8/0x2,a9+0x8/0x2),a7['stroke']();break;}}function $(a7,a8,a9,aa){const d8=b0;a7['fillStyle']=aa,a7['beginPath'](),a7[d8(0x1a9)](a8,a9,0x4,0x0,Math['PI']*0x2),a7[d8(0x15a)]();}function Wt(a7,a8,a9,aa,ab){const d9=b0;let ac=aa[d9(0x25b)](0x4);a7['font']='13px\x20monospace',a7['textAlign']='center',a7['textBaseline']='bottom';let ad=a7['measureText'](ac),af=a8-ad['width']/0x2-0x4,ag=a9-0x14,ah=ad[d9(0x274)]+0x8;a7['fillStyle']=ab===d9(0x21b)?d9(0x1db):d9(0x1cd),a7[d9(0x218)](af,ag,ah,0x12),a7['fillStyle']=I[ab]['measureColor'],a7['fillText'](ac,a8,a9-0x6);}var Gt=class{constructor(){const da=b0;a5(this,'worker',null),a5(this,'blobUrl',null),a5(this,'nextId',0x1),a5(this,da(0x170),new Map());}['getWorker'](){const db=b0;return this['worker']?this['worker']:(this['blobUrl']=URL[db(0x20a)](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[db(0x248)]=new Worker(this['blobUrl']),this['worker']['onmessage']=a7=>{const dc=db;let {type:a8,id:a9,doc:aa,message:ab}=a7['data'],ac=this['pending']['get'](a9);ac&&(this[dc(0x170)]['delete'](a9),a8==='result'?ac['resolve'](this['reviveDocument'](aa)):a8==='error'&&ac['reject'](Error(ab==null?dc(0x15b):ab)));},this['worker']['onerror']=a7=>{const dd=db;var a8;let a9=Error((a8=a7['message'])==null?'Worker\x20error':a8);for(let [,aa]of this[dd(0x170)])aa['reject'](a9);this['pending']['clear'](),this[dd(0x1e0)]();},this['worker']);}['parse'](a7){return new Promise((a8,a9)=>{const df=a1;let aa=this['nextId']++;this['pending']['set'](aa,{'resolve':a8,'reject':a9});let ab;try{ab=this[df(0x1d5)]();}catch(ad){this['pending'][df(0x146)](aa),a9(ad instanceof Error?ad:Error(String(ad)));return;}let ac={'type':'parse','id':aa,'payload':a7};try{a7 instanceof ArrayBuffer?ab['postMessage'](ac,[a7]):ab['postMessage'](ac);}catch(af){this[df(0x170)][df(0x146)](aa),a9(af instanceof Error?af:Error(String(af)));}});}['terminate'](){const dg=b0;this['destroyWorker']();let a7=Error(dg(0x162));for(let [,a8]of this['pending'])a8['reject'](a7);this['pending']['clear']();}['destroyWorker'](){const dh=b0;this['worker']&&(this['worker']['terminate'](),this['worker']=null),this['blobUrl']&&(URL['revokeObjectURL'](this[dh(0x163)]),this['blobUrl']=null);}['reviveDocument'](a7){const di=b0;return a6(a6({},a7),{},{'layers':this['ensureMap'](a7[di(0x194)]),'lineTypes':this['ensureMap'](a7['lineTypes']),'styles':this['ensureMap'](a7[di(0x1a7)]),'blocks':this['ensureMap'](a7['blocks'])});}[b0(0x270)](a7){return a7 instanceof Map?a7:a7&&typeof a7=='object'?new Map(Object['entries'](a7)):new Map();}},Kt=class{constructor(a7,a8){const dj=b0;var a9,aa,ab,ac,ad,af,ag;a5(this,'canvas',void 0x0),a5(this,'renderer',void 0x0),a5(this,'camera',void 0x0),a5(this,'layerManager',void 0x0),a5(this,'emitter',void 0x0),a5(this,dj(0x1ba),void 0x0),a5(this,'measureTool',void 0x0),a5(this,'doc',null),a5(this,'options',void 0x0),a5(this,'currentTool',void 0x0),a5(this,'inputHandler',void 0x0),a5(this,dj(0x251),void 0x0),a5(this,dj(0x196),void 0x0),a5(this,dj(0x215),null),a5(this,'selectedEntityIndex',-0x1),a5(this,'renderPending',!0x1),a5(this,'destroyed',!0x1),a5(this,'loadGeneration',0x0),a5(this,dj(0x166),0x0),a5(this,'mouseScreenY',0x0),a5(this,'debugEnabled',!0x1),a5(this,'debugOptions',void 0x0),a5(this,'lastRenderStats',null),a5(this,'lastDebugStats',null),a5(this,'frameTimestamps',[]),a5(this,'lastDoRenderTime',0x0),a5(this,'lastFrameTime',0x0),a5(this,'parseTime',0x0),a5(this,'spatialIndexBuildTime',0x0),a5(this,'loadedFileName',null),a5(this,'loadedFileSize',0x0),a5(this,'debugRafId',0x0),this['canvas']=a7,this[dj(0x226)]={'theme':(a9=a8==null?void 0x0:a8['theme'])==null?'dark':a9,'backgroundColor':a8==null?void 0x0:a8['backgroundColor'],'antialias':(aa=a8==null?void 0x0:a8['antialias'])==null?!0x0:aa,'minZoom':(ab=a8==null?void 0x0:a8['minZoom'])==null?0.0001:ab,'maxZoom':(ac=a8==null?void 0x0:a8['maxZoom'])==null?0x186a0:ac,'zoomSpeed':(ad=a8==null?void 0x0:a8['zoomSpeed'])==null?1.1:ad,'initialTool':(af=a8==null?void 0x0:a8[dj(0x1bd)])==null?dj(0x187):af},this['formatConverters']=(ag=a8==null?void 0x0:a8['formatConverters'])==null?[]:ag,a8!=null&&a8['worker']&&(this['workerManager']=new Gt()),a8!=null&&a8[dj(0x1d7)]?(this['debugEnabled']=!0x0,this['debugOptions']=q(typeof a8[dj(0x1d7)]=='boolean'?void 0x0:a8[dj(0x1d7)])):this['debugOptions']=q(),this['renderer']=new St(a7),this['camera']=new Ne(this['options']),this['layerManager']=new At(),this['emitter']=new jt(),this['spatialIndex']=new Pt(),this['measureTool']=new Vt(),this['currentTool']=this[dj(0x226)]['initialTool'],this['inputHandler']=new Mt(a7,this),this['resizeObserver']=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a7),a7[dj(0x1cf)]['cursor']=this['getCursorForTool'](this['currentTool']),this['requestRender'](),this['debugEnabled']&&this['startDebugLoop']();}['guardDestroyed'](){if(this['destroyed'])throw Error('CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.');}['runConverters'](a7){var a8=this;return t(function*(){const dk=a1;for(let a9 of a8[dk(0x196)]){let aa=!0x1;try{aa=a9['detect'](a7);}catch(ab){continue;}if(aa)return a9['convert'](a7);}return null;})();}['loadFile'](a7){var a8=this;return t(function*(){const dl=a1;a8['guardDestroyed']();let a9=++a8['loadGeneration'];a8[dl(0x145)]=a7[dl(0x16f)],a8['loadedFileSize']=a7['size'];let aa=yield a7['arrayBuffer']();if(a8['destroyed']||a9!==a8['loadGeneration'])return;let ab=yield a8[dl(0x1f7)](aa);if(a8['destroyed']||a9!==a8[dl(0x26b)])return;let ac=performance['now'](),ad=ab==null?aa:ab;a8['doc']=yield a8['parseWithOptionalWorker'](ad,a9),!(a8[dl(0x202)]||a9!==a8['loadGeneration'])&&(a8['parseTime']=performance[dl(0x249)]()-ac,a8['onDocumentLoaded']());})();}['loadBuffer'](a7){var a8=this;return t(function*(){const dm=a1;a8[dm(0x19b)]();let a9=++a8['loadGeneration'];a8[dm(0x145)]=null,a8['loadedFileSize']=a7['byteLength'];let aa=yield a8['runConverters'](a7);if(a8[dm(0x202)]||a9!==a8['loadGeneration'])return;let ab=performance['now'](),ac=aa==null?a7:aa;a8[dm(0x22a)]=yield a8[dm(0x1c2)](ac,a9),!(a8['destroyed']||a9!==a8['loadGeneration'])&&(a8['parseTime']=performance[dm(0x249)]()-ab,a8['onDocumentLoaded']());})();}['parseWithOptionalWorker'](a7,a8){var a9=this;return t(function*(){if(!a9['workerManager'])return F(a7);try{return yield a9['workerManager']['parse'](a7);}catch(aa){if(a9['destroyed']||a8!==a9['loadGeneration'])return null;throw aa;}})();}['loadDocument'](a7){const dn=b0;if(this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=0x0,this['parseTime']=0x0,!a7||!Array[dn(0x269)](a7['entities'])||!(a7['layers']instanceof Map))throw Error('CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.');this['doc']=a7,this['onDocumentLoaded']();}['loadString'](a7){const dp=b0;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a7['length'];let a8=performance['now']();this[dp(0x22a)]=F(a7),this['parseTime']=performance['now']()-a8,this[dp(0x19e)]();}[b0(0x1d4)](a7){const dq=b0;this['guardDestroyed'](),++this['loadGeneration'],this[dq(0x145)]=null,this['loadedFileSize']=a7['byteLength'];let a8=performance['now']();this['doc']=F(a7),this['parseTime']=performance['now']()-a8,this['onDocumentLoaded']();}['clearDocument'](){const dr=b0;this['guardDestroyed'](),++this['loadGeneration'],this['doc']=null,this['selectedEntityIndex']=-0x1,this['spatialIndex']['clear'](),rt(),this['layerManager'][dr(0x1df)](),this['measureTool'][dr(0x17a)](),this['requestRender']();}['onDocumentLoaded'](){const ds=b0;if(!this['doc'])return;this['layerManager']['setLayers'](this['doc']['layers']);let a7=performance['now']();this['spatialIndex']['build'](this['doc']['entities'],this['doc']),nt(tt(this['doc'])),this[ds(0x1f4)]=performance['now']()-a7,this['selectedEntityIndex']=-0x1,this['measureTool']['deactivate'](),this['currentTool']==='measure'&&this['measureTool'][ds(0x1d6)](),this[ds(0x174)]();}[b0(0x174)](){const du=b0;if(this['guardDestroyed'](),!this[du(0x22a)])return;let a7=this['computeDocumentBounds']();if(!a7)return;let a8=this['canvas'][du(0x260)]();this['camera'][du(0x22c)](B(a8['width'],a8['height'],a7['minX'],a7['minY'],a7[du(0x227)],a7['maxY'])),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}[b0(0x210)](a7){const dv=b0;this[dv(0x19b)]();let a8=this[dv(0x21e)][dv(0x260)](),a9=a8['width']/0x2,aa=a8['height']/0x2,ab=a7/this['camera']['getTransform']()['scale'];this['camera'][dv(0x24f)](a9,aa,ab),this[dv(0x181)](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}[b0(0x252)](a7,a8){const dw=b0;this['guardDestroyed']();let a9=this['canvas'][dw(0x260)](),aa=this['camera']['getTransform'](),ab=a7*aa['scale']+aa[dw(0x16d)],ac=-a8*aa[dw(0x14f)]+aa['offsetY'],ad=a9['width']/0x2-ab,af=a9['height']/0x2-ac;this[dw(0x1fa)]['pan'](ad,af),this[dw(0x181)](),this['emitter'][dw(0x1a3)]('viewchange',this['camera']['getTransform']());}[b0(0x1e4)](){return a6({},this['camera']['getTransform']());}['getZoomSpeed'](){return this['options']['zoomSpeed'];}['getLayers'](){const dx=b0;return this[dx(0x1b0)]['getAllLayers']();}[b0(0x172)](a7,a8){const dy=b0;this[dy(0x19b)](),this['layerManager']['setVisible'](a7,a8),this['requestRender']();}[b0(0x247)](a7,a8){const dz=b0;this['guardDestroyed'](),this['layerManager']['setColorOverride'](a7,a8),this[dz(0x181)]();}[b0(0x19c)](a7){const dA=b0;this['guardDestroyed'](),this['options']['theme']=a7,this[dA(0x181)]();}['getTheme'](){const dB=b0;return this[dB(0x226)]['theme'];}['setBackgroundColor'](a7){const dC=b0;this['guardDestroyed'](),this['options']['backgroundColor']=a7,this[dC(0x181)]();}[b0(0x1e1)](a7){const dD=b0;this[dD(0x19b)](),this['currentTool']==='measure'&&a7!=='measure'&&this['measureTool']['deactivate'](),this[dD(0x1d9)]=a7,this['canvas']['style'][dD(0x1b1)]=this['getCursorForTool'](a7),a7==='measure'&&this['measureTool']['activate'](),a7!==dD(0x255)&&(this['selectedEntityIndex']=-0x1),this[dD(0x181)]();}['getTool'](){return this['currentTool'];}['getCursorForTool'](a7){const dE=b0;switch(a7){case'pan':return'grab';case'select':return'crosshair';case dE(0x1f3):return'crosshair';}}['on'](a7,a8){this['emitter']['on'](a7,a8);}['off'](a7,a8){this['emitter']['off'](a7,a8);}['getDocument'](){return this['doc'];}['getEntities'](){const dF=b0;var a7,a8;return(a7=(a8=this[dF(0x22a)])==null?void 0x0:a8['entities'])==null?[]:a7;}[b0(0x237)](){const dG=b0;this[dG(0x1f0)]['updateSize'](),this[dG(0x181)]();}['destroy'](){const dH=b0;var a7;this['destroyed']=!0x0,this['stopDebugLoop'](),this['inputHandler'][dH(0x23c)](),this['resizeObserver']['disconnect'](),this['renderer']['destroy'](),this['emitter']['removeAllListeners'](),this['spatialIndex']['clear'](),rt(),this[dH(0x1b0)]['clear'](),(a7=this['workerManager'])==null||a7['terminate'](),this[dH(0x215)]=null,this[dH(0x22a)]=null;}['requestRender'](){if(!this['destroyed']){if(this['debugRafId']){this['doRender']();return;}this['renderPending']||(this['renderPending']=!0x0,requestAnimationFrame(()=>{const dI=a1;this[dI(0x1cb)]=!0x1,!this['destroyed']&&this[dI(0x1c9)]();}));}}['doRender'](){const dJ=b0;if(!this['doc']){this['renderer']['renderEmpty'](this['options']['theme']);return;}let a7=this['camera']['getTransform'](),a8=this['renderer']['getWidth'](),a9=this['renderer']['getHeight'](),aa=this['computeViewportBounds'](a7,a8,a9),ab=this['spatialIndex']['search'](aa['minX'],aa['minY'],aa['maxX'],aa[dJ(0x14c)]),ac=new Set();for(let ah=0x0;ah<ab['length'];ah++)ac['add'](ab[ah]['entityIndex']);let ad=performance[dJ(0x249)](),af=this[dJ(0x1f0)]['render'](this['doc'],a7,this['options']['theme'],this['layerManager'][dJ(0x228)](),this['selectedEntityIndex'],ac,this['spatialIndex']['getEntityBBoxes']());this['lastFrameTime']=performance['now']()-ad,this['lastRenderStats']=af;let ag=performance['now']();for(ag-this['lastDoRenderTime']>=0x3&&this['frameTimestamps'][dJ(0x19d)](ag),this['lastDoRenderTime']=ag;this['frameTimestamps']['length']>0x0&&this['frameTimestamps'][0x0]<ag-0x3e8;)this[dJ(0x1ff)][dJ(0x147)]();if(this['currentTool']==='measure'&&this['measureTool'][dJ(0x17d)]['phase']!=='idle'&&Ht(this[dJ(0x1f0)][dJ(0x1ab)](),this[dJ(0x1fa)]['getTransform'](),this['measureTool'],this[dJ(0x166)],this['mouseScreenY'],this['options']['theme']),this['debugEnabled']){let ai=this[dJ(0x1f0)][dJ(0x1ab)](),aj=this['buildDebugStats']();this['lastDebugStats']=aj,kt(ai,aj,this[dJ(0x226)][dJ(0x213)],this['debugOptions'],this['renderer']['getWidth'](),this['renderer']['getHeight']());}}['setDebug'](a7){const dK=b0;this['guardDestroyed'](),typeof a7=='boolean'?this[dK(0x15d)]=a7:(this['debugEnabled']=!0x0,this['debugOptions']=q(a7)),this['debugEnabled']?this['startDebugLoop']():(this['stopDebugLoop'](),this[dK(0x181)]());}['startDebugLoop'](){if(this['debugRafId'])return;let a7=()=>{const dL=a1;if(!this[dL(0x15d)]||this['destroyed']){this[dL(0x175)]=0x0;return;}this['doRender'](),this[dL(0x175)]=requestAnimationFrame(a7);};this['debugRafId']=requestAnimationFrame(a7);}['stopDebugLoop'](){const dM=b0;this['debugRafId']&&(cancelAnimationFrame(this['debugRafId']),this[dM(0x175)]=0x0);}['getDebugStats'](){return this['debugEnabled']?this['lastDebugStats']:null;}[b0(0x204)](){const dN=b0;var a7,a8,a9,aa,ab,ac,ad,af,ag;let ah=this['camera']['getTransform'](),ai=this['renderer']['getWidth'](),aj=this[dN(0x1f0)]['getHeight'](),ak=this['computeViewportBounds'](ah,ai,aj);return{'fps':this['frameTimestamps']['length'],'frameTime':this['lastFrameTime'],'renderStats':(a7=this['lastRenderStats'])==null?{'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}}:a7,'entityCount':(a8=(a9=this['doc'])==null?void 0x0:a9['entities']['length'])==null?0x0:a8,'layerCount':(aa=(ab=this['doc'])==null?void 0x0:ab['layers']['size'])==null?0x0:aa,'visibleLayerCount':this['layerManager']['getVisibleLayerNames']()['size'],'blockCount':(ac=(ad=this['doc'])==null?void 0x0:ad['blocks']['size'])==null?0x0:ac,'parseTime':this['parseTime'],'spatialIndexBuildTime':this['spatialIndexBuildTime'],'totalLoadTime':this[dN(0x1b4)]+this[dN(0x1f4)],'zoom':ah['scale'],'pixelSize':ah[dN(0x14f)]>0x0?0x1/ah[dN(0x14f)]:0x0,'viewportBounds':ak,'fileName':this['loadedFileName'],'fileSize':this['loadedFileSize'],'dxfVersion':(af=(ag=this['doc'])==null?void 0x0:ag['header']['acadVersion'])==null?null:af};}['computeViewportBounds'](a7,a8,a9){let [aa,ab]=R(a7,0x0,a9),[ac,ad]=R(a7,a8,0x0);return{'minX':Math['min'](aa,ac),'minY':Math['min'](ab,ad),'maxX':Math['max'](aa,ac),'maxY':Math['max'](ab,ad)};}[b0(0x1ec)](a7,a8){const dO=b0;this[dO(0x1fa)]['pan'](a7,a8),this[dO(0x181)](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['handleZoom'](a7,a8,a9){const dP=b0;this['camera']['zoom'](a7,a8,a9),this['requestRender'](),this['emitter'][dP(0x1a3)](dP(0x185),this[dP(0x1fa)]['getTransform']());}['handleClick'](a7,a8){const dQ=b0;if(!this['doc'])return;let a9=this['camera']['getTransform'](),[aa,ab]=R(a9,a7,a8);switch(this['currentTool']){case'select':this[dQ(0x18d)](aa,ab,a7,a8);break;case'measure':{let ac=Z(aa,ab,this['doc']['entities'],this['spatialIndex'],a9['scale']),ad=ac[dQ(0x259)]>0x0?ac[0x0]:null,af=this['measureTool']['handleClick'](aa,ab,ad);this['requestRender'](),af&&this[dQ(0x243)]['emit']('measure',af);break;}}}['handleMouseMove'](a7,a8){const dR=b0;if(this[dR(0x166)]=a7,this['mouseScreenY']=a8,this['currentTool']==='measure'&&this['doc']){var a9;let aa=this[dR(0x1fa)]['getTransform'](),[ab,ac]=R(aa,a7,a8),ad=Z(ab,ac,this['doc']['entities'],this['spatialIndex'],aa[dR(0x14f)]);this['measureTool']['handleMove']((a9=ad[0x0])==null?null:a9),this['requestRender']();}}['handleSelect'](a7,a8,a9,aa){const dS=b0;if(!this['doc'])return;let ab=Ft(a7,a8,this['doc'][dS(0x154)],this['spatialIndex'],this['layerManager'][dS(0x228)](),this['camera']['getTransform']()['scale']);if(this['selectedEntityIndex']=ab,this['requestRender'](),ab>=0x0&&this[dS(0x22a)]){let ac=this['doc']['entities'][ab];ac&&this['emitter'][dS(0x1a3)]('select',{'entity':ac,'entityIndex':ab,'worldPoint':{'x':a7,'y':a8},'screenPoint':{'x':a9,'y':aa}});}}[b0(0x15e)](){const dT=b0;return this['doc']?this[dT(0x22a)]['header']['extMin']&&this['doc']['header']['extMax']?{'minX':this[dT(0x22a)]['header'][dT(0x20e)]['x'],'minY':this['doc']['header'][dT(0x20e)]['y'],'maxX':this['doc']['header']['extMax']['x'],'maxY':this[dT(0x22a)]['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 b0=a1;(function(a6,a7){const aX=a1,a8=a6();while(!![]){try{const a9=-parseInt(aX(0x277))/0x1*(-parseInt(aX(0x1aa))/0x2)+parseInt(aX(0x1ce))/0x3*(-parseInt(aX(0x2b2))/0x4)+-parseInt(aX(0x1ad))/0x5*(parseInt(aX(0x1d1))/0x6)+parseInt(aX(0x211))/0x7+parseInt(aX(0x247))/0x8+-parseInt(aX(0x1a7))/0x9*(-parseInt(aX(0x19c))/0xa)+-parseInt(aX(0x272))/0xb*(parseInt(aX(0x27a))/0xc);if(a9===a7)break;else a8['push'](a8['shift']());}catch(aa){a8['push'](a8['shift']());}}}(a0,0x3e430));import{n as a2,t}from'./asyncToGenerator.js';import{n,t as a3}from'./defineProperty.js';import{n as a4,t as a5}from'./objectSpread2.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){const aY=a1;this['_maxEntries']=Math['max'](0x4,a6),this['_minEntries']=Math['max'](0x2,Math['ceil'](this[aY(0x24b)]*0.4)),this['clear']();}['all'](){return this['_all'](this['data'],[]);}['search'](a6){const aZ=a1;let a7=this['data'],a8=[];if(!x(a6,a7))return a8;let a9=this['toBBox'],aa=[];for(;a7;){for(let ab=0x0;ab<a7['children']['length'];ab++){let ac=a7[aZ(0x1b4)][ab],ad=a7['leaf']?a9(ac):ac;x(a6,ad)&&(a7[aZ(0x21f)]?a8['push'](ac):b(a6,ad)?this['_all'](ac,a8):aa['push'](ac));}a7=aa[aZ(0x233)]();}return a8;}[b0(0x254)](a6){const b1=b0;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['children'][a9],ab=a7['leaf']?this['toBBox'](aa):aa;if(x(a6,ab)){if(a7['leaf']||b(a6,ab))return!0x0;a8['push'](aa);}}a7=a8[b1(0x233)]();}return!0x1;}['load'](a6){const b2=b0;if(!(a6&&a6['length']))return this;if(a6['length']<this[b2(0x26c)]){for(let a8=0x0;a8<a6['length'];a8++)this['insert'](a6[a8]);return this;}let a7=this['_build'](a6['slice'](),0x0,a6['length']-0x1,0x0);if(!this['data']['children']['length'])this['data']=a7;else{if(this['data']['height']===a7['height'])this['_splitRoot'](this[b2(0x253)],a7);else{if(this['data']['height']<a7['height']){let a9=this[b2(0x253)];this['data']=a7,a7=a9;}this['_insert'](a7,this['data']['height']-a7['height']-0x1,!0x0);}}return this;}[b0(0x282)](a6){return a6&&this['_insert'](a6,this['data']['height']-0x1),this;}[b0(0x267)](){return this['data']=S([]),this;}['remove'](a6,a7){const b3=b0;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[b3(0x1bf)]-0x1],ac=ab[b3(0x233)](),af=!0x0),a8[b3(0x21f)]){let ag=u(a6,a8['children'],a7);if(ag!==-0x1)return a8[b3(0x1b4)]['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){return a6['minX']-a7['minX'];}['compareMinY'](a6,a7){return a6['minY']-a7['minY'];}[b0(0x243)](){return this['data'];}[b0(0x279)](a6){const b4=b0;return this[b4(0x253)]=a6,this;}[b0(0x29a)](a6,a7){let a8=[];for(;a6;)a6['leaf']?a7['push'](...a6['children']):a8['push'](...a6['children']),a6=a8['pop']();return a7;}[b0(0x24f)](a6,a7,a8,a9){const b5=b0;let aa=a8-a7+0x1,ab=this[b5(0x24b)],ac;if(aa<=ab)return ac=S(a6['slice'](a7,a8+0x1)),d(ac,this[b5(0x1ae)]),ac;a9||(a9=Math['ceil'](Math[b5(0x252)](aa)/Math[b5(0x252)](ab)),ab=Math[b5(0x1a5)](aa/Math['pow'](ab,a9-0x1))),ac=S([]),ac[b5(0x21f)]=!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'][b5(0x1ab)](this['_build'](a6,ai,aj,a9-0x1));}}return d(ac,this['toBBox']),ac;}['_chooseSubtree'](a6,a7,a8,a9){const b6=b0;for(;a9['push'](a7),!(a7['leaf']||a9[b6(0x1bf)]-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;}['_insert'](a6,a7,a8){const b7=b0;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[b7(0x207)](a9,aa,a7);}['_split'](a6,a7){const b8=b0;let a8=a6[a7],a9=a8['children']['length'],aa=this['_minEntries'];this[b8(0x264)](a8,aa,a9);let ab=this['_chooseSplitIndex'](a8,aa,a9),ac=S(a8['children']['splice'](ab,a8['children']['length']-ab));ac['height']=a8['height'],ac['leaf']=a8['leaf'],d(a8,this[b8(0x1ae)]),d(ac,this[b8(0x1ae)]),a7?a6[a7-0x1][b8(0x1b4)]['push'](ac):this[b8(0x1d6)](a8,ac);}['_splitRoot'](a6,a7){this['data']=S([a6,a7]),this['data']['height']=a6['height']+0x1,this['data']['leaf']=!0x1,d(this['data'],this['toBBox']);}[b0(0x235)](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;}[b0(0x264)](a6,a7,a8){const b9=b0;let a9=a6[b9(0x21f)]?this['compareMinX']:m,aa=a6['leaf']?this['compareMinY']:h;this['_allDistMargin'](a6,a7,a8,a9)<this['_allDistMargin'](a6,a7,a8,aa)&&a6[b9(0x1b4)]['sort'](a9);}['_allDistMargin'](a6,a7,a8,a9){const ba=b0;a6[ba(0x1b4)][ba(0x291)](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){const bb=b0;for(let a7=a6['length']-0x1,a8;a7>=0x0;a7--)a6[a7]['children']['length']===0x0?a7>0x0?(a8=a6[a7-0x1][bb(0x1b4)],a8[bb(0x238)](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){const bc=b0;aa||(aa=S(null)),aa['minX']=Infinity,aa['minY']=Infinity,aa[bc(0x26f)]=-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 bd=b0;return a6['minX']=Math['min'](a6[bd(0x290)],a7[bd(0x290)]),a6['minY']=Math['min'](a6['minY'],a7['minY']),a6['maxX']=Math['max'](a6['maxX'],a7[bd(0x26f)]),a6[bd(0x21a)]=Math['max'](a6['maxY'],a7[bd(0x21a)]),a6;}function m(a6,a7){return a6['minX']-a7['minX'];}function h(a6,a7){return a6['minY']-a7['minY'];}function g(a6){return(a6['maxX']-a6['minX'])*(a6['maxY']-a6['minY']);}function _(a6){const bf=b0;return a6['maxX']-a6['minX']+(a6['maxY']-a6[bf(0x26e)]);}function v(a6,a7){const bg=b0;return(Math['max'](a7[bg(0x26f)],a6['maxX'])-Math['min'](a7[bg(0x290)],a6['minX']))*(Math['max'](a7[bg(0x21a)],a6['maxY'])-Math[bg(0x1d5)](a7['minY'],a6['minY']));}function y(a6,a7){const bh=b0;let a8=Math['max'](a6[bh(0x290)],a7['minX']),a9=Math['max'](a6['minY'],a7[bh(0x26e)]),aa=Math[bh(0x1d5)](a6['maxX'],a7['maxX']),ab=Math['min'](a6[bh(0x21a)],a7['maxY']);return Math[bh(0x1df)](0x0,aa-a8)*Math['max'](0x0,ab-a9);}function b(a6,a7){const bi=b0;return a6['minX']<=a7[bi(0x290)]&&a6['minY']<=a7['minY']&&a7['maxX']<=a6['maxX']&&a7['maxY']<=a6['maxY'];}function x(a6,a7){const bj=b0;return a7[bj(0x290)]<=a6['maxX']&&a7['minY']<=a6[bj(0x21a)]&&a7['maxX']>=a6['minX']&&a7[bj(0x21a)]>=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 bk=b0;let ab=[a7,a8];for(;ab['length'];){if(a8=ab[bk(0x233)](),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);}}a4(),n(),a2();function w(a6){const bl=b0;let a7=a6['replace'](/\r\n?/g,'\x0a'),a8=[],a9=a7[bl(0x1bf)],aa=0x0;for(;aa<a9;){for(;aa<a9&&a7['charCodeAt'](aa)===0xa;)aa++;if(aa>=a9)break;let ab=a7[bl(0x2ac)]('\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[bl(0x20d)](aa,ab)['replace'](/\s+$/,'');aa=ab+0x1,a8['push']({'code':ad,'value':af});}return a8;}function T(a6,a7,a8){const bm=b0;for(;a7<a6[bm(0x1bf)];){let a9=a6[a7];if(a9['code']===0x0&&a9[bm(0x27c)]==='ENDSEC')return a7+0x1;if(a9['code']===0x9){let aa=a9['value'];switch(a7++,aa){case'$ACADVER':a7<a6['length']&&(a8[bm(0x1a0)]=a6[a7][bm(0x27c)],a7++);break;case'$EXTMIN':if(a7<a6['length']){let ab=E(a6,a7);a8['extMin']=ab['point'],a7=ab['nextIndex'];}break;case'$EXTMAX':if(a7<a6['length']){let ac=E(a6,a7);a8['extMax']=ac['point'],a7=ac['nextIndex'];}break;case'$INSUNITS':a7<a6['length']&&(a8[bm(0x2b3)]=parseInt(a6[a7]['value'],0xa),a7++);break;case'$MEASUREMENT':a7<a6['length']&&(a8['measurement']=parseInt(a6[a7][bm(0x27c)],0xa),a7++);break;case'$LTSCALE':a7<a6['length']&&(a8['ltScale']=parseFloat(a6[a7]['value']),a7++);break;case'$DWGCODEPAGE':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['length']&&a6[a7]['code']!==0x9&&a6[a7]['code']!==0x0;)a8[aa]=a6[a7][bm(0x27c)],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 D(a6,a7,a8){const bn=b0;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][bn(0x27c)];switch(a7++,aa){case'LAYER':a7=k(a6,a7,a8['layers']);break;case'LTYPE':a7=ee(a6,a7,a8['lineTypes']);break;case'STYLE':a7=te(a6,a7,a8['styles']);break;default:a7=O(a6,a7);break;}}else a7++;}return a7;}function O(a6,a7){const bo=b0;for(;a7<a6[bo(0x1bf)];){if(a6[a7]['code']===0x0&&a6[a7]['value']==='ENDTAB')return a7+0x1;a7++;}return a7;}function k(a6,a7,a8){const bp=b0;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']==='ENDTAB')return a7+0x1;if(a9[bp(0x1e5)]===0x0&&a9['value']===bp(0x24d)){a7++;let aa={'name':'0','color':0x7,'lineType':'Continuous','flags':0x0,'lineWeight':-0x3,'isOff':!0x1,'isFrozen':!0x1,'isLocked':!0x1};for(;a7<a6[bp(0x1bf)]&&a6[a7]['code']!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa['name']=ab['value'];break;case 0x6:aa[bp(0x1c7)]=ab['value'];break;case 0x3e:aa['color']=parseInt(ab['value'],0xa);break;case 0x46:aa[bp(0x228)]=parseInt(ab['value'],0xa);break;case 0x172:aa['lineWeight']=parseInt(ab['value'],0xa);break;case 0x1a4:aa['trueColor']=parseInt(ab['value'],0xa);break;}a7++;}a8[bp(0x299)](aa['name'],aa);}else a7++;}return a7;}function ee(a6,a7,a8){const bq=b0;for(;a7<a6[bq(0x1bf)];){let a9=a6[a7];if(a9['code']===0x0&&a9[bq(0x27c)]==='ENDTAB')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[bq(0x27c)];break;case 0x3:aa['description']=ab['value'];break;case 0x28:aa['totalLength']=parseFloat(ab['value']);break;case 0x31:aa['pattern']['push'](parseFloat(ab['value']));break;}a7++;}aa['name']&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function te(a6,a7,a8){const br=b0;for(;a7<a6['length'];){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[br(0x1bf)]&&a6[a7][br(0x1e5)]!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa[br(0x208)]=ab['value'];break;case 0x3:aa['fontName']=ab['value'];break;case 0x4:aa['bigFontName']=ab[br(0x27c)];break;case 0x28:aa['height']=parseFloat(ab['value']);break;case 0x29:aa[br(0x203)]=parseFloat(ab[br(0x27c)]);break;case 0x32:aa['obliqueAngle']=parseFloat(ab[br(0x27c)]);break;}a7++;}aa['name']&&a8['set'](aa['name'],aa);}else a7++;}return a7;}function A(a6){const bs=b0;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[bs(0x1e5)]){case 0x5:a7['handle']=a8['value'];break;case 0x8:a7['layer']=a8['value'];break;case 0x6:a7[bs(0x1c7)]=a8[bs(0x27c)];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['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['value']);break;}return a7;}function ne(a6){const bu=b0;let a7=a5(a5({},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['start']['x']=parseFloat(a8['value']);break;case 0x14:a7['start']['y']=parseFloat(a8['value']);break;case 0x1e:a7[bu(0x221)]['z']=parseFloat(a8['value']);break;case 0xb:a7['end']['x']=parseFloat(a8['value']);break;case 0x15:a7[bu(0x27e)]['y']=parseFloat(a8['value']);break;case 0x1f:a7['end']['z']=parseFloat(a8['value']);break;}return a7;}function re(a6){const bv=b0;let a7=a5(a5({},A(a6)),{},{'type':bv(0x202),'center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0});for(let a8 of a6)switch(a8[bv(0x1e5)]){case 0xa:a7[bv(0x200)]['x']=parseFloat(a8['value']);break;case 0x14:a7[bv(0x200)]['y']=parseFloat(a8[bv(0x27c)]);break;case 0x1e:a7['center']['z']=parseFloat(a8[bv(0x27c)]);break;case 0x28:a7[bv(0x28a)]=parseFloat(a8['value']);break;}return a7;}function ie(a6){const bw=b0;let a7=a5(a5({},A(a6)),{},{'type':'ARC','center':{'x':0x0,'y':0x0,'z':0x0},'radius':0x0,'startAngle':0x0,'endAngle':0x168});for(let a8 of a6)switch(a8[bw(0x1e5)]){case 0xa:a7['center']['x']=parseFloat(a8['value']);break;case 0x14:a7[bw(0x200)]['y']=parseFloat(a8[bw(0x27c)]);break;case 0x1e:a7[bw(0x200)]['z']=parseFloat(a8['value']);break;case 0x28:a7['radius']=parseFloat(a8[bw(0x27c)]);break;case 0x32:a7['startAngle']=parseFloat(a8['value']);break;case 0x33:a7['endAngle']=parseFloat(a8[bw(0x27c)]);break;}return a7;}function ae(a6){const bx=b0;let a7=a5(a5({},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['value'],0xa)&0x1)!=0x0;break;case 0x26:a7['elevation']=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['startWidth']=parseFloat(a9['value']));break;case 0x29:a8&&(a8['endWidth']=parseFloat(a9['value']));break;case 0x2a:a8&&(a8[bx(0x1b5)]=parseFloat(a9['value']));break;}return a8&&a7['vertices']['push'](a8),a7;}function oe(a6){const by=b0;let a7=a5(a5({},A(a6)),{},{'type':by(0x26d),'vertices':[],'closed':!0x1,'is3d':!0x1});for(let a8 of a6)switch(a8['code']){case 0x46:{let a9=parseInt(a8['value'],0xa);a7['closed']=(a9&0x1)!=0x0,a7['is3d']=(a9&0x8)!=0x0;break;}}return a7;}function se(a6){const bz=b0;let a7=a5(a5({},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['code']){case 0xa:a7['center']['x']=parseFloat(a8[bz(0x27c)]);break;case 0x14:a7['center']['y']=parseFloat(a8['value']);break;case 0x1e:a7['center']['z']=parseFloat(a8['value']);break;case 0xb:a7['majorAxis']['x']=parseFloat(a8['value']);break;case 0x15:a7[bz(0x1e0)]['y']=parseFloat(a8[bz(0x27c)]);break;case 0x1f:a7[bz(0x1e0)]['z']=parseFloat(a8['value']);break;case 0x28:a7['minorRatio']=parseFloat(a8['value']);break;case 0x29:a7[bz(0x28c)]=parseFloat(a8['value']);break;case 0x2a:a7['endParam']=parseFloat(a8['value']);break;}return a7;}function ce(a6){const bA=b0;let a7=a5(a5({},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[bA(0x27c)],0xa);break;case 0x28:a7['knots']['push'](parseFloat(aa['value']));break;case 0x29:a7['weights']['push'](parseFloat(aa[bA(0x27c)]));break;case 0xa:a8&&a7['controlPoints'][bA(0x1ab)](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[bA(0x27c)]));break;case 0xb:a9&&a7['fitPoints'][bA(0x1ab)](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['startTangent']||(a7['startTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['startTangent']['x']=parseFloat(aa['value']);break;case 0x16:a7['startTangent']&&(a7['startTangent']['y']=parseFloat(aa[bA(0x27c)]));break;case 0x20:a7['startTangent']&&(a7['startTangent']['z']=parseFloat(aa[bA(0x27c)]));break;case 0xd:a7['endTangent']||(a7['endTangent']={'x':0x0,'y':0x0,'z':0x0}),a7['endTangent']['x']=parseFloat(aa[bA(0x27c)]);break;case 0x17:a7['endTangent']&&(a7['endTangent']['y']=parseFloat(aa[bA(0x27c)]));break;case 0x21:a7['endTangent']&&(a7['endTangent']['z']=parseFloat(aa['value']));break;}return a8&&a7['controlPoints']['push'](a8),a9&&a7['fitPoints']['push'](a9),a7;}function le(a6){const bB=b0;let a7=a5(a5({},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[bB(0x1f5)]['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['alignmentPoint']||(a7[bB(0x271)]={'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[bB(0x27c)]);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[bB(0x19d)]=parseInt(a8['value'],0xa);break;case 0x49:a7[bB(0x1a9)]=parseInt(a8['value'],0xa);break;}return a7;}function ue(a6){const bC=b0;let a7=a5(a5({},A(a6)),{},{'type':'MTEXT','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['style']=a9['value'];break;case 0xa:a7['insertionPoint']['x']=parseFloat(a9['value']);break;case 0x14:a7['insertionPoint']['y']=parseFloat(a9[bC(0x27c)]);break;case 0x1e:a7['insertionPoint']['z']=parseFloat(a9['value']);break;case 0xb:a7['textDirection']||(a7['textDirection']={'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[bC(0x1a3)]['y']=parseFloat(a9['value']);break;case 0x1f:a7['textDirection']||(a7[bC(0x1a3)]={'x':0x0,'y':0x0,'z':0x0}),a7[bC(0x1a3)]['z']=parseFloat(a9[bC(0x27c)]);break;case 0x28:a7['height']=parseFloat(a9['value']);break;case 0x29:a7['width']=parseFloat(a9[bC(0x27c)]);break;case 0x2c:a7['lineSpacingFactor']=parseFloat(a9['value']);break;case 0x32:a7[bC(0x29e)]=parseFloat(a9['value']);break;case 0x47:a7[bC(0x266)]=parseInt(a9[bC(0x27c)],0xa);break;case 0x48:a7['drawingDirection']=parseInt(a9[bC(0x27c)],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 bD=b0;let a7=a5(a5({},A(a6)),{},{'type':bD(0x24c),'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[bD(0x27c)];break;case 0xa:a7[bD(0x1f5)]['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[bD(0x2af)]=parseFloat(a8[bD(0x27c)]);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[bD(0x27c)]);break;case 0x46:a7['columnCount']=parseInt(a8['value'],0xa)||0x1;break;case 0x47:a7[bD(0x270)]=parseInt(a8['value'],0xa)||0x1;break;}return a7;}function fe(a6){const bE=b0;let a7=a5(a5({},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[bE(0x1e5)]){case 0x1:a7['textOverride']=a8['value'];break;case 0x2:a7['blockName']=a8[bE(0x27c)];break;case 0x3:a7['dimStyle']=a8['value'];break;case 0xa:a7[bE(0x1b0)]['x']=parseFloat(a8['value']);break;case 0x14:a7['defPoint']['y']=parseFloat(a8[bE(0x27c)]);break;case 0x1e:a7[bE(0x1b0)]['z']=parseFloat(a8['value']);break;case 0xb:a7['textMidpoint']['x']=parseFloat(a8['value']);break;case 0x15:a7[bE(0x234)]['y']=parseFloat(a8['value']);break;case 0x1f:a7[bE(0x234)]['z']=parseFloat(a8['value']);break;case 0xd:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint2']['x']=parseFloat(a8['value']);break;case 0x17:a7['defPoint2']||(a7['defPoint2']={'x':0x0,'y':0x0,'z':0x0}),a7[bE(0x248)]['y']=parseFloat(a8['value']);break;case 0x21:a7['defPoint2']||(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[bE(0x229)]['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['defPoint4']||(a7['defPoint4']={'x':0x0,'y':0x0,'z':0x0}),a7['defPoint4']['x']=parseFloat(a8['value']);break;case 0x19:a7['defPoint4']||(a7[bE(0x1af)]={'x':0x0,'y':0x0,'z':0x0}),a7[bE(0x1af)]['y']=parseFloat(a8[bE(0x27c)]);break;case 0x23:a7['defPoint4']||(a7['defPoint4']={'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[bE(0x285)]||(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['rotation']=parseFloat(a8['value']);break;case 0x35:a7['textRotation']=parseFloat(a8['value']);break;case 0x46:a7['dimType']=parseInt(a8[bE(0x27c)],0xa);break;}return a7;}function pe(a6){const bF=b0;let a7=a5(a5({},A(a6)),{},{'type':bF(0x261),'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['code']){case 0x2:a7[bF(0x19e)]=a9['value'];break;case 0x29:a7['patternScale']=parseFloat(a9[bF(0x27c)]);break;case 0x34:a7['patternAngle']=parseFloat(a9['value']);break;case 0x46:a7['solidFill']=a9[bF(0x27c)]==='1';break;case 0x47:a7['associative']=a9[bF(0x27c)]==='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[bF(0x214)];}continue;}}a8++;}return a7;}function me(a6,a7){const bG=b0;let a8=0x0;return a7<a6[bG(0x1bf)]&&a6[a7]['code']===0x5c&&(a8=parseInt(a6[a7][bG(0x27c)],0xa),a7++),a8&0x2?he(a6,a7,a8):ge(a6,a7,a8);}function he(a6,a7,a8){const bH=b0;let a9={'type':'polyline','vertices':[],'bulges':[],'flags':a8},aa=!0x1;a7<a6['length']&&a6[a7][bH(0x1e5)]===0x48&&(aa=a6[a7]['value']==='1',a7++),a7<a6[bH(0x1bf)]&&a6[a7]['code']===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][bH(0x27c)]),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['y']=parseFloat(a6[a7]['value']),a7++),a9[bH(0x212)][bH(0x1ab)](ad),aa&&a7<a6['length']&&a6[a7]['code']===0x2a?(a9['bulges'][bH(0x1ab)](parseFloat(a6[a7][bH(0x27c)])),a7++):aa&&a9['bulges']['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['length']&&a6[a7]['code']===0x14a;ag++)a7++;}else a7++;return{'path':a9,'nextIndex':a7};}function ge(a6,a7,a8){const bI=b0;let a9={'type':bI(0x209),'edges':[],'flags':a8},aa=0x0;a7<a6['length']&&a6[a7][bI(0x1e5)]===0x5d&&(aa=parseInt(a6[a7][bI(0x27c)],0xa),a7++);for(let ab=0x0;ab<aa&&a7<a6['length']&&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]['code']===0xa&&(ad['start']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x14&&(ad['start']['y']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0xb&&(ad['end']['x']=parseFloat(a6[a7]['value']),a7++),a7<a6[bI(0x1bf)]&&a6[a7]['code']===0x15&&(ad[bI(0x27e)]['y']=parseFloat(a6[a7]['value']),a7++),a9[bI(0x209)]['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[bI(0x200)]['x']=parseFloat(a6[a7]['value']),a7++),a7<a6[bI(0x1bf)]&&a6[a7][bI(0x1e5)]===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['length']&&a6[a7]['code']===0x32&&(af['startAngle']=parseFloat(a6[a7]['value']),a7++),a7<a6['length']&&a6[a7]['code']===0x33&&(af[bI(0x1f8)]=parseFloat(a6[a7]['value']),a7++),a7<a6[bI(0x1bf)]&&a6[a7]['code']===0x49&&(af[bI(0x275)]=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[bI(0x1bf)]&&a6[a7]['code']===0xa&&(ag[bI(0x200)]['x']=parseFloat(a6[a7]['value']),a7++),a7<a6[bI(0x1bf)]&&a6[a7]['code']===0x14&&(ag[bI(0x200)]['y']=parseFloat(a6[a7]['value']),a7++),a7<a6[bI(0x1bf)]&&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][bI(0x27c)]),a7++),a7<a6['length']&&a6[a7][bI(0x1e5)]===0x32&&(ag[bI(0x219)]=parseFloat(a6[a7]['value']),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]['code']===0x5e&&(ah=parseInt(a6[a7][bI(0x27c)],0xa),a7++),a7<a6['length']&&a6[a7][bI(0x1e5)]===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['length']&&a6[a7]['code']===0x60&&(al=parseInt(a6[a7][bI(0x27c)],0xa),a7++);for(let am=0x0;am<ak&&a7<a6['length']&&a6[a7]['code']===0x28;am++)ai['push'](parseFloat(a6[a7]['value'])),a7++;for(let an=0x0;an<al&&a7<a6[bI(0x1bf)];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[bI(0x209)]['push']({'type':'spline','degree':ah,'knots':ai,'controlPoints':aj});break;}}}for(;a7<a6['length']&&(a6[a7][bI(0x1e5)]===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){let a7=a5(a5({},A(a6)),{},{'type':'POINT','position':{'x':0x0,'y':0x0,'z':0x0}});for(let a8 of a6)switch(a8['code']){case 0xa:a7['position']['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 bJ=b0;for(;a7<a6[bJ(0x1bf)];){let a9=a6[a7];if(a9[bJ(0x1e5)]!==0x0){a7++;continue;}let aa=a9['value'];if(aa==='ENDSEC'||aa==='ENDBLK')return a7+0x1;a7++;let ab=[];for(;a7<a6['length']&&a6[a7]['code']!==0x0;)ab['push'](a6[a7]),a7++;switch(aa){case'LINE':a8['push'](ne(ab));break;case'CIRCLE':a8['push'](re(ab));break;case'ARC':a8['push'](ie(ab));break;case'LWPOLYLINE':a8['push'](ae(ab));break;case'ELLIPSE':a8['push'](se(ab));break;case'SPLINE':a8['push'](ce(ab));break;case'TEXT':a8[bJ(0x1ab)](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['attribs'])),a8['push'](ac);break;}case bJ(0x23f):a8['push'](fe(ab));break;case'HATCH':a8['push'](pe(ab));break;case'POINT':a8[bJ(0x1ab)](_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 bK=b0;for(;a7<a6[bK(0x1bf)];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9==='SEQEND')return a7+0x1;if(a9===bK(0x276)||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][bK(0x1e5)]!==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['value']);break;}a7++;}a8['push'](aa);}else{for(a7++;a7<a6[bK(0x1bf)]&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function ye(a6,a7,a8){const bL=b0;for(;a7<a6['length'];){if(a6[a7]['code']!==0x0){a7++;continue;}let a9=a6[a7]['value'];if(a9===bL(0x25e))return a7+0x1;if(a9==='ENDSEC'||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['text']=ab['value'];break;case 0x2:aa['tag']=ab['value'];break;case 0x7:aa[bL(0x1b6)]=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['value']);break;case 0x1e:aa[bL(0x1f5)]['z']=parseFloat(ab['value']);break;case 0x28:aa[bL(0x26a)]=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[bL(0x1bf)]&&a6[a7]['code']!==0x0;)a7++;}}return a7;}function be(a6,a7,a8){const bM=b0;for(;a7<a6['length'];){let a9=a6[a7];if(a9['code']===0x0&&a9['value']===bM(0x276))return a7+0x1;if(a9[bM(0x1e5)]===0x0&&a9[bM(0x27c)]==='BLOCK'){a7++;let aa={'name':'','basePoint':{'x':0x0,'y':0x0,'z':0x0},'entities':[],'flags':0x0};for(;a7<a6['length']&&a6[a7][bM(0x1e5)]!==0x0;){let ab=a6[a7];switch(ab['code']){case 0x2:aa[bM(0x208)]=ab['value'];break;case 0x8:break;case 0xa:aa[bM(0x1f2)]['x']=parseFloat(ab[bM(0x27c)]);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[bM(0x208)]&&!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':b0(0x263),'ANSI_932':'shift_jis','ANSI_936':'gbk','ANSI_949':'euc-kr','ANSI_950':'big5','ANSI_1250':b0(0x2a8),'ANSI_1251':'windows-1251','ANSI_1252':b0(0x232),'ANSI_1253':'windows-1253','ANSI_1254':'windows-1254','ANSI_1255':'windows-1255','ANSI_1256':'windows-1256','ANSI_1257':b0(0x1ed),'ANSI_1258':'windows-1258'},Se='AC1021';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 bN=b0;var a7;if(typeof a6=='string')return N(a6);let a8=new Uint8Array(a6);if(new TextDecoder('ascii')['decode'](a8['slice'](0x0,M[bN(0x1bf)]))===M)throw new P('Binary\x20DXF\x20format\x20is\x20not\x20supported.\x20Please\x20export\x20as\x20ASCII\x20DXF.');let a9=new TextDecoder('utf-8')[bN(0x22c)](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)['decode'](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 bO=b0;a6[bO(0x1e4)]['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){const bP=b0;for(let [,a7]of a6['layers'])a7['isOff']=a7['color']<0x0,a7['isOff']&&(a7[bP(0x28b)]=Math[bP(0x240)](a7['color'])),a7[bP(0x21b)]=(a7['flags']&0x1)!=0x0,a7['isLocked']=(a7[bP(0x228)]&0x4)!=0x0;}function a1(a,b){a=a-0x196;const c=a0();let d=c[a];return d;}var P=class extends Error{constructor(a6,a7){const bQ=b0;super(a6),this['cause']=a7,this[bQ(0x208)]='DxfParseError';}};function F(a6){const bR=b0;if(typeof a6==bR(0x2b1)){if(a6[bR(0x1bf)]===0x0)throw new P(bR(0x1f4));}else{if(a6 instanceof ArrayBuffer){if(a6['byteLength']===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[bR(0x1bf)]===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][bR(0x27c)];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['code']===0x0&&ad[bR(0x27c)]==='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 bS=b0;let a7=a6>>0x10&0xff,a8=a6>>0x8&0xff,a9=a6&0xff;return'#'+a7['toString'](0x10)['padStart'](0x2,'0')+a8['toString'](0x10)[bS(0x2a5)](0x2,'0')+a9['toString'](0x10)['padStart'](0x2,'0');}var I={'dark':{'backgroundColor':'#1a1a2e','defaultEntityColor':'#ffffff','selectionColor':'#00ff88','measureColor':'#ffaa00','gridColor':'#333333','crosshairColor':'#555555'},'light':{'backgroundColor':b0(0x283),'defaultEntityColor':'#000000','selectionColor':'#0066ff','measureColor':b0(0x204),'gridColor':'#dddddd','crosshairColor':'#cccccc'}};function L(a6,a7,a8){const bT=b0;return[a7*a6[bT(0x25d)]+a6['offsetX'],-a8*a6['scale']+a6['offsetY']];}function R(a6,a7,a8){const bU=b0;return[(a7-a6['offsetX'])/a6['scale'],-(a8-a6[bU(0x249)])/a6['scale']];}function z(a6,a7){const bV=b0;let a8=window['devicePixelRatio']||0x1;a6['setTransform'](a7['scale']*a8,0x0,0x0,-a7['scale']*a8,a7['offsetX']*a8,a7[bV(0x249)]*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 bW=b0;let ac=Math['max'](aa,Math[bW(0x1d5)](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){const bX=b0;a3(this,'transform',{'scale':0x1,'offsetX':0x0,'offsetY':0x0}),a3(this,'minScale',void 0x0),a3(this,'maxScale',void 0x0),this['minScale']=a6['minZoom'],this[bX(0x24a)]=a6['maxZoom'];}['getTransform'](){return this['transform'];}[b0(0x260)](a6){this['transform']=a6;}['pan'](a6,a7){const bY=b0;this[bY(0x26b)]=a5(a5({},this['transform']),{},{'offsetX':this['transform']['offsetX']+a6,'offsetY':this[bY(0x26b)][bY(0x249)]+a7});}['zoom'](a6,a7,a8){const bZ=b0;this['transform']=Me(this['transform'],a6,a7,a8,this[bZ(0x230)],this['maxScale']);}};function Pe(a6,a7){const c0=b0;var a8;return a6===0x7?a7==='dark'?'#ffffff':'#000000':(a8=ke(a6))==null?c0(0x283):a8;}function V(a6,a7,a8,a9){const c1=b0;if(a6[c1(0x20b)]!==void 0x0)return'rgb('+(a6['trueColor']>>0x10&0xff)+','+(a6[c1(0x20b)]>>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):c1(0x25a)+(aa['trueColor']>>0x10&0xff)+','+(aa['trueColor']>>0x8&0xff)+','+(aa['trueColor']&0xff)+')':I[a8]['defaultEntityColor'];}function Fe(a6,a7){const c2=b0;a6['beginPath'](),a6['moveTo'](a7['start']['x'],a7['start']['y']),a6[c2(0x224)](a7['end']['x'],a7['end']['y']),a6[c2(0x27d)]();}function Ie(a6,a7){const c3=b0;a7['radius']<=0x0||(a6['beginPath'](),a6['arc'](a7['center']['x'],a7['center']['y'],a7[c3(0x28a)],0x0,Math['PI']*0x2),a6[c3(0x27d)]());}function Le(a6,a7){const c4=b0;if(a7[c4(0x28a)]<=0x0)return;let a8=a7['startAngle']*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 c5=b0;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[c5(0x240)](aa)*ad/0x2,ag=(Math[c5(0x1f3)](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 c6=b0;let ac=Re(a7,a8,a9,aa,ab);if(ac[c6(0x28a)]<1e-10){a6['lineTo'](a9,aa);return;}a6[c6(0x2a2)](ac['cx'],ac['cy'],ac[c6(0x28a)],ac['startAngle'],ac['endAngle'],ac['anticlockwise']);}function ze(a6,a7){const c7=b0;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['beginPath'](),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['abs'](ab['bulge'])<1e-10?a6['lineTo'](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}a6[c7(0x27d)]();}function Be(a6,a7){const c8=b0;let a8=a7['vertices'];if(a8[c8(0x1bf)]<0x2)return;a6[c8(0x1a2)](),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[c8(0x1bf)]],af=(aa=ac['bulge'])==null?0x0:aa;Math['abs'](af)<1e-10?a6[c8(0x224)](ad['x'],ad['y']):H(a6,ac['x'],ac['y'],ad['x'],ad['y'],af);}a6['stroke']();}function Ve(a6,a7){const c9=b0;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math[c9(0x1f3)](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['atan2'](a7[c9(0x1e0)]['y'],a7['majorAxis']['x']);a6[c9(0x1a2)](),a6['ellipse'](a7['center']['x'],a7['center']['y'],a8,a9,aa,a7['startParam'],a7['endParam'],!0x1),a6['stroke']();}function He(a6,a7,a8,a9,aa){const ca=b0;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'](a5({},a7[ai])),ag[ca(0x1ab)](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['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 cb=b0;if(a6['length']<0x2)return a6['map'](a9=>({'x':a9['x'],'y':a9['y']}));let a7=[],a8=a6[cb(0x1bf)];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[cb(0x1d5)](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 cc=b0;if(a6['degree']===0x1)return a6['controlPoints'][cc(0x20e)](af=>({'x':af['x'],'y':af['y']}));if(a6['controlPoints']['length']===0x0&&a6['fitPoints'][cc(0x1bf)]>=0x2)return Ue(a6['fitPoints']);if(a6['controlPoints']['length']<a6[cc(0x295)]+0x1||a6['knots']['length']<a6['controlPoints']['length']+a6['degree']+0x1)return[];let a8=[],a9=a6['knots'][a6[cc(0x295)]],aa=a6['knots'][a6[cc(0x22f)]['length']-a6[cc(0x295)]-0x1];if(aa<=a9)return[];let ab=Math['max'](a6['controlPoints'][cc(0x1bf)]*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[cc(0x295)],a6['controlPoints'],a6['knots'],ag,ad);a8['push']({'x':ah['x'],'y':ah['y']});}return a8;}function Ge(a6,a7,a8){const cd=b0;let a9=We(a7,a8);if(!(a9['length']<0x2)){a6[cd(0x1a2)](),a6[cd(0x23c)](a9[0x0]['x'],a9[0x0]['y']);for(let aa=0x1;aa<a9[cd(0x1bf)];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':b0(0x2b0),'monotxt.shx':'monospace','isocp.shx':'\x22Courier\x20New\x22,\x20monospace','isocpeur.shx':'\x22Courier\x20New\x22,\x20monospace','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 cf=b0;if(!a7['text']||a7['height']<a8*0x4)return;let a9=a7['hAlign']!==0x0||a7[cf(0x1a9)]!==0x0,aa=a9&&a7['alignmentPoint']?a7[cf(0x271)]['x']:a7['insertionPoint']['x'],ab=a9&&a7[cf(0x271)]?a7['alignmentPoint']['y']:a7[cf(0x1f5)]['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[cf(0x244)](a7['obliqueAngle']*Math['PI']/0xb4);a6[cf(0x26b)](0x1,0x0,ag,0x1,0x0,0x0);}let ac=(a7['generationFlags']&0x2)!=0x0,ad=(a7[cf(0x1e1)]&0x4)!=0x0;ac&&a6[cf(0x25d)](-0x1,0x1),ad&&a6['scale'](0x1,-0x1);let af=qe(a7[cf(0x1b6)]||'Standard');switch(a6['font']=a7[cf(0x26a)]+'px\x20'+af,a7['hAlign']){case 0x0:a6[cf(0x1d9)]='left';break;case 0x1:a6['textAlign']='center';break;case 0x2:a6['textAlign']='right';break;case 0x3:a6['textAlign']='left';break;case 0x4:a6['textAlign']='center';break;case 0x5:a6['textAlign']=cf(0x269);break;default:a6['textAlign']='left';}switch(a7[cf(0x1a9)]){case 0x0:a6[cf(0x22e)]='alphabetic';break;case 0x1:a6['textBaseline']='bottom';break;case 0x2:a6[cf(0x22e)]='middle';break;case 0x3:a6['textBaseline']='top';break;default:a6['textBaseline']=cf(0x1c4);}a6['fillText'](a7['text'],0x0,0x0),a6['restore']();}function Ye(a6){const cg=b0;return a6['replace'](/\\P/g,'\x0a')['replace'](/\\[fFHWQTCAaLlOoKk][^;]*;/g,'')[cg(0x218)](/\\\\/g,'\x5c')['replace'](/\\~/g,'\u00a0')[cg(0x218)](/\{/g,'')['replace'](/\}/g,'')['replace'](/\\S[^;]*;/g,'')['trim']();}function Xe(a6,a7,a8){const ch=b0;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[ch(0x1a3)]?Math['atan2'](a7['textDirection']['y'],a7['textDirection']['x']):(a7['rotation']||0x0)*Math['PI']/0xb4;aa&&a6['rotate'](-aa);let ab=Ye(a7['text'])[ch(0x25f)]('\x0a'),ac=a7[ch(0x26a)]*(a7['lineSpacingFactor']||1.4),ad=qe(a7['style']||'Standard');a6['font']=a7['height']+ch(0x1e3)+ad;let af=(a7['attachmentPoint']-0x1)%0x3,ag=Math['floor']((a7[ch(0x266)]-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['height']-ai/0x2;break;case 0x2:ah=a7[ch(0x26a)]-ai;break;}for(let aj=0x0;aj<ab[ch(0x1bf)];aj++)a6['fillText'](ab[aj],0x0,ah+aj*ac);a6['restore']();}var Ze=0x64;function Qe(a6,a7,a8,a9=0x0){const ci=b0;if(a9>Ze)return null;if(a8['has'](a6))return a8['get'](a6);let aa=a7[ci(0x256)][ci(0x2a9)](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[ci(0x19a)]){let aj;aj=ai['type']==='INSERT'?U(ai,a7,a8,a9+0x1):G(ai),aj&&(ag=!0x0,ab=Math['min'](ab,aj['minX']),ac=Math[ci(0x1d5)](ac,aj[ci(0x26e)]),ad=Math[ci(0x1df)](ad,aj['maxX']),af=Math['max'](af,aj[ci(0x21a)]));}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 cj=b0;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[cj(0x26e)]-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[cj(0x29e)]||0x0)*Math['PI']/0xb4;if(Math['abs'](ap)<1e-10){let aE=a6['insertionPoint']['x'],aF=a6[cj(0x1f5)]['y'],aG=al+aE,aH=an+aF,aI=am+aE,aJ=ao+aF,aK=Math['max'](0x1,a6['columnCount']),aL=Math[cj(0x1df)](0x1,a6[cj(0x270)]);if(aK>0x1||aL>0x1){let aM=(aK-0x1)*a6['columnSpacing'],aN=(aL-0x1)*a6['rowSpacing'];aG=Math[cj(0x1d5)](aG,aG+aM),aI=Math['max'](aI,aI+aM),aH=Math['min'](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[cj(0x1f5)]['x'],av=a6[cj(0x1f5)]['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[cj(0x1d5)](ax,aQ),ay=Math['max'](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['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['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 ck=b0;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[ck(0x290)]),a9=Math['min'](a9,ag['minY']),aa=Math['max'](aa,ag['maxX']),ab=Math['max'](ab,ag[ck(0x21a)]));}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);}function a0(){const dT=['clientX','delete','rgb(','state','getTransform','scale','SEQEND','split','setTransform','HATCH','sin','windows-874','_chooseSplitAxis','offsetX','attachmentPoint','clear','lastRenderStats','left','height','transform','_minEntries','POLYLINE','minY','maxX','rowCount','alignmentPoint','4881734fVHUrm','position','lastFrameTime','ccw','ENDSEC','383884FcWpvS','TEXT','fromJSON','12aDzCDd','has','value','stroke','end','byType','measure','identifier','insert','#ffffff','onPointerDown','defPoint5','strokeStyle','handleMouseMove','entityBBoxes','FPS:\x20','radius','color','startParam','add','idle','11px\x20monospace','minX','sort','bottom-left','blockCount','worker','degree','listeners','handleSelect','point','set','_all','bind','canvas','endpoint','rotation','colorOverrides','showRenderStats','values','arc','pending','handleWheel','padStart','atan2','resizeObserver','windows-1250','get','setBackgroundColor','removeEventListener','indexOf','handleZoom','handleClick','scaleX','monospace','string','236iwBGZy','insUnits','columnCount','\x20/\x20','closePath','round','renderStats','entities','spatialIndex','110IWOdGe','hAlign','patternName','MTEXT','acadVersion','arrayBuffer','beginPath','textDirection','rgba(255,\x20255,\x20255,\x200.85)','ceil','onContextMenu','332721wCJpVn','getWorker','vAlign','2MyDFlj','push','bulges','65vAPdpX','toBBox','defPoint4','defPoint','pointerup','debugEnabled','currentSnap','children','bulge','style','line','minorRatio','items','toFixed','hypot','preventDefault','LWPOLYLINE','startPan','length','drawCalls','translate','result','formatConverters','alphabetic','loadedFileName','extMax','lineType','loadedFileSize','setTheme','SPLINE','cos','visibility','measureColor','1365uwrZPM','globalAlpha','debugRafId','183246UBbbRN','options','destroyed','join','min','_splitRoot','fill','getBoundingClientRect','textAlign','entityIndex','touches','layerManager','handleTouchStart','computeDocumentBounds','max','majorAxis','generationFlags','resize','px\x20','layers','code','from','header','backgroundColor','workerManager','theme','debug','fillText','windows-1257','getVisibleLayerNames','getWidth','setPointerCapture','ARC','basePoint','pow','Input\x20is\x20empty.\x20Expected\x20a\x20DXF\x20string\x20or\x20ArrayBuffer.','insertionPoint','lastX','doc','endAngle','guardDestroyed','type','pointerdown','off','pixelSize','renderer','inputHandler','center','midpoint','CIRCLE','widthFactor','#ff6600','addEventListener','viewer','_adjustParentBBoxes','name','edges','activate','trueColor','zoom','substring','map','blobUrl','fileName','2161061CfhSKT','vertices','showCamera','nextIndex','grabbing','firstPoint','getLayers','replace','startAngle','maxY','isFrozen','emit','showFps','frameTimestamps','leaf','onPointerMove','start','reject','entitiesSkipped','lineTo','onTouchStart','renderEmpty','defaultEntityColor','flags','defPoint3','ctx','Size:\x20','decode','size','textBaseline','knots','minScale','parse','windows-1252','pop','textMidpoint','_chooseSplitIndex','pan','clientY','splice','emitter','fitToView','lineWidth','moveTo','measureTool','load','DIMENSION','abs','entries','camera','toJSON','tan','zoomTo','button','187440JaGkeQ','defPoint2','offsetY','maxScale','_maxEntries','INSERT','LAYER','now','_build','error','destroy','log','data','collides','requestRender','blocks','parseTime'];a0=function(){return dT;};return a0();}var W=null;function tt(a6){const cl=b0;let a7=new Map();for(let [a8,a9]of a6['blocks']){let aa=Array(a9[cl(0x19a)]['length']);for(let ab=0x0;ab<a9['entities'][cl(0x1bf)];ab++)aa[ab]=G(a9['entities'][ab]);a7[cl(0x299)](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 cm=b0;switch(a6['type']){case'LINE':return{'minX':Math[cm(0x1d5)](a6['start']['x'],a6[cm(0x27e)]['x']),'minY':Math['min'](a6['start']['y'],a6['end']['y']),'maxX':Math[cm(0x1df)](a6['start']['x'],a6[cm(0x27e)]['x']),'maxY':Math[cm(0x1df)](a6['start']['y'],a6['end']['y'])};case'CIRCLE':return{'minX':a6[cm(0x200)]['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6[cm(0x200)]['x']+a6['radius'],'maxY':a6['center']['y']+a6[cm(0x28a)]};case'ARC':return{'minX':a6['center']['x']-a6['radius'],'minY':a6['center']['y']-a6['radius'],'maxX':a6['center']['x']+a6['radius'],'maxY':a6[cm(0x200)]['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[cm(0x212)])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'ELLIPSE':{let au=Math['sqrt'](Math['pow'](a6['majorAxis']['x'],0x2)+Math['pow'](a6[cm(0x1e0)]['y'],0x2));return{'minX':a6['center']['x']-au,'minY':a6['center']['y']-au,'maxX':a6['center']['x']+au,'maxY':a6['center']['y']+au};}case'TEXT':return{'minX':a6[cm(0x1f5)]['x'],'minY':a6['insertionPoint']['y'],'maxX':a6['insertionPoint']['x']+a6[cm(0x26a)]*a6['text']['length']*0.6,'maxY':a6[cm(0x1f5)]['y']+a6['height']};case'MTEXT':return{'minX':a6['insertionPoint']['x'],'minY':a6[cm(0x1f5)]['y']-a6['height'],'maxX':a6['insertionPoint']['x']+(a6['width']||a6['height']*0xa),'maxY':a6['insertionPoint']['y']+a6[cm(0x26a)]};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[cm(0x1d5)](av,az['x']),aw=Math['min'](aw,az['y']),ax=Math[cm(0x1df)](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['position']['x'],'maxY':a6[cm(0x273)]['y']};case'INSERT':return{'minX':a6['insertionPoint']['x'],'minY':a6['insertionPoint']['y'],'maxX':a6[cm(0x1f5)]['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['min'](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[cm(0x1b0)]['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[cm(0x229)])==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['max'](a6['defPoint']['y'],(ak=(al=a6[cm(0x248)])==null?void 0x0:al['y'])==null?a6[cm(0x1b0)]['y']:ak,(am=(an=a6['defPoint3'])==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['boundaryPaths'])if(aF[cm(0x212)]){for(let aG of aF['vertices'])aE=!0x0,aA=Math[cm(0x1d5)](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',b0(0x1bd),'POLYLINE','ELLIPSE','SPLINE']);function ot(a6){return at['has'](a6);}function st(a6,a7){const cn=b0;a6['moveTo'](a7['start']['x'],a7['start']['y']),a6['lineTo'](a7['end']['x'],a7[cn(0x27e)]['y']);}function ct(a6,a7){const co=b0;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[co(0x200)]['y']+a7[co(0x28a)]*Math['sin'](a8)),a6['arc'](a7[co(0x200)]['x'],a7[co(0x200)]['y'],a7['radius'],a8,a9,!0x1);}function lt(a6,a7){a7['radius']<=0x0||(a6['moveTo'](a7['center']['x']+a7['radius'],a7['center']['y']),a6['arc'](a7['center']['x'],a7['center']['y'],a7['radius'],0x0,Math['PI']*0x2));}function ut(a6,a7){const cp=b0;let a8=a7['vertices'];if(a8['length']<0x2)return;a6[cp(0x23c)](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8[cp(0x1bf)]-0x1;for(let aa=0x0;aa<a9;aa++){let ab=a8[aa],ac=a8[(aa+0x1)%a8[cp(0x1bf)]];Math['abs'](ab['bulge'])<1e-10?a6[cp(0x224)](ac['x'],ac['y']):H(a6,ab['x'],ab['y'],ac['x'],ac['y'],ab['bulge']);}}function dt(a6,a7){const cq=b0;let a8=a7['vertices'];if(a8['length']<0x2)return;a6['moveTo'](a8[0x0]['x'],a8[0x0]['y']);let a9=a7['closed']?a8['length']:a8[cq(0x1bf)]-0x1;for(let ab=0x0;ab<a9;ab++){var aa;let ac=a8[ab],ad=a8[(ab+0x1)%a8['length']],af=(aa=ac[cq(0x1b5)])==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 cr=b0;let a8=Math['sqrt'](Math['pow'](a7['majorAxis']['x'],0x2)+Math['pow'](a7['majorAxis']['y'],0x2)+Math['pow'](a7['majorAxis']['z'],0x2));if(a8<1e-10||a7[cr(0x1b8)]<=0x0)return;let a9=a8*a7[cr(0x1b8)],aa=Math['atan2'](a7['majorAxis']['y'],a7['majorAxis']['x']),ab=Math['cos'](aa),ac=Math['sin'](aa),ad=Math['cos'](a7[cr(0x28c)]),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 cs=b0;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[cs(0x224)](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 cu=b0;if(ac>ht)return;let af=a8['blocks']['get'](a7['blockName']);if(!af)return;let ag=Math['max'](0x1,a7[cu(0x2b4)]),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['translate'](al,am),a7[cu(0x29e)]&&a6['rotate'](a7['rotation']*Math['PI']/0xb4),a6['scale'](a7[cu(0x2af)],a7['scaleY']),a6[cu(0x1c1)](-af[cu(0x1f2)]['x'],-af[cu(0x1f2)]['y']);let an=ab/(Math['max'](Math['abs'](a7['scaleX']),Math['abs'](a7['scaleY']))||0x1),ao=null,ap=af[cu(0x19a)];for(let aq=0x0;aq<ap['length'];aq++){let ar=ap[aq];if(ar[cu(0x1fa)]!=='INSERT'){let au=it(a7['blockName'],aq),av=au===void 0x0?G(ar):au;if(av){let aw=Math['max'](av['maxX']-av[cu(0x290)],av[cu(0x21a)]-av[cu(0x26e)]);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[cu(0x23b)]=an),mt(a6,ar,an),ad){var ai;ad[cu(0x27f)][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['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 cv=b0;if(a7['blockName']){let ad=a8[cv(0x256)][cv(0x2a9)](a7['blockName']);if(ad){for(let af of ad[cv(0x19a)]){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['defPoint3']&&(a6['beginPath'](),a6['moveTo'](a7['defPoint2']['x'],a7['defPoint2']['y']),a6['lineTo'](a7['defPoint']['x'],a7['defPoint']['y']),a6['stroke'](),a6['beginPath'](),a6['moveTo'](a7['defPoint3']['x'],a7[cv(0x229)]['y']),a6['lineTo'](a7[cv(0x1b0)]['x'],a7['defPoint']['y']),a6['stroke']());}function yt(a6,a7){const cw=b0;if(a7['boundaryPaths']['length']!==0x0){a6['beginPath']();for(let aa of a7['boundaryPaths'])if(aa['type']==='polyline'&&aa['vertices']&&aa['vertices']['length']>0x0){let ab=aa['vertices'][0x0];a6[cw(0x23c)](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[cw(0x1ac)])==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[cw(0x197)]();}else{if(aa['type']==='edges'&&aa['edges'])for(let ah=0x0;ah<aa['edges']['length'];ah++){let ai=aa[cw(0x209)][ah];if(ai['type']===cw(0x1b7))ah===0x0&&a6['moveTo'](ai['start']['x'],ai['start']['y']),a6['lineTo'](ai['end']['x'],ai['end']['y']);else{if(ai['type']==='arc'){if(ah===0x0){let aj=ai['center']['x']+ai['radius']*Math[cw(0x1cb)](ai['startAngle']*Math['PI']/0xb4),ak=ai['center']['y']+ai['radius']*Math['sin'](ai['startAngle']*Math['PI']/0xb4);a6['moveTo'](aj,ak);}a6[cw(0x2a2)](ai['center']['x'],ai['center']['y'],ai['radius'],ai['startAngle']*Math['PI']/0xb4,ai['endAngle']*Math['PI']/0xb4,!ai['ccw']);}}}}a7['solidFill']&&(a6[cw(0x1cf)]=0.3,a6['fill']('evenodd'),a6['globalAlpha']=0x1),a6['stroke']();}}function bt(a6,a7,a8){const cx=b0;let a9=a8*0x3;a6[cx(0x1a2)](),a6[cx(0x2a2)](a7['position']['x'],a7['position']['y'],a9,0x0,Math['PI']*0x2),a6[cx(0x1d7)]();}function K(a6,a7,a8,a9,aa,ab,ac){const cy=b0;if(ac){var ad;ac[cy(0x1c0)]++,ac[cy(0x27f)][a7[cy(0x1fa)]]=((ad=ac[cy(0x27f)][a7['type']])==null?0x0:ad)+0x1;}switch(a7['type']){case'LINE':Fe(a6,a7);break;case'CIRCLE':Ie(a6,a7);break;case'ARC':Le(a6,a7);break;case cy(0x1bd):ze(a6,a7);break;case cy(0x26d):Be(a6,a7);break;case'ELLIPSE':Ve(a6,a7);break;case cy(0x1ca):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 cz=b0;a3(this,'ctx',void 0x0),a3(this,'width',0x0),a3(this,cz(0x26a),0x0),this[cz(0x29c)]=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[cz(0x22a)]=a7,this['updateSize']();}['getContext'](){return this['ctx'];}['getWidth'](){return this['width'];}['getHeight'](){return this['height'];}['updateSize'](){const cA=b0;let a6=window['devicePixelRatio']||0x1,a7=this['canvas']['getBoundingClientRect']();this['width']=a7['width'],this['height']=a7['height'],this[cA(0x29c)]['width']=a7['width']*a6,this['canvas']['height']=a7['height']*a6;}['render'](a6,a7,a8,a9,aa,ab,ac){const cB=b0;let ad=this['ctx'],af=window['devicePixelRatio']||0x1,ag={'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}};ad[cB(0x260)](af,0x0,0x0,af,0x0,0x0),ad['fillStyle']=I[a8]['backgroundColor'],ad['fillRect'](0x0,0x0,this['width'],this[cB(0x26a)]),z(ad,a7);let ah=0x1/a7['scale'];ad['lineCap']='round',ad['lineJoin']=cB(0x198);let ai=null;for(let ak=0x0;ak<a6[cB(0x19a)]['length'];ak++){let al=a6[cB(0x19a)][ak];if(!al['visible']){ag['entitiesSkipped']++;continue;}if(!a9['has'](al['layer'])){ag['entitiesSkipped']++;continue;}if(ab&&!ab[cB(0x27b)](ak)){ag['entitiesSkipped']++;continue;}if(ac){let an=ac[ak];if(an){let ao=(an[cB(0x26f)]-an['minX'])*a7['scale'],ap=(an['maxY']-an['minY'])*a7['scale'];if(Math[cB(0x1df)](ao,ap)<xt){ag['entitiesSkipped']++;continue;}}}let am=V(al,a6['layers'],a8);if(ot(al['type'])){var aj;am!==ai&&(ai!==null&&(ad[cB(0x27d)](),ag[cB(0x1c0)]++),ai=am,ad['beginPath'](),ad['strokeStyle']=am,ad[cB(0x23b)]=ah),mt(ad,al,ah),ag['entitiesDrawn']++,ag['byType'][al[cB(0x1fa)]]=((aj=ag['byType'][al['type']])==null?0x0:aj)+0x1;}else ai!==null&&(ad['stroke'](),ag[cB(0x1c0)]++,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['stroke'](),ag['drawCalls']++),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(0x23b)]=ah*0x3,K(ad,aq,a6,a7,a8,ah);}return ag;}[b0(0x226)](a6){const cC=b0;let a7=this['ctx'],a8=window['devicePixelRatio']||0x1;a7[cC(0x260)](a8,0x0,0x0,a8,0x0,0x0),a7['fillStyle']=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 a5(a5({},Ct),a6);}function wt(a6){return a6===0x0?'0\x20B':a6<0x400?a6+'\x20B':a6<0x400*0x400?(a6/0x400)['toFixed'](0x1)+'\x20KB':(a6/(0x400*0x400))['toFixed'](0x1)+'\x20MB';}function Tt(a6){const cD=b0;return a6>=0x1?a6['toFixed'](0x2)+'x':'1:'+(0x1/a6)[cD(0x1ba)](0x1);}var Et=b0(0x28f),Dt=0xf,Ot=0x8,J=0x8,Y=0xa;function kt(a6,a7,a8,a9,aa,ab){const cE=b0;a6['setTransform'](0x1,0x0,0x0,0x1,0x0,0x0);let ac=[];if(a9[cE(0x21d)]&&ac[cE(0x1ab)]([cE(0x289)+a7['fps']+'\x20\x20Frame:\x20'+a7['frameTime']['toFixed'](0x1)+'ms']),a9[cE(0x2a0)]){let am=a7['renderStats']['entitiesDrawn']+a7['renderStats'][cE(0x223)],an=['Drawn:\x20'+a7['renderStats']['entitiesDrawn']+'\x20/\x20'+am+'\x20\x20Calls:\x20'+a7['renderStats']['drawCalls']],ao=Object[cE(0x241)](a7[cE(0x199)]['byType'])[cE(0x291)](([,ap],[,aq])=>aq-ap)['slice'](0x0,0x6)[cE(0x20e)](([ap,aq])=>ap+':\x20'+aq)[cE(0x1d4)]('\x20\x20');ao&&an['push'](ao),ac['push'](an);}if(a9['showDocumentInfo']){let ap=['Layers:\x20'+a7['visibleLayerCount']+cE(0x196)+a7['layerCount']+'\x20\x20Blocks:\x20'+a7[cE(0x293)]];a7['dxfVersion']&&ap['push']('DXF:\x20'+a7['dxfVersion']),a7[cE(0x210)]&&ap['push']('File:\x20'+a7['fileName']),a7['fileSize']>0x0&&ap['push'](cE(0x22b)+wt(a7['fileSize'])),ac['push'](ap);}if(a9['showTimings']){let aq=[];a7[cE(0x257)]>0x0&&aq['push']('Parse:\x20'+a7[cE(0x257)]['toFixed'](0x0)+'ms'),a7['spatialIndexBuildTime']>0x0&&aq['push']('Index:\x20'+a7['spatialIndexBuildTime'][cE(0x1ba)](0x0)+'ms'),a7['totalLoadTime']>0x0&&aq[cE(0x1ab)]('Load:\x20'+a7['totalLoadTime']['toFixed'](0x0)+'ms'),aq[cE(0x1bf)]>0x0&&ac['push']([aq[cE(0x1d4)]('\x20\x20')]);}if(a9[cE(0x213)]){let ar=a7['viewportBounds'];ac['push'](['Zoom:\x20'+Tt(a7['zoom'])+'\x20\x20Pixel:\x20'+a7[cE(0x1fd)][cE(0x1ba)](0x2),'View:\x20['+ar['minX']['toFixed'](0x0)+',\x20'+ar['minY']['toFixed'](0x0)+']\x20→\x20['+ar['maxX']['toFixed'](0x0)+',\x20'+ar['maxY']['toFixed'](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'])['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 cE(0x292):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)':cE(0x1a4),a6['fillRect'](ai,aj,ag,ah),a6[cE(0x286)]=a8==='dark'?'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[cE(0x227)]:'rgba(0,\x200,\x200,\x200.85)',a6['textAlign']=cE(0x269),a6[cE(0x22e)]='top';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(){const cF=b0;a3(this,cF(0x1e4),new Map()),a3(this,'visibility',new Map()),a3(this,cF(0x29f),new Map()),a3(this,'visibleCache',null);}['setLayers'](a6){const cG=b0;this['layers']=new Map(a6),this[cG(0x1cc)]['clear'](),this['colorOverrides']['clear'](),this['visibleCache']=null;for(let [a7,a8]of this['layers'])this['visibility']['set'](a7,!a8['isOff']&&!a8['isFrozen']);}['getAllLayers'](){const cH=b0;return Array[cH(0x1e6)](this['layers'][cH(0x2a1)]());}['setVisible'](a6,a7){this['visibility']['set'](a6,a7),this['visibleCache']=null;}['isVisible'](a6){const cI=b0;var a7;return(a7=this['visibility'][cI(0x2a9)](a6))==null?!0x0:a7;}['setColorOverride'](a6,a7){const cJ=b0;this['colorOverrides'][cJ(0x299)](a6,a7);}['getColorOverride'](a6){return this['colorOverrides']['get'](a6);}[b0(0x1ee)](){if(this['visibleCache'])return this['visibleCache'];let a6=new Set();for(let [a7,a8]of this['visibility'])a8&&a6['add'](a7);return this['visibleCache']=a6,a6;}['clear'](){this['layers']['clear'](),this['visibility']['clear'](),this['colorOverrides']['clear'](),this['visibleCache']=null;}},jt=class{constructor(){a3(this,'listeners',new Map());}['on'](a6,a7){const cK=b0;this['listeners'][cK(0x27b)](a6)||this['listeners'][cK(0x299)](a6,new Set()),this['listeners'][cK(0x2a9)](a6)[cK(0x28d)](a7);}[b0(0x1fc)](a6,a7){const cL=b0;var a8;(a8=this[cL(0x296)]['get'](a6))==null||a8[cL(0x259)](a7);}['emit'](a6,a7){let a8=this['listeners']['get'](a6);if(a8){for(let a9 of a8)a9(a7);}}['removeAllListeners'](){const cM=b0;this['listeners'][cM(0x267)]();}},Mt=class{constructor(a6,a7){const cN=b0;a3(this,'isPanning',!0x1),a3(this,'lastX',0x0),a3(this,'lastY',0x0),a3(this,'touches',new Map()),a3(this,cN(0x284),void 0x0),a3(this,cN(0x220),void 0x0),a3(this,'onPointerUp',void 0x0),a3(this,'onWheel',void 0x0),a3(this,cN(0x225),void 0x0),a3(this,'onTouchMove',void 0x0),a3(this,'onTouchEnd',void 0x0),a3(this,cN(0x1a6),void 0x0),this['canvas']=a6,this['viewer']=a7,this['onPointerDown']=this['handlePointerDown'][cN(0x29b)](this),this['onPointerMove']=this['handlePointerMove']['bind'](this),this['onPointerUp']=this['handlePointerUp']['bind'](this),this['onWheel']=this[cN(0x2a4)]['bind'](this),this['onTouchStart']=this[cN(0x1dd)]['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'](cN(0x1b1),this['onPointerUp']),a6[cN(0x205)]('wheel',this['onWheel'],{'passive':!0x1}),a6['addEventListener']('touchstart',this['onTouchStart'],{'passive':!0x1}),a6['addEventListener']('touchmove',this['onTouchMove'],{'passive':!0x1}),a6['addEventListener']('touchend',this['onTouchEnd']),a6[cN(0x205)]('contextmenu',this['onContextMenu']);}['destroy'](){const cO=b0;this['canvas']['removeEventListener'](cO(0x1fb),this['onPointerDown']),this['canvas'][cO(0x2ab)]('pointermove',this['onPointerMove']),this['canvas']['removeEventListener']('pointerup',this['onPointerUp']),this['canvas'][cO(0x2ab)]('wheel',this['onWheel']),this['canvas']['removeEventListener']('touchstart',this[cO(0x225)]),this['canvas']['removeEventListener']('touchmove',this['onTouchMove']),this['canvas']['removeEventListener']('touchend',this['onTouchEnd']),this['canvas']['removeEventListener']('contextmenu',this['onContextMenu']);}['handlePointerDown'](a6){const cP=b0;let a7=this['viewer']['getTool'](),a8=this['canvas']['getBoundingClientRect'](),a9=a6[cP(0x258)]-a8['left'],aa=a6[cP(0x237)]-a8['top'];a6['button']===0x0&&a7===cP(0x236)||a6['button']===0x1?this['startPan'](a6,a9,aa):a6[cP(0x246)]===0x0&&(a7==='select'||a7===cP(0x280))&&this[cP(0x206)]['handleClick'](a9,aa);}[b0(0x1be)](a6,a7,a8){const cQ=b0;this['isPanning']=!0x0,this[cQ(0x1f6)]=a7,this['lastY']=a8,this['canvas'][cQ(0x1f0)](a6['pointerId']),this[cQ(0x29c)]['style']['cursor']=cQ(0x215);}['handlePointerMove'](a6){const cR=b0;let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7['left'],a9=a6[cR(0x237)]-a7['top'];if(this['isPanning']){let aa=a8-this['lastX'],ab=a9-this['lastY'];this[cR(0x1f6)]=a8,this['lastY']=a9,this['viewer']['handlePan'](aa,ab);}else this['viewer']['handleMouseMove'](a8,a9);}['handlePointerUp'](a6){const cS=b0;this['isPanning']&&(this['isPanning']=!0x1,this['canvas']['releasePointerCapture'](a6['pointerId']),this['canvas']['style']['cursor']=this[cS(0x206)]['getTool']()===cS(0x236)?'grab':'crosshair');}[b0(0x2a4)](a6){const cT=b0;a6[cT(0x1bc)]();let a7=this['canvas']['getBoundingClientRect'](),a8=a6['clientX']-a7['left'],a9=a6[cT(0x237)]-a7['top'],aa=-Math['sign'](a6['deltaY']),ab=this[cT(0x206)]['getZoomSpeed'](),ac=aa>0x0?ab:0x1/ab;this['viewer']['handleZoom'](a8,a9,ac);}['handleTouchStart'](a6){const cU=b0;a6[cU(0x1bc)]();for(let a7 of Array['from'](a6['changedTouches']))this['touches']['set'](a7['identifier'],{'x':a7['clientX'],'y':a7[cU(0x237)]});}['handleTouchMove'](a6){const cV=b0;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[cV(0x1bb)](a7['clientX']-a8['clientX'],a7['clientY']-a8[cV(0x237)]);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'][cV(0x2ad)](af,ag,ac),this[cV(0x206)]['handlePan'](ah-af,ai-ag);}}else{if(this['touches'][cV(0x22d)]===0x1&&a6['touches']['length']===0x1){let aj=a6['touches'][0x0],ak=this['touches']['get'](aj[cV(0x281)]);ak&&this['viewer']['handlePan'](aj['clientX']-ak['x'],aj['clientY']-ak['y']);}}for(let al of Array['from'](a6['changedTouches']))this[cV(0x1db)]['set'](al[cV(0x281)],{'x':al['clientX'],'y':al[cV(0x237)]});}['handleTouchEnd'](a6){const cW=b0;for(let a7 of Array['from'](a6['changedTouches']))this[cW(0x1db)][cW(0x259)](a7['identifier']);}},Nt=0x5,Pt=class{constructor(){const cX=b0;a3(this,'tree',new l()),a3(this,cX(0x1b9),[]),a3(this,'entityBBoxes',[]);}['build'](a6,a7){const cY=b0;this['items']=[],this['entityBBoxes']=Array(a6['length'])[cY(0x1d7)](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[cY(0x288)][a9]=ab,ab&&this['items']['push'](a5(a5({},ab),{},{'entityIndex':a9}));}this['tree']['clear'](),this['tree'][cY(0x23e)](this['items']);}['search'](a6,a7,a8,a9){return this['tree']['search']({'minX':a6,'minY':a7,'maxX':a8,'maxY':a9});}['getEntityBBox'](a6){const cZ=b0;var a7;return(a7=this[cZ(0x288)][a6])==null?null:a7;}['getEntityBBoxes'](){return this['entityBBoxes'];}['clear'](){this['tree']['clear'](),this['items']=[],this['entityBBoxes']=[];}};function Ft(a6,a7,a8,a9,aa,ab){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['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 d0=b0;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[d0(0x200)]['y'],a8['radius']);case d0(0x1f1):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['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[d0(0x26e)],ah['maxX'],ah['maxY']):Infinity;}case'POINT':return Math[d0(0x1bb)](a6-a8['position']['x'],a7-a8[d0(0x273)]['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){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 d1=b0;return Math[d1(0x240)](Math['hypot'](a6-a8,a7-a9)-aa);}function Rt(a6,a7,a8,a9,aa,ab,ac){const d2=b0;let ad=(Math[d2(0x2a6)](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['hypot'](a6-a8,a7-a9)-aa);let ah=Math['hypot'](a6-(a8+aa*Math['cos'](ab)),a7-(a9+aa*Math['sin'](ab))),ai=Math[d2(0x1bb)](a6-(a8+aa*Math['cos'](ac)),a7-(a9+aa*Math['sin'](ac)));return Math['min'](ah,ai);}function zt(a6,a7,a8,a9,aa,ab){if(a6>=a8&&a6<=aa&&a7>=a9&&a7<=ab)return 0x0;let ac=Math['max'](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){const d3=b0;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[d3(0x1bb)](ag,ak);if(al<1e-10)return ai;let am=ag/al*ai,an=ah/al*aj;return Math[d3(0x1bb)](ag-am,ah-an);}var Vt=class{constructor(){const d4=b0;a3(this,'state',{'phase':d4(0x28e)}),a3(this,'currentSnap',null);}['activate'](){const d5=b0;this['state']={'phase':'first-point'},this[d5(0x1b3)]=null;}['deactivate'](){this['state']={'phase':'idle'},this['currentSnap']=null;}['handleClick'](a6,a7,a8){const d6=b0;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[d6(0x25b)]={'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':'second-point','firstPoint':a9},null;default:return null;}}['handleMove'](a6){this['currentSnap']=a6;}};function Z(a6,a7,a8,a9,aa,ab=new Set([b0(0x29d),'midpoint','center'])){const d7=b0;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[d7(0x1da)]];if(!ah)continue;let ai=ag['entityIndex'];switch(ah['type']){case'LINE':ab['has']('endpoint')&&(Q(ad,ah[d7(0x221)]['x'],ah['start']['y'],d7(0x29d),ai,a6,a7,ac),Q(ad,ah['end']['x'],ah['end']['y'],'endpoint',ai,a6,a7,ac)),ab['has']('midpoint')&&Q(ad,(ah['start']['x']+ah['end']['x'])/0x2,(ah['start']['y']+ah[d7(0x27e)]['y'])/0x2,'midpoint',ai,a6,a7,ac);break;case'CIRCLE':if(ab['has']('center')&&Q(ad,ah['center']['x'],ah[d7(0x200)]['y'],d7(0x200),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[d7(0x262)](aj),d7(0x29d),ai,a6,a7,ac);}break;case d7(0x1f1):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[d7(0x1f8)]*Math['PI']/0xb4;Q(ad,ah[d7(0x200)]['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[d7(0x262)](al),'endpoint',ai,a6,a7,ac);}break;case'LWPOLYLINE':case'POLYLINE':if(ab['has']('endpoint')){for(let am of ah[d7(0x212)])Q(ad,am['x'],am['y'],'endpoint',ai,a6,a7,ac);}if(ab['has'](d7(0x201)))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[d7(0x200)]['x'],ah[d7(0x200)]['y'],'center',ai,a6,a7,ac);break;case d7(0x278):ab['has']('endpoint')&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],d7(0x29d),ai,a6,a7,ac);break;case d7(0x19f):ab['has'](d7(0x29d))&&Q(ad,ah['insertionPoint']['x'],ah['insertionPoint']['y'],d7(0x29d),ai,a6,a7,ac);break;}}return ad['sort']((aq,ar)=>Math['hypot'](aq['point']['x']-a6,aq['point']['y']-a7)-Math['hypot'](ar[d7(0x298)]['x']-a6,ar['point']['y']-a7)),ad;}function Q(a6,a7,a8,a9,aa,ab,ac,ad){const d8=b0;Math['hypot'](a7-ab,a8-ac)<=ad&&a6[d8(0x1ab)]({'point':{'x':a7,'y':a8},'type':a9,'entityIndex':aa});}function Ht(a6,a7,a8,a9,aa,ab){const d9=b0;let ac=I[ab];a6[d9(0x260)](0x1,0x0,0x0,0x1,0x0,0x0);let ad=a8['state'];if(a8['currentSnap']){let [af,ag]=L(a7,a8['currentSnap'][d9(0x298)]['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[d9(0x216)]['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[d9(0x286)]=ac['measureColor'],a6['lineWidth']=1.5,a6['setLineDash']([0x6,0x3]),a6[d9(0x1a2)](),a6[d9(0x23c)](ah,ai),a6['lineTo'](aj,ak),a6['stroke'](),a6['setLineDash']([]),$(a6,ah,ai,ac['measureColor']),$(a6,aj,ak,ac['measureColor']);let al,am;a8['currentSnap']?(al=a8['currentSnap']['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']==='done'){let [aq,ar]=L(a7,ad['firstPoint']['x'],ad['firstPoint']['y']),[as,au]=L(a7,ad['secondPoint']['x'],ad['secondPoint']['y']);a6['strokeStyle']=ac['measureColor'],a6['lineWidth']=0x2,a6['beginPath'](),a6[d9(0x23c)](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 da=b0;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[da(0x197)](),a6[da(0x27d)]();break;case'center':a6['beginPath'](),a6[da(0x2a2)](a7,a8,0x8/0x2,0x0,Math['PI']*0x2),a6[da(0x27d)]();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){const db=b0;a6['fillStyle']=a9,a6[db(0x1a2)](),a6['arc'](a7,a8,0x4,0x0,Math['PI']*0x2),a6['fill']();}function Wt(a6,a7,a8,a9,aa){const dc=b0;let ab=a9['toFixed'](0x4);a6['font']='13px\x20monospace',a6['textAlign']=dc(0x200),a6['textBaseline']='bottom';let ac=a6['measureText'](ab),ad=a7-ac['width']/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['fillRect'](ad,af,ag,0x12),a6['fillStyle']=I[aa][dc(0x1cd)],a6[dc(0x1ec)](ab,a7,a8-0x6);}var Gt=class{constructor(){a3(this,'worker',null),a3(this,'blobUrl',null),a3(this,'nextId',0x1),a3(this,'pending',new Map());}[b0(0x1a8)](){const dd=b0;return this['worker']?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[dd(0x294)]=new Worker(this['blobUrl']),this[dd(0x294)]['onmessage']=a6=>{const df=dd;let {type:a7,id:a8,doc:a9,message:aa}=a6['data'],ab=this['pending']['get'](a8);ab&&(this['pending'][df(0x259)](a8),a7===df(0x1c2)?ab['resolve'](this['reviveDocument'](a9)):a7===df(0x250)&&ab['reject'](Error(aa==null?'Worker\x20parse\x20failed':aa)));},this['worker']['onerror']=a6=>{var a7;let a8=Error((a7=a6['message'])==null?'Worker\x20error':a7);for(let [,a9]of this['pending'])a9['reject'](a8);this['pending']['clear'](),this['destroyWorker']();},this['worker']);}['parse'](a6){return new Promise((a7,a8)=>{const dg=a1;let a9=this['nextId']++;this['pending'][dg(0x299)](a9,{'resolve':a7,'reject':a8});let aa;try{aa=this['getWorker']();}catch(ac){this[dg(0x2a3)]['delete'](a9),a8(ac instanceof Error?ac:Error(String(ac)));return;}let ab={'type':dg(0x231),'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'](){const dh=b0;this['destroyWorker']();let a6=Error('Worker\x20terminated');for(let [,a7]of this['pending'])a7[dh(0x222)](a6);this['pending']['clear']();}['destroyWorker'](){const di=b0;this['worker']&&(this[di(0x294)]['terminate'](),this['worker']=null),this['blobUrl']&&(URL['revokeObjectURL'](this['blobUrl']),this[di(0x20f)]=null);}['reviveDocument'](a6){return a5(a5({},a6),{},{'layers':this['ensureMap'](a6['layers']),'lineTypes':this['ensureMap'](a6['lineTypes']),'styles':this['ensureMap'](a6['styles']),'blocks':this['ensureMap'](a6['blocks'])});}['ensureMap'](a6){const dj=b0;return a6 instanceof Map?a6:a6&&typeof a6=='object'?new Map(Object[dj(0x241)](a6)):new Map();}},Kt=class{constructor(a6,a7){const dk=b0;var a8,a9,aa,ab,ac,ad,af;a3(this,'canvas',void 0x0),a3(this,'renderer',void 0x0),a3(this,'camera',void 0x0),a3(this,'layerManager',void 0x0),a3(this,'emitter',void 0x0),a3(this,'spatialIndex',void 0x0),a3(this,'measureTool',void 0x0),a3(this,'doc',null),a3(this,'options',void 0x0),a3(this,'currentTool',void 0x0),a3(this,'inputHandler',void 0x0),a3(this,dk(0x2a7),void 0x0),a3(this,'formatConverters',void 0x0),a3(this,'workerManager',null),a3(this,'selectedEntityIndex',-0x1),a3(this,'renderPending',!0x1),a3(this,'destroyed',!0x1),a3(this,'loadGeneration',0x0),a3(this,'mouseScreenX',0x0),a3(this,'mouseScreenY',0x0),a3(this,'debugEnabled',!0x1),a3(this,'debugOptions',void 0x0),a3(this,dk(0x268),null),a3(this,'lastDebugStats',null),a3(this,'frameTimestamps',[]),a3(this,'lastDoRenderTime',0x0),a3(this,'lastFrameTime',0x0),a3(this,'parseTime',0x0),a3(this,'spatialIndexBuildTime',0x0),a3(this,'loadedFileName',null),a3(this,'loadedFileSize',0x0),a3(this,'debugRafId',0x0),this[dk(0x29c)]=a6,this['options']={'theme':(a8=a7==null?void 0x0:a7['theme'])==null?'dark':a8,'backgroundColor':a7==null?void 0x0:a7[dk(0x1e8)],'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?dk(0x236):ad},this['formatConverters']=(af=a7==null?void 0x0:a7[dk(0x1c3)])==null?[]:af,a7!=null&&a7['worker']&&(this['workerManager']=new Gt()),a7!=null&&a7['debug']?(this['debugEnabled']=!0x0,this['debugOptions']=q(typeof a7[dk(0x1eb)]=='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['measureTool']=new Vt(),this['currentTool']=this['options']['initialTool'],this[dk(0x1ff)]=new Mt(a6,this),this['resizeObserver']=new ResizeObserver(()=>this['resize']()),this['resizeObserver']['observe'](a6),a6['style']['cursor']=this['getCursorForTool'](this['currentTool']),this['requestRender'](),this[dk(0x1b2)]&&this['startDebugLoop']();}[b0(0x1f9)](){if(this['destroyed'])throw Error('CadViewer:\x20cannot\x20call\x20methods\x20on\x20a\x20destroyed\x20instance.');}['runConverters'](a6){var a7=this;return t(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 t(function*(){const dl=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7[dl(0x1c5)]=a6['name'],a7['loadedFileSize']=a6['size'];let a9=yield a6[dl(0x1a1)]();if(a7[dl(0x1d3)]||a8!==a7['loadGeneration'])return;let aa=yield a7['runConverters'](a9);if(a7[dl(0x1d3)]||a8!==a7['loadGeneration'])return;let ab=performance['now'](),ac=aa==null?a9:aa;a7['doc']=yield a7['parseWithOptionalWorker'](ac,a8),!(a7['destroyed']||a8!==a7['loadGeneration'])&&(a7[dl(0x257)]=performance['now']()-ab,a7['onDocumentLoaded']());})();}['loadBuffer'](a6){var a7=this;return t(function*(){const dm=a1;a7['guardDestroyed']();let a8=++a7['loadGeneration'];a7[dm(0x1c5)]=null,a7['loadedFileSize']=a6['byteLength'];let a9=yield a7['runConverters'](a6);if(a7['destroyed']||a8!==a7['loadGeneration'])return;let aa=performance['now'](),ab=a9==null?a6:a9;a7['doc']=yield a7['parseWithOptionalWorker'](ab,a8),!(a7[dm(0x1d3)]||a8!==a7['loadGeneration'])&&(a7['parseTime']=performance['now']()-aa,a7['onDocumentLoaded']());})();}['parseWithOptionalWorker'](a6,a7){var a8=this;return t(function*(){const dn=a1;if(!a8['workerManager'])return F(a6);try{return yield a8['workerManager'][dn(0x231)](a6);}catch(a9){if(a8[dn(0x1d3)]||a7!==a8['loadGeneration'])return null;throw a9;}})();}['loadDocument'](a6){const dp=b0;if(this['guardDestroyed'](),++this['loadGeneration'],this[dp(0x1c5)]=null,this['loadedFileSize']=0x0,this['parseTime']=0x0,!a6||!Array['isArray'](a6[dp(0x19a)])||!(a6[dp(0x1e4)]instanceof Map))throw Error('CadViewer:\x20invalid\x20DxfDocument\x20—\x20expected\x20entities\x20array\x20and\x20layers\x20Map.');this['doc']=a6,this['onDocumentLoaded']();}['loadString'](a6){const dq=b0;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this['loadedFileSize']=a6['length'];let a7=performance['now']();this[dq(0x1f7)]=F(a6),this['parseTime']=performance['now']()-a7,this['onDocumentLoaded']();}['loadArrayBuffer'](a6){const dr=b0;this['guardDestroyed'](),++this['loadGeneration'],this['loadedFileName']=null,this[dr(0x1c8)]=a6['byteLength'];let a7=performance['now']();this['doc']=F(a6),this['parseTime']=performance['now']()-a7,this['onDocumentLoaded']();}['clearDocument'](){const ds=b0;this['guardDestroyed'](),++this['loadGeneration'],this[ds(0x1f7)]=null,this['selectedEntityIndex']=-0x1,this[ds(0x19b)]['clear'](),rt(),this['layerManager']['clear'](),this['measureTool']['deactivate'](),this['requestRender']();}['onDocumentLoaded'](){const du=b0;if(!this['doc'])return;this['layerManager']['setLayers'](this['doc']['layers']);let a6=performance['now']();this['spatialIndex']['build'](this['doc']['entities'],this['doc']),nt(tt(this['doc'])),this['spatialIndexBuildTime']=performance[du(0x24e)]()-a6,this['selectedEntityIndex']=-0x1,this['measureTool']['deactivate'](),this['currentTool']==='measure'&&this['measureTool']['activate'](),this[du(0x23a)]();}[b0(0x23a)](){const dv=b0;if(this['guardDestroyed'](),!this['doc'])return;let a6=this['computeDocumentBounds']();if(!a6)return;let a7=this['canvas']['getBoundingClientRect']();this['camera']['setTransform'](B(a7['width'],a7['height'],a6['minX'],a6['minY'],a6['maxX'],a6['maxY'])),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera'][dv(0x25c)]());}[b0(0x245)](a6){const dw=b0;this['guardDestroyed']();let a7=this['canvas'][dw(0x1d8)](),a8=a7['width']/0x2,a9=a7['height']/0x2,aa=a6/this['camera'][dw(0x25c)]()['scale'];this['camera'][dw(0x20c)](a8,a9,aa),this['requestRender'](),this[dw(0x239)]['emit']('viewchange',this['camera']['getTransform']());}['panTo'](a6,a7){const dx=b0;this['guardDestroyed']();let a8=this['canvas']['getBoundingClientRect'](),a9=this['camera']['getTransform'](),aa=a6*a9['scale']+a9[dx(0x265)],ab=-a7*a9['scale']+a9['offsetY'],ac=a8['width']/0x2-aa,ad=a8['height']/0x2-ab;this['camera'][dx(0x236)](ac,ad),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera'][dx(0x25c)]());}['getViewTransform'](){const dy=b0;return a5({},this[dy(0x242)]['getTransform']());}['getZoomSpeed'](){return this['options']['zoomSpeed'];}[b0(0x217)](){const dz=b0;return this[dz(0x1dc)]['getAllLayers']();}['setLayerVisible'](a6,a7){this['guardDestroyed'](),this['layerManager']['setVisible'](a6,a7),this['requestRender']();}['setLayerColor'](a6,a7){const dA=b0;this[dA(0x1f9)](),this['layerManager']['setColorOverride'](a6,a7),this['requestRender']();}[b0(0x1c9)](a6){this['guardDestroyed'](),this['options']['theme']=a6,this['requestRender']();}['getTheme'](){const dB=b0;return this[dB(0x1d2)]['theme'];}[b0(0x2aa)](a6){const dC=b0;this[dC(0x1f9)](),this[dC(0x1d2)]['backgroundColor']=a6,this['requestRender']();}['setTool'](a6){const dD=b0;this['guardDestroyed'](),this['currentTool']==='measure'&&a6!=='measure'&&this['measureTool']['deactivate'](),this['currentTool']=a6,this['canvas']['style']['cursor']=this['getCursorForTool'](a6),a6==='measure'&&this[dD(0x23d)][dD(0x20a)](),a6!=='select'&&(this['selectedEntityIndex']=-0x1),this[dD(0x255)]();}['getTool'](){return this['currentTool'];}['getCursorForTool'](a6){const dE=b0;switch(a6){case dE(0x236):return'grab';case'select':return'crosshair';case'measure':return'crosshair';}}['on'](a6,a7){this['emitter']['on'](a6,a7);}[b0(0x1fc)](a6,a7){const dF=b0;this['emitter'][dF(0x1fc)](a6,a7);}['getDocument'](){return this['doc'];}['getEntities'](){var a6,a7;return(a6=(a7=this['doc'])==null?void 0x0:a7['entities'])==null?[]:a6;}[b0(0x1e2)](){const dG=b0;this['renderer']['updateSize'](),this[dG(0x255)]();}[b0(0x251)](){const dH=b0;var a6;this['destroyed']=!0x0,this['stopDebugLoop'](),this['inputHandler']['destroy'](),this['resizeObserver']['disconnect'](),this['renderer']['destroy'](),this[dH(0x239)]['removeAllListeners'](),this['spatialIndex']['clear'](),rt(),this['layerManager']['clear'](),(a6=this['workerManager'])==null||a6['terminate'](),this[dH(0x1e9)]=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']();}));}}['doRender'](){const dI=b0;if(!this[dI(0x1f7)]){this['renderer']['renderEmpty'](this['options'][dI(0x1ea)]);return;}let a6=this['camera'][dI(0x25c)](),a7=this['renderer'][dI(0x1ef)](),a8=this['renderer']['getHeight'](),a9=this['computeViewportBounds'](a6,a7,a8),aa=this['spatialIndex']['search'](a9[dI(0x290)],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[dI(0x24e)](),ad=this[dI(0x1fe)]['render'](this['doc'],a6,this['options']['theme'],this[dI(0x1dc)]['getVisibleLayerNames'](),this['selectedEntityIndex'],ab,this['spatialIndex']['getEntityBBoxes']());this['lastFrameTime']=performance[dI(0x24e)]()-ac,this['lastRenderStats']=ad;let af=performance['now']();for(af-this['lastDoRenderTime']>=0x3&&this['frameTimestamps']['push'](af),this['lastDoRenderTime']=af;this[dI(0x21e)]['length']>0x0&&this['frameTimestamps'][0x0]<af-0x3e8;)this['frameTimestamps']['shift']();if(this['currentTool']==='measure'&&this['measureTool']['state']['phase']!=='idle'&&Ht(this['renderer']['getContext'](),this['camera']['getTransform'](),this['measureTool'],this['mouseScreenX'],this['mouseScreenY'],this['options']['theme']),this['debugEnabled']){let ah=this['renderer']['getContext'](),ai=this['buildDebugStats']();this['lastDebugStats']=ai,kt(ah,ai,this[dI(0x1d2)][dI(0x1ea)],this['debugOptions'],this['renderer']['getWidth'](),this['renderer']['getHeight']());}}['setDebug'](a6){const dJ=b0;this['guardDestroyed'](),typeof a6=='boolean'?this['debugEnabled']=a6:(this[dJ(0x1b2)]=!0x0,this['debugOptions']=q(a6)),this['debugEnabled']?this['startDebugLoop']():(this['stopDebugLoop'](),this[dJ(0x255)]());}['startDebugLoop'](){if(this['debugRafId'])return;let a6=()=>{const dK=a1;if(!this[dK(0x1b2)]||this['destroyed']){this['debugRafId']=0x0;return;}this['doRender'](),this['debugRafId']=requestAnimationFrame(a6);};this['debugRafId']=requestAnimationFrame(a6);}['stopDebugLoop'](){const dL=b0;this['debugRafId']&&(cancelAnimationFrame(this[dL(0x1d0)]),this['debugRafId']=0x0);}['getDebugStats'](){return this['debugEnabled']?this['lastDebugStats']:null;}['buildDebugStats'](){const dM=b0;var a6,a7,a8,a9,aa,ab,ac,ad,af;let ag=this[dM(0x242)]['getTransform'](),ah=this['renderer']['getWidth'](),ai=this['renderer']['getHeight'](),aj=this['computeViewportBounds'](ag,ah,ai);return{'fps':this['frameTimestamps']['length'],'frameTime':this[dM(0x274)],'renderStats':(a6=this[dM(0x268)])==null?{'entitiesDrawn':0x0,'entitiesSkipped':0x0,'drawCalls':0x0,'byType':{}}:a6,'entityCount':(a7=(a8=this['doc'])==null?void 0x0:a8['entities']['length'])==null?0x0:a7,'layerCount':(a9=(aa=this['doc'])==null?void 0x0:aa['layers']['size'])==null?0x0:a9,'visibleLayerCount':this['layerManager'][dM(0x1ee)]()['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['spatialIndexBuildTime'],'zoom':ag['scale'],'pixelSize':ag[dM(0x25d)]>0x0?0x1/ag['scale']:0x0,'viewportBounds':aj,'fileName':this[dM(0x1c5)],'fileSize':this['loadedFileSize'],'dxfVersion':(ad=(af=this['doc'])==null?void 0x0:af['header']['acadVersion'])==null?null:ad};}['computeViewportBounds'](a6,a7,a8){const dN=b0;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[dN(0x1df)](a9,ab),'maxY':Math['max'](aa,ac)};}['handlePan'](a6,a7){const dO=b0;this[dO(0x242)]['pan'](a6,a7),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera']['getTransform']());}['handleZoom'](a6,a7,a8){const dP=b0;this['camera']['zoom'](a6,a7,a8),this['requestRender'](),this['emitter']['emit']('viewchange',this['camera'][dP(0x25c)]());}[b0(0x2ae)](a6,a7){const dQ=b0;if(!this['doc'])return;let a8=this['camera']['getTransform'](),[a9,aa]=R(a8,a6,a7);switch(this['currentTool']){case'select':this[dQ(0x297)](a9,aa,a6,a7);break;case dQ(0x280):{let ab=Z(a9,aa,this['doc']['entities'],this['spatialIndex'],a8[dQ(0x25d)]),ac=ab['length']>0x0?ab[0x0]:null,ad=this['measureTool']['handleClick'](a9,aa,ac);this['requestRender'](),ad&&this['emitter'][dQ(0x21c)]('measure',ad);break;}}}[b0(0x287)](a6,a7){if(this['mouseScreenX']=a6,this['mouseScreenY']=a7,this['currentTool']==='measure'&&this['doc']){var a8;let a9=this['camera']['getTransform'](),[aa,ab]=R(a9,a6,a7),ac=Z(aa,ab,this['doc']['entities'],this['spatialIndex'],a9['scale']);this['measureTool']['handleMove']((a8=ac[0x0])==null?null:a8),this['requestRender']();}}['handleSelect'](a6,a7,a8,a9){const dR=b0;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[dR(0x1f7)]){let ab=this['doc']['entities'][aa];ab&&this[dR(0x239)]['emit']('select',{'entity':ab,'entityIndex':aa,'worldPoint':{'x':a6,'y':a7},'screenPoint':{'x':a8,'y':a9}});}}[b0(0x1de)](){const dS=b0;return this['doc']?this['doc']['header']['extMin']&&this['doc']['header']['extMax']?{'minX':this[dS(0x1f7)][dS(0x1e7)]['extMin']['x'],'minY':this['doc'][dS(0x1e7)]['extMin']['y'],'maxX':this['doc']['header']['extMax']['x'],'maxY':this['doc']['header'][dS(0x1c6)]['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};
|