mxcad 1.0.70 → 1.0.72

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 qD, MrxDbgUtils as _D, store as uD, loadCoreCode as $D, MxPaintBrush as L, MrxDbgUiPrBaseReturn as x, MxDbCircleShape as lD, MxDbLine as J, MxDbPolyline as JD, MxDbCircleArc as $, Mx3PointArc as ZD, MxDbEllipseShape as YD, McEdGetPointWorldDrawObject as QD, MxDbEllipse as XD } from "mxdraw";
2
- function cD(E) {
1
+ import { MxFun as h, MrxDbgUiPrPoint as k, MxCursorType as lD, MrxDbgUtils as cD, DynamicInputType as ZD, DetailedResult as X, store as mD, loadCoreCode as YD, MxPaintBrush as L, MrxDbgUiPrBaseReturn as x, MxDbCircleShape as pD, MxDbLine as J, MxDbPolyline as QD, MxDbCircleArc as $, Mx3PointArc as XD, MxDbEllipseShape as DC, McEdGetPointWorldDrawObject as CC, MxDbEllipse as BC } from "mxdraw";
2
+ function dD(E) {
3
3
  return btoa(unescape(encodeURIComponent(E)));
4
4
  }
5
- function mD(E) {
5
+ function hD(E) {
6
6
  return decodeURIComponent(escape(atob(E)));
7
7
  }
8
- async function pD({
8
+ async function wD({
9
9
  blob: E,
10
10
  filename: D = "",
11
11
  types: C = [
@@ -46,24 +46,24 @@ async function pD({
46
46
  console.error(B.name, B.message);
47
47
  }
48
48
  }
49
- function dD(E, D) {
49
+ function yD(E, D) {
50
50
  const C = document.createElement("a");
51
51
  C.href = window.URL.createObjectURL(E), C.download = D, C.click();
52
52
  }
53
- function hD(E, D) {
53
+ function gD(E, D) {
54
54
  fetch(E).then((C) => C.blob()).then((C) => {
55
55
  const B = document.createElement("a");
56
56
  B.href = window.URL.createObjectURL(C), B.download = D, B.click();
57
57
  });
58
58
  }
59
59
  const _ = {
60
- b64Encode: cD,
61
- b64Decode: mD,
62
- saveAsFileDialog: pD,
63
- downloadFile: dD,
64
- downloadFileFromUrl: hD
60
+ b64Encode: dD,
61
+ b64Decode: hD,
62
+ saveAsFileDialog: wD,
63
+ downloadFile: yD,
64
+ downloadFileFromUrl: gD
65
65
  };
66
- class DC {
66
+ class EC {
67
67
  z = "D2BBB6A18140C6DF814181428143CDF2D5C9C8FDC9CFCFC2D8A2B2BBD3EB8144D8A4B3F38145D7A8C7D2D8A7CAC08146C7F0B1FBD2B5B4D4B6ABCBBFD8A9814781488149B6AA814AC1BDD1CF814BC9A5D8AD814CB8F6D1BEE3DCD6D0814D814EB7E1814FB4AE8150C1D98151D8BC8152CDE8B5A4CEAAD6F78153C0F6BED9D8AF815481558156C4CB8157BEC38158D8B1C3B4D2E58159D6AECEDAD5A7BAF5B7A6C0D6815AC6B9C5D2C7C7815BB9D4815CB3CBD2D2815D815ED8BFBEC5C6F2D2B2CFB0CFE7815F816081618162CAE981638164D8C081658166816781688169816AC2F2C2D2816BC8E9816C816D816E816F817081718172817381748175C7AC8176817781788179817A817B817CC1CB817DD3E8D5F9817ECAC2B6FED8A1D3DABFF78180D4C6BBA5D8C1CEE5BEAE81818182D8A88183D1C7D0A9818481858186D8BDD9EFCDF6BFBA8187BDBBBAA5D2E0B2FABAE0C4B68188CFEDBEA9CDA4C1C18189818A818BC7D7D9F1818CD9F4818D818E818F8190C8CBD8E9819181928193D2DACAB2C8CAD8ECD8EAD8C6BDF6C6CDB3F08194D8EBBDF1BDE98195C8D4B4D381968197C2D88198B2D6D7D0CACBCBFBD5CCB8B6CFC98199819A819BD9DAD8F0C7AA819CD8EE819DB4FAC1EED2D4819E819FD8ED81A0D2C7D8EFC3C781A181A281A3D1F681A4D6D9D8F281A5D8F5BCFEBCDB81A681A781A8C8CE81A9B7DD81AAB7C281ABC6F381AC81AD81AE81AF81B081B181B2D8F8D2C181B381B4CEE9BCBFB7FCB7A5D0DD81B581B681B781B881B9D6DAD3C5BBEFBBE1D8F181BA81BBC9A1CEB0B4AB81BCD8F381BDC9CBD8F6C2D7D8F781BE81BFCEB1D8F981C081C181C2B2AEB9C081C3D9A381C4B0E981C5C1E681C6C9EC81C7CBC581C8CBC6D9A481C981CA81CB81CC81CDB5E881CE81CFB5AB81D081D181D281D381D481D5CEBBB5CDD7A1D7F4D3D381D6CCE581D7BACE81D8D9A2D9DCD3E0D8FDB7F0D7F7D8FED8FAD9A1C4E381D981DAD3B6D8F4D9DD81DBD8FB81DCC5E581DD81DEC0D081DF81E0D1F0B0DB81E181E2BCD1D9A681E3D9A581E481E581E681E7D9ACD9AE81E8D9ABCAB981E981EA81EBD9A9D6B681EC81ED81EEB3DED9A881EFC0FD81F0CACC81F1D9AA81F2D9A781F381F4D9B081F581F6B6B181F781F881F9B9A981FAD2C081FB81FCCFC081FD81FEC2C28240BDC4D5ECB2E0C7C8BFEBD9AD8241D9AF8242CEEABAEE82438244824582468247C7D682488249824A824B824C824D824E824F8250B1E3825182528253B4D9B6EDD9B48254825582568257BFA182588259825AD9DEC7CEC0FED9B8825B825C825D825E825FCBD7B7FD8260D9B58261D9B7B1A3D3E1D9B98262D0C58263D9B682648265D9B18266D9B2C1A9D9B382678268BCF3D0DEB8A98269BEE3826AD9BD826B826C826D826ED9BA826FB0B3827082718272D9C28273827482758276827782788279827A827B827C827D827E8280D9C4B1B68281D9BF82828283B5B98284BEF3828582868287CCC8BAF2D2D08288D9C38289828ABDE8828BB3AB828C828D828ED9C5BEEB828FD9C6D9BBC4DF8290D9BED9C1D9C0829182928293829482958296829782988299829A829BD5AE829CD6B5829DC7E3829E829F82A082A1D9C882A282A382A4BCD9D9CA82A582A682A7D9BC82A8D9CBC6AB82A982AA82AB82AC82ADD9C982AE82AF82B082B1D7F682B2CDA382B382B482B582B682B782B882B982BABDA182BB82BC82BD82BE82BF82C0D9CC82C182C282C382C482C582C682C782C882C9C5BCCDB582CA82CB82CCD9CD82CD82CED9C7B3A5BFFE82CF82D082D182D2B8B582D382D4C0FC82D582D682D782D8B0F882D982DA82DB82DC82DD82DE82DF82E082E182E282E382E482E582E682E782E882E982EA82EB82EC82EDB4F682EED9CE82EFD9CFB4A2D9D082F082F1B4DF82F282F382F482F582F6B0C182F782F882F982FA82FB82FC82FDD9D1C9B582FE8340834183428343834483458346834783488349834A834B834C834D834E834F83508351CFF1835283538354835583568357D9D283588359835AC1C5835B835C835D835E835F836083618362836383648365D9D6C9AE8366836783688369D9D5D9D4D9D7836A836B836C836DCBDB836EBDA9836F8370837183728373C6A7837483758376837783788379837A837B837C837DD9D3D9D8837E83808381D9D9838283838384838583868387C8E583888389838A838B838C838D838E838F839083918392839383948395C0DC8396839783988399839A839B839C839D839E839F83A083A183A283A383A483A583A683A783A883A983AA83AB83AC83AD83AE83AF83B083B183B2B6F9D8A3D4CA83B3D4AAD0D6B3E4D5D783B4CFC8B9E283B5BFCB83B6C3E283B783B883B9B6D283BA83BBCDC3D9EED9F083BC83BD83BEB5B383BFB6B583C083C183C283C383C4BEA483C583C6C8EB83C783C8C8AB83C983CAB0CBB9ABC1F9D9E283CBC0BCB9B283CCB9D8D0CBB1F8C6E4BEDFB5E4D7C883CDD1F8BCE6CADE83CE83CFBCBDD9E6D8E783D083D1C4DA83D283D3B8D4C8BD83D483D5B2E1D4D983D683D783D883D9C3B083DA83DBC3E1DAA2C8DF83DCD0B483DDBEFCC5A983DE83DF83E0B9DA83E1DAA383E2D4A9DAA483E383E483E583E683E7D9FBB6AC83E883E9B7EBB1F9D9FCB3E5BEF683EABFF6D2B1C0E483EB83EC83EDB6B3D9FED9FD83EE83EFBEBB83F083F183F2C6E083F3D7BCDAA183F4C1B983F5B5F2C1E883F683F7BCF583F8B4D583F983FA83FB83FC83FD83FE844084418442C1DD8443C4FD84448445BCB8B7B284468447B7EF84488449844A844B844C844DD9EC844EC6BE844FBFADBBCB84508451B5CA8452DBC9D0D78453CDB9B0BCB3F6BBF7DBCABAAF8454D4E4B5B6B5F3D8D6C8D084558456B7D6C7D0D8D78457BFAF84588459DBBBD8D8845A845BD0CCBBAE845C845D845EEBBEC1D0C1F5D4F2B8D5B4B4845FB3F584608461C9BE846284638464C5D0846584668467C5D9C0FB8468B1F08469D8D9B9CE846AB5BD846B846CD8DA846D846ED6C6CBA2C8AFC9B2B4CCBFCC846FB9F48470D8DBD8DCB6E7BCC1CCEA847184728473847484758476CFF78477D8DDC7B084788479B9D0BDA3847A847BCCDE847CC6CA847D847E848084818482D8E08483D8DE84848485D8DF848684878488B0FE8489BEE7848ACAA3BCF4848B848C848D848EB8B1848F8490B8EE849184928493849484958496849784988499849AD8E2849BBDCB849CD8E4D8E3849D849E849F84A084A1C5FC84A284A384A484A584A684A784A8D8E584A984AAD8E684AB84AC84AD84AE84AF84B084B1C1A684B2C8B0B0ECB9A6BCD3CEF1DBBDC1D384B384B484B584B6B6AFD6FAC5ACBDD9DBBEDBBF84B784B884B9C0F8BEA2C0CD84BA84BB84BC84BD84BE84BF84C084C184C284C3DBC0CAC684C484C584C6B2AA84C784C884C9D3C284CAC3E384CBD1AB84CC84CD84CE84CFDBC284D0C0D584D184D284D3DBC384D4BFB184D584D684D784D884D984DAC4BC84DB84DC84DD84DEC7DA84DF84E084E184E284E384E484E584E684E784E884E9DBC484EA84EB84EC84ED84EE84EF84F084F1D9E8C9D784F284F384F4B9B4CEF0D4C884F584F684F784F8B0FCB4D284F9D0D984FA84FB84FC84FDD9E984FEDECBD9EB8540854185428543D8B0BBAFB1B18544B3D7D8CE85458546D4D185478548BDB3BFEF8549CFBB854A854BD8D0854C854D854EB7CB854F85508551D8D185528553855485558556855785588559855A855BC6A5C7F8D2BD855C855DD8D2C4E4855ECAAE855FC7A78560D8A68561C9FDCEE7BBDCB0EB856285638564BBAAD0AD8565B1B0D7E4D7BF8566B5A5C2F4C4CF85678568B2A98569B2B7856AB1E5DFB2D5BCBFA8C2ACD8D5C2B1856BD8D4CED4856CDAE0856DCEC0856E856FD8B4C3AED3A1CEA38570BCB4C8B4C2D18571BEEDD0B68572DAE18573857485758576C7E485778578B3A78579B6F2CCFCC0FA857A857BC0F7857CD1B9D1E1D8C7857D857E85808581858285838584B2DE85858586C0E58587BAF185888589D8C8858AD4AD858B858CCFE1D8C9858DD8CACFC3858EB3F8BEC7858F859085918592D8CB8593859485958596859785988599DBCC859A859B859C859DC8A5859E859F85A0CFD885A1C8FEB2CE85A285A385A485A585A6D3D6B2E6BCB0D3D1CBABB7B485A785A885A9B7A285AA85ABCAE585ACC8A1CADCB1E4D0F085ADC5D185AE85AF85B0DBC5B5FE85B185B2BFDAB9C5BEE4C1ED85B3DFB6DFB5D6BBBDD0D5D9B0C8B6A3BFC9CCA8DFB3CAB7D3D285B4D8CFD2B6BAC5CBBECCBE85B5DFB7B5F0DFB485B685B785B8D3F585B9B3D4B8F785BADFBA85BBBACFBCAAB5F585BCCDACC3FBBAF3C0F4CDC2CFF2DFB8CFC585BDC2C0DFB9C2F085BE85BF85C0BEFD85C1C1DFCDCCD2F7B7CDDFC185C2DFC485C385C4B7F1B0C9B6D6B7D485C5BAACCCFDBFD4CBB1C6F485C6D6A8DFC585C7CEE2B3B385C885C9CEFCB4B585CACEC7BAF085CBCEE185CCD1BD85CD85CEDFC085CF85D0B4F485D1B3CA85D2B8E6DFBB85D385D485D585D6C4C585D7DFBCDFBDDFBEC5BBDFBFDFC2D4B1DFC385D8C7BACED885D985DA85DB85DC85DDC4D885DEDFCA85DFDFCF85E0D6DC85E185E285E385E485E585E685E785E8DFC9DFDACEB685E9BAC7DFCEDFC8C5DE85EA85EBC9EBBAF4C3FC85EC85EDBED785EEDFC685EFDFCD85F0C5D885F185F285F385F4D5A6BACD85F5BECCD3BDB8C085F6D6E485F7DFC7B9BEBFA785F885F9C1FCDFCBDFCC85FADFD085FB85FC85FD85FE8640DFDBDFE58641DFD7DFD6D7C9DFE3DFE4E5EBD2A7DFD28642BFA98643D4DB8644BFC8DFD4864586468647CFCC86488649DFDD864AD1CA864BDFDEB0A7C6B7DFD3864CBAE5864DB6DFCDDBB9FED4D5864E864FDFDFCFECB0A5DFE7DFD1D1C6DFD5DFD8DFD9DFDC8650BBA98651DFE0DFE18652DFE2DFE6DFE8D3B486538654865586568657B8E7C5B6DFEAC9DAC1A8C4C486588659BFDECFF8865A865B865CD5DCDFEE865D865E865F866086618662B2B88663BADFDFEC8664DBC18665D1E48666866786688669CBF4B4BD866AB0A6866B866C866D866E866FDFF1CCC6DFF286708671DFED867286738674867586768677DFE986788679867A867BDFEB867CDFEFDFF0BBBD867D867EDFF386808681DFF48682BBA38683CADBCEA8E0A7B3AA8684E0A6868586868687E0A186888689868A868BDFFE868CCDD9DFFC868DDFFA868EBFD0D7C4868FC9CC86908691DFF8B0A186928693869486958696DFFD869786988699869ADFFBE0A2869B869C869D869E869FE0A886A086A186A286A3B7C886A486A5C6A1C9B6C0B2DFF586A686A7C5BE86A8D8C4DFF9C4F686A986AA86AB86AC86AD86AEE0A3E0A4E0A5D0A586AF86B0E0B4CCE486B1E0B186B2BFA6E0AFCEB9E0ABC9C686B386B4C0AEE0AEBAEDBAB0E0A986B586B686B7DFF686B8E0B386B986BAE0B886BB86BC86BDB4ADE0B986BE86BFCFB2BAC886C0E0B086C186C286C386C486C586C686C7D0FA86C886C986CA86CB86CC86CD86CE86CF86D0E0AC86D1D4FB86D2DFF786D3C5E786D4E0AD86D5D3F786D6E0B6E0B786D786D886D986DA86DBE0C4D0E186DC86DD86DEE0BC86DF86E0E0C9E0CA86E186E286E3E0BEE0AAC9A4E0C186E4E0B286E586E686E786E886E9CAC8E0C386EAE0B586EBCECB86ECCBC3E0CDE0C6E0C286EDE0CB86EEE0BAE0BFE0C086EF86F0E0C586F186F2E0C7E0C886F3E0CC86F4E0BB86F586F686F786F886F9CBD4E0D586FAE0D6E0D286FB86FC86FD86FE87408741E0D0BCCE87428743E0D18744B8C2D8C587458746874787488749874A874B874CD0EA874D874EC2EF874F8750E0CFE0BD875187528753E0D4E0D387548755E0D78756875787588759E0DCE0D8875A875B875CD6F6B3B0875DD7EC875ECBBB875F8760E0DA8761CEFB876287638764BAD987658766876787688769876A876B876C876D876E876F8770E0E1E0DDD2AD87718772877387748775E0E287768777E0DBE0D9E0DF87788779E0E0877A877B877C877D877EE0DE8780E0E4878187828783C6F7D8ACD4EBE0E6CAC98784878587868787E0E587888789878A878BB8C1878C878D878E878FE0E7E0E887908791879287938794879587968797E0E9E0E387988799879A879B879C879D879EBABFCCE7879F87A087A1E0EA87A287A387A487A587A687A787A887A987AA87AB87AC87AD87AE87AF87B0CFF987B187B287B387B487B587B687B787B887B987BA87BBE0EB87BC87BD87BE87BF87C087C187C2C8C287C387C487C587C6BDC087C787C887C987CA87CB87CC87CD87CE87CF87D087D187D287D3C4D287D487D587D687D787D887D987DA87DB87DCE0EC87DD87DEE0ED87DF87E0C7F4CBC487E1E0EEBBD8D8B6D2F2E0EFCDC587E2B6DA87E387E487E587E687E787E8E0F187E9D4B087EA87EBC0A7B4D187EC87EDCEA7E0F087EE87EF87F0E0F2B9CC87F187F2B9FACDBCE0F387F387F487F5C6D4E0F487F6D4B287F7C8A6E0F6E0F587F887F987FA87FB87FC87FD87FE8840884188428843884488458846884788488849E0F7884A884BCDC1884C884D884ECAA5884F885088518852D4DADBD7DBD98853DBD8B9E7DBDCDBDDB5D888548855DBDA8856885788588859885ADBDBB3A1DBDF885B885CBBF8885DD6B7885EDBE0885F886088618862BEF988638864B7BB8865DBD0CCAEBFB2BBB5D7F8BFD38866886788688869886ABFE9886B886CBCE1CCB3DBDEB0D3CEEBB7D8D7B9C6C2886D886EC0A4886FCCB98870DBE7DBE1C6BADBE38871DBE88872C5F7887388748875DBEA88768877DBE9BFC088788879887ADBE6DBE5887B887C887D887E8880B4B9C0ACC2A2DBE2DBE48881888288838884D0CDDBED88858886888788888889C0DDDBF2888A888B888C888D888E888F8890B6E28891889288938894DBF3DBD2B9B8D4ABDBEC8895BFD1DBF08896DBD18897B5E68898DBEBBFE58899889A889BDBEE889CDBF1889D889E889FDBF988A088A188A288A388A488A588A688A788A8B9A1B0A388A988AA88AB88AC88AD88AE88AFC2F188B088B1B3C7DBEF88B288B3DBF888B4C6D2DBF488B588B6DBF5DBF7DBF688B788B8DBFE88B9D3F2B2BA88BA88BB88BCDBFD88BD88BE88BF88C088C188C288C388C4DCA488C5DBFB88C688C788C888C9DBFA88CA88CB88CCDBFCC5E0BBF988CD88CEDCA388CF88D0DCA588D1CCC388D288D388D4B6D1DDC088D588D688D7DCA188D8DCA288D988DA88DBC7B588DC88DD88DEB6E988DF88E088E1DCA788E288E388E488E5DCA688E6DCA9B1A488E788E8B5CC88E988EA88EB88EC88EDBFB088EE88EF88F088F188F2D1DF88F388F488F588F6B6C288F788F888F988FA88FB88FC88FD88FE894089418942894389448945DCA88946894789488949894A894B894CCBFAEBF3894D894E894FCBDC89508951CBFE895289538954CCC189558956895789588959C8FB895A895B895C895D895E895FDCAA89608961896289638964CCEEDCAB89658966896789688969896A896B896C896D896E896F897089718972897389748975DBD38976DCAFDCAC8977BEB38978CAFB8979897A897BDCAD897C897D897E89808981898289838984C9CAC4B989858986898789888989C7BDDCAE898A898B898CD4F6D0E6898D898E898F89908991899289938994C4ABB6D589958996899789988999899A899B899C899D899E899F89A089A189A289A389A489A589A6DBD489A789A889A989AAB1DA89AB89AC89ADDBD589AE89AF89B089B189B289B389B489B589B689B789B8DBD689B989BA89BBBABE89BC89BD89BE89BF89C089C189C289C389C489C589C689C789C889C9C8C089CA89CB89CC89CD89CE89CFCABFC8C989D0D7B389D1C9F989D289D3BFC789D489D5BAF889D689D7D2BC89D889D989DA89DB89DC89DD89DE89DFE2BA89E0B4A689E189E2B1B889E389E489E589E689E7B8B489E8CFC489E989EA89EB89ECD9E7CFA6CDE289ED89EED9EDB6E089EFD2B989F089F1B9BB89F289F389F489F5E2B9E2B789F6B4F389F7CCECCCABB7F289F8D8B2D1EBBABB89F9CAA789FA89FBCDB789FC89FDD2C4BFE4BCD0B6E189FEDEC58A408A418A428A43DEC6DBBC8A44D1D98A458A46C6E6C4CEB7EE8A47B7DC8A488A49BFFCD7E08A4AC6F58A4B8A4CB1BCDEC8BDB1CCD7DECA8A4DDEC98A4E8A4F8A508A518A52B5EC8A53C9DD8A548A55B0C28A568A578A588A598A5A8A5B8A5C8A5D8A5E8A5F8A608A618A62C5AEC5AB8A63C4CC8A64BCE9CBFD8A658A668A67BAC38A688A698A6AE5F9C8E7E5FACDFD8A6BD7B1B8BEC2E88A6CC8D18A6D8A6EE5FB8A6F8A708A718A72B6CABCCB8A738A74D1FDE6A18A75C3EE8A768A778A788A79E6A48A7A8A7B8A7C8A7DE5FEE6A5CDD78A7E8A80B7C1E5FCE5FDE6A38A818A82C4DDE6A88A838A84E6A78A858A868A878A888A898A8AC3C38A8BC6DE8A8C8A8DE6AA8A8E8A8F8A908A918A928A938A94C4B78A958A968A97E6A2CABC8A988A998A9A8A9BBDE3B9C3E6A6D0D5CEAF8A9C8A9DE6A9E6B08A9ED2A68A9FBDAAE6AD8AA08AA18AA28AA38AA4E6AF8AA5C0D18AA68AA7D2CC8AA88AA98AAABCA78AAB8AAC8AAD8AAE8AAF8AB08AB18AB28AB38AB48AB58AB6E6B18AB7D2F68AB88AB98ABAD7CB8ABBCDFE8ABCCDDEC2A6E6ABE6ACBDBFE6AEE6B38ABD8ABEE6B28ABF8AC08AC18AC2E6B68AC3E6B88AC48AC58AC68AC7C4EF8AC88AC98ACAC4C88ACB8ACCBEEAC9EF8ACD8ACEE6B78ACFB6F08AD08AD18AD2C3E48AD38AD48AD58AD68AD78AD88AD9D3E9E6B48ADAE6B58ADBC8A28ADC8ADD8ADE8ADF8AE0E6BD8AE18AE28AE3E6B98AE48AE58AE68AE78AE8C6C58AE98AEACDF1E6BB8AEB8AEC8AED8AEE8AEF8AF08AF18AF28AF38AF4E6BC8AF58AF68AF78AF8BBE98AF98AFA8AFB8AFC8AFD8AFE8B40E6BE8B418B428B438B44E6BA8B458B46C0B78B478B488B498B4A8B4B8B4C8B4D8B4E8B4FD3A4E6BFC9F4E6C38B508B51E6C48B528B538B548B55D0F68B568B578B588B598B5A8B5B8B5C8B5D8B5E8B5F8B608B618B628B638B648B658B668B67C3BD8B688B698B6A8B6B8B6C8B6D8B6EC3C4E6C28B6F8B708B718B728B738B748B758B768B778B788B798B7A8B7B8B7CE6C18B7D8B7E8B808B818B828B838B84E6C7CFB18B85EBF48B868B87E6CA8B888B898B8A8B8B8B8CE6C58B8D8B8EBCDEC9A98B8F8B908B918B928B938B94BCB58B958B96CFD38B978B988B998B9A8B9BE6C88B9CE6C98B9DE6CE8B9EE6D08B9F8BA08BA1E6D18BA28BA38BA4E6CBB5D58BA5E6CC8BA68BA7E6CF8BA88BA9C4DB8BAAE6C68BAB8BAC8BAD8BAE8BAFE6CD8BB08BB18BB28BB38BB48BB58BB68BB78BB88BB98BBA8BBB8BBC8BBD8BBE8BBF8BC08BC18BC28BC38BC48BC58BC6E6D28BC78BC88BC98BCA8BCB8BCC8BCD8BCE8BCF8BD08BD18BD2E6D4E6D38BD38BD48BD58BD68BD78BD88BD98BDA8BDB8BDC8BDD8BDE8BDF8BE08BE18BE28BE38BE48BE58BE68BE78BE88BE98BEA8BEB8BECE6D58BEDD9F88BEE8BEFE6D68BF08BF18BF28BF38BF48BF58BF68BF7E6D78BF88BF98BFA8BFB8BFC8BFD8BFE8C408C418C428C438C448C458C468C47D7D3E6DD8C48E6DEBFD7D4D08C49D7D6B4E6CBEFE6DAD8C3D7CED0A28C4AC3CF8C4B8C4CE6DFBCBEB9C2E6DBD1A78C4D8C4EBAA2C2CF8C4FD8AB8C508C518C52CAEBE5EE8C53E6DC8C54B7F58C558C568C578C58C8E68C598C5AC4F58C5B8C5CE5B2C4FE8C5DCBFCE5B3D5AC8C5ED3EECAD8B0B28C5FCBCECDEA8C608C61BAEA8C628C638C64E5B58C65E5B48C66D7DAB9D9D6E6B6A8CDF0D2CBB1A6CAB58C67B3E8C9F3BFCDD0FBCAD2E5B6BBC28C688C698C6ACFDCB9AC8C6B8C6C8C6D8C6ED4D78C6F8C70BAA6D1E7CFFCBCD28C71E5B7C8DD8C728C738C74BFEDB1F6CBDE8C758C76BCC58C77BCC4D2FAC3DCBFDC8C788C798C7A8C7BB8BB8C7C8C7D8C7EC3C28C80BAAED4A28C818C828C838C848C858C868C878C888C89C7DEC4AFB2EC8C8AB9D18C8B8C8CE5BBC1C88C8D8C8ED5AF8C8F8C908C918C928C93E5BC8C94E5BE8C958C968C978C988C998C9A8C9BB4E7B6D4CBC2D1B0B5BC8C9C8C9DCAD98C9EB7E28C9F8CA0C9E48CA1BDAB8CA28CA3CEBED7F08CA48CA58CA68CA7D0A18CA8C9D98CA98CAAB6FBE6D8BCE28CABB3BE8CACC9D08CADE6D9B3A28CAE8CAF8CB08CB1DECC8CB2D3C8DECD8CB3D2A28CB48CB58CB68CB7DECE8CB88CB98CBA8CBBBECD8CBC8CBDDECF8CBE8CBF8CC0CAACD2FCB3DFE5EAC4E1BEA1CEB2C4F2BED6C6A8B2E38CC18CC2BED38CC38CC4C7FCCCEBBDECCEDD8CC58CC6CABAC6C1E5ECD0BC8CC78CC88CC9D5B98CCA8CCB8CCCE5ED8CCD8CCE8CCF8CD0CAF48CD1CDC0C2C58CD2E5EF8CD3C2C4E5F08CD48CD58CD68CD78CD88CD98CDAE5F8CDCD8CDBC9BD8CDC8CDD8CDE8CDF8CE08CE18CE2D2D9E1A88CE38CE48CE58CE6D3EC8CE7CBEAC6F18CE88CE98CEA8CEB8CECE1AC8CED8CEE8CEFE1A7E1A98CF08CF1E1AAE1AF8CF28CF3B2ED8CF4E1ABB8DAE1ADE1AEE1B0B5BAE1B18CF58CF68CF78CF88CF9E1B3E1B88CFA8CFB8CFC8CFD8CFED1D28D40E1B6E1B5C1EB8D418D428D43E1B78D44D4C08D45E1B28D46E1BAB0B68D478D488D498D4AE1B48D4BBFF98D4CE1B98D4D8D4EE1BB8D4F8D508D518D528D538D54E1BE8D558D568D578D588D598D5AE1BC8D5B8D5C8D5D8D5E8D5F8D60D6C58D618D628D638D648D658D668D67CFBF8D688D69E1BDE1BFC2CD8D6AB6EB8D6BD3F88D6C8D6DC7CD8D6E8D6FB7E58D708D718D728D738D748D758D768D778D788D79BEFE8D7A8D7B8D7C8D7D8D7E8D80E1C0E1C18D818D82E1C7B3E78D838D848D858D868D878D88C6E98D898D8A8D8B8D8C8D8DB4DE8D8ED1C28D8F8D908D918D92E1C88D938D94E1C68D958D968D978D988D99E1C58D9AE1C3E1C28D9BB1C08D9C8D9D8D9ED5B8E1C48D9F8DA08DA18DA28DA3E1CB8DA48DA58DA68DA78DA88DA98DAA8DABE1CCE1CA8DAC8DAD8DAE8DAF8DB08DB18DB28DB3EFFA8DB48DB5E1D3E1D2C7B68DB68DB78DB88DB98DBA8DBB8DBC8DBD8DBE8DBF8DC0E1C98DC18DC2E1CE8DC3E1D08DC48DC58DC68DC78DC88DC98DCA8DCB8DCC8DCD8DCEE1D48DCFE1D1E1CD8DD08DD1E1CF8DD28DD38DD48DD5E1D58DD68DD78DD88DD98DDA8DDB8DDC8DDD8DDE8DDF8DE08DE18DE2E1D68DE38DE48DE58DE68DE78DE88DE98DEA8DEB8DEC8DED8DEE8DEF8DF08DF18DF28DF38DF48DF58DF68DF78DF8E1D78DF98DFA8DFBE1D88DFC8DFD8DFE8E408E418E428E438E448E458E468E478E488E498E4A8E4B8E4C8E4D8E4E8E4F8E508E518E528E538E548E55E1DA8E568E578E588E598E5A8E5B8E5C8E5D8E5E8E5F8E608E618E62E1DB8E638E648E658E668E678E688E69CEA18E6A8E6B8E6C8E6D8E6E8E6F8E708E718E728E738E748E758E76E7DD8E77B4A8D6DD8E788E79D1B2B3B28E7A8E7BB9A4D7F3C7C9BEDEB9AE8E7CCED78E7D8E7EB2EEDBCF8E80BCBAD2D1CBC8B0CD8E818E82CFEF8E838E848E858E868E87D9E3BDED8E888E89B1D2CAD0B2BC8E8ACBA7B7AB8E8BCAA68E8C8E8D8E8ECFA38E8F8E90E0F8D5CAE0FB8E918E92E0FAC5C1CCFB8E93C1B1E0F9D6E3B2AFD6C4B5DB8E948E958E968E978E988E998E9A8E9BB4F8D6A18E9C8E9D8E9E8E9F8EA0CFAFB0EF8EA18EA2E0FC8EA38EA48EA58EA68EA7E1A1B3A38EA88EA9E0FDE0FEC3B18EAA8EAB8EAC8EADC3DD8EAEE1A2B7F98EAF8EB08EB18EB28EB38EB4BBCF8EB58EB68EB78EB88EB98EBA8EBBE1A3C4BB8EBC8EBD8EBE8EBF8EC0E1A48EC18EC2E1A58EC38EC4E1A6B4B18EC58EC68EC78EC88EC98ECA8ECB8ECC8ECD8ECE8ECF8ED08ED18ED28ED3B8C9C6BDC4EA8ED4B2A28ED5D0D28ED6E7DBBBC3D3D7D3C48ED7B9E3E2CF8ED88ED98EDAD7AF8EDBC7ECB1D38EDC8EDDB4B2E2D18EDE8EDF8EE0D0F2C2AEE2D08EE1BFE2D3A6B5D7E2D2B5EA8EE2C3EDB8FD8EE3B8AE8EE4C5D3B7CFE2D48EE58EE68EE78EE8E2D3B6C8D7F98EE98EEA8EEB8EEC8EEDCDA58EEE8EEF8EF08EF18EF2E2D88EF3E2D6CAFCBFB5D3B9E2D58EF48EF58EF68EF7E2D78EF88EF98EFA8EFB8EFC8EFD8EFE8F408F418F42C1AEC0C88F438F448F458F468F478F48E2DBE2DAC0AA8F498F4AC1CE8F4B8F4C8F4D8F4EE2DC8F4F8F508F518F528F538F548F558F568F578F588F598F5AE2DD8F5BE2DE8F5C8F5D8F5E8F5F8F608F618F628F638F64DBC88F65D1D3CDA28F668F67BDA88F688F698F6ADEC3D8A5BFAADBCDD2ECC6FAC5AA8F6B8F6C8F6DDEC48F6EB1D7DFAE8F6F8F708F71CABD8F72DFB18F73B9AD8F74D2FD8F75B8A5BAEB8F768F77B3DA8F788F798F7AB5DCD5C58F7B8F7C8F7D8F7EC3D6CFD2BBA18F80E5F3E5F28F818F82E5F48F83CDE48F84C8F58F858F868F878F888F898F8A8F8BB5AFC7BF8F8CE5F68F8D8F8E8F8FECB08F908F918F928F938F948F958F968F978F988F998F9A8F9B8F9C8F9D8F9EE5E68F9FB9E9B5B18FA0C2BCE5E8E5E7E5E98FA18FA28FA38FA4D2CD8FA58FA68FA7E1EAD0CE8FA8CDAE8FA9D1E58FAA8FABB2CAB1EB8FACB1F2C5ED8FAD8FAED5C3D3B08FAFE1DC8FB08FB18FB2E1DD8FB3D2DB8FB4B3B9B1CB8FB58FB68FB7CDF9D5F7E1DE8FB8BEB6B4FD8FB9E1DFBADCE1E0BBB2C2C9E1E18FBA8FBB8FBCD0EC8FBDCDBD8FBE8FBFE1E28FC0B5C3C5C7E1E38FC18FC2E1E48FC38FC48FC58FC6D3F98FC78FC88FC98FCA8FCB8FCCE1E58FCDD1AD8FCE8FCFE1E6CEA28FD08FD18FD28FD38FD48FD5E1E78FD6B5C28FD78FD88FD98FDAE1E8BBD58FDB8FDC8FDD8FDE8FDFD0C4E2E0B1D8D2E48FE08FE1E2E18FE28FE3BCC9C8CC8FE4E2E3ECFEECFDDFAF8FE58FE68FE7E2E2D6BECDFCC3A68FE88FE98FEAE3C38FEB8FECD6D2E2E78FED8FEEE2E88FEF8FF0D3C78FF18FF2E2ECBFEC8FF3E2EDE2E58FF48FF5B3C08FF68FF78FF8C4EE8FF98FFAE2EE8FFB8FFCD0C38FFDBAF6E2E9B7DEBBB3CCACCBCBE2E4E2E6E2EAE2EB8FFE90409041E2F790429043E2F4D4F5E2F390449045C5AD9046D5FAC5C2B2C090479048E2EF9049E2F2C1AFCBBC904A904BB5A1E2F9904C904D904EBCB1E2F1D0D4D4B9E2F5B9D6E2F6904F90509051C7D390529053905490559056E2F0905790589059905A905BD7DCEDA1905C905DE2F8905EEDA5E2FECAD1905F906090619062906390649065C1B59066BBD090679068BFD69069BAE3906A906BCBA1906C906D906EEDA6EDA3906F9070EDA29071907290739074BBD6EDA7D0F490759076EDA4BADEB6F7E3A1B6B2CCF1B9A79077CFA2C7A190789079BFD2907A907BB6F1907CE2FAE2FBE2FDE2FCC4D5E3A2907DD3C1907E90809081E3A7C7C49082908390849085CFA490869087E3A9BAB790889089908A908BE3A8908CBBDA908DE3A3908E908F9090E3A4E3AA9091E3A69092CEF2D3C690939094BBBC90959096D4C39097C4FA90989099EDA8D0FCE3A5909AC3F5909BE3ADB1AF909CE3B2909D909E909FBCC290A090A1E3ACB5BF90A290A390A490A590A690A790A890A9C7E9E3B090AA90AB90ACBEAACDEF90AD90AE90AF90B090B1BBF390B290B390B4CCE890B590B6E3AF90B7E3B190B8CFA7E3AE90B9CEA9BBDD90BA90BB90BC90BD90BEB5EBBEE5B2D2B3CD90BFB1B9E3ABB2D1B5ACB9DFB6E890C090C1CFEBE3B790C2BBCC90C390C4C8C7D0CA90C590C690C790C890C9E3B8B3EE90CA90CB90CC90CDEDA990CED3FAD3E490CF90D090D1EDAAE3B9D2E290D290D390D490D590D6E3B590D790D890D990DAD3DE90DB90DC90DD90DEB8D0E3B390DF90E0E3B6B7DF90E1E3B4C0A290E290E390E4E3BA90E590E690E790E890E990EA90EB90EC90ED90EE90EF90F090F190F290F390F490F590F690F7D4B890F890F990FA90FB90FC90FD90FE9140B4C89141E3BB9142BBC59143C9F791449145C9E5914691479148C4BD9149914A914B914C914D914E914FEDAB9150915191529153C2FD9154915591569157BBDBBFAE91589159915A915B915C915D915ECEBF915F916091619162E3BC9163BFB6916491659166916791689169916A916B916C916D916E916F9170917191729173917491759176B1EF91779178D4F79179917A917B917C917DE3BE917E9180918191829183918491859186EDAD918791889189918A918B918C918D918E918FE3BFBAA9EDAC91909191E3BD91929193919491959196919791989199919A919BE3C0919C919D919E919F91A091A1BAB691A291A391A4B6AE91A591A691A791A891A9D0B891AAB0C3EDAE91AB91AC91AD91AE91AFEDAFC0C191B0E3C191B191B291B391B491B591B691B791B891B991BA91BB91BC91BD91BE91BF91C091C1C5B391C291C391C491C591C691C791C891C991CA91CB91CC91CD91CE91CFE3C291D091D191D291D391D491D591D691D791D8DCB291D991DA91DB91DC91DD91DEEDB091DFB8EA91E0CEECEAA7D0E7CAF9C8D6CFB7B3C9CED2BDE491E191E2E3DEBBF2EAA8D5BD91E3C6DDEAA991E491E591E6EAAA91E7EAACEAAB91E8EAAEEAAD91E991EA91EB91ECBDD891EDEAAF91EEC2BE91EF91F091F191F2B4C1B4F791F391F4BBA791F591F691F791F891F9ECE6ECE5B7BFCBF9B1E291FAECE791FB91FC91FDC9C8ECE8ECE991FECAD6DED0B2C5D4FA92409241C6CBB0C7B4F2C8D3924292439244CDD092459246BFB8924792489249924A924B924C924DBFDB924E924FC7A4D6B49250C0A9DED1C9A8D1EFC5A4B0E7B3B6C8C592519252B0E292539254B7F692559256C5FA92579258B6F39259D5D2B3D0BCBC925A925B925CB3AD925D925E925F9260BEF1B0D1926192629263926492659266D2D6CAE3D7A59267CDB6B6B6BFB9D5DB9268B8A7C5D79269926A926BDED2BFD9C2D5C7C0926CBBA4B1A8926D926EC5EA926F9270C5FBCCA79271927292739274B1A7927592769277B5D692789279927AC4A8927BDED3D1BAB3E9927CC3F2927D927EB7F79280D6F4B5A3B2F0C4B4C4E9C0ADDED49281B0E8C5C4C1E09282B9D59283BEDCCDD8B0CE9284CDCFDED6BED0D7BEDED5D5D0B0DD92859286C4E292879288C2A3BCF09289D3B5C0B9C5A1B2A6D4F1928A928BC0A8CAC3DED7D5FC928CB9B0928DC8ADCBA9928EDED9BFBD928F929092919292C6B4D7A7CAB0C4C39293B3D6B9D29294929592969297D6B8EAFCB0B492989299929A929BBFE6929C929DCCF4929E929F92A092A1CDDA92A292A392A4D6BFC2CE92A5CECECCA2D0AEC4D3B5B2DED8D5F5BCB7BBD392A692A7B0A492A8C5B2B4EC92A992AA92ABD5F192AC92ADEAFD92AE92AF92B092B192B292B3DEDACDA692B492B5CDEC92B692B792B892B9CEE6DEDC92BACDB1C0A692BB92BCD7BD92BDDEDBB0C6BAB4C9D3C4F3BEE892BE92BF92C092C1B2B692C292C392C492C592C692C792C892C9C0CCCBF092CABCF1BBBBB5B792CB92CC92CDC5F592CEDEE692CF92D092D1DEE3BEDD92D292D3DEDF92D492D592D692D7B4B7BDDD92D892D9DEE0C4ED92DA92DB92DC92DDCFC692DEB5E092DF92E092E192E2B6DECADAB5F4DEE592E3D5C692E4DEE1CCCDC6FE92E5C5C592E692E792E8D2B492E9BEF292EA92EB92EC92ED92EE92EF92F0C2D392F1CCBDB3B892F2BDD392F3BFD8CDC6D1DAB4EB92F4DEE4DEDDDEE792F5EAFE92F692F7C2B0DEE292F892F9D6C0B5A792FAB2F492FBDEE892FCDEF292FD92FE934093419342DEED9343DEF193449345C8E0934693479348D7E1DEEFC3E8CCE19349B2E5934A934B934CD2BE934D934E934F9350935193529353DEEE9354DEEBCED59355B4A79356935793589359935ABFABBEBE935B935CBDD2935D935E935F9360DEE99361D4AE9362DEDE9363DEEA9364936593669367C0BF9368DEECB2F3B8E9C2A79369936ABDC1936B936C936D936E936FDEF5DEF893709371B2ABB4A493729373B4EAC9A6937493759376937793789379DEF6CBD1937AB8E3937BDEF7DEFA937C937D937E9380DEF9938193829383CCC29384B0E1B4EE93859386938793889389938AE5BA938B938C938D938E938FD0AF93909391B2EB9392EBA19393DEF493949395C9E3DEF3B0DAD2A1B1F79396CCAF939793989399939A939B939C939DDEF0939ECBA4939F93A093A1D5AA93A293A393A493A593A6DEFB93A793A893A993AA93AB93AC93AD93AEB4DD93AFC4A693B093B193B2DEFD93B393B493B593B693B793B893B993BA93BB93BCC3FEC4A1DFA193BD93BE93BF93C093C193C293C3C1CC93C4DEFCBEEF93C5C6B293C693C793C893C993CA93CB93CC93CD93CEB3C5C8F693CF93D0CBBADEFE93D193D2DFA493D393D493D593D6D7B293D793D893D993DA93DBB3B793DC93DD93DE93DFC1C393E093E1C7CBB2A5B4E993E2D7AB93E393E493E593E6C4EC93E7DFA2DFA393E8DFA593E9BAB393EA93EB93ECDFA693EDC0DE93EE93EFC9C393F093F193F293F393F493F593F6B2D9C7E693F7DFA793F8C7DC93F993FA93FB93FCDFA8EBA293FD93FE944094419442CBD3944394449445DFAA9446DFA99447B2C194489449944A944B944C944D944E944F9450945194529453945494559456945794589459945A945B945C945D945E945F9460C5CA94619462946394649465946694679468DFAB9469946A946B946C946D946E946F9470D4DC94719472947394749475C8C19476947794789479947A947B947C947D947E948094819482DFAC94839484948594869487BEF094889489DFADD6A7948A948B948C948DEAB7EBB6CAD5948ED8FCB8C4948FB9A594909491B7C5D5FE94929493949494959496B9CA94979498D0A7F4CD9499949AB5D0949B949CC3F4949DBEC8949E949F94A0EBB7B0BD94A194A2BDCC94A3C1B294A4B1D6B3A894A594A694A7B8D2C9A294A894A9B6D894AA94AB94AC94ADEBB8BEB494AE94AF94B0CAFD94B1C7C394B2D5FB94B394B4B7F394B594B694B794B894B994BA94BB94BC94BD94BE94BF94C094C194C294C3CEC494C494C594C6D5ABB1F394C794C894C9ECB3B0DF94CAECB594CB94CC94CDB6B794CEC1CF94CFF5FAD0B194D094D1D5E594D2CED394D394D4BDEFB3E294D5B8AB94D6D5B694D7EDBD94D8B6CF94D9CBB9D0C294DA94DB94DC94DD94DE94DF94E094E1B7BD94E294E3ECB6CAA994E494E594E6C5D494E7ECB9ECB8C2C3ECB794E894E994EA94EBD0FDECBA94ECECBBD7E594ED94EEECBC94EF94F094F1ECBDC6EC94F294F394F494F594F694F794F894F9CEDE94FABCC894FB94FCC8D5B5A9BEC9D6BCD4E794FD94FED1AED0F1EAB8EAB9EABABAB59540954195429543CAB1BFF595449545CDFA9546954795489549954AEAC0954BB0BAEABE954C954DC0A5954E954F9550EABB9551B2FD9552C3F7BBE8955395549555D2D7CEF4EABF955695579558EABC9559955A955BEAC3955CD0C7D3B3955D955E955F9560B4BA9561C3C1D7F29562956395649565D5D19566CAC79567EAC595689569EAC4EAC7EAC6956A956B956C956D956ED6E7956FCFD495709571EACB9572BBCE9573957495759576957795789579BDFAC9CE957A957BEACC957C957DC9B9CFFEEACAD4CEEACDEACF957E9580CDED9581958295839584EAC99585EACE95869587CEEE9588BBDE9589B3BF958A958B958C958D958EC6D5BEB0CEFA958F95909591C7E79592BEA7EAD095939594D6C7959595969597C1C095989599959AD4DD959BEAD1959C959DCFBE959E959F95A095A1EAD295A295A395A495A5CAEE95A695A795A895A9C5AFB0B595AA95AB95AC95AD95AEEAD495AF95B095B195B295B395B495B595B695B7EAD3F4DF95B895B995BA95BB95BCC4BA95BD95BE95BF95C095C1B1A995C295C395C495C5E5DF95C695C795C895C9EAD595CA95CB95CC95CD95CE95CF95D095D195D295D395D495D595D695D795D895D995DA95DB95DC95DD95DE95DF95E095E195E295E3CAEF95E4EAD6EAD7C6D895E595E695E795E895E995EA95EB95ECEAD895ED95EEEAD995EF95F095F195F295F395F4D4BB95F5C7FAD2B7B8FC95F695F7EAC295F8B2DC95F995FAC2FC95FBD4F8CCE6D7EE95FC95FD95FE9640964196429643D4C2D3D0EBC3C5F39644B7FE96459646EBD4964796489649CBB7EBDE964AC0CA964B964C964DCDFB964EB3AF964FC6DA965096519652965396549655EBFC9656C4BE9657CEB4C4A9B1BED4FD9658CAF59659D6EC965A965BC6D3B6E4965C965D965E965FBBFA96609661D0E096629663C9B19664D4D3C8A896659666B8CB9667E8BEC9BC96689669E8BB966AC0EED0D3B2C4B4E5966BE8BC966C966DD5C8966E966F967096719672B6C59673E8BDCAF8B8DCCCF5967496759676C0B496779678D1EEE8BFE8C29679967ABABC967BB1ADBDDC967CEABDE8C3967DE8C6967EE8CB9680968196829683E8CC9684CBC9B0E59685BCAB96869687B9B996889689E8C1968ACDF7968BE8CA968C968D968E968FCEF69690969196929693D5ED9694C1D6E8C49695C3B69696B9FBD6A6E8C8969796989699CAE0D4E6969AE8C0969BE8C5E8C7969CC7B9B7E3969DE8C9969EBFDDE8D2969F96A0E8D796A1E8D5BCDCBCCFE8DB96A296A396A496A596A696A796A896A9E8DE96AAE8DAB1FA96AB96AC96AD96AE96AF96B096B196B296B396B4B0D8C4B3B8CCC6E2C8BEC8E196B596B696B7E8CFE8D4E8D696B8B9F1E8D8D7F596B9C4FB96BAE8DC96BB96BCB2E996BD96BE96BFE8D196C096C1BCED96C296C3BFC2E8CDD6F996C4C1F8B2F196C596C696C796C896C996CA96CB96CCE8DF96CDCAC1E8D996CE96CF96D096D1D5A496D2B1EAD5BBE8CEE8D0B6B0E8D396D3E8DDC0B896D4CAF796D5CBA896D696D7C6DCC0F596D896D996DA96DB96DCE8E996DD96DE96DFD0A396E096E196E296E396E496E596E6E8F2D6EA96E796E896E996EA96EB96EC96EDE8E0E8E196EE96EF96F0D1F9BACBB8F996F196F2B8F1D4D4E8EF96F3E8EEE8ECB9F0CCD2E8E6CEA6BFF296F4B0B8E8F1E8F096F5D7C096F6E8E496F7CDA9C9A396F8BBB8BDDBE8EA96F996FA96FB96FC96FD96FE9740974197429743E8E2E8E3E8E5B5B5E8E7C7C5E8EBE8EDBDB0D7AE9744E8F897459746974797489749974A974B974CE8F5974DCDB0E8F6974E974F9750975197529753975497559756C1BA9757E8E89758C3B7B0F09759975A975B975C975D975E975F9760E8F4976197629763E8F7976497659766B9A3976797689769976A976B976C976D976E976F9770C9D2977197729773C3CECEE0C0E69774977597769777CBF39778CCDDD0B59779977ACAE1977BE8F3977C977D977E9780978197829783978497859786BCEC9787E8F997889789978A978B978C978DC3DE978EC6E5978FB9F79790979197929793B0F497949795D7D897969797BCAC9798C5EF9799979A979B979C979DCCC4979E979FE9A697A097A197A297A397A497A597A697A797A897A9C9AD97AAE9A2C0E297AB97AC97ADBFC397AE97AF97B0E8FEB9D797B1E8FB97B297B397B497B5E9A497B697B797B8D2CE97B997BA97BB97BC97BDE9A397BED6B2D7B597BFE9A797C0BDB797C197C297C397C497C597C697C797C897C997CA97CB97CCE8FCE8FD97CD97CE97CFE9A197D097D197D297D397D497D597D697D7CDD697D897D9D2AC97DA97DB97DCE9B297DD97DE97DF97E0E9A997E197E297E3B4AA97E4B4BB97E597E6E9AB97E797E897E997EA97EB97EC97ED97EE97EF97F097F197F297F397F497F597F697F7D0A897F897F9E9A597FA97FBB3FE97FC97FDE9ACC0E397FEE9AA98409841E9B998429843E9B89844984598469847E9AE98489849E8FA984A984BE9A8984C984D984E984F9850BFACE9B1E9BA98519852C2A5985398549855E9AF9856B8C59857E9AD9858D3DCE9B4E9B5E9B79859985A985BE9C7985C985D985E985F98609861C0C6E9C598629863E9B098649865E9BBB0F19866986798689869986A986B986C986D986E986FE9BCD5A598709871E9BE9872E9BF987398749875E9C198769877C1F198789879C8B6987A987B987CE9BD987D987E988098819882E9C29883988498859886988798889889988AE9C3988BE9B3988CE9B6988DBBB1988E988F9890E9C0989198929893989498959896BCF7989798989899E9C4E9C6989A989B989C989D989E989F98A098A198A298A398A498A5E9CA98A698A798A898A9E9CE98AA98AB98AC98AD98AE98AF98B098B198B298B3B2DB98B4E9C898B598B698B798B898B998BA98BB98BC98BD98BEB7AE98BF98C098C198C298C398C498C598C698C798C898C998CAE9CBE9CC98CB98CC98CD98CE98CF98D0D5C198D1C4A398D298D398D498D598D698D7E9D898D8BAE198D998DA98DB98DCE9C998DDD3A398DE98DF98E0E9D498E198E298E398E498E598E698E7E9D7E9D098E898E998EA98EB98ECE9CF98ED98EEC7C198EF98F098F198F298F398F498F598F6E9D298F798F898F998FA98FB98FC98FDE9D9B3C898FEE9D399409941994299439944CFF0994599469947E9CD99489949994A994B994C994D994E994F995099519952B3F79953995499559956995799589959E9D6995A995BE9DA995C995D995ECCB4995F99609961CFAD99629963996499659966996799689969996AE9D5996BE9DCE9DB996C996D996E996F9970E9DE99719972997399749975997699779978E9D19979997A997B997C997D997E99809981E9DD9982E9DFC3CA9983998499859986998799889989998A998B998C998D998E998F9990999199929993999499959996999799989999999A999B999C999D999E999F99A099A199A299A399A499A599A699A799A899A999AA99AB99AC99AD99AE99AF99B099B199B299B399B499B599B699B799B899B999BA99BB99BC99BD99BE99BF99C099C199C299C399C499C599C699C799C899C999CA99CB99CC99CD99CE99CF99D099D199D299D399D499D599D699D799D899D999DA99DB99DC99DD99DE99DF99E099E199E299E399E499E599E699E799E899E999EA99EB99EC99ED99EE99EF99F099F199F299F399F499F5C7B7B4CEBBB6D0C0ECA399F699F7C5B799F899F999FA99FB99FC99FD99FE9A409A419A42D3FB9A439A449A459A46ECA49A47ECA5C6DB9A489A499A4ABFEE9A4B9A4C9A4D9A4EECA69A4F9A50ECA7D0AA9A51C7B89A529A53B8E89A549A559A569A579A589A599A5A9A5B9A5C9A5D9A5E9A5FECA89A609A619A629A639A649A659A669A67D6B9D5FDB4CBB2BDCEE4C6E79A689A69CDE19A6A9A6B9A6C9A6D9A6E9A6F9A709A719A729A739A749A759A769A77B4F59A78CBC0BCDF9A799A7A9A7B9A7CE9E2E9E3D1EAE9E59A7DB4F9E9E49A7ED1B3CAE2B2D09A80E9E89A819A829A839A84E9E6E9E79A859A86D6B39A879A889A89E9E9E9EA9A8A9A8B9A8C9A8D9A8EE9EB9A8F9A909A919A929A939A949A959A96E9EC9A979A989A999A9A9A9B9A9C9A9D9A9EECAFC5B9B6CE9A9FD2F39AA09AA19AA29AA39AA49AA59AA6B5EE9AA7BBD9ECB19AA89AA9D2E39AAA9AAB9AAC9AAD9AAECEE39AAFC4B89AB0C3BF9AB19AB2B6BED8B9B1C8B1CFB1D1C5FE9AB3B1D09AB4C3AB9AB59AB69AB79AB89AB9D5B19ABA9ABB9ABC9ABD9ABE9ABF9AC09AC1EBA4BAC19AC29AC39AC4CCBA9AC59AC69AC7EBA59AC8EBA79AC99ACA9ACBEBA89ACC9ACD9ACEEBA69ACF9AD09AD19AD29AD39AD49AD5EBA9EBABEBAA9AD69AD79AD89AD99ADAEBAC9ADBCACFD8B5C3F19ADCC3A5C6F8EBADC4CA9ADDEBAEEBAFEBB0B7D59ADE9ADF9AE0B7FA9AE1EBB1C7E29AE2EBB39AE3BAA4D1F5B0B1EBB2EBB49AE49AE59AE6B5AAC2C8C7E89AE7EBB59AE8CBAEE3DF9AE99AEAD3C09AEB9AEC9AED9AEED9DB9AEF9AF0CDA1D6ADC7F39AF19AF29AF3D9E0BBE39AF4BABAE3E29AF59AF69AF79AF89AF9CFAB9AFA9AFB9AFCE3E0C9C79AFDBAB99AFE9B409B41D1B4E3E1C8EAB9AFBDADB3D8CEDB9B429B43CCC09B449B459B46E3E8E3E9CDF49B479B489B499B4A9B4BCCAD9B4CBCB39B4DE3EA9B4EE3EB9B4F9B50D0DA9B519B529B53C6FBB7DA9B549B55C7DFD2CACED69B56E3E4E3EC9B57C9F2B3C19B589B59E3E79B5A9B5BC6E3E3E59B5C9B5DEDB3E3E69B5E9B5F9B609B61C9B39B62C5E69B639B649B65B9B59B66C3BB9B67E3E3C5BDC1A4C2D9B2D79B68E3EDBBA6C4AD9B69E3F0BEDA9B6A9B6BE3FBE3F5BAD39B6C9B6D9B6E9B6FB7D0D3CD9B70D6CED5D3B9C1D5B4D1D89B719B729B739B74D0B9C7F69B759B769B77C8AAB2B49B78C3DA9B799B7A9B7BE3EE9B7C9B7DE3FCE3EFB7A8E3F7E3F49B7E9B809B81B7BA9B829B83C5A29B84E3F6C5DDB2A8C6FC9B85C4E09B869B87D7A29B88C0E1E3F99B899B8AE3FAE3FDCCA9E3F39B8BD3BE9B8CB1C3EDB4E3F1E3F29B8DE3F8D0BAC6C3D4F3E3FE9B8E9B8FBDE09B909B91E4A79B929B93E4A69B949B959B96D1F3E4A39B97E4A99B989B999B9AC8F79B9B9B9C9B9D9B9ECFB49B9FE4A8E4AEC2E59BA09BA1B6B49BA29BA39BA49BA59BA69BA7BDF29BA8E4A29BA99BAABAE9E4AA9BAB9BACE4AC9BAD9BAEB6FDD6DEE4B29BAFE4AD9BB09BB19BB2E4A19BB3BBEECDDDC7A2C5C99BB49BB5C1F79BB6E4A49BB7C7B3BDACBDBDE4A59BB8D7C7B2E29BB9E4ABBCC3E4AF9BBABBEBE4B0C5A8E4B19BBB9BBC9BBD9BBED5E3BFA39BBFE4BA9BC0E4B79BC1E4BB9BC29BC3E4BD9BC49BC5C6D69BC69BC7BAC6C0CB9BC89BC99BCAB8A1E4B49BCB9BCC9BCD9BCED4A19BCF9BD0BAA3BDFE9BD19BD29BD3E4BC9BD49BD59BD69BD79BD8CDBF9BD99BDAC4F99BDB9BDCCFFBC9E69BDD9BDED3BF9BDFCFD19BE09BE1E4B39BE2E4B8E4B9CCE99BE39BE49BE59BE69BE7CCCE9BE8C0D4E4B5C1B0E4B6CED09BE9BBC1B5D39BEAC8F3BDA7D5C7C9ACB8A2E4CA9BEB9BECE4CCD1C49BED9BEED2BA9BEF9BF0BAAD9BF19BF2BAD49BF39BF49BF59BF69BF79BF8E4C3B5ED9BF99BFA9BFBD7CDE4C0CFFDE4BF9BFC9BFD9BFEC1DCCCCA9C409C419C429C43CAE79C449C459C469C47C4D79C48CCD4E4C89C499C4A9C4BE4C7E4C19C4CE4C4B5AD9C4D9C4ED3D99C4FE4C69C509C519C529C53D2F9B4E39C54BBB49C559C56C9EE9C57B4BE9C589C599C5ABBEC9C5BD1CD9C5CCCEDEDB59C5D9C5E9C5F9C609C619C629C639C64C7E59C659C669C679C68D4A89C69E4CBD7D5E4C29C6ABDA5E4C59C6B9C6CD3E69C6DE4C9C9F89C6E9C6FE4BE9C709C71D3E59C729C73C7FEB6C99C74D4FCB2B3E4D79C759C769C77CEC29C78E4CD9C79CEBC9C7AB8DB9C7B9C7CE4D69C7DBFCA9C7E9C809C81D3CE9C82C3EC9C839C849C859C869C879C889C899C8AC5C8E4D89C8B9C8C9C8D9C8E9C8F9C909C919C92CDC4E4CF9C939C949C959C96E4D4E4D59C97BAFE9C98CFE69C999C9AD5BF9C9B9C9C9C9DE4D29C9E9C9F9CA09CA19CA29CA39CA49CA59CA69CA79CA8E4D09CA99CAAE4CE9CAB9CAC9CAD9CAE9CAF9CB09CB19CB29CB39CB49CB59CB69CB79CB89CB9CDE5CAAA9CBA9CBB9CBCC0A39CBDBDA6E4D39CBE9CBFB8C89CC09CC19CC29CC39CC4E4E7D4B49CC59CC69CC79CC89CC99CCA9CCBE4DB9CCC9CCD9CCEC1EF9CCF9CD0E4E99CD19CD2D2E79CD39CD4E4DF9CD5E4E09CD69CD7CFAA9CD89CD99CDA9CDBCBDD9CDCE4DAE4D19CDDE4E59CDEC8DCE4E39CDF9CE0C4E7E4E29CE1E4E19CE29CE39CE4B3FCE4E89CE59CE69CE79CE8B5E19CE99CEA9CEBD7CC9CEC9CED9CEEE4E69CEFBBAC9CF0D7D2CCCFEBF89CF1E4E49CF29CF3B9F69CF49CF59CF6D6CDE4D9E4DCC2FAE4DE9CF7C2CBC0C4C2D09CF8B1F5CCB29CF99CFA9CFB9CFC9CFD9CFE9D409D419D429D43B5CE9D449D459D469D47E4EF9D489D499D4A9D4B9D4C9D4D9D4E9D4FC6AF9D509D519D52C6E19D539D54E4F59D559D569D579D589D59C2A99D5A9D5B9D5CC0ECD1DDE4EE9D5D9D5E9D5F9D609D619D629D639D649D659D66C4AE9D679D689D69E4ED9D6A9D6B9D6C9D6DE4F6E4F4C2FE9D6EE4DD9D6FE4F09D70CAFE9D71D5C49D729D73E4F19D749D759D769D779D789D799D7AD1FA9D7B9D7C9D7D9D7E9D809D819D82E4EBE4EC9D839D849D85E4F29D86CEAB9D879D889D899D8A9D8B9D8C9D8D9D8E9D8F9D90C5CB9D919D929D93C7B19D94C2BA9D959D969D97E4EA9D989D999D9AC1CA9D9B9D9C9D9D9D9E9D9F9DA0CCB6B3B19DA19DA29DA3E4FB9DA4E4F39DA59DA69DA7E4FA9DA8E4FD9DA9E4FC9DAA9DAB9DAC9DAD9DAE9DAF9DB0B3CE9DB19DB29DB3B3BAE4F79DB49DB5E4F9E4F8C5EC9DB69DB79DB89DB99DBA9DBB9DBC9DBD9DBE9DBF9DC09DC19DC2C0BD9DC39DC49DC59DC6D4E89DC79DC89DC99DCA9DCBE5A29DCC9DCD9DCE9DCF9DD09DD19DD29DD39DD49DD59DD6B0C49DD79DD8E5A49DD99DDAE5A39DDB9DDC9DDD9DDE9DDF9DE0BCA49DE1E5A59DE29DE39DE49DE59DE69DE7E5A19DE89DE99DEA9DEB9DEC9DED9DEEE4FEB1F49DEF9DF09DF19DF29DF39DF49DF59DF69DF79DF89DF9E5A89DFAE5A9E5A69DFB9DFC9DFD9DFE9E409E419E429E439E449E459E469E47E5A7E5AA9E489E499E4A9E4B9E4C9E4D9E4E9E4F9E509E519E529E539E549E559E569E579E589E599E5A9E5B9E5C9E5D9E5E9E5F9E609E619E629E639E649E659E669E679E68C6D99E699E6A9E6B9E6C9E6D9E6E9E6F9E70E5ABE5AD9E719E729E739E749E759E769E77E5AC9E789E799E7A9E7B9E7C9E7D9E7E9E809E819E829E839E849E859E869E879E889E89E5AF9E8A9E8B9E8CE5AE9E8D9E8E9E8F9E909E919E929E939E949E959E969E979E989E999E9A9E9B9E9C9E9D9E9EB9E09E9F9EA0E5B09EA19EA29EA39EA49EA59EA69EA79EA89EA99EAA9EAB9EAC9EAD9EAEE5B19EAF9EB09EB19EB29EB39EB49EB59EB69EB79EB89EB99EBABBF0ECE1C3F09EBBB5C6BBD29EBC9EBD9EBE9EBFC1E9D4EE9EC0BEC49EC19EC29EC3D7C69EC4D4D6B2D3ECBE9EC59EC69EC79EC8EAC19EC99ECA9ECBC2AFB4B69ECC9ECD9ECED1D79ECF9ED09ED1B3B49ED2C8B2BFBBECC09ED39ED4D6CB9ED59ED6ECBFECC19ED79ED89ED99EDA9EDB9EDC9EDD9EDE9EDF9EE09EE19EE29EE3ECC5BEE6CCBFC5DABEBC9EE4ECC69EE5B1FE9EE69EE79EE8ECC4D5A8B5E39EE9ECC2C1B6B3E39EEA9EEBECC3CBB8C0C3CCFE9EEC9EED9EEE9EEFC1D29EF0ECC89EF19EF29EF39EF49EF59EF69EF79EF89EF99EFA9EFB9EFC9EFDBAE6C0D39EFED6F29F409F419F42D1CC9F439F449F459F46BFBE9F47B7B3C9D5ECC7BBE29F48CCCCBDFDC8C89F49CFA99F4A9F4B9F4C9F4D9F4E9F4F9F50CDE99F51C5EB9F529F539F54B7E99F559F569F579F589F599F5A9F5B9F5C9F5D9F5E9F5FD1C9BAB89F609F619F629F639F64ECC99F659F66ECCA9F67BBC0ECCB9F68ECE2B1BAB7D99F699F6A9F6B9F6C9F6D9F6E9F6F9F709F719F729F73BDB99F749F759F769F779F789F799F7A9F7BECCCD1E6ECCD9F7C9F7D9F7E9F80C8BB9F819F829F839F849F859F869F879F889F899F8A9F8B9F8C9F8D9F8EECD19F8F9F909F919F92ECD39F93BBCD9F94BCE59F959F969F979F989F999F9A9F9B9F9C9F9D9F9E9F9F9FA09FA1ECCF9FA2C9B79FA39FA49FA59FA69FA7C3BA9FA8ECE3D5D5ECD09FA99FAA9FAB9FAC9FADD6F39FAE9FAF9FB0ECD2ECCE9FB19FB29FB39FB4ECD49FB5ECD59FB69FB7C9BF9FB89FB99FBA9FBB9FBC9FBDCFA89FBE9FBF9FC09FC19FC2D0DC9FC39FC49FC59FC6D1AC9FC79FC89FC99FCAC8DB9FCB9FCC9FCDECD6CEF59FCE9FCF9FD09FD19FD2CAECECDA9FD39FD49FD59FD69FD79FD89FD9ECD99FDA9FDB9FDCB0BE9FDD9FDE9FDF9FE09FE19FE2ECD79FE3ECD89FE49FE59FE6ECE49FE79FE89FE99FEA9FEB9FEC9FED9FEE9FEFC8BC9FF09FF19FF29FF39FF49FF59FF69FF79FF89FF9C1C79FFA9FFB9FFC9FFD9FFEECDCD1E0A040A041A042A043A044A045A046A047A048A049ECDBA04AA04BA04CA04DD4EFA04EECDDA04FA050A051A052A053A054DBC6A055A056A057A058A059A05AA05BA05CA05DA05EECDEA05FA060A061A062A063A064A065A066A067A068A069A06AB1ACA06BA06CA06DA06EA06FA070A071A072A073A074A075A076A077A078A079A07AA07BA07CA07DA07EA080A081ECDFA082A083A084A085A086A087A088A089A08AA08BECE0A08CD7A6A08DC5C0A08EA08FA090EBBCB0AEA091A092A093BEF4B8B8D2AFB0D6B5F9A094D8B3A095CBACA096E3DDA097A098A099A09AA09BA09CA09DC6ACB0E6A09EA09FA0A0C5C6EBB9A0A1A0A2A0A3A0A4EBBAA0A5A0A6A0A7EBBBA0A8A0A9D1C0A0AAC5A3A0ABEAF2A0ACC4B2A0ADC4B5C0CEA0AEA0AFA0B0EAF3C4C1A0B1CEEFA0B2A0B3A0B4A0B5EAF0EAF4A0B6A0B7C9FCA0B8A0B9C7A3A0BAA0BBA0BCCCD8CEFEA0BDA0BEA0BFEAF5EAF6CFACC0E7A0C0A0C1EAF7A0C2A0C3A0C4A0C5A0C6B6BFEAF8A0C7EAF9A0C8EAFAA0C9A0CAEAFBA0CBA0CCA0CDA0CEA0CFA0D0A0D1A0D2A0D3A0D4A0D5A0D6EAF1A0D7A0D8A0D9A0DAA0DBA0DCA0DDA0DEA0DFA0E0A0E1A0E2C8AEE1EBA0E3B7B8E1ECA0E4A0E5A0E6E1EDA0E7D7B4E1EEE1EFD3CCA0E8A0E9A0EAA0EBA0ECA0EDA0EEE1F1BFF1E1F0B5D2A0EFA0F0A0F1B1B7A0F2A0F3A0F4A0F5E1F3E1F2A0F6BAFCA0F7E1F4A0F8A0F9A0FAA0FBB9B7A0FCBED1A0FDA0FEAA40AA41C4FCAA42BADDBDC6AA43AA44AA45AA46AA47AA48E1F5E1F7AA49AA4AB6C0CFC1CAA8E1F6D5F8D3FCE1F8E1FCE1F9AA4BAA4CE1FAC0EAAA4DE1FEE2A1C0C7AA4EAA4FAA50AA51E1FBAA52E1FDAA53AA54AA55AA56AA57AA58E2A5AA59AA5AAA5BC1D4AA5CAA5DAA5EAA5FE2A3AA60E2A8B2FEE2A2AA61AA62AA63C3CDB2C2E2A7E2A6AA64AA65E2A4E2A9AA66AA67E2ABAA68AA69AA6AD0C9D6EDC3A8E2ACAA6BCFD7AA6CAA6DE2AEAA6EAA6FBAEFAA70AA71E9E0E2ADE2AAAA72AA73AA74AA75BBABD4B3AA76AA77AA78AA79AA7AAA7BAA7CAA7DAA7EAA80AA81AA82AA83E2B0AA84AA85E2AFAA86E9E1AA87AA88AA89AA8AE2B1AA8BAA8CAA8DAA8EAA8FAA90AA91AA92E2B2AA93AA94AA95AA96AA97AA98AA99AA9AAA9BAA9CAA9DE2B3CCA1AA9EE2B4AA9FAAA0AB40AB41AB42AB43AB44AB45AB46AB47AB48AB49AB4AAB4BE2B5AB4CAB4DAB4EAB4FAB50D0FEAB51AB52C2CAAB53D3F1AB54CDF5AB55AB56E7E0AB57AB58E7E1AB59AB5AAB5BAB5CBEC1AB5DAB5EAB5FAB60C2EAAB61AB62AB63E7E4AB64AB65E7E3AB66AB67AB68AB69AB6AAB6BCDE6AB6CC3B5AB6DAB6EE7E2BBB7CFD6AB6FC1E1E7E9AB70AB71AB72E7E8AB73AB74E7F4B2A3AB75AB76AB77AB78E7EAAB79E7E6AB7AAB7BAB7CAB7DAB7EE7ECE7EBC9BAAB80AB81D5E4AB82E7E5B7A9E7E7AB83AB84AB85AB86AB87AB88AB89E7EEAB8AAB8BAB8CAB8DE7F3AB8ED6E9AB8FAB90AB91AB92E7EDAB93E7F2AB94E7F1AB95AB96AB97B0E0AB98AB99AB9AAB9BE7F5AB9CAB9DAB9EAB9FABA0AC40AC41AC42AC43AC44AC45AC46AC47AC48AC49AC4AC7F2AC4BC0C5C0EDAC4CAC4DC1F0E7F0AC4EAC4FAC50AC51E7F6CBF6AC52AC53AC54AC55AC56AC57AC58AC59AC5AE8A2E8A1AC5BAC5CAC5DAC5EAC5FAC60D7C1AC61AC62E7FAE7F9AC63E7FBAC64E7F7AC65E7FEAC66E7FDAC67E7FCAC68AC69C1D5C7D9C5FDC5C3AC6AAC6BAC6CAC6DAC6EC7EDAC6FAC70AC71AC72E8A3AC73AC74AC75AC76AC77AC78AC79AC7AAC7BAC7CAC7DAC7EAC80AC81AC82AC83AC84AC85AC86E8A6AC87E8A5AC88E8A7BAF7E7F8E8A4AC89C8F0C9AAAC8AAC8BAC8CAC8DAC8EAC8FAC90AC91AC92AC93AC94AC95AC96E8A9AC97AC98B9E5AC99AC9AAC9BAC9CAC9DD1FEE8A8AC9EAC9FACA0AD40AD41AD42E8AAAD43E8ADE8AEAD44C1A7AD45AD46AD47E8AFAD48AD49AD4AE8B0AD4BAD4CE8ACAD4DE8B4AD4EAD4FAD50AD51AD52AD53AD54AD55AD56AD57AD58E8ABAD59E8B1AD5AAD5BAD5CAD5DAD5EAD5FAD60AD61E8B5E8B2E8B3AD62AD63AD64AD65AD66AD67AD68AD69AD6AAD6BAD6CAD6DAD6EAD6FAD70AD71E8B7AD72AD73AD74AD75AD76AD77AD78AD79AD7AAD7BAD7CAD7DAD7EAD80AD81AD82AD83AD84AD85AD86AD87AD88AD89E8B6AD8AAD8BAD8CAD8DAD8EAD8FAD90AD91AD92B9CFAD93F0ACAD94F0ADAD95C6B0B0EAC8BFAD96CDDFAD97AD98AD99AD9AAD9BAD9CAD9DCECDEAB1AD9EAD9FADA0AE40EAB2AE41C6BFB4C9AE42AE43AE44AE45AE46AE47AE48EAB3AE49AE4AAE4BAE4CD5E7AE4DAE4EAE4FAE50AE51AE52AE53AE54DDF9AE55EAB4AE56EAB5AE57EAB6AE58AE59AE5AAE5BB8CADFB0C9F5AE5CCCF0AE5DAE5EC9FAAE5FAE60AE61AE62AE63C9FBAE64AE65D3C3CBA6AE66B8A6F0AEB1C2AE67E5B8CCEFD3C9BCD7C9EAAE68B5E7AE69C4D0B5E9AE6AEEAEBBADAE6BAE6CE7DEAE6DEEAFAE6EAE6FAE70AE71B3A9AE72AE73EEB2AE74AE75EEB1BDE7AE76EEB0CEB7AE77AE78AE79AE7AC5CFAE7BAE7CAE7DAE7EC1F4DBCEEEB3D0F3AE80AE81AE82AE83AE84AE85AE86AE87C2D4C6E8AE88AE89AE8AB7ACAE8BAE8CAE8DAE8EAE8FAE90AE91EEB4AE92B3EBAE93AE94AE95BBFBEEB5AE96AE97AE98AE99AE9AE7DCAE9BAE9CAE9DEEB6AE9EAE9FBDAEAEA0AF40AF41AF42F1E2AF43AF44AF45CAE8AF46D2C9F0DAAF47F0DBAF48F0DCC1C6AF49B8EDBECEAF4AAF4BF0DEAF4CC5B1F0DDD1F1AF4DF0E0B0CCBDEAAF4EAF4FAF50AF51AF52D2DFF0DFAF53B4AFB7E8F0E6F0E5C6A3F0E1F0E2B4C3AF54AF55F0E3D5EEAF56AF57CCDBBED2BCB2AF58AF59AF5AF0E8F0E7F0E4B2A1AF5BD6A2D3B8BEB7C8ACAF5CAF5DF0EAAF5EAF5FAF60AF61D1F7AF62D6CCBADBF0E9AF63B6BBAF64AF65CDB4AF66AF67C6A6AF68AF69AF6AC1A1F0EBF0EEAF6BF0EDF0F0F0ECAF6CBBBEF0EFAF6DAF6EAF6FAF70CCB5F0F2AF71AF72B3D5AF73AF74AF75AF76B1D4AF77AF78F0F3AF79AF7AF0F4F0F6B4E1AF7BF0F1AF7CF0F7AF7DAF7EAF80AF81F0FAAF82F0F8AF83AF84AF85F0F5AF86AF87AF88AF89F0FDAF8AF0F9F0FCF0FEAF8BF1A1AF8CAF8DAF8ECEC1F1A4AF8FF1A3AF90C1F6F0FBCADDAF91AF92B4F1B1F1CCB1AF93F1A6AF94AF95F1A7AF96AF97F1ACD5CEF1A9AF98AF99C8B3AF9AAF9BAF9CF1A2AF9DF1ABF1A8F1A5AF9EAF9FF1AAAFA0B040B041B042B043B044B045B046B0A9F1ADB047B048B049B04AB04BB04CF1AFB04DF1B1B04EB04FB050B051B052F1B0B053F1AEB054B055B056B057D1A2B058B059B05AB05BB05CB05DB05EF1B2B05FB060B061F1B3B062B063B064B065B066B067B068B069B9EFB06AB06BB5C7B06CB0D7B0D9B06DB06EB06FD4EDB070B5C4B071BDD4BBCAF0A7B072B073B8DEB074B075F0A8B076B077B0A8B078F0A9B079B07ACDEEB07BB07CF0AAB07DB07EB080B081B082B083B084B085B086B087F0ABB088B089B08AB08BB08CB08DB08EB08FB090C6A4B091B092D6E5F1E4B093F1E5B094B095B096B097B098B099B09AB09BB09CB09DC3F3B09EB09FD3DBB0A0B140D6D1C5E8B141D3AFB142D2E6B143B144EEC1B0BBD5B5D1CEBCE0BAD0B145BFF8B146B8C7B5C1C5CCB147B148CAA2B149B14AB14BC3CBB14CB14DB14EB14FB150EEC2B151B152B153B154B155B156B157B158C4BFB6A2B159EDECC3A4B15AD6B1B15BB15CB15DCFE0EDEFB15EB15FC5CEB160B6DCB161B162CAA1B163B164EDEDB165B166EDF0EDF1C3BCB167BFB4B168EDEEB169B16AB16BB16CB16DB16EB16FB170B171B172B173EDF4EDF2B174B175B176B177D5E6C3DFB178EDF3B179B17AB17BEDF6B17CD5A3D1A3B17DB17EB180EDF5B181C3D0B182B183B184B185B186EDF7BFF4BEECEDF8B187CCF7B188D1DBB189B18AB18BD7C5D5F6B18CEDFCB18DB18EB18FEDFBB190B191B192B193B194B195B196B197EDF9EDFAB198B199B19AB19BB19CB19DB19EB19FEDFDBEA6B1A0B240B241B242B243CBAFEEA1B6BDB244EEA2C4C0B245EDFEB246B247BDDEB2C7B248B249B24AB24BB24CB24DB24EB24FB250B251B252B253B6C3B254B255B256EEA5D8BAEEA3EEA6B257B258B259C3E9B3F2B25AB25BB25CB25DB25EB25FEEA7EEA4CFB9B260B261EEA8C2F7B262B263B264B265B266B267B268B269B26AB26BB26CB26DEEA9EEAAB26EDEABB26FB270C6B3B271C7C6B272D6F5B5C9B273CBB2B274B275B276EEABB277B278CDABB279EEACB27AB27BB27CB27DB27ED5B0B280EEADB281F6C4B282B283B284B285B286B287B288B289B28AB28BB28CB28DB28EDBC7B28FB290B291B292B293B294B295B296B297B4A3B298B299B29AC3ACF1E6B29BB29CB29DB29EB29FCAB8D2D3B2A0D6AAB340EFF2B341BED8B342BDC3EFF3B6CCB0ABB343B344B345B346CAAFB347B348EDB6B349EDB7B34AB34BB34CB34DCEF9B7AFBFF3EDB8C2EBC9B0B34EB34FB350B351B352B353EDB9B354B355C6F6BFB3B356B357B358EDBCC5F8B359D1D0B35AD7A9EDBAEDBBB35BD1E2B35CEDBFEDC0B35DEDC4B35EB35FB360EDC8B361EDC6EDCED5E8B362EDC9B363B364EDC7EDBEB365B366C5E9B367B368B369C6C6B36AB36BC9E9D4D2EDC1EDC2EDC3EDC5B36CC0F9B36DB4A1B36EB36FB370B371B9E8B372EDD0B373B374B375B376EDD1B377EDCAB378EDCFB379CEF8B37AB37BCBB6EDCCEDCDB37CB37DB37EB380B381CFF5B382B383B384B385B386B387B388B389B38AB38BB38CB38DEDD2C1F2D3B2EDCBC8B7B38EB38FB390B391B392B393B394B395BCEFB396B397B398B399C5F0B39AB39BB39CB39DB39EB39FB3A0B440B441B442EDD6B443B5EFB444B445C2B5B0ADCBE9B446B447B1AEB448EDD4B449B44AB44BCDEBB5E2B44CEDD5EDD3EDD7B44DB44EB5FAB44FEDD8B450EDD9B451EDDCB452B1CCB453B454B455B456B457B458B459B45AC5F6BCEEEDDACCBCB2EAB45BB45CB45DB45EEDDBB45FB460B461B462C4EBB463B464B4C5B465B466B467B0F5B468B469B46AEDDFC0DAB4E8B46BB46CB46DB46EC5CDB46FB470B471EDDDBFC4B472B473B474EDDEB475B476B477B478B479B47AB47BB47CB47DB47EB480B481B482B483C4A5B484B485B486EDE0B487B488B489B48AB48BEDE1B48CEDE3B48DB48EC1D7B48FB490BBC7B491B492B493B494B495B496BDB8B497B498B499EDE2B49AB49BB49CB49DB49EB49FB4A0B540B541B542B543B544B545EDE4B546B547B548B549B54AB54BB54CB54DB54EB54FEDE6B550B551B552B553B554EDE5B555B556B557B558B559B55AB55BB55CB55DB55EB55FB560B561B562B563EDE7B564B565B566B567B568CABEECEAC0F1B569C9E7B56AECEBC6EEB56BB56CB56DB56EECECB56FC6EDECEDB570B571B572B573B574B575B576B577B578ECF0B579B57AD7E6ECF3B57BB57CECF1ECEEECEFD7A3C9F1CBEEECF4B57DECF2B57EB580CFE9B581ECF6C6B1B582B583B584B585BCC0B586ECF5B587B588B589B58AB58BB58CB58DB5BBBBF6B58EECF7B58FB590B591B592B593D9F7BDFBB594B595C2BBECF8B596B597B598B599ECF9B59AB59BB59CB59DB8A3B59EB59FB5A0B640B641B642B643B644B645B646ECFAB647B648B649B64AB64BB64CB64DB64EB64FB650B651B652ECFBB653B654B655B656B657B658B659B65AB65BB65CB65DECFCB65EB65FB660B661B662D3EDD8AEC0EBB663C7DDBACCB664D0E3CBBDB665CDBAB666B667B8D1B668B669B1FCB66AC7EFB66BD6D6B66CB66DB66EBFC6C3EBB66FB670EFF5B671B672C3D8B673B674B675B676B677B678D7E2B679B67AB67BEFF7B3D3B67CC7D8D1EDB67DD6C8B67EEFF8B680EFF6B681BBFDB3C6B682B683B684B685B686B687B688BDD5B689B68AD2C6B68BBBE0B68CB68DCFA1B68EEFFCEFFBB68FB690EFF9B691B692B693B694B3CCB695C9D4CBB0B696B697B698B699B69AEFFEB69BB69CB0DEB69DB69ED6C9B69FB6A0B740EFFDB741B3EDB742B743F6D5B744B745B746B747B748B749B74AB74BB74CB74DB74EB74FB750B751B752CEC8B753B754B755F0A2B756F0A1B757B5BEBCDABBFCB758B8E5B759B75AB75BB75CB75DB75EC4C2B75FB760B761B762B763B764B765B766B767B768F0A3B769B76AB76BB76CB76DCBEBB76EB76FB770B771B772B773B774B775B776B777B778B779B77AB77BB77CB77DB77EB780B781B782B783B784B785B786F0A6B787B788B789D1A8B78ABEBFC7EEF1B6F1B7BFD5B78BB78CB78DB78EB4A9F1B8CDBBB78FC7D4D5ADB790F1B9B791F1BAB792B793B794B795C7CFB796B797B798D2A4D6CFB799B79AF1BBBDD1B4B0BEBDB79BB79CB79DB4DCCED1B79EBFDFF1BDB79FB7A0B840B841BFFAF1BCB842F1BFB843B844B845F1BEF1C0B846B847B848B849B84AF1C1B84BB84CB84DB84EB84FB850B851B852B853B854B855C1FEB856B857B858B859B85AB85BB85CB85DB85EB85FB860C1A2B861B862B863B864B865B866B867B868B869B86ACAFAB86BB86CD5BEB86DB86EB86FB870BEBABEB9D5C2B871B872BFA2B873CDAFF1B5B874B875B876B877B878B879BDDFB87AB6CBB87BB87CB87DB87EB880B881B882B883B884D6F1F3C3B885B886F3C4B887B8CDB888B889B88AF3C6F3C7B88BB0CAB88CF3C5B88DF3C9CBF1B88EB88FB890F3CBB891D0A6B892B893B1CAF3C8B894B895B896F3CFB897B5D1B898B899F3D7B89AF3D2B89BB89CB89DF3D4F3D3B7FBB89EB1BFB89FF3CEF3CAB5DAB8A0F3D0B940B941F3D1B942F3D5B943B944B945B946F3CDB947BCE3B948C1FDB949F3D6B94AB94BB94CB94DB94EB94FF3DAB950F3CCB951B5C8B952BDEEF3DCB953B954B7A4BFF0D6FECDB2B955B4F0B956B2DFB957F3D8B958F3D9C9B8B959F3DDB95AB95BF3DEB95CF3E1B95DB95EB95FB960B961B962B963B964B965B966B967F3DFB968B969F3E3F3E2B96AB96BF3DBB96CBFEAB96DB3EFB96EF3E0B96FB970C7A9B971BCF2B972B973B974B975F3EBB976B977B978B979B97AB97BB97CB9BFB97DB97EF3E4B980B981B982B2ADBBFEB983CBE3B984B985B986B987F3EDF3E9B988B989B98AB9DCF3EEB98BB98CB98DF3E5F3E6F3EAC2E1F3ECF3EFF3E8BCFDB98EB98FB990CFE4B991B992F3F0B993B994B995F3E7B996B997B998B999B99AB99BB99CB99DF3F2B99EB99FB9A0BA40D7ADC6AABA41BA42BA43BA44F3F3BA45BA46BA47BA48F3F1BA49C2A8BA4ABA4BBA4CBA4DBA4EB8DDF3F5BA4FBA50F3F4BA51BA52BA53B4DBBA54BA55BA56F3F6F3F7BA57BA58BA59F3F8BA5ABA5BBA5CC0BABA5DBA5EC0E9BA5FBA60BA61BA62BA63C5F1BA64BA65BA66BA67F3FBBA68F3FABA69BA6ABA6BBA6CBA6DBA6EBA6FBA70B4D8BA71BA72BA73F3FEF3F9BA74BA75F3FCBA76BA77BA78BA79BA7ABA7BF3FDBA7CBA7DBA7EBA80BA81BA82BA83BA84F4A1BA85BA86BA87BA88BA89BA8AF4A3BBC9BA8BBA8CF4A2BA8DBA8EBA8FBA90BA91BA92BA93BA94BA95BA96BA97BA98BA99F4A4BA9ABA9BBA9CBA9DBA9EBA9FB2BEF4A6F4A5BAA0BB40BB41BB42BB43BB44BB45BB46BB47BB48BB49BCAEBB4ABB4BBB4CBB4DBB4EBB4FBB50BB51BB52BB53BB54BB55BB56BB57BB58BB59BB5ABB5BBB5CBB5DBB5EBB5FBB60BB61BB62BB63BB64BB65BB66BB67BB68BB69BB6ABB6BBB6CBB6DBB6EC3D7D9E1BB6FBB70BB71BB72BB73BB74C0E0F4CCD7D1BB75BB76BB77BB78BB79BB7ABB7BBB7CBB7DBB7EBB80B7DBBB81BB82BB83BB84BB85BB86BB87F4CEC1A3BB88BB89C6C9BB8AB4D6D5B3BB8BBB8CBB8DF4D0F4CFF4D1CBDABB8EBB8FF4D2BB90D4C1D6E0BB91BB92BB93BB94B7E0BB95BB96BB97C1B8BB98BB99C1BBF4D3BEACBB9ABB9BBB9CBB9DBB9EB4E2BB9FBBA0F4D4F4D5BEABBC40BC41F4D6BC42BC43BC44F4DBBC45F4D7F4DABC46BAFDBC47F4D8F4D9BC48BC49BC4ABC4BBC4CBC4DBC4EB8E2CCC7F4DCBC4FB2DABC50BC51C3D3BC52BC53D4E3BFB7BC54BC55BC56BC57BC58BC59BC5AF4DDBC5BBC5CBC5DBC5EBC5FBC60C5B4BC61BC62BC63BC64BC65BC66BC67BC68F4E9BC69BC6ACFB5BC6BBC6CBC6DBC6EBC6FBC70BC71BC72BC73BC74BC75BC76BC77BC78CEC9BC79BC7ABC7BBC7CBC7DBC7EBC80BC81BC82BC83BC84BC85BC86BC87BC88BC89BC8ABC8BBC8CBC8DBC8ECBD8BC8FCBF7BC90BC91BC92BC93BDF4BC94BC95BC96D7CFBC97BC98BC99C0DBBC9ABC9BBC9CBC9DBC9EBC9FBCA0BD40BD41BD42BD43BD44BD45BD46BD47BD48BD49BD4ABD4BBD4CBD4DBD4EBD4FBD50BD51BD52BD53BD54BD55BD56BD57BD58BD59BD5ABD5BBD5CBD5DBD5EBD5FBD60BD61BD62BD63BD64BD65BD66BD67BD68BD69BD6ABD6BBD6CBD6DBD6EBD6FBD70BD71BD72BD73BD74BD75BD76D0F5BD77BD78BD79BD7ABD7BBD7CBD7DBD7EF4EABD80BD81BD82BD83BD84BD85BD86BD87BD88BD89BD8ABD8BBD8CBD8DBD8EBD8FBD90BD91BD92BD93BD94BD95BD96BD97BD98BD99BD9ABD9BBD9CBD9DBD9EBD9FBDA0BE40BE41BE42BE43BE44BE45BE46BE47BE48BE49BE4ABE4BBE4CF4EBBE4DBE4EBE4FBE50BE51BE52BE53F4ECBE54BE55BE56BE57BE58BE59BE5ABE5BBE5CBE5DBE5EBE5FBE60BE61BE62BE63BE64BE65BE66BE67BE68BE69BE6ABE6BBE6CBE6DBE6EBE6FBE70BE71BE72BE73BE74BE75BE76BE77BE78BE79BE7ABE7BBE7CBE7DBE7EBE80BE81BE82BE83BE84BE85BE86BE87BE88BE89BE8ABE8BBE8CBE8DBE8EBE8FBE90BE91BE92BE93BE94BE95BE96BE97BE98BE99BE9ABE9BBE9CBE9DBE9EBE9FBEA0BF40BF41BF42BF43BF44BF45BF46BF47BF48BF49BF4ABF4BBF4CBF4DBF4EBF4FBF50BF51BF52BF53BF54BF55BF56BF57BF58BF59BF5ABF5BBF5CBF5DBF5EBF5FBF60BF61BF62BF63BF64BF65BF66BF67BF68BF69BF6ABF6BBF6CBF6DBF6EBF6FBF70BF71BF72BF73BF74BF75BF76BF77BF78BF79BF7ABF7BBF7CBF7DBF7EBF80F7E3BF81BF82BF83BF84BF85B7B1BF86BF87BF88BF89BF8AF4EDBF8BBF8CBF8DBF8EBF8FBF90BF91BF92BF93BF94BF95BF96BF97BF98BF99BF9ABF9BBF9CBF9DBF9EBF9FBFA0C040C041C042C043C044C045C046C047C048C049C04AC04BC04CC04DC04EC04FC050C051C052C053C054C055C056C057C058C059C05AC05BC05CC05DC05EC05FC060C061C062C063D7EBC064C065C066C067C068C069C06AC06BC06CC06DC06EC06FC070C071C072C073C074C075C076C077C078C079C07AC07BF4EEC07CC07DC07EE6F9BEC0E6FABAECE6FBCFCBE6FCD4BCBCB6E6FDE6FEBCCDC8D2CEB3E7A1C080B4BFE7A2C9B4B8D9C4C9C081D7DDC2DAB7D7D6BDCEC6B7C4C082C083C5A6E7A3CFDFE7A4E7A5E7A6C1B7D7E9C9F0CFB8D6AFD6D5E7A7B0EDE7A8E7A9C9DCD2EFBEADE7AAB0F3C8DEBDE1E7ABC8C6C084E7ACBBE6B8F8D1A4E7ADC2E7BEF8BDCACDB3E7AEE7AFBEEED0E5C085CBE7CCD0BCCCE7B0BCA8D0F7E7B1C086D0F8E7B2E7B3B4C2E7B4E7B5C9FECEACC3E0E7B7B1C1B3F1C087E7B8E7B9D7DBD5C0E7BAC2CCD7BAE7BBE7BCE7BDBCEAC3E5C0C2E7BEE7BFBCA9C088E7C0E7C1E7B6B6D0E7C2C089E7C3E7C4BBBAB5DEC2C6B1E0E7C5D4B5E7C6B8BFE7C8E7C7B7ECC08AE7C9B2F8E7CAE7CBE7CCE7CDE7CEE7CFE7D0D3A7CBF5E7D1E7D2E7D3E7D4C9C9E7D5E7D6E7D7E7D8E7D9BDC9E7DAF3BEC08BB8D7C08CC8B1C08DC08EC08FC090C091C092C093F3BFC094F3C0F3C1C095C096C097C098C099C09AC09BC09CC09DC09EB9DECDF8C09FC0A0D8E8BAB1C140C2DEEEB7C141B7A3C142C143C144C145EEB9C146EEB8B0D5C147C148C149C14AC14BEEBBD5D6D7EFC14CC14DC14ED6C3C14FC150EEBDCAF0C151EEBCC152C153C154C155EEBEC156C157C158C159EEC0C15AC15BEEBFC15CC15DC15EC15FC160C161C162C163D1F2C164C7BCC165C3C0C166C167C168C169C16AB8E1C16BC16CC16DC16EC16FC1E7C170C171F4C6D0DFF4C7C172CFDBC173C174C8BAC175C176F4C8C177C178C179C17AC17BC17CC17DF4C9F4CAC17EF4CBC180C181C182C183C184D9FAB8FEC185C186E5F1D3F0C187F4E0C188CECCC189C18AC18BB3E1C18CC18DC18EC18FF1B4C190D2EEC191F4E1C192C193C194C195C196CFE8F4E2C197C198C7CCC199C19AC19BC19CC19DC19EB5D4B4E4F4E4C19FC1A0C240F4E3F4E5C241C242F4E6C243C244C245C246F4E7C247BAB2B0BFC248F4E8C249C24AC24BC24CC24DC24EC24FB7ADD2EDC250C251C252D2ABC0CFC253BFBCEBA3D5DFEAC8C254C255C256C257F1F3B6F8CBA3C258C259C4CDC25AF1E7C25BF1E8B8FBF1E9BAC4D4C5B0D2C25CC25DF1EAC25EC25FC260F1EBC261F1ECC262C263F1EDF1EEF1EFF1F1F1F0C5D5C264C265C266C267C268C269F1F2C26AB6FAC26BF1F4D2AEDEC7CBCAC26CC26DB3DCC26EB5A2C26FB9A2C270C271C4F4F1F5C272C273F1F6C274C275C276C1C4C1FBD6B0F1F7C277C278C279C27AF1F8C27BC1AAC27CC27DC27EC6B8C280BEDBC281C282C283C284C285C286C287C288C289C28AC28BC28CC28DC28EF1F9B4CFC28FC290C291C292C293C294F1FAC295C296C297C298C299C29AC29BC29CC29DC29EC29FC2A0C340EDB2EDB1C341C342CBE0D2DEC343CBC1D5D8C344C8E2C345C0DFBCA1C346C347C348C349C34AC34BEBC1C34CC34DD0A4C34ED6E2C34FB6C7B8D8EBC0B8CEC350EBBFB3A6B9C9D6ABC351B7F4B7CAC352C353C354BCE7B7BEEBC6C355EBC7B0B9BFCFC356EBC5D3FDC357EBC8C358C359EBC9C35AC35BB7CEC35CEBC2EBC4C9F6D6D7D5CDD0B2EBCFCEB8EBD0C35DB5A8C35EC35FC360C361C362B1B3EBD2CCA5C363C364C365C366C367C368C369C5D6EBD3C36AEBD1C5DFEBCECAA4EBD5B0FBC36BC36CBAFAC36DC36ED8B7F1E3C36FEBCAEBCBEBCCEBCDEBD6E6C0EBD9C370BFE8D2C8EBD7EBDCB8ECEBD8C371BDBAC372D0D8C373B0B7C374EBDDC4DCC375C376C377C378D6ACC379C37AC37BB4E0C37CC37DC2F6BCB9C37EC380EBDAEBDBD4E0C6EAC4D4EBDFC5A7D9F5C381B2B1C382EBE4C383BDC5C384C385C386EBE2C387C388C389C38AC38BC38CC38DC38EC38FC390C391C392C393EBE3C394C395B8ACC396CDD1EBE5C397C398C399EBE1C39AC1B3C39BC39CC39DC39EC39FC6A2C3A0C440C441C442C443C444C445CCF3C446EBE6C447C0B0D2B8EBE7C448C449C44AB8AFB8ADC44BEBE8C7BBCDF3C44CC44DC44EEBEAEBEBC44FC450C451C452C453EBEDC454C455C456C457D0C8C458EBF2C459EBEEC45AC45BC45CEBF1C8F9C45DD1FCEBECC45EC45FEBE9C460C461C462C463B8B9CFD9C4E5EBEFEBF0CCDACDC8B0F2C464EBF6C465C466C467C468C469EBF5C46AB2B2C46BC46CC46DC46EB8E0C46FEBF7C470C471C472C473C474C475B1ECC476C477CCC5C4A4CFA5C478C479C47AC47BC47CEBF9C47DC47EECA2C480C5F2C481EBFAC482C483C484C485C486C487C488C489C9C5C48AC48BC48CC48DC48EC48FE2DFEBFEC490C491C492C493CDCEECA1B1DBD3B7C494C495D2DCC496C497C498EBFDC499EBFBC49AC49BC49CC49DC49EC49FC4A0C540C541C542C543C544C545C546C547C548C549C54AC54BC54CC54DC54EB3BCC54FC550C551EAB0C552C553D7D4C554F4ABB3F4C555C556C557C558C559D6C1D6C2C55AC55BC55CC55DC55EC55FD5E9BECAC560F4A7C561D2A8F4A8F4A9C562F4AABECBD3DFC563C564C565C566C567C9E0C9E1C568C569F3C2C56ACAE6C56BCCF2C56CC56DC56EC56FC570C571E2B6CBB4C572CEE8D6DBC573F4ADF4AEF4AFC574C575C576C577F4B2C578BABDF4B3B0E3F4B0C579F4B1BDA2B2D5C57AF4B6F4B7B6E6B2B0CFCFF4B4B4ACC57BF4B5C57CC57DF4B8C57EC580C581C582C583F4B9C584C585CDA7C586F4BAC587F4BBC588C589C58AF4BCC58BC58CC58DC58EC58FC590C591C592CBD2C593F4BDC594C595C596C597F4BEC598C599C59AC59BC59CC59DC59EC59FF4BFC5A0C640C641C642C643F4DEC1BCBCE8C644C9ABD1DEE5F5C645C646C647C648DCB3D2D5C649C64ADCB4B0ACDCB5C64BC64CBDDAC64DDCB9C64EC64FC650D8C2C651DCB7D3F3C652C9D6DCBADCB6C653DCBBC3A2C654C655C656C657DCBCDCC5DCBDC658C659CEDFD6A5C65ADCCFC65BDCCDC65CC65DDCD2BDE6C2ABC65EDCB8DCCBDCCEDCBEB7D2B0C5DCC7D0BEDCC1BBA8C65FB7BCDCCCC660C661DCC6DCBFC7DBC662C663C664D1BFDCC0C665C666DCCAC667C668DCD0C669C66ACEADDCC2C66BDCC3DCC8DCC9B2D4DCD1CBD5C66CD4B7DCDBDCDFCCA6DCE6C66DC3E7DCDCC66EC66FBFC1DCD9C670B0FAB9B6DCE5DCD3C671DCC4DCD6C8F4BFE0C672C673C674C675C9BBC676C677C678B1BDC679D3A2C67AC67BDCDAC67CC67DDCD5C67EC6BBC680DCDEC681C682C683C684C685D7C2C3AFB7B6C7D1C3A9DCE2DCD8DCEBDCD4C686C687DCDDC688BEA5DCD7C689DCE0C68AC68BDCE3DCE4C68CDCF8C68DC68EDCE1DDA2DCE7C68FC690C691C692C693C694C695C696C697C698BCEBB4C4C699C69AC3A3B2E7DCFAC69BDCF2C69CDCEFC69DDCFCDCEED2F0B2E8C69EC8D7C8E3DCFBC69FDCEDC6A0C740C741DCF7C742C743DCF5C744C745BEA3DCF4C746B2DDC747C748C749C74AC74BDCF3BCF6DCE8BBC4C74CC0F3C74DC74EC74FC750C751BCD4DCE9DCEAC752DCF1DCF6DCF9B5B4C753C8D9BBE7DCFEDCFDD3ABDDA1DDA3DDA5D2F1DDA4DDA6DDA7D2A9C754C755C756C757C758C759C75ABAC9DDA9C75BC75CDDB6DDB1DDB4C75DC75EC75FC760C761C762C763DDB0C6CEC764C765C0F2C766C767C768C769C9AFC76AC76BC76CDCECDDAEC76DC76EC76FC770DDB7C771C772DCF0DDAFC773DDB8C774DDACC775C776C777C778C779C77AC77BDDB9DDB3DDADC4AAC77CC77DC77EC780DDA8C0B3C1ABDDAADDABC781DDB2BBF1DDB5D3A8DDBAC782DDBBC3A7C783C784DDD2DDBCC785C786C787DDD1C788B9BDC789C78ABED5C78BBEFAC78CC78DBACAC78EC78FC790C791DDCAC792DDC5C793DDBFC794C795C796B2CBDDC3C797DDCBB2A4DDD5C798C799C79ADDBEC79BC79CC79DC6D0DDD0C79EC79FC7A0C840C841DDD4C1E2B7C6C842C843C844C845C846DDCEDDCFC847C848C849DDC4C84AC84BC84CDDBDC84DDDCDCCD1C84EDDC9C84FC850C851C852DDC2C3C8C6BCCEAEDDCCC853DDC8C854C855C856C857C858C859DDC1C85AC85BC85CDDC6C2DCC85DC85EC85FC860C861C862D3A9D3AADDD3CFF4C8F8C863C864C865C866C867C868C869C86ADDE6C86BC86CC86DC86EC86FC870DDC7C871C872C873DDE0C2E4C874C875C876C877C878C879C87AC87BDDE1C87CC87DC87EC880C881C882C883C884C885C886DDD7C887C888C889C88AC88BD6F8C88CDDD9DDD8B8F0DDD6C88DC88EC88FC890C6CFC891B6ADC892C893C894C895C896DDE2C897BAF9D4E1DDE7C898C899C89AB4D0C89BDDDAC89CBFFBDDE3C89DDDDFC89EDDDDC89FC8A0C940C941C942C943C944B5D9C945C946C947C948DDDBDDDCDDDEC949BDAFDDE4C94ADDE5C94BC94CC94DC94EC94FC950C951C952DDF5C953C3C9C954C955CBE2C956C957C958C959DDF2C95AC95BC95CC95DC95EC95FC960C961C962C963C964C965C966D8E1C967C968C6D1C969DDF4C96AC96BC96CD5F4DDF3DDF0C96DC96EDDECC96FDDEFC970DDE8C971C972D0EEC973C974C975C976C8D8DDEEC977C978DDE9C979C97ADDEACBF2C97BDDEDC97CC97DB1CDC97EC980C981C982C983C984C0B6C985BCBBDDF1C986C987DDF7C988DDF6DDEBC989C98AC98BC98CC98DC5EEC98EC98FC990DDFBC991C992C993C994C995C996C997C998C999C99AC99BDEA4C99CC99DDEA3C99EC99FC9A0CA40CA41CA42CA43CA44CA45CA46CA47CA48DDF8CA49CA4ACA4BCA4CC3EFCA4DC2FBCA4ECA4FCA50D5E1CA51CA52CEB5CA53CA54CA55CA56DDFDCA57B2CCCA58CA59CA5ACA5BCA5CCA5DCA5ECA5FCA60C4E8CADFCA61CA62CA63CA64CA65CA66CA67CA68CA69CA6AC7BEDDFADDFCDDFEDEA2B0AAB1CECA6BCA6CCA6DCA6ECA6FDEACCA70CA71CA72CA73DEA6BDB6C8EFCA74CA75CA76CA77CA78CA79CA7ACA7BCA7CCA7DCA7EDEA1CA80CA81DEA5CA82CA83CA84CA85DEA9CA86CA87CA88CA89CA8ADEA8CA8BCA8CCA8DDEA7CA8ECA8FCA90CA91CA92CA93CA94CA95CA96DEADCA97D4CCCA98CA99CA9ACA9BDEB3DEAADEAECA9CCA9DC0D9CA9ECA9FCAA0CB40CB41B1A1DEB6CB42DEB1CB43CB44CB45CB46CB47CB48CB49DEB2CB4ACB4BCB4CCB4DCB4ECB4FCB50CB51CB52CB53CB54D1A6DEB5CB55CB56CB57CB58CB59CB5ACB5BDEAFCB5CCB5DCB5EDEB0CB5FD0BDCB60CB61CB62DEB4CAEDDEB9CB63CB64CB65CB66CB67CB68DEB8CB69DEB7CB6ACB6BCB6CCB6DCB6ECB6FCB70DEBBCB71CB72CB73CB74CB75CB76CB77BDE5CB78CB79CB7ACB7BCB7CB2D8C3EACB7DCB7EDEBACB80C5BACB81CB82CB83CB84CB85CB86DEBCCB87CB88CB89CB8ACB8BCB8CCB8DCCD9CB8ECB8FCB90CB91B7AACB92CB93CB94CB95CB96CB97CB98CB99CB9ACB9BCB9CCB9DCB9ECB9FCBA0CC40CC41D4E5CC42CC43CC44DEBDCC45CC46CC47CC48CC49DEBFCC4ACC4BCC4CCC4DCC4ECC4FCC50CC51CC52CC53CC54C4A2CC55CC56CC57CC58DEC1CC59CC5ACC5BCC5CCC5DCC5ECC5FCC60CC61CC62CC63CC64CC65CC66CC67CC68DEBECC69DEC0CC6ACC6BCC6CCC6DCC6ECC6FCC70CC71CC72CC73CC74CC75CC76CC77D5BACC78CC79CC7ADEC2CC7BCC7CCC7DCC7ECC80CC81CC82CC83CC84CC85CC86CC87CC88CC89CC8ACC8BF2AEBBA2C2B2C5B0C2C7CC8CCC8DF2AFCC8ECC8FCC90CC91CC92D0E9CC93CC94CC95D3DDCC96CC97CC98EBBDCC99CC9ACC9BCC9CCC9DCC9ECC9FCCA0B3E6F2B0CD40F2B1CD41CD42CAADCD43CD44CD45CD46CD47CD48CD49BAE7F2B3F2B5F2B4CBE4CFBAF2B2CAB4D2CFC2ECCD4ACD4BCD4CCD4DCD4ECD4FCD50CEC3F2B8B0F6F2B7CD51CD52CD53CD54CD55F2BECD56B2CFCD57CD58CD59CD5ACD5BCD5CD1C1F2BACD5DCD5ECD5FCD60CD61F2BCD4E9CD62CD63F2BBF2B6F2BFF2BDCD64F2B9CD65CD66F2C7F2C4F2C6CD67CD68F2CAF2C2F2C0CD69CD6ACD6BF2C5CD6CCD6DCD6ECD6FCD70D6FBCD71CD72CD73F2C1CD74C7F9C9DFCD75F2C8B9C6B5B0CD76CD77F2C3F2C9F2D0F2D6CD78CD79BBD7CD7ACD7BCD7CF2D5CDDCCD7DD6EBCD7ECD80F2D2F2D4CD81CD82CD83CD84B8F2CD85CD86CD87CD88F2CBCD89CD8ACD8BF2CEC2F9CD8CD5DDF2CCF2CDF2CFF2D3CD8DCD8ECD8FF2D9D3BCCD90CD91CD92CD93B6EACD94CAF1CD95B7E4F2D7CD96CD97CD98F2D8F2DAF2DDF2DBCD99CD9AF2DCCD9BCD9CCD9DCD9ED1D1F2D1CD9FCDC9CDA0CECFD6A9CE40F2E3CE41C3DBCE42F2E0CE43CE44C0AFF2ECF2DECE45F2E1CE46CE47CE48F2E8CE49CE4ACE4BCE4CF2E2CE4DCE4EF2E7CE4FCE50F2E6CE51CE52F2E9CE53CE54CE55F2DFCE56CE57F2E4F2EACE58CE59CE5ACE5BCE5CCE5DCE5ED3ACF2E5B2F5CE5FCE60F2F2CE61D0ABCE62CE63CE64CE65F2F5CE66CE67CE68BBC8CE69F2F9CE6ACE6BCE6CCE6DCE6ECE6FF2F0CE70CE71F2F6F2F8F2FACE72CE73CE74CE75CE76CE77CE78CE79F2F3CE7AF2F1CE7BCE7CCE7DBAFBCE7EB5FBCE80CE81CE82CE83F2EFF2F7F2EDF2EECE84CE85CE86F2EBF3A6CE87F3A3CE88CE89F3A2CE8ACE8BF2F4CE8CC8DACE8DCE8ECE8FCE90CE91F2FBCE92CE93CE94F3A5CE95CE96CE97CE98CE99CE9ACE9BC3F8CE9CCE9DCE9ECE9FCEA0CF40CF41CF42F2FDCF43CF44F3A7F3A9F3A4CF45F2FCCF46CF47CF48F3ABCF49F3AACF4ACF4BCF4CCF4DC2DDCF4ECF4FF3AECF50CF51F3B0CF52CF53CF54CF55CF56F3A1CF57CF58CF59F3B1F3ACCF5ACF5BCF5CCF5DCF5EF3AFF2FEF3ADCF5FCF60CF61CF62CF63CF64CF65F3B2CF66CF67CF68CF69F3B4CF6ACF6BCF6CCF6DF3A8CF6ECF6FCF70CF71F3B3CF72CF73CF74F3B5CF75CF76CF77CF78CF79CF7ACF7BCF7CCF7DCF7ED0B7CF80CF81CF82CF83F3B8CF84CF85CF86CF87D9F9CF88CF89CF8ACF8BCF8CCF8DF3B9CF8ECF8FCF90CF91CF92CF93CF94CF95F3B7CF96C8E4F3B6CF97CF98CF99CF9AF3BACF9BCF9CCF9DCF9ECF9FF3BBB4C0CFA0D040D041D042D043D044D045D046D047D048D049D04AD04BD04CD04DEEC3D04ED04FD050D051D052D053F3BCD054D055F3BDD056D057D058D1AAD059D05AD05BF4ACD0C6D05CD05DD05ED05FD060D061D0D0D1DCD062D063D064D065D066D067CFCED068D069BDD6D06AD1C3D06BD06CD06DD06ED06FD070D071BAE2E1E9D2C2F1C2B2B9D072D073B1EDF1C3D074C9C0B3C4D075D9F2D076CBA5D077F1C4D078D079D07AD07BD6D4D07CD07DD07ED080D081F1C5F4C0F1C6D082D4ACF1C7D083B0C0F4C1D084D085F4C2D086D087B4FCD088C5DBD089D08AD08BD08CCCBBD08DD08ED08FD0E4D090D091D092D093D094CDE0D095D096D097D098D099F1C8D09AD9F3D09BD09CD09DD09ED09FD0A0B1BBD140CFAED141D142D143B8A4D144D145D146D147D148F1CAD149D14AD14BD14CF1CBD14DD14ED14FD150B2C3C1D1D151D152D7B0F1C9D153D154F1CCD155D156D157D158F1CED159D15AD15BD9F6D15CD2E1D4A3D15DD15EF4C3C8B9D15FD160D161D162D163F4C4D164D165F1CDF1CFBFE3F1D0D166D167F1D4D168D169D16AD16BD16CD16DD16EF1D6F1D1D16FC9D1C5E1D170D171D172C2E3B9FCD173D174F1D3D175F1D5D176D177D178B9D3D179D17AD17BD17CD17DD17ED180F1DBD181D182D183D184D185BAD6D186B0FDF1D9D187D188D189D18AD18BF1D8F1D2F1DAD18CD18DD18ED18FD190F1D7D191D192D193C8ECD194D195D196D197CDCAF1DDD198D199D19AD19BE5BDD19CD19DD19EF1DCD19FF1DED1A0D240D241D242D243D244D245D246D247D248F1DFD249D24ACFE5D24BD24CD24DD24ED24FD250D251D252D253D254D255D256D257D258D259D25AD25BD25CD25DD25ED25FD260D261D262D263F4C5BDF3D264D265D266D267D268D269F1E0D26AD26BD26CD26DD26ED26FD270D271D272D273D274D275D276D277D278D279D27AD27BD27CD27DF1E1D27ED280D281CEF7D282D2AAD283F1FBD284D285B8B2D286D287D288D289D28AD28BD28CD28DD28ED28FD290D291D292D293D294D295D296D297D298D299D29AD29BD29CD29DD29ED29FD2A0D340D341D342D343D344D345D346D347D348D349D34AD34BD34CD34DD34ED34FD350D351D352D353D354D355D356D357D358D359D35AD35BD35CD35DD35EBCFBB9DBD35FB9E6C3D9CAD3EAE8C0C0BEF5EAE9EAEAEAEBD360EAECEAEDEAEEEAEFBDC7D361D362D363F5FBD364D365D366F5FDD367F5FED368F5FCD369D36AD36BD36CBDE2D36DF6A1B4A5D36ED36FD370D371F6A2D372D373D374F6A3D375D376D377ECB2D378D379D37AD37BD37CD37DD37ED380D381D382D383D384D1D4D385D386D387D388D389D38AD9EAD38BD38CD38DD38ED38FD390D391D392D393D394D395D396D397D398D399D39AD39BD39CD39DD39ED39FD3A0D440D441D442D443D444D445D446D447D448D449D44AD44BD44CD44DD44ED44FD450D451D452D453D454D455D456D457D458D459D45AD45BD45CD45DD45ED45FF6A4D460D461D462D463D464D465D466D467D468EEBAD469D46AD46BD46CD46DD46ED46FD470D471D472D473D474D475D476D477D478D479D47AD47BD47CD47DD47ED480D481D482D483D484D485D486D487D488D489D48AD48BD48CD48DD48ED48FD490D491D492D493D494D495D496D497D498D499D5B2D49AD49BD49CD49DD49ED49FD4A0D540D541D542D543D544D545D546D547D3FECCDCD548D549D54AD54BD54CD54DD54ED54FCAC4D550D551D552D553D554D555D556D557D558D559D55AD55BD55CD55DD55ED55FD560D561D562D563D564D565D566D567D568D569D56AD56BD56CD56DD56ED56FD570D571D572D573D574D575D576D577D578D579D57AD57BD57CD57DD57ED580D581D582D583D584D585D586D587D588D589D58AD58BD58CD58DD58ED58FD590D591D592D593D594D595D596D597D598D599D59AD59BD59CD59DD59ED59FD5A0D640D641D642D643D644D645D646D647D648D649D64AD64BD64CD64DD64ED64FD650D651D652D653D654D655D656D657D658D659D65AD65BD65CD65DD65ED65FD660D661D662E5C0D663D664D665D666D667D668D669D66AD66BD66CD66DD66ED66FD670D671D672D673D674D675D676D677D678D679D67AD67BD67CD67DD67ED680D681F6A5D682D683D684D685D686D687D688D689D68AD68BD68CD68DD68ED68FD690D691D692D693D694D695D696D697D698D699D69AD69BD69CD69DD69ED69FD6A0D740D741D742D743D744D745D746D747D748D749D74AD74BD74CD74DD74ED74FD750D751D752D753D754D755D756D757D758D759D75AD75BD75CD75DD75ED75FBEAFD760D761D762D763D764C6A9D765D766D767D768D769D76AD76BD76CD76DD76ED76FD770D771D772D773D774D775D776D777D778D779D77AD77BD77CD77DD77ED780D781D782D783D784D785D786D787D788D789D78AD78BD78CD78DD78ED78FD790D791D792D793D794D795D796D797D798DAA5BCC6B6A9B8BCC8CFBCA5DAA6DAA7CCD6C8C3DAA8C6FDD799D1B5D2E9D1B6BCC7D79ABDB2BBE4DAA9DAAAD1C8DAABD0EDB6EFC2DBD79BCBCFB7EDC9E8B7C3BEF7D6A4DAACDAADC6C0D7E7CAB6D79CD5A9CBDFD5EFDAAED6DFB4CADAB0DAAFD79DD2EBDAB1DAB2DAB3CAD4DAB4CAABDAB5DAB6B3CFD6EFDAB7BBB0B5AEDAB8DAB9B9EED1AFD2E8DABAB8C3CFEAB2EFDABBDABCD79EBDEBCEDCD3EFDABDCEF3DABED3D5BBE5DABFCBB5CBD0DAC0C7EBD6EEDAC1C5B5B6C1DAC2B7CCBFCEDAC3DAC4CBADDAC5B5F7DAC6C1C2D7BBDAC7CCB8D79FD2EAC4B1DAC8B5FDBBD1DAC9D0B3DACADACBCEBDDACCDACDDACEB2F7DAD1DACFD1E8DAD0C3D5DAD2D7A0DAD3DAD4DAD5D0BBD2A5B0F9DAD6C7ABDAD7BDF7C3A1DAD8DAD9C3FDCCB7DADADADBC0BEC6D7DADCDADDC7B4DADEDADFB9C8D840D841D842D843D844D845D846D847D848BBEDD849D84AD84BD84CB6B9F4F8D84DF4F9D84ED84FCDE3D850D851D852D853D854D855D856D857F5B9D858D859D85AD85BEBE0D85CD85DD85ED85FD860D861CFF3BBBFD862D863D864D865D866D867D868BAC0D4A5D869D86AD86BD86CD86DD86ED86FE1D9D870D871D872D873F5F4B1AAB2F2D874D875D876D877D878D879D87AF5F5D87BD87CF5F7D87DD87ED880BAD1F5F6D881C3B2D882D883D884D885D886D887D888F5F9D889D88AD88BF5F8D88CD88DD88ED88FD890D891D892D893D894D895D896D897D898D899D89AD89BD89CD89DD89ED89FD8A0D940D941D942D943D944D945D946D947D948D949D94AD94BD94CD94DD94ED94FD950D951D952D953D954D955D956D957D958D959D95AD95BD95CD95DD95ED95FD960D961D962D963D964D965D966D967D968D969D96AD96BD96CD96DD96ED96FD970D971D972D973D974D975D976D977D978D979D97AD97BD97CD97DD97ED980D981D982D983D984D985D986D987D988D989D98AD98BD98CD98DD98ED98FD990D991D992D993D994D995D996D997D998D999D99AD99BD99CD99DD99ED99FD9A0DA40DA41DA42DA43DA44DA45DA46DA47DA48DA49DA4ADA4BDA4CDA4DDA4EB1B4D5EAB8BADA4FB9B1B2C6D4F0CFCDB0DCD5CBBBF5D6CAB7B7CCB0C6B6B1E1B9BAD6FCB9E1B7A1BCFAEADAEADBCCF9B9F3EADCB4FBC3B3B7D1BAD8EADDD4F4EADEBCD6BBDFEADFC1DEC2B8D4DFD7CAEAE0EAE1EAE4EAE2EAE3C9DEB8B3B6C4EAE5CAEAC9CDB4CDDA50DA51E2D9C5E2EAE6C0B5DA52D7B8EAE7D7ACC8FCD8D3D8CDD4DEDA53D4F9C9C4D3AEB8D3B3E0DA54C9E2F4F6DA55DA56DA57BAD5DA58F4F7DA59DA5AD7DFDA5BDA5CF4F1B8B0D5D4B8CFC6F0DA5DDA5EDA5FDA60DA61DA62DA63DA64DA65B3C3DA66DA67F4F2B3ACDA68DA69DA6ADA6BD4BDC7F7DA6CDA6DDA6EDA6FDA70F4F4DA71DA72F4F3DA73DA74DA75DA76DA77DA78DA79DA7ADA7BDA7CCCCBDA7DDA7EDA80C8A4DA81DA82DA83DA84DA85DA86DA87DA88DA89DA8ADA8BDA8CDA8DF4F5DA8ED7E3C5BFF5C0DA8FDA90F5BBDA91F5C3DA92F5C2DA93D6BAF5C1DA94DA95DA96D4BEF5C4DA97F5CCDA98DA99DA9ADA9BB0CFB5F8DA9CF5C9F5CADA9DC5DCDA9EDA9FDAA0DB40F5C5F5C6DB41DB42F5C7F5CBDB43BEE0F5C8B8FADB44DB45DB46F5D0F5D3DB47DB48DB49BFE7DB4AB9F2F5BCF5CDDB4BDB4CC2B7DB4DDB4EDB4FCCF8DB50BCF9DB51F5CEF5CFF5D1B6E5F5D2DB52F5D5DB53DB54DB55DB56DB57DB58DB59F5BDDB5ADB5BDB5CF5D4D3BBDB5DB3ECDB5EDB5FCCA4DB60DB61DB62DB63F5D6DB64DB65DB66DB67DB68DB69DB6ADB6BF5D7BEE1F5D8DB6CDB6DCCDFF5DBDB6EDB6FDB70DB71DB72B2C8D7D9DB73F5D9DB74F5DAF5DCDB75F5E2DB76DB77DB78F5E0DB79DB7ADB7BF5DFF5DDDB7CDB7DF5E1DB7EDB80F5DEF5E4F5E5DB81CCE3DB82DB83E5BFB5B8F5E3F5E8CCA3DB84DB85DB86DB87DB88F5E6F5E7DB89DB8ADB8BDB8CDB8DDB8EF5BEDB8FDB90DB91DB92DB93DB94DB95DB96DB97DB98DB99DB9AB1C4DB9BDB9CF5BFDB9DDB9EB5C5B2E4DB9FF5ECF5E9DBA0B6D7DC40F5EDDC41F5EADC42DC43DC44DC45DC46F5EBDC47DC48B4DADC49D4EADC4ADC4BDC4CF5EEDC4DB3F9DC4EDC4FDC50DC51DC52DC53DC54F5EFF5F1DC55DC56DC57F5F0DC58DC59DC5ADC5BDC5CDC5DDC5EF5F2DC5FF5F3DC60DC61DC62DC63DC64DC65DC66DC67DC68DC69DC6ADC6BC9EDB9AADC6CDC6DC7FBDC6EDC6FB6E3DC70DC71DC72DC73DC74DC75DC76CCC9DC77DC78DC79DC7ADC7BDC7CDC7DDC7EDC80DC81DC82DC83DC84DC85DC86DC87DC88DC89DC8AEAA6DC8BDC8CDC8DDC8EDC8FDC90DC91DC92DC93DC94DC95DC96DC97DC98DC99DC9ADC9BDC9CDC9DDC9EDC9FDCA0DD40DD41DD42DD43DD44DD45DD46DD47DD48DD49DD4ADD4BDD4CDD4DDD4EDD4FDD50DD51DD52DD53DD54DD55DD56DD57DD58DD59DD5ADD5BDD5CDD5DDD5EDD5FDD60DD61DD62DD63DD64DD65DD66DD67DD68DD69DD6ADD6BDD6CDD6DDD6EDD6FDD70DD71DD72DD73DD74DD75DD76DD77DD78DD79DD7ADD7BDD7CDD7DDD7EDD80DD81DD82DD83DD84DD85DD86DD87DD88DD89DD8ADD8BDD8CDD8DDD8EDD8FDD90DD91DD92DD93DD94DD95DD96DD97DD98DD99DD9ADD9BDD9CDD9DDD9EDD9FDDA0DE40DE41DE42DE43DE44DE45DE46DE47DE48DE49DE4ADE4BDE4CDE4DDE4EDE4FDE50DE51DE52DE53DE54DE55DE56DE57DE58DE59DE5ADE5BDE5CDE5DDE5EDE5FDE60B3B5D4FEB9ECD0F9DE61E9EDD7AAE9EEC2D6C8EDBAE4E9EFE9F0E9F1D6E1E9F2E9F3E9F5E9F4E9F6E9F7C7E1E9F8D4D8E9F9BDCEDE62E9FAE9FBBDCFE9FCB8A8C1BEE9FDB1B2BBD4B9F5E9FEDE63EAA1EAA2EAA3B7F8BCADDE64CAE4E0CED4AFCFBDD5B7EAA4D5DEEAA5D0C1B9BCDE65B4C7B1D9DE66DE67DE68C0B1DE69DE6ADE6BDE6CB1E6B1E7DE6DB1E8DE6EDE6FDE70DE71B3BDC8E8DE72DE73DE74DE75E5C1DE76DE77B1DFDE78DE79DE7AC1C9B4EFDE7BDE7CC7A8D3D8DE7DC6F9D1B8DE7EB9FDC2F5DE80DE81DE82DE83DE84D3ADDE85D4CBBDFCDE86E5C2B7B5E5C3DE87DE88BBB9D5E2DE89BDF8D4B6CEA5C1ACB3D9DE8ADE8BCCF6DE8CE5C6E5C4E5C8DE8DE5CAE5C7B5CFC6C8DE8EB5FCE5C5DE8FCAF6DE90DE91E5C9DE92DE93DE94C3D4B1C5BCA3DE95DE96DE97D7B7DE98DE99CDCBCBCDCACACCD3E5CCE5CBC4E6DE9ADE9BD1A1D1B7E5CDDE9CE5D0DE9DCDB8D6F0E5CFB5DDDE9ECDBEDE9FE5D1B6BADEA0DF40CDA8B9E4DF41CAC5B3D1CBD9D4ECE5D2B7EADF42DF43DF44E5CEDF45DF46DF47DF48DF49DF4AE5D5B4FEE5D6DF4BDF4CDF4DDF4EDF4FE5D3E5D4DF50D2DDDF51DF52C2DFB1C6DF53D3E2DF54DF55B6DDCBECDF56E5D7DF57DF58D3F6DF59DF5ADF5BDF5CDF5DB1E9DF5EB6F4E5DAE5D8E5D9B5C0DF5FDF60DF61D2C5E5DCDF62DF63E5DEDF64DF65DF66DF67DF68DF69E5DDC7B2DF6AD2A3DF6BDF6CE5DBDF6DDF6EDF6FDF70D4E2D5DADF71DF72DF73DF74DF75E5E0D7F1DF76DF77DF78DF79DF7ADF7BDF7CE5E1DF7DB1DCD1FBDF7EE5E2E5E4DF80DF81DF82DF83E5E3DF84DF85E5E5DF86DF87DF88DF89DF8AD2D8DF8BB5CBDF8CE7DFDF8DDAF5DF8EDAF8DF8FDAF6DF90DAF7DF91DF92DF93DAFAD0CFC4C7DF94DF95B0EEDF96DF97DF98D0B0DF99DAF9DF9AD3CABAAADBA2C7F1DF9BDAFCDAFBC9DBDAFDDF9CDBA1D7DEDAFEC1DADF9DDF9EDBA5DF9FDFA0D3F4E040E041DBA7DBA4E042DBA8E043E044BDBCE045E046E047C0C9DBA3DBA6D6A3E048DBA9E049E04AE04BDBADE04CE04DE04EDBAEDBACBAC2E04FE050E051BFA4DBABE052E053E054DBAAD4C7B2BFE055E056DBAFE057B9F9E058DBB0E059E05AE05BE05CB3BBE05DE05EE05FB5A6E060E061E062E063B6BCDBB1E064E065E066B6F5E067DBB2E068E069E06AE06BE06CE06DE06EE06FE070E071E072E073E074E075E076E077E078E079E07AE07BB1C9E07CE07DE07EE080DBB4E081E082E083DBB3DBB5E084E085E086E087E088E089E08AE08BE08CE08DE08EDBB7E08FDBB6E090E091E092E093E094E095E096DBB8E097E098E099E09AE09BE09CE09DE09EE09FDBB9E0A0E140DBBAE141E142D3CFF4FAC7F5D7C3C5E4F4FCF4FDF4FBE143BEC6E144E145E146E147D0EFE148E149B7D3E14AE14BD4CDCCAAE14CE14DF5A2F5A1BAA8F4FECBD6E14EE14FE150F5A4C0D2E151B3EAE152CDAAF5A5F5A3BDB4F5A8E153F5A9BDCDC3B8BFE1CBE1F5AAE154E155E156F5A6F5A7C4F0E157E158E159E15AE15BF5ACE15CB4BCE15DD7EDE15EB4D7F5ABF5AEE15FE160F5ADF5AFD0D1E161E162E163E164E165E166E167C3D1C8A9E168E169E16AE16BE16CE16DF5B0F5B1E16EE16FE170E171E172E173F5B2E174E175F5B3F5B4F5B5E176E177E178E179F5B7F5B6E17AE17BE17CE17DF5B8E17EE180E181E182E183E184E185E186E187E188E189E18AB2C9E18BD3D4CACDE18CC0EFD6D8D2B0C1BFE18DBDF0E18EE18FE190E191E192E193E194E195E196E197B8AAE198E199E19AE19BE19CE19DE19EE19FE1A0E240E241E242E243E244E245E246E247E248E249E24AE24BE24CE24DE24EE24FE250E251E252E253E254E255E256E257E258E259E25AE25BE25CE25DE25EE25FE260E261E262E263E264E265E266E267E268E269E26AE26BE26CE26DE26EE26FE270E271E272E273E274E275E276E277E278E279E27AE27BE27CE27DE27EE280E281E282E283E284E285E286E287E288E289E28AE28BE28CE28DE28EE28FE290E291E292E293E294E295E296E297E298E299E29AE29BE29CE29DE29EE29FE2A0E340E341E342E343E344E345E346E347E348E349E34AE34BE34CE34DE34EE34FE350E351E352E353E354E355E356E357E358E359E35AE35BE35CE35DE35EE35FE360E361E362E363E364E365E366E367E368E369E36AE36BE36CE36DBCF8E36EE36FE370E371E372E373E374E375E376E377E378E379E37AE37BE37CE37DE37EE380E381E382E383E384E385E386E387F6C6E388E389E38AE38BE38CE38DE38EE38FE390E391E392E393E394E395E396E397E398E399E39AE39BE39CE39DE39EE39FE3A0E440E441E442E443E444E445F6C7E446E447E448E449E44AE44BE44CE44DE44EE44FE450E451E452E453E454E455E456E457E458E459E45AE45BE45CE45DE45EF6C8E45FE460E461E462E463E464E465E466E467E468E469E46AE46BE46CE46DE46EE46FE470E471E472E473E474E475E476E477E478E479E47AE47BE47CE47DE47EE480E481E482E483E484E485E486E487E488E489E48AE48BE48CE48DE48EE48FE490E491E492E493E494E495E496E497E498E499E49AE49BE49CE49DE49EE49FE4A0E540E541E542E543E544E545E546E547E548E549E54AE54BE54CE54DE54EE54FE550E551E552E553E554E555E556E557E558E559E55AE55BE55CE55DE55EE55FE560E561E562E563E564E565E566E567E568E569E56AE56BE56CE56DE56EE56FE570E571E572E573F6C9E574E575E576E577E578E579E57AE57BE57CE57DE57EE580E581E582E583E584E585E586E587E588E589E58AE58BE58CE58DE58EE58FE590E591E592E593E594E595E596E597E598E599E59AE59BE59CE59DE59EE59FF6CAE5A0E640E641E642E643E644E645E646E647E648E649E64AE64BE64CE64DE64EE64FE650E651E652E653E654E655E656E657E658E659E65AE65BE65CE65DE65EE65FE660E661E662F6CCE663E664E665E666E667E668E669E66AE66BE66CE66DE66EE66FE670E671E672E673E674E675E676E677E678E679E67AE67BE67CE67DE67EE680E681E682E683E684E685E686E687E688E689E68AE68BE68CE68DE68EE68FE690E691E692E693E694E695E696E697E698E699E69AE69BE69CE69DF6CBE69EE69FE6A0E740E741E742E743E744E745E746E747F7E9E748E749E74AE74BE74CE74DE74EE74FE750E751E752E753E754E755E756E757E758E759E75AE75BE75CE75DE75EE75FE760E761E762E763E764E765E766E767E768E769E76AE76BE76CE76DE76EE76FE770E771E772E773E774E775E776E777E778E779E77AE77BE77CE77DE77EE780E781E782E783E784E785E786E787E788E789E78AE78BE78CE78DE78EE78FE790E791E792E793E794E795E796E797E798E799E79AE79BE79CE79DE79EE79FE7A0E840E841E842E843E844E845E846E847E848E849E84AE84BE84CE84DE84EF6CDE84FE850E851E852E853E854E855E856E857E858E859E85AE85BE85CE85DE85EE85FE860E861E862E863E864E865E866E867E868E869E86AE86BE86CE86DE86EE86FE870E871E872E873E874E875E876E877E878E879E87AF6CEE87BE87CE87DE87EE880E881E882E883E884E885E886E887E888E889E88AE88BE88CE88DE88EE88FE890E891E892E893E894EEC4EEC5EEC6D5EBB6A4EEC8EEC7EEC9EECAC7A5EECBEECCE895B7B0B5F6EECDEECFE896EECEE897B8C6EED0EED1EED2B6DBB3AED6D3C4C6B1B5B8D6EED3EED4D4BFC7D5BEFBCED9B9B3EED6EED5EED8EED7C5A5EED9EEDAC7AEEEDBC7AFEEDCB2A7EEDDEEDEEEDFEEE0EEE1D7EAEEE2EEE3BCD8EEE4D3CBCCFAB2ACC1E5EEE5C7A6C3ADE898EEE6EEE7EEE8EEE9EEEAEEEBEEECE899EEEDEEEEEEEFE89AE89BEEF0EEF1EEF2EEF4EEF3E89CEEF5CDADC2C1EEF6EEF7EEF8D5A1EEF9CFB3EEFAEEFBE89DEEFCEEFDEFA1EEFEEFA2B8F5C3FAEFA3EFA4BDC2D2BFB2F9EFA5EFA6EFA7D2F8EFA8D6FDEFA9C6CCE89EEFAAEFABC1B4EFACCFFACBF8EFAEEFADB3FAB9F8EFAFEFB0D0E2EFB1EFB2B7E6D0BFEFB3EFB4EFB5C8F1CCE0EFB6EFB7EFB8EFB9EFBAD5E0EFBBB4EDC3AAEFBCE89FEFBDEFBEEFBFE8A0CEFDEFC0C2E0B4B8D7B6BDF5E940CFC7EFC3EFC1EFC2EFC4B6A7BCFCBEE2C3CCEFC5EFC6E941EFC7EFCFEFC8EFC9EFCAC7C2EFF1B6CDEFCBE942EFCCEFCDB6C6C3BEEFCEE943EFD0EFD1EFD2D5F2E944EFD3C4F7E945EFD4C4F8EFD5EFD6B8E4B0F7EFD7EFD8EFD9E946EFDAEFDBEFDCEFDDE947EFDEBEB5EFE1EFDFEFE0E948EFE2EFE3C1CDEFE4EFE5EFE6EFE7EFE8EFE9EFEAEFEBEFECC0D8E949EFEDC1ADEFEEEFEFEFF0E94AE94BCFE2E94CE94DE94EE94FE950E951E952E953B3A4E954E955E956E957E958E959E95AE95BE95CE95DE95EE95FE960E961E962E963E964E965E966E967E968E969E96AE96BE96CE96DE96EE96FE970E971E972E973E974E975E976E977E978E979E97AE97BE97CE97DE97EE980E981E982E983E984E985E986E987E988E989E98AE98BE98CE98DE98EE98FE990E991E992E993E994E995E996E997E998E999E99AE99BE99CE99DE99EE99FE9A0EA40EA41EA42EA43EA44EA45EA46EA47EA48EA49EA4AEA4BEA4CEA4DEA4EEA4FEA50EA51EA52EA53EA54EA55EA56EA57EA58EA59EA5AEA5BC3C5E3C5C9C1E3C6EA5CB1D5CECAB4B3C8F2E3C7CFD0E3C8BCE4E3C9E3CAC3C6D5A2C4D6B9EBCEC5E3CBC3F6E3CCEA5DB7A7B8F3BAD2E3CDE3CED4C4E3CFEA5EE3D0D1CBE3D1E3D2E3D3E3D4D1D6E3D5B2FBC0BBE3D6EA5FC0ABE3D7E3D8E3D9EA60E3DAE3DBEA61B8B7DAE2EA62B6D3EA63DAE4DAE3EA64EA65EA66EA67EA68EA69EA6ADAE6EA6BEA6CEA6DC8EEEA6EEA6FDAE5B7C0D1F4D2F5D5F3BDD7EA70EA71EA72EA73D7E8DAE8DAE7EA74B0A2CDD3EA75DAE9EA76B8BDBCCAC2BDC2A4B3C2DAEAEA77C2AAC4B0BDB5EA78EA79CFDEEA7AEA7BEA7CDAEBC9C2EA7DEA7EEA80EA81EA82B1DDEA83EA84EA85DAECEA86B6B8D4BAEA87B3FDEA88EA89DAEDD4C9CFD5C5E3EA8ADAEEEA8BEA8CEA8DEA8EEA8FDAEFEA90DAF0C1EACCD5CFDDEA91EA92EA93EA94EA95EA96EA97EA98EA99EA9AEA9BEA9CEA9DD3E7C2A1EA9EDAF1EA9FEAA0CBE5EB40DAF2EB41CBE6D2FEEB42EB43EB44B8F4EB45EB46DAF3B0AFCFB6EB47EB48D5CFEB49EB4AEB4BEB4CEB4DEB4EEB4FEB50EB51EB52CBEDEB53EB54EB55EB56EB57EB58EB59EB5ADAF4EB5BEB5CE3C4EB5DEB5EC1A5EB5FEB60F6BFEB61EB62F6C0F6C1C4D1EB63C8B8D1E3EB64EB65D0DBD1C5BCAFB9CDEB66EFF4EB67EB68B4C6D3BAF6C2B3FBEB69EB6AF6C3EB6BEB6CB5F1EB6DEB6EEB6FEB70EB71EB72EB73EB74EB75EB76F6C5EB77EB78EB79EB7AEB7BEB7CEB7DD3EAF6A7D1A9EB7EEB80EB81EB82F6A9EB83EB84EB85F6A8EB86EB87C1E3C0D7EB88B1A2EB89EB8AEB8BEB8CCEEDEB8DD0E8F6ABEB8EEB8FCFF6EB90F6AAD5F0F6ACC3B9EB91EB92EB93BBF4F6AEF6ADEB94EB95EB96C4DEEB97EB98C1D8EB99EB9AEB9BEB9CEB9DCBAAEB9ECFBCEB9FEBA0EC40EC41EC42EC43EC44EC45EC46EC47EC48F6AFEC49EC4AF6B0EC4BEC4CF6B1EC4DC2B6EC4EEC4FEC50EC51EC52B0D4C5F9EC53EC54EC55EC56F6B2EC57EC58EC59EC5AEC5BEC5CEC5DEC5EEC5FEC60EC61EC62EC63EC64EC65EC66EC67EC68EC69C7E0F6A6EC6AEC6BBEB8EC6CEC6DBEB2EC6EB5E5EC6FEC70B7C7EC71BFBFC3D2C3E6EC72EC73D8CCEC74EC75EC76B8EFEC77EC78EC79EC7AEC7BEC7CEC7DEC7EEC80BDF9D1A5EC81B0D0EC82EC83EC84EC85EC86F7B0EC87EC88EC89EC8AEC8BEC8CEC8DEC8EF7B1EC8FEC90EC91EC92EC93D0ACEC94B0B0EC95EC96EC97F7B2F7B3EC98F7B4EC99EC9AEC9BC7CAEC9CEC9DEC9EEC9FECA0ED40ED41BECFED42ED43F7B7ED44ED45ED46ED47ED48ED49ED4AF7B6ED4BB1DEED4CF7B5ED4DED4EF7B8ED4FF7B9ED50ED51ED52ED53ED54ED55ED56ED57ED58ED59ED5AED5BED5CED5DED5EED5FED60ED61ED62ED63ED64ED65ED66ED67ED68ED69ED6AED6BED6CED6DED6EED6FED70ED71ED72ED73ED74ED75ED76ED77ED78ED79ED7AED7BED7CED7DED7EED80ED81CEA4C8CDED82BAABE8B8E8B9E8BABEC2ED83ED84ED85ED86ED87D2F4ED88D4CFC9D8ED89ED8AED8BED8CED8DED8EED8FED90ED91ED92ED93ED94ED95ED96ED97ED98ED99ED9AED9BED9CED9DED9EED9FEDA0EE40EE41EE42EE43EE44EE45EE46EE47EE48EE49EE4AEE4BEE4CEE4DEE4EEE4FEE50EE51EE52EE53EE54EE55EE56EE57EE58EE59EE5AEE5BEE5CEE5DEE5EEE5FEE60EE61EE62EE63EE64EE65EE66EE67EE68EE69EE6AEE6BEE6CEE6DEE6EEE6FEE70EE71EE72EE73EE74EE75EE76EE77EE78EE79EE7AEE7BEE7CEE7DEE7EEE80EE81EE82EE83EE84EE85EE86EE87EE88EE89EE8AEE8BEE8CEE8DEE8EEE8FEE90EE91EE92EE93EE94EE95EE96EE97EE98EE99EE9AEE9BEE9CEE9DEE9EEE9FEEA0EF40EF41EF42EF43EF44EF45D2B3B6A5C7EAF1FCCFEECBB3D0EBE7EFCDE7B9CBB6D9F1FDB0E4CBCCF1FED4A4C2ADC1ECC6C4BEB1F2A1BCD5EF46F2A2F2A3EF47F2A4D2C3C6B5EF48CDC7F2A5EF49D3B1BFC5CCE2EF4AF2A6F2A7D1D5B6EEF2A8F2A9B5DFF2AAF2ABEF4BB2FCF2ACF2ADC8A7EF4CEF4DEF4EEF4FEF50EF51EF52EF53EF54EF55EF56EF57EF58EF59EF5AEF5BEF5CEF5DEF5EEF5FEF60EF61EF62EF63EF64EF65EF66EF67EF68EF69EF6AEF6BEF6CEF6DEF6EEF6FEF70EF71B7E7EF72EF73ECA9ECAAECABEF74ECACEF75EF76C6AEECADECAEEF77EF78EF79B7C9CAB3EF7AEF7BEF7CEF7DEF7EEF80EF81E2B8F7CFEF82EF83EF84EF85EF86EF87EF88EF89EF8AEF8BEF8CEF8DEF8EEF8FEF90EF91EF92EF93EF94EF95EF96EF97EF98EF99EF9AEF9BEF9CEF9DEF9EEF9FEFA0F040F041F042F043F044F7D0F045F046B2CDF047F048F049F04AF04BF04CF04DF04EF04FF050F051F052F053F054F055F056F057F058F059F05AF05BF05CF05DF05EF05FF060F061F062F063F7D1F064F065F066F067F068F069F06AF06BF06CF06DF06EF06FF070F071F072F073F074F075F076F077F078F079F07AF07BF07CF07DF07EF080F081F082F083F084F085F086F087F088F089F7D3F7D2F08AF08BF08CF08DF08EF08FF090F091F092F093F094F095F096E2BBF097BCA2F098E2BCE2BDE2BEE2BFE2C0E2C1B7B9D2FBBDA4CACEB1A5CBC7F099E2C2B6FCC8C4E2C3F09AF09BBDC8F09CB1FDE2C4F09DB6F6E2C5C4D9F09EF09FE2C6CFDAB9DDE2C7C0A1F0A0E2C8B2F6F140E2C9F141C1F3E2CAE2CBC2F8E2CCE2CDE2CECAD7D8B8D9E5CFE3F142F143F144F145F146F147F148F149F14AF14BF14CF0A5F14DF14EDCB0F14FF150F151F152F153F154F155F156F157F158F159F15AF15BF15CF15DF15EF15FF160F161F162F163F164F165F166F167F168F169F16AF16BF16CF16DF16EF16FF170F171F172F173F174F175F176F177F178F179F17AF17BF17CF17DF17EF180F181F182F183F184F185F186F187F188F189F18AF18BF18CF18DF18EF18FF190F191F192F193F194F195F196F197F198F199F19AF19BF19CF19DF19EF19FF1A0F240F241F242F243F244F245F246F247F248F249F24AF24BF24CF24DF24EF24FF250F251F252F253F254F255F256F257F258F259F25AF25BF25CF25DF25EF25FF260F261F262F263F264F265F266F267F268F269F26AF26BF26CF26DF26EF26FF270F271F272F273F274F275F276F277F278F279F27AF27BF27CF27DF27EF280F281F282F283F284F285F286F287F288F289F28AF28BF28CF28DF28EF28FF290F291F292F293F294F295F296F297F298F299F29AF29BF29CF29DF29EF29FF2A0F340F341F342F343F344F345F346F347F348F349F34AF34BF34CF34DF34EF34FF350F351C2EDD4A6CDD4D1B1B3DBC7FDF352B2B5C2BFE6E0CABBE6E1E6E2BED4E6E3D7A4CDD5E6E5BCDDE6E4E6E6E6E7C2EEF353BDBEE6E8C2E6BAA7E6E9F354E6EAB3D2D1E9F355F356BFA5E6EBC6EFE6ECE6EDF357F358E6EEC6ADE6EFF359C9A7E6F0E6F1E6F2E5B9E6F3E6F4C2E2E6F5E6F6D6E8E6F7F35AE6F8B9C7F35BF35CF35DF35EF35FF360F361F7BBF7BAF362F363F364F365F7BEF7BCBAA1F366F7BFF367F7C0F368F369F36AF7C2F7C1F7C4F36BF36CF7C3F36DF36EF36FF370F371F7C5F7C6F372F373F374F375F7C7F376CBE8F377F378F379F37AB8DFF37BF37CF37DF37EF380F381F7D4F382F7D5F383F384F385F386F7D6F387F388F389F38AF7D8F38BF7DAF38CF7D7F38DF38EF38FF390F391F392F393F394F395F7DBF396F7D9F397F398F399F39AF39BF39CF39DD7D7F39EF39FF3A0F440F7DCF441F442F443F444F445F446F7DDF447F448F449F7DEF44AF44BF44CF44DF44EF44FF450F451F452F453F454F7DFF455F456F457F7E0F458F459F45AF45BF45CF45DF45EF45FF460F461F462DBCBF463F464D8AAF465F466F467F468F469F46AF46BF46CE5F7B9EDF46DF46EF46FF470BFFDBBEAF7C9C6C7F7C8F471F7CAF7CCF7CBF472F473F474F7CDF475CEBAF476F7CEF477F478C4A7F479F47AF47BF47CF47DF47EF480F481F482F483F484F485F486F487F488F489F48AF48BF48CF48DF48EF48FF490F491F492F493F494F495F496F497F498F499F49AF49BF49CF49DF49EF49FF4A0F540F541F542F543F544F545F546F547F548F549F54AF54BF54CF54DF54EF54FF550F551F552F553F554F555F556F557F558F559F55AF55BF55CF55DF55EF55FF560F561F562F563F564F565F566F567F568F569F56AF56BF56CF56DF56EF56FF570F571F572F573F574F575F576F577F578F579F57AF57BF57CF57DF57EF580F581F582F583F584F585F586F587F588F589F58AF58BF58CF58DF58EF58FF590F591F592F593F594F595F596F597F598F599F59AF59BF59CF59DF59EF59FF5A0F640F641F642F643F644F645F646F647F648F649F64AF64BF64CF64DF64EF64FF650F651F652F653F654F655F656F657F658F659F65AF65BF65CF65DF65EF65FF660F661F662F663F664F665F666F667F668F669F66AF66BF66CF66DF66EF66FF670F671F672F673F674F675F676F677F678F679F67AF67BF67CF67DF67EF680F681F682F683F684F685F686F687F688F689F68AF68BF68CF68DF68EF68FF690F691F692F693F694F695F696F697F698F699F69AF69BF69CF69DF69EF69FF6A0F740F741F742F743F744F745F746F747F748F749F74AF74BF74CF74DF74EF74FF750F751F752F753F754F755F756F757F758F759F75AF75BF75CF75DF75EF75FF760F761F762F763F764F765F766F767F768F769F76AF76BF76CF76DF76EF76FF770F771F772F773F774F775F776F777F778F779F77AF77BF77CF77DF77EF780D3E3F781F782F6CFF783C2B3F6D0F784F785F6D1F6D2F6D3F6D4F786F787F6D6F788B1ABF6D7F789F6D8F6D9F6DAF78AF6DBF6DCF78BF78CF78DF78EF6DDF6DECFCAF78FF6DFF6E0F6E1F6E2F6E3F6E4C0F0F6E5F6E6F6E7F6E8F6E9F790F6EAF791F6EBF6ECF792F6EDF6EEF6EFF6F0F6F1F6F2F6F3F6F4BEA8F793F6F5F6F6F6F7F6F8F794F795F796F797F798C8FAF6F9F6FAF6FBF6FCF799F79AF6FDF6FEF7A1F7A2F7A3F7A4F7A5F79BF79CF7A6F7A7F7A8B1EEF7A9F7AAF7ABF79DF79EF7ACF7ADC1DBF7AEF79FF7A0F7AFF840F841F842F843F844F845F846F847F848F849F84AF84BF84CF84DF84EF84FF850F851F852F853F854F855F856F857F858F859F85AF85BF85CF85DF85EF85FF860F861F862F863F864F865F866F867F868F869F86AF86BF86CF86DF86EF86FF870F871F872F873F874F875F876F877F878F879F87AF87BF87CF87DF87EF880F881F882F883F884F885F886F887F888F889F88AF88BF88CF88DF88EF88FF890F891F892F893F894F895F896F897F898F899F89AF89BF89CF89DF89EF89FF8A0F940F941F942F943F944F945F946F947F948F949F94AF94BF94CF94DF94EF94FF950F951F952F953F954F955F956F957F958F959F95AF95BF95CF95DF95EF95FF960F961F962F963F964F965F966F967F968F969F96AF96BF96CF96DF96EF96FF970F971F972F973F974F975F976F977F978F979F97AF97BF97CF97DF97EF980F981F982F983F984F985F986F987F988F989F98AF98BF98CF98DF98EF98FF990F991F992F993F994F995F996F997F998F999F99AF99BF99CF99DF99EF99FF9A0FA40FA41FA42FA43FA44FA45FA46FA47FA48FA49FA4AFA4BFA4CFA4DFA4EFA4FFA50FA51FA52FA53FA54FA55FA56FA57FA58FA59FA5AFA5BFA5CFA5DFA5EFA5FFA60FA61FA62FA63FA64FA65FA66FA67FA68FA69FA6AFA6BFA6CFA6DFA6EFA6FFA70FA71FA72FA73FA74FA75FA76FA77FA78FA79FA7AFA7BFA7CFA7DFA7EFA80FA81FA82FA83FA84FA85FA86FA87FA88FA89FA8AFA8BFA8CFA8DFA8EFA8FFA90FA91FA92FA93FA94FA95FA96FA97FA98FA99FA9AFA9BFA9CFA9DFA9EFA9FFAA0FB40FB41FB42FB43FB44FB45FB46FB47FB48FB49FB4AFB4BFB4CFB4DFB4EFB4FFB50FB51FB52FB53FB54FB55FB56FB57FB58FB59FB5AFB5BC4F1F0AFBCA6F0B0C3F9FB5CC5B8D1BBFB5DF0B1F0B2F0B3F0B4F0B5D1BCFB5ED1ECFB5FF0B7F0B6D4A7FB60CDD2F0B8F0BAF0B9F0BBF0BCFB61FB62B8EBF0BDBAE8FB63F0BEF0BFBEE9F0C0B6ECF0C1F0C2F0C3F0C4C8B5F0C5F0C6FB64F0C7C5F4FB65F0C8FB66FB67FB68F0C9FB69F0CAF7BDFB6AF0CBF0CCF0CDFB6BF0CEFB6CFB6DFB6EFB6FF0CFBAD7FB70F0D0F0D1F0D2F0D3F0D4F0D5F0D6F0D8FB71FB72D3A5F0D7FB73F0D9FB74FB75FB76FB77FB78FB79FB7AFB7BFB7CFB7DF5BAC2B9FB7EFB80F7E4FB81FB82FB83FB84F7E5F7E6FB85FB86F7E7FB87FB88FB89FB8AFB8BFB8CF7E8C2B4FB8DFB8EFB8FFB90FB91FB92FB93FB94FB95F7EAFB96F7EBFB97FB98FB99FB9AFB9BFB9CC2F3FB9DFB9EFB9FFBA0FC40FC41FC42FC43FC44FC45FC46FC47FC48F4F0FC49FC4AFC4BF4EFFC4CFC4DC2E9FC4EF7E1F7E2FC4FFC50FC51FC52FC53BBC6FC54FC55FC56FC57D9E4FC58FC59FC5ACAF2C0E8F0A4FC5BBADAFC5CFC5DC7ADFC5EFC5FFC60C4ACFC61FC62F7ECF7EDF7EEFC63F7F0F7EFFC64F7F1FC65FC66F7F4FC67F7F3FC68F7F2F7F5FC69FC6AFC6BFC6CF7F6FC6DFC6EFC6FFC70FC71FC72FC73FC74FC75EDE9FC76EDEAEDEBFC77F6BCFC78FC79FC7AFC7BFC7CFC7DFC7EFC80FC81FC82FC83FC84F6BDFC85F6BEB6A6FC86D8BEFC87FC88B9C4FC89FC8AFC8BD8BBFC8CDCB1FC8DFC8EFC8FFC90FC91FC92CAF3FC93F7F7FC94FC95FC96FC97FC98FC99FC9AFC9BFC9CF7F8FC9DFC9EF7F9FC9FFCA0FD40FD41FD42FD43FD44F7FBFD45F7FAFD46B1C7FD47F7FCF7FDFD48FD49FD4AFD4BFD4CF7FEFD4DFD4EFD4FFD50FD51FD52FD53FD54FD55FD56FD57C6EBECB4FD58FD59FD5AFD5BFD5CFD5DFD5EFD5FFD60FD61FD62FD63FD64FD65FD66FD67FD68FD69FD6AFD6BFD6CFD6DFD6EFD6FFD70FD71FD72FD73FD74FD75FD76FD77FD78FD79FD7AFD7BFD7CFD7DFD7EFD80FD81FD82FD83FD84FD85B3DDF6B3FD86FD87F6B4C1E4F6B5F6B6F6B7F6B8F6B9F6BAC8A3F6BBFD88FD89FD8AFD8BFD8CFD8DFD8EFD8FFD90FD91FD92FD93C1FAB9A8EDE8FD94FD95FD96B9EAD9DFFD97FD98FD99FD9AFD9";
68
68
  encodeToGb2312(D) {
69
69
  for (var C = "", B = 0; B < D.length; B++) {
@@ -112,8 +112,8 @@ class DC {
112
112
  return C;
113
113
  }
114
114
  }
115
- let g = new DC();
116
- class a {
115
+ let g = new EC();
116
+ class u {
117
117
  static kOrigin;
118
118
  imp;
119
119
  constructor(D, C, B) {
@@ -141,7 +141,7 @@ class a {
141
141
  return this.imp.isEqualTo(D.imp);
142
142
  }
143
143
  clone() {
144
- return new a(this.imp);
144
+ return new u(this.imp);
145
145
  }
146
146
  get x() {
147
147
  return this.imp.x;
@@ -232,7 +232,7 @@ class w {
232
232
  this.imp.z = D;
233
233
  }
234
234
  }
235
- class z {
235
+ class U {
236
236
  static kIdentity;
237
237
  imp;
238
238
  constructor(D) {
@@ -242,7 +242,7 @@ class z {
242
242
  return this.imp.copy(D.imp), this;
243
243
  }
244
244
  clone() {
245
- return new z(this.imp);
245
+ return new U(this.imp);
246
246
  }
247
247
  setToIdentity() {
248
248
  return this.imp.setToIdentity(), this;
@@ -290,7 +290,7 @@ class z {
290
290
  return this.imp.getData(D, C);
291
291
  }
292
292
  }
293
- class CC {
293
+ class FC {
294
294
  imp;
295
295
  constructor(D) {
296
296
  this.imp = new i.mxcadassemblyimp.MdGeLongArray(), D instanceof Object && this.imp.copy(D);
@@ -311,7 +311,7 @@ class CC {
311
311
  this.imp.setAt(D, C);
312
312
  }
313
313
  }
314
- class wD {
314
+ class bD {
315
315
  imp;
316
316
  constructor(D) {
317
317
  this.imp = new i.mxcadassemblyimp.MdGeStringArray(), D instanceof Object && this.imp.copy(D);
@@ -337,7 +337,7 @@ class wD {
337
337
  D(C ? g.decodeFromGb2312(this.imp.at(F)) : this.imp.at(F), F);
338
338
  }
339
339
  }
340
- class BC {
340
+ class AC {
341
341
  imp;
342
342
  constructor(D) {
343
343
  this.imp = new i.mxcadassemblyimp.MdGePoint3dArray(), D instanceof Object && this.imp.copy(D);
@@ -352,19 +352,19 @@ class BC {
352
352
  return this.imp.length();
353
353
  }
354
354
  at(D) {
355
- return new a(this.imp.at(D));
355
+ return new u(this.imp.at(D));
356
356
  }
357
357
  setAt(D, C) {
358
358
  this.imp.setAt(D, C.imp);
359
359
  }
360
360
  }
361
- const EC = new FinalizationRegistry((E) => {
361
+ const tC = new FinalizationRegistry((E) => {
362
362
  i.App.DestroyObject(E);
363
- }), FC = {};
363
+ }), eC = {};
364
364
  class j {
365
365
  imp = 0;
366
366
  constructor(D) {
367
- this.imp = D, this.imp && EC.register(this, D, FC);
367
+ this.imp = D, this.imp && tC.register(this, D, eC);
368
368
  }
369
369
  getImp() {
370
370
  return this.imp;
@@ -388,7 +388,7 @@ class j {
388
388
  }
389
389
  }
390
390
  var f = /* @__PURE__ */ ((E) => (E[E.kMxCAD = 0] = "kMxCAD", E[E.kMxDraw = 1] = "kMxDraw", E[E.kInvalid = 2] = "kInvalid", E))(f || {});
391
- class T {
391
+ class M {
392
392
  id;
393
393
  type;
394
394
  constructor(D, C) {
@@ -398,7 +398,7 @@ class T {
398
398
  return this.type != 2 && this.id != 0;
399
399
  }
400
400
  erase() {
401
- this.type == 1 ? h.getCurrentDraw().eraseMxEntity(this.id) : this.type == 0 && rD.eraseEntity(this.id);
401
+ this.type == 1 ? h.getCurrentDraw().eraseMxEntity(this.id) : this.type == 0 && sD.eraseEntity(this.id);
402
402
  }
403
403
  getMcDbObject() {
404
404
  return this.type == 0 ? i.App.ObjectIdToObject(this.id) : null;
@@ -435,13 +435,13 @@ class v extends j {
435
435
  return this.imp.GetHandle();
436
436
  }
437
437
  GetDatabase() {
438
- return new ED(this.imp.GetDatabase());
438
+ return new FD(this.imp.GetDatabase());
439
439
  }
440
440
  GetOwnerID() {
441
441
  return this.imp.GetOwnerID();
442
442
  }
443
443
  }
444
- var CD;
444
+ var BD;
445
445
  ((E) => {
446
446
  ((D) => {
447
447
  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";
@@ -452,7 +452,7 @@ var CD;
452
452
  })(E.AttachmentPoint || (E.AttachmentPoint = {})), ((D) => {
453
453
  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";
454
454
  })(E.LineWeight || (E.LineWeight = {}));
455
- })(CD || (CD = {}));
455
+ })(BD || (BD = {}));
456
456
  class G {
457
457
  imp;
458
458
  constructor(D, C, B) {
@@ -510,7 +510,7 @@ class G {
510
510
  this.imp.colorIndex = D;
511
511
  }
512
512
  }
513
- class AC extends v {
513
+ class iC extends v {
514
514
  constructor(D) {
515
515
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbLayerTableRecord());
516
516
  }
@@ -545,7 +545,7 @@ class AC extends v {
545
545
  this.imp.setColor(D.getImp());
546
546
  }
547
547
  get linetypeObjectId() {
548
- return new T(this.imp.linetypeObjectId(), f.kMxCAD);
548
+ return new M(this.imp.linetypeObjectId(), f.kMxCAD);
549
549
  }
550
550
  set linetypeObjectId(D) {
551
551
  this.imp.setLinetypeObjectId(D.id);
@@ -557,36 +557,36 @@ class AC extends v {
557
557
  this.imp.setLineWeight(D);
558
558
  }
559
559
  }
560
- class yD extends v {
560
+ class xD extends v {
561
561
  constructor(D) {
562
562
  super(D);
563
563
  }
564
564
  }
565
- class gD extends v {
565
+ class fD extends v {
566
566
  constructor(D) {
567
567
  super(D);
568
568
  }
569
569
  }
570
- class bD extends v {
570
+ class MD extends v {
571
571
  constructor(D) {
572
572
  super(D);
573
573
  }
574
574
  }
575
- class ED extends j {
575
+ class FD extends j {
576
576
  constructor(D) {
577
577
  super(D);
578
578
  }
579
579
  GetLayerTable() {
580
- return new yD(this.imp.GetLayerTable());
580
+ return new xD(this.imp.GetLayerTable());
581
581
  }
582
582
  GetLinetypeTable() {
583
- return new gD(this.imp.GetLinetypeTable());
583
+ return new fD(this.imp.GetLinetypeTable());
584
584
  }
585
585
  GetTextStyleTable() {
586
- return new bD(this.imp.GetTextStyleTable());
586
+ return new MD(this.imp.GetTextStyleTable());
587
587
  }
588
588
  GetBlockTable() {
589
- return new MD(this.imp.GetBlockTable());
589
+ return new PD(this.imp.GetBlockTable());
590
590
  }
591
591
  CurrentSpace() {
592
592
  return new Y(this.imp.CurrentSpace());
@@ -638,7 +638,7 @@ class ED extends j {
638
638
  this.imp.SetCurrentlyTextStyle(C);
639
639
  }
640
640
  }
641
- class xD extends j {
641
+ class TD extends j {
642
642
  constructor(D) {
643
643
  super(D);
644
644
  }
@@ -649,7 +649,7 @@ class xD extends j {
649
649
  return this.imp.done();
650
650
  }
651
651
  getEntityId() {
652
- return new T(this.imp.getEntityId(), f.kMxCAD);
652
+ return new M(this.imp.getEntityId(), f.kMxCAD);
653
653
  }
654
654
  step(D = !0, C = !0) {
655
655
  return this.imp.step(D, C);
@@ -660,23 +660,23 @@ class Y extends v {
660
660
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbBlockTableRecord());
661
661
  }
662
662
  appendAcDbEntity(D) {
663
- return new T(
663
+ return new M(
664
664
  this.imp.appendAcDbEntity(D.getImp()),
665
665
  f.kMxCAD
666
666
  );
667
667
  }
668
668
  newIterator(D = !0, C = !0) {
669
669
  let B = this.imp.newIterator(D, C);
670
- return new xD(B);
670
+ return new TD(B);
671
671
  }
672
672
  get origin() {
673
- return new a(this.imp.origin());
673
+ return new u(this.imp.origin());
674
674
  }
675
675
  set origin(D) {
676
676
  this.imp.setOrigin(D.imp);
677
677
  }
678
678
  }
679
- class fD extends j {
679
+ class kD extends j {
680
680
  constructor(D) {
681
681
  super(D);
682
682
  }
@@ -694,7 +694,7 @@ class fD extends j {
694
694
  this.imp.start(D, C);
695
695
  }
696
696
  }
697
- class MD extends v {
697
+ class PD extends v {
698
698
  constructor(D) {
699
699
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbBlockTable());
700
700
  }
@@ -707,13 +707,13 @@ class MD extends v {
707
707
  }
708
708
  newIterator(D = !0, C = !0) {
709
709
  let B = this.imp.newIterator(D, C);
710
- return new fD(B);
710
+ return new kD(B);
711
711
  }
712
712
  add(D) {
713
713
  return this.imp.add(D.getImp());
714
714
  }
715
715
  }
716
- class K extends v {
716
+ class H extends v {
717
717
  constructor(D) {
718
718
  super(D);
719
719
  }
@@ -785,16 +785,16 @@ class K extends v {
785
785
  let D = this.imp.GetBoundingBox();
786
786
  if (D) {
787
787
  let C = {
788
- minPt: new a(D.AtPoint(0).val),
789
- maxPt: new a(D.AtPoint(1).val),
788
+ minPt: new u(D.AtPoint(0).val),
789
+ maxPt: new u(D.AtPoint(1).val),
790
790
  ret: 0
791
791
  };
792
792
  return i.App.DestroyObject(D), C;
793
793
  } else
794
- return { minPt: new a(), maxPt: new a(), ret: 1 };
794
+ return { minPt: new u(), maxPt: new u(), ret: 1 };
795
795
  }
796
796
  }
797
- class H extends K {
797
+ class N extends H {
798
798
  constructor(D) {
799
799
  super(D);
800
800
  }
@@ -815,25 +815,25 @@ class H extends K {
815
815
  }
816
816
  getPointAtDist(D) {
817
817
  return {
818
- val: new a(this.imp.getPointAtDist(D)),
818
+ val: new u(this.imp.getPointAtDist(D)),
819
819
  ret: i.getCallResult()
820
820
  };
821
821
  }
822
822
  getStartPoint() {
823
823
  return {
824
- val: new a(this.imp.getStartPoint()),
824
+ val: new u(this.imp.getStartPoint()),
825
825
  ret: i.getCallResult()
826
826
  };
827
827
  }
828
828
  getEndPoint() {
829
829
  return {
830
- val: new a(this.imp.getStartPoint()),
830
+ val: new u(this.imp.getStartPoint()),
831
831
  ret: i.getCallResult()
832
832
  };
833
833
  }
834
834
  getPointAtParam(D) {
835
835
  return {
836
- val: new a(this.imp.getPointAtParam(D)),
836
+ val: new u(this.imp.getPointAtParam(D)),
837
837
  ret: i.getCallResult()
838
838
  };
839
839
  }
@@ -857,7 +857,7 @@ class H extends K {
857
857
  }
858
858
  getClosestPointTo(D, C) {
859
859
  return {
860
- val: new a(this.imp.getClosestPointTo(D.imp, C)),
860
+ val: new u(this.imp.getClosestPointTo(D.imp, C)),
861
861
  ret: i.getCallResult()
862
862
  };
863
863
  }
@@ -880,35 +880,35 @@ class H extends K {
880
880
  return { val: this.imp.getLength(), ret: i.getCallResult() };
881
881
  }
882
882
  }
883
- class Z extends H {
883
+ class Z extends N {
884
884
  constructor(D, C, B, F, A, t) {
885
- 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));
885
+ D instanceof Object ? D instanceof u ? (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbLine()), C instanceof u && (this.startPoint = D, this.endPoint = C)) : super(D) : (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbLine()), this.startPoint = new u(D, C, B), this.endPoint = new u(F, A, t));
886
886
  }
887
887
  get startPoint() {
888
- return new a(this.imp.startPoint());
888
+ return new u(this.imp.startPoint());
889
889
  }
890
890
  set startPoint(D) {
891
891
  this.imp.setStartPoint(D.imp);
892
892
  }
893
893
  get endPoint() {
894
- return new a(this.imp.endPoint());
894
+ return new u(this.imp.endPoint());
895
895
  }
896
896
  set endPoint(D) {
897
897
  this.imp.setEndPoint(D.imp);
898
898
  }
899
899
  }
900
- class BD extends K {
900
+ class ED extends H {
901
901
  constructor(D) {
902
902
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbText());
903
903
  }
904
904
  get position() {
905
- return new a(this.imp.position());
905
+ return new u(this.imp.position());
906
906
  }
907
907
  set position(D) {
908
908
  this.imp.setPosition(D.imp);
909
909
  }
910
910
  get alignmentPoint() {
911
- return new a(this.imp.position());
911
+ return new u(this.imp.position());
912
912
  }
913
913
  set alignmentPoint(D) {
914
914
  this.imp.setAlignmentPoint(D.imp);
@@ -956,12 +956,12 @@ class BD extends K {
956
956
  this.imp.setVerticalMode(D);
957
957
  }
958
958
  }
959
- class FD extends K {
959
+ class AD extends H {
960
960
  constructor(D) {
961
961
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbMText());
962
962
  }
963
963
  get location() {
964
- return new a(this.imp.location());
964
+ return new u(this.imp.location());
965
965
  }
966
966
  set location(D) {
967
967
  this.imp.setLocation(D.imp);
@@ -997,15 +997,15 @@ class FD extends K {
997
997
  this.imp.setContents(g.encodeToGb2312(D));
998
998
  }
999
999
  }
1000
- class O extends H {
1000
+ class O extends N {
1001
1001
  constructor(D, C, B, F) {
1002
- 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)));
1002
+ D instanceof Object ? super(D) : (super(), this.initTempObject(new i.mxcadassemblyimp.MdDbCircle()), typeof D == "number" && (this.imp.setCenter(new u(D, C, B).imp), this.imp.setRadius(F)));
1003
1003
  }
1004
1004
  setCenter(D, C, B) {
1005
- this.imp.setCenter(new a(D, C, B).imp);
1005
+ this.imp.setCenter(new u(D, C, B).imp);
1006
1006
  }
1007
1007
  get center() {
1008
- return new a(this.imp.center());
1008
+ return new u(this.imp.center());
1009
1009
  }
1010
1010
  set center(D) {
1011
1011
  this.imp.setCenter(D.imp);
@@ -1017,7 +1017,7 @@ class O extends H {
1017
1017
  this.imp.setRadius(D);
1018
1018
  }
1019
1019
  }
1020
- class AD extends H {
1020
+ class tD extends N {
1021
1021
  constructor(D) {
1022
1022
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbPolyline());
1023
1023
  }
@@ -1066,18 +1066,18 @@ class AD extends H {
1066
1066
  return this.imp.setBulgeAt(D, C);
1067
1067
  }
1068
1068
  }
1069
- class TD extends K {
1069
+ class RD extends H {
1070
1070
  constructor(D) {
1071
1071
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbBlockReference());
1072
1072
  }
1073
1073
  get blockTableRecordId() {
1074
- return new T(this.imp.blockTableRecord(), f.kMxCAD);
1074
+ return new M(this.imp.blockTableRecord(), f.kMxCAD);
1075
1075
  }
1076
1076
  set blockTableRecordId(D) {
1077
1077
  this.imp.setBlockTableRecordId(D.id);
1078
1078
  }
1079
1079
  get position() {
1080
- return new a(this.imp.position());
1080
+ return new u(this.imp.position());
1081
1081
  }
1082
1082
  set position(D) {
1083
1083
  this.imp.setPosition(D.imp);
@@ -1095,18 +1095,18 @@ class TD extends K {
1095
1095
  this.imp.setRotation(D);
1096
1096
  }
1097
1097
  get blockTransform() {
1098
- return new z(this.imp.blockTransform());
1098
+ return new U(this.imp.blockTransform());
1099
1099
  }
1100
1100
  set blockTransform(D) {
1101
1101
  this.imp.setBlockTransform(D.imp);
1102
1102
  }
1103
1103
  }
1104
- class tD extends K {
1104
+ class eD extends H {
1105
1105
  constructor(D) {
1106
1106
  super(D);
1107
1107
  }
1108
1108
  get textPosition() {
1109
- return new a(this.imp.textPosition());
1109
+ return new u(this.imp.textPosition());
1110
1110
  }
1111
1111
  set textPosition(D) {
1112
1112
  this.imp.setTextPosition(D.imp);
@@ -1139,7 +1139,7 @@ class tD extends K {
1139
1139
  this.imp.setTextRotation(D);
1140
1140
  }
1141
1141
  get dimensionStyle() {
1142
- return new T(this.imp.dimensionStyle(), f.kMxCAD);
1142
+ return new M(this.imp.dimensionStyle(), f.kMxCAD);
1143
1143
  }
1144
1144
  set dimensionStyle(D) {
1145
1145
  this.imp.setDimensionStyle(D.id);
@@ -1178,7 +1178,7 @@ class tD extends K {
1178
1178
  this.imp.SetDimVarString(D, C);
1179
1179
  }
1180
1180
  getDimVarObjectId(D) {
1181
- return new T(
1181
+ return new M(
1182
1182
  this.imp.GetDimVarObjectId(D),
1183
1183
  f.kMxCAD
1184
1184
  );
@@ -1187,24 +1187,24 @@ class tD extends K {
1187
1187
  this.imp.SetDimVarObjectId(D, C.id);
1188
1188
  }
1189
1189
  }
1190
- class kD extends tD {
1190
+ class SD extends eD {
1191
1191
  constructor(D) {
1192
1192
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbAlignedDimension());
1193
1193
  }
1194
1194
  get xLine1Point() {
1195
- return new a(this.imp.xLine1Point());
1195
+ return new u(this.imp.xLine1Point());
1196
1196
  }
1197
1197
  set xLine1Point(D) {
1198
1198
  this.imp.setXLine1Point(D.imp);
1199
1199
  }
1200
1200
  get xLine2Point() {
1201
- return new a(this.imp.xLine2Point());
1201
+ return new u(this.imp.xLine2Point());
1202
1202
  }
1203
1203
  set xLine2Point(D) {
1204
1204
  this.imp.setXLine2Point(D.imp);
1205
1205
  }
1206
1206
  get dimLinePoint() {
1207
- return new a(this.imp.dimLinePoint());
1207
+ return new u(this.imp.dimLinePoint());
1208
1208
  }
1209
1209
  set dimLinePoint(D) {
1210
1210
  this.imp.setDimLinePoint(D.imp);
@@ -1216,24 +1216,24 @@ class kD extends tD {
1216
1216
  this.imp.setOblique(D);
1217
1217
  }
1218
1218
  }
1219
- class PD extends tD {
1219
+ class LD extends eD {
1220
1220
  constructor(D) {
1221
1221
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbRotatedDimension());
1222
1222
  }
1223
1223
  get xLine1Point() {
1224
- return new a(this.imp.xLine1Point());
1224
+ return new u(this.imp.xLine1Point());
1225
1225
  }
1226
1226
  set xLine1Point(D) {
1227
1227
  this.imp.setXLine1Point(D.imp);
1228
1228
  }
1229
1229
  get xLine2Point() {
1230
- return new a(this.imp.xLine2Point());
1230
+ return new u(this.imp.xLine2Point());
1231
1231
  }
1232
1232
  set xLine2Point(D) {
1233
1233
  this.imp.setXLine2Point(D.imp);
1234
1234
  }
1235
1235
  get dimLinePoint() {
1236
- return new a(this.imp.dimLinePoint());
1236
+ return new u(this.imp.dimLinePoint());
1237
1237
  }
1238
1238
  set dimLinePoint(D) {
1239
1239
  this.imp.setDimLinePoint(D.imp);
@@ -1251,15 +1251,15 @@ class PD extends tD {
1251
1251
  this.imp.setRotation(D);
1252
1252
  }
1253
1253
  }
1254
- class eD extends H {
1254
+ class iD extends N {
1255
1255
  constructor(D) {
1256
1256
  super(D), D || this.initTempObject(new i.mxcadassemblyimp.MdDbArc());
1257
1257
  }
1258
1258
  setCenter(D, C, B) {
1259
- this.imp.setCenter(new a(D, C, B).imp);
1259
+ this.imp.setCenter(new u(D, C, B).imp);
1260
1260
  }
1261
1261
  get center() {
1262
- return new a(this.imp.center());
1262
+ return new u(this.imp.center());
1263
1263
  }
1264
1264
  set center(D) {
1265
1265
  this.imp.setCenter(D.imp);
@@ -1293,15 +1293,15 @@ class eD extends H {
1293
1293
  );
1294
1294
  }
1295
1295
  }
1296
- class iD extends H {
1296
+ class rD extends N {
1297
1297
  constructor(D, C, B, F, A, t, e, r, s) {
1298
- 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.Init(new a(D, C, B).imp, new w(F, A, t).imp, e, r, s)));
1298
+ 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.Init(new u(D, C, B).imp, new w(F, A, t).imp, e, r, s)));
1299
1299
  }
1300
1300
  setCenter(D, C, B) {
1301
- this.imp.setCenter(new a(D, C, B).imp);
1301
+ this.imp.setCenter(new u(D, C, B).imp);
1302
1302
  }
1303
1303
  get center() {
1304
- return new a(this.imp.center());
1304
+ return new u(this.imp.center());
1305
1305
  }
1306
1306
  set center(D) {
1307
1307
  this.imp.setCenter(D.imp);
@@ -1343,7 +1343,7 @@ class iD extends H {
1343
1343
  this.imp.setEndAngle(D);
1344
1344
  }
1345
1345
  }
1346
- function N(E = null) {
1346
+ function z(E = null) {
1347
1347
  let D;
1348
1348
  return E == null ? D = new i.mxcadassemblyimp.McDrawResbuf() : D = E.getImp(), D;
1349
1349
  }
@@ -1367,7 +1367,7 @@ class q extends j {
1367
1367
  if (this.imp.AtObjectName(D) == "McDbMText") {
1368
1368
  let B = this.imp.AtObjectMdDbMText(D);
1369
1369
  if (B)
1370
- return { val: new FD(B), ret: i.getCallResult() };
1370
+ return { val: new AD(B), ret: i.getCallResult() };
1371
1371
  }
1372
1372
  return { val: void 0, ret: -1 };
1373
1373
  }
@@ -1375,13 +1375,13 @@ class q extends j {
1375
1375
  this.imp.AddObject(D.getImp());
1376
1376
  }
1377
1377
  AtObjectId(D) {
1378
- return { val: new T(this.imp.AtObjectId(D), f.kMxCAD), ret: i.getCallResult() };
1378
+ return { val: new M(this.imp.AtObjectId(D), f.kMxCAD), ret: i.getCallResult() };
1379
1379
  }
1380
1380
  AtString(D, C = !0) {
1381
1381
  return C ? { val: g.decodeFromGb2312(this.imp.AtString(D)), ret: i.getCallResult() } : { val: this.imp.AtString(D), ret: i.getCallResult() };
1382
1382
  }
1383
1383
  AtPoint(D) {
1384
- return { val: new a(this.imp.AtPoint(D)), ret: i.getCallResult() };
1384
+ return { val: new u(this.imp.AtPoint(D)), ret: i.getCallResult() };
1385
1385
  }
1386
1386
  ItemDataType() {
1387
1387
  return this.imp.ItemDataType();
@@ -1408,7 +1408,7 @@ class q extends j {
1408
1408
  this.imp.Remove(D);
1409
1409
  }
1410
1410
  }
1411
- class RD {
1411
+ class vD {
1412
1412
  imp;
1413
1413
  constructor() {
1414
1414
  }
@@ -1420,54 +1420,88 @@ class RD {
1420
1420
  }
1421
1421
  findEntAtPoint(D, C, B, F = -1, A = null) {
1422
1422
  this.init();
1423
- let t = this.imp.findEntAtPoint(D, C, B, F, N(A));
1424
- return new T(t, f.kMxCAD);
1423
+ let t = this.imp.findEntAtPoint(D, C, B, F, z(A));
1424
+ return new M(t, f.kMxCAD);
1425
1425
  }
1426
1426
  selectEnt(D, C = null) {
1427
1427
  return this.init(), new Promise(async (B) => {
1428
- const F = new S();
1429
- D && F.setMessage(D), F.setCursorType(qD.kRect);
1428
+ const F = new k();
1429
+ D && F.setMessage(D), F.setCursorType(lD.kRect);
1430
1430
  let A = await F.go();
1431
1431
  if (!A) {
1432
1432
  B([]);
1433
1433
  return;
1434
1434
  }
1435
- _D.findEntAtPoint(A).then((t) => {
1435
+ cD.findEntAtPoint(A).then((t) => {
1436
1436
  let e = [];
1437
1437
  t.forEach((s) => {
1438
- e.push(new T(s, f.kMxDraw));
1438
+ e.push(new M(s, f.kMxDraw));
1439
1439
  });
1440
1440
  let r = this.findEntAtPoint(A.x, A.y, A.z, -1, C);
1441
1441
  r.isValid() && e.push(r), B(e);
1442
1442
  });
1443
1443
  });
1444
1444
  }
1445
+ getCurrentSelect() {
1446
+ let D = [];
1447
+ return h.getCurrentDraw().getMxCurrentSelect().forEach((F) => {
1448
+ D.push(new M(F, f.kMxDraw));
1449
+ }), h.getCurrentDraw().getMxCADCurrentSelect().forEach((F) => {
1450
+ D.push(new M(F, f.kMxCAD));
1451
+ }), D;
1452
+ }
1445
1453
  init() {
1446
1454
  this.imp || (this.imp = new i.mxcadassemblyimp.McDrawUtility());
1447
1455
  }
1448
1456
  }
1449
- let rD = new RD();
1450
- class tC extends j {
1457
+ let sD = new vD();
1458
+ class OD extends j {
1451
1459
  constructor() {
1452
1460
  super(), this.initTempObject(new i.mxcadassemblyimp.McDrawSelSet());
1453
1461
  }
1454
1462
  allSelect(D = null) {
1455
- return this.imp.allSelect(N(D));
1463
+ return this.imp.allSelect(z(D));
1456
1464
  }
1457
1465
  pointSelect(D, C, B = null, F = -1) {
1458
- return this.imp.pointSelect(D, C, N(B), F);
1466
+ return this.imp.pointSelect(D, C, z(B), F);
1459
1467
  }
1460
1468
  crossingSelect(D, C, B, F, A = null) {
1461
- return this.imp.crossingSelect(D, C, B, F, N(A));
1469
+ return this.imp.crossingSelect(D, C, B, F, z(A));
1462
1470
  }
1463
1471
  count() {
1464
1472
  return this.imp.count();
1465
1473
  }
1466
1474
  item(D) {
1467
- return new T(this.imp.item(D), f.kMxCAD);
1475
+ return new M(this.imp.item(D), f.kMxCAD);
1476
+ }
1477
+ forEach(D) {
1478
+ let C = this.imp.count();
1479
+ for (let B = 0; B < C; B++)
1480
+ D(this.item(B));
1481
+ }
1482
+ async userSelect(D, C = null) {
1483
+ let B = new k();
1484
+ D && B.setMessage(D), B.setCursorType(lD.kRect), B.setDynamicInputType(ZD.kDynTip);
1485
+ let F = 0;
1486
+ for (; ; ) {
1487
+ let A = await B.go();
1488
+ if (F = B.getDetailedResult(), !A)
1489
+ break;
1490
+ let t = await cD.getCorner(A, D, !0, (e) => {
1491
+ F = e.detailedResult;
1492
+ });
1493
+ if (!t)
1494
+ break;
1495
+ this.imp.userSelect(A.x, A.y, t.x, t.y, z(C));
1496
+ }
1497
+ return this.imp.highlightEntity(!1), F == X.kEcsIn || F == X.kNewCommadIn || F == X.kUnknown ? new Promise((A) => {
1498
+ A(!1);
1499
+ }) : new Promise((A) => {
1500
+ A(!0);
1501
+ });
1468
1502
  }
1469
1503
  }
1470
- class U {
1504
+ class V {
1471
1505
  imp;
1472
1506
  mxObject;
1473
1507
  static currentFileName;
@@ -1500,10 +1534,10 @@ class U {
1500
1534
  };
1501
1535
  A.mxObject.addEvent("openFileComplete", t);
1502
1536
  }
1503
- return U.currentFileName = D.split("/").pop(), this.imp.openWebFile(D, B, F);
1537
+ return V.currentFileName = D.split("/").pop(), this.imp.openWebFile(D, B, F);
1504
1538
  }
1505
1539
  getCurrentFileName() {
1506
- return U.currentFileName;
1540
+ return V.currentFileName;
1507
1541
  }
1508
1542
  saveFileToUrl(D, C) {
1509
1543
  const B = window;
@@ -1534,7 +1568,7 @@ class U {
1534
1568
  }, this.imp.saveFile(D);
1535
1569
  }
1536
1570
  GetDatabase() {
1537
- return this.imp.McDbDatabase || (this.imp.McDbDatabase = new ED(this.imp.GetDatabase())), this.imp.McDbDatabase;
1571
+ return this.imp.McDbDatabase || (this.imp.McDbDatabase = new FD(this.imp.GetDatabase())), this.imp.McDbDatabase;
1538
1572
  }
1539
1573
  GetSysVarString(D) {
1540
1574
  return this.imp.GetSysVarString(D);
@@ -1715,16 +1749,16 @@ class U {
1715
1749
  !D || i.App.getImp().DestroyObject(D);
1716
1750
  }
1717
1751
  GetAllLayoutName() {
1718
- return new wD(this.imp.GetAllLayoutName());
1752
+ return new bD(this.imp.GetAllLayoutName());
1719
1753
  }
1720
1754
  SetCurrentLayout(D) {
1721
1755
  this.imp.SetCurrentLayout(g.encodeToGb2312(D));
1722
1756
  }
1723
1757
  }
1724
- class LD {
1758
+ class jD {
1725
1759
  imp;
1726
1760
  init(D) {
1727
- this.imp = D, w.kZAxis = new w(0, 0, 1), w.kXAxis = new w(1, 0, 0), w.kYAxis = new w(0, 1, 0), a.kOrigin = new a(0, 0, 0), z.kIdentity = new z();
1761
+ this.imp = D, w.kZAxis = new w(0, 0, 1), w.kXAxis = new w(1, 0, 0), w.kYAxis = new w(0, 1, 0), u.kOrigin = new u(0, 0, 0), U.kIdentity = new U();
1728
1762
  }
1729
1763
  getImp() {
1730
1764
  return this.imp;
@@ -1734,14 +1768,14 @@ class LD {
1734
1768
  }
1735
1769
  CreateMxCAD(D, C, B, F, A) {
1736
1770
  let t = this.imp.CreateMxDraw(D, C, B, F, A);
1737
- return new U(t);
1771
+ return new V(t);
1738
1772
  }
1739
1773
  DestroyObject(D) {
1740
1774
  this.imp.DestroyObject(D);
1741
1775
  }
1742
1776
  GetCurrentMxCAD() {
1743
1777
  let D = this.imp.GetCurrentMxDraw();
1744
- return D.McObject || (D.McObject = new U(this.imp.GetCurrentMxDraw())), D.McObject;
1778
+ return D.McObject || (D.McObject = new V(this.imp.GetCurrentMxDraw())), D.McObject;
1745
1779
  }
1746
1780
  mcedRGB2Index(D, C, B, F = !0) {
1747
1781
  return this.imp.mcedRGB2Index(D, C, B, F);
@@ -1755,28 +1789,28 @@ class LD {
1755
1789
  return new Z(B);
1756
1790
  } else if (C == "McDbText") {
1757
1791
  let B = this.imp.ObjectIdToMdDbText(D);
1758
- return new BD(B);
1792
+ return new ED(B);
1759
1793
  } else if (C == "McDbPolyline") {
1760
1794
  let B = this.imp.ObjectIdToMdDbPolyline(D);
1761
- return new AD(B);
1795
+ return new tD(B);
1762
1796
  } else if (C == "McDbCircle") {
1763
1797
  let B = this.imp.ObjectIdToMdDbCircle(D);
1764
1798
  return new O(B);
1765
1799
  } else if (C == "McDbArc") {
1766
1800
  let B = this.imp.ObjectIdToMdDbArc(D);
1767
- return new eD(B);
1801
+ return new iD(B);
1768
1802
  } else if (C == "McDbBlockReference") {
1769
1803
  let B = this.imp.ObjectIdToMdDbBlockReference(D);
1770
- return new TD(B);
1804
+ return new RD(B);
1771
1805
  } else if (C == "McDbAlignedDimension") {
1772
1806
  let B = this.imp.ObjectIdToMdDbAlignedDimension(D);
1773
- return new kD(B);
1807
+ return new SD(B);
1774
1808
  } else if (C == "McDbRotatedDimension") {
1775
1809
  let B = this.imp.ObjectIdToMdDbRotatedDimension(D);
1776
- return new PD(B);
1810
+ return new LD(B);
1777
1811
  } else if (C == "McDbMText") {
1778
1812
  let B = this.imp.ObjectIdToMdDbMText(D);
1779
- return new FD(B);
1813
+ return new AD(B);
1780
1814
  }
1781
1815
  return console.log("Mx ObjectIdToObject error type:" + C), null;
1782
1816
  }
@@ -1786,7 +1820,7 @@ class LD {
1786
1820
  let B = new Z();
1787
1821
  return B.getImp().ConnectionTempObject(D), i.App.DestroyObject(D), B;
1788
1822
  } else if (C == "McDbText") {
1789
- let B = new BD();
1823
+ let B = new ED();
1790
1824
  return B.getImp().ConnectionTempObject(D), i.App.DestroyObject(D), B;
1791
1825
  }
1792
1826
  return console.log("Mx: Clone error type"), new v(D);
@@ -1800,9 +1834,9 @@ class LD {
1800
1834
  });
1801
1835
  }
1802
1836
  }
1803
- class SD {
1837
+ class GD {
1804
1838
  mxcadassemblyimp;
1805
- App = new LD();
1839
+ App = new jD();
1806
1840
  getCallResult() {
1807
1841
  return this.App.getLastCallResult();
1808
1842
  }
@@ -1811,7 +1845,7 @@ class SD {
1811
1845
  let F = D.z || 0;
1812
1846
  D = h.getCurrentDraw().docCoord2Cad(D.x, D.y, F);
1813
1847
  }
1814
- let B = new a();
1848
+ let B = new u();
1815
1849
  return D && D.x && D.y && (B.x = D.x, B.y = D.y, D.z && (B.y = D.z)), B;
1816
1850
  }
1817
1851
  GetCurrentMxCAD() {
@@ -1821,24 +1855,24 @@ class SD {
1821
1855
  return this.App.GetCurrentMxCAD().GetDatabase();
1822
1856
  }
1823
1857
  }
1824
- const sD = "1.0.70", eC = "SharedArrayBuffer" in window, Q = document.currentScript && /unpkg\.com\/mxcad/.test(document.currentScript.src), iC = (E, D = self.location.href) => Q ? `https://unpkg.com/mxcad@${sD}/dist/wasm/2d-st/${E}` : D + E, rC = (E, D = self.location.href) => Q ? `https://unpkg.com/mxcad@${sD}/dist/wasm/2d/${E}` : D + E, sC = (E, D = self.location.href) => Q ? `https://unpkg.com/mxcad@${sD}/dist/wasm/3d/${E}` : D + E, vD = (E) => new Promise((D, C) => {
1858
+ const nD = "1.0.72", rC = "SharedArrayBuffer" in window, Q = document.currentScript && /unpkg\.com\/mxcad/.test(document.currentScript.src), sC = (E, D = self.location.href) => Q ? `https://unpkg.com/mxcad@${nD}/dist/wasm/2d-st/${E}` : D + E, nC = (E, D = self.location.href) => Q ? `https://unpkg.com/mxcad@${nD}/dist/wasm/2d/${E}` : D + E, oC = (E, D = self.location.href) => Q ? `https://unpkg.com/mxcad@${nD}/dist/wasm/3d/${E}` : D + E, ID = (E) => new Promise((D, C) => {
1825
1859
  const B = document.createElement("script");
1826
1860
  B.src = E, B.type = "text/javascript", B.crossOrigin = "anonymous", document.body.appendChild(B), B.onload = () => {
1827
1861
  D();
1828
1862
  }, B.onerror = (F) => {
1829
1863
  C(F);
1830
1864
  };
1831
- }), nC = async (E, D, C) => {
1865
+ }), aC = async (E, D, C) => {
1832
1866
  const { locateFile: B } = C, F = B(E + ".js");
1833
- return await vD(F), await globalThis[D](C);
1867
+ return await ID(F), await globalThis[D](C);
1834
1868
  };
1835
1869
  let i;
1836
- async function OD(E, D = eC || !Q ? iC : rC, C, B, F) {
1870
+ async function WD(E, D = rC || !Q ? sC : nC, C, B, F) {
1837
1871
  return new Promise(async (A, t) => {
1838
1872
  try {
1839
- if (i || (i = new SD()), i.mxcadassemblyimp)
1873
+ if (i || (i = new GD()), i.mxcadassemblyimp)
1840
1874
  return E && E(i), A(i);
1841
- const r = await nC("mxdrawassembly_min", "mxdrawassembly", {
1875
+ const r = await aC("mxdrawassembly_min", "mxdrawassembly", {
1842
1876
  locateFile: D,
1843
1877
  wasmBinary: C
1844
1878
  });
@@ -1850,14 +1884,14 @@ async function OD(E, D = eC || !Q ? iC : rC, C, B, F) {
1850
1884
  }
1851
1885
  });
1852
1886
  }
1853
- const oC = (E) => {
1887
+ const uC = (E) => {
1854
1888
  let D = null;
1855
1889
  if (typeof E == "string" ? D = document.querySelector(E) : E instanceof HTMLCanvasElement && (D = E), !!D)
1856
1890
  return D.id || (D.id = Math.random().toString(16).slice(2)), D.id;
1857
- }, aC = (E, D) => new Promise((C, B) => {
1891
+ }, lC = (E, D) => new Promise((C, B) => {
1858
1892
  try {
1859
1893
  h.createMxObject({
1860
- canvasId: oC(E),
1894
+ canvasId: uC(E),
1861
1895
  isCPPMxCAD: !0,
1862
1896
  userIdentitySign: D,
1863
1897
  callback(F) {
@@ -1869,28 +1903,28 @@ const oC = (E) => {
1869
1903
  } catch (F) {
1870
1904
  B(F);
1871
1905
  }
1872
- }), uC = async (E) => {
1873
- uD.state.MxFun || await $D();
1874
- const { networkFonts: D, fontspath: C, locateFile: B, wasmBinary: F, canvas: A, userIdentitySign: t, onOpenFileComplete: e, fileUrl: r, onInit: s = () => {
1906
+ }), cC = async (E) => {
1907
+ mD.state.MxFun || await YD();
1908
+ const { multipleSelect: D, networkFonts: C, fontspath: B, locateFile: F, wasmBinary: A, canvas: t, userIdentitySign: e, onOpenFileComplete: r, fileUrl: s, onInit: o = () => {
1875
1909
  h.setIniset({
1876
1910
  EnableIntelliSelect: !0,
1877
1911
  IntelliSelectType: 1,
1878
- multipleSelect: !1
1912
+ multipleSelect: !!D
1879
1913
  });
1880
1914
  } } = E || {};
1881
- await OD(() => {
1882
- }, B, F, C, D), s();
1883
- let o = await aC(A, t);
1884
- const u = h.getMxFunTHREE();
1885
- let l = new u.Vector2();
1886
- o.getRenderer().getSize(l);
1887
- const d = i.App.CreateMxCAD(l.width, l.height, o.getCanvas().id, o.isWebgl2(), o.getId());
1888
- return o.initMxCpp(d), o.addEvent("openFileComplete", () => {
1889
- e && e();
1890
- }), r && d.openWebFile(r), d;
1915
+ await WD(() => {
1916
+ }, F, A, B, C), o();
1917
+ let a = await lC(t, e);
1918
+ const p = h.getMxFunTHREE();
1919
+ let d = new p.Vector2();
1920
+ a.getRenderer().getSize(d);
1921
+ const n = i.App.CreateMxCAD(d.width, d.height, a.getCanvas().id, a.isWebgl2(), a.getId());
1922
+ return a.initMxCpp(n), a.addEvent("openFileComplete", () => {
1923
+ r && r();
1924
+ }), s && n.openWebFile(s), n;
1891
1925
  };
1892
- async function lC() {
1893
- const E = new S();
1926
+ async function mC() {
1927
+ const E = new k();
1894
1928
  E.setMessage(`
1895
1929
  \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);
1896
1930
  let D = await E.go();
@@ -1909,7 +1943,7 @@ async function lC() {
1909
1943
  };
1910
1944
  h.call("Mx_Text", F);
1911
1945
  }
1912
- class cC extends lD {
1946
+ class pC extends pD {
1913
1947
  getGripPoints() {
1914
1948
  const { x: D, y: C, z: B } = this.center;
1915
1949
  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);
@@ -1920,19 +1954,19 @@ class cC extends lD {
1920
1954
  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;
1921
1955
  }
1922
1956
  }
1923
- const oD = (E) => {
1924
- 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, d = 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), m = F * r - e * A - F * u + o * A + e * u - o * r, y = -(F * r * l - F * u * s - e * A * l + e * u * t + o * A * s - o * r * t), b = 2 * (e - F), c = 2 * (r - A), p = 2 * (s - t), I = F * F + A * A + t * t - e * e - r * r - s * s, k = 2 * (o - F), P = 2 * (u - A), R = 2 * (l - t), W = F * F + A * A + t * t - o * o - u * u - l * l, KD = -(n * p * W - n * R * I - c * m * W + c * R * y + P * m * I - P * p * y) / (d * c * R - d * P * p - b * n * R + b * P * m + k * n * p - k * c * m), HD = (d * p * W - d * R * I - b * m * W + b * R * y + k * m * I - k * p * y) / (d * c * R - d * P * p - b * n * R + b * P * m + k * n * p - k * c * m), ND = -(d * c * W - d * P * I - b * n * W + b * P * y + k * n * I - k * c * y) / (d * c * R - d * P * p - b * n * R + b * P * m + k * n * p - k * c * m);
1925
- return new THREE.Vector3(KD, HD, ND);
1957
+ const aD = (E) => {
1958
+ const [D, C, B] = E, { x: F, y: A, z: t } = D, { x: e, y: r, z: s } = C, { x: o, y: a, z: p } = B, d = A * s - r * t - A * p + a * t + r * p - a * s, n = -(F * s - e * t - F * p + o * t + e * p - o * s), c = F * r - e * A - F * a + o * A + e * a - o * r, y = -(F * r * p - F * a * s - e * A * p + e * a * t + o * A * s - o * r * t), b = 2 * (e - F), l = 2 * (r - A), m = 2 * (s - t), I = F * F + A * A + t * t - e * e - r * r - s * s, P = 2 * (o - F), R = 2 * (a - A), S = 2 * (p - t), W = F * F + A * A + t * t - o * o - a * a - p * p, _D = -(n * m * W - n * S * I - l * c * W + l * S * y + R * c * I - R * m * y) / (d * l * S - d * R * m - b * n * S + b * R * c + P * n * m - P * l * c), $D = (d * m * W - d * S * I - b * c * W + b * S * y + P * c * I - P * m * y) / (d * l * S - d * R * m - b * n * S + b * R * c + P * n * m - P * l * c), JD = -(d * l * W - d * R * I - b * n * W + b * R * y + P * n * I - P * l * y) / (d * l * S - d * R * m - b * n * S + b * R * c + P * n * m - P * l * c);
1959
+ return new THREE.Vector3(_D, $D, JD);
1926
1960
  };
1927
- function jD() {
1928
- const E = new S();
1929
- let D = new cC(), C = i.GetCurrentDatabase().GetCurrentlyDrawColor();
1961
+ function zD() {
1962
+ const E = new k();
1963
+ let D = new pC(), C = i.GetCurrentDatabase().GetCurrentlyDrawColor();
1930
1964
  L.use(D), D.closed = !1, D.setColor(C);
1931
1965
  let B = 0, F = "default", A = !0;
1932
1966
  const t = () => {
1933
1967
  E.setUserDraw(
1934
- (n, m) => {
1935
- D.radius = A ? D.center.distanceTo(n) : D.center.distanceTo(n) / 2, m.drawCustomEntity(D), m.drawLine(D.center, n);
1968
+ (n, c) => {
1969
+ D.radius = A ? D.center.distanceTo(n) : D.center.distanceTo(n) / 2, c.drawCustomEntity(D), c.drawLine(D.center, n);
1936
1970
  }
1937
1971
  );
1938
1972
  }, e = (n) => {
@@ -1953,33 +1987,33 @@ function jD() {
1953
1987
  const s = (n) => {
1954
1988
  if (F === "3P" && (E.setMessage(`
1955
1989
  \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E00\u4E2A\u70B9:`), n === x.kOk)) {
1956
- if (B === 0 && (r.push(E.value()), E.setUserDraw((m, y) => {
1957
- y.drawLine(r[0], m);
1990
+ if (B === 0 && (r.push(E.value()), E.setUserDraw((c, y) => {
1991
+ y.drawLine(r[0], c);
1958
1992
  }), E.setMessage(`
1959
- \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)), B === 1 && (r.push(E.value()), E.setUserDraw((m, y) => {
1960
- const [b, c] = r, p = m;
1961
- D.center = oD([
1993
+ \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E8C\u4E2A\u70B9:`)), B === 1 && (r.push(E.value()), E.setUserDraw((c, y) => {
1994
+ const [b, l] = r, m = c;
1995
+ D.center = aD([
1962
1996
  b,
1963
- c,
1964
- p
1997
+ l,
1998
+ m
1965
1999
  ]), D.radius = D.center.distanceTo(b), y.drawCustomEntity(D);
1966
2000
  }), E.setMessage(`
1967
2001
  \u6307\u5B9A\u5706\u4E0A\u7684\u7B2C\u4E09\u4E2A\u70B9:`)), B === 2)
1968
- return r.push(E.value()), D.center = oD(r), D.radius = D.center.distanceTo(r[0]), i.GetCurrentMxCAD().DrawEntity(new O(D.center.x, D.center.y, 0, D.radius)), !0;
2002
+ return r.push(E.value()), D.center = aD(r), D.radius = D.center.distanceTo(r[0]), i.GetCurrentMxCAD().DrawEntity(new O(D.center.x, D.center.y, 0, D.radius)), !0;
1969
2003
  B++;
1970
2004
  }
1971
2005
  };
1972
2006
  let o;
1973
- const u = (n, m) => {
1974
- new THREE.Line3(n, m).getCenter(D.center), D.radius = m.distanceTo(n) / 2;
1975
- }, l = (n) => {
2007
+ const a = (n, c) => {
2008
+ new THREE.Line3(n, c).getCenter(D.center), D.radius = c.distanceTo(n) / 2;
2009
+ }, p = (n) => {
1976
2010
  if (F === "2P" && (E.setMessage(`
1977
2011
  \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E00\u4E2A\u7AEF\u70B9:`), n === x.kOk)) {
1978
- if (B === 0 && (o = E.value(), E.setUserDraw((m, y) => {
1979
- u(o, m), y.drawCustomEntity(D), y.drawLine(o, m);
2012
+ if (B === 0 && (o = E.value(), E.setUserDraw((c, y) => {
2013
+ a(o, c), y.drawCustomEntity(D), y.drawLine(o, c);
1980
2014
  }), E.setMessage(`
1981
2015
  \u6307\u5B9A\u5706\u76F4\u5F84\u7684\u7B2C\u4E8C\u4E2A\u7AEF\u70B9:`)), B === 1)
1982
- return u(o, E.value()), i.GetCurrentMxCAD().DrawEntity(new O(D.center.x, D.center.y, 0, D.radius)), !0;
2016
+ return a(o, E.value()), i.GetCurrentMxCAD().DrawEntity(new O(D.center.x, D.center.y, 0, D.radius)), !0;
1983
2017
  B++;
1984
2018
  }
1985
2019
  }, d = (n) => {
@@ -1987,8 +2021,8 @@ function jD() {
1987
2021
  if (E.setMessage(`
1988
2022
  \u6307\u5B9A\u5BF9\u8C61\u4E0E\u5706\u7684\u7B2C\u4E00\u4E2A\u5207\u70B9:`), n === x.kOk) {
1989
2023
  if (B === 0) {
1990
- const m = E.value();
1991
- console.log(m), h.getCurrentDraw();
2024
+ const c = E.value();
2025
+ console.log(c), h.getCurrentDraw();
1992
2026
  }
1993
2027
  B++;
1994
2028
  }
@@ -2004,7 +2038,7 @@ function jD() {
2004
2038
  return { exit: !0 };
2005
2039
  if (s(n))
2006
2040
  return { exit: !0 };
2007
- if (l(n))
2041
+ if (p(n))
2008
2042
  return { exit: !0 };
2009
2043
  if (d(n))
2010
2044
  return { exit: !0 };
@@ -2015,15 +2049,15 @@ function jD() {
2015
2049
  );
2016
2050
  }
2017
2051
  h.on("init", () => {
2018
- h.addCommand("Mx_Circle", jD);
2052
+ h.addCommand("Mx_Circle", zD);
2019
2053
  });
2020
- const aD = () => uD.state.MxFun.stopRunCommand();
2021
- function X(E, D, C, B) {
2054
+ const uD = () => mD.state.MxFun.stopRunCommand();
2055
+ function DD(E, D, C, B) {
2022
2056
  const F = E - C, A = D - B;
2023
2057
  let t = 0;
2024
2058
  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;
2025
2059
  }
2026
- const M = (E, D, C) => {
2060
+ const T = (E, D, C) => {
2027
2061
  const B = () => {
2028
2062
  E.go((F) => {
2029
2063
  if (F === x.kKeyWord && C() && B(), F === x.kOk && D() && B(), F === x.kNone && B(), F === x.kCancel)
@@ -2032,12 +2066,14 @@ const M = (E, D, C) => {
2032
2066
  };
2033
2067
  return B;
2034
2068
  };
2035
- async function GD() {
2036
- const E = new S();
2069
+ async function UD() {
2070
+ const E = new k();
2037
2071
  let D = new J(), C = i.GetCurrentDatabase().GetCurrentlyDrawColor(), B = [];
2038
2072
  E.setMessage(`
2039
2073
  \u6307\u5B9A\u7B2C\u4E00\u70B9:`);
2040
2074
  let F = await E.go();
2075
+ if (!F)
2076
+ return;
2041
2077
  E.setUserDraw((t, e) => {
2042
2078
  e.setColor(C), B.forEach((r) => {
2043
2079
  r.color = C, e.drawCustomEntity(r);
@@ -2051,26 +2087,26 @@ async function GD() {
2051
2087
  (t) => {
2052
2088
  if (t === x.kOk && (D = new J(), L.use(D), D.pt1 = F, D.pt2 = E.value(), F = D.pt2.clone(), B.push(D), A()), t === x.kKeyWord) {
2053
2089
  if (E.isKeyWordPicked("E"))
2054
- aD();
2090
+ uD();
2055
2091
  else if (E.isKeyWordPicked("C")) {
2056
2092
  const e = new J();
2057
- return e.pt1 = F.clone(), e.pt2 = B[0].pt1.clone(), L.use(e), B.push(e), F = e.pt2.clone(), aD(), { exit: !0 };
2093
+ return e.pt1 = F.clone(), e.pt2 = B[0].pt1.clone(), L.use(e), B.push(e), F = e.pt2.clone(), uD(), { exit: !0 };
2058
2094
  } else if (E.isKeyWordPicked("U")) {
2059
2095
  const e = B.pop();
2060
2096
  e && (F = e.pt1);
2061
2097
  }
2062
2098
  }
2063
2099
  },
2064
- (t) => (t === x.kCancel && B.forEach((e) => {
2100
+ (t) => (t != x.kCancel && B.forEach((e) => {
2065
2101
  i.GetCurrentMxCAD().DrawEntity(new Z(e.pt1.x, e.pt1.y, 0, e.pt2.x, e.pt2.y, 0));
2066
2102
  }), { exit: !0 })
2067
2103
  );
2068
2104
  }
2069
2105
  h.on("init", () => {
2070
- h.addCommand("Mx_Line", GD);
2106
+ h.addCommand("Mx_Line", UD);
2071
2107
  });
2072
- async function mC() {
2073
- const E = new S();
2108
+ async function dC() {
2109
+ const E = new k();
2074
2110
  E.setMessage(`
2075
2111
  \u6307\u5B9A\u63D2\u5165\u4F4D\u7F6E:`);
2076
2112
  let D = await E.go();
@@ -2090,10 +2126,10 @@ async function mC() {
2090
2126
  };
2091
2127
  h.call("Mx_MText", F);
2092
2128
  }
2093
- async function ID() {
2094
- const E = new S();
2129
+ async function VD() {
2130
+ const E = new k();
2095
2131
  let D = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2096
- const C = new JD();
2132
+ const C = new QD();
2097
2133
  L.use(C), C.color = D, E.setMessage(`
2098
2134
  \u6307\u5B9A\u8D77\u70B9:`);
2099
2135
  let B;
@@ -2110,7 +2146,7 @@ async function ID() {
2110
2146
  },
2111
2147
  (F) => {
2112
2148
  if (F === x.kCancel) {
2113
- let A = i.GetCurrentMxCAD(), t = new AD();
2149
+ let A = i.GetCurrentMxCAD(), t = new tD();
2114
2150
  for (let e = 0; e < C.points.length; e++)
2115
2151
  t.addVertexAt(C.points[e]);
2116
2152
  A.DrawEntity(t);
@@ -2119,10 +2155,10 @@ async function ID() {
2119
2155
  );
2120
2156
  }
2121
2157
  h.on("init", () => {
2122
- h.addCommand("Mx_Pline", ID);
2158
+ h.addCommand("Mx_Pline", VD);
2123
2159
  });
2124
- async function WD() {
2125
- const E = new S();
2160
+ async function KD() {
2161
+ const E = new k();
2126
2162
  E.setMessage(`
2127
2163
  \u6307\u5B9A\u4E00\u70B9:`);
2128
2164
  let D = await E.go(), C = new O();
@@ -2130,30 +2166,30 @@ async function WD() {
2130
2166
  let B = 5, F = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2131
2167
  E.setUserDraw((A, t) => {
2132
2168
  t.setColor(F), C.radius = D.distanceTo(A);
2133
- let e = C.getEndParam().val, s = C.getDistAtParam(e).val / B, o = 0, u = new THREE.Vector3(), l = new THREE.Vector3();
2169
+ let e = C.getEndParam().val, s = C.getDistAtParam(e).val / B, o = 0, a = new THREE.Vector3(), p = new THREE.Vector3();
2134
2170
  for (let d = 0; d < B; d++) {
2135
2171
  let n = C.getPointAtDist(o).val;
2136
- o += s, d > 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), d == 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);
2172
+ o += s, d > 0 ? t.drawMcDbLine(n.x, n.y, n.z, a.x, a.y, a.z) : p = new THREE.Vector3(n.x, n.y, n.z), d == B - 1 && t.drawMcDbLine(n.x, n.y, n.z, p.x, p.y, p.z), a = new THREE.Vector3(n.x, n.y, n.z);
2137
2173
  }
2138
2174
  }), E.setMessage(`
2139
2175
  \u6307\u5B9A\u4E8C\u70B9:`), await E.go(), E.drawReserve();
2140
2176
  }
2141
- h.addCommand("Mx_Polygon", WD);
2142
- function pC(E, D, C) {
2143
- 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, d = (B * B - F * F + (t * t - e * e)) / 2, n = (B * B - A * A + (t * t - r * r)) / 2, m = o * u - s * l, y = -(l * d - o * n) / m, b = -(s * n - u * d) / m;
2177
+ h.addCommand("Mx_Polygon", KD);
2178
+ function hC(E, D, C) {
2179
+ 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, a = B - A, p = t - r, d = (B * B - F * F + (t * t - e * e)) / 2, n = (B * B - A * A + (t * t - r * r)) / 2, c = o * a - s * p, y = -(p * d - o * n) / c, b = -(s * n - a * d) / c;
2144
2180
  return new THREE.Vector3(y, b, 0);
2145
2181
  }
2146
- function dC(E, D) {
2182
+ function wC(E, D) {
2147
2183
  const C = E.x, B = E.y, F = D.x, A = D.y;
2148
2184
  return Math.sqrt((C - F) * (C - F) + (B - A) * (B - A));
2149
2185
  }
2150
- function hC(E, D, C) {
2186
+ function yC(E, D, C) {
2151
2187
  let B;
2152
2188
  E < C ? B = C - E : B = C - E + 360;
2153
2189
  let F;
2154
2190
  return E < D ? F = D - E : F = D - E + 360, F > B;
2155
2191
  }
2156
- function DD(E, D, C) {
2192
+ function CD(E, D, C) {
2157
2193
  const B = E.x, F = D.x, A = E.y, t = D.y;
2158
2194
  let e, r, s;
2159
2195
  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), {
@@ -2162,7 +2198,7 @@ function DD(E, D, C) {
2162
2198
  angle: s
2163
2199
  };
2164
2200
  }
2165
- class nD extends lD {
2201
+ class oD extends pD {
2166
2202
  constructor() {
2167
2203
  super(), this._propertyDbKeys = [...this._propertyDbKeys, "bulge"];
2168
2204
  }
@@ -2170,7 +2206,7 @@ class nD extends lD {
2170
2206
  return "MxDbCircle";
2171
2207
  }
2172
2208
  create() {
2173
- return new nD();
2209
+ return new oD();
2174
2210
  }
2175
2211
  getArcBulge(D, C, B) {
2176
2212
  const F = D.distanceTo(C);
@@ -2184,10 +2220,10 @@ class nD extends lD {
2184
2220
  let r = F * Math.PI / 180;
2185
2221
  const s = new THREE.Vector3(), o = new THREE.Vector3();
2186
2222
  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);
2187
- const u = C;
2223
+ const a = C;
2188
2224
  (A ? B < F : B > F) && (r += Math.PI * 2);
2189
- const l = new THREE.Vector3();
2190
- 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];
2225
+ const p = new THREE.Vector3();
2226
+ return p.x = t.x + a * Math.cos((e + r) / 2), p.y = t.y + a * Math.sin((e + r) / 2), [s, p, o, this.center];
2191
2227
  }
2192
2228
  getGripPoints() {
2193
2229
  return this.getArcMidPoint(
@@ -2207,130 +2243,129 @@ class nD extends lD {
2207
2243
  upDatePoints(D, C, B) {
2208
2244
  D[C].add(B);
2209
2245
  const [F, A, t] = D;
2210
- this.center = pC(F, t, A), this.radius = dC(A, this.center);
2211
- const e = DD(F, this.center, this.radius), r = DD(t, this.center, this.radius), s = DD(A, this.center, this.radius);
2212
- this.clockwise = hC(
2246
+ this.center = hC(F, t, A), this.radius = wC(A, this.center);
2247
+ const e = CD(F, this.center, this.radius), r = CD(t, this.center, this.radius), s = CD(A, this.center, this.radius);
2248
+ this.clockwise = yC(
2213
2249
  r.angle,
2214
2250
  e.angle,
2215
2251
  s.angle
2216
2252
  ), this.startAngle = THREE.MathUtils.degToRad(e.angle), this.endAngle = THREE.MathUtils.degToRad(r.angle);
2217
2253
  }
2218
2254
  }
2219
- async function zD() {
2255
+ async function HD() {
2220
2256
  let E = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2221
- i.GetCurrentDatabase().SetCurrentlyColorIndex(4);
2222
- const D = new S();
2257
+ const D = new k();
2223
2258
  D.setMessage(`
2224
2259
  \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setKeyWords("[\u5706\u5FC3(C)]");
2225
- let C = new nD();
2260
+ let C = new oD();
2226
2261
  C.closed = !1, L.use(C);
2227
2262
  let B, F, A;
2228
- const t = M(
2263
+ const t = T(
2229
2264
  D,
2230
2265
  () => {
2231
2266
  B = D.value(), D.setMessage(`
2232
- \u6307\u5B9A\u5706\u5F27\u7684\u7B2C\u4E8C\u4E2A\u70B9:`), D.setKeyWords("[\u5706\u5FC3(C)/\u7AEF\u70B9(E)]"), D.setUserDraw((c, p) => {
2233
- p.setColor(E), p.drawLine(B, c);
2234
- }), m();
2267
+ \u6307\u5B9A\u5706\u5F27\u7684\u7B2C\u4E8C\u4E2A\u70B9:`), D.setKeyWords("[\u5706\u5FC3(C)/\u7AEF\u70B9(E)]"), D.setUserDraw((l, m) => {
2268
+ m.setColor(E), m.drawLine(B, l);
2269
+ }), c();
2235
2270
  },
2236
2271
  () => {
2237
2272
  if (D.isKeyWordPicked("C")) {
2238
- const c = new $();
2239
- c.color = E, C.center = D.value(), c.center = D.value(), D.setMessage(`
2273
+ const l = new $();
2274
+ l.color = E, C.center = D.value(), l.center = D.value(), D.setMessage(`
2240
2275
  \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3:`), D.setKeyWords(""), r();
2241
2276
  } else
2242
2277
  return !0;
2243
2278
  }
2244
2279
  );
2245
2280
  let e;
2246
- const r = M(
2281
+ const r = T(
2247
2282
  D,
2248
2283
  () => {
2249
2284
  e = D.value(), A = new $(), A.closed = !1, L.use(A), A.color = E, A.center = e, C.center = e, D.setMessage(`
2250
- \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setUserDraw((c, p) => {
2251
- p.drawCustomEntity(A), p.setColor(E), p.drawLine(e, c);
2252
- }), u();
2285
+ \u6307\u5B9A\u5706\u5F27\u7684\u8D77\u70B9:`), D.setUserDraw((l, m) => {
2286
+ m.drawCustomEntity(A), m.setColor(E), m.drawLine(e, l);
2287
+ }), a();
2253
2288
  },
2254
2289
  () => {
2255
2290
  }
2256
2291
  );
2257
2292
  let s, o;
2258
- const u = M(
2293
+ const a = T(
2259
2294
  D,
2260
2295
  () => {
2261
2296
  s = D.value(), A.endPoint = s, D.setMessage(
2262
2297
  `
2263
2298
  \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)]:`
2264
- ), D.setKeyWords("A L R"), o = new J(), o.setDashLineDisplay(!0), o.setDashArray(0.05), o.setLineWidth(2), o.setColor("#ffd30d"), o.pt1 = A.center, D.setUserDraw((c, p) => {
2265
- A.startPoint = c, o.pt2 = c, p.drawCustomEntity(A), p.drawCustomEntity(o);
2299
+ ), D.setKeyWords("A L R"), o = new J(), o.setDashLineDisplay(!0), o.setDashArray(0.05), o.setLineWidth(2), o.setColor("#ffd30d"), o.pt1 = A.center, D.setUserDraw((l, m) => {
2300
+ A.startPoint = l, o.pt2 = l, m.drawCustomEntity(A), m.drawCustomEntity(o);
2266
2301
  }), d();
2267
2302
  },
2268
2303
  () => {
2269
2304
  }
2270
2305
  );
2271
- let l;
2272
- const d = M(
2306
+ let p;
2307
+ const d = T(
2273
2308
  D,
2274
2309
  () => {
2275
- l = D.value(), A.startPoint = l, A.endPoint = s, y.DrawArc(A.center.x, A.center.y, A.radius, A.startAngle, A.endAngle);
2310
+ p = D.value(), A.startPoint = p, A.endPoint = s, y.DrawArc(A.center.x, A.center.y, A.radius, A.startAngle, A.endAngle);
2276
2311
  },
2277
2312
  () => {
2278
2313
  if (D.isKeyWordPicked("A"))
2279
2314
  return D.setMessage(
2280
2315
  `
2281
2316
  \u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`
2282
- ), D.setKeyWords("R"), D.setUserDraw((c, p) => {
2283
- A.startPoint = c, p.drawCustomEntity(A), p.drawCustomEntity(o);
2317
+ ), D.setKeyWords("R"), D.setUserDraw((l, m) => {
2318
+ A.startPoint = l, m.drawCustomEntity(A), m.drawCustomEntity(o);
2284
2319
  }), !0;
2285
2320
  if (D.isKeyWordPicked("L"))
2286
2321
  return D.setMessage(
2287
2322
  `
2288
2323
  \u6307\u5B9A\u5706\u5F27\u7684\u5939\u89D2(\u6309\u4F4F ctrl \u952E\u53D6\u76F8\u53CD\u65B9\u5411)\u6216 [\u4FEE\u6539\u534A\u5F84(R)]:`
2289
- ), D.setKeyWords("R"), D.setUserDraw((c, p) => {
2290
- A.startPoint = c, p.drawCustomEntity(A), p.drawCustomEntity(o);
2324
+ ), D.setKeyWords("R"), D.setUserDraw((l, m) => {
2325
+ A.startPoint = l, m.drawCustomEntity(A), m.drawCustomEntity(o);
2291
2326
  }), !0;
2292
2327
  if (D.isKeyWordPicked("R"))
2293
2328
  D.setMessage(
2294
2329
  `
2295
2330
  \u6307\u5B9A\u5706\u5F27\u7684\u534A\u5F84${A.radius ? "<" + A.radius + ">" : ""}:`
2296
- ), D.setKeyWords(""), D.setUserDraw((c, p) => {
2297
- p.drawLine(c, A.center), A.startPoint = c, p.drawCustomEntity(A);
2298
- }), u();
2331
+ ), D.setKeyWords(""), D.setUserDraw((l, m) => {
2332
+ m.drawLine(l, A.center), A.startPoint = l, m.drawCustomEntity(A);
2333
+ }), a();
2299
2334
  else
2300
2335
  return !0;
2301
2336
  }
2302
2337
  );
2303
2338
  let n;
2304
- const m = M(
2339
+ const c = T(
2305
2340
  D,
2306
2341
  () => {
2307
2342
  n = D.value(), D.setMessage(`
2308
- \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`), F = new ZD(), F.color = E, F.autoClockwise = !0, F.closed = !1, L.use(F), D.setUserDraw((c, p) => {
2309
- F.point1 = B, F.point3 = n, F.point2 = c, p.drawCustomEntity(F);
2343
+ \u6307\u5B9A\u5706\u5F27\u7684\u7AEF\u70B9:`), F = new XD(), F.color = E, F.autoClockwise = !0, F.closed = !1, L.use(F), D.setUserDraw((l, m) => {
2344
+ F.point1 = B, F.point3 = n, F.point2 = l, m.drawCustomEntity(F);
2310
2345
  }), b();
2311
2346
  },
2312
2347
  () => {
2313
2348
  if (D.isKeyWordPicked("C"))
2314
2349
  A = new $(), A.closed = !1, L.use(A), A.color = E, D.setMessage(`
2315
- \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((c, p) => {
2316
- A.startPoint = B, p.drawLine(c, A.startPoint);
2350
+ \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((l, m) => {
2351
+ A.startPoint = B, m.drawLine(l, A.startPoint);
2317
2352
  }), r();
2318
2353
  else if (D.isKeyWordPicked("E"))
2319
2354
  A = new $(), A.closed = !1, L.use(A), A.color = E, D.setMessage(`
2320
- \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((c, p) => {
2321
- A.startPoint = B, p.drawLine(c, A.startPoint);
2355
+ \u6307\u5B9A\u5706\u5F27\u7684\u5706\u5FC3`), D.setKeyWords(""), D.setUserDraw((l, m) => {
2356
+ A.startPoint = B, m.drawLine(l, A.startPoint);
2322
2357
  }), r();
2323
2358
  else
2324
2359
  return !0;
2325
2360
  }
2326
2361
  );
2327
2362
  let y = i.GetCurrentMxCAD();
2328
- const b = M(
2363
+ const b = T(
2329
2364
  D,
2330
2365
  () => {
2331
2366
  F.point1 = B, F.point2 = D.value(), F.point3 = n;
2332
- let c = new eD();
2333
- c.computeArc(F.point1.x, F.point1.y, F.point3.x, F.point3.y, F.point2.x, F.point2.y), y.DrawEntity(c);
2367
+ let l = new iD();
2368
+ l.computeArc(F.point1.x, F.point1.y, F.point3.x, F.point3.y, F.point2.x, F.point2.y), y.DrawEntity(l);
2334
2369
  },
2335
2370
  () => {
2336
2371
  if (D.isKeyWordPicked("C"))
@@ -2344,26 +2379,26 @@ async function zD() {
2344
2379
  t();
2345
2380
  }
2346
2381
  h.on("init", () => {
2347
- h.addCommand("Mx_Arc", zD);
2382
+ h.addCommand("Mx_Arc", HD);
2348
2383
  });
2349
- function UD() {
2350
- const E = new S(), D = new YD();
2384
+ function ND() {
2385
+ const E = new k(), D = new DC();
2351
2386
  D.closed = !1, L.use(D), E.setMessage(`
2352
2387
  \u6307\u5B9A\u692D\u5706\u7684\u8F74\u7AEF\u70B9`), E.setKeyWords("[\u4E2D\u5FC3\u70B9(C)]");
2353
2388
  let C, B = new THREE.Vector3();
2354
- M(
2389
+ T(
2355
2390
  E,
2356
2391
  () => {
2357
2392
  C = E.value(), E.setUserDraw((s, o) => {
2358
- const u = new THREE.Line3(C, s);
2359
- u.getCenter(B), D.center = B, D.xRadius = u.distance() / 2, D.yRadius = D.xRadius, D.rotation = X(s.x, s.y, B.x, B.y), o.drawLine(s, C);
2393
+ const a = new THREE.Line3(C, s);
2394
+ a.getCenter(B), D.center = B, D.xRadius = a.distance() / 2, D.yRadius = D.xRadius, D.rotation = DD(s.x, s.y, B.x, B.y), o.drawLine(s, C);
2360
2395
  }), E.setMessage(`
2361
2396
  \u6307\u5B9A\u692D\u5706\u5F27\u8F74\u7684\u53E6\u4E00\u4E2A\u7AEF\u70B9:`), E.setKeyWords(""), A();
2362
2397
  },
2363
2398
  () => {
2364
2399
  }
2365
2400
  )();
2366
- const A = M(
2401
+ const A = T(
2367
2402
  E,
2368
2403
  () => {
2369
2404
  E.setUserDraw((s, o) => {
@@ -2373,38 +2408,38 @@ function UD() {
2373
2408
  },
2374
2409
  () => {
2375
2410
  }
2376
- ), t = M(
2411
+ ), t = T(
2377
2412
  E,
2378
2413
  () => {
2379
2414
  E.setMessage(`
2380
2415
  \u6307\u5B9A\u8D77\u59CB\u89D2\u5EA6`), E.setKeyWords(""), E.setUserDraw((s, o) => {
2381
- D.startAngle = X(s.x, s.y, B.x, B.y) - D.rotation, o.drawLine(B, s), o.drawCustomEntity(D);
2416
+ D.startAngle = DD(s.x, s.y, B.x, B.y) - D.rotation, o.drawLine(B, s), o.drawCustomEntity(D);
2382
2417
  }), e();
2383
2418
  },
2384
2419
  () => {
2385
2420
  }
2386
- ), e = M(
2421
+ ), e = T(
2387
2422
  E,
2388
2423
  () => {
2389
2424
  E.setUserDraw((s, o) => {
2390
- D.endAngle = X(s.x, s.y, B.x, B.y) - D.rotation, o.drawLine(B, s), o.drawCustomEntity(D);
2425
+ D.endAngle = DD(s.x, s.y, B.x, B.y) - D.rotation, o.drawLine(B, s), o.drawCustomEntity(D);
2391
2426
  }), E.setMessage(`
2392
2427
  \u6307\u5B9A\u7EC8\u6B62\u89D2\u5EA6`), E.setKeyWords(""), r();
2393
2428
  },
2394
2429
  () => {
2395
2430
  }
2396
- ), r = M(
2431
+ ), r = T(
2397
2432
  E,
2398
2433
  () => {
2399
2434
  let s = new w(D.xRadius, 0, 0);
2400
- s.rotateBy(D.rotation, w.kZAxis), i.GetCurrentMxCAD().DrawEntity(new iD(D.center.x, D.center.y, 0, s.x, s.y, 0, D.yRadius / D.xRadius, D.startAngle, D.endAngle));
2435
+ s.rotateBy(D.rotation, w.kZAxis), i.GetCurrentMxCAD().DrawEntity(new rD(D.center.x, D.center.y, 0, s.x, s.y, 0, D.yRadius / D.xRadius, D.startAngle, D.endAngle));
2401
2436
  },
2402
2437
  () => {
2403
2438
  }
2404
2439
  );
2405
2440
  }
2406
- function wC() {
2407
- const E = new S(), D = new QD(), C = new XD();
2441
+ function gC() {
2442
+ const E = new k(), D = new CC(), C = new BC();
2408
2443
  let B = i.GetCurrentDatabase().GetCurrentlyDrawColor();
2409
2444
  C.setColor(B), E.setMessage(`
2410
2445
  \u70B9\u51FB\u5F00\u59CB\u7ED8\u5236\u692D\u5706:`), E.go(() => {
@@ -2412,30 +2447,38 @@ function wC() {
2412
2447
  C.point2 = F, D.drawCustomEntity(C);
2413
2448
  }), E.setUserDraw(D), E.setMessage(`
2414
2449
  \u518D\u6B21\u70B9\u51FB\u7ED3\u675F\u7ED8\u5236\u692D\u5706:`), E.go(() => {
2415
- i.GetCurrentMxCAD().DrawEntity(new iD(C.center.x, C.center.y, 0, C.xRadius, 0, 0, C.yRadius / C.xRadius));
2450
+ i.GetCurrentMxCAD().DrawEntity(new rD(C.center.x, C.center.y, 0, C.xRadius, 0, 0, C.yRadius / C.xRadius));
2416
2451
  });
2417
2452
  });
2418
2453
  }
2419
2454
  h.on("init", () => {
2420
- h.addCommand("Mx_EllipseArc", UD), h.addCommand("Mx_Ellipse", wC);
2455
+ h.addCommand("Mx_EllipseArc", ND), h.addCommand("Mx_Ellipse", gC);
2421
2456
  });
2422
- async function VD() {
2423
- (await rD.selectEnt(`
2424
- \u9009\u62E9\u5220\u9664\u5BF9\u8C61`)).forEach((D) => {
2425
- D.erase();
2457
+ async function qD() {
2458
+ let E = sD.getCurrentSelect();
2459
+ if (E.length > 0) {
2460
+ E.forEach((C) => {
2461
+ C.erase();
2462
+ });
2463
+ return;
2464
+ }
2465
+ let D = new OD();
2466
+ !await D.userSelect(`
2467
+ \u9009\u62E9\u5220\u9664\u5BF9\u8C61`) || D.forEach((C) => {
2468
+ C.erase();
2426
2469
  });
2427
2470
  }
2428
- h.addCommand("Mx_Erase", VD);
2429
- const yC = async (E, D, C) => {
2471
+ h.addCommand("Mx_Erase", qD);
2472
+ const bC = async (E, D, C) => {
2430
2473
  const { locateFile: B } = C, F = B(E + ".js");
2431
- return await vD(F), await globalThis[D](C);
2474
+ return await ID(F), await globalThis[D](C);
2432
2475
  };
2433
- function gC(E) {
2476
+ function xC(E) {
2434
2477
  return typeof ResizeObserver == "function" ? new ResizeObserver(E) : null;
2435
2478
  }
2436
- function bC(E, D) {
2479
+ function fC(E, D) {
2437
2480
  const C = () => requestAnimationFrame(D);
2438
- let B = gC(C);
2481
+ let B = xC(C);
2439
2482
  if (B) {
2440
2483
  B.observe(E);
2441
2484
  return;
@@ -2445,7 +2488,7 @@ function bC(E, D) {
2445
2488
  return;
2446
2489
  }
2447
2490
  }
2448
- function xC(E, D) {
2491
+ function MC(E, D) {
2449
2492
  let C = null;
2450
2493
  return function(...B) {
2451
2494
  C || (C = setTimeout(() => {
@@ -2453,17 +2496,17 @@ function xC(E, D) {
2453
2496
  }, D));
2454
2497
  };
2455
2498
  }
2456
- class V {
2499
+ class K {
2457
2500
  static onloadWasmMxDraw3dModel;
2458
2501
  canvas;
2459
2502
  constructor(D) {
2460
2503
  const C = () => {
2461
- const u = this.canvas.parentElement?.clientWidth || window.innerWidth, l = this.canvas.parentElement?.clientHeight || window.innerHeight;
2462
- let d = Math.min(u, window.screen.availWidth), n = Math.min(l, window.screen.availHeight);
2504
+ const a = this.canvas.parentElement?.clientWidth || window.innerWidth, p = this.canvas.parentElement?.clientHeight || window.innerHeight;
2505
+ let d = Math.min(a, window.screen.availWidth), n = Math.min(p, window.screen.availHeight);
2463
2506
  d = Math.max(A, d), n = Math.max(t, n), this.canvas.style.width = d + 1 + "px", this.canvas.style.height = n + "px";
2464
- const m = window.devicePixelRatio || 1;
2465
- this.canvas.width = d * m, this.canvas.height = n * m;
2466
- }, B = xC(C, 50), {
2507
+ const c = window.devicePixelRatio || 1;
2508
+ this.canvas.width = d * c, this.canvas.height = n * c;
2509
+ }, B = MC(C, 50), {
2467
2510
  canvas: F,
2468
2511
  minWidth: A = 300,
2469
2512
  minHeight: t = 300,
@@ -2472,33 +2515,33 @@ class V {
2472
2515
  } = D;
2473
2516
  let s = typeof F == "string" ? document.querySelectorAll(F)[0] : F, o = s.getContext("webgl2", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 });
2474
2517
  o == null && (o = s.getContext("webgl", { alpha: !1, depth: !0, antialias: !1, preserveDrawingBuffer: !0 })), this.canvas = s, this.ctx = o, r.canvas = this.canvas;
2475
- for (let u in r)
2476
- this[u] = r[u];
2518
+ for (let a in r)
2519
+ this[a] = r[a];
2477
2520
  if (this.canvas instanceof HTMLCanvasElement) {
2478
- const u = this.canvas.parentElement || document.body;
2479
- bC(u, e);
2521
+ const a = this.canvas.parentElement || document.body;
2522
+ fC(a, e);
2480
2523
  } else
2481
2524
  console.error("createMxDraw3d canvas \u53C2\u6570\u4E0D\u6B63\u786E \u65E0\u6CD5\u83B7\u53D6\u5230canvas\u5143\u7D20");
2482
- window.onresize = C, C(), yC("mxdraw3d_min", "mxdraw3d", this).then(() => {
2483
- V.onloadWasmMxDraw3dModel && V.onloadWasmMxDraw3dModel(this), this.updateCanvasSize = e, this.open3DFile = (u) => {
2484
- const l = new FileReader();
2485
- l.onload = () => {
2486
- if (!!l.result && l.result instanceof ArrayBuffer) {
2487
- var d = new Uint8Array(l.result);
2525
+ window.onresize = C, C(), bC("mxdraw3d_min", "mxdraw3d", this).then(() => {
2526
+ K.onloadWasmMxDraw3dModel && K.onloadWasmMxDraw3dModel(this), this.updateCanvasSize = e, this.open3DFile = (a) => {
2527
+ const p = new FileReader();
2528
+ p.onload = () => {
2529
+ if (!!p.result && p.result instanceof ArrayBuffer) {
2530
+ var d = new Uint8Array(p.result);
2488
2531
  const n = this._malloc(d.length);
2489
- this.HEAPU8.set(d, n), this.openFromMemory(u.name, n, d.length, !0), this.displayGround(!0), this.canvas.focus();
2532
+ this.HEAPU8.set(d, n), this.openFromMemory(a.name, n, d.length, !0), this.displayGround(!0), this.canvas.focus();
2490
2533
  }
2491
- }, l.readAsArrayBuffer(u);
2534
+ }, p.readAsArrayBuffer(a);
2492
2535
  };
2493
2536
  });
2494
2537
  }
2495
2538
  }
2496
- function fC(E, D) {
2539
+ function TC(E, D) {
2497
2540
  return new Promise(async (C, B) => {
2498
2541
  try {
2499
- E.locateFile || (E.locateFile = sC);
2500
- const F = new V(E);
2501
- V.onloadWasmMxDraw3dModel = () => {
2542
+ E.locateFile || (E.locateFile = oC);
2543
+ const F = new K(E);
2544
+ K.onloadWasmMxDraw3dModel = () => {
2502
2545
  C(F), D && D(F);
2503
2546
  };
2504
2547
  } catch (F) {
@@ -2506,137 +2549,137 @@ function fC(E, D) {
2506
2549
  }
2507
2550
  });
2508
2551
  }
2509
- const TC = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2552
+ const PC = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2510
2553
  __proto__: null,
2511
- b64Encode: cD,
2512
- b64Decode: mD,
2513
- saveAsFileDialog: pD,
2514
- downloadFile: dD,
2515
- downloadFileFromUrl: hD,
2554
+ b64Encode: dD,
2555
+ b64Decode: hD,
2556
+ saveAsFileDialog: wD,
2557
+ downloadFile: yD,
2558
+ downloadFileFromUrl: gD,
2516
2559
  MxTools: _,
2517
- McGePoint3d: a,
2560
+ McGePoint3d: u,
2518
2561
  McGeVector3d: w,
2519
- McGeMatrix3d: z,
2520
- McGeLongArray: CC,
2521
- McGeStringArray: wD,
2522
- McGePoint3dArray: BC,
2523
- getFilterImp: N,
2562
+ McGeMatrix3d: U,
2563
+ McGeLongArray: FC,
2564
+ McGeStringArray: bD,
2565
+ McGePoint3dArray: AC,
2566
+ getFilterImp: z,
2524
2567
  McDrawResbuf: q,
2525
- McDrawUtilityClass: RD,
2526
- McDrawUtility: rD,
2527
- McDrawSelSet: tC,
2568
+ MxCADUtilityClass: vD,
2569
+ MxCADUtility: sD,
2570
+ MxCADSelectionSet: OD,
2528
2571
  McRxObject: j,
2529
2572
  McObjectIdType: f,
2530
- McObjectId: T,
2573
+ McObjectId: M,
2531
2574
  McDbObject: v,
2532
2575
  get McDb() {
2533
- return CD;
2576
+ return BD;
2534
2577
  },
2535
2578
  McCmColor: G,
2536
- McDbLayerTableRecord: AC,
2537
- McDbLayerTable: yD,
2538
- McDbLinetypeTable: gD,
2539
- McDbTextStyleTable: bD,
2540
- McDbDatabase: ED,
2541
- McDbBlockTableRecordIterator: xD,
2579
+ McDbLayerTableRecord: iC,
2580
+ McDbLayerTable: xD,
2581
+ McDbLinetypeTable: fD,
2582
+ McDbTextStyleTable: MD,
2583
+ McDbDatabase: FD,
2584
+ McDbBlockTableRecordIterator: TD,
2542
2585
  McDbBlockTableRecord: Y,
2543
- McDbBlockTableIterator: fD,
2544
- McDbBlockTable: MD,
2545
- McDbEntity: K,
2546
- McDbCurve: H,
2586
+ McDbBlockTableIterator: kD,
2587
+ McDbBlockTable: PD,
2588
+ McDbEntity: H,
2589
+ McDbCurve: N,
2547
2590
  McDbLine: Z,
2548
- McDbText: BD,
2549
- McDbMText: FD,
2591
+ McDbText: ED,
2592
+ McDbMText: AD,
2550
2593
  McDbCircle: O,
2551
- McDbPolyline: AD,
2552
- McDbBlockReference: TD,
2553
- McDbDimension: tD,
2554
- McDbAlignedDimension: kD,
2555
- McDbRotatedDimension: PD,
2556
- McDbArc: eD,
2557
- McDbEllipse: iD,
2558
- McObject: U,
2559
- McAppType: LD,
2560
- MxCppType: SD,
2594
+ McDbPolyline: tD,
2595
+ McDbBlockReference: RD,
2596
+ McDbDimension: eD,
2597
+ McDbAlignedDimension: SD,
2598
+ McDbRotatedDimension: LD,
2599
+ McDbArc: iD,
2600
+ McDbEllipse: rD,
2601
+ McObject: V,
2602
+ McAppType: jD,
2603
+ MxCppType: GD,
2561
2604
  get MxCpp() {
2562
2605
  return i;
2563
2606
  },
2564
- loadMxCADassembly: OD,
2565
- createMxCad: uC,
2566
- drawText: lC,
2567
- drawCircle: jD,
2568
- drawLine: GD,
2569
- drawMText: mC,
2570
- drawPolyLine: ID,
2571
- drawPolygon: WD,
2572
- drawArc: zD,
2573
- drawEllipticalArc: UD,
2574
- mxErase: VD,
2575
- MxDraw3d: V,
2576
- loadMxCADassembly3d: fC
2607
+ loadMxCADassembly: WD,
2608
+ createMxCad: cC,
2609
+ drawText: mC,
2610
+ drawCircle: zD,
2611
+ drawLine: UD,
2612
+ drawMText: dC,
2613
+ drawPolyLine: VD,
2614
+ drawPolygon: KD,
2615
+ drawArc: HD,
2616
+ drawEllipticalArc: ND,
2617
+ mxErase: qD,
2618
+ MxDraw3d: K,
2619
+ loadMxCADassembly3d: TC
2577
2620
  }, Symbol.toStringTag, { value: "Module" }));
2578
2621
  export {
2579
- LD as McAppType,
2622
+ jD as McAppType,
2580
2623
  G as McCmColor,
2581
- CD as McDb,
2582
- kD as McDbAlignedDimension,
2583
- eD as McDbArc,
2584
- TD as McDbBlockReference,
2585
- MD as McDbBlockTable,
2586
- fD as McDbBlockTableIterator,
2624
+ BD as McDb,
2625
+ SD as McDbAlignedDimension,
2626
+ iD as McDbArc,
2627
+ RD as McDbBlockReference,
2628
+ PD as McDbBlockTable,
2629
+ kD as McDbBlockTableIterator,
2587
2630
  Y as McDbBlockTableRecord,
2588
- xD as McDbBlockTableRecordIterator,
2631
+ TD as McDbBlockTableRecordIterator,
2589
2632
  O as McDbCircle,
2590
- H as McDbCurve,
2591
- ED as McDbDatabase,
2592
- tD as McDbDimension,
2593
- iD as McDbEllipse,
2594
- K as McDbEntity,
2595
- yD as McDbLayerTable,
2596
- AC as McDbLayerTableRecord,
2633
+ N as McDbCurve,
2634
+ FD as McDbDatabase,
2635
+ eD as McDbDimension,
2636
+ rD as McDbEllipse,
2637
+ H as McDbEntity,
2638
+ xD as McDbLayerTable,
2639
+ iC as McDbLayerTableRecord,
2597
2640
  Z as McDbLine,
2598
- gD as McDbLinetypeTable,
2599
- FD as McDbMText,
2641
+ fD as McDbLinetypeTable,
2642
+ AD as McDbMText,
2600
2643
  v as McDbObject,
2601
- AD as McDbPolyline,
2602
- PD as McDbRotatedDimension,
2603
- BD as McDbText,
2604
- bD as McDbTextStyleTable,
2644
+ tD as McDbPolyline,
2645
+ LD as McDbRotatedDimension,
2646
+ ED as McDbText,
2647
+ MD as McDbTextStyleTable,
2605
2648
  q as McDrawResbuf,
2606
- tC as McDrawSelSet,
2607
- rD as McDrawUtility,
2608
- RD as McDrawUtilityClass,
2609
- CC as McGeLongArray,
2610
- z as McGeMatrix3d,
2611
- a as McGePoint3d,
2612
- BC as McGePoint3dArray,
2613
- wD as McGeStringArray,
2649
+ FC as McGeLongArray,
2650
+ U as McGeMatrix3d,
2651
+ u as McGePoint3d,
2652
+ AC as McGePoint3dArray,
2653
+ bD as McGeStringArray,
2614
2654
  w as McGeVector3d,
2615
- U as McObject,
2616
- T as McObjectId,
2655
+ V as McObject,
2656
+ M as McObjectId,
2617
2657
  f as McObjectIdType,
2618
2658
  j as McRxObject,
2659
+ OD as MxCADSelectionSet,
2660
+ sD as MxCADUtility,
2661
+ vD as MxCADUtilityClass,
2619
2662
  i as MxCpp,
2620
- SD as MxCppType,
2621
- V as MxDraw3d,
2663
+ GD as MxCppType,
2664
+ K as MxDraw3d,
2622
2665
  _ as MxTools,
2623
- mD as b64Decode,
2624
- cD as b64Encode,
2625
- uC as createMxCad,
2626
- TC as default,
2627
- dD as downloadFile,
2628
- hD as downloadFileFromUrl,
2629
- zD as drawArc,
2630
- jD as drawCircle,
2631
- UD as drawEllipticalArc,
2632
- GD as drawLine,
2633
- mC as drawMText,
2634
- ID as drawPolyLine,
2635
- WD as drawPolygon,
2636
- lC as drawText,
2637
- N as getFilterImp,
2638
- OD as loadMxCADassembly,
2639
- fC as loadMxCADassembly3d,
2640
- VD as mxErase,
2641
- pD as saveAsFileDialog
2666
+ hD as b64Decode,
2667
+ dD as b64Encode,
2668
+ cC as createMxCad,
2669
+ PC as default,
2670
+ yD as downloadFile,
2671
+ gD as downloadFileFromUrl,
2672
+ HD as drawArc,
2673
+ zD as drawCircle,
2674
+ ND as drawEllipticalArc,
2675
+ UD as drawLine,
2676
+ dC as drawMText,
2677
+ VD as drawPolyLine,
2678
+ KD as drawPolygon,
2679
+ mC as drawText,
2680
+ z as getFilterImp,
2681
+ WD as loadMxCADassembly,
2682
+ TC as loadMxCADassembly3d,
2683
+ qD as mxErase,
2684
+ wD as saveAsFileDialog
2642
2685
  };