mxcad 1.0.80 → 1.0.82

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/dist/mxcad.es.js CHANGED
@@ -1,11 +1,11 @@
1
- import { MxFun as h, MrxDbgUiPrPoint as S, MxCursorType as xD, MrxDbgUtils as fD, DynamicInputType as MD, DetailedResult as rD, MrxDbgUiPrDist as EC, MrxDbgUiPrAngle as FC, MrxDbgUiPrInt as AC, MrxDbgUiPrKeyWord as tC, MrxDbgUiPrString as eC, store as PD, loadCoreCode as iC, MxPaintBrush as v, MrxDbgUiPrBaseReturn as T, MxDbCircleShape as TD, MxDbLine as X, MxDbPolyline as rC, MxDbCircleArc as Q, Mx3PointArc as sC, MxDbEllipseShape as nC, McEdGetPointWorldDrawObject as oC, MxDbEllipse as aC } from "mxdraw";
1
+ import { MxFun as h, MrxDbgUiPrPoint as O, MxCursorType as MD, MrxDbgUtils as oD, DynamicInputType as dD, DetailedResult as Z, MrxDbgUiPrDist as AC, MrxDbgUiPrAngle as eC, MrxDbgUiPrInt as tC, MrxDbgUiPrKeyWord as iC, MrxDbgUiPrString as rC, store as PD, loadCoreCode as nC, MxPaintBrush as I, MrxDbgUiPrBaseReturn as T, MxDbCircleShape as TD, MxDbLine as CD, MxDbPolyline as sC, MxDbCircleArc as DD, Mx3PointArc as oC, MxDbEllipseShape as aC, McEdGetPointWorldDrawObject as uC, MxDbEllipse as lC } from "mxdraw";
2
2
  function kD(E) {
3
3
  return btoa(unescape(encodeURIComponent(E)));
4
4
  }
5
5
  function RD(E) {
6
6
  return decodeURIComponent(escape(atob(E)));
7
7
  }
8
- async function SD({
8
+ async function OD({
9
9
  blob: E,
10
10
  filename: D = "",
11
11
  types: C = [
@@ -45,24 +45,24 @@ async function SD({
45
45
  console.error(B.name, B.message);
46
46
  }
47
47
  }
48
- function OD(E, D) {
48
+ function LD(E, D) {
49
49
  const C = document.createElement("a");
50
50
  C.href = window.URL.createObjectURL(E), C.download = D, C.click();
51
51
  }
52
- function LD(E, D) {
52
+ function vD(E, D) {
53
53
  fetch(E).then((C) => C.blob()).then((C) => {
54
54
  const B = document.createElement("a");
55
55
  B.href = window.URL.createObjectURL(C), B.download = D, B.click();
56
56
  });
57
57
  }
58
- const Y = {
58
+ const Q = {
59
59
  b64Encode: kD,
60
60
  b64Decode: RD,
61
- saveAsFileDialog: SD,
62
- downloadFile: OD,
63
- downloadFileFromUrl: LD
61
+ saveAsFileDialog: OD,
62
+ downloadFile: LD,
63
+ downloadFileFromUrl: vD
64
64
  };
65
- class uC {
65
+ class cC {
66
66
  z = "D2BBB6A18140C6DF814181428143CDF2D5C9C8FDC9CFCFC2D8A2B2BBD3EB8144D8A4B3F38145D7A8C7D2D8A7CAC08146C7F0B1FBD2B5B4D4B6ABCBBFD8A9814781488149B6AA814AC1BDD1CF814BC9A5D8AD814CB8F6D1BEE3DCD6D0814D814EB7E1814FB4AE8150C1D98151D8BC8152CDE8B5A4CEAAD6F78153C0F6BED9D8AF815481558156C4CB8157BEC38158D8B1C3B4D2E58159D6AECEDAD5A7BAF5B7A6C0D6815AC6B9C5D2C7C7815BB9D4815CB3CBD2D2815D815ED8BFBEC5C6F2D2B2CFB0CFE7815F816081618162CAE981638164D8C081658166816781688169816AC2F2C2D2816BC8E9816C816D816E816F817081718172817381748175C7AC8176817781788179817A817B817CC1CB817DD3E8D5F9817ECAC2B6FED8A1D3DABFF78180D4C6BBA5D8C1CEE5BEAE81818182D8A88183D1C7D0A9818481858186D8BDD9EFCDF6BFBA8187BDBBBAA5D2E0B2FABAE0C4B68188CFEDBEA9CDA4C1C18189818A818BC7D7D9F1818CD9F4818D818E818F8190C8CBD8E9819181928193D2DACAB2C8CAD8ECD8EAD8C6BDF6C6CDB3F08194D8EBBDF1BDE98195C8D4B4D381968197C2D88198B2D6D7D0CACBCBFBD5CCB8B6CFC98199819A819BD9DAD8F0C7AA819CD8EE819DB4FAC1EED2D4819E819FD8ED81A0D2C7D8EFC3C781A181A281A3D1F681A4D6D9D8F281A5D8F5BCFEBCDB81A681A781A8C8CE81A9B7DD81AAB7C281ABC6F381AC81AD81AE81AF81B081B181B2D8F8D2C181B381B4CEE9BCBFB7FCB7A5D0DD81B581B681B781B881B9D6DAD3C5BBEFBBE1D8F181BA81BBC9A1CEB0B4AB81BCD8F381BDC9CBD8F6C2D7D8F781BE81BFCEB1D8F981C081C181C2B2AEB9C081C3D9A381C4B0E981C5C1E681C6C9EC81C7CBC581C8CBC6D9A481C981CA81CB81CC81CDB5E881CE81CFB5AB81D081D181D281D381D481D5CEBBB5CDD7A1D7F4D3D381D6CCE581D7BACE81D8D9A2D9DCD3E0D8FDB7F0D7F7D8FED8FAD9A1C4E381D981DAD3B6D8F4D9DD81DBD8FB81DCC5E581DD81DEC0D081DF81E0D1F0B0DB81E181E2BCD1D9A681E3D9A581E481E581E681E7D9ACD9AE81E8D9ABCAB981E981EA81EBD9A9D6B681EC81ED81EEB3DED9A881EFC0FD81F0CACC81F1D9AA81F2D9A781F381F4D9B081F581F6B6B181F781F881F9B9A981FAD2C081FB81FCCFC081FD81FEC2C28240BDC4D5ECB2E0C7C8BFEBD9AD8241D9AF8242CEEABAEE82438244824582468247C7D682488249824A824B824C824D824E824F8250B1E3825182528253B4D9B6EDD9B48254825582568257BFA182588259825AD9DEC7CEC0FED9B8825B825C825D825E825FCBD7B7FD8260D9B58261D9B7B1A3D3E1D9B98262D0C58263D9B682648265D9B18266D9B2C1A9D9B382678268BCF3D0DEB8A98269BEE3826AD9BD826B826C826D826ED9BA826FB0B3827082718272D9C28273827482758276827782788279827A827B827C827D827E8280D9C4B1B68281D9BF82828283B5B98284BEF3828582868287CCC8BAF2D2D08288D9C38289828ABDE8828BB3AB828C828D828ED9C5BEEB828FD9C6D9BBC4DF8290D9BED9C1D9C0829182928293829482958296829782988299829A829BD5AE829CD6B5829DC7E3829E829F82A082A1D9C882A282A382A4BCD9D9CA82A582A682A7D9BC82A8D9CBC6AB82A982AA82AB82AC82ADD9C982AE82AF82B082B1D7F682B2CDA382B382B482B582B682B782B882B982BABDA182BB82BC82BD82BE82BF82C0D9CC82C182C282C382C482C582C682C782C882C9C5BCCDB582CA82CB82CCD9CD82CD82CED9C7B3A5BFFE82CF82D082D182D2B8B582D382D4C0FC82D582D682D782D8B0F882D982DA82DB82DC82DD82DE82DF82E082E182E282E382E482E582E682E782E882E982EA82EB82EC82EDB4F682EED9CE82EFD9CFB4A2D9D082F082F1B4DF82F282F382F482F582F6B0C182F782F882F982FA82FB82FC82FDD9D1C9B582FE8340834183428343834483458346834783488349834A834B834C834D834E834F83508351CFF1835283538354835583568357D9D283588359835AC1C5835B835C835D835E835F836083618362836383648365D9D6C9AE8366836783688369D9D5D9D4D9D7836A836B836C836DCBDB836EBDA9836F8370837183728373C6A7837483758376837783788379837A837B837C837DD9D3D9D8837E83808381D9D9838283838384838583868387C8E583888389838A838B838C838D838E838F839083918392839383948395C0DC8396839783988399839A839B839C839D839E839F83A083A183A283A383A483A583A683A783A883A983AA83AB83AC83AD83AE83AF83B083B183B2B6F9D8A3D4CA83B3D4AAD0D6B3E4D5D783B4CFC8B9E283B5BFCB83B6C3E283B783B883B9B6D283BA83BBCDC3D9EED9F083BC83BD83BEB5B383BFB6B583C083C183C283C383C4BEA483C583C6C8EB83C783C8C8AB83C983CAB0CBB9ABC1F9D9E283CBC0BCB9B283CCB9D8D0CBB1F8C6E4BEDFB5E4D7C883CDD1F8BCE6CADE83CE83CFBCBDD9E6D8E783D083D1C4DA83D283D3B8D4C8BD83D483D5B2E1D4D983D683D783D883D9C3B083DA83DBC3E1DAA2C8DF83DCD0B483DDBEFCC5A983DE83DF83E0B9DA83E1DAA383E2D4A9DAA483E383E483E583E683E7D9FBB6AC83E883E9B7EBB1F9D9FCB3E5BEF683EABFF6D2B1C0E483EB83EC83EDB6B3D9FED9FD83EE83EFBEBB83F083F183F2C6E083F3D7BCDAA183F4C1B983F5B5F2C1E883F683F7BCF583F8B4D583F983FA83FB83FC83FD83FE844084418442C1DD8443C4FD84448445BCB8B7B284468447B7EF84488449844A844B844C844DD9EC844EC6BE844FBFADBBCB84508451B5CA8452DBC9D0D78453CDB9B0BCB3F6BBF7DBCABAAF8454D4E4B5B6B5F3D8D6C8D084558456B7D6C7D0D8D78457BFAF84588459DBBBD8D8845A845BD0CCBBAE845C845D845EEBBEC1D0C1F5D4F2B8D5B4B4845FB3F584608461C9BE846284638464C5D0846584668467C5D9C0FB8468B1F08469D8D9B9CE846AB5BD846B846CD8DA846D846ED6C6CBA2C8AFC9B2B4CCBFCC846FB9F48470D8DBD8DCB6E7BCC1CCEA847184728473847484758476CFF78477D8DDC7B084788479B9D0BDA3847A847BCCDE847CC6CA847D847E848084818482D8E08483D8DE84848485D8DF848684878488B0FE8489BEE7848ACAA3BCF4848B848C848D848EB8B1848F8490B8EE849184928493849484958496849784988499849AD8E2849BBDCB849CD8E4D8E3849D849E849F84A084A1C5FC84A284A384A484A584A684A784A8D8E584A984AAD8E684AB84AC84AD84AE84AF84B084B1C1A684B2C8B0B0ECB9A6BCD3CEF1DBBDC1D384B384B484B584B6B6AFD6FAC5ACBDD9DBBEDBBF84B784B884B9C0F8BEA2C0CD84BA84BB84BC84BD84BE84BF84C084C184C284C3DBC0CAC684C484C584C6B2AA84C784C884C9D3C284CAC3E384CBD1AB84CC84CD84CE84CFDBC284D0C0D584D184D284D3DBC384D4BFB184D584D684D784D884D984DAC4BC84DB84DC84DD84DEC7DA84DF84E084E184E284E384E484E584E684E784E884E9DBC484EA84EB84EC84ED84EE84EF84F084F1D9E8C9D784F284F384F4B9B4CEF0D4C884F584F684F784F8B0FCB4D284F9D0D984FA84FB84FC84FDD9E984FEDECBD9EB8540854185428543D8B0BBAFB1B18544B3D7D8CE85458546D4D185478548BDB3BFEF8549CFBB854A854BD8D0854C854D854EB7CB854F85508551D8D185528553855485558556855785588559855A855BC6A5C7F8D2BD855C855DD8D2C4E4855ECAAE855FC7A78560D8A68561C9FDCEE7BBDCB0EB856285638564BBAAD0AD8565B1B0D7E4D7BF8566B5A5C2F4C4CF85678568B2A98569B2B7856AB1E5DFB2D5BCBFA8C2ACD8D5C2B1856BD8D4CED4856CDAE0856DCEC0856E856FD8B4C3AED3A1CEA38570BCB4C8B4C2D18571BEEDD0B68572DAE18573857485758576C7E485778578B3A78579B6F2CCFCC0FA857A857BC0F7857CD1B9D1E1D8C7857D857E85808581858285838584B2DE85858586C0E58587BAF185888589D8C8858AD4AD858B858CCFE1D8C9858DD8CACFC3858EB3F8BEC7858F859085918592D8CB8593859485958596859785988599DBCC859A859B859C859DC8A5859E859F85A0CFD885A1C8FEB2CE85A285A385A485A585A6D3D6B2E6BCB0D3D1CBABB7B485A785A885A9B7A285AA85ABCAE585ACC8A1CADCB1E4D0F085ADC5D185AE85AF85B0DBC5B5FE85B185B2BFDAB9C5BEE4C1ED85B3DFB6DFB5D6BBBDD0D5D9B0C8B6A3BFC9CCA8DFB3CAB7D3D285B4D8CFD2B6BAC5CBBECCBE85B5DFB7B5F0DFB485B685B785B8D3F585B9B3D4B8F785BADFBA85BBBACFBCAAB5F585BCCDACC3FBBAF3C0F4CDC2CFF2DFB8CFC585BDC2C0DFB9C2F085BE85BF85C0BEFD85C1C1DFCDCCD2F7B7CDDFC185C2DFC485C385C4B7F1B0C9B6D6B7D485C5BAACCCFDBFD4CBB1C6F485C6D6A8DFC585C7CEE2B3B385C885C9CEFCB4B585CACEC7BAF085CBCEE185CCD1BD85CD85CEDFC085CF85D0B4F485D1B3CA85D2B8E6DFBB85D385D485D585D6C4C585D7DFBCDFBDDFBEC5BBDFBFDFC2D4B1DFC385D8C7BACED885D985DA85DB85DC85DDC4D885DEDFCA85DFDFCF85E0D6DC85E185E285E385E485E585E685E785E8DFC9DFDACEB685E9BAC7DFCEDFC8C5DE85EA85EBC9EBBAF4C3FC85EC85EDBED785EEDFC685EFDFCD85F0C5D885F185F285F385F4D5A6BACD85F5BECCD3BDB8C085F6D6E485F7DFC7B9BEBFA785F885F9C1FCDFCBDFCC85FADFD085FB85FC85FD85FE8640DFDBDFE58641DFD7DFD6D7C9DFE3DFE4E5EBD2A7DFD28642BFA98643D4DB8644BFC8DFD4864586468647CFCC86488649DFDD864AD1CA864BDFDEB0A7C6B7DFD3864CBAE5864DB6DFCDDBB9FED4D5864E864FDFDFCFECB0A5DFE7DFD1D1C6DFD5DFD8DFD9DFDC8650BBA98651DFE0DFE18652DFE2DFE6DFE8D3B486538654865586568657B8E7C5B6DFEAC9DAC1A8C4C486588659BFDECFF8865A865B865CD5DCDFEE865D865E865F866086618662B2B88663BADFDFEC8664DBC18665D1E48666866786688669CBF4B4BD866AB0A6866B866C866D866E866FDFF1CCC6DFF286708671DFED867286738674867586768677DFE986788679867A867BDFEB867CDFEFDFF0BBBD867D867EDFF386808681DFF48682BBA38683CADBCEA8E0A7B3AA8684E0A6868586868687E0A186888689868A868BDFFE868CCDD9DFFC868DDFFA868EBFD0D7C4868FC9CC86908691DFF8B0A186928693869486958696DFFD869786988699869ADFFBE0A2869B869C869D869E869FE0A886A086A186A286A3B7C886A486A5C6A1C9B6C0B2DFF586A686A7C5BE86A8D8C4DFF9C4F686A986AA86AB86AC86AD86AEE0A3E0A4E0A5D0A586AF86B0E0B4CCE486B1E0B186B2BFA6E0AFCEB9E0ABC9C686B386B4C0AEE0AEBAEDBAB0E0A986B586B686B7DFF686B8E0B386B986BAE0B886BB86BC86BDB4ADE0B986BE86BFCFB2BAC886C0E0B086C186C286C386C486C586C686C7D0FA86C886C986CA86CB86CC86CD86CE86CF86D0E0AC86D1D4FB86D2DFF786D3C5E786D4E0AD86D5D3F786D6E0B6E0B786D786D886D986DA86DBE0C4D0E186DC86DD86DEE0BC86DF86E0E0C9E0CA86E186E286E3E0BEE0AAC9A4E0C186E4E0B286E586E686E786E886E9CAC8E0C386EAE0B586EBCECB86ECCBC3E0CDE0C6E0C286EDE0CB86EEE0BAE0BFE0C086EF86F0E0C586F186F2E0C7E0C886F3E0CC86F4E0BB86F586F686F786F886F9CBD4E0D586FAE0D6E0D286FB86FC86FD86FE87408741E0D0BCCE87428743E0D18744B8C2D8C587458746874787488749874A874B874CD0EA874D874EC2EF874F8750E0CFE0BD875187528753E0D4E0D387548755E0D78756875787588759E0DCE0D8875A875B875CD6F6B3B0875DD7EC875ECBBB875F8760E0DA8761CEFB876287638764BAD987658766876787688769876A876B876C876D876E876F8770E0E1E0DDD2AD87718772877387748775E0E287768777E0DBE0D9E0DF87788779E0E0877A877B877C877D877EE0DE8780E0E4878187828783C6F7D8ACD4EBE0E6CAC98784878587868787E0E587888789878A878BB8C1878C878D878E878FE0E7E0E887908791879287938794879587968797E0E9E0E387988799879A879B879C879D879EBABFCCE7879F87A087A1E0EA87A287A387A487A587A687A787A887A987AA87AB87AC87AD87AE87AF87B0CFF987B187B287B387B487B587B687B787B887B987BA87BBE0EB87BC87BD87BE87BF87C087C187C2C8C287C387C487C587C6BDC087C787C887C987CA87CB87CC87CD87CE87CF87D087D187D287D3C4D287D487D587D687D787D887D987DA87DB87DCE0EC87DD87DEE0ED87DF87E0C7F4CBC487E1E0EEBBD8D8B6D2F2E0EFCDC587E2B6DA87E387E487E587E687E787E8E0F187E9D4B087EA87EBC0A7B4D187EC87EDCEA7E0F087EE87EF87F0E0F2B9CC87F187F2B9FACDBCE0F387F387F487F5C6D4E0F487F6D4B287F7C8A6E0F6E0F587F887F987FA87FB87FC87FD87FE8840884188428843884488458846884788488849E0F7884A884BCDC1884C884D884ECAA5884F885088518852D4DADBD7DBD98853DBD8B9E7DBDCDBDDB5D888548855DBDA8856885788588859885ADBDBB3A1DBDF885B885CBBF8885DD6B7885EDBE0885F886088618862BEF988638864B7BB8865DBD0CCAEBFB2BBB5D7F8BFD38866886788688869886ABFE9886B886CBCE1CCB3DBDEB0D3CEEBB7D8D7B9C6C2886D886EC0A4886FCCB98870DBE7DBE1C6BADBE38871DBE88872C5F7887388748875DBEA88768877DBE9BFC088788879887ADBE6DBE5887B887C887D887E8880B4B9C0ACC2A2DBE2DBE48881888288838884D0CDDBED88858886888788888889C0DDDBF2888A888B888C888D888E888F8890B6E28891889288938894DBF3DBD2B9B8D4ABDBEC8895BFD1DBF08896DBD18897B5E68898DBEBBFE58899889A889BDBEE889CDBF1889D889E889FDBF988A088A188A288A388A488A588A688A788A8B9A1B0A388A988AA88AB88AC88AD88AE88AFC2F188B088B1B3C7DBEF88B288B3DBF888B4C6D2DBF488B588B6DBF5DBF7DBF688B788B8DBFE88B9D3F2B2BA88BA88BB88BCDBFD88BD88BE88BF88C088C188C288C388C4DCA488C5DBFB88C688C788C888C9DBFA88CA88CB88CCDBFCC5E0BBF988CD88CEDCA388CF88D0DCA588D1CCC388D288D388D4B6D1DDC088D588D688D7DCA188D8DCA288D988DA88DBC7B588DC88DD88DEB6E988DF88E088E1DCA788E288E388E488E5DCA688E6DCA9B1A488E788E8B5CC88E988EA88EB88EC88EDBFB088EE88EF88F088F188F2D1DF88F388F488F588F6B6C288F788F888F988FA88FB88FC88FD88FE894089418942894389448945DCA88946894789488949894A894B894CCBFAEBF3894D894E894FCBDC89508951CBFE895289538954CCC189558956895789588959C8FB895A895B895C895D895E895FDCAA89608961896289638964CCEEDCAB89658966896789688969896A896B896C896D896E896F897089718972897389748975DBD38976DCAFDCAC8977BEB38978CAFB8979897A897BDCAD897C897D897E89808981898289838984C9CAC4B989858986898789888989C7BDDCAE898A898B898CD4F6D0E6898D898E898F89908991899289938994C4ABB6D589958996899789988999899A899B899C899D899E899F89A089A189A289A389A489A589A6DBD489A789A889A989AAB1DA89AB89AC89ADDBD589AE89AF89B089B189B289B389B489B589B689B789B8DBD689B989BA89BBBABE89BC89BD89BE89BF89C089C189C289C389C489C589C689C789C889C9C8C089CA89CB89CC89CD89CE89CFCABFC8C989D0D7B389D1C9F989D289D3BFC789D489D5BAF889D689D7D2BC89D889D989DA89DB89DC89DD89DE89DFE2BA89E0B4A689E189E2B1B889E389E489E589E689E7B8B489E8CFC489E989EA89EB89ECD9E7CFA6CDE289ED89EED9EDB6E089EFD2B989F089F1B9BB89F289F389F489F5E2B9E2B789F6B4F389F7CCECCCABB7F289F8D8B2D1EBBABB89F9CAA789FA89FBCDB789FC89FDD2C4BFE4BCD0B6E189FEDEC58A408A418A428A43DEC6DBBC8A44D1D98A458A46C6E6C4CEB7EE8A47B7DC8A488A49BFFCD7E08A4AC6F58A4B8A4CB1BCDEC8BDB1CCD7DECA8A4DDEC98A4E8A4F8A508A518A52B5EC8A53C9DD8A548A55B0C28A568A578A588A598A5A8A5B8A5C8A5D8A5E8A5F8A608A618A62C5AEC5AB8A63C4CC8A64BCE9CBFD8A658A668A67BAC38A688A698A6AE5F9C8E7E5FACDFD8A6BD7B1B8BEC2E88A6CC8D18A6D8A6EE5FB8A6F8A708A718A72B6CABCCB8A738A74D1FDE6A18A75C3EE8A768A778A788A79E6A48A7A8A7B8A7C8A7DE5FEE6A5CDD78A7E8A80B7C1E5FCE5FDE6A38A818A82C4DDE6A88A838A84E6A78A858A868A878A888A898A8AC3C38A8BC6DE8A8C8A8DE6AA8A8E8A8F8A908A918A928A938A94C4B78A958A968A97E6A2CABC8A988A998A9A8A9BBDE3B9C3E6A6D0D5CEAF8A9C8A9DE6A9E6B08A9ED2A68A9FBDAAE6AD8AA08AA18AA28AA38AA4E6AF8AA5C0D18AA68AA7D2CC8AA88AA98AAABCA78AAB8AAC8AAD8AAE8AAF8AB08AB18AB28AB38AB48AB58AB6E6B18AB7D2F68AB88AB98ABAD7CB8ABBCDFE8ABCCDDEC2A6E6ABE6ACBDBFE6AEE6B38ABD8ABEE6B28ABF8AC08AC18AC2E6B68AC3E6B88AC48AC58AC68AC7C4EF8AC88AC98ACAC4C88ACB8ACCBEEAC9EF8ACD8ACEE6B78ACFB6F08AD08AD18AD2C3E48AD38AD48AD58AD68AD78AD88AD9D3E9E6B48ADAE6B58ADBC8A28ADC8ADD8ADE8ADF8AE0E6BD8AE18AE28AE3E6B98AE48AE58AE68AE78AE8C6C58AE98AEACDF1E6BB8AEB8AEC8AED8AEE8AEF8AF08AF18AF28AF38AF4E6BC8AF58AF68AF78AF8BBE98AF98AFA8AFB8AFC8AFD8AFE8B40E6BE8B418B428B438B44E6BA8B458B46C0B78B478B488B498B4A8B4B8B4C8B4D8B4E8B4FD3A4E6BFC9F4E6C38B508B51E6C48B528B538B548B55D0F68B568B578B588B598B5A8B5B8B5C8B5D8B5E8B5F8B608B618B628B638B648B658B668B67C3BD8B688B698B6A8B6B8B6C8B6D8B6EC3C4E6C28B6F8B708B718B728B738B748B758B768B778B788B798B7A8B7B8B7CE6C18B7D8B7E8B808B818B828B838B84E6C7CFB18B85EBF48B868B87E6CA8B888B898B8A8B8B8B8CE6C58B8D8B8EBCDEC9A98B8F8B908B918B928B938B94BCB58B958B96CFD38B978B988B998B9A8B9BE6C88B9CE6C98B9DE6CE8B9EE6D08B9F8BA08BA1E6D18BA28BA38BA4E6CBB5D58BA5E6CC8BA68BA7E6CF8BA88BA9C4DB8BAAE6C68BAB8BAC8BAD8BAE8BAFE6CD8BB08BB18BB28BB38BB48BB58BB68BB78BB88BB98BBA8BBB8BBC8BBD8BBE8BBF8BC08BC18BC28BC38BC48BC58BC6E6D28BC78BC88BC98BCA8BCB8BCC8BCD8BCE8BCF8BD08BD18BD2E6D4E6D38BD38BD48BD58BD68BD78BD88BD98BDA8BDB8BDC8BDD8BDE8BDF8BE08BE18BE28BE38BE48BE58BE68BE78BE88BE98BEA8BEB8BECE6D58BEDD9F88BEE8BEFE6D68BF08BF18BF28BF38BF48BF58BF68BF7E6D78BF88BF98BFA8BFB8BFC8BFD8BFE8C408C418C428C438C448C458C468C47D7D3E6DD8C48E6DEBFD7D4D08C49D7D6B4E6CBEFE6DAD8C3D7CED0A28C4AC3CF8C4B8C4CE6DFBCBEB9C2E6DBD1A78C4D8C4EBAA2C2CF8C4FD8AB8C508C518C52CAEBE5EE8C53E6DC8C54B7F58C558C568C578C58C8E68C598C5AC4F58C5B8C5CE5B2C4FE8C5DCBFCE5B3D5AC8C5ED3EECAD8B0B28C5FCBCECDEA8C608C61BAEA8C628C638C64E5B58C65E5B48C66D7DAB9D9D6E6B6A8CDF0D2CBB1A6CAB58C67B3E8C9F3BFCDD0FBCAD2E5B6BBC28C688C698C6ACFDCB9AC8C6B8C6C8C6D8C6ED4D78C6F8C70BAA6D1E7CFFCBCD28C71E5B7C8DD8C728C738C74BFEDB1F6CBDE8C758C76BCC58C77BCC4D2FAC3DCBFDC8C788C798C7A8C7BB8BB8C7C8C7D8C7EC3C28C80BAAED4A28C818C828C838C848C858C868C878C888C89C7DEC4AFB2EC8C8AB9D18C8B8C8CE5BBC1C88C8D8C8ED5AF8C8F8C908C918C928C93E5BC8C94E5BE8C958C968C978C988C998C9A8C9BB4E7B6D4CBC2D1B0B5BC8C9C8C9DCAD98C9EB7E28C9F8CA0C9E48CA1BDAB8CA28CA3CEBED7F08CA48CA58CA68CA7D0A18CA8C9D98CA98CAAB6FBE6D8BCE28CABB3BE8CACC9D08CADE6D9B3A28CAE8CAF8CB08CB1DECC8CB2D3C8DECD8CB3D2A28CB48CB58CB68CB7DECE8CB88CB98CBA8CBBBECD8CBC8CBDDECF8CBE8CBF8CC0CAACD2FCB3DFE5EAC4E1BEA1CEB2C4F2BED6C6A8B2E38CC18CC2BED38CC38CC4C7FCCCEBBDECCEDD8CC58CC6CABAC6C1E5ECD0BC8CC78CC88CC9D5B98CCA8CCB8CCCE5ED8CCD8CCE8CCF8CD0CAF48CD1CDC0C2C58CD2E5EF8CD3C2C4E5F08CD48CD58CD68CD78CD88CD98CDAE5F8CDCD8CDBC9BD8CDC8CDD8CDE8CDF8CE08CE18CE2D2D9E1A88CE38CE48CE58CE6D3EC8CE7CBEAC6F18CE88CE98CEA8CEB8CECE1AC8CED8CEE8CEFE1A7E1A98CF08CF1E1AAE1AF8CF28CF3B2ED8CF4E1ABB8DAE1ADE1AEE1B0B5BAE1B18CF58CF68CF78CF88CF9E1B3E1B88CFA8CFB8CFC8CFD8CFED1D28D40E1B6E1B5C1EB8D418D428D43E1B78D44D4C08D45E1B28D46E1BAB0B68D478D488D498D4AE1B48D4BBFF98D4CE1B98D4D8D4EE1BB8D4F8D508D518D528D538D54E1BE8D558D568D578D588D598D5AE1BC8D5B8D5C8D5D8D5E8D5F8D60D6C58D618D628D638D648D658D668D67CFBF8D688D69E1BDE1BFC2CD8D6AB6EB8D6BD3F88D6C8D6DC7CD8D6E8D6FB7E58D708D718D728D738D748D758D768D778D788D79BEFE8D7A8D7B8D7C8D7D8D7E8D80E1C0E1C18D818D82E1C7B3E78D838D848D858D868D878D88C6E98D898D8A8D8B8D8C8D8DB4DE8D8ED1C28D8F8D908D918D92E1C88D938D94E1C68D958D968D978D988D99E1C58D9AE1C3E1C28D9BB1C08D9C8D9D8D9ED5B8E1C48D9F8DA08DA18DA28DA3E1CB8DA48DA58DA68DA78DA88DA98DAA8DABE1CCE1CA8DAC8DAD8DAE8DAF8DB08DB18DB28DB3EFFA8DB48DB5E1D3E1D2C7B68DB68DB78DB88DB98DBA8DBB8DBC8DBD8DBE8DBF8DC0E1C98DC18DC2E1CE8DC3E1D08DC48DC58DC68DC78DC88DC98DCA8DCB8DCC8DCD8DCEE1D48DCFE1D1E1CD8DD08DD1E1CF8DD28DD38DD48DD5E1D58DD68DD78DD88DD98DDA8DDB8DDC8DDD8DDE8DDF8DE08DE18DE2E1D68DE38DE48DE58DE68DE78DE88DE98DEA8DEB8DEC8DED8DEE8DEF8DF08DF18DF28DF38DF48DF58DF68DF78DF8E1D78DF98DFA8DFBE1D88DFC8DFD8DFE8E408E418E428E438E448E458E468E478E488E498E4A8E4B8E4C8E4D8E4E8E4F8E508E518E528E538E548E55E1DA8E568E578E588E598E5A8E5B8E5C8E5D8E5E8E5F8E608E618E62E1DB8E638E648E658E668E678E688E69CEA18E6A8E6B8E6C8E6D8E6E8E6F8E708E718E728E738E748E758E76E7DD8E77B4A8D6DD8E788E79D1B2B3B28E7A8E7BB9A4D7F3C7C9BEDEB9AE8E7CCED78E7D8E7EB2EEDBCF8E80BCBAD2D1CBC8B0CD8E818E82CFEF8E838E848E858E868E87D9E3BDED8E888E89B1D2CAD0B2BC8E8ACBA7B7AB8E8BCAA68E8C8E8D8E8ECFA38E8F8E90E0F8D5CAE0FB8E918E92E0FAC5C1CCFB8E93C1B1E0F9D6E3B2AFD6C4B5DB8E948E958E968E978E988E998E9A8E9BB4F8D6A18E9C8E9D8E9E8E9F8EA0CFAFB0EF8EA18EA2E0FC8EA38EA48EA58EA68EA7E1A1B3A38EA88EA9E0FDE0FEC3B18EAA8EAB8EAC8EADC3DD8EAEE1A2B7F98EAF8EB08EB18EB28EB38EB4BBCF8EB58EB68EB78EB88EB98EBA8EBBE1A3C4BB8EBC8EBD8EBE8EBF8EC0E1A48EC18EC2E1A58EC38EC4E1A6B4B18EC58EC68EC78EC88EC98ECA8ECB8ECC8ECD8ECE8ECF8ED08ED18ED28ED3B8C9C6BDC4EA8ED4B2A28ED5D0D28ED6E7DBBBC3D3D7D3C48ED7B9E3E2CF8ED88ED98EDAD7AF8EDBC7ECB1D38EDC8EDDB4B2E2D18EDE8EDF8EE0D0F2C2AEE2D08EE1BFE2D3A6B5D7E2D2B5EA8EE2C3EDB8FD8EE3B8AE8EE4C5D3B7CFE2D48EE58EE68EE78EE8E2D3B6C8D7F98EE98EEA8EEB8EEC8EEDCDA58EEE8EEF8EF08EF18EF2E2D88EF3E2D6CAFCBFB5D3B9E2D58EF48EF58EF68EF7E2D78EF88EF98EFA8EFB8EFC8EFD8EFE8F408F418F42C1AEC0C88F438F448F458F468F478F48E2DBE2DAC0AA8F498F4AC1CE8F4B8F4C8F4D8F4EE2DC8F4F8F508F518F528F538F548F558F568F578F588F598F5AE2DD8F5BE2DE8F5C8F5D8F5E8F5F8F608F618F628F638F64DBC88F65D1D3CDA28F668F67BDA88F688F698F6ADEC3D8A5BFAADBCDD2ECC6FAC5AA8F6B8F6C8F6DDEC48F6EB1D7DFAE8F6F8F708F71CABD8F72DFB18F73B9AD8F74D2FD8F75B8A5BAEB8F768F77B3DA8F788F798F7AB5DCD5C58F7B8F7C8F7D8F7EC3D6CFD2BBA18F80E5F3E5F28F818F82E5F48F83CDE48F84C8F58F858F868F878F888F898F8A8F8BB5AFC7BF8F8CE5F68F8D8F8E8F8FECB08F908F918F928F938F948F958F968F978F988F998F9A8F9B8F9C8F9D8F9EE5E68F9FB9E9B5B18FA0C2BCE5E8E5E7E5E98FA18FA28FA38FA4D2CD8FA58FA68FA7E1EAD0CE8FA8CDAE8FA9D1E58FAA8FABB2CAB1EB8FACB1F2C5ED8FAD8FAED5C3D3B08FAFE1DC8FB08FB18FB2E1DD8FB3D2DB8FB4B3B9B1CB8FB58FB68FB7CDF9D5F7E1DE8FB8BEB6B4FD8FB9E1DFBADCE1E0BBB2C2C9E1E18FBA8FBB8FBCD0EC8FBDCDBD8FBE8FBFE1E28FC0B5C3C5C7E1E38FC18FC2E1E48FC38FC48FC58FC6D3F98FC78FC88FC98FCA8FCB8FCCE1E58FCDD1AD8FCE8FCFE1E6CEA28FD08FD18FD28FD38FD48FD5E1E78FD6B5C28FD78FD88FD98FDAE1E8BBD58FDB8FDC8FDD8FDE8FDFD0C4E2E0B1D8D2E48FE08FE1E2E18FE28FE3BCC9C8CC8FE4E2E3ECFEECFDDFAF8FE58FE68FE7E2E2D6BECDFCC3A68FE88FE98FEAE3C38FEB8FECD6D2E2E78FED8FEEE2E88FEF8FF0D3C78FF18FF2E2ECBFEC8FF3E2EDE2E58FF48FF5B3C08FF68FF78FF8C4EE8FF98FFAE2EE8FFB8FFCD0C38FFDBAF6E2E9B7DEBBB3CCACCBCBE2E4E2E6E2EAE2EB8FFE90409041E2F790429043E2F4D4F5E2F390449045C5AD9046D5FAC5C2B2C090479048E2EF9049E2F2C1AFCBBC904A904BB5A1E2F9904C904D904EBCB1E2F1D0D4D4B9E2F5B9D6E2F6904F90509051C7D390529053905490559056E2F0905790589059905A905BD7DCEDA1905C905DE2F8905EEDA5E2FECAD1905F906090619062906390649065C1B59066BBD090679068BFD69069BAE3906A906BCBA1906C906D906EEDA6EDA3906F9070EDA29071907290739074BBD6EDA7D0F490759076EDA4BADEB6F7E3A1B6B2CCF1B9A79077CFA2C7A190789079BFD2907A907BB6F1907CE2FAE2FBE2FDE2FCC4D5E3A2907DD3C1907E90809081E3A7C7C49082908390849085CFA490869087E3A9BAB790889089908A908BE3A8908CBBDA908DE3A3908E908F9090E3A4E3AA9091E3A69092CEF2D3C690939094BBBC90959096D4C39097C4FA90989099EDA8D0FCE3A5909AC3F5909BE3ADB1AF909CE3B2909D909E909FBCC290A090A1E3ACB5BF90A290A390A490A590A690A790A890A9C7E9E3B090AA90AB90ACBEAACDEF90AD90AE90AF90B090B1BBF390B290B390B4CCE890B590B6E3AF90B7E3B190B8CFA7E3AE90B9CEA9BBDD90BA90BB90BC90BD90BEB5EBBEE5B2D2B3CD90BFB1B9E3ABB2D1B5ACB9DFB6E890C090C1CFEBE3B790C2BBCC90C390C4C8C7D0CA90C590C690C790C890C9E3B8B3EE90CA90CB90CC90CDEDA990CED3FAD3E490CF90D090D1EDAAE3B9D2E290D290D390D490D590D6E3B590D790D890D990DAD3DE90DB90DC90DD90DEB8D0E3B390DF90E0E3B6B7DF90E1E3B4C0A290E290E390E4E3BA90E590E690E790E890E990EA90EB90EC90ED90EE90EF90F090F190F290F390F490F590F690F7D4B890F890F990FA90FB90FC90FD90FE9140B4C89141E3BB9142BBC59143C9F791449145C9E5914691479148C4BD9149914A914B914C914D914E914FEDAB9150915191529153C2FD9154915591569157BBDBBFAE91589159915A915B915C915D915ECEBF915F916091619162E3BC9163BFB6916491659166916791689169916A916B916C916D916E916F9170917191729173917491759176B1EF91779178D4F79179917A917B917C917DE3BE917E9180918191829183918491859186EDAD918791889189918A918B918C918D918E918FE3BFBAA9EDAC91909191E3BD91929193919491959196919791989199919A919BE3C0919C919D919E919F91A091A1BAB691A291A391A4B6AE91A591A691A791A891A9D0B891AAB0C3EDAE91AB91AC91AD91AE91AFEDAFC0C191B0E3C191B191B291B391B491B591B691B791B891B991BA91BB91BC91BD91BE91BF91C091C1C5B391C291C391C491C591C691C791C891C991CA91CB91CC91CD91CE91CFE3C291D091D191D291D391D491D591D691D791D8DCB291D991DA91DB91DC91DD91DEEDB091DFB8EA91E0CEECEAA7D0E7CAF9C8D6CFB7B3C9CED2BDE491E191E2E3DEBBF2EAA8D5BD91E3C6DDEAA991E491E591E6EAAA91E7EAACEAAB91E8EAAEEAAD91E991EA91EB91ECBDD891EDEAAF91EEC2BE91EF91F091F191F2B4C1B4F791F391F4BBA791F591F691F791F891F9ECE6ECE5B7BFCBF9B1E291FAECE791FB91FC91FDC9C8ECE8ECE991FECAD6DED0B2C5D4FA92409241C6CBB0C7B4F2C8D3924292439244CDD092459246BFB8924792489249924A924B924C924DBFDB924E924FC7A4D6B49250C0A9DED1C9A8D1EFC5A4B0E7B3B6C8C592519252B0E292539254B7F692559256C5FA92579258B6F39259D5D2B3D0BCBC925A925B925CB3AD925D925E925F9260BEF1B0D1926192629263926492659266D2D6CAE3D7A59267CDB6B6B6BFB9D5DB9268B8A7C5D79269926A926BDED2BFD9C2D5C7C0926CBBA4B1A8926D926EC5EA926F9270C5FBCCA79271927292739274B1A7927592769277B5D692789279927AC4A8927BDED3D1BAB3E9927CC3F2927D927EB7F79280D6F4B5A3B2F0C4B4C4E9C0ADDED49281B0E8C5C4C1E09282B9D59283BEDCCDD8B0CE9284CDCFDED6BED0D7BEDED5D5D0B0DD92859286C4E292879288C2A3BCF09289D3B5C0B9C5A1B2A6D4F1928A928BC0A8CAC3DED7D5FC928CB9B0928DC8ADCBA9928EDED9BFBD928F929092919292C6B4D7A7CAB0C4C39293B3D6B9D29294929592969297D6B8EAFCB0B492989299929A929BBFE6929C929DCCF4929E929F92A092A1CDDA92A292A392A4D6BFC2CE92A5CECECCA2D0AEC4D3B5B2DED8D5F5BCB7BBD392A692A7B0A492A8C5B2B4EC92A992AA92ABD5F192AC92ADEAFD92AE92AF92B092B192B292B3DEDACDA692B492B5CDEC92B692B792B892B9CEE6DEDC92BACDB1C0A692BB92BCD7BD92BDDEDBB0C6BAB4C9D3C4F3BEE892BE92BF92C092C1B2B692C292C392C492C592C692C792C892C9C0CCCBF092CABCF1BBBBB5B792CB92CC92CDC5F592CEDEE692CF92D092D1DEE3BEDD92D292D3DEDF92D492D592D692D7B4B7BDDD92D892D9DEE0C4ED92DA92DB92DC92DDCFC692DEB5E092DF92E092E192E2B6DECADAB5F4DEE592E3D5C692E4DEE1CCCDC6FE92E5C5C592E692E792E8D2B492E9BEF292EA92EB92EC92ED92EE92EF92F0C2D392F1CCBDB3B892F2BDD392F3BFD8CDC6D1DAB4EB92F4DEE4DEDDDEE792F5EAFE92F692F7C2B0DEE292F892F9D6C0B5A792FAB2F492FBDEE892FCDEF292FD92FE934093419342DEED9343DEF193449345C8E0934693479348D7E1DEEFC3E8CCE19349B2E5934A934B934CD2BE934D934E934F9350935193529353DEEE9354DEEBCED59355B4A79356935793589359935ABFABBEBE935B935CBDD2935D935E935F9360DEE99361D4AE9362DEDE9363DEEA9364936593669367C0BF9368DEECB2F3B8E9C2A79369936ABDC1936B936C936D936E936FDEF5DEF893709371B2ABB4A493729373B4EAC9A6937493759376937793789379DEF6CBD1937AB8E3937BDEF7DEFA937C937D937E9380DEF9938193829383CCC29384B0E1B4EE93859386938793889389938AE5BA938B938C938D938E938FD0AF93909391B2EB9392EBA19393DEF493949395C9E3DEF3B0DAD2A1B1F79396CCAF939793989399939A939B939C939DDEF0939ECBA4939F93A093A1D5AA93A293A393A493A593A6DEFB93A793A893A993AA93AB93AC93AD93AEB4DD93AFC4A693B093B193B2DEFD93B393B493B593B693B793B893B993BA93BB93BCC3FEC4A1DFA193BD93BE93BF93C093C193C293C3C1CC93C4DEFCBEEF93C5C6B293C693C793C893C993CA93CB93CC93CD93CEB3C5C8F693CF93D0CBBADEFE93D193D2DFA493D393D493D593D6D7B293D793D893D993DA93DBB3B793DC93DD93DE93DFC1C393E093E1C7CBB2A5B4E993E2D7AB93E393E493E593E6C4EC93E7DFA2DFA393E8DFA593E9BAB393EA93EB93ECDFA693EDC0DE93EE93EFC9C393F093F193F293F393F493F593F6B2D9C7E693F7DFA793F8C7DC93F993FA93FB93FCDFA8EBA293FD93FE944094419442CBD3944394449445DFAA9446DFA99447B2C194489449944A944B944C944D944E944F9450945194529453945494559456945794589459945A945B945C945D945E945F9460C5CA94619462946394649465946694679468DFAB9469946A946B946C946D946E946F9470D4DC94719472947394749475C8C19476947794789479947A947B947C947D947E948094819482DFAC94839484948594869487BEF094889489DFADD6A7948A948B948C948DEAB7EBB6CAD5948ED8FCB8C4948FB9A594909491B7C5D5FE94929493949494959496B9CA94979498D0A7F4CD9499949AB5D0949B949CC3F4949DBEC8949E949F94A0EBB7B0BD94A194A2BDCC94A3C1B294A4B1D6B3A894A594A694A7B8D2C9A294A894A9B6D894AA94AB94AC94ADEBB8BEB494AE94AF94B0CAFD94B1C7C394B2D5FB94B394B4B7F394B594B694B794B894B994BA94BB94BC94BD94BE94BF94C094C194C294C3CEC494C494C594C6D5ABB1F394C794C894C9ECB3B0DF94CAECB594CB94CC94CDB6B794CEC1CF94CFF5FAD0B194D094D1D5E594D2CED394D394D4BDEFB3E294D5B8AB94D6D5B694D7EDBD94D8B6CF94D9CBB9D0C294DA94DB94DC94DD94DE94DF94E094E1B7BD94E294E3ECB6CAA994E494E594E6C5D494E7ECB9ECB8C2C3ECB794E894E994EA94EBD0FDECBA94ECECBBD7E594ED94EEECBC94EF94F094F1ECBDC6EC94F294F394F494F594F694F794F894F9CEDE94FABCC894FB94FCC8D5B5A9BEC9D6BCD4E794FD94FED1AED0F1EAB8EAB9EABABAB59540954195429543CAB1BFF595449545CDFA9546954795489549954AEAC0954BB0BAEABE954C954DC0A5954E954F9550EABB9551B2FD9552C3F7BBE8955395549555D2D7CEF4EABF955695579558EABC9559955A955BEAC3955CD0C7D3B3955D955E955F9560B4BA9561C3C1D7F29562956395649565D5D19566CAC79567EAC595689569EAC4EAC7EAC6956A956B956C956D956ED6E7956FCFD495709571EACB9572BBCE9573957495759576957795789579BDFAC9CE957A957BEACC957C957DC9B9CFFEEACAD4CEEACDEACF957E9580CDED9581958295839584EAC99585EACE95869587CEEE9588BBDE9589B3BF958A958B958C958D958EC6D5BEB0CEFA958F95909591C7E79592BEA7EAD095939594D6C7959595969597C1C095989599959AD4DD959BEAD1959C959DCFBE959E959F95A095A1EAD295A295A395A495A5CAEE95A695A795A895A9C5AFB0B595AA95AB95AC95AD95AEEAD495AF95B095B195B295B395B495B595B695B7EAD3F4DF95B895B995BA95BB95BCC4BA95BD95BE95BF95C095C1B1A995C295C395C495C5E5DF95C695C795C895C9EAD595CA95CB95CC95CD95CE95CF95D095D195D295D395D495D595D695D795D895D995DA95DB95DC95DD95DE95DF95E095E195E295E3CAEF95E4EAD6EAD7C6D895E595E695E795E895E995EA95EB95ECEAD895ED95EEEAD995EF95F095F195F295F395F4D4BB95F5C7FAD2B7B8FC95F695F7EAC295F8B2DC95F995FAC2FC95FBD4F8CCE6D7EE95FC95FD95FE9640964196429643D4C2D3D0EBC3C5F39644B7FE96459646EBD4964796489649CBB7EBDE964AC0CA964B964C964DCDFB964EB3AF964FC6DA965096519652965396549655EBFC9656C4BE9657CEB4C4A9B1BED4FD9658CAF59659D6EC965A965BC6D3B6E4965C965D965E965FBBFA96609661D0E096629663C9B19664D4D3C8A896659666B8CB9667E8BEC9BC96689669E8BB966AC0EED0D3B2C4B4E5966BE8BC966C966DD5C8966E966F967096719672B6C59673E8BDCAF8B8DCCCF5967496759676C0B496779678D1EEE8BFE8C29679967ABABC967BB1ADBDDC967CEABDE8C3967DE8C6967EE8CB9680968196829683E8CC9684CBC9B0E59685BCAB96869687B9B996889689E8C1968ACDF7968BE8CA968C968D968E968FCEF69690969196929693D5ED9694C1D6E8C49695C3B69696B9FBD6A6E8C8969796989699CAE0D4E6969AE8C0969BE8C5E8C7969CC7B9B7E3969DE8C9969EBFDDE8D2969F96A0E8D796A1E8D5BCDCBCCFE8DB96A296A396A496A596A696A796A896A9E8DE96AAE8DAB1FA96AB96AC96AD96AE96AF96B096B196B296B396B4B0D8C4B3B8CCC6E2C8BEC8E196B596B696B7E8CFE8D4E8D696B8B9F1E8D8D7F596B9C4FB96BAE8DC96BB96BCB2E996BD96BE96BFE8D196C096C1BCED96C296C3BFC2E8CDD6F996C4C1F8B2F196C596C696C796C896C996CA96CB96CCE8DF96CDCAC1E8D996CE96CF96D096D1D5A496D2B1EAD5BBE8CEE8D0B6B0E8D396D3E8DDC0B896D4CAF796D5CBA896D696D7C6DCC0F596D896D996DA96DB96DCE8E996DD96DE96DFD0A396E096E196E296E396E496E596E6E8F2D6EA96E796E896E996EA96EB96EC96EDE8E0E8E196EE96EF96F0D1F9BACBB8F996F196F2B8F1D4D4E8EF96F3E8EEE8ECB9F0CCD2E8E6CEA6BFF296F4B0B8E8F1E8F096F5D7C096F6E8E496F7CDA9C9A396F8BBB8BDDBE8EA96F996FA96FB96FC96FD96FE9740974197429743E8E2E8E3E8E5B5B5E8E7C7C5E8EBE8EDBDB0D7AE9744E8F897459746974797489749974A974B974CE8F5974DCDB0E8F6974E974F9750975197529753975497559756C1BA9757E8E89758C3B7B0F09759975A975B975C975D975E975F9760E8F4976197629763E8F7976497659766B9A3976797689769976A976B976C976D976E976F9770C9D2977197729773C3CECEE0C0E69774977597769777CBF39778CCDDD0B59779977ACAE1977BE8F3977C977D977E9780978197829783978497859786BCEC9787E8F997889789978A978B978C978DC3DE978EC6E5978FB9F79790979197929793B0F497949795D7D897969797BCAC9798C5EF9799979A979B979C979DCCC4979E979FE9A697A097A197A297A397A497A597A697A797A897A9C9AD97AAE9A2C0E297AB97AC97ADBFC397AE97AF97B0E8FEB9D797B1E8FB97B297B397B497B5E9A497B697B797B8D2CE97B997BA97BB97BC97BDE9A397BED6B2D7B597BFE9A797C0BDB797C197C297C397C497C597C697C797C897C997CA97CB97CCE8FCE8FD97CD97CE97CFE9A197D097D197D297D397D497D597D697D7CDD697D897D9D2AC97DA97DB97DCE9B297DD97DE97DF97E0E9A997E197E297E3B4AA97E4B4BB97E597E6E9AB97E797E897E997EA97EB97EC97ED97EE97EF97F097F197F297F397F497F597F697F7D0A897F897F9E9A597FA97FBB3FE97FC97FDE9ACC0E397FEE9AA98409841E9B998429843E9B89844984598469847E9AE98489849E8FA984A984BE9A8984C984D984E984F9850BFACE9B1E9BA98519852C2A5985398549855E9AF9856B8C59857E9AD9858D3DCE9B4E9B5E9B79859985A985BE9C7985C985D985E985F98609861C0C6E9C598629863E9B098649865E9BBB0F19866986798689869986A986B986C986D986E986FE9BCD5A598709871E9BE9872E9BF987398749875E9C198769877C1F198789879C8B6987A987B987CE9BD987D987E988098819882E9C29883988498859886988798889889988AE9C3988BE9B3988CE9B6988DBBB1988E988F9890E9C0989198929893989498959896BCF7989798989899E9C4E9C6989A989B989C989D989E989F98A098A198A298A398A498A5E9CA98A698A798A898A9E9CE98AA98AB98AC98AD98AE98AF98B098B198B298B3B2DB98B4E9C898B598B698B798B898B998BA98BB98BC98BD98BEB7AE98BF98C098C198C298C398C498C598C698C798C898C998CAE9CBE9CC98CB98CC98CD98CE98CF98D0D5C198D1C4A398D298D398D498D598D698D7E9D898D8BAE198D998DA98DB98DCE9C998DDD3A398DE98DF98E0E9D498E198E298E398E498E598E698E7E9D7E9D098E898E998EA98EB98ECE9CF98ED98EEC7C198EF98F098F198F298F398F498F598F6E9D298F798F898F998FA98FB98FC98FDE9D9B3C898FEE9D399409941994299439944CFF0994599469947E9CD99489949994A994B994C994D994E994F995099519952B3F79953995499559956995799589959E9D6995A995BE9DA995C995D995ECCB4995F99609961CFAD99629963996499659966996799689969996AE9D5996BE9DCE9DB996C996D996E996F9970E9DE99719972997399749975997699779978E9D19979997A997B997C997D997E99809981E9DD9982E9DFC3CA9983998499859986998799889989998A998B998C998D998E998F9990999199929993999499959996999799989999999A999B999C999D999E999F99A099A199A299A399A499A599A699A799A899A999AA99AB99AC99AD99AE99AF99B099B199B299B399B499B599B699B799B899B999BA99BB99BC99BD99BE99BF99C099C199C299C399C499C599C699C799C899C999CA99CB99CC99CD99CE99CF99D099D199D299D399D499D599D699D799D899D999DA99DB99DC99DD99DE99DF99E099E199E299E399E499E599E699E799E899E999EA99EB99EC99ED99EE99EF99F099F199F299F399F499F5C7B7B4CEBBB6D0C0ECA399F699F7C5B799F899F999FA99FB99FC99FD99FE9A409A419A42D3FB9A439A449A459A46ECA49A47ECA5C6DB9A489A499A4ABFEE9A4B9A4C9A4D9A4EECA69A4F9A50ECA7D0AA9A51C7B89A529A53B8E89A549A559A569A579A589A599A5A9A5B9A5C9A5D9A5E9A5FECA89A609A619A629A639A649A659A669A67D6B9D5FDB4CBB2BDCEE4C6E79A689A69CDE19A6A9A6B9A6C9A6D9A6E9A6F9A709A719A729A739A749A759A769A77B4F59A78CBC0BCDF9A799A7A9A7B9A7CE9E2E9E3D1EAE9E59A7DB4F9E9E49A7ED1B3CAE2B2D09A80E9E89A819A829A839A84E9E6E9E79A859A86D6B39A879A889A89E9E9E9EA9A8A9A8B9A8C9A8D9A8EE9EB9A8F9A909A919A929A939A949A959A96E9EC9A979A989A999A9A9A9B9A9C9A9D9A9EECAFC5B9B6CE9A9FD2F39AA09AA19AA29AA39AA49AA59AA6B5EE9AA7BBD9ECB19AA89AA9D2E39AAA9AAB9AAC9AAD9AAECEE39AAFC4B89AB0C3BF9AB19AB2B6BED8B9B1C8B1CFB1D1C5FE9AB3B1D09AB4C3AB9AB59AB69AB79AB89AB9D5B19ABA9ABB9ABC9ABD9ABE9ABF9AC09AC1EBA4BAC19AC29AC39AC4CCBA9AC59AC69AC7EBA59AC8EBA79AC99ACA9ACBEBA89ACC9ACD9ACEEBA69ACF9AD09AD19AD29AD39AD49AD5EBA9EBABEBAA9AD69AD79AD89AD99ADAEBAC9ADBCACFD8B5C3F19ADCC3A5C6F8EBADC4CA9ADDEBAEEBAFEBB0B7D59ADE9ADF9AE0B7FA9AE1EBB1C7E29AE2EBB39AE3BAA4D1F5B0B1EBB2EBB49AE49AE59AE6B5AAC2C8C7E89AE7EBB59AE8CBAEE3DF9AE99AEAD3C09AEB9AEC9AED9AEED9DB9AEF9AF0CDA1D6ADC7F39AF19AF29AF3D9E0BBE39AF4BABAE3E29AF59AF69AF79AF89AF9CFAB9AFA9AFB9AFCE3E0C9C79AFDBAB99AFE9B409B41D1B4E3E1C8EAB9AFBDADB3D8CEDB9B429B43CCC09B449B459B46E3E8E3E9CDF49B479B489B499B4A9B4BCCAD9B4CBCB39B4DE3EA9B4EE3EB9B4F9B50D0DA9B519B529B53C6FBB7DA9B549B55C7DFD2CACED69B56E3E4E3EC9B57C9F2B3C19B589B59E3E79B5A9B5BC6E3E3E59B5C9B5DEDB3E3E69B5E9B5F9B609B61C9B39B62C5E69B639B649B65B9B59B66C3BB9B67E3E3C5BDC1A4C2D9B2D79B68E3EDBBA6C4AD9B69E3F0BEDA9B6A9B6BE3FBE3F5BAD39B6C9B6D9B6E9B6FB7D0D3CD9B70D6CED5D3B9C1D5B4D1D89B719B729B739B74D0B9C7F69B759B769B77C8AAB2B49B78C3DA9B799B7A9B7BE3EE9B7C9B7DE3FCE3EFB7A8E3F7E3F49B7E9B809B81B7BA9B829B83C5A29B84E3F6C5DDB2A8C6FC9B85C4E09B869B87D7A29B88C0E1E3F99B899B8AE3FAE3FDCCA9E3F39B8BD3BE9B8CB1C3EDB4E3F1E3F29B8DE3F8D0BAC6C3D4F3E3FE9B8E9B8FBDE09B909B91E4A79B929B93E4A69B949B959B96D1F3E4A39B97E4A99B989B999B9AC8F79B9B9B9C9B9D9B9ECFB49B9FE4A8E4AEC2E59BA09BA1B6B49BA29BA39BA49BA59BA69BA7BDF29BA8E4A29BA99BAABAE9E4AA9BAB9BACE4AC9BAD9BAEB6FDD6DEE4B29BAFE4AD9BB09BB19BB2E4A19BB3BBEECDDDC7A2C5C99BB49BB5C1F79BB6E4A49BB7C7B3BDACBDBDE4A59BB8D7C7B2E29BB9E4ABBCC3E4AF9BBABBEBE4B0C5A8E4B19BBB9BBC9BBD9BBED5E3BFA39BBFE4BA9BC0E4B79BC1E4BB9BC29BC3E4BD9BC49BC5C6D69BC69BC7BAC6C0CB9BC89BC99BCAB8A1E4B49BCB9BCC9BCD9BCED4A19BCF9BD0BAA3BDFE9BD19BD29BD3E4BC9BD49BD59BD69BD79BD8CDBF9BD99BDAC4F99BDB9BDCCFFBC9E69BDD9BDED3BF9BDFCFD19BE09BE1E4B39BE2E4B8E4B9CCE99BE39BE49BE59BE69BE7CCCE9BE8C0D4E4B5C1B0E4B6CED09BE9BBC1B5D39BEAC8F3BDA7D5C7C9ACB8A2E4CA9BEB9BECE4CCD1C49BED9BEED2BA9BEF9BF0BAAD9BF19BF2BAD49BF39BF49BF59BF69BF79BF8E4C3B5ED9BF99BFA9BFBD7CDE4C0CFFDE4BF9BFC9BFD9BFEC1DCCCCA9C409C419C429C43CAE79C449C459C469C47C4D79C48CCD4E4C89C499C4A9C4BE4C7E4C19C4CE4C4B5AD9C4D9C4ED3D99C4FE4C69C509C519C529C53D2F9B4E39C54BBB49C559C56C9EE9C57B4BE9C589C599C5ABBEC9C5BD1CD9C5CCCEDEDB59C5D9C5E9C5F9C609C619C629C639C64C7E59C659C669C679C68D4A89C69E4CBD7D5E4C29C6ABDA5E4C59C6B9C6CD3E69C6DE4C9C9F89C6E9C6FE4BE9C709C71D3E59C729C73C7FEB6C99C74D4FCB2B3E4D79C759C769C77CEC29C78E4CD9C79CEBC9C7AB8DB9C7B9C7CE4D69C7DBFCA9C7E9C809C81D3CE9C82C3EC9C839C849C859C869C879C889C899C8AC5C8E4D89C8B9C8C9C8D9C8E9C8F9C909C919C92CDC4E4CF9C939C949C959C96E4D4E4D59C97BAFE9C98CFE69C999C9AD5BF9C9B9C9C9C9DE4D29C9E9C9F9CA09CA19CA29CA39CA49CA59CA69CA79CA8E4D09CA99CAAE4CE9CAB9CAC9CAD9CAE9CAF9CB09CB19CB29CB39CB49CB59CB69CB79CB89CB9CDE5CAAA9CBA9CBB9CBCC0A39CBDBDA6E4D39CBE9CBFB8C89CC09CC19CC29CC39CC4E4E7D4B49CC59CC69CC79CC89CC99CCA9CCBE4DB9CCC9CCD9CCEC1EF9CCF9CD0E4E99CD19CD2D2E79CD39CD4E4DF9CD5E4E09CD69CD7CFAA9CD89CD99CDA9CDBCBDD9CDCE4DAE4D19CDDE4E59CDEC8DCE4E39CDF9CE0C4E7E4E29CE1E4E19CE29CE39CE4B3FCE4E89CE59CE69CE79CE8B5E19CE99CEA9CEBD7CC9CEC9CED9CEEE4E69CEFBBAC9CF0D7D2CCCFEBF89CF1E4E49CF29CF3B9F69CF49CF59CF6D6CDE4D9E4DCC2FAE4DE9CF7C2CBC0C4C2D09CF8B1F5CCB29CF99CFA9CFB9CFC9CFD9CFE9D409D419D429D43B5CE9D449D459D469D47E4EF9D489D499D4A9D4B9D4C9D4D9D4E9D4FC6AF9D509D519D52C6E19D539D54E4F59D559D569D579D589D59C2A99D5A9D5B9D5CC0ECD1DDE4EE9D5D9D5E9D5F9D609D619D629D639D649D659D66C4AE9D679D689D69E4ED9D6A9D6B9D6C9D6DE4F6E4F4C2FE9D6EE4DD9D6FE4F09D70CAFE9D71D5C49D729D73E4F19D749D759D769D779D789D799D7AD1FA9D7B9D7C9D7D9D7E9D809D819D82E4EBE4EC9D839D849D85E4F29D86CEAB9D879D889D899D8A9D8B9D8C9D8D9D8E9D8F9D90C5CB9D919D929D93C7B19D94C2BA9D959D969D97E4EA9D989D999D9AC1CA9D9B9D9C9D9D9D9E9D9F9DA0CCB6B3B19DA19DA29DA3E4FB9DA4E4F39DA59DA69DA7E4FA9DA8E4FD9DA9E4FC9DAA9DAB9DAC9DAD9DAE9DAF9DB0B3CE9DB19DB29DB3B3BAE4F79DB49DB5E4F9E4F8C5EC9DB69DB79DB89DB99DBA9DBB9DBC9DBD9DBE9DBF9DC09DC19DC2C0BD9DC39DC49DC59DC6D4E89DC79DC89DC99DCA9DCBE5A29DCC9DCD9DCE9DCF9DD09DD19DD29DD39DD49DD59DD6B0C49DD79DD8E5A49DD99DDAE5A39DDB9DDC9DDD9DDE9DDF9DE0BCA49DE1E5A59DE29DE39DE49DE59DE69DE7E5A19DE89DE99DEA9DEB9DEC9DED9DEEE4FEB1F49DEF9DF09DF19DF29DF39DF49DF59DF69DF79DF89DF9E5A89DFAE5A9E5A69DFB9DFC9DFD9DFE9E409E419E429E439E449E459E469E47E5A7E5AA9E489E499E4A9E4B9E4C9E4D9E4E9E4F9E509E519E529E539E549E559E569E579E589E599E5A9E5B9E5C9E5D9E5E9E5F9E609E619E629E639E649E659E669E679E68C6D99E699E6A9E6B9E6C9E6D9E6E9E6F9E70E5ABE5AD9E719E729E739E749E759E769E77E5AC9E789E799E7A9E7B9E7C9E7D9E7E9E809E819E829E839E849E859E869E879E889E89E5AF9E8A9E8B9E8CE5AE9E8D9E8E9E8F9E909E919E929E939E949E959E969E979E989E999E9A9E9B9E9C9E9D9E9EB9E09E9F9EA0E5B09EA19EA29EA39EA49EA59EA69EA79EA89EA99EAA9EAB9EAC9EAD9EAEE5B19EAF9EB09EB19EB29EB39EB49EB59EB69EB79EB89EB99EBABBF0ECE1C3F09EBBB5C6BBD29EBC9EBD9EBE9EBFC1E9D4EE9EC0BEC49EC19EC29EC3D7C69EC4D4D6B2D3ECBE9EC59EC69EC79EC8EAC19EC99ECA9ECBC2AFB4B69ECC9ECD9ECED1D79ECF9ED09ED1B3B49ED2C8B2BFBBECC09ED39ED4D6CB9ED59ED6ECBFECC19ED79ED89ED99EDA9EDB9EDC9EDD9EDE9EDF9EE09EE19EE29EE3ECC5BEE6CCBFC5DABEBC9EE4ECC69EE5B1FE9EE69EE79EE8ECC4D5A8B5E39EE9ECC2C1B6B3E39EEA9EEBECC3CBB8C0C3CCFE9EEC9EED9EEE9EEFC1D29EF0ECC89EF19EF29EF39EF49EF59EF69EF79EF89EF99EFA9EFB9EFC9EFDBAE6C0D39EFED6F29F409F419F42D1CC9F439F449F459F46BFBE9F47B7B3C9D5ECC7BBE29F48CCCCBDFDC8C89F49CFA99F4A9F4B9F4C9F4D9F4E9F4F9F50CDE99F51C5EB9F529F539F54B7E99F559F569F579F589F599F5A9F5B9F5C9F5D9F5E9F5FD1C9BAB89F609F619F629F639F64ECC99F659F66ECCA9F67BBC0ECCB9F68ECE2B1BAB7D99F699F6A9F6B9F6C9F6D9F6E9F6F9F709F719F729F73BDB99F749F759F769F779F789F799F7A9F7BECCCD1E6ECCD9F7C9F7D9F7E9F80C8BB9F819F829F839F849F859F869F879F889F899F8A9F8B9F8C9F8D9F8EECD19F8F9F909F919F92ECD39F93BBCD9F94BCE59F959F969F979F989F999F9A9F9B9F9C9F9D9F9E9F9F9FA09FA1ECCF9FA2C9B79FA39FA49FA59FA69FA7C3BA9FA8ECE3D5D5ECD09FA99FAA9FAB9FAC9FADD6F39FAE9FAF9FB0ECD2ECCE9FB19FB29FB39FB4ECD49FB5ECD59FB69FB7C9BF9FB89FB99FBA9FBB9FBC9FBDCFA89FBE9FBF9FC09FC19FC2D0DC9FC39FC49FC59FC6D1AC9FC79FC89FC99FCAC8DB9FCB9FCC9FCDECD6CEF59FCE9FCF9FD09FD19FD2CAECECDA9FD39FD49FD59FD69FD79FD89FD9ECD99FDA9FDB9FDCB0BE9FDD9FDE9FDF9FE09FE19FE2ECD79FE3ECD89FE49FE59FE6ECE49FE79FE89FE99FEA9FEB9FEC9FED9FEE9FEFC8BC9FF09FF19FF29FF39FF49FF59FF69FF79FF89FF9C1C79FFA9FFB9FFC9FFD9FFEECDCD1E0A040A041A042A043A044A045A046A047A048A049ECDBA04AA04BA04CA04DD4EFA04EECDDA04FA050A051A052A053A054DBC6A055A056A057A058A059A05AA05BA05CA05DA05EECDEA05FA060A061A062A063A064A065A066A067A068A069A06AB1ACA06BA06CA06DA06EA06FA070A071A072A073A074A075A076A077A078A079A07AA07BA07CA07DA07EA080A081ECDFA082A083A084A085A086A087A088A089A08AA08BECE0A08CD7A6A08DC5C0A08EA08FA090EBBCB0AEA091A092A093BEF4B8B8D2AFB0D6B5F9A094D8B3A095CBACA096E3DDA097A098A099A09AA09BA09CA09DC6ACB0E6A09EA09FA0A0C5C6EBB9A0A1A0A2A0A3A0A4EBBAA0A5A0A6A0A7EBBBA0A8A0A9D1C0A0AAC5A3A0ABEAF2A0ACC4B2A0ADC4B5C0CEA0AEA0AFA0B0EAF3C4C1A0B1CEEFA0B2A0B3A0B4A0B5EAF0EAF4A0B6A0B7C9FCA0B8A0B9C7A3A0BAA0BBA0BCCCD8CEFEA0BDA0BEA0BFEAF5EAF6CFACC0E7A0C0A0C1EAF7A0C2A0C3A0C4A0C5A0C6B6BFEAF8A0C7EAF9A0C8EAFAA0C9A0CAEAFBA0CBA0CCA0CDA0CEA0CFA0D0A0D1A0D2A0D3A0D4A0D5A0D6EAF1A0D7A0D8A0D9A0DAA0DBA0DCA0DDA0DEA0DFA0E0A0E1A0E2C8AEE1EBA0E3B7B8E1ECA0E4A0E5A0E6E1EDA0E7D7B4E1EEE1EFD3CCA0E8A0E9A0EAA0EBA0ECA0EDA0EEE1F1BFF1E1F0B5D2A0EFA0F0A0F1B1B7A0F2A0F3A0F4A0F5E1F3E1F2A0F6BAFCA0F7E1F4A0F8A0F9A0FAA0FBB9B7A0FCBED1A0FDA0FEAA40AA41C4FCAA42BADDBDC6AA43AA44AA45AA46AA47AA48E1F5E1F7AA49AA4AB6C0CFC1CAA8E1F6D5F8D3FCE1F8E1FCE1F9AA4BAA4CE1FAC0EAAA4DE1FEE2A1C0C7AA4EAA4FAA50AA51E1FBAA52E1FDAA53AA54AA55AA56AA57AA58E2A5AA59AA5AAA5BC1D4AA5CAA5DAA5EAA5FE2A3AA60E2A8B2FEE2A2AA61AA62AA63C3CDB2C2E2A7E2A6AA64AA65E2A4E2A9AA66AA67E2ABAA68AA69AA6AD0C9D6EDC3A8E2ACAA6BCFD7AA6CAA6DE2AEAA6EAA6FBAEFAA70AA71E9E0E2ADE2AAAA72AA73AA74AA75BBABD4B3AA76AA77AA78AA79AA7AAA7BAA7CAA7DAA7EAA80AA81AA82AA83E2B0AA84AA85E2AFAA86E9E1AA87AA88AA89AA8AE2B1AA8BAA8CAA8DAA8EAA8FAA90AA91AA92E2B2AA93AA94AA95AA96AA97AA98AA99AA9AAA9BAA9CAA9DE2B3CCA1AA9EE2B4AA9FAAA0AB40AB41AB42AB43AB44AB45AB46AB47AB48AB49AB4AAB4BE2B5AB4CAB4DAB4EAB4FAB50D0FEAB51AB52C2CAAB53D3F1AB54CDF5AB55AB56E7E0AB57AB58E7E1AB59AB5AAB5BAB5CBEC1AB5DAB5EAB5FAB60C2EAAB61AB62AB63E7E4AB64AB65E7E3AB66AB67AB68AB69AB6AAB6BCDE6AB6CC3B5AB6DAB6EE7E2BBB7CFD6AB6FC1E1E7E9AB70AB71AB72E7E8AB73AB74E7F4B2A3AB75AB76AB77AB78E7EAAB79E7E6AB7AAB7BAB7CAB7DAB7EE7ECE7EBC9BAAB80AB81D5E4AB82E7E5B7A9E7E7AB83AB84AB85AB86AB87AB88AB89E7EEAB8AAB8BAB8CAB8DE7F3AB8ED6E9AB8FAB90AB91AB92E7EDAB93E7F2AB94E7F1AB95AB96AB97B0E0AB98AB99AB9AAB9BE7F5AB9CAB9DAB9EAB9FABA0AC40AC41AC42AC43AC44AC45AC46AC47AC48AC49AC4AC7F2AC4BC0C5C0EDAC4CAC4DC1F0E7F0AC4EAC4FAC50AC51E7F6CBF6AC52AC53AC54AC55AC56AC57AC58AC59AC5AE8A2E8A1AC5BAC5CAC5DAC5EAC5FAC60D7C1AC61AC62E7FAE7F9AC63E7FBAC64E7F7AC65E7FEAC66E7FDAC67E7FCAC68AC69C1D5C7D9C5FDC5C3AC6AAC6BAC6CAC6DAC6EC7EDAC6FAC70AC71AC72E8A3AC73AC74AC75AC76AC77AC78AC79AC7AAC7BAC7CAC7DAC7EAC80AC81AC82AC83AC84AC85AC86E8A6AC87E8A5AC88E8A7BAF7E7F8E8A4AC89C8F0C9AAAC8AAC8BAC8CAC8DAC8EAC8FAC90AC91AC92AC93AC94AC95AC96E8A9AC97AC98B9E5AC99AC9AAC9BAC9CAC9DD1FEE8A8AC9EAC9FACA0AD40AD41AD42E8AAAD43E8ADE8AEAD44C1A7AD45AD46AD47E8AFAD48AD49AD4AE8B0AD4BAD4CE8ACAD4DE8B4AD4EAD4FAD50AD51AD52AD53AD54AD55AD56AD57AD58E8ABAD59E8B1AD5AAD5BAD5CAD5DAD5EAD5FAD60AD61E8B5E8B2E8B3AD62AD63AD64AD65AD66AD67AD68AD69AD6AAD6BAD6CAD6DAD6EAD6FAD70AD71E8B7AD72AD73AD74AD75AD76AD77AD78AD79AD7AAD7BAD7CAD7DAD7EAD80AD81AD82AD83AD84AD85AD86AD87AD88AD89E8B6AD8AAD8BAD8CAD8DAD8EAD8FAD90AD91AD92B9CFAD93F0ACAD94F0ADAD95C6B0B0EAC8BFAD96CDDFAD97AD98AD99AD9AAD9BAD9CAD9DCECDEAB1AD9EAD9FADA0AE40EAB2AE41C6BFB4C9AE42AE43AE44AE45AE46AE47AE48EAB3AE49AE4AAE4BAE4CD5E7AE4DAE4EAE4FAE50AE51AE52AE53AE54DDF9AE55EAB4AE56EAB5AE57EAB6AE58AE59AE5AAE5BB8CADFB0C9F5AE5CCCF0AE5DAE5EC9FAAE5FAE60AE61AE62AE63C9FBAE64AE65D3C3CBA6AE66B8A6F0AEB1C2AE67E5B8CCEFD3C9BCD7C9EAAE68B5E7AE69C4D0B5E9AE6AEEAEBBADAE6BAE6CE7DEAE6DEEAFAE6EAE6FAE70AE71B3A9AE72AE73EEB2AE74AE75EEB1BDE7AE76EEB0CEB7AE77AE78AE79AE7AC5CFAE7BAE7CAE7DAE7EC1F4DBCEEEB3D0F3AE80AE81AE82AE83AE84AE85AE86AE87C2D4C6E8AE88AE89AE8AB7ACAE8BAE8CAE8DAE8EAE8FAE90AE91EEB4AE92B3EBAE93AE94AE95BBFBEEB5AE96AE97AE98AE99AE9AE7DCAE9BAE9CAE9DEEB6AE9EAE9FBDAEAEA0AF40AF41AF42F1E2AF43AF44AF45CAE8AF46D2C9F0DAAF47F0DBAF48F0DCC1C6AF49B8EDBECEAF4AAF4BF0DEAF4CC5B1F0DDD1F1AF4DF0E0B0CCBDEAAF4EAF4FAF50AF51AF52D2DFF0DFAF53B4AFB7E8F0E6F0E5C6A3F0E1F0E2B4C3AF54AF55F0E3D5EEAF56AF57CCDBBED2BCB2AF58AF59AF5AF0E8F0E7F0E4B2A1AF5BD6A2D3B8BEB7C8ACAF5CAF5DF0EAAF5EAF5FAF60AF61D1F7AF62D6CCBADBF0E9AF63B6BBAF64AF65CDB4AF66AF67C6A6AF68AF69AF6AC1A1F0EBF0EEAF6BF0EDF0F0F0ECAF6CBBBEF0EFAF6DAF6EAF6FAF70CCB5F0F2AF71AF72B3D5AF73AF74AF75AF76B1D4AF77AF78F0F3AF79AF7AF0F4F0F6B4E1AF7BF0F1AF7CF0F7AF7DAF7EAF80AF81F0FAAF82F0F8AF83AF84AF85F0F5AF86AF87AF88AF89F0FDAF8AF0F9F0FCF0FEAF8BF1A1AF8CAF8DAF8ECEC1F1A4AF8FF1A3AF90C1F6F0FBCADDAF91AF92B4F1B1F1CCB1AF93F1A6AF94AF95F1A7AF96AF97F1ACD5CEF1A9AF98AF99C8B3AF9AAF9BAF9CF1A2AF9DF1ABF1A8F1A5AF9EAF9FF1AAAFA0B040B041B042B043B044B045B046B0A9F1ADB047B048B049B04AB04BB04CF1AFB04DF1B1B04EB04FB050B051B052F1B0B053F1AEB054B055B056B057D1A2B058B059B05AB05BB05CB05DB05EF1B2B05FB060B061F1B3B062B063B064B065B066B067B068B069B9EFB06AB06BB5C7B06CB0D7B0D9B06DB06EB06FD4EDB070B5C4B071BDD4BBCAF0A7B072B073B8DEB074B075F0A8B076B077B0A8B078F0A9B079B07ACDEEB07BB07CF0AAB07DB07EB080B081B082B083B084B085B086B087F0ABB088B089B08AB08BB08CB08DB08EB08FB090C6A4B091B092D6E5F1E4B093F1E5B094B095B096B097B098B099B09AB09BB09CB09DC3F3B09EB09FD3DBB0A0B140D6D1C5E8B141D3AFB142D2E6B143B144EEC1B0BBD5B5D1CEBCE0BAD0B145BFF8B146B8C7B5C1C5CCB147B148CAA2B149B14AB14BC3CBB14CB14DB14EB14FB150EEC2B151B152B153B154B155B156B157B158C4BFB6A2B159EDECC3A4B15AD6B1B15BB15CB15DCFE0EDEFB15EB15FC5CEB160B6DCB161B162CAA1B163B164EDEDB165B166EDF0EDF1C3BCB167BFB4B168EDEEB169B16AB16BB16CB16DB16EB16FB170B171B172B173EDF4EDF2B174B175B176B177D5E6C3DFB178EDF3B179B17AB17BEDF6B17CD5A3D1A3B17DB17EB180EDF5B181C3D0B182B183B184B185B186EDF7BFF4BEECEDF8B187CCF7B188D1DBB189B18AB18BD7C5D5F6B18CEDFCB18DB18EB18FEDFBB190B191B192B193B194B195B196B197EDF9EDFAB198B199B19AB19BB19CB19DB19EB19FEDFDBEA6B1A0B240B241B242B243CBAFEEA1B6BDB244EEA2C4C0B245EDFEB246B247BDDEB2C7B248B249B24AB24BB24CB24DB24EB24FB250B251B252B253B6C3B254B255B256EEA5D8BAEEA3EEA6B257B258B259C3E9B3F2B25AB25BB25CB25DB25EB25FEEA7EEA4CFB9B260B261EEA8C2F7B262B263B264B265B266B267B268B269B26AB26BB26CB26DEEA9EEAAB26EDEABB26FB270C6B3B271C7C6B272D6F5B5C9B273CBB2B274B275B276EEABB277B278CDABB279EEACB27AB27BB27CB27DB27ED5B0B280EEADB281F6C4B282B283B284B285B286B287B288B289B28AB28BB28CB28DB28EDBC7B28FB290B291B292B293B294B295B296B297B4A3B298B299B29AC3ACF1E6B29BB29CB29DB29EB29FCAB8D2D3B2A0D6AAB340EFF2B341BED8B342BDC3EFF3B6CCB0ABB343B344B345B346CAAFB347B348EDB6B349EDB7B34AB34BB34CB34DCEF9B7AFBFF3EDB8C2EBC9B0B34EB34FB350B351B352B353EDB9B354B355C6F6BFB3B356B357B358EDBCC5F8B359D1D0B35AD7A9EDBAEDBBB35BD1E2B35CEDBFEDC0B35DEDC4B35EB35FB360EDC8B361EDC6EDCED5E8B362EDC9B363B364EDC7EDBEB365B366C5E9B367B368B369C6C6B36AB36BC9E9D4D2EDC1EDC2EDC3EDC5B36CC0F9B36DB4A1B36EB36FB370B371B9E8B372EDD0B373B374B375B376EDD1B377EDCAB378EDCFB379CEF8B37AB37BCBB6EDCCEDCDB37CB37DB37EB380B381CFF5B382B383B384B385B386B387B388B389B38AB38BB38CB38DEDD2C1F2D3B2EDCBC8B7B38EB38FB390B391B392B393B394B395BCEFB396B397B398B399C5F0B39AB39BB39CB39DB39EB39FB3A0B440B441B442EDD6B443B5EFB444B445C2B5B0ADCBE9B446B447B1AEB448EDD4B449B44AB44BCDEBB5E2B44CEDD5EDD3EDD7B44DB44EB5FAB44FEDD8B450EDD9B451EDDCB452B1CCB453B454B455B456B457B458B459B45AC5F6BCEEEDDACCBCB2EAB45BB45CB45DB45EEDDBB45FB460B461B462C4EBB463B464B4C5B465B466B467B0F5B468B469B46AEDDFC0DAB4E8B46BB46CB46DB46EC5CDB46FB470B471EDDDBFC4B472B473B474EDDEB475B476B477B478B479B47AB47BB47CB47DB47EB480B481B482B483C4A5B484B485B486EDE0B487B488B489B48AB48BEDE1B48CEDE3B48DB48EC1D7B48FB490BBC7B491B492B493B494B495B496BDB8B497B498B499EDE2B49AB49BB49CB49DB49EB49FB4A0B540B541B542B543B544B545EDE4B546B547B548B549B54AB54BB54CB54DB54EB54FEDE6B550B551B552B553B554EDE5B555B556B557B558B559B55AB55BB55CB55DB55EB55FB560B561B562B563EDE7B564B565B566B567B568CABEECEAC0F1B569C9E7B56AECEBC6EEB56BB56CB56DB56EECECB56FC6EDECEDB570B571B572B573B574B575B576B577B578ECF0B579B57AD7E6ECF3B57BB57CECF1ECEEECEFD7A3C9F1CBEEECF4B57DECF2B57EB580CFE9B581ECF6C6B1B582B583B584B585BCC0B586ECF5B587B588B589B58AB58BB58CB58DB5BBBBF6B58EECF7B58FB590B591B592B593D9F7BDFBB594B595C2BBECF8B596B597B598B599ECF9B59AB59BB59CB59DB8A3B59EB59FB5A0B640B641B642B643B644B645B646ECFAB647B648B649B64AB64BB64CB64DB64EB64FB650B651B652ECFBB653B654B655B656B657B658B659B65AB65BB65CB65DECFCB65EB65FB660B661B662D3EDD8AEC0EBB663C7DDBACCB664D0E3CBBDB665CDBAB666B667B8D1B668B669B1FCB66AC7EFB66BD6D6B66CB66DB66EBFC6C3EBB66FB670EFF5B671B672C3D8B673B674B675B676B677B678D7E2B679B67AB67BEFF7B3D3B67CC7D8D1EDB67DD6C8B67EEFF8B680EFF6B681BBFDB3C6B682B683B684B685B686B687B688BDD5B689B68AD2C6B68BBBE0B68CB68DCFA1B68EEFFCEFFBB68FB690EFF9B691B692B693B694B3CCB695C9D4CBB0B696B697B698B699B69AEFFEB69BB69CB0DEB69DB69ED6C9B69FB6A0B740EFFDB741B3EDB742B743F6D5B744B745B746B747B748B749B74AB74BB74CB74DB74EB74FB750B751B752CEC8B753B754B755F0A2B756F0A1B757B5BEBCDABBFCB758B8E5B759B75AB75BB75CB75DB75EC4C2B75FB760B761B762B763B764B765B766B767B768F0A3B769B76AB76BB76CB76DCBEBB76EB76FB770B771B772B773B774B775B776B777B778B779B77AB77BB77CB77DB77EB780B781B782B783B784B785B786F0A6B787B788B789D1A8B78ABEBFC7EEF1B6F1B7BFD5B78BB78CB78DB78EB4A9F1B8CDBBB78FC7D4D5ADB790F1B9B791F1BAB792B793B794B795C7CFB796B797B798D2A4D6CFB799B79AF1BBBDD1B4B0BEBDB79BB79CB79DB4DCCED1B79EBFDFF1BDB79FB7A0B840B841BFFAF1BCB842F1BFB843B844B845F1BEF1C0B846B847B848B849B84AF1C1B84BB84CB84DB84EB84FB850B851B852B853B854B855C1FEB856B857B858B859B85AB85BB85CB85DB85EB85FB860C1A2B861B862B863B864B865B866B867B868B869B86ACAFAB86BB86CD5BEB86DB86EB86FB870BEBABEB9D5C2B871B872BFA2B873CDAFF1B5B874B875B876B877B878B879BDDFB87AB6CBB87BB87CB87DB87EB880B881B882B883B884D6F1F3C3B885B886F3C4B887B8CDB888B889B88AF3C6F3C7B88BB0CAB88CF3C5B88DF3C9CBF1B88EB88FB890F3CBB891D0A6B892B893B1CAF3C8B894B895B896F3CFB897B5D1B898B899F3D7B89AF3D2B89BB89CB89DF3D4F3D3B7FBB89EB1BFB89FF3CEF3CAB5DAB8A0F3D0B940B941F3D1B942F3D5B943B944B945B946F3CDB947BCE3B948C1FDB949F3D6B94AB94BB94CB94DB94EB94FF3DAB950F3CCB951B5C8B952BDEEF3DCB953B954B7A4BFF0D6FECDB2B955B4F0B956B2DFB957F3D8B958F3D9C9B8B959F3DDB95AB95BF3DEB95CF3E1B95DB95EB95FB960B961B962B963B964B965B966B967F3DFB968B969F3E3F3E2B96AB96BF3DBB96CBFEAB96DB3EFB96EF3E0B96FB970C7A9B971BCF2B972B973B974B975F3EBB976B977B978B979B97AB97BB97CB9BFB97DB97EF3E4B980B981B982B2ADBBFEB983CBE3B984B985B986B987F3EDF3E9B988B989B98AB9DCF3EEB98BB98CB98DF3E5F3E6F3EAC2E1F3ECF3EFF3E8BCFDB98EB98FB990CFE4B991B992F3F0B993B994B995F3E7B996B997B998B999B99AB99BB99CB99DF3F2B99EB99FB9A0BA40D7ADC6AABA41BA42BA43BA44F3F3BA45BA46BA47BA48F3F1BA49C2A8BA4ABA4BBA4CBA4DBA4EB8DDF3F5BA4FBA50F3F4BA51BA52BA53B4DBBA54BA55BA56F3F6F3F7BA57BA58BA59F3F8BA5ABA5BBA5CC0BABA5DBA5EC0E9BA5FBA60BA61BA62BA63C5F1BA64BA65BA66BA67F3FBBA68F3FABA69BA6ABA6BBA6CBA6DBA6EBA6FBA70B4D8BA71BA72BA73F3FEF3F9BA74BA75F3FCBA76BA77BA78BA79BA7ABA7BF3FDBA7CBA7DBA7EBA80BA81BA82BA83BA84F4A1BA85BA86BA87BA88BA89BA8AF4A3BBC9BA8BBA8CF4A2BA8DBA8EBA8FBA90BA91BA92BA93BA94BA95BA96BA97BA98BA99F4A4BA9ABA9BBA9CBA9DBA9EBA9FB2BEF4A6F4A5BAA0BB40BB41BB42BB43BB44BB45BB46BB47BB48BB49BCAEBB4ABB4BBB4CBB4DBB4EBB4FBB50BB51BB52BB53BB54BB55BB56BB57BB58BB59BB5ABB5BBB5CBB5DBB5EBB5FBB60BB61BB62BB63BB64BB65BB66BB67BB68BB69BB6ABB6BBB6CBB6DBB6EC3D7D9E1BB6FBB70BB71BB72BB73BB74C0E0F4CCD7D1BB75BB76BB77BB78BB79BB7ABB7BBB7CBB7DBB7EBB80B7DBBB81BB82BB83BB84BB85BB86BB87F4CEC1A3BB88BB89C6C9BB8AB4D6D5B3BB8BBB8CBB8DF4D0F4CFF4D1CBDABB8EBB8FF4D2BB90D4C1D6E0BB91BB92BB93BB94B7E0BB95BB96BB97C1B8BB98BB99C1BBF4D3BEACBB9ABB9BBB9CBB9DBB9EB4E2BB9FBBA0F4D4F4D5BEABBC40BC41F4D6BC42BC43BC44F4DBBC45F4D7F4DABC46BAFDBC47F4D8F4D9BC48BC49BC4ABC4BBC4CBC4DBC4EB8E2CCC7F4DCBC4FB2DABC50BC51C3D3BC52BC53D4E3BFB7BC54BC55BC56BC57BC58BC59BC5AF4DDBC5BBC5CBC5DBC5EBC5FBC60C5B4BC61BC62BC63BC64BC65BC66BC67BC68F4E9BC69BC6ACFB5BC6BBC6CBC6DBC6EBC6FBC70BC71BC72BC73BC74BC75BC76BC77BC78CEC9BC79BC7ABC7BBC7CBC7DBC7EBC80BC81BC82BC83BC84BC85BC86BC87BC88BC89BC8ABC8BBC8CBC8DBC8ECBD8BC8FCBF7BC90BC91BC92BC93BDF4BC94BC95BC96D7CFBC97BC98BC99C0DBBC9ABC9BBC9CBC9DBC9EBC9FBCA0BD40BD41BD42BD43BD44BD45BD46BD47BD48BD49BD4ABD4BBD4CBD4DBD4EBD4FBD50BD51BD52BD53BD54BD55BD56BD57BD58BD59BD5ABD5BBD5CBD5DBD5EBD5FBD60BD61BD62BD63BD64BD65BD66BD67BD68BD69BD6ABD6BBD6CBD6DBD6EBD6FBD70BD71BD72BD73BD74BD75BD76D0F5BD77BD78BD79BD7ABD7BBD7CBD7DBD7EF4EABD80BD81BD82BD83BD84BD85BD86BD87BD88BD89BD8ABD8BBD8CBD8DBD8EBD8FBD90BD91BD92BD93BD94BD95BD96BD97BD98BD99BD9ABD9BBD9CBD9DBD9EBD9FBDA0BE40BE41BE42BE43BE44BE45BE46BE47BE48BE49BE4ABE4BBE4CF4EBBE4DBE4EBE4FBE50BE51BE52BE53F4ECBE54BE55BE56BE57BE58BE59BE5ABE5BBE5CBE5DBE5EBE5FBE60BE61BE62BE63BE64BE65BE66BE67BE68BE69BE6ABE6BBE6CBE6DBE6EBE6FBE70BE71BE72BE73BE74BE75BE76BE77BE78BE79BE7ABE7BBE7CBE7DBE7EBE80BE81BE82BE83BE84BE85BE86BE87BE88BE89BE8ABE8BBE8CBE8DBE8EBE8FBE90BE91BE92BE93BE94BE95BE96BE97BE98BE99BE9ABE9BBE9CBE9DBE9EBE9FBEA0BF40BF41BF42BF43BF44BF45BF46BF47BF48BF49BF4ABF4BBF4CBF4DBF4EBF4FBF50BF51BF52BF53BF54BF55BF56BF57BF58BF59BF5ABF5BBF5CBF5DBF5EBF5FBF60BF61BF62BF63BF64BF65BF66BF67BF68BF69BF6ABF6BBF6CBF6DBF6EBF6FBF70BF71BF72BF73BF74BF75BF76BF77BF78BF79BF7ABF7BBF7CBF7DBF7EBF80F7E3BF81BF82BF83BF84BF85B7B1BF86BF87BF88BF89BF8AF4EDBF8BBF8CBF8DBF8EBF8FBF90BF91BF92BF93BF94BF95BF96BF97BF98BF99BF9ABF9BBF9CBF9DBF9EBF9FBFA0C040C041C042C043C044C045C046C047C048C049C04AC04BC04CC04DC04EC04FC050C051C052C053C054C055C056C057C058C059C05AC05BC05CC05DC05EC05FC060C061C062C063D7EBC064C065C066C067C068C069C06AC06BC06CC06DC06EC06FC070C071C072C073C074C075C076C077C078C079C07AC07BF4EEC07CC07DC07EE6F9BEC0E6FABAECE6FBCFCBE6FCD4BCBCB6E6FDE6FEBCCDC8D2CEB3E7A1C080B4BFE7A2C9B4B8D9C4C9C081D7DDC2DAB7D7D6BDCEC6B7C4C082C083C5A6E7A3CFDFE7A4E7A5E7A6C1B7D7E9C9F0CFB8D6AFD6D5E7A7B0EDE7A8E7A9C9DCD2EFBEADE7AAB0F3C8DEBDE1E7ABC8C6C084E7ACBBE6B8F8D1A4E7ADC2E7BEF8BDCACDB3E7AEE7AFBEEED0E5C085CBE7CCD0BCCCE7B0BCA8D0F7E7B1C086D0F8E7B2E7B3B4C2E7B4E7B5C9FECEACC3E0E7B7B1C1B3F1C087E7B8E7B9D7DBD5C0E7BAC2CCD7BAE7BBE7BCE7BDBCEAC3E5C0C2E7BEE7BFBCA9C088E7C0E7C1E7B6B6D0E7C2C089E7C3E7C4BBBAB5DEC2C6B1E0E7C5D4B5E7C6B8BFE7C8E7C7B7ECC08AE7C9B2F8E7CAE7CBE7CCE7CDE7CEE7CFE7D0D3A7CBF5E7D1E7D2E7D3E7D4C9C9E7D5E7D6E7D7E7D8E7D9BDC9E7DAF3BEC08BB8D7C08CC8B1C08DC08EC08FC090C091C092C093F3BFC094F3C0F3C1C095C096C097C098C099C09AC09BC09CC09DC09EB9DECDF8C09FC0A0D8E8BAB1C140C2DEEEB7C141B7A3C142C143C144C145EEB9C146EEB8B0D5C147C148C149C14AC14BEEBBD5D6D7EFC14CC14DC14ED6C3C14FC150EEBDCAF0C151EEBCC152C153C154C155EEBEC156C157C158C159EEC0C15AC15BEEBFC15CC15DC15EC15FC160C161C162C163D1F2C164C7BCC165C3C0C166C167C168C169C16AB8E1C16BC16CC16DC16EC16FC1E7C170C171F4C6D0DFF4C7C172CFDBC173C174C8BAC175C176F4C8C177C178C179C17AC17BC17CC17DF4C9F4CAC17EF4CBC180C181C182C183C184D9FAB8FEC185C186E5F1D3F0C187F4E0C188CECCC189C18AC18BB3E1C18CC18DC18EC18FF1B4C190D2EEC191F4E1C192C193C194C195C196CFE8F4E2C197C198C7CCC199C19AC19BC19CC19DC19EB5D4B4E4F4E4C19FC1A0C240F4E3F4E5C241C242F4E6C243C244C245C246F4E7C247BAB2B0BFC248F4E8C249C24AC24BC24CC24DC24EC24FB7ADD2EDC250C251C252D2ABC0CFC253BFBCEBA3D5DFEAC8C254C255C256C257F1F3B6F8CBA3C258C259C4CDC25AF1E7C25BF1E8B8FBF1E9BAC4D4C5B0D2C25CC25DF1EAC25EC25FC260F1EBC261F1ECC262C263F1EDF1EEF1EFF1F1F1F0C5D5C264C265C266C267C268C269F1F2C26AB6FAC26BF1F4D2AEDEC7CBCAC26CC26DB3DCC26EB5A2C26FB9A2C270C271C4F4F1F5C272C273F1F6C274C275C276C1C4C1FBD6B0F1F7C277C278C279C27AF1F8C27BC1AAC27CC27DC27EC6B8C280BEDBC281C282C283C284C285C286C287C288C289C28AC28BC28CC28DC28EF1F9B4CFC28FC290C291C292C293C294F1FAC295C296C297C298C299C29AC29BC29CC29DC29EC29FC2A0C340EDB2EDB1C341C342CBE0D2DEC343CBC1D5D8C344C8E2C345C0DFBCA1C346C347C348C349C34AC34BEBC1C34CC34DD0A4C34ED6E2C34FB6C7B8D8EBC0B8CEC350EBBFB3A6B9C9D6ABC351B7F4B7CAC352C353C354BCE7B7BEEBC6C355EBC7B0B9BFCFC356EBC5D3FDC357EBC8C358C359EBC9C35AC35BB7CEC35CEBC2EBC4C9F6D6D7D5CDD0B2EBCFCEB8EBD0C35DB5A8C35EC35FC360C361C362B1B3EBD2CCA5C363C364C365C366C367C368C369C5D6EBD3C36AEBD1C5DFEBCECAA4EBD5B0FBC36BC36CBAFAC36DC36ED8B7F1E3C36FEBCAEBCBEBCCEBCDEBD6E6C0EBD9C370BFE8D2C8EBD7EBDCB8ECEBD8C371BDBAC372D0D8C373B0B7C374EBDDC4DCC375C376C377C378D6ACC379C37AC37BB4E0C37CC37DC2F6BCB9C37EC380EBDAEBDBD4E0C6EAC4D4EBDFC5A7D9F5C381B2B1C382EBE4C383BDC5C384C385C386EBE2C387C388C389C38AC38BC38CC38DC38EC38FC390C391C392C393EBE3C394C395B8ACC396CDD1EBE5C397C398C399EBE1C39AC1B3C39BC39CC39DC39EC39FC6A2C3A0C440C441C442C443C444C445CCF3C446EBE6C447C0B0D2B8EBE7C448C449C44AB8AFB8ADC44BEBE8C7BBCDF3C44CC44DC44EEBEAEBEBC44FC450C451C452C453EBEDC454C455C456C457D0C8C458EBF2C459EBEEC45AC45BC45CEBF1C8F9C45DD1FCEBECC45EC45FEBE9C460C461C462C463B8B9CFD9C4E5EBEFEBF0CCDACDC8B0F2C464EBF6C465C466C467C468C469EBF5C46AB2B2C46BC46CC46DC46EB8E0C46FEBF7C470C471C472C473C474C475B1ECC476C477CCC5C4A4CFA5C478C479C47AC47BC47CEBF9C47DC47EECA2C480C5F2C481EBFAC482C483C484C485C486C487C488C489C9C5C48AC48BC48CC48DC48EC48FE2DFEBFEC490C491C492C493CDCEECA1B1DBD3B7C494C495D2DCC496C497C498EBFDC499EBFBC49AC49BC49CC49DC49EC49FC4A0C540C541C542C543C544C545C546C547C548C549C54AC54BC54CC54DC54EB3BCC54FC550C551EAB0C552C553D7D4C554F4ABB3F4C555C556C557C558C559D6C1D6C2C55AC55BC55CC55DC55EC55FD5E9BECAC560F4A7C561D2A8F4A8F4A9C562F4AABECBD3DFC563C564C565C566C567C9E0C9E1C568C569F3C2C56ACAE6C56BCCF2C56CC56DC56EC56FC570C571E2B6CBB4C572CEE8D6DBC573F4ADF4AEF4AFC574C575C576C577F4B2C578BABDF4B3B0E3F4B0C579F4B1BDA2B2D5C57AF4B6F4B7B6E6B2B0CFCFF4B4B4ACC57BF4B5C57CC57DF4B8C57EC580C581C582C583F4B9C584C585CDA7C586F4BAC587F4BBC588C589C58AF4BCC58BC58CC58DC58EC58FC590C591C592CBD2C593F4BDC594C595C596C597F4BEC598C599C59AC59BC59CC59DC59EC59FF4BFC5A0C640C641C642C643F4DEC1BCBCE8C644C9ABD1DEE5F5C645C646C647C648DCB3D2D5C649C64ADCB4B0ACDCB5C64BC64CBDDAC64DDCB9C64EC64FC650D8C2C651DCB7D3F3C652C9D6DCBADCB6C653DCBBC3A2C654C655C656C657DCBCDCC5DCBDC658C659CEDFD6A5C65ADCCFC65BDCCDC65CC65DDCD2BDE6C2ABC65EDCB8DCCBDCCEDCBEB7D2B0C5DCC7D0BEDCC1BBA8C65FB7BCDCCCC660C661DCC6DCBFC7DBC662C663C664D1BFDCC0C665C666DCCAC667C668DCD0C669C66ACEADDCC2C66BDCC3DCC8DCC9B2D4DCD1CBD5C66CD4B7DCDBDCDFCCA6DCE6C66DC3E7DCDCC66EC66FBFC1DCD9C670B0FAB9B6DCE5DCD3C671DCC4DCD6C8F4BFE0C672C673C674C675C9BBC676C677C678B1BDC679D3A2C67AC67BDCDAC67CC67DDCD5C67EC6BBC680DCDEC681C682C683C684C685D7C2C3AFB7B6C7D1C3A9DCE2DCD8DCEBDCD4C686C687DCDDC688BEA5DCD7C689DCE0C68AC68BDCE3DCE4C68CDCF8C68DC68EDCE1DDA2DCE7C68FC690C691C692C693C694C695C696C697C698BCEBB4C4C699C69AC3A3B2E7DCFAC69BDCF2C69CDCEFC69DDCFCDCEED2F0B2E8C69EC8D7C8E3DCFBC69FDCEDC6A0C740C741DCF7C742C743DCF5C744C745BEA3DCF4C746B2DDC747C748C749C74AC74BDCF3BCF6DCE8BBC4C74CC0F3C74DC74EC74FC750C751BCD4DCE9DCEAC752DCF1DCF6DCF9B5B4C753C8D9BBE7DCFEDCFDD3ABDDA1DDA3DDA5D2F1DDA4DDA6DDA7D2A9C754C755C756C757C758C759C75ABAC9DDA9C75BC75CDDB6DDB1DDB4C75DC75EC75FC760C761C762C763DDB0C6CEC764C765C0F2C766C767C768C769C9AFC76AC76BC76CDCECDDAEC76DC76EC76FC770DDB7C771C772DCF0DDAFC773DDB8C774DDACC775C776C777C778C779C77AC77BDDB9DDB3DDADC4AAC77CC77DC77EC780DDA8C0B3C1ABDDAADDABC781DDB2BBF1DDB5D3A8DDBAC782DDBBC3A7C783C784DDD2DDBCC785C786C787DDD1C788B9BDC789C78ABED5C78BBEFAC78CC78DBACAC78EC78FC790C791DDCAC792DDC5C793DDBFC794C795C796B2CBDDC3C797DDCBB2A4DDD5C798C799C79ADDBEC79BC79CC79DC6D0DDD0C79EC79FC7A0C840C841DDD4C1E2B7C6C842C843C844C845C846DDCEDDCFC847C848C849DDC4C84AC84BC84CDDBDC84DDDCDCCD1C84EDDC9C84FC850C851C852DDC2C3C8C6BCCEAEDDCCC853DDC8C854C855C856C857C858C859DDC1C85AC85BC85CDDC6C2DCC85DC85EC85FC860C861C862D3A9D3AADDD3CFF4C8F8C863C864C865C866C867C868C869C86ADDE6C86BC86CC86DC86EC86FC870DDC7C871C872C873DDE0C2E4C874C875C876C877C878C879C87AC87BDDE1C87CC87DC87EC880C881C882C883C884C885C886DDD7C887C888C889C88AC88BD6F8C88CDDD9DDD8B8F0DDD6C88DC88EC88FC890C6CFC891B6ADC892C893C894C895C896DDE2C897BAF9D4E1DDE7C898C899C89AB4D0C89BDDDAC89CBFFBDDE3C89DDDDFC89EDDDDC89FC8A0C940C941C942C943C944B5D9C945C946C947C948DDDBDDDCDDDEC949BDAFDDE4C94ADDE5C94BC94CC94DC94EC94FC950C951C952DDF5C953C3C9C954C955CBE2C956C957C958C959DDF2C95AC95BC95CC95DC95EC95FC960C961C962C963C964C965C966D8E1C967C968C6D1C969DDF4C96AC96BC96CD5F4DDF3DDF0C96DC96EDDECC96FDDEFC970DDE8C971C972D0EEC973C974C975C976C8D8DDEEC977C978DDE9C979C97ADDEACBF2C97BDDEDC97CC97DB1CDC97EC980C981C982C983C984C0B6C985BCBBDDF1C986C987DDF7C988DDF6DDEBC989C98AC98BC98CC98DC5EEC98EC98FC990DDFBC991C992C993C994C995C996C997C998C999C99AC99BDEA4C99CC99DDEA3C99EC99FC9A0CA40CA41CA42CA43CA44CA45CA46CA47CA48DDF8CA49CA4ACA4BCA4CC3EFCA4DC2FBCA4ECA4FCA50D5E1CA51CA52CEB5CA53CA54CA55CA56DDFDCA57B2CCCA58CA59CA5ACA5BCA5CCA5DCA5ECA5FCA60C4E8CADFCA61CA62CA63CA64CA65CA66CA67CA68CA69CA6AC7BEDDFADDFCDDFEDEA2B0AAB1CECA6BCA6CCA6DCA6ECA6FDEACCA70CA71CA72CA73DEA6BDB6C8EFCA74CA75CA76CA77CA78CA79CA7ACA7BCA7CCA7DCA7EDEA1CA80CA81DEA5CA82CA83CA84CA85DEA9CA86CA87CA88CA89CA8ADEA8CA8BCA8CCA8DDEA7CA8ECA8FCA90CA91CA92CA93CA94CA95CA96DEADCA97D4CCCA98CA99CA9ACA9BDEB3DEAADEAECA9CCA9DC0D9CA9ECA9FCAA0CB40CB41B1A1DEB6CB42DEB1CB43CB44CB45CB46CB47CB48CB49DEB2CB4ACB4BCB4CCB4DCB4ECB4FCB50CB51CB52CB53CB54D1A6DEB5CB55CB56CB57CB58CB59CB5ACB5BDEAFCB5CCB5DCB5EDEB0CB5FD0BDCB60CB61CB62DEB4CAEDDEB9CB63CB64CB65CB66CB67CB68DEB8CB69DEB7CB6ACB6BCB6CCB6DCB6ECB6FCB70DEBBCB71CB72CB73CB74CB75CB76CB77BDE5CB78CB79CB7ACB7BCB7CB2D8C3EACB7DCB7EDEBACB80C5BACB81CB82CB83CB84CB85CB86DEBCCB87CB88CB89CB8ACB8BCB8CCB8DCCD9CB8ECB8FCB90CB91B7AACB92CB93CB94CB95CB96CB97CB98CB99CB9ACB9BCB9CCB9DCB9ECB9FCBA0CC40CC41D4E5CC42CC43CC44DEBDCC45CC46CC47CC48CC49DEBFCC4ACC4BCC4CCC4DCC4ECC4FCC50CC51CC52CC53CC54C4A2CC55CC56CC57CC58DEC1CC59CC5ACC5BCC5CCC5DCC5ECC5FCC60CC61CC62CC63CC64CC65CC66CC67CC68DEBECC69DEC0CC6ACC6BCC6CCC6DCC6ECC6FCC70CC71CC72CC73CC74CC75CC76CC77D5BACC78CC79CC7ADEC2CC7BCC7CCC7DCC7ECC80CC81CC82CC83CC84CC85CC86CC87CC88CC89CC8ACC8BF2AEBBA2C2B2C5B0C2C7CC8CCC8DF2AFCC8ECC8FCC90CC91CC92D0E9CC93CC94CC95D3DDCC96CC97CC98EBBDCC99CC9ACC9BCC9CCC9DCC9ECC9FCCA0B3E6F2B0CD40F2B1CD41CD42CAADCD43CD44CD45CD46CD47CD48CD49BAE7F2B3F2B5F2B4CBE4CFBAF2B2CAB4D2CFC2ECCD4ACD4BCD4CCD4DCD4ECD4FCD50CEC3F2B8B0F6F2B7CD51CD52CD53CD54CD55F2BECD56B2CFCD57CD58CD59CD5ACD5BCD5CD1C1F2BACD5DCD5ECD5FCD60CD61F2BCD4E9CD62CD63F2BBF2B6F2BFF2BDCD64F2B9CD65CD66F2C7F2C4F2C6CD67CD68F2CAF2C2F2C0CD69CD6ACD6BF2C5CD6CCD6DCD6ECD6FCD70D6FBCD71CD72CD73F2C1CD74C7F9C9DFCD75F2C8B9C6B5B0CD76CD77F2C3F2C9F2D0F2D6CD78CD79BBD7CD7ACD7BCD7CF2D5CDDCCD7DD6EBCD7ECD80F2D2F2D4CD81CD82CD83CD84B8F2CD85CD86CD87CD88F2CBCD89CD8ACD8BF2CEC2F9CD8CD5DDF2CCF2CDF2CFF2D3CD8DCD8ECD8FF2D9D3BCCD90CD91CD92CD93B6EACD94CAF1CD95B7E4F2D7CD96CD97CD98F2D8F2DAF2DDF2DBCD99CD9AF2DCCD9BCD9CCD9DCD9ED1D1F2D1CD9FCDC9CDA0CECFD6A9CE40F2E3CE41C3DBCE42F2E0CE43CE44C0AFF2ECF2DECE45F2E1CE46CE47CE48F2E8CE49CE4ACE4BCE4CF2E2CE4DCE4EF2E7CE4FCE50F2E6CE51CE52F2E9CE53CE54CE55F2DFCE56CE57F2E4F2EACE58CE59CE5ACE5BCE5CCE5DCE5ED3ACF2E5B2F5CE5FCE60F2F2CE61D0ABCE62CE63CE64CE65F2F5CE66CE67CE68BBC8CE69F2F9CE6ACE6BCE6CCE6DCE6ECE6FF2F0CE70CE71F2F6F2F8F2FACE72CE73CE74CE75CE76CE77CE78CE79F2F3CE7AF2F1CE7BCE7CCE7DBAFBCE7EB5FBCE80CE81CE82CE83F2EFF2F7F2EDF2EECE84CE85CE86F2EBF3A6CE87F3A3CE88CE89F3A2CE8ACE8BF2F4CE8CC8DACE8DCE8ECE8FCE90CE91F2FBCE92CE93CE94F3A5CE95CE96CE97CE98CE99CE9ACE9BC3F8CE9CCE9DCE9ECE9FCEA0CF40CF41CF42F2FDCF43CF44F3A7F3A9F3A4CF45F2FCCF46CF47CF48F3ABCF49F3AACF4ACF4BCF4CCF4DC2DDCF4ECF4FF3AECF50CF51F3B0CF52CF53CF54CF55CF56F3A1CF57CF58CF59F3B1F3ACCF5ACF5BCF5CCF5DCF5EF3AFF2FEF3ADCF5FCF60CF61CF62CF63CF64CF65F3B2CF66CF67CF68CF69F3B4CF6ACF6BCF6CCF6DF3A8CF6ECF6FCF70CF71F3B3CF72CF73CF74F3B5CF75CF76CF77CF78CF79CF7ACF7BCF7CCF7DCF7ED0B7CF80CF81CF82CF83F3B8CF84CF85CF86CF87D9F9CF88CF89CF8ACF8BCF8CCF8DF3B9CF8ECF8FCF90CF91CF92CF93CF94CF95F3B7CF96C8E4F3B6CF97CF98CF99CF9AF3BACF9BCF9CCF9DCF9ECF9FF3BBB4C0CFA0D040D041D042D043D044D045D046D047D048D049D04AD04BD04CD04DEEC3D04ED04FD050D051D052D053F3BCD054D055F3BDD056D057D058D1AAD059D05AD05BF4ACD0C6D05CD05DD05ED05FD060D061D0D0D1DCD062D063D064D065D066D067CFCED068D069BDD6D06AD1C3D06BD06CD06DD06ED06FD070D071BAE2E1E9D2C2F1C2B2B9D072D073B1EDF1C3D074C9C0B3C4D075D9F2D076CBA5D077F1C4D078D079D07AD07BD6D4D07CD07DD07ED080D081F1C5F4C0F1C6D082D4ACF1C7D083B0C0F4C1D084D085F4C2D086D087B4FCD088C5DBD089D08AD08BD08CCCBBD08DD08ED08FD0E4D090D091D092D093D094CDE0D095D096D097D098D099F1C8D09AD9F3D09BD09CD09DD09ED09FD0A0B1BBD140CFAED141D142D143B8A4D144D145D146D147D148F1CAD149D14AD14BD14CF1CBD14DD14ED14FD150B2C3C1D1D151D152D7B0F1C9D153D154F1CCD155D156D157D158F1CED159D15AD15BD9F6D15CD2E1D4A3D15DD15EF4C3C8B9D15FD160D161D162D163F4C4D164D165F1CDF1CFBFE3F1D0D166D167F1D4D168D169D16AD16BD16CD16DD16EF1D6F1D1D16FC9D1C5E1D170D171D172C2E3B9FCD173D174F1D3D175F1D5D176D177D178B9D3D179D17AD17BD17CD17DD17ED180F1DBD181D182D183D184D185BAD6D186B0FDF1D9D187D188D189D18AD18BF1D8F1D2F1DAD18CD18DD18ED18FD190F1D7D191D192D193C8ECD194D195D196D197CDCAF1DDD198D199D19AD19BE5BDD19CD19DD19EF1DCD19FF1DED1A0D240D241D242D243D244D245D246D247D248F1DFD249D24ACFE5D24BD24CD24DD24ED24FD250D251D252D253D254D255D256D257D258D259D25AD25BD25CD25DD25ED25FD260D261D262D263F4C5BDF3D264D265D266D267D268D269F1E0D26AD26BD26CD26DD26ED26FD270D271D272D273D274D275D276D277D278D279D27AD27BD27CD27DF1E1D27ED280D281CEF7D282D2AAD283F1FBD284D285B8B2D286D287D288D289D28AD28BD28CD28DD28ED28FD290D291D292D293D294D295D296D297D298D299D29AD29BD29CD29DD29ED29FD2A0D340D341D342D343D344D345D346D347D348D349D34AD34BD34CD34DD34ED34FD350D351D352D353D354D355D356D357D358D359D35AD35BD35CD35DD35EBCFBB9DBD35FB9E6C3D9CAD3EAE8C0C0BEF5EAE9EAEAEAEBD360EAECEAEDEAEEEAEFBDC7D361D362D363F5FBD364D365D366F5FDD367F5FED368F5FCD369D36AD36BD36CBDE2D36DF6A1B4A5D36ED36FD370D371F6A2D372D373D374F6A3D375D376D377ECB2D378D379D37AD37BD37CD37DD37ED380D381D382D383D384D1D4D385D386D387D388D389D38AD9EAD38BD38CD38DD38ED38FD390D391D392D393D394D395D396D397D398D399D39AD39BD39CD39DD39ED39FD3A0D440D441D442D443D444D445D446D447D448D449D44AD44BD44CD44DD44ED44FD450D451D452D453D454D455D456D457D458D459D45AD45BD45CD45DD45ED45FF6A4D460D461D462D463D464D465D466D467D468EEBAD469D46AD46BD46CD46DD46ED46FD470D471D472D473D474D475D476D477D478D479D47AD47BD47CD47DD47ED480D481D482D483D484D485D486D487D488D489D48AD48BD48CD48DD48ED48FD490D491D492D493D494D495D496D497D498D499D5B2D49AD49BD49CD49DD49ED49FD4A0D540D541D542D543D544D545D546D547D3FECCDCD548D549D54AD54BD54CD54DD54ED54FCAC4D550D551D552D553D554D555D556D557D558D559D55AD55BD55CD55DD55ED55FD560D561D562D563D564D565D566D567D568D569D56AD56BD56CD56DD56ED56FD570D571D572D573D574D575D576D577D578D579D57AD57BD57CD57DD57ED580D581D582D583D584D585D586D587D588D589D58AD58BD58CD58DD58ED58FD590D591D592D593D594D595D596D597D598D599D59AD59BD59CD59DD59ED59FD5A0D640D641D642D643D644D645D646D647D648D649D64AD64BD64CD64DD64ED64FD650D651D652D653D654D655D656D657D658D659D65AD65BD65CD65DD65ED65FD660D661D662E5C0D663D664D665D666D667D668D669D66AD66BD66CD66DD66ED66FD670D671D672D673D674D675D676D677D678D679D67AD67BD67CD67DD67ED680D681F6A5D682D683D684D685D686D687D688D689D68AD68BD68CD68DD68ED68FD690D691D692D693D694D695D696D697D698D699D69AD69BD69CD69DD69ED69FD6A0D740D741D742D743D744D745D746D747D748D749D74AD74BD74CD74DD74ED74FD750D751D752D753D754D755D756D757D758D759D75AD75BD75CD75DD75ED75FBEAFD760D761D762D763D764C6A9D765D766D767D768D769D76AD76BD76CD76DD76ED76FD770D771D772D773D774D775D776D777D778D779D77AD77BD77CD77DD77ED780D781D782D783D784D785D786D787D788D789D78AD78BD78CD78DD78ED78FD790D791D792D793D794D795D796D797D798DAA5BCC6B6A9B8BCC8CFBCA5DAA6DAA7CCD6C8C3DAA8C6FDD799D1B5D2E9D1B6BCC7D79ABDB2BBE4DAA9DAAAD1C8DAABD0EDB6EFC2DBD79BCBCFB7EDC9E8B7C3BEF7D6A4DAACDAADC6C0D7E7CAB6D79CD5A9CBDFD5EFDAAED6DFB4CADAB0DAAFD79DD2EBDAB1DAB2DAB3CAD4DAB4CAABDAB5DAB6B3CFD6EFDAB7BBB0B5AEDAB8DAB9B9EED1AFD2E8DABAB8C3CFEAB2EFDABBDABCD79EBDEBCEDCD3EFDABDCEF3DABED3D5BBE5DABFCBB5CBD0DAC0C7EBD6EEDAC1C5B5B6C1DAC2B7CCBFCEDAC3DAC4CBADDAC5B5F7DAC6C1C2D7BBDAC7CCB8D79FD2EAC4B1DAC8B5FDBBD1DAC9D0B3DACADACBCEBDDACCDACDDACEB2F7DAD1DACFD1E8DAD0C3D5DAD2D7A0DAD3DAD4DAD5D0BBD2A5B0F9DAD6C7ABDAD7BDF7C3A1DAD8DAD9C3FDCCB7DADADADBC0BEC6D7DADCDADDC7B4DADEDADFB9C8D840D841D842D843D844D845D846D847D848BBEDD849D84AD84BD84CB6B9F4F8D84DF4F9D84ED84FCDE3D850D851D852D853D854D855D856D857F5B9D858D859D85AD85BEBE0D85CD85DD85ED85FD860D861CFF3BBBFD862D863D864D865D866D867D868BAC0D4A5D869D86AD86BD86CD86DD86ED86FE1D9D870D871D872D873F5F4B1AAB2F2D874D875D876D877D878D879D87AF5F5D87BD87CF5F7D87DD87ED880BAD1F5F6D881C3B2D882D883D884D885D886D887D888F5F9D889D88AD88BF5F8D88CD88DD88ED88FD890D891D892D893D894D895D896D897D898D899D89AD89BD89CD89DD89ED89FD8A0D940D941D942D943D944D945D946D947D948D949D94AD94BD94CD94DD94ED94FD950D951D952D953D954D955D956D957D958D959D95AD95BD95CD95DD95ED95FD960D961D962D963D964D965D966D967D968D969D96AD96BD96CD96DD96ED96FD970D971D972D973D974D975D976D977D978D979D97AD97BD97CD97DD97ED980D981D982D983D984D985D986D987D988D989D98AD98BD98CD98DD98ED98FD990D991D992D993D994D995D996D997D998D999D99AD99BD99CD99DD99ED99FD9A0DA40DA41DA42DA43DA44DA45DA46DA47DA48DA49DA4ADA4BDA4CDA4DDA4EB1B4D5EAB8BADA4FB9B1B2C6D4F0CFCDB0DCD5CBBBF5D6CAB7B7CCB0C6B6B1E1B9BAD6FCB9E1B7A1BCFAEADAEADBCCF9B9F3EADCB4FBC3B3B7D1BAD8EADDD4F4EADEBCD6BBDFEADFC1DEC2B8D4DFD7CAEAE0EAE1EAE4EAE2EAE3C9DEB8B3B6C4EAE5CAEAC9CDB4CDDA50DA51E2D9C5E2EAE6C0B5DA52D7B8EAE7D7ACC8FCD8D3D8CDD4DEDA53D4F9C9C4D3AEB8D3B3E0DA54C9E2F4F6DA55DA56DA57BAD5DA58F4F7DA59DA5AD7DFDA5BDA5CF4F1B8B0D5D4B8CFC6F0DA5DDA5EDA5FDA60DA61DA62DA63DA64DA65B3C3DA66DA67F4F2B3ACDA68DA69DA6ADA6BD4BDC7F7DA6CDA6DDA6EDA6FDA70F4F4DA71DA72F4F3DA73DA74DA75DA76DA77DA78DA79DA7ADA7BDA7CCCCBDA7DDA7EDA80C8A4DA81DA82DA83DA84DA85DA86DA87DA88DA89DA8ADA8BDA8CDA8DF4F5DA8ED7E3C5BFF5C0DA8FDA90F5BBDA91F5C3DA92F5C2DA93D6BAF5C1DA94DA95DA96D4BEF5C4DA97F5CCDA98DA99DA9ADA9BB0CFB5F8DA9CF5C9F5CADA9DC5DCDA9EDA9FDAA0DB40F5C5F5C6DB41DB42F5C7F5CBDB43BEE0F5C8B8FADB44DB45DB46F5D0F5D3DB47DB48DB49BFE7DB4AB9F2F5BCF5CDDB4BDB4CC2B7DB4DDB4EDB4FCCF8DB50BCF9DB51F5CEF5CFF5D1B6E5F5D2DB52F5D5DB53DB54DB55DB56DB57DB58DB59F5BDDB5ADB5BDB5CF5D4D3BBDB5DB3ECDB5EDB5FCCA4DB60DB61DB62DB63F5D6DB64DB65DB66DB67DB68DB69DB6ADB6BF5D7BEE1F5D8DB6CDB6DCCDFF5DBDB6EDB6FDB70DB71DB72B2C8D7D9DB73F5D9DB74F5DAF5DCDB75F5E2DB76DB77DB78F5E0DB79DB7ADB7BF5DFF5DDDB7CDB7DF5E1DB7EDB80F5DEF5E4F5E5DB81CCE3DB82DB83E5BFB5B8F5E3F5E8CCA3DB84DB85DB86DB87DB88F5E6F5E7DB89DB8ADB8BDB8CDB8DDB8EF5BEDB8FDB90DB91DB92DB93DB94DB95DB96DB97DB98DB99DB9AB1C4DB9BDB9CF5BFDB9DDB9EB5C5B2E4DB9FF5ECF5E9DBA0B6D7DC40F5EDDC41F5EADC42DC43DC44DC45DC46F5EBDC47DC48B4DADC49D4EADC4ADC4BDC4CF5EEDC4DB3F9DC4EDC4FDC50DC51DC52DC53DC54F5EFF5F1DC55DC56DC57F5F0DC58DC59DC5ADC5BDC5CDC5DDC5EF5F2DC5FF5F3DC60DC61DC62DC63DC64DC65DC66DC67DC68DC69DC6ADC6BC9EDB9AADC6CDC6DC7FBDC6EDC6FB6E3DC70DC71DC72DC73DC74DC75DC76CCC9DC77DC78DC79DC7ADC7BDC7CDC7DDC7EDC80DC81DC82DC83DC84DC85DC86DC87DC88DC89DC8AEAA6DC8BDC8CDC8DDC8EDC8FDC90DC91DC92DC93DC94DC95DC96DC97DC98DC99DC9ADC9BDC9CDC9DDC9EDC9FDCA0DD40DD41DD42DD43DD44DD45DD46DD47DD48DD49DD4ADD4BDD4CDD4DDD4EDD4FDD50DD51DD52DD53DD54DD55DD56DD57DD58DD59DD5ADD5BDD5CDD5DDD5EDD5FDD60DD61DD62DD63DD64DD65DD66DD67DD68DD69DD6ADD6BDD6CDD6DDD6EDD6FDD70DD71DD72DD73DD74DD75DD76DD77DD78DD79DD7ADD7BDD7CDD7DDD7EDD80DD81DD82DD83DD84DD85DD86DD87DD88DD89DD8ADD8BDD8CDD8DDD8EDD8FDD90DD91DD92DD93DD94DD95DD96DD97DD98DD99DD9ADD9BDD9CDD9DDD9EDD9FDDA0DE40DE41DE42DE43DE44DE45DE46DE47DE48DE49DE4ADE4BDE4CDE4DDE4EDE4FDE50DE51DE52DE53DE54DE55DE56DE57DE58DE59DE5ADE5BDE5CDE5DDE5EDE5FDE60B3B5D4FEB9ECD0F9DE61E9EDD7AAE9EEC2D6C8EDBAE4E9EFE9F0E9F1D6E1E9F2E9F3E9F5E9F4E9F6E9F7C7E1E9F8D4D8E9F9BDCEDE62E9FAE9FBBDCFE9FCB8A8C1BEE9FDB1B2BBD4B9F5E9FEDE63EAA1EAA2EAA3B7F8BCADDE64CAE4E0CED4AFCFBDD5B7EAA4D5DEEAA5D0C1B9BCDE65B4C7B1D9DE66DE67DE68C0B1DE69DE6ADE6BDE6CB1E6B1E7DE6DB1E8DE6EDE6FDE70DE71B3BDC8E8DE72DE73DE74DE75E5C1DE76DE77B1DFDE78DE79DE7AC1C9B4EFDE7BDE7CC7A8D3D8DE7DC6F9D1B8DE7EB9FDC2F5DE80DE81DE82DE83DE84D3ADDE85D4CBBDFCDE86E5C2B7B5E5C3DE87DE88BBB9D5E2DE89BDF8D4B6CEA5C1ACB3D9DE8ADE8BCCF6DE8CE5C6E5C4E5C8DE8DE5CAE5C7B5CFC6C8DE8EB5FCE5C5DE8FCAF6DE90DE91E5C9DE92DE93DE94C3D4B1C5BCA3DE95DE96DE97D7B7DE98DE99CDCBCBCDCACACCD3E5CCE5CBC4E6DE9ADE9BD1A1D1B7E5CDDE9CE5D0DE9DCDB8D6F0E5CFB5DDDE9ECDBEDE9FE5D1B6BADEA0DF40CDA8B9E4DF41CAC5B3D1CBD9D4ECE5D2B7EADF42DF43DF44E5CEDF45DF46DF47DF48DF49DF4AE5D5B4FEE5D6DF4BDF4CDF4DDF4EDF4FE5D3E5D4DF50D2DDDF51DF52C2DFB1C6DF53D3E2DF54DF55B6DDCBECDF56E5D7DF57DF58D3F6DF59DF5ADF5BDF5CDF5DB1E9DF5EB6F4E5DAE5D8E5D9B5C0DF5FDF60DF61D2C5E5DCDF62DF63E5DEDF64DF65DF66DF67DF68DF69E5DDC7B2DF6AD2A3DF6BDF6CE5DBDF6DDF6EDF6FDF70D4E2D5DADF71DF72DF73DF74DF75E5E0D7F1DF76DF77DF78DF79DF7ADF7BDF7CE5E1DF7DB1DCD1FBDF7EE5E2E5E4DF80DF81DF82DF83E5E3DF84DF85E5E5DF86DF87DF88DF89DF8AD2D8DF8BB5CBDF8CE7DFDF8DDAF5DF8EDAF8DF8FDAF6DF90DAF7DF91DF92DF93DAFAD0CFC4C7DF94DF95B0EEDF96DF97DF98D0B0DF99DAF9DF9AD3CABAAADBA2C7F1DF9BDAFCDAFBC9DBDAFDDF9CDBA1D7DEDAFEC1DADF9DDF9EDBA5DF9FDFA0D3F4E040E041DBA7DBA4E042DBA8E043E044BDBCE045E046E047C0C9DBA3DBA6D6A3E048DBA9E049E04AE04BDBADE04CE04DE04EDBAEDBACBAC2E04FE050E051BFA4DBABE052E053E054DBAAD4C7B2BFE055E056DBAFE057B9F9E058DBB0E059E05AE05BE05CB3BBE05DE05EE05FB5A6E060E061E062E063B6BCDBB1E064E065E066B6F5E067DBB2E068E069E06AE06BE06CE06DE06EE06FE070E071E072E073E074E075E076E077E078E079E07AE07BB1C9E07CE07DE07EE080DBB4E081E082E083DBB3DBB5E084E085E086E087E088E089E08AE08BE08CE08DE08EDBB7E08FDBB6E090E091E092E093E094E095E096DBB8E097E098E099E09AE09BE09CE09DE09EE09FDBB9E0A0E140DBBAE141E142D3CFF4FAC7F5D7C3C5E4F4FCF4FDF4FBE143BEC6E144E145E146E147D0EFE148E149B7D3E14AE14BD4CDCCAAE14CE14DF5A2F5A1BAA8F4FECBD6E14EE14FE150F5A4C0D2E151B3EAE152CDAAF5A5F5A3BDB4F5A8E153F5A9BDCDC3B8BFE1CBE1F5AAE154E155E156F5A6F5A7C4F0E157E158E159E15AE15BF5ACE15CB4BCE15DD7EDE15EB4D7F5ABF5AEE15FE160F5ADF5AFD0D1E161E162E163E164E165E166E167C3D1C8A9E168E169E16AE16BE16CE16DF5B0F5B1E16EE16FE170E171E172E173F5B2E174E175F5B3F5B4F5B5E176E177E178E179F5B7F5B6E17AE17BE17CE17DF5B8E17EE180E181E182E183E184E185E186E187E188E189E18AB2C9E18BD3D4CACDE18CC0EFD6D8D2B0C1BFE18DBDF0E18EE18FE190E191E192E193E194E195E196E197B8AAE198E199E19AE19BE19CE19DE19EE19FE1A0E240E241E242E243E244E245E246E247E248E249E24AE24BE24CE24DE24EE24FE250E251E252E253E254E255E256E257E258E259E25AE25BE25CE25DE25EE25FE260E261E262E263E264E265E266E267E268E269E26AE26BE26CE26DE26EE26FE270E271E272E273E274E275E276E277E278E279E27AE27BE27CE27DE27EE280E281E282E283E284E285E286E287E288E289E28AE28BE28CE28DE28EE28FE290E291E292E293E294E295E296E297E298E299E29AE29BE29CE29DE29EE29FE2A0E340E341E342E343E344E345E346E347E348E349E34AE34BE34CE34DE34EE34FE350E351E352E353E354E355E356E357E358E359E35AE35BE35CE35DE35EE35FE360E361E362E363E364E365E366E367E368E369E36AE36BE36CE36DBCF8E36EE36FE370E371E372E373E374E375E376E377E378E379E37AE37BE37CE37DE37EE380E381E382E383E384E385E386E387F6C6E388E389E38AE38BE38CE38DE38EE38FE390E391E392E393E394E395E396E397E398E399E39AE39BE39CE39DE39EE39FE3A0E440E441E442E443E444E445F6C7E446E447E448E449E44AE44BE44CE44DE44EE44FE450E451E452E453E454E455E456E457E458E459E45AE45BE45CE45DE45EF6C8E45FE460E461E462E463E464E465E466E467E468E469E46AE46BE46CE46DE46EE46FE470E471E472E473E474E475E476E477E478E479E47AE47BE47CE47DE47EE480E481E482E483E484E485E486E487E488E489E48AE48BE48CE48DE48EE48FE490E491E492E493E494E495E496E497E498E499E49AE49BE49CE49DE49EE49FE4A0E540E541E542E543E544E545E546E547E548E549E54AE54BE54CE54DE54EE54FE550E551E552E553E554E555E556E557E558E559E55AE55BE55CE55DE55EE55FE560E561E562E563E564E565E566E567E568E569E56AE56BE56CE56DE56EE56FE570E571E572E573F6C9E574E575E576E577E578E579E57AE57BE57CE57DE57EE580E581E582E583E584E585E586E587E588E589E58AE58BE58CE58DE58EE58FE590E591E592E593E594E595E596E597E598E599E59AE59BE59CE59DE59EE59FF6CAE5A0E640E641E642E643E644E645E646E647E648E649E64AE64BE64CE64DE64EE64FE650E651E652E653E654E655E656E657E658E659E65AE65BE65CE65DE65EE65FE660E661E662F6CCE663E664E665E666E667E668E669E66AE66BE66CE66DE66EE66FE670E671E672E673E674E675E676E677E678E679E67AE67BE67CE67DE67EE680E681E682E683E684E685E686E687E688E689E68AE68BE68CE68DE68EE68FE690E691E692E693E694E695E696E697E698E699E69AE69BE69CE69DF6CBE69EE69FE6A0E740E741E742E743E744E745E746E747F7E9E748E749E74AE74BE74CE74DE74EE74FE750E751E752E753E754E755E756E757E758E759E75AE75BE75CE75DE75EE75FE760E761E762E763E764E765E766E767E768E769E76AE76BE76CE76DE76EE76FE770E771E772E773E774E775E776E777E778E779E77AE77BE77CE77DE77EE780E781E782E783E784E785E786E787E788E789E78AE78BE78CE78DE78EE78FE790E791E792E793E794E795E796E797E798E799E79AE79BE79CE79DE79EE79FE7A0E840E841E842E843E844E845E846E847E848E849E84AE84BE84CE84DE84EF6CDE84FE850E851E852E853E854E855E856E857E858E859E85AE85BE85CE85DE85EE85FE860E861E862E863E864E865E866E867E868E869E86AE86BE86CE86DE86EE86FE870E871E872E873E874E875E876E877E878E879E87AF6CEE87BE87CE87DE87EE880E881E882E883E884E885E886E887E888E889E88AE88BE88CE88DE88EE88FE890E891E892E893E894EEC4EEC5EEC6D5EBB6A4EEC8EEC7EEC9EECAC7A5EECBEECCE895B7B0B5F6EECDEECFE896EECEE897B8C6EED0EED1EED2B6DBB3AED6D3C4C6B1B5B8D6EED3EED4D4BFC7D5BEFBCED9B9B3EED6EED5EED8EED7C5A5EED9EEDAC7AEEEDBC7AFEEDCB2A7EEDDEEDEEEDFEEE0EEE1D7EAEEE2EEE3BCD8EEE4D3CBCCFAB2ACC1E5EEE5C7A6C3ADE898EEE6EEE7EEE8EEE9EEEAEEEBEEECE899EEEDEEEEEEEFE89AE89BEEF0EEF1EEF2EEF4EEF3E89CEEF5CDADC2C1EEF6EEF7EEF8D5A1EEF9CFB3EEFAEEFBE89DEEFCEEFDEFA1EEFEEFA2B8F5C3FAEFA3EFA4BDC2D2BFB2F9EFA5EFA6EFA7D2F8EFA8D6FDEFA9C6CCE89EEFAAEFABC1B4EFACCFFACBF8EFAEEFADB3FAB9F8EFAFEFB0D0E2EFB1EFB2B7E6D0BFEFB3EFB4EFB5C8F1CCE0EFB6EFB7EFB8EFB9EFBAD5E0EFBBB4EDC3AAEFBCE89FEFBDEFBEEFBFE8A0CEFDEFC0C2E0B4B8D7B6BDF5E940CFC7EFC3EFC1EFC2EFC4B6A7BCFCBEE2C3CCEFC5EFC6E941EFC7EFCFEFC8EFC9EFCAC7C2EFF1B6CDEFCBE942EFCCEFCDB6C6C3BEEFCEE943EFD0EFD1EFD2D5F2E944EFD3C4F7E945EFD4C4F8EFD5EFD6B8E4B0F7EFD7EFD8EFD9E946EFDAEFDBEFDCEFDDE947EFDEBEB5EFE1EFDFEFE0E948EFE2EFE3C1CDEFE4EFE5EFE6EFE7EFE8EFE9EFEAEFEBEFECC0D8E949EFEDC1ADEFEEEFEFEFF0E94AE94BCFE2E94CE94DE94EE94FE950E951E952E953B3A4E954E955E956E957E958E959E95AE95BE95CE95DE95EE95FE960E961E962E963E964E965E966E967E968E969E96AE96BE96CE96DE96EE96FE970E971E972E973E974E975E976E977E978E979E97AE97BE97CE97DE97EE980E981E982E983E984E985E986E987E988E989E98AE98BE98CE98DE98EE98FE990E991E992E993E994E995E996E997E998E999E99AE99BE99CE99DE99EE99FE9A0EA40EA41EA42EA43EA44EA45EA46EA47EA48EA49EA4AEA4BEA4CEA4DEA4EEA4FEA50EA51EA52EA53EA54EA55EA56EA57EA58EA59EA5AEA5BC3C5E3C5C9C1E3C6EA5CB1D5CECAB4B3C8F2E3C7CFD0E3C8BCE4E3C9E3CAC3C6D5A2C4D6B9EBCEC5E3CBC3F6E3CCEA5DB7A7B8F3BAD2E3CDE3CED4C4E3CFEA5EE3D0D1CBE3D1E3D2E3D3E3D4D1D6E3D5B2FBC0BBE3D6EA5FC0ABE3D7E3D8E3D9EA60E3DAE3DBEA61B8B7DAE2EA62B6D3EA63DAE4DAE3EA64EA65EA66EA67EA68EA69EA6ADAE6EA6BEA6CEA6DC8EEEA6EEA6FDAE5B7C0D1F4D2F5D5F3BDD7EA70EA71EA72EA73D7E8DAE8DAE7EA74B0A2CDD3EA75DAE9EA76B8BDBCCAC2BDC2A4B3C2DAEAEA77C2AAC4B0BDB5EA78EA79CFDEEA7AEA7BEA7CDAEBC9C2EA7DEA7EEA80EA81EA82B1DDEA83EA84EA85DAECEA86B6B8D4BAEA87B3FDEA88EA89DAEDD4C9CFD5C5E3EA8ADAEEEA8BEA8CEA8DEA8EEA8FDAEFEA90DAF0C1EACCD5CFDDEA91EA92EA93EA94EA95EA96EA97EA98EA99EA9AEA9BEA9CEA9DD3E7C2A1EA9EDAF1EA9FEAA0CBE5EB40DAF2EB41CBE6D2FEEB42EB43EB44B8F4EB45EB46DAF3B0AFCFB6EB47EB48D5CFEB49EB4AEB4BEB4CEB4DEB4EEB4FEB50EB51EB52CBEDEB53EB54EB55EB56EB57EB58EB59EB5ADAF4EB5BEB5CE3C4EB5DEB5EC1A5EB5FEB60F6BFEB61EB62F6C0F6C1C4D1EB63C8B8D1E3EB64EB65D0DBD1C5BCAFB9CDEB66EFF4EB67EB68B4C6D3BAF6C2B3FBEB69EB6AF6C3EB6BEB6CB5F1EB6DEB6EEB6FEB70EB71EB72EB73EB74EB75EB76F6C5EB77EB78EB79EB7AEB7BEB7CEB7DD3EAF6A7D1A9EB7EEB80EB81EB82F6A9EB83EB84EB85F6A8EB86EB87C1E3C0D7EB88B1A2EB89EB8AEB8BEB8CCEEDEB8DD0E8F6ABEB8EEB8FCFF6EB90F6AAD5F0F6ACC3B9EB91EB92EB93BBF4F6AEF6ADEB94EB95EB96C4DEEB97EB98C1D8EB99EB9AEB9BEB9CEB9DCBAAEB9ECFBCEB9FEBA0EC40EC41EC42EC43EC44EC45EC46EC47EC48F6AFEC49EC4AF6B0EC4BEC4CF6B1EC4DC2B6EC4EEC4FEC50EC51EC52B0D4C5F9EC53EC54EC55EC56F6B2EC57EC58EC59EC5AEC5BEC5CEC5DEC5EEC5FEC60EC61EC62EC63EC64EC65EC66EC67EC68EC69C7E0F6A6EC6AEC6BBEB8EC6CEC6DBEB2EC6EB5E5EC6FEC70B7C7EC71BFBFC3D2C3E6EC72EC73D8CCEC74EC75EC76B8EFEC77EC78EC79EC7AEC7BEC7CEC7DEC7EEC80BDF9D1A5EC81B0D0EC82EC83EC84EC85EC86F7B0EC87EC88EC89EC8AEC8BEC8CEC8DEC8EF7B1EC8FEC90EC91EC92EC93D0ACEC94B0B0EC95EC96EC97F7B2F7B3EC98F7B4EC99EC9AEC9BC7CAEC9CEC9DEC9EEC9FECA0ED40ED41BECFED42ED43F7B7ED44ED45ED46ED47ED48ED49ED4AF7B6ED4BB1DEED4CF7B5ED4DED4EF7B8ED4FF7B9ED50ED51ED52ED53ED54ED55ED56ED57ED58ED59ED5AED5BED5CED5DED5EED5FED60ED61ED62ED63ED64ED65ED66ED67ED68ED69ED6AED6BED6CED6DED6EED6FED70ED71ED72ED73ED74ED75ED76ED77ED78ED79ED7AED7BED7CED7DED7EED80ED81CEA4C8CDED82BAABE8B8E8B9E8BABEC2ED83ED84ED85ED86ED87D2F4ED88D4CFC9D8ED89ED8AED8BED8CED8DED8EED8FED90ED91ED92ED93ED94ED95ED96ED97ED98ED99ED9AED9BED9CED9DED9EED9FEDA0EE40EE41EE42EE43EE44EE45EE46EE47EE48EE49EE4AEE4BEE4CEE4DEE4EEE4FEE50EE51EE52EE53EE54EE55EE56EE57EE58EE59EE5AEE5BEE5CEE5DEE5EEE5FEE60EE61EE62EE63EE64EE65EE66EE67EE68EE69EE6AEE6BEE6CEE6DEE6EEE6FEE70EE71EE72EE73EE74EE75EE76EE77EE78EE79EE7AEE7BEE7CEE7DEE7EEE80EE81EE82EE83EE84EE85EE86EE87EE88EE89EE8AEE8BEE8CEE8DEE8EEE8FEE90EE91EE92EE93EE94EE95EE96EE97EE98EE99EE9AEE9BEE9CEE9DEE9EEE9FEEA0EF40EF41EF42EF43EF44EF45D2B3B6A5C7EAF1FCCFEECBB3D0EBE7EFCDE7B9CBB6D9F1FDB0E4CBCCF1FED4A4C2ADC1ECC6C4BEB1F2A1BCD5EF46F2A2F2A3EF47F2A4D2C3C6B5EF48CDC7F2A5EF49D3B1BFC5CCE2EF4AF2A6F2A7D1D5B6EEF2A8F2A9B5DFF2AAF2ABEF4BB2FCF2ACF2ADC8A7EF4CEF4DEF4EEF4FEF50EF51EF52EF53EF54EF55EF56EF57EF58EF59EF5AEF5BEF5CEF5DEF5EEF5FEF60EF61EF62EF63EF64EF65EF66EF67EF68EF69EF6AEF6BEF6CEF6DEF6EEF6FEF70EF71B7E7EF72EF73ECA9ECAAECABEF74ECACEF75EF76C6AEECADECAEEF77EF78EF79B7C9CAB3EF7AEF7BEF7CEF7DEF7EEF80EF81E2B8F7CFEF82EF83EF84EF85EF86EF87EF88EF89EF8AEF8BEF8CEF8DEF8EEF8FEF90EF91EF92EF93EF94EF95EF96EF97EF98EF99EF9AEF9BEF9CEF9DEF9EEF9FEFA0F040F041F042F043F044F7D0F045F046B2CDF047F048F049F04AF04BF04CF04DF04EF04FF050F051F052F053F054F055F056F057F058F059F05AF05BF05CF05DF05EF05FF060F061F062F063F7D1F064F065F066F067F068F069F06AF06BF06CF06DF06EF06FF070F071F072F073F074F075F076F077F078F079F07AF07BF07CF07DF07EF080F081F082F083F084F085F086F087F088F089F7D3F7D2F08AF08BF08CF08DF08EF08FF090F091F092F093F094F095F096E2BBF097BCA2F098E2BCE2BDE2BEE2BFE2C0E2C1B7B9D2FBBDA4CACEB1A5CBC7F099E2C2B6FCC8C4E2C3F09AF09BBDC8F09CB1FDE2C4F09DB6F6E2C5C4D9F09EF09FE2C6CFDAB9DDE2C7C0A1F0A0E2C8B2F6F140E2C9F141C1F3E2CAE2CBC2F8E2CCE2CDE2CECAD7D8B8D9E5CFE3F142F143F144F145F146F147F148F149F14AF14BF14CF0A5F14DF14EDCB0F14FF150F151F152F153F154F155F156F157F158F159F15AF15BF15CF15DF15EF15FF160F161F162F163F164F165F166F167F168F169F16AF16BF16CF16DF16EF16FF170F171F172F173F174F175F176F177F178F179F17AF17BF17CF17DF17EF180F181F182F183F184F185F186F187F188F189F18AF18BF18CF18DF18EF18FF190F191F192F193F194F195F196F197F198F199F19AF19BF19CF19DF19EF19FF1A0F240F241F242F243F244F245F246F247F248F249F24AF24BF24CF24DF24EF24FF250F251F252F253F254F255F256F257F258F259F25AF25BF25CF25DF25EF25FF260F261F262F263F264F265F266F267F268F269F26AF26BF26CF26DF26EF26FF270F271F272F273F274F275F276F277F278F279F27AF27BF27CF27DF27EF280F281F282F283F284F285F286F287F288F289F28AF28BF28CF28DF28EF28FF290F291F292F293F294F295F296F297F298F299F29AF29BF29CF29DF29EF29FF2A0F340F341F342F343F344F345F346F347F348F349F34AF34BF34CF34DF34EF34FF350F351C2EDD4A6CDD4D1B1B3DBC7FDF352B2B5C2BFE6E0CABBE6E1E6E2BED4E6E3D7A4CDD5E6E5BCDDE6E4E6E6E6E7C2EEF353BDBEE6E8C2E6BAA7E6E9F354E6EAB3D2D1E9F355F356BFA5E6EBC6EFE6ECE6EDF357F358E6EEC6ADE6EFF359C9A7E6F0E6F1E6F2E5B9E6F3E6F4C2E2E6F5E6F6D6E8E6F7F35AE6F8B9C7F35BF35CF35DF35EF35FF360F361F7BBF7BAF362F363F364F365F7BEF7BCBAA1F366F7BFF367F7C0F368F369F36AF7C2F7C1F7C4F36BF36CF7C3F36DF36EF36FF370F371F7C5F7C6F372F373F374F375F7C7F376CBE8F377F378F379F37AB8DFF37BF37CF37DF37EF380F381F7D4F382F7D5F383F384F385F386F7D6F387F388F389F38AF7D8F38BF7DAF38CF7D7F38DF38EF38FF390F391F392F393F394F395F7DBF396F7D9F397F398F399F39AF39BF39CF39DD7D7F39EF39FF3A0F440F7DCF441F442F443F444F445F446F7DDF447F448F449F7DEF44AF44BF44CF44DF44EF44FF450F451F452F453F454F7DFF455F456F457F7E0F458F459F45AF45BF45CF45DF45EF45FF460F461F462DBCBF463F464D8AAF465F466F467F468F469F46AF46BF46CE5F7B9EDF46DF46EF46FF470BFFDBBEAF7C9C6C7F7C8F471F7CAF7CCF7CBF472F473F474F7CDF475CEBAF476F7CEF477F478C4A7F479F47AF47BF47CF47DF47EF480F481F482F483F484F485F486F487F488F489F48AF48BF48CF48DF48EF48FF490F491F492F493F494F495F496F497F498F499F49AF49BF49CF49DF49EF49FF4A0F540F541F542F543F544F545F546F547F548F549F54AF54BF54CF54DF54EF54FF550F551F552F553F554F555F556F557F558F559F55AF55BF55CF55DF55EF55FF560F561F562F563F564F565F566F567F568F569F56AF56BF56CF56DF56EF56FF570F571F572F573F574F575F576F577F578F579F57AF57BF57CF57DF57EF580F581F582F583F584F585F586F587F588F589F58AF58BF58CF58DF58EF58FF590F591F592F593F594F595F596F597F598F599F59AF59BF59CF59DF59EF59FF5A0F640F641F642F643F644F645F646F647F648F649F64AF64BF64CF64DF64EF64FF650F651F652F653F654F655F656F657F658F659F65AF65BF65CF65DF65EF65FF660F661F662F663F664F665F666F667F668F669F66AF66BF66CF66DF66EF66FF670F671F672F673F674F675F676F677F678F679F67AF67BF67CF67DF67EF680F681F682F683F684F685F686F687F688F689F68AF68BF68CF68DF68EF68FF690F691F692F693F694F695F696F697F698F699F69AF69BF69CF69DF69EF69FF6A0F740F741F742F743F744F745F746F747F748F749F74AF74BF74CF74DF74EF74FF750F751F752F753F754F755F756F757F758F759F75AF75BF75CF75DF75EF75FF760F761F762F763F764F765F766F767F768F769F76AF76BF76CF76DF76EF76FF770F771F772F773F774F775F776F777F778F779F77AF77BF77CF77DF77EF780D3E3F781F782F6CFF783C2B3F6D0F784F785F6D1F6D2F6D3F6D4F786F787F6D6F788B1ABF6D7F789F6D8F6D9F6DAF78AF6DBF6DCF78BF78CF78DF78EF6DDF6DECFCAF78FF6DFF6E0F6E1F6E2F6E3F6E4C0F0F6E5F6E6F6E7F6E8F6E9F790F6EAF791F6EBF6ECF792F6EDF6EEF6EFF6F0F6F1F6F2F6F3F6F4BEA8F793F6F5F6F6F6F7F6F8F794F795F796F797F798C8FAF6F9F6FAF6FBF6FCF799F79AF6FDF6FEF7A1F7A2F7A3F7A4F7A5F79BF79CF7A6F7A7F7A8B1EEF7A9F7AAF7ABF79DF79EF7ACF7ADC1DBF7AEF79FF7A0F7AFF840F841F842F843F844F845F846F847F848F849F84AF84BF84CF84DF84EF84FF850F851F852F853F854F855F856F857F858F859F85AF85BF85CF85DF85EF85FF860F861F862F863F864F865F866F867F868F869F86AF86BF86CF86DF86EF86FF870F871F872F873F874F875F876F877F878F879F87AF87BF87CF87DF87EF880F881F882F883F884F885F886F887F888F889F88AF88BF88CF88DF88EF88FF890F891F892F893F894F895F896F897F898F899F89AF89BF89CF89DF89EF89FF8A0F940F941F942F943F944F945F946F947F948F949F94AF94BF94CF94DF94EF94FF950F951F952F953F954F955F956F957F958F959F95AF95BF95CF95DF95EF95FF960F961F962F963F964F965F966F967F968F969F96AF96BF96CF96DF96EF96FF970F971F972F973F974F975F976F977F978F979F97AF97BF97CF97DF97EF980F981F982F983F984F985F986F987F988F989F98AF98BF98CF98DF98EF98FF990F991F992F993F994F995F996F997F998F999F99AF99BF99CF99DF99EF99FF9A0FA40FA41FA42FA43FA44FA45FA46FA47FA48FA49FA4AFA4BFA4CFA4DFA4EFA4FFA50FA51FA52FA53FA54FA55FA56FA57FA58FA59FA5AFA5BFA5CFA5DFA5EFA5FFA60FA61FA62FA63FA64FA65FA66FA67FA68FA69FA6AFA6BFA6CFA6DFA6EFA6FFA70FA71FA72FA73FA74FA75FA76FA77FA78FA79FA7AFA7BFA7CFA7DFA7EFA80FA81FA82FA83FA84FA85FA86FA87FA88FA89FA8AFA8BFA8CFA8DFA8EFA8FFA90FA91FA92FA93FA94FA95FA96FA97FA98FA99FA9AFA9BFA9CFA9DFA9EFA9FFAA0FB40FB41FB42FB43FB44FB45FB46FB47FB48FB49FB4AFB4BFB4CFB4DFB4EFB4FFB50FB51FB52FB53FB54FB55FB56FB57FB58FB59FB5AFB5BC4F1F0AFBCA6F0B0C3F9FB5CC5B8D1BBFB5DF0B1F0B2F0B3F0B4F0B5D1BCFB5ED1ECFB5FF0B7F0B6D4A7FB60CDD2F0B8F0BAF0B9F0BBF0BCFB61FB62B8EBF0BDBAE8FB63F0BEF0BFBEE9F0C0B6ECF0C1F0C2F0C3F0C4C8B5F0C5F0C6FB64F0C7C5F4FB65F0C8FB66FB67FB68F0C9FB69F0CAF7BDFB6AF0CBF0CCF0CDFB6BF0CEFB6CFB6DFB6EFB6FF0CFBAD7FB70F0D0F0D1F0D2F0D3F0D4F0D5F0D6F0D8FB71FB72D3A5F0D7FB73F0D9FB74FB75FB76FB77FB78FB79FB7AFB7BFB7CFB7DF5BAC2B9FB7EFB80F7E4FB81FB82FB83FB84F7E5F7E6FB85FB86F7E7FB87FB88FB89FB8AFB8BFB8CF7E8C2B4FB8DFB8EFB8FFB90FB91FB92FB93FB94FB95F7EAFB96F7EBFB97FB98FB99FB9AFB9BFB9CC2F3FB9DFB9EFB9FFBA0FC40FC41FC42FC43FC44FC45FC46FC47FC48F4F0FC49FC4AFC4BF4EFFC4CFC4DC2E9FC4EF7E1F7E2FC4FFC50FC51FC52FC53BBC6FC54FC55FC56FC57D9E4FC58FC59FC5ACAF2C0E8F0A4FC5BBADAFC5CFC5DC7ADFC5EFC5FFC60C4ACFC61FC62F7ECF7EDF7EEFC63F7F0F7EFFC64F7F1FC65FC66F7F4FC67F7F3FC68F7F2F7F5FC69FC6AFC6BFC6CF7F6FC6DFC6EFC6FFC70FC71FC72FC73FC74FC75EDE9FC76EDEAEDEBFC77F6BCFC78FC79FC7AFC7BFC7CFC7DFC7EFC80FC81FC82FC83FC84F6BDFC85F6BEB6A6FC86D8BEFC87FC88B9C4FC89FC8AFC8BD8BBFC8CDCB1FC8DFC8EFC8FFC90FC91FC92CAF3FC93F7F7FC94FC95FC96FC97FC98FC99FC9AFC9BFC9CF7F8FC9DFC9EF7F9FC9FFCA0FD40FD41FD42FD43FD44F7FBFD45F7FAFD46B1C7FD47F7FCF7FDFD48FD49FD4AFD4BFD4CF7FEFD4DFD4EFD4FFD50FD51FD52FD53FD54FD55FD56FD57C6EBECB4FD58FD59FD5AFD5BFD5CFD5DFD5EFD5FFD60FD61FD62FD63FD64FD65FD66FD67FD68FD69FD6AFD6BFD6CFD6DFD6EFD6FFD70FD71FD72FD73FD74FD75FD76FD77FD78FD79FD7AFD7BFD7CFD7DFD7EFD80FD81FD82FD83FD84FD85B3DDF6B3FD86FD87F6B4C1E4F6B5F6B6F6B7F6B8F6B9F6BAC8A3F6BBFD88FD89FD8AFD8BFD8CFD8DFD8EFD8FFD90FD91FD92FD93C1FAB9A8EDE8FD94FD95FD96B9EAD9DFFD97FD98FD99FD9AFD9";
67
67
  encodeToGb2312(D) {
68
68
  for (var C = "", B = 0; B < D.length; B++) {
@@ -70,8 +70,8 @@ class uC {
70
70
  if (F == " ")
71
71
  C += "+";
72
72
  else if (A >= 19968 && A <= 40869) {
73
- let t = A - 19968;
74
- C += "%" + this.z.substr(t * 4, 2) + "%" + this.z.substr(t * 4 + 2, 2);
73
+ let e = A - 19968;
74
+ C += "%" + this.z.substr(e * 4, 2) + "%" + this.z.substr(e * 4 + 2, 2);
75
75
  } else
76
76
  C += "%" + D.charCodeAt(B).toString(16);
77
77
  }
@@ -89,11 +89,11 @@ class uC {
89
89
  var A = D.charAt(B);
90
90
  if (isNaN(parseInt(A)))
91
91
  try {
92
- var t = D.substr(B, 2) + D.substr(B + 3, 2);
92
+ var e = D.substr(B, 2) + D.substr(B + 3, 2);
93
93
  B = B + 4;
94
- for (var e = -1; (e = this.z.indexOf(t, e + 1)) != -1; )
95
- if (e % 4 == 0) {
96
- C += String.fromCharCode(e / 4 + 19968);
94
+ for (var t = -1; (t = this.z.indexOf(e, t + 1)) != -1; )
95
+ if (t % 4 == 0) {
96
+ C += String.fromCharCode(t / 4 + 19968);
97
97
  break;
98
98
  }
99
99
  } catch {
@@ -111,12 +111,12 @@ class uC {
111
111
  return C;
112
112
  }
113
113
  }
114
- let P = new uC();
115
- class a {
114
+ let P = new cC();
115
+ class o {
116
116
  static kOrigin;
117
117
  imp;
118
118
  constructor(D, C, B) {
119
- this.imp = new i.mxcadassemblyimp.MdGePoint3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
119
+ this.imp = new n.mxcadassemblyimp.MdGePoint3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
120
120
  }
121
121
  toVector3() {
122
122
  return new THREE.Vector3(this.imp.x, this.imp.y, this.imp.z);
@@ -143,7 +143,7 @@ class a {
143
143
  return this.imp.isEqualTo(D.imp);
144
144
  }
145
145
  clone() {
146
- return new a(this.imp);
146
+ return new o(this.imp);
147
147
  }
148
148
  get x() {
149
149
  return this.imp.x;
@@ -171,7 +171,7 @@ class y {
171
171
  static kNegateZAxis;
172
172
  imp;
173
173
  constructor(D, C, B) {
174
- this.imp = new i.mxcadassemblyimp.MdGeVector3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
174
+ this.imp = new n.mxcadassemblyimp.MdGeVector3d(), D instanceof Object ? (this.imp.x = D.x, this.imp.y = D.y, this.imp.z = D.z) : (this.imp.x = D || 0, this.imp.y = C || 0, this.imp.z = B || 0);
175
175
  }
176
176
  copy(D) {
177
177
  return this.imp.x = D.imp.x, this.imp.y = D.imp.y, this.imp.z = D.imp.z, this;
@@ -235,17 +235,17 @@ class y {
235
235
  this.imp.z = D;
236
236
  }
237
237
  }
238
- class j {
238
+ class v {
239
239
  static kIdentity;
240
240
  imp;
241
241
  constructor(D) {
242
- this.imp = new i.mxcadassemblyimp.MdGeMatrix3d(), D instanceof Object && this.imp.copy(D);
242
+ this.imp = new n.mxcadassemblyimp.MdGeMatrix3d(), D instanceof Object && this.imp.copy(D);
243
243
  }
244
244
  copy(D) {
245
245
  return this.imp.copy(D.imp), this;
246
246
  }
247
247
  clone() {
248
- return new j(this.imp);
248
+ return new v(this.imp);
249
249
  }
250
250
  setToIdentity() {
251
251
  return this.imp.setToIdentity(), this;
@@ -278,7 +278,7 @@ class j {
278
278
  return this.imp.setCoordSystem(D.imp, C.imp, B.imp, F.imp), this;
279
279
  }
280
280
  setToTranslation(D) {
281
- return this.imp.setCoordSystem(D.imp), this;
281
+ return this.imp.setToTranslation(D.imp), this;
282
282
  }
283
283
  setToRotation(D, C, B) {
284
284
  return this.imp.setToRotation(D, C.imp, B.imp), this;
@@ -286,6 +286,9 @@ class j {
286
286
  setToScaling(D, C) {
287
287
  return this.imp.setToScaling(D, C.imp), this;
288
288
  }
289
+ setMirror(D, C) {
290
+ return this.imp.setMirror(D.imp, C.imp), this;
291
+ }
289
292
  scale() {
290
293
  return this.imp.scale();
291
294
  }
@@ -293,10 +296,10 @@ class j {
293
296
  return this.imp.getData(D, C);
294
297
  }
295
298
  }
296
- class lC {
299
+ class SD {
297
300
  imp;
298
301
  constructor(D) {
299
- this.imp = new i.mxcadassemblyimp.MdGeLongArray(), D instanceof Object && this.imp.copy(D);
302
+ this.imp = new n.mxcadassemblyimp.MdGeLongArray(), D instanceof Object && this.imp.copy(D);
300
303
  }
301
304
  copy(D) {
302
305
  return this.imp.copy(D.imp), this;
@@ -314,10 +317,10 @@ class lC {
314
317
  this.imp.setAt(D, C);
315
318
  }
316
319
  }
317
- class vD {
320
+ class ID {
318
321
  imp;
319
322
  constructor(D) {
320
- this.imp = new i.mxcadassemblyimp.MdGeStringArray(), D instanceof Object && this.imp.copy(D);
323
+ this.imp = new n.mxcadassemblyimp.MdGeStringArray(), D instanceof Object && this.imp.copy(D);
321
324
  }
322
325
  copy(D) {
323
326
  return this.imp.copy(D.imp), this;
@@ -340,10 +343,10 @@ class vD {
340
343
  D(C ? P.decodeFromGb2312(this.imp.at(F)) : this.imp.at(F), F);
341
344
  }
342
345
  }
343
- class cC {
346
+ class mC {
344
347
  imp;
345
348
  constructor(D) {
346
- this.imp = new i.mxcadassemblyimp.MdGePoint3dArray(), D instanceof Object && this.imp.copy(D);
349
+ this.imp = new n.mxcadassemblyimp.MdGePoint3dArray(), D instanceof Object && this.imp.copy(D);
347
350
  }
348
351
  copy(D) {
349
352
  return this.imp.copy(D.imp), this;
@@ -355,19 +358,19 @@ class cC {
355
358
  return this.imp.length();
356
359
  }
357
360
  at(D) {
358
- return new a(this.imp.at(D));
361
+ return new o(this.imp.at(D));
359
362
  }
360
363
  setAt(D, C) {
361
364
  this.imp.setAt(D, C.imp);
362
365
  }
363
366
  }
364
- const mC = new FinalizationRegistry((E) => {
365
- i.App.DestroyObject(E);
366
- }), pC = {};
367
- class K {
367
+ const pC = new FinalizationRegistry((E) => {
368
+ n.App.DestroyObject(E);
369
+ }), dC = {};
370
+ class H {
368
371
  imp = 0;
369
372
  constructor(D) {
370
- this.imp = D, this.imp && mC.register(this, D, pC);
373
+ this.imp = D, this.imp && pC.register(this, D, dC);
371
374
  }
372
375
  getImp() {
373
376
  return this.imp;
@@ -407,27 +410,27 @@ class R {
407
410
  this.type == 1 ? h.getCurrentDraw().eraseMxEntity(this.id) : this.type == 0 && U.eraseEntity(this.id);
408
411
  }
409
412
  getMcDbObject() {
410
- return this.type == 0 ? i.App.ObjectIdToObject(this.id) : null;
413
+ return this.type == 0 ? n.App.ObjectIdToObject(this.id) : null;
411
414
  }
412
415
  getMcDbEntity() {
413
- return this.type == 0 && i.App.ObjectIdIsKindOf(this.id, "McDbEntity") ? i.App.ObjectIdToObject(this.id) : null;
416
+ return this.type == 0 && n.App.ObjectIdIsKindOf(this.id, "McDbEntity") ? n.App.ObjectIdToObject(this.id) : null;
414
417
  }
415
418
  getMcDbCurve() {
416
- return this.type == 0 && i.App.ObjectIdIsKindOf(this.id, "McDbCurve") ? i.App.ObjectIdToObject(this.id) : null;
419
+ return this.type == 0 && n.App.ObjectIdIsKindOf(this.id, "McDbCurve") ? n.App.ObjectIdToObject(this.id) : null;
417
420
  }
418
421
  clone() {
419
422
  if (this.type == 0) {
420
- let D = i.App.getImp().ObjectIdToMdObject(this.id);
423
+ let D = n.App.getImp().ObjectIdToMdObject(this.id);
421
424
  if (!D)
422
425
  return null;
423
426
  let C = D.Clone();
424
- return i.App.DestroyObject(D), i.App.CreateCloneObject(C);
427
+ return n.App.DestroyObject(D), n.App.CreateCloneObject(C);
425
428
  }
426
429
  return null;
427
430
  }
428
431
  getObjectName() {
429
432
  if (this.type == 0)
430
- return i.App.getImp().ObjectIdToObjectName(this.id);
433
+ return n.App.getImp().ObjectIdToObjectName(this.id);
431
434
  if (this.type == 1) {
432
435
  let D = h.getCurrentDraw().getMxEntity(this.id);
433
436
  if (D)
@@ -439,7 +442,7 @@ class R {
439
442
  return this.type == 1 ? h.getCurrentDraw().getMxEntity(this.id) : null;
440
443
  }
441
444
  }
442
- class I extends K {
445
+ class j extends H {
443
446
  constructor(D) {
444
447
  super(D);
445
448
  }
@@ -451,28 +454,28 @@ class I extends K {
451
454
  }
452
455
  Clone() {
453
456
  let D = this.imp.Clone();
454
- return i.App.CreateCloneObject(D);
457
+ return n.App.CreateCloneObject(D);
455
458
  }
456
459
  GetHandle() {
457
460
  return this.imp.GetHandle();
458
461
  }
459
462
  GetDatabase() {
460
- return new pD(this.imp.GetDatabase());
463
+ return new hD(this.imp.GetDatabase());
461
464
  }
462
465
  GetOwnerID() {
463
466
  return this.imp.GetOwnerID();
464
467
  }
465
468
  }
466
- class oD {
469
+ class aD {
467
470
  aryVal = [];
468
471
  constructor(D) {
469
472
  if (D) {
470
473
  let C = 0, B = D.length();
471
474
  for (; C < B; C++) {
472
- let F = D.release(C), A = i.App.CreateCloneObject(F);
475
+ let F = D.release(C), A = n.App.CreateCloneObject(F);
473
476
  A != null && this.aryVal.push(A);
474
477
  }
475
- i.App.DestroyObject(D);
478
+ n.App.DestroyObject(D);
476
479
  }
477
480
  }
478
481
  forEach(D) {
@@ -487,7 +490,7 @@ class oD {
487
490
  return this.aryVal.length == 0;
488
491
  }
489
492
  }
490
- var aD;
493
+ var uD;
491
494
  ((E) => {
492
495
  ((D) => {
493
496
  D[D.kTextLeft = 0] = "kTextLeft", D[D.kTextCenter = 1] = "kTextCenter", D[D.kTextRight = 2] = "kTextRight", D[D.kTextAlign = 3] = "kTextAlign", D[D.kTextMid = 4] = "kTextMid", D[D.kTextFit = 5] = "kTextFit";
@@ -498,11 +501,11 @@ var aD;
498
501
  })(E.AttachmentPoint || (E.AttachmentPoint = {})), ((D) => {
499
502
  D[D.kLnWt000 = 0] = "kLnWt000", D[D.kLnWt005 = 5] = "kLnWt005", D[D.kLnWt009 = 9] = "kLnWt009", D[D.kLnWt013 = 13] = "kLnWt013", D[D.kLnWt015 = 15] = "kLnWt015", D[D.kLnWt018 = 18] = "kLnWt018", D[D.kLnWt020 = 20] = "kLnWt020", D[D.kLnWt025 = 25] = "kLnWt025", D[D.kLnWt030 = 30] = "kLnWt030", D[D.kLnWt035 = 35] = "kLnWt035", D[D.kLnWt040 = 40] = "kLnWt040", D[D.kLnWt050 = 50] = "kLnWt050", D[D.kLnWt053 = 53] = "kLnWt053", D[D.kLnWt060 = 60] = "kLnWt060", D[D.kLnWt070 = 70] = "kLnWt070", D[D.kLnWt080 = 80] = "kLnWt080", D[D.kLnWt090 = 90] = "kLnWt090", D[D.kLnWt100 = 100] = "kLnWt100", D[D.kLnWt106 = 106] = "kLnWt106", D[D.kLnWt120 = 120] = "kLnWt120", D[D.kLnWt140 = 140] = "kLnWt140", D[D.kLnWt158 = 158] = "kLnWt158", D[D.kLnWt200 = 200] = "kLnWt200", D[D.kLnWt211 = 211] = "kLnWt211", D[D.kLnWtByLayer = -1] = "kLnWtByLayer", D[D.kLnWtByBlock = -2] = "kLnWtByBlock", D[D.kLnWtByLwDefault = -3] = "kLnWtByLwDefault";
500
503
  })(E.LineWeight || (E.LineWeight = {}));
501
- })(aD || (aD = {}));
502
- class H {
504
+ })(uD || (uD = {}));
505
+ class N {
503
506
  imp;
504
507
  constructor(D, C, B) {
505
- this.imp = new i.mxcadassemblyimp.MdCmColor(), D instanceof Object ? (this.imp.red = D.red, this.imp.green = D.green, this.imp.blue = D.blue, this.imp.method = D.method, this.imp.n = D.n, this.imp.colorIndex = D.colorIndex) : typeof D == "number" && typeof C == "number" && typeof B == "number" && this.imp.setRGB(D, C, B);
508
+ this.imp = new n.mxcadassemblyimp.MdCmColor(), D instanceof Object ? (this.imp.red = D.red, this.imp.green = D.green, this.imp.blue = D.blue, this.imp.method = D.method, this.imp.n = D.n, this.imp.colorIndex = D.colorIndex) : typeof D == "number" && typeof C == "number" && typeof B == "number" && this.imp.setRGB(D, C, B);
506
509
  }
507
510
  getImp() {
508
511
  return this.imp;
@@ -511,7 +514,7 @@ class H {
511
514
  return this.imp.red = D.imp.red, this.imp.green = D.imp.green, this.imp.blue = D.imp.blue, this.imp.method = D.imp.method, this.imp.n = D.imp.n, this.imp.colorIndex = D.imp.colorIndex, this;
512
515
  }
513
516
  clone() {
514
- return new H(this.imp);
517
+ return new N(this.imp);
515
518
  }
516
519
  setColorIndex(D) {
517
520
  this.imp.setColorIndex(D);
@@ -556,9 +559,9 @@ class H {
556
559
  this.imp.colorIndex = D;
557
560
  }
558
561
  }
559
- class dC extends I {
562
+ class hC extends j {
560
563
  constructor(D) {
561
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbLayerTableRecord());
564
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbLayerTableRecord());
562
565
  }
563
566
  get name() {
564
567
  return this.imp.getName();
@@ -585,7 +588,7 @@ class dC extends I {
585
588
  this.imp.setIsLocked(D);
586
589
  }
587
590
  get color() {
588
- return new H(this.imp.color());
591
+ return new N(this.imp.color());
589
592
  }
590
593
  set color(D) {
591
594
  this.imp.setColor(D.getImp());
@@ -603,22 +606,22 @@ class dC extends I {
603
606
  this.imp.setLineWeight(D);
604
607
  }
605
608
  }
606
- class jD extends I {
609
+ class jD extends j {
607
610
  constructor(D) {
608
611
  super(D);
609
612
  }
610
613
  }
611
- class ID extends I {
614
+ class GD extends j {
612
615
  constructor(D) {
613
616
  super(D);
614
617
  }
615
618
  }
616
- class GD extends I {
619
+ class VD extends j {
617
620
  constructor(D) {
618
621
  super(D);
619
622
  }
620
623
  }
621
- class pD extends K {
624
+ class hD extends H {
622
625
  constructor(D) {
623
626
  super(D);
624
627
  }
@@ -626,16 +629,16 @@ class pD extends K {
626
629
  return new jD(this.imp.GetLayerTable());
627
630
  }
628
631
  GetLinetypeTable() {
629
- return new ID(this.imp.GetLinetypeTable());
632
+ return new GD(this.imp.GetLinetypeTable());
630
633
  }
631
634
  GetTextStyleTable() {
632
- return new GD(this.imp.GetTextStyleTable());
635
+ return new VD(this.imp.GetTextStyleTable());
633
636
  }
634
637
  GetBlockTable() {
635
- return new UD(this.imp.GetBlockTable());
638
+ return new zD(this.imp.GetBlockTable());
636
639
  }
637
640
  CurrentSpace() {
638
- return new FD(this.imp.CurrentSpace());
641
+ return new eD(this.imp.CurrentSpace());
639
642
  }
640
643
  GetCurrentlyLineTypeScale() {
641
644
  return this.imp.GetCurrentlyLineTypeScale();
@@ -660,7 +663,7 @@ class pD extends K {
660
663
  this.imp.SetCurrentlyLayerName(C);
661
664
  }
662
665
  GetCurrentlyTrueColor() {
663
- return new H(this.imp.GetCurrentlyTrueColor());
666
+ return new N(this.imp.GetCurrentlyTrueColor());
664
667
  }
665
668
  GetCurrentlyDrawColor() {
666
669
  let D = this.imp.GetCurrentlyDrawColor(), C = new THREE.Color();
@@ -694,7 +697,7 @@ class pD extends K {
694
697
  return this.imp.SetModifyed(!1);
695
698
  }
696
699
  }
697
- class VD extends K {
700
+ class UD extends H {
698
701
  constructor(D) {
699
702
  super(D);
700
703
  }
@@ -711,9 +714,9 @@ class VD extends K {
711
714
  return this.imp.step(D, C);
712
715
  }
713
716
  }
714
- class FD extends I {
717
+ class eD extends j {
715
718
  constructor(D) {
716
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbBlockTableRecord());
719
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbBlockTableRecord());
717
720
  }
718
721
  appendAcDbEntity(D) {
719
722
  return new R(
@@ -723,19 +726,19 @@ class FD extends I {
723
726
  }
724
727
  newIterator(D = !0, C = !0) {
725
728
  let B = this.imp.newIterator(D, C);
726
- return new VD(B);
729
+ return new UD(B);
727
730
  }
728
731
  get origin() {
729
- return new a(this.imp.origin());
732
+ return new o(this.imp.origin());
730
733
  }
731
734
  set origin(D) {
732
735
  this.imp.setOrigin(D.imp);
733
736
  }
734
737
  getBoundingBox() {
735
738
  let D = this.imp.getBoundingBox();
736
- return D.length() < 2 ? { minPt: new a(), maxPt: new a(), ret: !1 } : {
737
- minPt: new a(D.at(0)),
738
- maxPt: new a(D.at(1)),
739
+ return D.length() < 2 ? { minPt: new o(), maxPt: new o(), ret: !1 } : {
740
+ minPt: new o(D.at(0)),
741
+ maxPt: new o(D.at(1)),
739
742
  ret: !0
740
743
  };
741
744
  }
@@ -743,7 +746,7 @@ class FD extends I {
743
746
  this.imp.invalidBoundingBoxBuffer();
744
747
  }
745
748
  }
746
- class WD extends K {
749
+ class WD extends H {
747
750
  constructor(D) {
748
751
  super(D);
749
752
  }
@@ -755,19 +758,19 @@ class WD extends K {
755
758
  }
756
759
  getRecord() {
757
760
  let D = this.imp.getRecord();
758
- return new FD(D);
761
+ return new eD(D);
759
762
  }
760
763
  step(D = !0, C = !0) {
761
764
  this.imp.start(D, C);
762
765
  }
763
766
  }
764
- class UD extends I {
767
+ class zD extends j {
765
768
  constructor(D) {
766
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbBlockTable());
769
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbBlockTable());
767
770
  }
768
771
  getAt(D) {
769
772
  let C = this.getAt(D);
770
- return C && new FD(C);
773
+ return C && new eD(C);
771
774
  }
772
775
  has(D) {
773
776
  return this.imp.has(D);
@@ -780,16 +783,16 @@ class UD extends I {
780
783
  return this.imp.add(D.getImp());
781
784
  }
782
785
  }
783
- class G extends I {
786
+ class V extends j {
784
787
  constructor(D) {
785
788
  super(D);
786
789
  }
787
790
  explode() {
788
791
  let D = this.imp.explode();
789
- return new tD(D);
792
+ return new iD(D);
790
793
  }
791
794
  get trueColor() {
792
- return new H(this.imp.TrueColor());
795
+ return new N(this.imp.TrueColor());
793
796
  }
794
797
  set trueColor(D) {
795
798
  this.imp.SetTrueColor(D.getImp());
@@ -852,130 +855,130 @@ class G extends I {
852
855
  let D = this.imp.GetBoundingBox();
853
856
  if (D) {
854
857
  let C = {
855
- minPt: new a(D.AtPoint(0)),
856
- maxPt: new a(D.AtPoint(1)),
858
+ minPt: new o(D.AtPoint(0)),
859
+ maxPt: new o(D.AtPoint(1)),
857
860
  ret: !0
858
861
  };
859
- return i.App.DestroyObject(D), C;
862
+ return n.App.DestroyObject(D), C;
860
863
  } else
861
- return { minPt: new a(), maxPt: new a(), ret: !1 };
864
+ return { minPt: new o(), maxPt: new o(), ret: !1 };
862
865
  }
863
866
  }
864
- class W extends G {
867
+ class z extends V {
865
868
  constructor(D) {
866
869
  super(D);
867
870
  }
868
871
  getStartParam() {
869
- return { val: this.imp.getStartParam(), ret: i.getCallResult() };
872
+ return { val: this.imp.getStartParam(), ret: n.getCallResult() };
870
873
  }
871
874
  getEndParam() {
872
- return { val: this.imp.getEndParam(), ret: i.getCallResult() };
875
+ return { val: this.imp.getEndParam(), ret: n.getCallResult() };
873
876
  }
874
877
  getDistAtParam(D) {
875
- return { val: this.imp.getDistAtParam(D), ret: i.getCallResult() };
878
+ return { val: this.imp.getDistAtParam(D), ret: n.getCallResult() };
876
879
  }
877
880
  getParamAtDist(D) {
878
- return { val: this.imp.getParamAtDist(D), ret: i.getCallResult() };
881
+ return { val: this.imp.getParamAtDist(D), ret: n.getCallResult() };
879
882
  }
880
883
  getDistAtPoint(D) {
881
- return { val: this.imp.getDistAtPoint(D.imp), ret: i.getCallResult() };
884
+ return { val: this.imp.getDistAtPoint(D.imp), ret: n.getCallResult() };
882
885
  }
883
886
  getPointAtDist(D) {
884
887
  return {
885
- val: new a(this.imp.getPointAtDist(D)),
886
- ret: i.getCallResult()
888
+ val: new o(this.imp.getPointAtDist(D)),
889
+ ret: n.getCallResult()
887
890
  };
888
891
  }
889
892
  getStartPoint() {
890
893
  return {
891
- val: new a(this.imp.getStartPoint()),
892
- ret: i.getCallResult()
894
+ val: new o(this.imp.getStartPoint()),
895
+ ret: n.getCallResult()
893
896
  };
894
897
  }
895
898
  getEndPoint() {
896
899
  return {
897
- val: new a(this.imp.getStartPoint()),
898
- ret: i.getCallResult()
900
+ val: new o(this.imp.getStartPoint()),
901
+ ret: n.getCallResult()
899
902
  };
900
903
  }
901
904
  getPointAtParam(D) {
902
905
  return {
903
- val: new a(this.imp.getPointAtParam(D)),
904
- ret: i.getCallResult()
906
+ val: new o(this.imp.getPointAtParam(D)),
907
+ ret: n.getCallResult()
905
908
  };
906
909
  }
907
910
  getParamAtPoint(D) {
908
911
  return {
909
912
  val: this.imp.getParamAtPoint(D.imp),
910
- ret: i.getCallResult()
913
+ ret: n.getCallResult()
911
914
  };
912
915
  }
913
916
  getFirstDeriv(D) {
914
917
  return {
915
918
  val: new y(this.imp.getFirstDeriv(D)),
916
- ret: i.getCallResult()
919
+ ret: n.getCallResult()
917
920
  };
918
921
  }
919
922
  getFirstDerivEx(D) {
920
923
  return {
921
924
  val: new y(this.imp.getFirstDerivEx(D.imp)),
922
- ret: i.getCallResult()
925
+ ret: n.getCallResult()
923
926
  };
924
927
  }
925
928
  getClosestPointTo(D, C) {
926
929
  return {
927
- val: new a(this.imp.getClosestPointTo(D.imp, C)),
928
- ret: i.getCallResult()
930
+ val: new o(this.imp.getClosestPointTo(D.imp, C)),
931
+ ret: n.getCallResult()
929
932
  };
930
933
  }
931
934
  offsetCurves(D, C) {
932
935
  let B = this.imp.offsetCurves(D, C.imp);
933
- return new oD(B);
936
+ return new aD(B);
934
937
  }
935
938
  splitCurves(D) {
936
939
  let C = this.imp.splitCurves(D);
937
- return new oD(C);
940
+ return new aD(C);
938
941
  }
939
942
  getArea() {
940
- return { val: this.imp.getArea(), ret: i.getCallResult() };
943
+ return { val: this.imp.getArea(), ret: n.getCallResult() };
941
944
  }
942
945
  getSamplePoints(D) {
943
946
  let C = this.imp.getSamplePoints(D);
944
- return new tD(C);
947
+ return new iD(C);
945
948
  }
946
949
  getLength() {
947
- return { val: this.imp.getLength(), ret: i.getCallResult() };
950
+ return { val: this.imp.getLength(), ret: n.getCallResult() };
948
951
  }
949
952
  }
950
- class DD extends W {
951
- constructor(D, C, B, F, A, t) {
952
- D instanceof Object ? D instanceof a ? (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbLine()), C instanceof a && (this.startPoint = D, this.endPoint = C)) : super(D) : (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbLine()), this.startPoint = new a(D, C, B), this.endPoint = new a(F, A, t));
953
+ class BD extends z {
954
+ constructor(D, C, B, F, A, e) {
955
+ D instanceof Object ? D instanceof o ? (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbLine()), C instanceof o && (this.startPoint = D, this.endPoint = C)) : super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbLine()), this.startPoint = new o(D, C, B), this.endPoint = new o(F, A, e));
953
956
  }
954
957
  get startPoint() {
955
- return new a(this.imp.startPoint());
958
+ return new o(this.imp.startPoint());
956
959
  }
957
960
  set startPoint(D) {
958
961
  this.imp.setStartPoint(D.imp);
959
962
  }
960
963
  get endPoint() {
961
- return new a(this.imp.endPoint());
964
+ return new o(this.imp.endPoint());
962
965
  }
963
966
  set endPoint(D) {
964
967
  this.imp.setEndPoint(D.imp);
965
968
  }
966
969
  }
967
- class uD extends G {
970
+ class lD extends V {
968
971
  constructor(D) {
969
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbText());
972
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbText());
970
973
  }
971
974
  get position() {
972
- return new a(this.imp.position());
975
+ return new o(this.imp.position());
973
976
  }
974
977
  set position(D) {
975
978
  this.imp.setPosition(D.imp);
976
979
  }
977
980
  get alignmentPoint() {
978
- return new a(this.imp.position());
981
+ return new o(this.imp.position());
979
982
  }
980
983
  set alignmentPoint(D) {
981
984
  this.imp.setAlignmentPoint(D.imp);
@@ -1023,12 +1026,12 @@ class uD extends G {
1023
1026
  this.imp.setVerticalMode(D);
1024
1027
  }
1025
1028
  }
1026
- class CD extends G {
1029
+ class ED extends V {
1027
1030
  constructor(D) {
1028
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbMText());
1031
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbMText());
1029
1032
  }
1030
1033
  get location() {
1031
- return new a(this.imp.location());
1034
+ return new o(this.imp.location());
1032
1035
  }
1033
1036
  set location(D) {
1034
1037
  this.imp.setLocation(D.imp);
@@ -1064,15 +1067,15 @@ class CD extends G {
1064
1067
  this.imp.setContents(P.encodeToGb2312(D));
1065
1068
  }
1066
1069
  }
1067
- class V extends W {
1070
+ class W extends z {
1068
1071
  constructor(D, C, B, F) {
1069
- D instanceof Object ? super(D) : (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbCircle()), typeof D == "number" && (this.imp.setCenter(new a(D, C, B).imp), this.imp.setRadius(F)));
1072
+ D instanceof Object ? super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbCircle()), typeof D == "number" && (this.imp.setCenter(new o(D, C, B).imp), this.imp.setRadius(F)));
1070
1073
  }
1071
1074
  setCenter(D, C, B) {
1072
- this.imp.setCenter(new a(D, C, B).imp);
1075
+ this.imp.setCenter(new o(D, C, B).imp);
1073
1076
  }
1074
1077
  get center() {
1075
- return new a(this.imp.center());
1078
+ return new o(this.imp.center());
1076
1079
  }
1077
1080
  set center(D) {
1078
1081
  this.imp.setCenter(D.imp);
@@ -1084,9 +1087,9 @@ class V extends W {
1084
1087
  this.imp.setRadius(D);
1085
1088
  }
1086
1089
  }
1087
- class BD extends W {
1090
+ class FD extends z {
1088
1091
  constructor(D) {
1089
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbPolyline());
1092
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbPolyline());
1090
1093
  }
1091
1094
  get isClosed() {
1092
1095
  return this.imp.isClosed();
@@ -1102,8 +1105,8 @@ class BD extends W {
1102
1105
  }
1103
1106
  addVertexAt(D, C = 0, B = 0, F = 0, A = 0) {
1104
1107
  if (D instanceof THREE.Vector3) {
1105
- let t = new i.mxcadassemblyimp.MdGePoint3d();
1106
- return t.x = D.x, t.y = D.y, t.z = D.z, this.imp.addVertexAt(A, t, C, B, F);
1108
+ let e = new n.mxcadassemblyimp.MdGePoint3d();
1109
+ return e.x = D.x, e.y = D.y, e.z = D.z, this.imp.addVertexAt(A, e, C, B, F);
1107
1110
  } else
1108
1111
  return this.imp.addVertexAt(A, D.imp, C, B, F);
1109
1112
  }
@@ -1114,7 +1117,7 @@ class BD extends W {
1114
1117
  return this.imp.numVerts();
1115
1118
  }
1116
1119
  getPointAt(D) {
1117
- return { val: this.imp.getPointAt(D), ret: i.getCallResult() };
1120
+ return { val: this.imp.getPointAt(D), ret: n.getCallResult() };
1118
1121
  }
1119
1122
  getBulgeAt(D) {
1120
1123
  return this.imp.getBulgeAt(D);
@@ -1123,7 +1126,7 @@ class BD extends W {
1123
1126
  return {
1124
1127
  val1: this.imp.getStartWidthsAt(D),
1125
1128
  val2: this.imp.getEndWidthsAt(D),
1126
- ret: i.getCallResult()
1129
+ ret: n.getCallResult()
1127
1130
  };
1128
1131
  }
1129
1132
  setPointAt(D, C) {
@@ -1133,9 +1136,9 @@ class BD extends W {
1133
1136
  return this.imp.setBulgeAt(D, C);
1134
1137
  }
1135
1138
  }
1136
- class lD extends G {
1139
+ class cD extends V {
1137
1140
  constructor(D) {
1138
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbBlockReference());
1141
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbBlockReference());
1139
1142
  }
1140
1143
  get blockTableRecordId() {
1141
1144
  return new R(this.imp.blockTableRecord(), k.kMxCAD);
@@ -1144,7 +1147,7 @@ class lD extends G {
1144
1147
  this.imp.setBlockTableRecordId(D.id);
1145
1148
  }
1146
1149
  get position() {
1147
- return new a(this.imp.position());
1150
+ return new o(this.imp.position());
1148
1151
  }
1149
1152
  set position(D) {
1150
1153
  this.imp.setPosition(D.imp);
@@ -1162,18 +1165,18 @@ class lD extends G {
1162
1165
  this.imp.setRotation(D);
1163
1166
  }
1164
1167
  get blockTransform() {
1165
- return new j(this.imp.blockTransform());
1168
+ return new v(this.imp.blockTransform());
1166
1169
  }
1167
1170
  set blockTransform(D) {
1168
1171
  this.imp.setBlockTransform(D.imp);
1169
1172
  }
1170
1173
  }
1171
- class dD extends G {
1174
+ class yD extends V {
1172
1175
  constructor(D) {
1173
1176
  super(D);
1174
1177
  }
1175
1178
  get textPosition() {
1176
- return new a(this.imp.textPosition());
1179
+ return new o(this.imp.textPosition());
1177
1180
  }
1178
1181
  set textPosition(D) {
1179
1182
  this.imp.setTextPosition(D.imp);
@@ -1254,24 +1257,24 @@ class dD extends G {
1254
1257
  this.imp.SetDimVarObjectId(D, C.id);
1255
1258
  }
1256
1259
  }
1257
- class cD extends dD {
1260
+ class mD extends yD {
1258
1261
  constructor(D) {
1259
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbAlignedDimension());
1262
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbAlignedDimension());
1260
1263
  }
1261
1264
  get xLine1Point() {
1262
- return new a(this.imp.xLine1Point());
1265
+ return new o(this.imp.xLine1Point());
1263
1266
  }
1264
1267
  set xLine1Point(D) {
1265
1268
  this.imp.setXLine1Point(D.imp);
1266
1269
  }
1267
1270
  get xLine2Point() {
1268
- return new a(this.imp.xLine2Point());
1271
+ return new o(this.imp.xLine2Point());
1269
1272
  }
1270
1273
  set xLine2Point(D) {
1271
1274
  this.imp.setXLine2Point(D.imp);
1272
1275
  }
1273
1276
  get dimLinePoint() {
1274
- return new a(this.imp.dimLinePoint());
1277
+ return new o(this.imp.dimLinePoint());
1275
1278
  }
1276
1279
  set dimLinePoint(D) {
1277
1280
  this.imp.setDimLinePoint(D.imp);
@@ -1283,24 +1286,24 @@ class cD extends dD {
1283
1286
  this.imp.setOblique(D);
1284
1287
  }
1285
1288
  }
1286
- class mD extends dD {
1289
+ class pD extends yD {
1287
1290
  constructor(D) {
1288
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbRotatedDimension());
1291
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbRotatedDimension());
1289
1292
  }
1290
1293
  get xLine1Point() {
1291
- return new a(this.imp.xLine1Point());
1294
+ return new o(this.imp.xLine1Point());
1292
1295
  }
1293
1296
  set xLine1Point(D) {
1294
1297
  this.imp.setXLine1Point(D.imp);
1295
1298
  }
1296
1299
  get xLine2Point() {
1297
- return new a(this.imp.xLine2Point());
1300
+ return new o(this.imp.xLine2Point());
1298
1301
  }
1299
1302
  set xLine2Point(D) {
1300
1303
  this.imp.setXLine2Point(D.imp);
1301
1304
  }
1302
1305
  get dimLinePoint() {
1303
- return new a(this.imp.dimLinePoint());
1306
+ return new o(this.imp.dimLinePoint());
1304
1307
  }
1305
1308
  set dimLinePoint(D) {
1306
1309
  this.imp.setDimLinePoint(D.imp);
@@ -1318,15 +1321,15 @@ class mD extends dD {
1318
1321
  this.imp.setRotation(D);
1319
1322
  }
1320
1323
  }
1321
- class ED extends W {
1324
+ class AD extends z {
1322
1325
  constructor(D) {
1323
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbArc());
1326
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.MdDbArc());
1324
1327
  }
1325
1328
  setCenter(D, C, B) {
1326
- this.imp.setCenter(new a(D, C, B).imp);
1329
+ this.imp.setCenter(new o(D, C, B).imp);
1327
1330
  }
1328
1331
  get center() {
1329
- return new a(this.imp.center());
1332
+ return new o(this.imp.center());
1330
1333
  }
1331
1334
  set center(D) {
1332
1335
  this.imp.setCenter(D.imp);
@@ -1349,26 +1352,26 @@ class ED extends W {
1349
1352
  set endAngle(D) {
1350
1353
  this.imp.setEndAngle(D);
1351
1354
  }
1352
- computeArc(D, C, B, F, A, t) {
1355
+ computeArc(D, C, B, F, A, e) {
1353
1356
  return this.imp.computeArc(
1354
1357
  D,
1355
1358
  C,
1356
1359
  B,
1357
1360
  F,
1358
1361
  A,
1359
- t
1362
+ e
1360
1363
  );
1361
1364
  }
1362
1365
  }
1363
- class AD extends W {
1364
- constructor(D, C, B, F, A, t, e, r, s) {
1365
- D instanceof Object ? super(D) : (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbEllipse()), typeof D == "number" && (e || (e = 1), typeof r != "number" && (r = 0), typeof s != "number" && (s = 6.283185307179586), this.imp.InitData(new a(D, C, B).imp, new y(F, A, t).imp, e, r, s)));
1366
+ class tD extends z {
1367
+ constructor(D, C, B, F, A, e, t, i, r) {
1368
+ D instanceof Object ? super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbEllipse()), typeof D == "number" && (t || (t = 1), typeof i != "number" && (i = 0), typeof r != "number" && (r = 6.283185307179586), this.imp.InitData(new o(D, C, B).imp, new y(F, A, e).imp, t, i, r)));
1366
1369
  }
1367
1370
  setCenter(D, C, B) {
1368
- this.imp.setCenter(new a(D, C, B).imp);
1371
+ this.imp.setCenter(new o(D, C, B).imp);
1369
1372
  }
1370
1373
  get center() {
1371
- return new a(this.imp.center());
1374
+ return new o(this.imp.center());
1372
1375
  }
1373
1376
  set center(D) {
1374
1377
  this.imp.setCenter(D.imp);
@@ -1410,27 +1413,27 @@ class AD extends W {
1410
1413
  this.imp.setEndAngle(D);
1411
1414
  }
1412
1415
  }
1413
- class hD extends G {
1416
+ class wD extends V {
1414
1417
  constructor(D, C, B) {
1415
- D instanceof Object ? D instanceof a ? (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbPoint()), this.imp.setPosition(D.imp)) : super(D) : (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbPoint()), typeof D == "number" && this.imp.setPosition(new a(D, C, B).imp));
1418
+ D instanceof Object ? D instanceof o ? (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbPoint()), this.imp.setPosition(D.imp)) : super(D) : (super(), this.initTempObject(new n.mxcadassemblyimp.MdDbPoint()), typeof D == "number" && this.imp.setPosition(new o(D, C, B).imp));
1416
1419
  }
1417
1420
  setPosition(D, C, B) {
1418
- this.imp.setPosition(new a(D, C, B).imp);
1421
+ this.imp.setPosition(new o(D, C, B).imp);
1419
1422
  }
1420
1423
  get position() {
1421
- return new a(this.imp.position());
1424
+ return new o(this.imp.position());
1422
1425
  }
1423
1426
  set position(D) {
1424
1427
  this.imp.setPosition(D.imp);
1425
1428
  }
1426
1429
  }
1427
- function _(E = null) {
1430
+ function K(E = null) {
1428
1431
  let D;
1429
- return E == null ? D = new i.mxcadassemblyimp.McDrawResbuf() : D = E.getImp(), D;
1432
+ return E == null ? D = new n.mxcadassemblyimp.McDrawResbuf() : D = E.getImp(), D;
1430
1433
  }
1431
- class tD extends K {
1434
+ class iD extends H {
1432
1435
  constructor(D) {
1433
- super(D), D || this.initTempObject(new i.mxcadassemblyimp.McDrawResbuf());
1436
+ super(D), D || this.initTempObject(new n.mxcadassemblyimp.McDrawResbuf());
1434
1437
  }
1435
1438
  Clear() {
1436
1439
  this.imp.Clear();
@@ -1439,16 +1442,16 @@ class tD extends K {
1439
1442
  return this.imp.GetCount();
1440
1443
  }
1441
1444
  AtDouble(D) {
1442
- return { val: this.imp.AtDouble(D), ret: i.getCallResult() };
1445
+ return { val: this.imp.AtDouble(D), ret: n.getCallResult() };
1443
1446
  }
1444
1447
  Atlong(D) {
1445
- return { val: this.imp.Atlong(D), ret: i.getCallResult() };
1448
+ return { val: this.imp.Atlong(D), ret: n.getCallResult() };
1446
1449
  }
1447
1450
  AtObject(D) {
1448
1451
  if (this.imp.AtObjectName(D) == "McDbMText") {
1449
1452
  let B = this.imp.AtObjectMdDbMText(D);
1450
1453
  if (B)
1451
- return { val: new CD(B), ret: i.getCallResult() };
1454
+ return { val: new ED(B), ret: n.getCallResult() };
1452
1455
  }
1453
1456
  return { val: void 0, ret: -1 };
1454
1457
  }
@@ -1456,13 +1459,13 @@ class tD extends K {
1456
1459
  this.imp.AddObject(D.getImp());
1457
1460
  }
1458
1461
  AtObjectId(D) {
1459
- return { val: new R(this.imp.AtObjectId(D), k.kMxCAD), ret: i.getCallResult() };
1462
+ return { val: new R(this.imp.AtObjectId(D), k.kMxCAD), ret: n.getCallResult() };
1460
1463
  }
1461
1464
  AtString(D, C = !0) {
1462
- return C ? { val: P.decodeFromGb2312(this.imp.AtString(D)), ret: i.getCallResult() } : { val: this.imp.AtString(D), ret: i.getCallResult() };
1465
+ return C ? { val: P.decodeFromGb2312(this.imp.AtString(D)), ret: n.getCallResult() } : { val: this.imp.AtString(D), ret: n.getCallResult() };
1463
1466
  }
1464
1467
  AtPoint(D) {
1465
- return { val: new a(this.imp.AtPoint(D)), ret: i.getCallResult() };
1468
+ return { val: new o(this.imp.AtPoint(D)), ret: n.getCallResult() };
1466
1469
  }
1467
1470
  ItemDataType() {
1468
1471
  return this.imp.ItemDataType();
@@ -1492,7 +1495,7 @@ class tD extends K {
1492
1495
  this.imp.Remove(D);
1493
1496
  }
1494
1497
  }
1495
- class zD {
1498
+ class KD {
1496
1499
  imp;
1497
1500
  constructor() {
1498
1501
  }
@@ -1504,58 +1507,116 @@ class zD {
1504
1507
  }
1505
1508
  findEntAtPoint(D, C, B, F = -1, A = null) {
1506
1509
  this.init();
1507
- let t = this.imp.findEntAtPoint(D, C, B, F, _(A));
1508
- return new R(t, k.kMxCAD);
1510
+ let e = this.imp.findEntAtPoint(D, C, B, F, K(A));
1511
+ return new R(e, k.kMxCAD);
1509
1512
  }
1510
1513
  selectEnt(D, C = null, B = !0) {
1511
1514
  return this.init(), new Promise(async (F) => {
1512
- const A = new S();
1513
- D && A.setMessage(D), A.setCursorType(xD.kRect), A.setDisableOsnap(!0);
1514
- let t = await A.go();
1515
- if (!t) {
1515
+ const A = new O();
1516
+ D && A.setMessage(D), A.setCursorType(MD.kRect), A.setDisableOsnap(!0);
1517
+ let e = await A.go();
1518
+ if (!e) {
1516
1519
  F([]);
1517
1520
  return;
1518
1521
  }
1519
1522
  if (B)
1520
- fD.findEntAtPoint(t).then((e) => {
1521
- let r = [];
1522
- e.forEach((o) => {
1523
- r.push(new R(o, k.kMxDraw));
1523
+ oD.findEntAtPoint(e).then((t) => {
1524
+ let i = [];
1525
+ t.forEach((s) => {
1526
+ i.push(new R(s, k.kMxDraw));
1524
1527
  });
1525
- let s = this.findEntAtPoint(t.x, t.y, t.z, -1, C);
1526
- s.isValid() && r.push(s), F(r);
1528
+ let r = this.findEntAtPoint(e.x, e.y, e.z, -1, C);
1529
+ r.isValid() && i.push(r), F(i);
1527
1530
  });
1528
1531
  else {
1529
- let e = [], r = this.findEntAtPoint(t.x, t.y, t.z, -1, C);
1530
- r.isValid() && e.push(r), F(e);
1532
+ let t = [], i = this.findEntAtPoint(e.x, e.y, e.z, -1, C);
1533
+ i.isValid() && t.push(i), F(t);
1531
1534
  }
1532
1535
  });
1533
1536
  }
1534
- getCurrentSelect() {
1535
- let D = [];
1536
- return h.getCurrentDraw().getMxCurrentSelect().forEach((F) => {
1537
- D.push(new R(F, k.kMxDraw));
1538
- }), h.getCurrentDraw().getMxCADCurrentSelect().forEach((F) => {
1539
- D.push(new R(F, k.kMxCAD));
1540
- }), D;
1537
+ getCurrentSelect(D = null) {
1538
+ let C = [];
1539
+ h.getCurrentDraw().getMxCurrentSelect().forEach((A) => {
1540
+ C.push(new R(A, k.kMxDraw));
1541
+ });
1542
+ let F = h.getCurrentDraw().getMxCADCurrentSelect();
1543
+ if (F.length <= 0)
1544
+ return C;
1545
+ if (D) {
1546
+ let A = new SD();
1547
+ F.forEach((r) => {
1548
+ A.append(r);
1549
+ });
1550
+ let e = new n.mxcadassemblyimp.McDrawSelSet(), t = e.getFilterEntity(A.imp, K(D));
1551
+ n.App.DestroyObject(e), F = [];
1552
+ let i = t.length();
1553
+ for (let r = 0; r < i; r++)
1554
+ F.push(t.at(r));
1555
+ }
1556
+ return F.forEach((A) => {
1557
+ C.push(new R(A, k.kMxCAD));
1558
+ }), C;
1559
+ }
1560
+ async userSelect(D, C = null) {
1561
+ let B = this.getCurrentSelect(C);
1562
+ if (B.length == 0) {
1563
+ let F = new _();
1564
+ await F.userSelect(D, C) && F.forEach((A) => {
1565
+ B.push(A);
1566
+ });
1567
+ }
1568
+ return new Promise((F) => {
1569
+ F(B);
1570
+ });
1541
1571
  }
1542
1572
  init() {
1543
- this.imp || (this.imp = new i.mxcadassemblyimp.McDrawUtility());
1573
+ this.imp || (this.imp = new n.mxcadassemblyimp.McDrawUtility());
1574
+ }
1575
+ async getCorner(D, C, B, F = !1) {
1576
+ let A = 0, e;
1577
+ for (; ; ) {
1578
+ if (!C) {
1579
+ let i = new G();
1580
+ D && i.setMessage(D), i.setDynamicInputType(dD.kDynTip), C = await i.go(), A = i.getDetailedResult();
1581
+ }
1582
+ if (!C)
1583
+ break;
1584
+ let t = await oD.getCorner(C.toVector3(), D, F, (i) => {
1585
+ A = i.detailedResult;
1586
+ });
1587
+ t && (e = new o(t));
1588
+ break;
1589
+ }
1590
+ return B && B(A), new Promise((t) => {
1591
+ A == Z.kEcsIn || A == Z.kNewCommadIn || A == Z.kUnknown ? t(null) : t(C && e ? { pt1: C, pt2: e } : null);
1592
+ });
1593
+ }
1594
+ getMcDbEntitysBoundingBox(D) {
1595
+ let C, B;
1596
+ if (D.forEach((F) => {
1597
+ let A = F.getMcDbEntity();
1598
+ if (A == null)
1599
+ return;
1600
+ let e = A.GetBoundingBox();
1601
+ !e.ret || (!C || !B ? (C = new THREE.Vector3(e.minPt.x, e.minPt.y, 0), B = new THREE.Vector3(e.maxPt.x, e.maxPt.y, 0)) : (C.x > e.minPt.x && (C.x = e.minPt.x), C.y > e.minPt.y && (C.y = e.minPt.y), B.x < e.maxPt.x && (B.x = e.maxPt.x), B.y < e.maxPt.y && (B.y = e.maxPt.y)));
1602
+ }), C && B)
1603
+ return { minPt: new o(C), maxPt: new o(B) };
1544
1604
  }
1545
1605
  }
1546
- let U = new zD();
1547
- class $ extends K {
1606
+ let U = new KD();
1607
+ var HD = /* @__PURE__ */ ((E) => (E[E.kSelected = 0] = "kSelected", E[E.kNone = 1] = "kNone", E[E.kCanceled = 2] = "kCanceled", E[E.kRejected = 3] = "kRejected", E[E.kKeyword = 4] = "kKeyword", E))(HD || {});
1608
+ class _ extends H {
1548
1609
  constructor() {
1549
- super(), this.initTempObject(new i.mxcadassemblyimp.McDrawSelSet());
1610
+ super(), this.initTempObject(new n.mxcadassemblyimp.McDrawSelSet());
1550
1611
  }
1551
1612
  allSelect(D = null) {
1552
- return this.imp.allSelect(_(D));
1613
+ return this.imp.allSelect(K(D));
1553
1614
  }
1554
1615
  pointSelect(D, C, B = null, F = -1) {
1555
- return this.imp.pointSelect(D, C, _(B), F);
1616
+ return this.imp.pointSelect(D, C, K(B), F);
1556
1617
  }
1557
1618
  crossingSelect(D, C, B, F, A = null) {
1558
- return this.imp.crossingSelect(D, C, B, F, _(A));
1619
+ return this.imp.crossingSelect(D, C, B, F, K(A));
1559
1620
  }
1560
1621
  count() {
1561
1622
  return this.imp.count();
@@ -1575,28 +1636,30 @@ class $ extends K {
1575
1636
  return D;
1576
1637
  }
1577
1638
  async userSelect(D, C = null) {
1578
- let B = new S();
1579
- D && B.setMessage(D), B.setCursorType(xD.kRect), B.setDynamicInputType(MD.kDynTip), B.setDisableOsnap(!0);
1580
- let F = 0;
1639
+ let B = new O();
1640
+ D && B.setMessage(D), B.setCursorType(MD.kRect), B.setDynamicInputType(dD.kDynTip), B.setDisableOsnap(!0);
1641
+ let F = 0, A = K(C);
1581
1642
  for (; ; ) {
1582
- let A = await B.go();
1583
- if (F = B.getDetailedResult(), !A)
1643
+ let e = await B.go();
1644
+ if (F = B.getDetailedResult(), !e)
1584
1645
  break;
1585
- let t = await fD.getCorner(A, D, !0, (e) => {
1586
- F = e.detailedResult;
1646
+ if (this.imp.userPointSelect(e.x, e.y, A) == 0)
1647
+ continue;
1648
+ let t = await oD.getCorner(e, D, !0, (i) => {
1649
+ F = i.detailedResult;
1587
1650
  });
1588
1651
  if (!t)
1589
1652
  break;
1590
- this.imp.userSelect(A.x, A.y, t.x, t.y, _(C));
1653
+ this.imp.userSelect(e.x, e.y, t.x, t.y, A);
1591
1654
  }
1592
- return this.imp.highlightEntity(!1), F == rD.kEcsIn || F == rD.kNewCommadIn || F == rD.kUnknown ? new Promise((A) => {
1593
- A(!1);
1594
- }) : new Promise((A) => {
1595
- A(!0);
1655
+ return this.imp.highlightEntity(!1), F == Z.kEcsIn || F == Z.kNewCommadIn || F == Z.kUnknown ? new Promise((e) => {
1656
+ e(!1);
1657
+ }) : new Promise((e) => {
1658
+ e(!0);
1596
1659
  });
1597
1660
  }
1598
1661
  }
1599
- class N {
1662
+ class q {
1600
1663
  imp;
1601
1664
  constructor(D) {
1602
1665
  this.imp = D;
@@ -1621,7 +1684,7 @@ class N {
1621
1684
  }
1622
1685
  setUserDraw(D) {
1623
1686
  this.imp.setUserDraw((C, B) => {
1624
- D(new a(C), B);
1687
+ D(new o(C), B);
1625
1688
  });
1626
1689
  }
1627
1690
  getDetailedResult() {
@@ -1663,26 +1726,32 @@ class N {
1663
1726
  isDisableOsnap() {
1664
1727
  return this.imp.isDisableOsnap();
1665
1728
  }
1729
+ userInputControls() {
1730
+ return this.imp.userInputControls();
1731
+ }
1732
+ setUserInputControls(D) {
1733
+ this.imp.setUserInputControls(D);
1734
+ }
1666
1735
  }
1667
- class z extends N {
1736
+ class G extends q {
1668
1737
  constructor() {
1669
- super(new S());
1738
+ super(new O());
1670
1739
  }
1671
1740
  go() {
1672
1741
  return new Promise((D) => {
1673
1742
  this.imp.go((C) => {
1674
- C != 0 ? D(null) : D(new a(this.imp.value()));
1743
+ C != 0 ? D(null) : D(new o(this.imp.value()));
1675
1744
  });
1676
1745
  });
1677
1746
  }
1678
1747
  value() {
1679
- return new a(this.imp.value());
1748
+ return new o(this.imp.value());
1680
1749
  }
1681
1750
  getCADValue() {
1682
1751
  return this.imp.getCADValue();
1683
1752
  }
1684
1753
  basePt() {
1685
- return new a(this.imp.basePt());
1754
+ return new o(this.imp.basePt());
1686
1755
  }
1687
1756
  setBasePt(D) {
1688
1757
  this.imp.setBasePt(D.toVector3());
@@ -1691,15 +1760,15 @@ class z extends N {
1691
1760
  this.imp.setUseBasePt(D);
1692
1761
  }
1693
1762
  }
1694
- class KD extends N {
1763
+ class ND extends q {
1695
1764
  constructor() {
1696
- super(new EC());
1765
+ super(new AC());
1697
1766
  }
1698
1767
  value() {
1699
1768
  return this.imp.value();
1700
1769
  }
1701
1770
  basePt() {
1702
- return new a(this.imp.basePt());
1771
+ return new o(this.imp.basePt());
1703
1772
  }
1704
1773
  setBasePt(D) {
1705
1774
  this.imp.setBasePt(D.toVector3());
@@ -1711,15 +1780,15 @@ class KD extends N {
1711
1780
  return this.imp.go();
1712
1781
  }
1713
1782
  }
1714
- class hC extends N {
1783
+ class yC extends q {
1715
1784
  constructor() {
1716
- super(new FC());
1785
+ super(new eC());
1717
1786
  }
1718
1787
  value() {
1719
1788
  return this.imp.value();
1720
1789
  }
1721
1790
  basePt() {
1722
- return new a(this.imp.basePt());
1791
+ return new o(this.imp.basePt());
1723
1792
  }
1724
1793
  setBasePt(D) {
1725
1794
  this.imp.setBasePt(D.toVector3());
@@ -1731,9 +1800,9 @@ class hC extends N {
1731
1800
  return this.imp.go();
1732
1801
  }
1733
1802
  }
1734
- class yC extends N {
1803
+ class wC extends q {
1735
1804
  constructor() {
1736
- super(new AC());
1805
+ super(new tC());
1737
1806
  }
1738
1807
  value() {
1739
1808
  return this.imp.value();
@@ -1742,17 +1811,17 @@ class yC extends N {
1742
1811
  return this.imp.go();
1743
1812
  }
1744
1813
  }
1745
- class gC extends N {
1814
+ class gC extends q {
1746
1815
  constructor() {
1747
- super(new tC());
1816
+ super(new iC());
1748
1817
  }
1749
1818
  go() {
1750
1819
  return this.imp.go();
1751
1820
  }
1752
1821
  }
1753
- class wC extends N {
1822
+ class fC extends q {
1754
1823
  constructor() {
1755
- super(new eC());
1824
+ super(new rC());
1756
1825
  }
1757
1826
  value() {
1758
1827
  return this.imp.value();
@@ -1761,7 +1830,7 @@ class wC extends N {
1761
1830
  return this.imp.go();
1762
1831
  }
1763
1832
  }
1764
- class q {
1833
+ class $ {
1765
1834
  imp;
1766
1835
  static currentFileName;
1767
1836
  constructor(D) {
@@ -1776,18 +1845,20 @@ class q {
1776
1845
  getImp() {
1777
1846
  return this.imp;
1778
1847
  }
1779
- openWebFile(D, C, B = !0, F = "") {
1780
- let A = this.imp.mxdrawObject, t = Math.round(Math.random() * 1e7);
1848
+ openWebFile(D, C, B = !0, F) {
1849
+ let A = this.imp.mxdrawObject, e = Math.round(Math.random() * 1e7);
1781
1850
  if (C) {
1782
- let e = (r, s) => {
1783
- A.removeEventFuction("openFileComplete", e), t == s && C(r);
1851
+ let i = (r, s) => {
1852
+ A.removeEventFuction("openFileComplete", i), e == s && C(r);
1784
1853
  };
1785
- A.addEvent("openFileComplete", e);
1854
+ A.addEvent("openFileComplete", i);
1786
1855
  }
1787
- return q.currentFileName = D.split("/").pop(), this.imp.openWebFile(D, B, t, F || "");
1856
+ $.currentFileName = D.split("/").pop();
1857
+ let t = "";
1858
+ return F && (t = JSON.stringify(F)), this.imp.openWebFile(D, B, e, t);
1788
1859
  }
1789
1860
  getCurrentFileName() {
1790
- return q.currentFileName;
1861
+ return $.currentFileName;
1791
1862
  }
1792
1863
  saveFileToUrl(D, C) {
1793
1864
  const B = window;
@@ -1795,15 +1866,15 @@ class q {
1795
1866
  C(A, F);
1796
1867
  }, this.imp.saveFileToUrl(D);
1797
1868
  }
1798
- saveFile(D, C, B = !0, F = !0) {
1869
+ saveFile(D, C, B = !0, F = !0, A) {
1799
1870
  D || (D = this.getCurrentFileName()), D.indexOf(".") == -1 && (D += ".mxweb");
1800
- const A = window;
1801
- return A.mx_saveFile_call = (t) => {
1802
- if (C && C(t), !!t) {
1871
+ const e = window;
1872
+ e.mx_saveFile_call = (i) => {
1873
+ if (C && C(i), !!i) {
1803
1874
  if (B) {
1804
- let e;
1805
- /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? e = new Blob([t.buffer], { type: "application/octet-stream" }) : e = new Blob([t.buffer], { type: "application/octet-binary" }), F ? Y.saveAsFileDialog({
1806
- blob: e,
1875
+ let r;
1876
+ /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ? r = new Blob([i.buffer], { type: "application/octet-stream" }) : r = new Blob([i.buffer], { type: "application/octet-binary" }), F ? Q.saveAsFileDialog({
1877
+ blob: r,
1807
1878
  filename: D,
1808
1879
  types: [{
1809
1880
  description: "mxweb File",
@@ -1811,14 +1882,16 @@ class q {
1811
1882
  "application/octet-stream": [".mxweb"]
1812
1883
  }
1813
1884
  }]
1814
- }) : Y.downloadFile(e, D);
1885
+ }) : Q.downloadFile(r, D);
1815
1886
  }
1816
- A.mx_saveFile_call = null;
1887
+ e.mx_saveFile_call = null;
1817
1888
  }
1818
- }, this.imp.saveFile(D);
1889
+ };
1890
+ let t = "";
1891
+ return A && (t = JSON.stringify(A)), this.imp.saveFile(D, t);
1819
1892
  }
1820
1893
  GetDatabase() {
1821
- return this.imp.McDbDatabase || (this.imp.McDbDatabase = new pD(this.imp.GetDatabase())), this.imp.McDbDatabase;
1894
+ return this.imp.McDbDatabase || (this.imp.McDbDatabase = new hD(this.imp.GetDatabase())), this.imp.McDbDatabase;
1822
1895
  }
1823
1896
  GetSysVarString(D) {
1824
1897
  return this.imp.GetSysVarString(D);
@@ -1839,7 +1912,7 @@ class q {
1839
1912
  return this.imp.SetSysVarLong(D, C);
1840
1913
  }
1841
1914
  get DrawColor() {
1842
- return new H(this.imp.GetDrawColor());
1915
+ return new N(this.imp.GetDrawColor());
1843
1916
  }
1844
1917
  set DrawColor(D) {
1845
1918
  this.imp.SetDrawColor(D.getImp());
@@ -1886,8 +1959,8 @@ class q {
1886
1959
  AddLinetypeEx(D, C, B) {
1887
1960
  this.imp.AddLinetypeEx(D, C, B);
1888
1961
  }
1889
- DrawLine(D, C, B, F, A, t) {
1890
- return this.imp.DrawLine(D, C, B, F, A, t);
1962
+ DrawLine(D, C, B, F, A, e) {
1963
+ return this.imp.DrawLine(D, C, B, F, A, e);
1891
1964
  }
1892
1965
  AddDimStyle(D, C, B, F, A) {
1893
1966
  return this.imp.AddDimStyle(D, C, B, F, A);
@@ -1913,8 +1986,8 @@ class q {
1913
1986
  DrawArc(D, C, B, F, A) {
1914
1987
  return this.imp.DrawArc(D, C, B, F, A);
1915
1988
  }
1916
- DrawArc2(D, C, B, F, A, t) {
1917
- return this.imp.DrawArc2(D, C, B, F, A, t);
1989
+ DrawArc2(D, C, B, F, A, e) {
1990
+ return this.imp.DrawArc2(D, C, B, F, A, e);
1918
1991
  }
1919
1992
  DrawCircle(D, C, B) {
1920
1993
  return this.imp.DrawCircle(D, C, B);
@@ -1922,35 +1995,35 @@ class q {
1922
1995
  DrawEllipse(D, C, B, F, A) {
1923
1996
  return this.imp.DrawEllipse(D, C, B, F, A);
1924
1997
  }
1925
- DrawEllipseArc(D, C, B, F, A, t, e) {
1926
- return this.imp.DrawEllipseArc(D, C, B, F, A, t, e);
1998
+ DrawEllipseArc(D, C, B, F, A, e, t) {
1999
+ return this.imp.DrawEllipseArc(D, C, B, F, A, e, t);
1927
2000
  }
1928
2001
  DrawPoint(D, C) {
1929
2002
  return this.imp.DrawPoint(D, C);
1930
2003
  }
1931
- DrawSolid(D, C, B, F, A, t, e, r) {
1932
- return this.imp.DrawSolid(D, C, B, F, A, t, e, r);
2004
+ DrawSolid(D, C, B, F, A, e, t, i) {
2005
+ return this.imp.DrawSolid(D, C, B, F, A, e, t, i);
1933
2006
  }
1934
- DrawMText(D, C, B, F, A, t, e) {
1935
- return this.imp.DrawMText(D, C, B, F, A, t, e);
2007
+ DrawMText(D, C, B, F, A, e, t) {
2008
+ return this.imp.DrawMText(D, C, B, F, A, e, t);
1936
2009
  }
1937
- DrawText(D, C, B, F, A, t, e) {
1938
- return this.imp.DrawTextDrawText(D, C, B, F, A, t, e);
2010
+ DrawText(D, C, B, F, A, e, t) {
2011
+ return this.imp.DrawTextDrawText(D, C, B, F, A, e, t);
1939
2012
  }
1940
2013
  DrawBlockReference(D, C, B, F, A) {
1941
2014
  return this.imp.DrawBlockReference(D, C, B, F, A);
1942
2015
  }
1943
- DrawDimAligned(D, C, B, F, A, t) {
1944
- return this.imp.DrawDimAligned(D, C, B, F, A, t);
2016
+ DrawDimAligned(D, C, B, F, A, e) {
2017
+ return this.imp.DrawDimAligned(D, C, B, F, A, e);
1945
2018
  }
1946
- DrawDimAngular(D, C, B, F, A, t, e, r) {
1947
- return this.imp.DrawDimAngular(D, C, B, F, A, t, e, r);
2019
+ DrawDimAngular(D, C, B, F, A, e, t, i) {
2020
+ return this.imp.DrawDimAngular(D, C, B, F, A, e, t, i);
1948
2021
  }
1949
2022
  DrawDimDiametric(D, C, B, F, A) {
1950
2023
  return this.imp.DrawDimDiametric(D, C, B, F, A);
1951
2024
  }
1952
- DrawDimRotated(D, C, B, F, A, t, e) {
1953
- return this.imp.DrawDimRotated(D, C, B, F, A, t, e);
2025
+ DrawDimRotated(D, C, B, F, A, e, t) {
2026
+ return this.imp.DrawDimRotated(D, C, B, F, A, e, t);
1954
2027
  }
1955
2028
  DrawDimOrdinate(D, C, B, F, A) {
1956
2029
  return this.imp.DrawDimOrdinate(D, C, B, F, A);
@@ -1986,28 +2059,28 @@ class q {
1986
2059
  return this.imp.DrawEntity(D.getImp());
1987
2060
  }
1988
2061
  ObjectIdToObject(D) {
1989
- return i.App.ObjectIdToObject(D);
2062
+ return n.App.ObjectIdToObject(D);
1990
2063
  }
1991
2064
  DestroyObject(D) {
1992
- !D || i.App.getImp().DestroyObject(D);
2065
+ !D || n.App.getImp().DestroyObject(D);
1993
2066
  }
1994
2067
  GetAllLayoutName() {
1995
- return new vD(this.imp.GetAllLayoutName());
2068
+ return new ID(this.imp.GetAllLayoutName());
1996
2069
  }
1997
2070
  SetCurrentLayout(D) {
1998
2071
  this.imp.SetCurrentLayout(P.encodeToGb2312(D));
1999
2072
  }
2000
2073
  GetMxCpp() {
2001
- return i;
2074
+ return n;
2002
2075
  }
2003
2076
  docCoord2Cad(D) {
2004
- return new a(this.imp.mxdrawObject.docCoord2Cad(D.x, D.y, D.z));
2077
+ return new o(this.imp.mxdrawObject.docCoord2Cad(D.x, D.y, D.z));
2005
2078
  }
2006
2079
  }
2007
- class HD {
2080
+ class _D {
2008
2081
  imp;
2009
2082
  init(D) {
2010
- this.imp = D, y.kZAxis = new y(0, 0, 1), y.kNegateZAxis = new y(0, 0, -1), y.kXAxis = new y(1, 0, 0), y.kYAxis = new y(0, 1, 0), a.kOrigin = new a(0, 0, 0), j.kIdentity = new j();
2083
+ this.imp = D, y.kZAxis = new y(0, 0, 1), y.kNegateZAxis = new y(0, 0, -1), y.kXAxis = new y(1, 0, 0), y.kYAxis = new y(0, 1, 0), o.kOrigin = new o(0, 0, 0), v.kIdentity = new v();
2011
2084
  }
2012
2085
  getImp() {
2013
2086
  return this.imp;
@@ -2016,15 +2089,15 @@ class HD {
2016
2089
  return this.imp.getLastCallResult();
2017
2090
  }
2018
2091
  CreateMxCAD(D, C, B, F, A) {
2019
- let t = this.imp.CreateMxDraw(D, C, B, F, A);
2020
- return new q(t);
2092
+ let e = this.imp.CreateMxDraw(D, C, B, F, A);
2093
+ return new $(e);
2021
2094
  }
2022
2095
  DestroyObject(D) {
2023
2096
  this.imp.DestroyObject(D);
2024
2097
  }
2025
2098
  GetCurrentMxCAD() {
2026
2099
  let D = this.imp.GetCurrentMxDraw();
2027
- return D.McObject || (D.McObject = new q(this.imp.GetCurrentMxDraw())), D.McObject;
2100
+ return D.McObject || (D.McObject = new $(this.imp.GetCurrentMxDraw())), D.McObject;
2028
2101
  }
2029
2102
  mcedRGB2Index(D, C, B, F = !0) {
2030
2103
  return this.imp.mcedRGB2Index(D, C, B, F);
@@ -2038,53 +2111,53 @@ class HD {
2038
2111
  let C = this.imp.ObjectIdToObjectName(D);
2039
2112
  if (C == "McDbLine") {
2040
2113
  let B = this.imp.ObjectIdToMdDbLine(D);
2041
- return new DD(B);
2114
+ return new BD(B);
2042
2115
  } else if (C == "McDbText") {
2043
2116
  let B = this.imp.ObjectIdToMdDbText(D);
2044
- return new uD(B);
2117
+ return new lD(B);
2045
2118
  } else if (C == "McDbPolyline") {
2046
2119
  let B = this.imp.ObjectIdToMdDbPolyline(D);
2047
- return new BD(B);
2120
+ return new FD(B);
2048
2121
  } else if (C == "McDbCircle") {
2049
2122
  let B = this.imp.ObjectIdToMdDbCircle(D);
2050
- return new V(B);
2123
+ return new W(B);
2051
2124
  } else if (C == "McDbArc") {
2052
2125
  let B = this.imp.ObjectIdToMdDbArc(D);
2053
- return new ED(B);
2126
+ return new AD(B);
2054
2127
  } else if (C == "McDbBlockReference") {
2055
2128
  let B = this.imp.ObjectIdToMdDbBlockReference(D);
2056
- return new lD(B);
2129
+ return new cD(B);
2057
2130
  } else if (C == "McDbAlignedDimension") {
2058
2131
  let B = this.imp.ObjectIdToMdDbAlignedDimension(D);
2059
- return new cD(B);
2132
+ return new mD(B);
2060
2133
  } else if (C == "McDbRotatedDimension") {
2061
2134
  let B = this.imp.ObjectIdToMdDbRotatedDimension(D);
2062
- return new mD(B);
2135
+ return new pD(B);
2063
2136
  } else if (C == "McDbMText") {
2064
2137
  let B = this.imp.ObjectIdToMdDbMText(D);
2065
- return new CD(B);
2138
+ return new ED(B);
2066
2139
  } else if (C == "McDbEllipse") {
2067
2140
  let B = this.imp.ObjectIdToMdDbEllipse(D);
2068
- return new AD(B);
2141
+ return new tD(B);
2069
2142
  } else if (C == "McDbPoint") {
2070
2143
  let B = this.imp.ObjectIdToMdDbPoint(D);
2071
- return new hD(B);
2144
+ return new wD(B);
2072
2145
  } else if (this.imp.ObjectIdIsKindOf(D, "McDbCurve")) {
2073
2146
  let B = this.imp.ObjectIdToMdDbCurve(D);
2074
- return new W(B);
2147
+ return new z(B);
2075
2148
  } else if (this.imp.ObjectIdIsKindOf(D, "McDbEntity")) {
2076
2149
  let B = this.imp.ObjectIdToMdDbEntity(D);
2077
- return new G(B);
2150
+ return new V(B);
2078
2151
  } else {
2079
2152
  let B = this.imp.ObjectIdToMdObject(D);
2080
- return new I(B);
2153
+ return new j(B);
2081
2154
  }
2082
2155
  }
2083
2156
  CreateCloneObject(D) {
2084
2157
  if (!D)
2085
2158
  return null;
2086
2159
  let C = D.getObjectName(), B = null;
2087
- return C == "McDbLine" ? B = new DD() : C == "McDbText" ? B = new uD() : C == "McDbPolyline" ? B = new BD() : C == "McDbCircle" ? B = new V() : C == "McDbArc" ? B = new ED() : C == "McDbBlockReference" ? B = new lD() : C == "McDbAlignedDimension" ? B = new cD() : C == "McDbRotatedDimension" ? B = new mD() : C == "McDbMText" ? B = new CD() : D.isKindOf("McDbCurve") ? (B = new W(), B.initTempObject(new i.mxcadassemblyimp.MdDbCurve())) : D.isKindOf("McDbEntity") && (B = new G(), B.initTempObject(new i.mxcadassemblyimp.MdDbEntity())), B ? (B.getImp().ConnectionTempObject(D), i.App.DestroyObject(D), B) : new I(D);
2160
+ return C == "McDbLine" ? B = new BD() : C == "McDbText" ? B = new lD() : C == "McDbPolyline" ? B = new FD() : C == "McDbCircle" ? B = new W() : C == "McDbArc" ? B = new AD() : C == "McDbBlockReference" ? B = new cD() : C == "McDbAlignedDimension" ? B = new mD() : C == "McDbRotatedDimension" ? B = new pD() : C == "McDbMText" ? B = new ED() : D.isKindOf("McDbCurve") ? (B = new z(), B.initTempObject(new n.mxcadassemblyimp.MdDbCurve())) : D.isKindOf("McDbEntity") && (B = new V(), B.initTempObject(new n.mxcadassemblyimp.MdDbEntity())), B ? (B.getImp().ConnectionTempObject(D), n.App.DestroyObject(D), B) : new j(D);
2088
2161
  }
2089
2162
  setFontFilePath(D) {
2090
2163
  this.imp.setFontFilePath(D);
@@ -2095,9 +2168,9 @@ class HD {
2095
2168
  });
2096
2169
  }
2097
2170
  }
2098
- class ND {
2171
+ class qD {
2099
2172
  mxcadassemblyimp;
2100
- App = new HD();
2173
+ App = new _D();
2101
2174
  getCallResult() {
2102
2175
  return this.App.getLastCallResult();
2103
2176
  }
@@ -2106,7 +2179,7 @@ class ND {
2106
2179
  let F = D.z || 0;
2107
2180
  D = h.getCurrentDraw().docCoord2Cad(D.x, D.y, F);
2108
2181
  }
2109
- let B = new a();
2182
+ let B = new o();
2110
2183
  return D && D.x && D.y && (B.x = D.x, B.y = D.y, D.z && (B.y = D.z)), B;
2111
2184
  }
2112
2185
  GetCurrentMxCAD() {
@@ -2116,43 +2189,43 @@ class ND {
2116
2189
  return this.App.GetCurrentMxCAD().GetDatabase();
2117
2190
  }
2118
2191
  }
2119
- const yD = "1.0.80", bC = "SharedArrayBuffer" in window, eD = document.currentScript && /unpkg\.com\/mxcad/.test(document.currentScript.src), xC = (E, D = self.location.href) => eD ? `https://unpkg.com/mxcad@${yD}/dist/wasm/2d-st/${E}` : D + E, fC = (E, D = self.location.href) => eD ? `https://unpkg.com/mxcad@${yD}/dist/wasm/2d/${E}` : D + E, MC = (E, D = self.location.href) => eD ? `https://unpkg.com/mxcad@${yD}/dist/wasm/3d/${E}` : D + E, _D = (E) => new Promise((D, C) => {
2192
+ const gD = "1.0.82", xC = "SharedArrayBuffer" in window, rD = document.currentScript && /unpkg\.com\/mxcad/.test(document.currentScript.src), bC = (E, D = self.location.href) => rD ? `https://unpkg.com/mxcad@${gD}/dist/wasm/2d-st/${E}` : D + E, MC = (E, D = self.location.href) => rD ? `https://unpkg.com/mxcad@${gD}/dist/wasm/2d/${E}` : D + E, PC = (E, D = self.location.href) => rD ? `https://unpkg.com/mxcad@${gD}/dist/wasm/3d/${E}` : D + E, ZD = (E) => new Promise((D, C) => {
2120
2193
  const B = document.createElement("script");
2121
2194
  B.src = E, B.type = "text/javascript", B.crossOrigin = "anonymous", document.body.appendChild(B), B.onload = () => {
2122
2195
  D();
2123
2196
  }, B.onerror = (F) => {
2124
2197
  C(F);
2125
2198
  };
2126
- }), PC = async (E, D, C) => {
2199
+ }), TC = async (E, D, C) => {
2127
2200
  const { locateFile: B } = C, F = B(E + ".js");
2128
- return await _D(F), await globalThis[D](C);
2201
+ return await ZD(F), await globalThis[D](C);
2129
2202
  };
2130
- let i;
2131
- async function qD(E, D = bC || !eD ? xC : fC, C, B, F) {
2132
- return new Promise(async (A, t) => {
2203
+ let n;
2204
+ async function $D(E, D = xC || !rD ? bC : MC, C, B, F) {
2205
+ return new Promise(async (A, e) => {
2133
2206
  try {
2134
- if (i || (i = new ND()), i.mxcadassemblyimp)
2135
- return E && E(i), A(i);
2136
- const r = await PC("mxdrawassembly_min", "mxdrawassembly", {
2207
+ if (n || (n = new qD()), n.mxcadassemblyimp)
2208
+ return E && E(n), A(n);
2209
+ const i = await TC("mxdrawassembly_min", "mxdrawassembly", {
2137
2210
  locateFile: D,
2138
2211
  wasmBinary: C
2139
2212
  });
2140
- i.mxcadassemblyimp = r;
2141
- let s = new r.McApp();
2142
- B && s.setFontFilePath(B), s.Init(), i.App.init(s), F && i.App.addNetworkLoadingFont(F), E && E(i), A(i);
2143
- } catch (e) {
2144
- t(e);
2213
+ n.mxcadassemblyimp = i;
2214
+ let r = new i.McApp();
2215
+ B && r.setFontFilePath(B), r.Init(), n.App.init(r), F && n.App.addNetworkLoadingFont(F), E && E(n), A(n);
2216
+ } catch (t) {
2217
+ e(t);
2145
2218
  }
2146
2219
  });
2147
2220
  }
2148
- const TC = (E) => {
2221
+ const kC = (E) => {
2149
2222
  let D = null;
2150
2223
  if (typeof E == "string" ? D = document.querySelector(E) : E instanceof HTMLCanvasElement && (D = E), !!D)
2151
2224
  return D.id || (D.id = Math.random().toString(16).slice(2)), D.id;
2152
- }, kC = (E, D) => new Promise((C, B) => {
2225
+ }, RC = (E, D) => new Promise((C, B) => {
2153
2226
  try {
2154
2227
  h.createMxObject({
2155
- canvasId: TC(E),
2228
+ canvasId: kC(E),
2156
2229
  isCPPMxCAD: !0,
2157
2230
  userIdentitySign: D,
2158
2231
  callback(F) {
@@ -2164,28 +2237,28 @@ const TC = (E) => {
2164
2237
  } catch (F) {
2165
2238
  B(F);
2166
2239
  }
2167
- }), RC = async (E) => {
2168
- PD.state.MxFun || await iC();
2169
- const { multipleSelect: D, openParameter: C, networkFonts: B, fontspath: F, locateFile: A, wasmBinary: t, canvas: e, userIdentitySign: r, onOpenFileComplete: s, fileUrl: o, onInit: u = () => {
2240
+ }), OC = async (E) => {
2241
+ PD.state.MxFun || await nC();
2242
+ const { multipleSelect: D, openParameter: C, networkFonts: B, fontspath: F, locateFile: A, wasmBinary: e, canvas: t, userIdentitySign: i, onOpenFileComplete: r, fileUrl: s, onInit: u = () => {
2170
2243
  h.setIniset({
2171
2244
  EnableIntelliSelect: !0,
2172
2245
  IntelliSelectType: 1,
2173
2246
  multipleSelect: !!D
2174
2247
  });
2175
2248
  } } = E || {};
2176
- await qD(() => {
2177
- }, A, t, F, B), u();
2178
- let l = await kC(e, r);
2179
- const m = h.getMxFunTHREE();
2180
- let n = new m.Vector2();
2181
- l.getRenderer().getSize(n);
2182
- const c = i.App.CreateMxCAD(n.width, n.height, l.getCanvas().id, l.isWebgl2(), l.getId());
2183
- return l.initMxCpp(c), l.addEvent("openFileComplete", () => {
2184
- s && s();
2185
- }), o && c.openWebFile(o, void 0, !0, C), c;
2249
+ await $D(() => {
2250
+ }, A, e, F, B), u();
2251
+ let l = await RC(t, i);
2252
+ const c = h.getMxFunTHREE();
2253
+ let a = new c.Vector2();
2254
+ l.getRenderer().getSize(a);
2255
+ const m = n.App.CreateMxCAD(a.width, a.height, l.getCanvas().id, l.isWebgl2(), l.getId());
2256
+ return l.initMxCpp(m), l.addEvent("openFileComplete", () => {
2257
+ r && r();
2258
+ }), s && m.openWebFile(s, void 0, !0, C), m;
2186
2259
  };
2187
- async function SC() {
2188
- const E = new S();
2260
+ async function LC() {
2261
+ const E = new O();
2189
2262
  E.setMessage(`
2190
2263
  \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);
2191
2264
  let D = await E.go();
@@ -2195,7 +2268,7 @@ async function SC() {
2195
2268
  if (C.length <= 0)
2196
2269
  return;
2197
2270
  let B = h.screenCoordLong2Doc(50);
2198
- C = Y.b64Encode(C);
2271
+ C = Q.b64Encode(C);
2199
2272
  const F = {
2200
2273
  postx: D.x,
2201
2274
  posty: D.y,
@@ -2204,86 +2277,86 @@ async function SC() {
2204
2277
  };
2205
2278
  h.call("Mx_Text", F);
2206
2279
  }
2207
- class OC extends TD {
2280
+ class vC extends TD {
2208
2281
  getGripPoints() {
2209
2282
  const { x: D, y: C, z: B } = this.center;
2210
- let F = new THREE.Vector3(D, C + this.radius, B), A = new THREE.Vector3(D, C - this.radius, B), t = new THREE.Vector3(D - this.radius, C, B), e = new THREE.Vector3(D + this.radius, C, B);
2211
- return [this.center, F, A, t, e];
2283
+ let F = new THREE.Vector3(D, C + this.radius, B), A = new THREE.Vector3(D, C - this.radius, B), e = new THREE.Vector3(D - this.radius, C, B), t = new THREE.Vector3(D + this.radius, C, B);
2284
+ return [this.center, F, A, e, t];
2212
2285
  }
2213
2286
  moveGripPointsAt(D, C) {
2214
- const [B, F, A, t, e] = this.getGripPoints();
2215
- return D === 0 && (this.center = B.add(C)), D === 1 && (this.radius = F.add(C).distanceTo(this.center)), D === 2 && (this.radius = A.add(C).distanceTo(this.center)), D === 3 && (this.radius = t.add(C).distanceTo(this.center)), D === 4 && (this.radius = e.add(C).distanceTo(this.center)), !0;
2287
+ const [B, F, A, e, t] = this.getGripPoints();
2288
+ return D === 0 && (this.center = B.add(C)), D === 1 && (this.radius = F.add(C).distanceTo(this.center)), D === 2 && (this.radius = A.add(C).distanceTo(this.center)), D === 3 && (this.radius = e.add(C).distanceTo(this.center)), D === 4 && (this.radius = t.add(C).distanceTo(this.center)), !0;
2216
2289
  }
2217
2290
  }
2218
- const wD = (E) => {
2219
- const [D, C, B] = E, { x: F, y: A, z: t } = D, { x: e, y: r, z: s } = C, { x: o, y: u, z: l } = B, m = A * s - r * t - A * l + u * t + r * l - u * s, n = -(F * s - e * t - F * l + o * t + e * l - o * s), c = F * r - e * A - F * u + o * A + e * u - o * r, g = -(F * r * l - F * u * s - e * A * l + e * u * t + o * A * s - o * r * t), b = 2 * (e - F), p = 2 * (r - A), d = 2 * (s - t), f = F * F + A * A + t * t - e * e - r * r - s * s, x = 2 * (o - F), w = 2 * (u - A), M = 2 * (l - t), L = F * F + A * A + t * t - o * o - u * u - l * l, J = -(n * d * L - n * M * f - p * c * L + p * M * g + w * c * f - w * d * g) / (m * p * M - m * w * d - b * n * M + b * w * c + x * n * d - x * p * c), CC = (m * d * L - m * M * f - b * c * L + b * M * g + x * c * f - x * d * g) / (m * p * M - m * w * d - b * n * M + b * w * c + x * n * d - x * p * c), BC = -(m * p * L - m * w * f - b * n * L + b * w * g + x * n * f - x * p * g) / (m * p * M - m * w * d - b * n * M + b * w * c + x * n * d - x * p * c);
2220
- return new THREE.Vector3(J, CC, BC);
2291
+ const xD = (E) => {
2292
+ const [D, C, B] = E, { x: F, y: A, z: e } = D, { x: t, y: i, z: r } = C, { x: s, y: u, z: l } = B, c = A * r - i * e - A * l + u * e + i * l - u * r, a = -(F * r - t * e - F * l + s * e + t * l - s * r), m = F * i - t * A - F * u + s * A + t * u - s * i, w = -(F * i * l - F * u * r - t * A * l + t * u * e + s * A * r - s * i * e), f = 2 * (t - F), p = 2 * (i - A), d = 2 * (r - e), b = F * F + A * A + e * e - t * t - i * i - r * r, x = 2 * (s - F), g = 2 * (u - A), M = 2 * (l - e), S = F * F + A * A + e * e - s * s - u * u - l * l, Y = -(a * d * S - a * M * b - p * m * S + p * M * w + g * m * b - g * d * w) / (c * p * M - c * g * d - f * a * M + f * g * m + x * a * d - x * p * m), EC = (c * d * S - c * M * b - f * m * S + f * M * w + x * m * b - x * d * w) / (c * p * M - c * g * d - f * a * M + f * g * m + x * a * d - x * p * m), FC = -(c * p * S - c * g * b - f * a * S + f * g * w + x * a * b - x * p * w) / (c * p * M - c * g * d - f * a * M + f * g * m + x * a * d - x * p * m);
2293
+ return new THREE.Vector3(Y, EC, FC);
2221
2294
  };
2222
- function ZD() {
2223
- const E = new S();
2224
- let D = new OC(), C = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2225
- v.use(D), D.closed = !1, D.setColor(C);
2295
+ function JD() {
2296
+ const E = new O();
2297
+ let D = new vC(), C = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2298
+ I.use(D), D.closed = !1, D.setColor(C);
2226
2299
  let B = 0, F = "default", A = !0;
2227
- const t = () => {
2300
+ const e = () => {
2228
2301
  E.setUserDraw(
2229
- (n, c) => {
2230
- D.radius = A ? D.center.distanceTo(n) : D.center.distanceTo(n) / 2, c.drawCustomEntity(D), c.drawLine(D.center, n);
2302
+ (a, m) => {
2303
+ D.radius = A ? D.center.distanceTo(a) : D.center.distanceTo(a) / 2, m.drawCustomEntity(D), m.drawLine(D.center, a);
2231
2304
  }
2232
2305
  );
2233
- }, e = (n) => {
2306
+ }, t = (a) => {
2234
2307
  if (F === "default") {
2235
- if (n === T.kOk) {
2308
+ if (a === T.kOk) {
2236
2309
  if (B === 0)
2237
2310
  E.setMessage(`
2238
- \u6307\u5B9A\u5706\u7684\u534A\u5F84:`), E.setKeyWords("[\u76F4\u5F84(D)]"), D.center = E.value(), t();
2311
+ \u6307\u5B9A\u5706\u7684\u534A\u5F84:`), E.setKeyWords("[\u76F4\u5F84(D)]"), D.center = E.value(), e();
2239
2312
  else if (B === 1)
2240
- return i.GetCurrentMxCAD().DrawEntity(new V(D.center.x, D.center.y, 0, D.radius)), !0;
2313
+ return n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius)), !0;
2241
2314
  B++;
2242
2315
  }
2243
- n === T.kKeyWord && E.isKeyWordPicked("D") && (A = !1, t(), E.setMessage(`
2316
+ a === T.kKeyWord && E.isKeyWordPicked("D") && (A = !1, e(), E.setMessage(`
2244
2317
  \u6307\u5B9A\u5706\u7684\u76F4\u5F84:`), E.setKeyWords(""));
2245
2318
  }
2246
2319
  };
2247
- let r = [];
2248
- const s = (n) => {
2320
+ let i = [];
2321
+ const r = (a) => {
2249
2322
  if (F === "3P" && (E.setMessage(`
2250
- \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`), n === T.kOk)) {
2251
- if (B === 0 && (r.push(E.value()), E.setUserDraw((c, g) => {
2252
- g.drawLine(r[0], c);
2323
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`), a === T.kOk)) {
2324
+ if (B === 0 && (i.push(E.value()), E.setUserDraw((m, w) => {
2325
+ w.drawLine(i[0], m);
2253
2326
  }), E.setMessage(`
2254
- \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)), B === 1 && (r.push(E.value()), E.setUserDraw((c, g) => {
2255
- const [b, p] = r, d = c;
2256
- D.center = wD([
2257
- b,
2327
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)), B === 1 && (i.push(E.value()), E.setUserDraw((m, w) => {
2328
+ const [f, p] = i, d = m;
2329
+ D.center = xD([
2330
+ f,
2258
2331
  p,
2259
2332
  d
2260
- ]), D.radius = D.center.distanceTo(b), g.drawCustomEntity(D);
2333
+ ]), D.radius = D.center.distanceTo(f), w.drawCustomEntity(D);
2261
2334
  }), E.setMessage(`
2262
2335
  \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)), B === 2)
2263
- return r.push(E.value()), D.center = wD(r), D.radius = D.center.distanceTo(r[0]), i.GetCurrentMxCAD().DrawEntity(new V(D.center.x, D.center.y, 0, D.radius)), !0;
2336
+ return i.push(E.value()), D.center = xD(i), D.radius = D.center.distanceTo(i[0]), n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius)), !0;
2264
2337
  B++;
2265
2338
  }
2266
2339
  };
2267
- let o;
2268
- const u = (n, c) => {
2269
- new THREE.Line3(n, c).getCenter(D.center), D.radius = c.distanceTo(n) / 2;
2270
- }, l = (n) => {
2340
+ let s;
2341
+ const u = (a, m) => {
2342
+ new THREE.Line3(a, m).getCenter(D.center), D.radius = m.distanceTo(a) / 2;
2343
+ }, l = (a) => {
2271
2344
  if (F === "2P" && (E.setMessage(`
2272
- \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`), n === T.kOk)) {
2273
- if (B === 0 && (o = E.value(), E.setUserDraw((c, g) => {
2274
- u(o, c), g.drawCustomEntity(D), g.drawLine(o, c);
2345
+ \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`), a === T.kOk)) {
2346
+ if (B === 0 && (s = E.value(), E.setUserDraw((m, w) => {
2347
+ u(s, m), w.drawCustomEntity(D), w.drawLine(s, m);
2275
2348
  }), E.setMessage(`
2276
2349
  \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)), B === 1)
2277
- return u(o, E.value()), i.GetCurrentMxCAD().DrawEntity(new V(D.center.x, D.center.y, 0, D.radius)), !0;
2350
+ return u(s, E.value()), n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius)), !0;
2278
2351
  B++;
2279
2352
  }
2280
- }, m = (n) => {
2353
+ }, c = (a) => {
2281
2354
  if (F === "T") {
2282
2355
  if (E.setMessage(`
2283
- \u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`), n === T.kOk) {
2356
+ \u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`), a === T.kOk) {
2284
2357
  if (B === 0) {
2285
- const c = E.value();
2286
- console.log(c), h.getCurrentDraw();
2358
+ const m = E.value();
2359
+ console.log(m), h.getCurrentDraw();
2287
2360
  }
2288
2361
  B++;
2289
2362
  }
@@ -2294,31 +2367,31 @@ function ZD() {
2294
2367
  `
2295
2368
  \u6307\u5B9A\u5706\u7684\u5706\u5FC3\u6216[\u4E09\u70B9(3P)/\u4E24\u70B9(2P)/\u5207\u70B9\u3001\u5207\u70B9\u3001\u534A\u5F84(T)]:`
2296
2369
  ), E.setKeyWords("3P 2P T"), E.goWhile(
2297
- (n) => {
2298
- if (n === T.kKeyWord && (E.isKeyWordPicked("3P") ? F = "3P" : E.isKeyWordPicked("2P") ? F = "2P" : E.isKeyWordPicked("T") && (F = "T")), e(n))
2370
+ (a) => {
2371
+ if (a === T.kKeyWord && (E.isKeyWordPicked("3P") ? F = "3P" : E.isKeyWordPicked("2P") ? F = "2P" : E.isKeyWordPicked("T") && (F = "T")), t(a))
2299
2372
  return { exit: !0 };
2300
- if (s(n))
2373
+ if (r(a))
2301
2374
  return { exit: !0 };
2302
- if (l(n))
2375
+ if (l(a))
2303
2376
  return { exit: !0 };
2304
- if (m(n))
2377
+ if (c(a))
2305
2378
  return { exit: !0 };
2306
2379
  },
2307
- (n) => {
2308
- n === T.kCancel && i.GetCurrentMxCAD().DrawEntity(new V(D.center.x, D.center.y, 0, D.radius));
2380
+ (a) => {
2381
+ a === T.kCancel && n.GetCurrentMxCAD().DrawEntity(new W(D.center.x, D.center.y, 0, D.radius));
2309
2382
  }
2310
2383
  );
2311
2384
  }
2312
2385
  h.on("init", () => {
2313
- h.addCommand("Mx_Circle", ZD);
2386
+ h.addCommand("Mx_Circle", JD);
2314
2387
  });
2315
2388
  const bD = () => PD.state.MxFun.stopRunCommand();
2316
- function sD(E, D, C, B) {
2389
+ function nD(E, D, C, B) {
2317
2390
  const F = E - C, A = D - B;
2318
- let t = 0;
2319
- return F == 0 ? t = Math.PI / 2 : t = Math.atan(Math.abs(A / F)), F < 0 && A >= 0 ? t = Math.PI - t : F < 0 && A < 0 ? t = Math.PI + t : F >= 0 && A < 0 && (t = Math.PI * 2 - t), t;
2391
+ let e = 0;
2392
+ return F == 0 ? e = Math.PI / 2 : e = Math.atan(Math.abs(A / F)), F < 0 && A >= 0 ? e = Math.PI - e : F < 0 && A < 0 ? e = Math.PI + e : F >= 0 && A < 0 && (e = Math.PI * 2 - e), e;
2320
2393
  }
2321
- const O = (E, D, C) => {
2394
+ const L = (E, D, C) => {
2322
2395
  const B = () => {
2323
2396
  E.go((F) => {
2324
2397
  if (F === T.kKeyWord && C() && B(), F === T.kOk && D() && B(), F === T.kNone && B(), F === T.kCancel)
@@ -2327,56 +2400,56 @@ const O = (E, D, C) => {
2327
2400
  };
2328
2401
  return B;
2329
2402
  };
2330
- async function $D() {
2331
- const E = new S();
2332
- let D = new X(), C = i.GetCurrentDatabase().GetCurrentlyDrawColor(), B = [];
2403
+ async function YD() {
2404
+ const E = new O();
2405
+ let D = new CD(), C = n.GetCurrentDatabase().GetCurrentlyDrawColor(), B = [];
2333
2406
  E.setMessage(`
2334
2407
  \u6307\u5B9A\u7B2C\u4E00\u70B9:`);
2335
2408
  let F = await E.go();
2336
2409
  if (!F)
2337
2410
  return;
2338
- E.setUserDraw((t, e) => {
2339
- e.setColor(C), B.forEach((r) => {
2340
- r.color = C, e.drawCustomEntity(r);
2341
- }), e.drawLine(F, t);
2411
+ E.setUserDraw((e, t) => {
2412
+ t.setColor(C), B.forEach((i) => {
2413
+ i.color = C, t.drawCustomEntity(i);
2414
+ }), t.drawLine(F, e);
2342
2415
  });
2343
2416
  const A = () => {
2344
2417
  E.setMessage(`
2345
2418
  \u6307\u5B9A\u4E0B\u4E00\u4E2A\u70B9:`), B.length > 1 ? E.setKeyWords("[\u9000\u51FA(E)/\u95ED\u5408(C)/\u653E\u5F03(U)]") : E.setKeyWords("[\u9000\u51FA(E)/\u653E\u5F03(U)]");
2346
2419
  };
2347
2420
  A(), E.goWhile(
2348
- (t) => {
2349
- if (t === T.kOk && (D = new X(), v.use(D), D.pt1 = F, D.pt2 = E.value(), F = D.pt2.clone(), B.push(D), A()), t === T.kKeyWord) {
2421
+ (e) => {
2422
+ if (e === T.kOk && (D = new CD(), I.use(D), D.pt1 = F, D.pt2 = E.value(), F = D.pt2.clone(), B.push(D), A()), e === T.kKeyWord) {
2350
2423
  if (E.isKeyWordPicked("E"))
2351
2424
  bD();
2352
2425
  else if (E.isKeyWordPicked("C")) {
2353
- const e = new X();
2354
- return e.pt1 = F.clone(), e.pt2 = B[0].pt1.clone(), v.use(e), B.push(e), F = e.pt2.clone(), bD(), { exit: !0 };
2426
+ const t = new CD();
2427
+ return t.pt1 = F.clone(), t.pt2 = B[0].pt1.clone(), I.use(t), B.push(t), F = t.pt2.clone(), bD(), { exit: !0 };
2355
2428
  } else if (E.isKeyWordPicked("U")) {
2356
- const e = B.pop();
2357
- e && (F = e.pt1);
2429
+ const t = B.pop();
2430
+ t && (F = t.pt1);
2358
2431
  }
2359
2432
  }
2360
2433
  },
2361
- (t) => (t != T.kCancel && B.forEach((e) => {
2362
- i.GetCurrentMxCAD().DrawEntity(new DD(e.pt1.x, e.pt1.y, 0, e.pt2.x, e.pt2.y, 0));
2434
+ (e) => (e != T.kCancel && B.forEach((t) => {
2435
+ n.GetCurrentMxCAD().DrawEntity(new BD(t.pt1.x, t.pt1.y, 0, t.pt2.x, t.pt2.y, 0));
2363
2436
  }), { exit: !0 })
2364
2437
  );
2365
2438
  }
2366
- async function LC() {
2367
- let E = new z();
2439
+ async function SC() {
2440
+ let E = new G();
2368
2441
  for (E.setMessage("\u6307\u5B9A\u70B9"); ; ) {
2369
2442
  let D = await E.go();
2370
2443
  if (D == null)
2371
2444
  break;
2372
- i.GetCurrentMxCAD().DrawEntity(new hD(D));
2445
+ n.GetCurrentMxCAD().DrawEntity(new wD(D));
2373
2446
  }
2374
2447
  }
2375
2448
  h.on("init", () => {
2376
- h.addCommand("Mx_Line", $D), h.addCommand("Mx_Point", LC);
2449
+ h.addCommand("Mx_Line", YD), h.addCommand("Mx_Point", SC);
2377
2450
  });
2378
- async function vC() {
2379
- const E = new S();
2451
+ async function IC() {
2452
+ const E = new O();
2380
2453
  E.setMessage(`
2381
2454
  \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);
2382
2455
  let D = await E.go();
@@ -2387,7 +2460,7 @@ async function vC() {
2387
2460
  if (C.length <= 0)
2388
2461
  return;
2389
2462
  let B = h.screenCoordLong2Doc(50);
2390
- C = Y.b64Encode(C);
2463
+ C = Q.b64Encode(C);
2391
2464
  const F = {
2392
2465
  postx: D.x,
2393
2466
  posty: D.y,
@@ -2396,11 +2469,11 @@ async function vC() {
2396
2469
  };
2397
2470
  h.call("Mx_MText", F);
2398
2471
  }
2399
- async function JD() {
2400
- const E = new S();
2401
- let D = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2402
- const C = new rC();
2403
- v.use(C), C.color = D, E.setMessage(`
2472
+ async function QD() {
2473
+ const E = new O();
2474
+ let D = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2475
+ const C = new sC();
2476
+ I.use(C), C.color = D, E.setMessage(`
2404
2477
  \u6307\u5B9A\u8D77\u70B9:`);
2405
2478
  let B;
2406
2479
  E.setUserDraw((F, A) => {
@@ -2416,59 +2489,59 @@ async function JD() {
2416
2489
  },
2417
2490
  (F) => {
2418
2491
  if (F != T.kCancel) {
2419
- let A = i.GetCurrentMxCAD(), t = new BD();
2420
- for (let e = 0; e < C.points.length; e++)
2421
- t.addVertexAt(C.points[e]);
2422
- A.DrawEntity(t);
2492
+ let A = n.GetCurrentMxCAD(), e = new FD();
2493
+ for (let t = 0; t < C.points.length; t++)
2494
+ e.addVertexAt(C.points[t]);
2495
+ A.DrawEntity(e);
2423
2496
  }
2424
2497
  }
2425
2498
  );
2426
2499
  }
2427
2500
  h.on("init", () => {
2428
- h.addCommand("Mx_Pline", JD);
2501
+ h.addCommand("Mx_Pline", QD);
2429
2502
  });
2430
- async function YD() {
2431
- const E = new S();
2503
+ async function XD() {
2504
+ const E = new O();
2432
2505
  E.setMessage(`
2433
2506
  \u6307\u5B9A\u4E00\u70B9:`);
2434
- let D = await E.go(), C = new V();
2507
+ let D = await E.go(), C = new W();
2435
2508
  C.setCenter(D.x, D.y, D.z);
2436
- let B = 5, F = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2437
- E.setUserDraw((A, t) => {
2438
- t.setColor(F), C.radius = D.distanceTo(A);
2439
- let e = C.getEndParam().val, s = C.getDistAtParam(e).val / B, o = 0, u = new THREE.Vector3(), l = new THREE.Vector3();
2440
- for (let m = 0; m < B; m++) {
2441
- let n = C.getPointAtDist(o).val;
2442
- o += s, m > 0 ? t.drawMcDbLine(n.x, n.y, n.z, u.x, u.y, u.z) : l = new THREE.Vector3(n.x, n.y, n.z), m == B - 1 && t.drawMcDbLine(n.x, n.y, n.z, l.x, l.y, l.z), u = new THREE.Vector3(n.x, n.y, n.z);
2509
+ let B = 5, F = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2510
+ E.setUserDraw((A, e) => {
2511
+ e.setColor(F), C.radius = D.distanceTo(A);
2512
+ let t = C.getEndParam().val, r = C.getDistAtParam(t).val / B, s = 0, u = new THREE.Vector3(), l = new THREE.Vector3();
2513
+ for (let c = 0; c < B; c++) {
2514
+ let a = C.getPointAtDist(s).val;
2515
+ s += r, c > 0 ? e.drawMcDbLine(a.x, a.y, a.z, u.x, u.y, u.z) : l = new THREE.Vector3(a.x, a.y, a.z), c == B - 1 && e.drawMcDbLine(a.x, a.y, a.z, l.x, l.y, l.z), u = new THREE.Vector3(a.x, a.y, a.z);
2443
2516
  }
2444
2517
  }), E.setMessage(`
2445
2518
  \u6307\u5B9A\u4E8C\u70B9:`), await E.go(), E.drawReserve();
2446
2519
  }
2447
- h.addCommand("Mx_Polygon", YD);
2520
+ h.addCommand("Mx_Polygon", XD);
2448
2521
  function jC(E, D, C) {
2449
- const B = E.x, F = D.x, A = C.x, t = E.y, e = D.y, r = C.y, s = B - F, o = t - e, u = B - A, l = t - r, m = (B * B - F * F + (t * t - e * e)) / 2, n = (B * B - A * A + (t * t - r * r)) / 2, c = o * u - s * l, g = -(l * m - o * n) / c, b = -(s * n - u * m) / c;
2450
- return new THREE.Vector3(g, b, 0);
2522
+ const B = E.x, F = D.x, A = C.x, e = E.y, t = D.y, i = C.y, r = B - F, s = e - t, u = B - A, l = e - i, c = (B * B - F * F + (e * e - t * t)) / 2, a = (B * B - A * A + (e * e - i * i)) / 2, m = s * u - r * l, w = -(l * c - s * a) / m, f = -(r * a - u * c) / m;
2523
+ return new THREE.Vector3(w, f, 0);
2451
2524
  }
2452
- function IC(E, D) {
2525
+ function GC(E, D) {
2453
2526
  const C = E.x, B = E.y, F = D.x, A = D.y;
2454
2527
  return Math.sqrt((C - F) * (C - F) + (B - A) * (B - A));
2455
2528
  }
2456
- function GC(E, D, C) {
2529
+ function VC(E, D, C) {
2457
2530
  let B;
2458
2531
  E < C ? B = C - E : B = C - E + 360;
2459
2532
  let F;
2460
2533
  return E < D ? F = D - E : F = D - E + 360, F > B;
2461
2534
  }
2462
- function nD(E, D, C) {
2463
- const B = E.x, F = D.x, A = E.y, t = D.y;
2464
- let e, r, s;
2465
- return e = (A - t) / C, r = (B - F) / C, r >= 0.99999 && (r = 0.99999), r <= -0.99999 && (r = -0.99999), s = Math.acos(r), s = s / Math.PI * 180, e < -0.05 && (s = 360 - s), {
2466
- sin: e,
2467
- cos: r,
2468
- angle: s
2535
+ function sD(E, D, C) {
2536
+ const B = E.x, F = D.x, A = E.y, e = D.y;
2537
+ let t, i, r;
2538
+ return t = (A - e) / C, i = (B - F) / C, i >= 0.99999 && (i = 0.99999), i <= -0.99999 && (i = -0.99999), r = Math.acos(i), r = r / Math.PI * 180, t < -0.05 && (r = 360 - r), {
2539
+ sin: t,
2540
+ cos: i,
2541
+ angle: r
2469
2542
  };
2470
2543
  }
2471
- class gD extends TD {
2544
+ class fD extends TD {
2472
2545
  constructor() {
2473
2546
  super(), this._propertyDbKeys = [...this._propertyDbKeys, "bulge"];
2474
2547
  }
@@ -2476,24 +2549,24 @@ class gD extends TD {
2476
2549
  return "MxDbCircle";
2477
2550
  }
2478
2551
  create() {
2479
- return new gD();
2552
+ return new fD();
2480
2553
  }
2481
2554
  getArcBulge(D, C, B) {
2482
2555
  const F = D.distanceTo(C);
2483
- let e = 2 * new THREE.Line3(D, C).getCenter(
2556
+ let t = 2 * new THREE.Line3(D, C).getCenter(
2484
2557
  new THREE.Vector3()
2485
2558
  ).distanceTo(B) / F;
2486
- return e > 0.9999 && e < 1.0001 ? e = 1 : e < -0.9999 && e > -1.0001 ? e = -1 : Math.abs(e) < 1e-10 && (e = 0), e;
2559
+ return t > 0.9999 && t < 1.0001 ? t = 1 : t < -0.9999 && t > -1.0001 ? t = -1 : Math.abs(t) < 1e-10 && (t = 0), t;
2487
2560
  }
2488
2561
  getArcMidPoint(D, C, B, F, A) {
2489
- const t = D, e = B * Math.PI / 180;
2490
- let r = F * Math.PI / 180;
2491
- const s = new THREE.Vector3(), o = new THREE.Vector3();
2492
- s.x = t.x + C * Math.cos(e), s.y = t.y + C * Math.sin(e), o.x = t.x + C * Math.cos(r), o.y = t.y + C * Math.sin(r);
2562
+ const e = D, t = B * Math.PI / 180;
2563
+ let i = F * Math.PI / 180;
2564
+ const r = new THREE.Vector3(), s = new THREE.Vector3();
2565
+ r.x = e.x + C * Math.cos(t), r.y = e.y + C * Math.sin(t), s.x = e.x + C * Math.cos(i), s.y = e.y + C * Math.sin(i);
2493
2566
  const u = C;
2494
- (A ? B < F : B > F) && (r += Math.PI * 2);
2567
+ (A ? B < F : B > F) && (i += Math.PI * 2);
2495
2568
  const l = new THREE.Vector3();
2496
- return l.x = t.x + u * Math.cos((e + r) / 2), l.y = t.y + u * Math.sin((e + r) / 2), [s, l, o, this.center];
2569
+ return l.x = e.x + u * Math.cos((t + i) / 2), l.y = e.y + u * Math.sin((t + i) / 2), [r, l, s, this.center];
2497
2570
  }
2498
2571
  getGripPoints() {
2499
2572
  return this.getArcMidPoint(
@@ -2512,72 +2585,72 @@ class gD extends TD {
2512
2585
  }
2513
2586
  upDatePoints(D, C, B) {
2514
2587
  D[C].add(B);
2515
- const [F, A, t] = D;
2516
- this.center = jC(F, t, A), this.radius = IC(A, this.center);
2517
- const e = nD(F, this.center, this.radius), r = nD(t, this.center, this.radius), s = nD(A, this.center, this.radius);
2518
- this.clockwise = GC(
2519
- r.angle,
2520
- e.angle,
2521
- s.angle
2522
- ), this.startAngle = THREE.MathUtils.degToRad(e.angle), this.endAngle = THREE.MathUtils.degToRad(r.angle);
2588
+ const [F, A, e] = D;
2589
+ this.center = jC(F, e, A), this.radius = GC(A, this.center);
2590
+ const t = sD(F, this.center, this.radius), i = sD(e, this.center, this.radius), r = sD(A, this.center, this.radius);
2591
+ this.clockwise = VC(
2592
+ i.angle,
2593
+ t.angle,
2594
+ r.angle
2595
+ ), this.startAngle = THREE.MathUtils.degToRad(t.angle), this.endAngle = THREE.MathUtils.degToRad(i.angle);
2523
2596
  }
2524
2597
  }
2525
- async function QD() {
2526
- let E = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2527
- const D = new S();
2598
+ async function DC() {
2599
+ let E = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2600
+ const D = new O();
2528
2601
  D.setMessage(`
2529
2602
  \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setKeyWords("[\u5706\u5FC3(C)]");
2530
- let C = new gD();
2531
- C.closed = !1, v.use(C);
2603
+ let C = new fD();
2604
+ C.closed = !1, I.use(C);
2532
2605
  let B, F, A;
2533
- const t = O(
2606
+ const e = L(
2534
2607
  D,
2535
2608
  () => {
2536
2609
  B = D.value(), D.setMessage(`
2537
2610
  \u6307\u5B9A\u5706\u5F27\u7684\u7B2C\u4E8C\u4E2A\u70B9:`), D.setKeyWords("[\u5706\u5FC3(C)/\u7AEF\u70B9(E)]"), D.setUserDraw((p, d) => {
2538
2611
  d.setColor(E), d.drawLine(B, p);
2539
- }), c();
2612
+ }), m();
2540
2613
  },
2541
2614
  () => {
2542
2615
  if (D.isKeyWordPicked("C")) {
2543
- const p = new Q();
2616
+ const p = new DD();
2544
2617
  p.color = E, C.center = D.value(), p.center = D.value(), D.setMessage(`
2545
- \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`), D.setKeyWords(""), r();
2618
+ \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`), D.setKeyWords(""), i();
2546
2619
  } else
2547
2620
  return !0;
2548
2621
  }
2549
2622
  );
2550
- let e;
2551
- const r = O(
2623
+ let t;
2624
+ const i = L(
2552
2625
  D,
2553
2626
  () => {
2554
- e = D.value(), A = new Q(), A.closed = !1, v.use(A), A.color = E, A.center = e, C.center = e, D.setMessage(`
2627
+ t = D.value(), A = new DD(), A.closed = !1, I.use(A), A.color = E, A.center = t, C.center = t, D.setMessage(`
2555
2628
  \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setUserDraw((p, d) => {
2556
- d.drawCustomEntity(A), d.setColor(E), d.drawLine(e, p);
2629
+ d.drawCustomEntity(A), d.setColor(E), d.drawLine(t, p);
2557
2630
  }), u();
2558
2631
  },
2559
2632
  () => {
2560
2633
  }
2561
2634
  );
2562
- let s, o;
2563
- const u = O(
2635
+ let r, s;
2636
+ const u = L(
2564
2637
  D,
2565
2638
  () => {
2566
- s = D.value(), A.endPoint = s, D.setMessage(
2639
+ r = D.value(), A.endPoint = r, D.setMessage(
2567
2640
  `
2568
2641
  \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u89D2\u5EA6(A)/\u5F26\u957F(L)/\u4FEE\u6539\u534A\u5F84(R)]:`
2569
- ), D.setKeyWords("A L R"), o = new X(), o.setDashLineDisplay(!0), o.setDashArray(0.05), o.setLineWidth(2), o.setColor("#ffd30d"), o.pt1 = A.center, D.setUserDraw((p, d) => {
2570
- A.startPoint = p, o.pt2 = p, d.drawCustomEntity(A), d.drawCustomEntity(o);
2571
- }), m();
2642
+ ), D.setKeyWords("A L R"), s = new CD(), s.setDashLineDisplay(!0), s.setDashArray(0.05), s.setLineWidth(2), s.setColor("#ffd30d"), s.pt1 = A.center, D.setUserDraw((p, d) => {
2643
+ A.startPoint = p, s.pt2 = p, d.drawCustomEntity(A), d.drawCustomEntity(s);
2644
+ }), c();
2572
2645
  },
2573
2646
  () => {
2574
2647
  }
2575
2648
  );
2576
2649
  let l;
2577
- const m = O(
2650
+ const c = L(
2578
2651
  D,
2579
2652
  () => {
2580
- l = D.value(), A.startPoint = l, A.endPoint = s, g.DrawArc(A.center.x, A.center.y, A.radius, A.startAngle, A.endAngle);
2653
+ l = D.value(), A.startPoint = l, A.endPoint = r, w.DrawArc(A.center.x, A.center.y, A.radius, A.startAngle, A.endAngle);
2581
2654
  },
2582
2655
  () => {
2583
2656
  if (D.isKeyWordPicked("A"))
@@ -2585,14 +2658,14 @@ async function QD() {
2585
2658
  `
2586
2659
  \u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`
2587
2660
  ), D.setKeyWords("R"), D.setUserDraw((p, d) => {
2588
- A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(o);
2661
+ A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(s);
2589
2662
  }), !0;
2590
2663
  if (D.isKeyWordPicked("L"))
2591
2664
  return D.setMessage(
2592
2665
  `
2593
2666
  \u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`
2594
2667
  ), D.setKeyWords("R"), D.setUserDraw((p, d) => {
2595
- A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(o);
2668
+ A.startPoint = p, d.drawCustomEntity(A), d.drawCustomEntity(s);
2596
2669
  }), !0;
2597
2670
  if (D.isKeyWordPicked("R"))
2598
2671
  D.setMessage(
@@ -2605,37 +2678,37 @@ async function QD() {
2605
2678
  return !0;
2606
2679
  }
2607
2680
  );
2608
- let n;
2609
- const c = O(
2681
+ let a;
2682
+ const m = L(
2610
2683
  D,
2611
2684
  () => {
2612
- n = D.value(), D.setMessage(`
2613
- \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`), F = new sC(), F.color = E, F.autoClockwise = !0, F.closed = !1, v.use(F), D.setUserDraw((p, d) => {
2614
- F.point1 = B, F.point3 = n, F.point2 = p, d.drawCustomEntity(F);
2615
- }), b();
2685
+ a = D.value(), D.setMessage(`
2686
+ \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`), F = new oC(), F.color = E, F.autoClockwise = !0, F.closed = !1, I.use(F), D.setUserDraw((p, d) => {
2687
+ F.point1 = B, F.point3 = a, F.point2 = p, d.drawCustomEntity(F);
2688
+ }), f();
2616
2689
  },
2617
2690
  () => {
2618
2691
  if (D.isKeyWordPicked("C"))
2619
- A = new Q(), A.closed = !1, v.use(A), A.color = E, D.setMessage(`
2692
+ A = new DD(), A.closed = !1, I.use(A), A.color = E, D.setMessage(`
2620
2693
  \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((p, d) => {
2621
2694
  A.startPoint = B, d.drawLine(p, A.startPoint);
2622
- }), r();
2695
+ }), i();
2623
2696
  else if (D.isKeyWordPicked("E"))
2624
- A = new Q(), A.closed = !1, v.use(A), A.color = E, D.setMessage(`
2697
+ A = new DD(), A.closed = !1, I.use(A), A.color = E, D.setMessage(`
2625
2698
  \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((p, d) => {
2626
2699
  A.startPoint = B, d.drawLine(p, A.startPoint);
2627
- }), r();
2700
+ }), i();
2628
2701
  else
2629
2702
  return !0;
2630
2703
  }
2631
2704
  );
2632
- let g = i.GetCurrentMxCAD();
2633
- const b = O(
2705
+ let w = n.GetCurrentMxCAD();
2706
+ const f = L(
2634
2707
  D,
2635
2708
  () => {
2636
- F.point1 = B, F.point2 = D.value(), F.point3 = n;
2637
- let p = new ED();
2638
- p.computeArc(F.point1.x, F.point1.y, F.point3.x, F.point3.y, F.point2.x, F.point2.y), g.DrawEntity(p);
2709
+ F.point1 = B, F.point2 = D.value(), F.point3 = a;
2710
+ let p = new AD();
2711
+ p.computeArc(F.point1.x, F.point1.y, F.point3.x, F.point3.y, F.point2.x, F.point2.y), w.DrawEntity(p);
2639
2712
  },
2640
2713
  () => {
2641
2714
  if (D.isKeyWordPicked("C"))
@@ -2646,85 +2719,85 @@ async function QD() {
2646
2719
  return !0;
2647
2720
  }
2648
2721
  );
2649
- t();
2722
+ e();
2650
2723
  }
2651
2724
  h.on("init", () => {
2652
- h.addCommand("Mx_Arc", QD);
2725
+ h.addCommand("Mx_Arc", DC);
2653
2726
  });
2654
- function XD() {
2655
- const E = new S(), D = new nC();
2656
- D.closed = !1, v.use(D), E.setMessage(`
2727
+ function CC() {
2728
+ const E = new O(), D = new aC();
2729
+ D.closed = !1, I.use(D), E.setMessage(`
2657
2730
  \u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`), E.setKeyWords("[\u4E2D\u5FC3\u70B9(C)]");
2658
2731
  let C, B = new THREE.Vector3();
2659
- O(
2732
+ L(
2660
2733
  E,
2661
2734
  () => {
2662
- C = E.value(), E.setUserDraw((s, o) => {
2663
- const u = new THREE.Line3(C, s);
2664
- u.getCenter(B), D.center = B, D.xRadius = u.distance() / 2, D.yRadius = D.xRadius, D.rotation = sD(s.x, s.y, B.x, B.y), o.drawLine(s, C);
2735
+ C = E.value(), E.setUserDraw((r, s) => {
2736
+ const u = new THREE.Line3(C, r);
2737
+ u.getCenter(B), D.center = B, D.xRadius = u.distance() / 2, D.yRadius = D.xRadius, D.rotation = nD(r.x, r.y, B.x, B.y), s.drawLine(r, C);
2665
2738
  }), E.setMessage(`
2666
2739
  \u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`), E.setKeyWords(""), A();
2667
2740
  },
2668
2741
  () => {
2669
2742
  }
2670
2743
  )();
2671
- const A = O(
2744
+ const A = L(
2672
2745
  E,
2673
2746
  () => {
2674
- E.setUserDraw((s, o) => {
2675
- D.yRadius = B.distanceTo(s), o.drawLine(B, s), o.drawCustomEntity(D);
2747
+ E.setUserDraw((r, s) => {
2748
+ D.yRadius = B.distanceTo(r), s.drawLine(B, r), s.drawCustomEntity(D);
2676
2749
  }), E.setMessage(`
2677
- \u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`), E.setKeyWords(""), t();
2750
+ \u6307\u5B9A\u53E6\u4E00\u6761\u534A\u8F74\u957F\u5EA6`), E.setKeyWords(""), e();
2678
2751
  },
2679
2752
  () => {
2680
2753
  }
2681
- ), t = O(
2754
+ ), e = L(
2682
2755
  E,
2683
2756
  () => {
2684
2757
  E.setMessage(`
2685
- \u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`), E.setKeyWords(""), E.setUserDraw((s, o) => {
2686
- D.startAngle = sD(s.x, s.y, B.x, B.y) - D.rotation, o.drawLine(B, s), o.drawCustomEntity(D);
2687
- }), e();
2758
+ \u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`), E.setKeyWords(""), E.setUserDraw((r, s) => {
2759
+ D.startAngle = nD(r.x, r.y, B.x, B.y) - D.rotation, s.drawLine(B, r), s.drawCustomEntity(D);
2760
+ }), t();
2688
2761
  },
2689
2762
  () => {
2690
2763
  }
2691
- ), e = O(
2764
+ ), t = L(
2692
2765
  E,
2693
2766
  () => {
2694
- E.setUserDraw((s, o) => {
2695
- D.endAngle = sD(s.x, s.y, B.x, B.y) - D.rotation, o.drawLine(B, s), o.drawCustomEntity(D);
2767
+ E.setUserDraw((r, s) => {
2768
+ D.endAngle = nD(r.x, r.y, B.x, B.y) - D.rotation, s.drawLine(B, r), s.drawCustomEntity(D);
2696
2769
  }), E.setMessage(`
2697
- \u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`), E.setKeyWords(""), r();
2770
+ \u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`), E.setKeyWords(""), i();
2698
2771
  },
2699
2772
  () => {
2700
2773
  }
2701
- ), r = O(
2774
+ ), i = L(
2702
2775
  E,
2703
2776
  () => {
2704
- let s = new y(D.xRadius, 0, 0);
2705
- s.rotateBy(D.rotation, y.kZAxis), i.GetCurrentMxCAD().DrawEntity(new AD(D.center.x, D.center.y, 0, s.x, s.y, 0, D.yRadius / D.xRadius, D.startAngle, D.endAngle));
2777
+ let r = new y(D.xRadius, 0, 0);
2778
+ r.rotateBy(D.rotation, y.kZAxis), n.GetCurrentMxCAD().DrawEntity(new tD(D.center.x, D.center.y, 0, r.x, r.y, 0, D.yRadius / D.xRadius, D.startAngle, D.endAngle));
2706
2779
  },
2707
2780
  () => {
2708
2781
  }
2709
2782
  );
2710
2783
  }
2711
- function VC() {
2712
- const E = new S(), D = new oC(), C = new aC();
2713
- let B = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2784
+ function UC() {
2785
+ const E = new O(), D = new uC(), C = new lC();
2786
+ let B = n.GetCurrentDatabase().GetCurrentlyDrawColor();
2714
2787
  C.setColor(B), E.setMessage(`
2715
2788
  \u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u692D\u5706:`), E.go(() => {
2716
2789
  C.point1 = E.value(), D.setDraw((F) => {
2717
2790
  C.point2 = F, D.drawCustomEntity(C);
2718
2791
  }), E.setUserDraw(D), E.setMessage(`
2719
2792
  \u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\u692D\u5706:`), E.go(() => {
2720
- i.GetCurrentMxCAD().DrawEntity(new AD(C.center.x, C.center.y, 0, C.xRadius, 0, 0, C.yRadius / C.xRadius));
2793
+ n.GetCurrentMxCAD().DrawEntity(new tD(C.center.x, C.center.y, 0, C.xRadius, 0, 0, C.yRadius / C.xRadius));
2721
2794
  });
2722
2795
  });
2723
2796
  }
2724
2797
  h.on("init", () => {
2725
- h.addCommand("Mx_EllipseArc", XD), h.addCommand("Mx_Ellipse", VC);
2798
+ h.addCommand("Mx_EllipseArc", CC), h.addCommand("Mx_Ellipse", UC);
2726
2799
  });
2727
- async function DC() {
2800
+ async function BC() {
2728
2801
  let E = U.getCurrentSelect();
2729
2802
  if (E.length > 0) {
2730
2803
  E.forEach((C) => {
@@ -2732,13 +2805,13 @@ async function DC() {
2732
2805
  });
2733
2806
  return;
2734
2807
  }
2735
- let D = new $();
2808
+ let D = new _();
2736
2809
  !await D.userSelect(`
2737
2810
  \u9009\u62E9\u5220\u9664\u5BF9\u8C61`) || D.forEach((C) => {
2738
2811
  C.erase();
2739
2812
  });
2740
2813
  }
2741
- function iD(E) {
2814
+ function X(E) {
2742
2815
  let D, C;
2743
2816
  if (E.forEach((B) => {
2744
2817
  let F = B.getMcDbEntity();
@@ -2752,168 +2825,168 @@ function iD(E) {
2752
2825
  async function WC() {
2753
2826
  let E;
2754
2827
  for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2755
- let t = new $();
2756
- if (!await t.userSelect(`
2757
- \u9009\u62E9\u590D\u5236\u5BF9\u8C61`) || (E = t.getIds(), E.length == 0))
2828
+ let e = new _();
2829
+ if (!await e.userSelect(`
2830
+ \u9009\u62E9\u590D\u5236\u5BF9\u8C61`) || (E = e.getIds(), E.length == 0))
2758
2831
  return;
2759
2832
  break;
2760
2833
  }
2761
2834
  let D, C;
2762
2835
  if (E.length >= 10) {
2763
- let t = iD(E);
2764
- t && (D = t.minPt, C = t.maxPt);
2836
+ let e = X(E);
2837
+ e && (D = e.minPt, C = e.maxPt);
2765
2838
  }
2766
- let B = new z();
2839
+ let B = new G();
2767
2840
  B.setMessage("\u6307\u5B9A\u57FA\u70B9");
2768
2841
  let F = await B.go();
2769
2842
  if (!F)
2770
2843
  return;
2771
- B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((t, e) => {
2844
+ B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((e, t) => {
2772
2845
  if (D && C) {
2773
- let r = t.x - F.x, s = t.y - F.y, o = new THREE.Vector3(D.x + r, C.y + s, 0), u = new THREE.Vector3(C.x + r, D.y + s, 0), l = new THREE.Vector3(o.x, u.y, 0), m = new THREE.Vector3(u.x, o.y, 0);
2774
- e.drawLine(m, o), e.drawLine(o, l), e.drawLine(l, u), e.drawLine(u, m);
2846
+ let i = e.x - F.x, r = e.y - F.y, s = new THREE.Vector3(D.x + i, C.y + r, 0), u = new THREE.Vector3(C.x + i, D.y + r, 0), l = new THREE.Vector3(s.x, u.y, 0), c = new THREE.Vector3(u.x, s.y, 0);
2847
+ t.drawLine(c, s), t.drawLine(s, l), t.drawLine(l, u), t.drawLine(u, c);
2775
2848
  }
2776
- for (let r = 0; r < E.length && r < 10; r++) {
2777
- let s = E[r].clone();
2778
- !s || (s.Move(F, t), e.drawMcDbEntity(s));
2849
+ for (let i = 0; i < E.length && i < 10; i++) {
2850
+ let r = E[i].clone();
2851
+ !r || (r.Move(F, e), t.drawMcDbEntity(r));
2779
2852
  }
2780
2853
  });
2781
2854
  let A = await B.go();
2782
2855
  if (!!A)
2783
- for (let t = 0; t < E.length; t++) {
2784
- let e = E[t].clone();
2785
- !e || (e.Move(F, A), i.GetCurrentMxCAD().DrawEntity(e));
2856
+ for (let e = 0; e < E.length; e++) {
2857
+ let t = E[e].clone();
2858
+ !t || (t.Move(F, A), n.GetCurrentMxCAD().DrawEntity(t));
2786
2859
  }
2787
2860
  }
2788
- async function UC() {
2861
+ async function zC() {
2789
2862
  let E;
2790
2863
  for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2791
- let t = new $();
2792
- if (!await t.userSelect(`
2793
- \u9009\u62E9\u79FB\u52A8\u5BF9\u8C61`) || (E = t.getIds(), E.length == 0))
2864
+ let e = new _();
2865
+ if (!await e.userSelect(`
2866
+ \u9009\u62E9\u79FB\u52A8\u5BF9\u8C61`) || (E = e.getIds(), E.length == 0))
2794
2867
  return;
2795
2868
  break;
2796
2869
  }
2797
2870
  let D, C;
2798
2871
  if (E.length >= 10) {
2799
- let t = iD(E);
2800
- t && (D = t.minPt, C = t.maxPt);
2872
+ let e = X(E);
2873
+ e && (D = e.minPt, C = e.maxPt);
2801
2874
  }
2802
- let B = new z();
2875
+ let B = new G();
2803
2876
  B.setMessage("\u6307\u5B9A\u57FA\u70B9");
2804
2877
  let F = await B.go();
2805
2878
  if (!F)
2806
2879
  return;
2807
- B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((t, e) => {
2880
+ B.setMessage("\u6307\u5B9A\u79FB\u52A8\u5230\u70B9"), B.setBasePt(F), B.setUseBasePt(!0), B.setUserDraw((e, t) => {
2808
2881
  if (D && C) {
2809
- let r = t.x - F.x, s = t.y - F.y, o = new THREE.Vector3(D.x + r, C.y + s, 0), u = new THREE.Vector3(C.x + r, D.y + s, 0), l = new THREE.Vector3(o.x, u.y, 0), m = new THREE.Vector3(u.x, o.y, 0);
2810
- e.drawLine(m, o), e.drawLine(o, l), e.drawLine(l, u), e.drawLine(u, m);
2882
+ let i = e.x - F.x, r = e.y - F.y, s = new THREE.Vector3(D.x + i, C.y + r, 0), u = new THREE.Vector3(C.x + i, D.y + r, 0), l = new THREE.Vector3(s.x, u.y, 0), c = new THREE.Vector3(u.x, s.y, 0);
2883
+ t.drawLine(c, s), t.drawLine(s, l), t.drawLine(l, u), t.drawLine(u, c);
2811
2884
  }
2812
- for (let r = 0; r < E.length && r < 10; r++) {
2813
- let s = E[r].clone();
2814
- !s || (s.Move(F, t), e.drawMcDbEntity(s));
2885
+ for (let i = 0; i < E.length && i < 10; i++) {
2886
+ let r = E[i].clone();
2887
+ !r || (r.Move(F, e), t.drawMcDbEntity(r));
2815
2888
  }
2816
2889
  });
2817
2890
  let A = await B.go();
2818
2891
  if (!!A)
2819
- for (let t = 0; t < E.length; t++) {
2820
- let e = E[t].getMcDbObject();
2821
- !e || e.Move(F, A);
2892
+ for (let e = 0; e < E.length; e++) {
2893
+ let t = E[e].getMcDbObject();
2894
+ !t || t.Move(F, A);
2822
2895
  }
2823
2896
  }
2824
- async function zC() {
2897
+ async function KC() {
2825
2898
  let E;
2826
2899
  for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2827
- let l = new $();
2900
+ let l = new _();
2828
2901
  if (!await l.userSelect(`
2829
2902
  \u9009\u62E9\u65CB\u8F6C\u5BF9\u8C61`) || (E = l.getIds(), E.length == 0))
2830
2903
  return;
2831
2904
  break;
2832
2905
  }
2833
- let D, C, B = iD(E);
2906
+ let D, C, B = X(E);
2834
2907
  B && (D = B.minPt, C = B.maxPt);
2835
- let F = new z();
2908
+ let F = new G();
2836
2909
  F.setMessage("\u6307\u5B9A\u57FA\u70B9");
2837
2910
  let A = await F.go();
2838
2911
  if (A == null)
2839
2912
  return;
2840
- F.setMessage("\u6307\u5B9A\u65CB\u8F6C\u89D2\u5EA6"), F.setBasePt(A), F.setUseBasePt(!0), F.setUserDraw((l, m) => {
2841
- let n = l, c = A, b = n.sub(c).angleTo2(y.kXAxis, y.kNegateZAxis), p = new j();
2842
- if (p.setToRotation(b, y.kZAxis, c), D && C) {
2843
- let d = new a(D.x, C.y, 0), f = new a(C.x, D.y, 0), x = new a(d.x, f.y, 0), w = new a(f.x, d.y, 0);
2844
- d.transformBy(p), f.transformBy(p), x.transformBy(p), w.transformBy(p), m.drawLine(w.toVector3(), d.toVector3()), m.drawLine(d.toVector3(), x.toVector3()), m.drawLine(x.toVector3(), f.toVector3()), m.drawLine(f.toVector3(), w.toVector3());
2913
+ F.setMessage("\u6307\u5B9A\u65CB\u8F6C\u89D2\u5EA6"), F.setBasePt(A), F.setUseBasePt(!0), F.setUserDraw((l, c) => {
2914
+ let a = l, m = A, f = a.sub(m).angleTo2(y.kXAxis, y.kNegateZAxis), p = new v();
2915
+ if (p.setToRotation(f, y.kZAxis, m), D && C) {
2916
+ let d = new o(D.x, C.y, 0), b = new o(C.x, D.y, 0), x = new o(d.x, b.y, 0), g = new o(b.x, d.y, 0);
2917
+ d.transformBy(p), b.transformBy(p), x.transformBy(p), g.transformBy(p), c.drawLine(g.toVector3(), d.toVector3()), c.drawLine(d.toVector3(), x.toVector3()), c.drawLine(x.toVector3(), b.toVector3()), c.drawLine(b.toVector3(), g.toVector3());
2845
2918
  }
2846
- c = i.GetCurrentMxCAD().docCoord2Cad(c), p.setToRotation(b, y.kZAxis, c);
2919
+ m = n.GetCurrentMxCAD().docCoord2Cad(m), p.setToRotation(f, y.kZAxis, m);
2847
2920
  for (let d = 0; d < E.length && d < 10; d++) {
2848
- let f = E[d].clone();
2849
- !f || (f.TransformBy(p), m.drawMcDbEntity(f));
2921
+ let b = E[d].clone();
2922
+ !b || (b.TransformBy(p), c.drawMcDbEntity(b));
2850
2923
  }
2851
2924
  });
2852
- let t = await F.go();
2853
- if (!t)
2925
+ let e = await F.go();
2926
+ if (!e)
2854
2927
  return;
2855
- let e = t, r = A, o = e.sub(r).angleTo2(y.kXAxis, y.kNegateZAxis), u = new j();
2856
- r = i.GetCurrentMxCAD().docCoord2Cad(r), u.setToRotation(o, y.kZAxis, r);
2928
+ let t = e, i = A, s = t.sub(i).angleTo2(y.kXAxis, y.kNegateZAxis), u = new v();
2929
+ i = n.GetCurrentMxCAD().docCoord2Cad(i), u.setToRotation(s, y.kZAxis, i);
2857
2930
  for (let l = 0; l < E.length; l++) {
2858
- let m = E[l].getMcDbObject();
2859
- !m || m.TransformBy(u);
2931
+ let c = E[l].getMcDbObject();
2932
+ !c || c.TransformBy(u);
2860
2933
  }
2861
2934
  }
2862
- async function KC() {
2935
+ async function HC() {
2863
2936
  let E;
2864
2937
  for (; E = U.getCurrentSelect(), !(E.length > 0); ) {
2865
- let c = new $();
2866
- if (!await c.userSelect(`
2867
- \u9009\u62E9\u7F29\u653E\u5BF9\u8C61`) || (E = c.getIds(), E.length == 0))
2938
+ let m = new _();
2939
+ if (!await m.userSelect(`
2940
+ \u9009\u62E9\u7F29\u653E\u5BF9\u8C61`) || (E = m.getIds(), E.length == 0))
2868
2941
  return;
2869
2942
  break;
2870
2943
  }
2871
- let D, C, B = iD(E);
2944
+ let D, C, B = X(E);
2872
2945
  if (!B)
2873
2946
  return;
2874
2947
  D = B.minPt, C = B.maxPt;
2875
- let F = C.x - D.x, A = C.y - D.y, t = (F + A) / 3;
2876
- t < 1e-5 && (t = 1);
2877
- let e = new z();
2878
- e.setMessage("\u6307\u5B9A\u57FA\u70B9");
2879
- let r = await e.go();
2880
- if (r == null)
2948
+ let F = C.x - D.x, A = C.y - D.y, e = (F + A) / 3;
2949
+ e < 1e-5 && (e = 1);
2950
+ let t = new G();
2951
+ t.setMessage("\u6307\u5B9A\u57FA\u70B9");
2952
+ let i = await t.go();
2953
+ if (i == null)
2881
2954
  return;
2882
- e.setMessage("\u6307\u5B9A\u6BD4\u4F8B\u56E0\u5B50"), e.setBasePt(r), e.setUseBasePt(!0), e.setUserDraw((c, g) => {
2883
- let b = new a(c), p = new a(r), d = b.distanceTo(p);
2955
+ t.setMessage("\u6307\u5B9A\u6BD4\u4F8B\u56E0\u5B50"), t.setBasePt(i), t.setUseBasePt(!0), t.setUserDraw((m, w) => {
2956
+ let f = new o(m), p = new o(i), d = f.distanceTo(p);
2884
2957
  if (d < 1e-5)
2885
2958
  return;
2886
- let f = d / t;
2887
- f > 1e5 && (f = 1e5);
2888
- let x = new j();
2889
- if (x.setToScaling(f, p), D && C) {
2890
- let w = new a(D.x, C.y, 0), M = new a(C.x, D.y, 0), L = new a(w.x, M.y, 0), J = new a(M.x, w.y, 0);
2891
- w.transformBy(x), M.transformBy(x), L.transformBy(x), J.transformBy(x), g.drawLine(J.toVector3(), w.toVector3()), g.drawLine(w.toVector3(), L.toVector3()), g.drawLine(L.toVector3(), M.toVector3()), g.drawLine(M.toVector3(), J.toVector3());
2959
+ let b = d / e;
2960
+ b > 1e5 && (b = 1e5);
2961
+ let x = new v();
2962
+ if (x.setToScaling(b, p), D && C) {
2963
+ let g = new o(D.x, C.y, 0), M = new o(C.x, D.y, 0), S = new o(g.x, M.y, 0), Y = new o(M.x, g.y, 0);
2964
+ g.transformBy(x), M.transformBy(x), S.transformBy(x), Y.transformBy(x), w.drawLine(Y.toVector3(), g.toVector3()), w.drawLine(g.toVector3(), S.toVector3()), w.drawLine(S.toVector3(), M.toVector3()), w.drawLine(M.toVector3(), Y.toVector3());
2892
2965
  }
2893
- p = i.GetCurrentMxCAD().docCoord2Cad(p), x.setToScaling(f, p);
2894
- for (let w = 0; w < E.length && w < 10; w++) {
2895
- let M = E[w].clone();
2896
- !M || (M.TransformBy(x), g.drawMcDbEntity(M));
2966
+ p = n.GetCurrentMxCAD().docCoord2Cad(p), x.setToScaling(b, p);
2967
+ for (let g = 0; g < E.length && g < 10; g++) {
2968
+ let M = E[g].clone();
2969
+ !M || (M.TransformBy(x), w.drawMcDbEntity(M));
2897
2970
  }
2898
2971
  });
2899
- let s = await e.go();
2900
- if (!s)
2972
+ let r = await t.go();
2973
+ if (!r)
2901
2974
  return;
2902
- let o = s, u = r, l = o.distanceTo(u);
2975
+ let s = r, u = i, l = s.distanceTo(u);
2903
2976
  if (l < 1e-5)
2904
2977
  return;
2905
- let m = l / t;
2906
- m > 1e5 && (m = 1e5);
2907
- let n = new j();
2908
- u = i.GetCurrentMxCAD().docCoord2Cad(u), n.setToScaling(m, u);
2909
- for (let c = 0; c < E.length; c++) {
2910
- let g = E[c].getMcDbObject();
2911
- !g || g.TransformBy(n);
2978
+ let c = l / e;
2979
+ c > 1e5 && (c = 1e5);
2980
+ let a = new v();
2981
+ u = n.GetCurrentMxCAD().docCoord2Cad(u), a.setToScaling(c, u);
2982
+ for (let m = 0; m < E.length; m++) {
2983
+ let w = E[m].getMcDbObject();
2984
+ !w || w.TransformBy(a);
2912
2985
  }
2913
2986
  }
2914
- async function HC() {
2915
- let E = new z();
2916
- E.setDisableOsnap(!0), E.setMessage("\u70B9\u53D6\u7F29\u653E\u533A\u57DF"), E.setDynamicInputType(MD.kDynTip);
2987
+ async function NC() {
2988
+ let E = new G();
2989
+ E.setDisableOsnap(!0), E.setMessage("\u70B9\u53D6\u7F29\u653E\u533A\u57DF"), E.setDynamicInputType(dD.kDynTip);
2917
2990
  let D = await E.go();
2918
2991
  if (D == null)
2919
2992
  return;
@@ -2923,53 +2996,86 @@ async function HC() {
2923
2996
  let C = await E.go();
2924
2997
  C != null && h.getCurrentDraw().zoomW(D.toVector3(), C.toVector3());
2925
2998
  }
2926
- async function NC() {
2927
- let E = i.GetCurrentDatabase().CurrentSpace().getBoundingBox();
2999
+ async function _C() {
3000
+ let E = n.GetCurrentDatabase().CurrentSpace().getBoundingBox();
2928
3001
  !E.ret || h.getCurrentDraw().zoomW(E.minPt.toVector3(), E.maxPt.toVector3());
2929
3002
  }
2930
- async function _C() {
2931
- const E = new KD();
3003
+ async function qC() {
3004
+ const E = new ND();
2932
3005
  E.setMessage(`
2933
3006
  \u6307\u5B9A\u504F\u79FB\u8DDD\u79BB\u6216:`);
2934
3007
  let D = await E.go();
2935
3008
  if (D == null)
2936
3009
  return;
2937
- let C = new tD();
3010
+ let C = new iD();
2938
3011
  C.AddMcDbEntityTypes("LINE,CIRCLE,LWPOLYLINE,ARC");
2939
3012
  let B = await U.selectEnt(`
2940
3013
  \u9009\u62E9\u504F\u79FB\u5BF9\u8C61`, C, !1);
2941
3014
  if (B.length == 0)
2942
3015
  return;
2943
- const F = new z();
3016
+ const F = new G();
2944
3017
  F.setMessage(`
2945
3018
  \u6307\u5B9A\u8981\u504F\u79FB\u90A3\u4E00\u4FA7\u4E0A\u7684\u70B9:`), F.setDisableOsnap(!0);
2946
3019
  let A = await F.go();
2947
3020
  if (A == null)
2948
3021
  return;
2949
- let t = B[0].getMcDbCurve();
2950
- if (!t)
3022
+ let e = B[0].getMcDbCurve();
3023
+ if (!e)
2951
3024
  return;
2952
- let e = t.offsetCurves(D, A);
2953
- e.empty() || e.forEach((r) => {
2954
- i.GetCurrentMxCAD().DrawEntity(r);
3025
+ let t = e.offsetCurves(D, A);
3026
+ t.empty() || t.forEach((i) => {
3027
+ n.GetCurrentMxCAD().DrawEntity(i);
2955
3028
  });
2956
3029
  }
2957
- function qC() {
2958
- i.GetCurrentMxCAD().getImp().regen();
3030
+ function ZC() {
3031
+ n.GetCurrentMxCAD().getImp().regen();
3032
+ }
3033
+ async function $C() {
3034
+ let E = await U.userSelect("\u9009\u62E9\u955C\u50CF\u5BF9\u8C61");
3035
+ if (E.length == 0) {
3036
+ h.acutPrintf(`
3037
+ \u6CA1\u6709\u80FD\u955C\u50CF\u7684\u5BF9\u8C61`);
3038
+ return;
3039
+ }
3040
+ let D, C, B = X(E);
3041
+ B && (D = B.minPt, C = B.maxPt);
3042
+ let F = new G();
3043
+ F.setMessage("\u6307\u5B9A\u57FA\u70B9");
3044
+ let A = await F.go();
3045
+ if (A == null)
3046
+ return;
3047
+ F.setMessage("\u6307\u5B9A\u955C\u5411\u70B9"), F.setBasePt(A), F.setUseBasePt(!0), F.setUserDraw((t, i) => {
3048
+ if (D && C) {
3049
+ let r = new v();
3050
+ r.setMirror(A, t);
3051
+ let s = new o(D.x, C.y, 0), u = new o(C.x, D.y, 0), l = new o(s.x, u.y, 0), c = new o(u.x, s.y, 0);
3052
+ s.transformBy(r), u.transformBy(r), l.transformBy(r), c.transformBy(r), i.drawLine(c.toVector3(), s.toVector3()), i.drawLine(s.toVector3(), l.toVector3()), i.drawLine(l.toVector3(), u.toVector3()), i.drawLine(u.toVector3(), c.toVector3());
3053
+ }
3054
+ for (let r = 0; r < E.length && r < 10; r++) {
3055
+ let s = E[r].clone();
3056
+ !s || (s.Mirror(A, t), i.drawMcDbEntity(s));
3057
+ }
3058
+ });
3059
+ let e = await F.go();
3060
+ if (!!e)
3061
+ for (let t = 0; t < E.length; t++) {
3062
+ let i = E[t].clone();
3063
+ !i || (i.Mirror(A, e), n.GetCurrentMxCAD().DrawEntity(i));
3064
+ }
2959
3065
  }
2960
3066
  h.on("init", () => {
2961
- h.addCommand("Mx_Erase", DC), h.addCommand("Mx_Copy", WC), h.addCommand("Mx_Move", UC), h.addCommand("Mx_Rotate", zC), h.addCommand("Mx_Scale", KC), h.addCommand("Mx_WindowZoom", HC), h.addCommand("Mx_ZoomE", NC), h.addCommand("Mx_Offset", _C), h.addCommand("Mx_Regen", qC);
3067
+ h.addCommand("Mx_Erase", BC), h.addCommand("Mx_Copy", WC), h.addCommand("Mx_Move", zC), h.addCommand("Mx_Rotate", KC), h.addCommand("Mx_Scale", HC), h.addCommand("Mx_WindowZoom", NC), h.addCommand("Mx_ZoomE", _C), h.addCommand("Mx_Offset", qC), h.addCommand("Mx_Regen", ZC), h.addCommand("Mx_Mirror", $C);
2962
3068
  });
2963
- const ZC = async (E, D, C) => {
3069
+ const JC = async (E, D, C) => {
2964
3070
  const { locateFile: B } = C, F = B(E + ".js");
2965
- return await _D(F), await globalThis[D](C);
3071
+ return await ZD(F), await globalThis[D](C);
2966
3072
  };
2967
- function $C(E) {
3073
+ function YC(E) {
2968
3074
  return typeof ResizeObserver == "function" ? new ResizeObserver(E) : null;
2969
3075
  }
2970
- function JC(E, D) {
3076
+ function QC(E, D) {
2971
3077
  const C = () => requestAnimationFrame(D);
2972
- let B = $C(C);
3078
+ let B = YC(C);
2973
3079
  if (B) {
2974
3080
  B.observe(E);
2975
3081
  return;
@@ -2979,7 +3085,7 @@ function JC(E, D) {
2979
3085
  return;
2980
3086
  }
2981
3087
  }
2982
- function YC(E, D) {
3088
+ function XC(E, D) {
2983
3089
  let C = null;
2984
3090
  return function(...B) {
2985
3091
  C || (C = setTimeout(() => {
@@ -2987,52 +3093,52 @@ function YC(E, D) {
2987
3093
  }, D));
2988
3094
  };
2989
3095
  }
2990
- class Z {
3096
+ class J {
2991
3097
  static onloadWasmMxDraw3dModel;
2992
3098
  canvas;
2993
3099
  constructor(D) {
2994
3100
  const C = () => {
2995
3101
  const u = this.canvas.parentElement?.clientWidth || window.innerWidth, l = this.canvas.parentElement?.clientHeight || window.innerHeight;
2996
- let m = Math.min(u, window.screen.availWidth), n = Math.min(l, window.screen.availHeight);
2997
- m = Math.max(A, m), n = Math.max(t, n), this.canvas.style.width = m + 1 + "px", this.canvas.style.height = n + "px";
2998
- const c = window.devicePixelRatio || 1;
2999
- this.canvas.width = m * c, this.canvas.height = n * c;
3000
- }, B = YC(C, 50), {
3102
+ let c = Math.min(u, window.screen.availWidth), a = Math.min(l, window.screen.availHeight);
3103
+ c = Math.max(A, c), a = Math.max(e, a), this.canvas.style.width = c + 1 + "px", this.canvas.style.height = a + "px";
3104
+ const m = window.devicePixelRatio || 1;
3105
+ this.canvas.width = c * m, this.canvas.height = a * m;
3106
+ }, B = XC(C, 50), {
3001
3107
  canvas: F,
3002
3108
  minWidth: A = 300,
3003
- minHeight: t = 300,
3004
- updateCanvasSize: e = B,
3005
- ...r
3109
+ minHeight: e = 300,
3110
+ updateCanvasSize: t = B,
3111
+ ...i
3006
3112
  } = D;
3007
- let s = typeof F == "string" ? document.querySelectorAll(F)[0] : F, o = s.getContext("webgl2", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 });
3008
- o == null && (o = s.getContext("webgl", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 })), this.canvas = s, this.ctx = o, r.canvas = this.canvas;
3009
- for (let u in r)
3010
- this[u] = r[u];
3113
+ let r = typeof F == "string" ? document.querySelectorAll(F)[0] : F, s = r.getContext("webgl2", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 });
3114
+ s == null && (s = r.getContext("webgl", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 })), this.canvas = r, this.ctx = s, i.canvas = this.canvas;
3115
+ for (let u in i)
3116
+ this[u] = i[u];
3011
3117
  if (this.canvas instanceof HTMLCanvasElement) {
3012
3118
  const u = this.canvas.parentElement || document.body;
3013
- JC(u, e);
3119
+ QC(u, t);
3014
3120
  } else
3015
3121
  console.error("createMxDraw3d canvas \u53C2\u6570\u4E0D\u6B63\u786E \u65E0\u6CD5\u83B7\u53D6\u5230canvas\u5143\u7D20");
3016
- window.onresize = C, C(), ZC("mxdraw3d_min", "mxdraw3d", this).then(() => {
3017
- Z.onloadWasmMxDraw3dModel && Z.onloadWasmMxDraw3dModel(this), this.updateCanvasSize = e, this.open3DFile = (u) => {
3122
+ window.onresize = C, C(), JC("mxdraw3d_min", "mxdraw3d", this).then(() => {
3123
+ J.onloadWasmMxDraw3dModel && J.onloadWasmMxDraw3dModel(this), this.updateCanvasSize = t, this.open3DFile = (u) => {
3018
3124
  const l = new FileReader();
3019
3125
  l.onload = () => {
3020
3126
  if (!!l.result && l.result instanceof ArrayBuffer) {
3021
- var m = new Uint8Array(l.result);
3022
- const n = this._malloc(m.length);
3023
- this.HEAPU8.set(m, n), this.openFromMemory(u.name, n, m.length, !0), this.displayGround(!0), this.canvas.focus();
3127
+ var c = new Uint8Array(l.result);
3128
+ const a = this._malloc(c.length);
3129
+ this.HEAPU8.set(c, a), this.openFromMemory(u.name, a, c.length, !0), this.displayGround(!0), this.canvas.focus();
3024
3130
  }
3025
3131
  }, l.readAsArrayBuffer(u);
3026
3132
  };
3027
3133
  });
3028
3134
  }
3029
3135
  }
3030
- function QC(E, D) {
3136
+ function D9(E, D) {
3031
3137
  return new Promise(async (C, B) => {
3032
3138
  try {
3033
- E.locateFile || (E.locateFile = MC);
3034
- const F = new Z(E);
3035
- Z.onloadWasmMxDraw3dModel = () => {
3139
+ E.locateFile || (E.locateFile = PC);
3140
+ const F = new J(E);
3141
+ J.onloadWasmMxDraw3dModel = () => {
3036
3142
  C(F), D && D(F);
3037
3143
  };
3038
3144
  } catch (F) {
@@ -3040,155 +3146,157 @@ function QC(E, D) {
3040
3146
  }
3041
3147
  });
3042
3148
  }
3043
- const D9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3149
+ const B9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3044
3150
  __proto__: null,
3045
3151
  b64Encode: kD,
3046
3152
  b64Decode: RD,
3047
- saveAsFileDialog: SD,
3048
- downloadFile: OD,
3049
- downloadFileFromUrl: LD,
3050
- MxTools: Y,
3051
- McGePoint3d: a,
3153
+ saveAsFileDialog: OD,
3154
+ downloadFile: LD,
3155
+ downloadFileFromUrl: vD,
3156
+ MxTools: Q,
3157
+ McGePoint3d: o,
3052
3158
  McGeVector3d: y,
3053
- McGeMatrix3d: j,
3054
- McGeLongArray: lC,
3055
- McGeStringArray: vD,
3056
- McGePoint3dArray: cC,
3057
- getFilterImp: _,
3058
- MxCADResbuf: tD,
3059
- MxCADUtilityClass: zD,
3159
+ McGeMatrix3d: v,
3160
+ McGeLongArray: SD,
3161
+ McGeStringArray: ID,
3162
+ McGePoint3dArray: mC,
3163
+ getFilterImp: K,
3164
+ MxCADResbuf: iD,
3165
+ MxCADUtilityClass: KD,
3060
3166
  MxCADUtility: U,
3061
- MxCADSelectionSet: $,
3062
- MxCADUiPrBase: N,
3063
- MxCADUiPrPoint: z,
3064
- MxCADUiPrDist: KD,
3065
- MxCADUiPrAngle: hC,
3066
- MxCADUiPrInt: yC,
3167
+ MxCADSelectionSetStatus: HD,
3168
+ MxCADSelectionSet: _,
3169
+ MxCADUiPrBase: q,
3170
+ MxCADUiPrPoint: G,
3171
+ MxCADUiPrDist: ND,
3172
+ MxCADUiPrAngle: yC,
3173
+ MxCADUiPrInt: wC,
3067
3174
  MxCADUiPrKeyWord: gC,
3068
- MxCADUiPrString: wC,
3069
- McRxObject: K,
3175
+ MxCADUiPrString: fC,
3176
+ McRxObject: H,
3070
3177
  McObjectIdType: k,
3071
3178
  McObjectId: R,
3072
- McDbObject: I,
3073
- McDbObjectArray: oD,
3179
+ McDbObject: j,
3180
+ McDbObjectArray: aD,
3074
3181
  get McDb() {
3075
- return aD;
3182
+ return uD;
3076
3183
  },
3077
- McCmColor: H,
3078
- McDbLayerTableRecord: dC,
3184
+ McCmColor: N,
3185
+ McDbLayerTableRecord: hC,
3079
3186
  McDbLayerTable: jD,
3080
- McDbLinetypeTable: ID,
3081
- McDbTextStyleTable: GD,
3082
- McDbDatabase: pD,
3083
- McDbBlockTableRecordIterator: VD,
3084
- McDbBlockTableRecord: FD,
3187
+ McDbLinetypeTable: GD,
3188
+ McDbTextStyleTable: VD,
3189
+ McDbDatabase: hD,
3190
+ McDbBlockTableRecordIterator: UD,
3191
+ McDbBlockTableRecord: eD,
3085
3192
  McDbBlockTableIterator: WD,
3086
- McDbBlockTable: UD,
3087
- McDbEntity: G,
3088
- McDbCurve: W,
3089
- McDbLine: DD,
3090
- McDbText: uD,
3091
- McDbMText: CD,
3092
- McDbCircle: V,
3093
- McDbPolyline: BD,
3094
- McDbBlockReference: lD,
3095
- McDbDimension: dD,
3096
- McDbAlignedDimension: cD,
3097
- McDbRotatedDimension: mD,
3098
- McDbArc: ED,
3099
- McDbEllipse: AD,
3100
- McDbPoint: hD,
3101
- McObject: q,
3102
- McAppType: HD,
3103
- MxCppType: ND,
3193
+ McDbBlockTable: zD,
3194
+ McDbEntity: V,
3195
+ McDbCurve: z,
3196
+ McDbLine: BD,
3197
+ McDbText: lD,
3198
+ McDbMText: ED,
3199
+ McDbCircle: W,
3200
+ McDbPolyline: FD,
3201
+ McDbBlockReference: cD,
3202
+ McDbDimension: yD,
3203
+ McDbAlignedDimension: mD,
3204
+ McDbRotatedDimension: pD,
3205
+ McDbArc: AD,
3206
+ McDbEllipse: tD,
3207
+ McDbPoint: wD,
3208
+ McObject: $,
3209
+ McAppType: _D,
3210
+ MxCppType: qD,
3104
3211
  get MxCpp() {
3105
- return i;
3212
+ return n;
3106
3213
  },
3107
- loadMxCADassembly: qD,
3108
- createMxCad: RC,
3109
- drawText: SC,
3110
- drawCircle: ZD,
3111
- drawLine: $D,
3112
- drawMText: vC,
3113
- drawPolyLine: JD,
3114
- drawPolygon: YD,
3115
- drawArc: QD,
3116
- drawEllipticalArc: XD,
3117
- Mx_Erase: DC,
3118
- MxDraw3d: Z,
3119
- loadMxCADassembly3d: QC
3214
+ loadMxCADassembly: $D,
3215
+ createMxCad: OC,
3216
+ drawText: LC,
3217
+ drawCircle: JD,
3218
+ drawLine: YD,
3219
+ drawMText: IC,
3220
+ drawPolyLine: QD,
3221
+ drawPolygon: XD,
3222
+ drawArc: DC,
3223
+ drawEllipticalArc: CC,
3224
+ Mx_Erase: BC,
3225
+ MxDraw3d: J,
3226
+ loadMxCADassembly3d: D9
3120
3227
  }, Symbol.toStringTag, { value: "Module" }));
3121
3228
  export {
3122
- HD as McAppType,
3123
- H as McCmColor,
3124
- aD as McDb,
3125
- cD as McDbAlignedDimension,
3126
- ED as McDbArc,
3127
- lD as McDbBlockReference,
3128
- UD as McDbBlockTable,
3229
+ _D as McAppType,
3230
+ N as McCmColor,
3231
+ uD as McDb,
3232
+ mD as McDbAlignedDimension,
3233
+ AD as McDbArc,
3234
+ cD as McDbBlockReference,
3235
+ zD as McDbBlockTable,
3129
3236
  WD as McDbBlockTableIterator,
3130
- FD as McDbBlockTableRecord,
3131
- VD as McDbBlockTableRecordIterator,
3132
- V as McDbCircle,
3133
- W as McDbCurve,
3134
- pD as McDbDatabase,
3135
- dD as McDbDimension,
3136
- AD as McDbEllipse,
3137
- G as McDbEntity,
3237
+ eD as McDbBlockTableRecord,
3238
+ UD as McDbBlockTableRecordIterator,
3239
+ W as McDbCircle,
3240
+ z as McDbCurve,
3241
+ hD as McDbDatabase,
3242
+ yD as McDbDimension,
3243
+ tD as McDbEllipse,
3244
+ V as McDbEntity,
3138
3245
  jD as McDbLayerTable,
3139
- dC as McDbLayerTableRecord,
3140
- DD as McDbLine,
3141
- ID as McDbLinetypeTable,
3142
- CD as McDbMText,
3143
- I as McDbObject,
3144
- oD as McDbObjectArray,
3145
- hD as McDbPoint,
3146
- BD as McDbPolyline,
3147
- mD as McDbRotatedDimension,
3148
- uD as McDbText,
3149
- GD as McDbTextStyleTable,
3150
- lC as McGeLongArray,
3151
- j as McGeMatrix3d,
3152
- a as McGePoint3d,
3153
- cC as McGePoint3dArray,
3154
- vD as McGeStringArray,
3246
+ hC as McDbLayerTableRecord,
3247
+ BD as McDbLine,
3248
+ GD as McDbLinetypeTable,
3249
+ ED as McDbMText,
3250
+ j as McDbObject,
3251
+ aD as McDbObjectArray,
3252
+ wD as McDbPoint,
3253
+ FD as McDbPolyline,
3254
+ pD as McDbRotatedDimension,
3255
+ lD as McDbText,
3256
+ VD as McDbTextStyleTable,
3257
+ SD as McGeLongArray,
3258
+ v as McGeMatrix3d,
3259
+ o as McGePoint3d,
3260
+ mC as McGePoint3dArray,
3261
+ ID as McGeStringArray,
3155
3262
  y as McGeVector3d,
3156
- q as McObject,
3263
+ $ as McObject,
3157
3264
  R as McObjectId,
3158
3265
  k as McObjectIdType,
3159
- K as McRxObject,
3160
- tD as MxCADResbuf,
3161
- $ as MxCADSelectionSet,
3162
- hC as MxCADUiPrAngle,
3163
- N as MxCADUiPrBase,
3164
- KD as MxCADUiPrDist,
3165
- yC as MxCADUiPrInt,
3266
+ H as McRxObject,
3267
+ iD as MxCADResbuf,
3268
+ _ as MxCADSelectionSet,
3269
+ HD as MxCADSelectionSetStatus,
3270
+ yC as MxCADUiPrAngle,
3271
+ q as MxCADUiPrBase,
3272
+ ND as MxCADUiPrDist,
3273
+ wC as MxCADUiPrInt,
3166
3274
  gC as MxCADUiPrKeyWord,
3167
- z as MxCADUiPrPoint,
3168
- wC as MxCADUiPrString,
3275
+ G as MxCADUiPrPoint,
3276
+ fC as MxCADUiPrString,
3169
3277
  U as MxCADUtility,
3170
- zD as MxCADUtilityClass,
3171
- i as MxCpp,
3172
- ND as MxCppType,
3173
- Z as MxDraw3d,
3174
- Y as MxTools,
3175
- DC as Mx_Erase,
3278
+ KD as MxCADUtilityClass,
3279
+ n as MxCpp,
3280
+ qD as MxCppType,
3281
+ J as MxDraw3d,
3282
+ Q as MxTools,
3283
+ BC as Mx_Erase,
3176
3284
  RD as b64Decode,
3177
3285
  kD as b64Encode,
3178
- RC as createMxCad,
3179
- D9 as default,
3180
- OD as downloadFile,
3181
- LD as downloadFileFromUrl,
3182
- QD as drawArc,
3183
- ZD as drawCircle,
3184
- XD as drawEllipticalArc,
3185
- $D as drawLine,
3186
- vC as drawMText,
3187
- JD as drawPolyLine,
3188
- YD as drawPolygon,
3189
- SC as drawText,
3190
- _ as getFilterImp,
3191
- qD as loadMxCADassembly,
3192
- QC as loadMxCADassembly3d,
3193
- SD as saveAsFileDialog
3286
+ OC as createMxCad,
3287
+ B9 as default,
3288
+ LD as downloadFile,
3289
+ vD as downloadFileFromUrl,
3290
+ DC as drawArc,
3291
+ JD as drawCircle,
3292
+ CC as drawEllipticalArc,
3293
+ YD as drawLine,
3294
+ IC as drawMText,
3295
+ QD as drawPolyLine,
3296
+ XD as drawPolygon,
3297
+ LC as drawText,
3298
+ K as getFilterImp,
3299
+ $D as loadMxCADassembly,
3300
+ D9 as loadMxCADassembly3d,
3301
+ OD as saveAsFileDialog
3194
3302
  };