diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java index 87a90d6e..683f9e1d 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/OrderController.java @@ -3,7 +3,6 @@ package net.lab1024.smartadmin.module.system.royalcanin.good; import com.alibaba.fastjson.JSONObject; import com.alipay.api.internal.util.AlipaySignature; -import com.beust.jcommander.Parameter; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.lab1024.smartadmin.common.anno.OperateLog; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/GoodService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/GoodService.java index 239126b0..041719de 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/GoodService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/GoodService.java @@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit; public class GoodService { // String url = "https://miniapp-test.royalcanin.com.cn/rcmini/h5/"; - String url = "https://miniapp-product.royalcanin.com.cn/rcmini2020/"; + String url = "https://miniapp-product.royalcanin.com.cn/rcmini2020/h5/"; @Autowired private GoodsDao goodsDao; diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java index 145ea76d..b70a66df 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/module/system/royalcanin/good/service/OrderService.java @@ -47,7 +47,7 @@ public class OrderService { private NotifyService notifyService; // String url = "https://miniapp-test.royalcanin.com.cn/rcmini/h5/"; - String url = "https://miniapp-product.royalcanin.com.cn/rcmini2020/"; + String url = "https://miniapp-product.royalcanin.com.cn/rcmini2020/h5/orderMaster/"; @Transactional public int generateOrder(OrdersEntity ordersEntity, JSONArray listJson) throws Exception { @@ -216,12 +216,14 @@ public class OrderService { String orderCoupon = addOrSaveEntity.getOrderCoupon(); jsonObject.put("orderCoupon",orderCoupon); jsonObject.put("orderDetailList",detailList); + jsonObject.put("channelId","15"); + jsonObject.put("secret","H5@2021"); long startTime = System.currentTimeMillis(); - String result = SmartHttpUtil.httpPostRaw(url+"addOrSave?channelId=15&secret=H5@2021",jsonObject.toString(),null,"utf-8"); + String result = SmartHttpUtil.httpPostRaw(url+"addOrSave",jsonObject.toString(),null,"utf-8"); long acceptTime = System.currentTimeMillis() ; long elapsedTime = acceptTime - startTime; //记录服务响应时间 - addOperatreFullData(url+"addOrSave",addOrSaveEntity.toString(),result, startTime,elapsedTime,acceptTime); + addOperatreFullData(url+"orderMaster/addOrSave",addOrSaveEntity.toString(),result, startTime,elapsedTime,acceptTime); return result; } diff --git a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/AESUtil.java b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/AESUtil.java index cf0d164e..97b36485 100644 --- a/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/AESUtil.java +++ b/smart-admin-service/smart-admin-api/src/main/java/net/lab1024/smartadmin/util/AESUtil.java @@ -166,7 +166,7 @@ public class AESUtil { // String content = "{'repairPhone':'18547854787','customPhone':'12365478965','captchav':'58m7'}"; // System.out.println("加密前:" + content); System.out.println("加密密钥和解密密钥:" + KEY); - String encrypt = "C98174A5A099183A55630002D064B9CFBC3CCA4C01CA5DED75207A175FAE8E85F2D5F6F04907ADEAF008B6E80915814F900B378A3DBC1054BB6EE1DF9E356126C34F7EB19277D095637C3DFF6034B7797362C9FCEAE8A2E53E0C4824C2716C97FAAA722986D4AA95D4A381DB2515C4A7D3BFA7D7AEE174E9E6335B508957233947894D400BD03481B820A20F4599978147853262576A48112CA53368466E365068206CBF3408519D4AE6B423C70F7F361643D3E43A2B7509601D767CD7C8E2358044F38EFBC367A1484141AAD09D095DB2BED3484D4607A250D5BA2157077F00E60C467A7E07D2885519A33CDBB87F7FA0AD85E7C0A3615CE7300DB38C409168D9689BC42C1C7EBFE5F71641A9B96BFBC20A61AD6BB0C1127B3D30CBD4017D5B8C3EB659FFB0321DCF18A6530E47020D8279D52D637CBA9AFF8E20ECEBF475192D267F79DB2177D262F3059F706CD071B1F4A671813D1BCC9554A0A7940D17C80E4D91AA0EACB8E285003028CCFAF6087AB9146D588C5176BFA8848872E48FD517E7A8071F0AEED2759568DC437EC2CCB8682F62F7DC028096F70C1835052B232136516786C5A20C92BFE0A6BDD7D6B241E820E8F7C1140605E97A950BCEF46A0E194868BEE9A81703843872521B0F1C4B9EBE85742E50859BCD5F8593B0D9D41BD71DE6C65D0BBA825867926D3AB99EC946A64EA9C350FCD7748A5E6A8125A81FEAE1F470A316621DCFFB62C513AFB2E8EEB09131E3E3A48A10747597EECD100233DEE264A51AEEF82047C41D60BC584BA79948C7A32DA4ACE66C245E1D65E9C4A2020092B98243C67B973DBA5A813F291B87EA0F9786B761DAEF52CFABFA7BC0762986E3B083B9AB7D83A1D2488DE2099BED8D242A5074D95BEC7DBDD58E122C2449DDA8D4D368172E19DF5F0F94ACB85BD8117DC68440F2DE0598BC29B11DA68B492C78B7D5A3BE421268730B9DEB4503E779891BBDAFF659486DB0AC172F95C6D4D375C749A70074B99546CB3A90494D1834910FB76AED0734E6806F9D2AABD525A960E65251C3F85EB5D5E197808BED7E084C0254F7A23F79F2E6071674110BF7F5C69BD9C4D63B04D19CEA5914C9269142FD35A1A96DE5F7C7DE0B038D79FFB0FC2707B6141466199FD4947F11957C5F740883F3614688D83D3804AEF22D181689898124495BF4271637A034333E1F7074AE304FD3B1BF792985B7B940BB379049350A28D7690C6EA8ACEC01B7588BAAEAB654475229E750BEDB3DD67AA180128C7EFE941ABDD182277ACD64DD9B30B3FE84EBA4CF445DD1074713B4C9154BF15F63EEA5819A00BB20ED68ED602ED7A78FDA2FD63E3815DA6B11087C7F4D3FE7831A9E16AD9F43AE3AD5FAB6326F775C071A9B2283000AB02BE3783AC6EE03956C29061F4D5129C9A74B257F50ACA0D1F08732D9D9826239299D5651187B5D416F67D1AB8787E3EF591F8448AC8044F38EFBC367A1484141AAD09D095DB2BED3484D4607A250D5BA2157077F00E60C467A7E07D2885519A33CDBB87F7F5EF65034F632732B9AAA7216F550D7EBC15FE21E9CE0BBA8A66BA362AF7BE082F3CDAA4F24C72003C15D8BCEF1B69DA21B3F89E8EA1FBC7E56E6C3014D71C3DCF2CCCB96A0F1B0ABDE43B16FE51A59B746F3885FA065408B0A3B90A15541835867003D82E97DDFBBEC8FAE2443B7CFB5925B511AA7700FA2AAEC99100631F99E070758A755AD5A1F6A6BC3B7D611C3403FDAB74DC3B4FF110BB1A07BE4FAFE64FDB2BC3ECF48A8B085D667CAB68FF8C74176B99BD70E06313167A41CF46FDB6AB2D8338E81EE13329709FE0E0FD39D038330F0D97050E7180AF462152B93FAC0D4177B6FF517D5F3B41686EF32D0CCB6E8DBD77A96E045F69DE10A26BAF7D9DAACB32140B43B84D9A2656E1A5FC93F6E1B3DC10996EB87E500C3DB33E806160271E7E3FDCDB869F4EFC2A0CBE0995EEA46EBCBC9EB6CD518DFFED4C4F6798E86573BE523677D2FF38EE6695FC202C82C816C87DCA3CCEB581A820280FA60B6BE25B13EB68F20C3CD2B05660DC964CEAE51AA25D14BDD78EC94FB0AAFA7101600915CDB367A96D167FAF3E6CF63A468455E6CB8C2B799046EA9314C8883E84B11B85BD8117DC68440F2DE0598BC29B11D10B9DE3DB372BB64186D0A1B75CACC110DCBE0A55FEE2FE3F062337DCD0A30255DD8AE42EE89C31929CF4BA4A940CEC24E3AA095FB9F06D43162DA6748FEF3634ACE74BF6A4C29C1C6C6DF8E060154C2B7EACB40A0C4F25E2867F513603803B92F11690103F26AF2759AA796EA71F7BEA34EA5CE158E9FB72B2D276E2172556542B6FAF5D8CB1BD68D0B6046CF14A6B1387BDEA6A8EDAB613C9B26C2040FD23E89FEB58C4058E64DEF62D6C5AD6DD12EC5ACDCF002CE0C7100C46BEC17386ED1792B43CBEC444A4A36126DE817C0B9AC82BFC561AD0D8D76DBC29CC4BD7DA40E703877B6E15D4E6AEEF3B522DA0D24808EBCD65FDAB5AA75ED1A27ABA1221F929BAFC8DFB40264A208A7E4D77EBB38E7B9555A6F3113D9FFF4B82D8AE4D271995F438AFF9AAF8F904C1EA0006A1BD44605839A28A3E471ABBDC5A8859BD954CCB036D5F7A891A07565300038EB7AA95B080C97300C5387E1B147F98AC92A13A78BED7E084C0254F7A23F79F2E6071674110BF7F5C69BD9C4D63B04D19CEA5914C9269142FD35A1A96DE5F7C7DE0B038D05B71E6F7BF06722BADBE59869D89156F0AA223D6CADA607854FB9B3C598CF9060A1A50FC67882224D4A28663504705581BC765325CA7303B61CA3D1D42F0D304A822BF6B9315331243FE915AFD04E542DEAFC7F454D2454BE7A667E006FB11C23C84A1F3207FBEBB0F73AB0B124B5B22E19C61E11B9518EB931F0F4DCEFA84B27A06F6A9A39B1B3690ABD60DDF35EFC411A5512A853FDCC7F8FE8AD6763BFE5C8793A6B4EEAE04ADF84157BC5F6D0E5B2D8338E81EE13329709FE0E0FD39D034BC60D82CE4E31A1ECF4A9F170BBA5F41AD233924F060A4F491A28B94F414E9ABB817C9E3945A3217406D0006C3CA764E47ECD33299122002E1A1E4C8B393884D79E6C735163FE8ED73AD7260A5610E62E623506BF04A222AD57C0447E1A0E755301D3C9807EB16D99A849D5D5201B162BC90B613FD4B64A8E9A7ECF060743BB9102EA47003538B1FA76841EA4001A0E3EDADECC58FEDD38787C647CB389E178C686B322CFBD19AFE300D85ACEACA04B470CCAA607C6845454B44D10A2FEEFA89E675758D1003BEC5BAEF40212C37FB44349B91D9EFD65355F2FC533097BF052A6FCF0FB77928B802E83304CEAD65C88B6D5CFEEEFE049AD386FBF1742C8AE28FD01C80742A9B79B6426AA6348AF6AA84101E7280F34CF68C666E79613147775584A7F08D595C7049EB89063C5968AD32A98D279600B7D7350598C455ECEEED1857510FD264C59011FA84029E10E69C965C59842BFFE85C18C99FC25249D7A4D5034BEB4B80C2508805FFE577A8630E9BC3E8B039216013F5FC955F8261E9C064B1CBC045A020B40327F68DAF028262629E71517BB326F193D362B82FBB1304A00A69503803B4D594A18F8F167534013FD29732079DC7509FB832090980F402F09D4ACE5B2B4954428084D87B9B339A2DF49D2B4DB06F58C510CD6ABBC9CD7ABDE57C3E7D5733318424A1E5AD31D6CD556FC78903D078902680377423CCC7B69372262BF4BF585085E03EFEF6B39594A1EC88C4B2A96C096A9502FEE38DA52232E623506BF04A222AD57C0447E1A0E756E5D1DC07ADB789182ACE4D04CA955A60F11B0E316231C2917E663AA33C24E18949B39A225B540AC6A5B06BCB3BE99F86557D8AD54FC30E33F26FED241FE8DB32B95DA30F8D08B5EEDE8472067BD1EE88DFA76D9A7BEF836F55C887F07799B83FF1CB11046008B09ED7F19AD1F65892B910A63CB953E139EBB41A089CF9F598F2856AC53D99AB9EE15D58649C118F508E02246CEAD6AF5FFA37FDC6CD1EF44AC4E361139EF13296D08CEB33A4ECD456D9E82EE78E860DED779AAF0E5E6428D72771C322044186E4AD54523409E8F42F16A6C57DD9278FFA504C4F60BBB888A731E8991DCDA68F03557C4A20434A5B6ED2A44E4319FCB443650C45A5035A0C172F4F4477AD8FF60579665F17F6C71E7EC20D1B696F1B41F465A488B70D50AEACD0934CE23067D26088BEC0D6CC2F446555673CAAE3A9FE369746C7AF47376C382281B5C5BEA962EDB1382116AC3D58791E18407126A38867EB61D528AC4CE78CB1EA7886CC93976C4482C59010CC08341752FD9972A1419E97440ADE8DDAA9B2F8044F38EFBC367A1484141AAD09D095D1DA099B13EE1F2ABE1F9ACE15D4B4F76DE39C77C5377E6A478AE076B0347931DBD9A0F5D6C7C1A9791BB689DEA9EA34D4B014BE8F8A5D922A57B075593D02801F7397A66C6F30A4BC0F050CD809035D542FB57CCF9581FB5859EF65F4D7A64B0DEF76A1856F30F06A6807808A55CD02F1E8D0611FD4AE993CD5682940AAD2F2E86EA7EF55FA5F4C017AD655ED2B613D92C70C95F6C180414FAA7DB35F704DC64DF82D4F95F5F9A98CCEAD39BA29200415D0E9D6B4880F9E7BAD391B312EA87B491E704AD70C1DBA19BA902953BBA772FB4AC7BD0EE66AEB696953A1417DD8BF733662A8B953BCCF40774A7C9EB9671D45507D9DF9F529DC4117D767B043F60DF82AE5D4C9C2CD67D34628478B19EACB8A673490375D113A4A2845D83CF73CBC3F9EFB7DDF23CA937693A19F40BD1E6B7";//encrypt(content, KEY); + String encrypt = "C98174A5A099183A55630002D064B9CFC3D00F2737DE942A45972B7D24E82EE8AE572CA7909FA24B00FE5BA71C8444648B2C8858803C07EA20DFDA51A65FB3291319F2A5EF330A2639E52F17BFD3F2106AE2B43D1409A56BE8FE5AC41DBDA003E25CE840E0374D3010E9BC9E943608FE5E10448B6F9BD4850DF138BDC643891861075E0048B92A7701A4C1C7294D99D2FA8DB4566068EF3B71EEFDC00F7E58EC64940FCD98D55D8381CF884FA88FB05545D45C2015621903DE5C491D59DE4589C0528AF25951D5F08C7DF68EE657CE0E62DD4FE5D58CE33B45BD68E728811DDDD57C8A628A90F39FACE4041355D5887DADFCB3F9E6166002F15C84BCDC0042C0F449B5CC841FAD99AD35979437A261246E6B5352D2696E370F2D2ACAA975061D16C97C3C83659ED5977DAD34241432E04FFAC8C292129B52B9A0B124963FBBC538D564D914CC842841092327B8324DF2C29FAD52BACF08A4A6E260F97F69943FB036D5F7A891A07565300038EB7AA95B0D3909C800A4268E78B9CECA1B38FD7A97220DBD6962398CCB365EDD881816A5312EEEE2B1F612AE170122FB50B1E702F544D0DF8FFC5C582F177FF2FC0227C3B129F913120BEBD830EEF1E3129825765119419C2CFE6120D33E3856C71431D20BF526425972E95E3FFA1440ED9D95EFA999B530120872A8AF6B145E671E64EE1E345A3E218D59FA4D6D172AC05A6AA7013F5FA4342B430ACEE1CC709884FCDD43BA99C630096CE13BCD3A02E63CF1F58C4FF69EEF7CF4040BEF32F7AE544D9215E0E4021A434AF9246E11F5668BBA13F23880CA4AB2A3CD358DCD9E65BF82C4ED2B7ED049DA06D01D4EDB3849EC1ECD25920E510680945C5D4BA3C1B54FF982F7FBEFD58D0150AE703C7B283C6C627B099F8434FAC672EF11B74EB1AC8CFBE4CD17E46FBB42D38FBB07539DB14236B14D368B218EB2356A1D4B221A97B1409726762B8FBC4CA18856602603C07E84A04B6589E52CC3F1A84153A16DD11B1F886BB93CF973EFC804BF702252990532B5110EAC3237AAE50363DAD8A0351BF8DEEE1CAFB371C610489CA9CBF2ABA5ACB5BEEAF8CDC3C1CA5D7C190054996F7444EF9324579A1265130391D1825B1B1AFA2085F213A78C2D019553C85E0258E7B99A6EDE817376C3413C598BA96C85C0976FD6CC2580DC610E0E7620B924E1D24CCB2AE97DE4AAC53E366C75AD7759D5E7AF9CE81F9EF614E6B89F798E037DB301B5E91B3D604F18127279CC5CA140CCEAAA6AA627E47DF7698D6EB0691843E87B5CB8DE5801D90305BFDBDE460D29D9D111BBB6023C915BFAC90F340374F880D50BF526425972E95E3FFA1440ED9D95EFA999B530120872A8AF6B145E671E64EE1E345A3E218D59FA4D6D172AC05A6AA7013F5FA4342B430ACEE1CC709884FCDD43BA99C630096CE13BCD3A02E63CF1F50665A9D723155118BC43D7B26AA279EA15E0E4021A434AF9246E11F5668BBA13F23880CA4AB2A3CD358DCD9E65BF82C4ED2B7ED049DA06D01D4EDB3849EC1ECD25920E510680945C5D4BA3C1B54FF982F7FBEFD58D0150AE703C7B283C6C627B4C11DC7E0F3264ED3EEB4D9ACA64921ACD17E46FBB42D38FBB07539DB14236B14865B63CCE76DB8434CD1312FCD79D9BD64B7A12D3A7D8AB1CD7800DE7BD8F8F4B6589E52CC3F1A84153A16DD11B1F886BB93CF973EFC804BF702252990532B5110EAC3237AAE50363DAD8A0351BF8DEEE1CAFB371C610489CA9CBF2ABA5ACB5BEEAF8CDC3C1CA5D7C190054996F74442C06155F433420F74327F6FC2FBE4FEF2085F213A78C2D019553C85E0258E7B99A6EDE817376C3413C598BA96C85C0976FD6CC2580DC610E0E7620B924E1D24CCB2AE97DE4AAC53E366C75AD7759D5E7AF9CE81F9EF614E6B89F798E037DB30127D82F1FFCE92EF7EAF020BAD693EFC6EAD7C773CA85B677A2DFE9C64176ABDA56558EB2E9DC3A46AF54689953095741007693F62578CD5D18F37F1682924079D946AFF82013F0F0DDD2F4975490B16FB2A86CB882C61B2CA2C783CDA968B325E381F8278C1F181569DE96F770E559DDB4797E293218DBC08184F9C3ED711C1078796C0600594177EFC885B462AAE4E89BB2F5170981A8726B323D1FDFD5D518DD3BB8068CC5EEE2BFAC155D51604F4914A2EC9685A9DAC45BB05DA9EC56AC5D1AD233924F060A4F491A28B94F414E9AA7D2237A1D71FB348CC41CFACA5186370C821EFE003FA9C55A8929B7BBBAD1423334666197E9CA6F2BB29C146369B2B9A9319F1CBE8E2AF074E02B27D26A7233D2522DF7C515117760E89872FFF2BB85DCCAA376F6F60E5ECC6DFCAEFC2D678DD946AFF82013F0F0DDD2F4975490B16FB2A86CB882C61B2CA2C783CDA968B325E381F8278C1F181569DE96F770E559DDB4797E293218DBC08184F9C3ED711C1078796C0600594177EFC885B462AAE4E8F550F91A98A564A2249391179887E48ADD3BB8068CC5EEE2BFAC155D51604F4914A2EC9685A9DAC45BB05DA9EC56AC5D1AD233924F060A4F491A28B94F414E9AA7D2237A1D71FB348CC41CFACA5186370C821EFE003FA9C55A8929B7BBBAD1427BB1C8BE634AE3617DE5F5963610CDC6D365D388676C41654C0B391F1C7B41916B5AD4DD4458BDE6F3D7BBE4F81264574C25CF4CC227DD9B135D029CFB7FE921D946AFF82013F0F0DDD2F4975490B16FB2A86CB882C61B2CA2C783CDA968B325E381F8278C1F181569DE96F770E559DDB4797E293218DBC08184F9C3ED711C1078796C0600594177EFC885B462AAE4E855219ACD15B747F24C61C8193B0F0584DD3BB8068CC5EEE2BFAC155D51604F4914A2EC9685A9DAC45BB05DA9EC56AC5D1AD233924F060A4F491A28B94F414E9AA7D2237A1D71FB348CC41CFACA5186370C821EFE003FA9C55A8929B7BBBAD1423BA7139FCE9F5FE61285D0229C694334B1B03D94D5A14B446B6D76EE543B1762240BF9034FDC82527AF111B2BCF05F3B5491850E02BF17BDA3B2BE7DF5134D4FD946AFF82013F0F0DDD2F4975490B16FB2A86CB882C61B2CA2C783CDA968B325E381F8278C1F181569DE96F770E559DDB4797E293218DBC08184F9C3ED711C1078796C0600594177EFC885B462AAE4E8423340B61A8B58E6BEE3717D72A5AFB5DD3BB8068CC5EEE2BFAC155D51604F4914A2EC9685A9DAC45BB05DA9EC56AC5D1AD233924F060A4F491A28B94F414E9AA7D2237A1D71FB348CC41CFACA5186370C821EFE003FA9C55A8929B7BBBAD1420EBCBEE7737D768557EC4A4D620AE6664DEF5377502CAE8A2646FECA7C3BEE699285F99E7A469CA8F32B352BC37FE0AACE411FD0548D6A86725A258715240B9880B08D081A14D7BD27D88323858A847B5F1DEC6D0EE1FAEA2F7AA1A0D676E859C2412392C1B696B17F01B2321156A53E2E19C61E11B9518EB931F0F4DCEFA84B0BF5126D89C6B35B5FEA289291F401AF7D3135B11CAF6719A68CA5F315914F52121B3EE8A978B83D18D80CA70ADA457F9DADEB0B12CC20715BE229AFE5D24E403CE81E02CB6F2459A71BC8D28D8ACE10AB6D408E0FC4F83B744ED436394521A1BF68210418490ABAB83CD2C83A615671B14A38800727FD1DD1CD5A942CC95D851E5561A5A1F80EFD3E77A3D27F79FA5C062347A40A3BD78FFD96B28A05DABF9A350BCB5E62A9C8D3B21305A19416124AC2DB0BFC82B193D94C0D37BAF99BF317C3D00F2737DE942A45972B7D24E82EE8AE572CA7909FA24B00FE5BA71C8444648B2C8858803C07EA20DFDA51A65FB3291319F2A5EF330A2639E52F17BFD3F210827A3141238FBA110C791AFBF02F70FCE25CE840E0374D3010E9BC9E943608FE5E10448B6F9BD4850DF138BDC643891861075E0048B92A7701A4C1C7294D99D2FA8DB4566068EF3B71EEFDC00F7E58EC1CAEC138588ADBD60E867CBC3E808E83CAAD6D9027F61535E8B3E1C46CA677935ABE91DFFD1D89D91690A55C688856377478B2652AA56E02241DEA44FA6100C767E7297B54CA3EA26F2857863D6CCD42BC866DCA8EB517DEC99C1CFA32256CB128AA994F09614E9E156AE54E51425C027F588EEED45D20576A0B2CCAF542F72AAE3612A74BF017EAA7B38B39C59228BEF90DB6A5A3DE21D0AEFDAB8611910E87EC4AA84D719728B8DBBA0EDD6D626282B84DCDD4E64BB977E1901586EAD6FBE47A2AB400D67A379D7B698D487E26F5FFBA20A00397E9BDF462C1D72DA0B4BFA08FCD63EA9D6711A3A4DDAB00541B89B95C1CC596C799179FA6637FCBF0B032A3EBDE66CBB84334E18AE9B1ADBCE819E050F8D15F244372DD72310EC040B0CE575484B87FD7B3C6F3148BF878DC352E5A6A266E333125591DDF521BFF710439106FE265D457515CA3D8A73DCD076D1B24667941601E0FB3D7EF71C4B1B5887FA7811BE5E522DECCE3D0B0C5DA1AF5111CAB6F0A0617CBA3A2C8FECE8A588A7F389A6EDE817376C3413C598BA96C85C0977288B37E73041ABCF4A78C5CC98E865787D7B76FB3E41111E5A6B5785AB7C2CD1E98A0E0A28C735B0DFF3423ACA06B8429D4BE30D39CF510E464F95D905BF7890F98D2DEB364CEECF2568DBCDBA3D31D0270CE4E36B928C8D519187D99C8B7C9E5E2258A260AA245333BAA17460D7149510A29CC114A5E8154B7D38F332932742A6D00719337269E42F2879069ED334589F6BB2512BA97C96547B555CAA63FE951E7DA0411D1346A86870EB7CD78D2557D5C1C7314B46C163DCCF68CC116DF070BF526425972E95E3FFA1440ED9D95EFA999B530120872A8AF6B145E671E64EE1E345A3E218D59FA4D6D172AC05A6AA7013F5FA4342B430ACEE1CC709884FCDD43BA99C630096CE13BCD3A02E63CF1F57C33B4584F622449F302B4B70B8CF68015E0E4021A434AF9246E11F5668BBA13F23880CA4AB2A3CD358DCD9E65BF82C4ED2B7ED049DA06D01D4EDB3849EC1ECD25920E510680945C5D4BA3C1B54FF982F7FBEFD58D0150AE703C7B283C6C627BDBFA73896A4F118E30B9DA9E25802B25683EDDC5FFA75986AE0C392DDB6C2D7341E8971EA97991DA8388CC3D23A7D671683CF4EAED2F86C7CCF4E0FEB8E9660D2288E02E11DD3F2FA84E5A776648C555B500F719AD346E950199150A4BA4034B2A26D4C28A225E97435F4BC162A599D2EADC8E66FCB90F0A35C25279098FBE8A796937FBFBE6443172022280C46B5AC58AB3834B27E320B4A1B44CB34F6BB0534FC1F34B58943411D2110FE020569B5561C4281EC63946F687B7E4AACDCD06466E6B5352D2696E370F2D2ACAA975061DB56B09A950EEA4646B9E6DED8598AD85E4692A2780E23E0CB8286EA2D1CA27A973652315E6E0D2CD79E31A9D56A95121787EC4FA388FA3A9C0239D517014F2F689EDF0D658B9FB853707F72500AF9EB1B74D9B185F99B3C58878626C0C7B614D3C31773EF413A63EB9357D4707D20EB5C520CE9E46B4217ABA9A6CA5BCEA0E50D26C5022024A10562B3362D5281B2585E8288651B10F948E30FE040D944D2963C7B068F04479A977E589ABBF8B013998AE572CA7909FA24B00FE5BA71C8444648B2C8858803C07EA20DFDA51A65FB3291319F2A5EF330A2639E52F17BFD3F2101200657ACB3C002B8AF8F32D6FDF521CE25CE840E0374D3010E9BC9E943608FE5E10448B6F9BD4850DF138BDC643891861075E0048B92A7701A4C1C7294D99D269C1D3075F059425FEEB1353502EBAA464940FCD98D55D8381CF884FA88FB055462AE64044FCE777E2BED4BD1C65949A4F0D0F78C9E54021F7CD9A43A7FE31981BF4D1F81C4EE19ADEA0423065D226AEB222D1CD82B0FB5FA1820D266FEF1F40ADFCB3F9E6166002F15C84BCDC0042C0400392221DCEC2B1104DBD748AC3713A110EAC3237AAE50363DAD8A0351BF8DEEE1CAFB371C610489CA9CBF2ABA5ACB5BEEAF8CDC3C1CA5D7C190054996F74446065D967EF87BE7782EC381B88402FBF2085F213A78C2D019553C85E0258E7B99A6EDE817376C3413C598BA96C85C0976FD6CC2580DC610E0E7620B924E1D24C4B007A44D65C3B6484EF4276193797F2E0FA501C8B9F59F4FE65397A2CE198A2A1AC0EAB48022A92CA9DB6FC3F8526D68A8F7B1873FEAB388D0517B209DF09FB7F3891CF3CF994FCC106249FEDAEB31BE999DE93FC2AE05A64939954F84D69A45B68BAABBDE231509418FBA2D741AF4DB2A86CB882C61B2CA2C783CDA968B325E381F8278C1F181569DE96F770E559DDB4797E293218DBC08184F9C3ED711C1078796C0600594177EFC885B462AAE4E8CCA26C4FAD35A5D2B8D6D74F4B96CD51DD3BB8068CC5EEE2BFAC155D51604F4914A2EC9685A9DAC45BB05DA9EC56AC5D1AD233924F060A4F491A28B94F414E9AED5169F5665D363C3F91B3542FB56DDD0C821EFE003FA9C55A8929B7BBBAD1428D8BAF9CF38EEB46E4711452A76ADD0F12788DFB7C3CC7F76FB35C1587447AA36258B84081BB02BB8283AB569BB0F9911A0F6BB8E7429F5D2380D14A7E5352C2F4F4477AD8FF60579665F17F6C71E7ECC400E4C07136EE6C77631831F262F7B3CC2119220BC5074EAE1A7FB28C0B7636B6777949610BF6064501952A87442C70FCEB8FE3EC1EE88C8DB03F85120682A4C36E027128144C0F4924360E0060C146494D1834910FB76AED0734E6806F9D2AA1D0B2D877D78610B3EEF858F6B3C173FAFA969E462BE30CFEBFEAB5AF716C63F3F48F443729C6C7A68C159963E7CE84F8D3AF7010332C6F6822B36D9618A4AABB0B090F5EC0B9439FDC7A4DBA6AD172E83AE23B968FE0642CD950A95097364DCAF90FEB56AFB82637CD8AE43BB317F93FC3A80A0082ADB565AF7F7C2983343779E740D504A4F146AA6733A9EE7BCF1BB05BB53C4FE577CD1D64BC1683562F02973467D34A6FF64CE0312F7247C3580FAD51C161F462D9185671E4EC64E9F3CCFD0197F6EE514EB4414A296EBA7C8F6B83A5EB76D5E12E44DD8B82B5C17F5E6BFF6DC822D78306D5917FED395A2B697149799031D903D0003CAA78345E5722B7D4D3CEDBB5B27BD309FDFF92C84BD656AB64C619B18D36C6898D63304D2C4D27B3D03B3565E73D31B28A6FA363387193EDC99AA34677F16534C7CF9315A9416228B843F15C434BF8645738E31ED1834DB83A15060BD948EE3F1339741DFC5431BAA6BD14F740764278695AE624F4CFAF731EC1FD6CB4A2479026FF6198BA11091A0F6BB8E7429F5D2380D14A7E5352C2F4F4477AD8FF60579665F17F6C71E7ECC400E4C07136EE6C77631831F262F7B3CC2119220BC5074EAE1A7FB28C0B7636B6777949610BF6064501952A87442C70FCEB8FE3EC1EE88C8DB03F85120682A47BD4E133739543A97771F2D6CA8E7F38494D1834910FB76AED0734E6806F9D2AA1D0B2D877D78610B3EEF858F6B3C173FAFA969E462BE30CFEBFEAB5AF716C63F3F48F443729C6C7A68C159963E7CE84F8D3AF7010332C6F6822B36D9618A4AABB0B090F5EC0B9439FDC7A4DBA6AD17288750C997C5703B1EFB0E75D25950E175AC2162D52810ADE59113415F8E58378355C71C21AE3AA9FDC7823185CF1CC175E793A3C0ECB6370447EC2ABA657937228AA994F09614E9E156AE54E51425C027F588EEED45D20576A0B2CCAF542F72AAE3612A74BF017EAA7B38B39C59228BEF90DB6A5A3DE21D0AEFDAB8611910E87A4AB4B181AD8A38511C8EEF05F29FECBB84DCDD4E64BB977E1901586EAD6FBE47A2AB400D67A379D7B698D487E26F5FFBA20A00397E9BDF462C1D72DA0B4BFA08FCD63EA9D6711A3A4DDAB00541B89B94503D978FD80ABCF26F6B504374BAD25B005DF960684565E6A5427E573578391885D3280B05B9599090149E6317F9432D13DDE3ED9902102F2FFE3C94D567C4EAD2A0F2E430CE27E235A369CC387A9C831469CD3C9FEC012D9A833666D1F63C3F4F4477AD8FF60579665F17F6C71E7ECC400E4C07136EE6C77631831F262F7B3CC2119220BC5074EAE1A7FB28C0B7636B6777949610BF6064501952A87442C70FCEB8FE3EC1EE88C8DB03F85120682A42DD39396E76217B428752D800F984FE1494D1834910FB76AED0734E6806F9D2AA1D0B2D877D78610B3EEF858F6B3C173FAFA969E462BE30CFEBFEAB5AF716C6337778CAEB131C389598AF7D7B5DE16969EDA6637B32450D80B1E9F6855250BC7D809CCB6563E9C35763AE4E61387B1460988B69A6A790623825FE192793F664F1E3EE05629763F07AAF5B6F5055B83828849CF2537F073F6DE3622BB58575EE0F966242AAFB02902D5178CAC8CBAF4BAB2A86CB882C61B2CA2C783CDA968B325E381F8278C1F181569DE96F770E559DDB4797E293218DBC08184F9C3ED711C1078796C0600594177EFC885B462AAE4E86FC70A124CE133350E71F82D05FC5755DD3BB8068CC5EEE2BFAC155D51604F4914A2EC9685A9DAC45BB05DA9EC56AC5D1AD233924F060A4F491A28B94F414E9A05997FE30D4E78FC3BB1BB8EB9C757F60C821EFE003FA9C55A8929B7BBBAD142B83A15060BD948EE3F1339741DFC543179D61397018564C276729E49A073A6B68E66D527A711A7D23BFBBDEBCF8B359265DE27C996056A3B0CBCCDAE814A09D56C21A7D1C5AF2FB411775BEE5999C8C76BB93CF973EFC804BF702252990532B5110EAC3237AAE50363DAD8A0351BF8DEEE1CAFB371C610489CA9CBF2ABA5ACB5BEEAF8CDC3C1CA5D7C190054996F7444B4FE4CF8CC0827CCA94F4FBD6D7DAE3D2085F213A78C2D019553C85E0258E7B99A6EDE817376C3413C598BA96C85C0976FD6CC2580DC610E0E7620B924E1D24C676CCAD34BA07F2A8CC7269091B0880A1C4DD1D72859973EA355FCF0C69CFC35B5E91B3D604F18127279CC5CA140CCEA2CED6D9E361A6D1BAFD004CCD73AB4CC4AC87C6AA3B95A4F9094ECA13FD62B9532DEC6CCDAA4B4A1B4145A7F1F7D5026E25AC10D80FF9DF13E92200A5820E81AA999B530120872A8AF6B145E671E64EE1E345A3E218D59FA4D6D172AC05A6AA7013F5FA4342B430ACEE1CC709884FCDD43BA99C630096CE13BCD3A02E63CF1F5F12BC511A61BDC2EF359DB1C40DBCD4115E0E4021A434AF9246E11F5668BBA13F23880CA4AB2A3CD358DCD9E65BF82C4ED2B7ED049DA06D01D4EDB3849EC1ECD25920E510680945C5D4BA3C1B54FF982B5FDCB0A1478E93F45D2894380FAE74E4C11DC7E0F3264ED3EEB4D9ACA64921AF488EF32D2AEA5C2A2C5F932177283364865B63CCE76DB8434CD1312FCD79D9B38C2F2F2A56E3DA94863EBBF0DB8F1E14B32FD1769F5BB6AEC7E6CFB6F79EBDAADFCB3F9E6166002F15C84BCDC0042C0F449B5CC841FAD99AD35979437A261246E6B5352D2696E370F2D2ACAA975061D16C97C3C83659ED5977DAD34241432E071EDC82B541E50E03CEB58E408F2780138D564D914CC842841092327B8324DF2C29FAD52BACF08A4A6E260F97F69943FB036D5F7A891A07565300038EB7AA95B0D3909C800A4268E78B9CECA1B38FD7A65DEAA78D5322124258F3FE4E53A838AC394E3AD688058CB0AC9878CEA2D22C780894D0ED271ADD459A2DFA61FC58119885D3280B05B9599090149E6317F9432738525708738AA5D73549006E13D274DD5A024B80C9A8C88BE34B5D3C904CD2531469CD3C9FEC012D9A833666D1F63C3F4F4477AD8FF60579665F17F6C71E7ECC400E4C07136EE6C77631831F262F7B3CC2119220BC5074EAE1A7FB28C0B7636B6777949610BF6064501952A87442C70FCEB8FE3EC1EE88C8DB03F85120682A414F77E0BFEB90932D14A66FDBA5CA529494D1834910FB76AED0734E6806F9D2AA1D0B2D877D78610B3EEF858F6B3C173FAFA969E462BE30CFEBFEAB5AF716C6337778CAEB131C389598AF7D7B5DE1696F8D3AF7010332C6F6822B36D9618A4AABB0B090F5EC0B9439FDC7A4DBA6AD172E83AE23B968FE0642CD950A95097364D2449FA15001C0CE7DCE7A0FA9E7772A88AC1981C20136F31DE56253F8A75A71A4DB579BDA3800300906146C1DEEF4309BA72CF7F892B19F4ABA6C3AE80B94CDED6644CD65AA50DB2C09254FECC638DAA900B378A3DBC1054BB6EE1DF9E3561261BF2A9E06CCDC32FBDB2088AD434DA17686D4DF13FD0E702D43364996BCAD3E734D3FB9AF200F8CE1965471482C68C9189257E55203829C072A208EA1C1BCCF3013F5FA4342B430ACEE1CC709884FCDD6CF93E2356C46A2EC523A8DC9326C864D745316B9F833B8FC8BEEDA1F1A82E03224E56174417171CA49CA7D562D2693E87169878DEB113FE81291DCA88ADDE0A068D36FFFC97C64727BF7C20AC3BFE1015A0E83DFDC2DC687995B858D502FBE69E4CCF772CA448F95DDAC51ECA4AF04A56A144BED037D48952102C9CD52626F21E9B87FF5704B7D58C0425B05C3AD5F86D55CDBA940ECAD5DB3725BE23AF87F4CE4EB9D177E52DE5B1F8074BA6D2BFD414A2EC9685A9DAC45BB05DA9EC56AC5D99284AA3EE0FA1CDD95E1C170908BBDFC895BE2D1EAF4FF1AF363A39D50D65DDC138E026DFA39C6A4128F82CBACA1FD4AE3612A74BF017EAA7B38B39C59228BE03AB3BB28D18A3D8363D454AE48A570FEB33E64D88C31EF93D38DD246939C5B4D5C20ED7198EFD84C36566EE1819D8719947DFD5354481DDD22093CB19AF64DD4F6A21B0B0B96195B54B02AC286EB3E9F488EF32D2AEA5C2A2C5F93217728336F1C735583671D6DC6B9F6A14E740275A581048A7189E1C116901F287D1428DD1E25AC10D80FF9DF13E92200A5820E81AA999B530120872A8AF6B145E671E64EE1E345A3E218D59FA4D6D172AC05A6AA7013F5FA4342B430ACEE1CC709884FCDD43BA99C630096CE13BCD3A02E63CF1F530BF62776462CE32E434A76C777F8EE715E0E4021A434AF9246E11F5668BBA13F23880CA4AB2A3CD358DCD9E65BF82C4ED2B7ED049DA06D01D4EDB3849EC1ECD25920E510680945C5D4BA3C1B54FF982B5FDCB0A1478E93F45D2894380FAE74EDBFA73896A4F118E30B9DA9E25802B25683EDDC5FFA75986AE0C392DDB6C2D73A04C06E1032EF54FD5A869E4741950D7E3237B702AFDA97E3E7CB7465E02BF73F31F54CB87C33DC7BED9E8B5E4371E29E9BC95559C252E97E14249C4ED958A3BA37BA24031537AADC735AD2A0D0B37AB6223E455E70EC04185A72ADBCB3175AF0308EF6622120C162C376A8D195A0F4D2E4A1C95235BD12FB3DA9F1167B79358810C137CAFF25D337CFB3D8E87D782D88F4C38C501E0586A25052ED353B7413EEEA6EF66490C2C5D0C7D95918077987102440FC10CC38387D1F00D612431D424BCD1B5453C6A11DA06F5199D1B39EE31E92EE44039FFBE7E33666A64949BDC91B6B591E8C7ADB4B68ECB88ED3D434B4B16192105549AC0D932F7D59DA2C08CCFA55184C9D3922D58AFBF022108FD79C9DE67476D0B39A003C5BBF6FF7CECC2655B5C19BBCEF7AA4808F92AD9CC853AE82DD6819D55C48E47533AAE992A74D57ECA421244325ADCD92C9A5EA90ECAF8385A16CEE119CE7C133E751B843370E6F94934A21F3406FFC44B308D7EBA381757189D8CF34479B76A603A2FBFEBEADC51D63683E7C44D920948735A989B63370F372C1F325A36DF642297D893B4D6A82C4A8AF811E3BC768EFB3D2AC1AF09B14F610C1EF8F96360D813F3FFA1E38503974BE52CB2253AF0ABDD6D10BD525C3C068BED7E084C0254F7A23F79F2E6071674F329C125829B16D21DC7340CB3705358584A7F08D595C7049EB89063C5968AD3E779D6C6FE952C08478ECF4460D620F3A96DE5433558C040D7CDF40F37FF550FA4EBB76771D425F24139856C357244198EBE8335FF4C2EBA49E47D38005DA5EE9C650001B438ACB51AF4011AF3C5012BE642BE1BD1ABA81670ED5DE058098FF632242EFCCBDB39744F50B42203EB5832EE2C80F29DE9F0F0B3BB39AA1249D9F532B1B1401650908CAE115EE75073704C43BA99C630096CE13BCD3A02E63CF1F55611E37D81C8CFE424020DD1C0E9EA2B15E0E4021A434AF9246E11F5668BBA136D320CD5615D1EF162E619DA27E78AC6ED2B7ED049DA06D01D4EDB3849EC1ECD25920E510680945C5D4BA3C1B54FF982D597CD71B777D8A05AEF7CF8AAE6FF75CD2337128F490EE7DCD8EB190B3F09CD372262BF4BF585085E03EFEF6B39594A1EC88C4B2A96C096A9502FEE38DA52232E623506BF04A222AD57C0447E1A0E75BD68920E28F1C6CE5C44731440669EBACC891CF82E684077617F90B2DE861B2C8D8BAF9CF38EEB46E4711452A76ADD0F7D126CF8BA525886F924BDC3493A93B0114157468941387862AF5708D0E7D336E3ADB297AD2C3215E99DDB6950A165D458B97CEC5FDA34365A345AEF9A268C0470C4A9A3A30F0261F815A55E7EA8DF548D0A98EFC7670D06DCFAE04A3A28BED078796C0600594177EFC885B462AAE4E859F74CCEBF44755EA443E8A031276D7ADD3BB8068CC5EEE2BFAC155D51604F49A1F04632CA3AE792BBB47D777C538A551AD233924F060A4F491A28B94F414E9A224A9CE41B2B5CA8FBE7EFE995264CA00C821EFE003FA9C55A8929B7BBBAD14294709ED3177E1E2CCBBEB70ACA6EE21295C892D20BEF8C73CBE636F3DC859815E1608C12D69BBA86C6E98C8C28FCB549289374D82EC77B5212DC2C1975793807C137C160C9BCC3D3E43E52B6E7EF2222647616E9A14642870C7368F84E4BFA829EF3682F1567034F36F017042E7EBDDAEB2AC10D4BF2E28F9C173FB3F8AB89673697EC99BEDB699D85004B16C3CC3DB43A54116FA11F3AC5E66098D4B9DBD91593A411A90E42F9EF915C32F949E7C8632EC9982EEC90775E8C4E2CA608F9C233F90DB6A5A3DE21D0AEFDAB8611910E87493A5C25845CE23C019FE90DBFF9651FB84DCDD4E64BB977E1901586EAD6FBE49E61EC1F72DDDE7BBCEA0F791BF0698D99C6C77DF315827F840A5E4ECE76BBC78FCD63EA9D6711A3A4DDAB00541B89B9983F7A991E6B9FE7D0E13FBC21CE061881B863A6DF28C6E5748C0D714D6A4C68B7EACB40A0C4F25E2867F513603803B92F11690103F26AF2759AA796EA71F7BEA46FD87ED3B4F6255F03FA45F8ABCD3313907D72D40E537B24F5929631F8869E3DF58280C6EEA21FF1FDA4BD2BFCC1162CA7F7F9FB2AF54B845A762532F85C18513A6A1C2AC2F007771AF2FA6801BD10164E3E73978DA4A888B3393A9E8872F40B63409A5CA4C1B00F65C36BBC8670D53D17656858282B3FE1F53B7E1DEADED82F4F7CBBE9278C0B2FB1D0951CF757D5C2E9E51409215D51BD887EC7E9439480686D4DF13FD0E702D43364996BCAD3E70EC310FF704DA063B91FA3E8BA2D61D989257E55203829C072A208EA1C1BCCF332B1B1401650908CAE115EE75073704C6CF93E2356C46A2EC523A8DC9326C864157ADFE8C4AD14A25BEE6B9B0DAB2D41A8A85A9BECD23D3807C0747E0FEDF62A0337666023E1374685791D468C235A3FDB7C78600513BEBBB1C9AA6AB78D75411016CF70433B9AACDB1F0B6E994C7D6FC0A330300B54D04A42085715DED920EC82C9B141DA3480A432991DB4FD8AE683D1A465ACF31AABEF72F034C566EA1ECEF16A064ABB8AF8388A2E7ADA6703AB56E09A9FED5B61A8E3882110F0305EC3328D1A48ABA0910462209C9F5F045D3EF13E1AC30E64E6DE9851C19C8495B889236E31C5434731527B03682C3CB9C9B5C5D749CD57540E8D81174EBBE5108A2B25B85BD8117DC68440F2DE0598BC29B11DC6451374A59407BAAADB25CB7A633BCE69178178FD6D19D2CB1252C765FB98AACD8E41A7BE42BC8D5C2C9CAED4A5FCC96B104A8B95CDC0AB9F1C5E78C33E6B1A53318B5956D35C7A198264BDF8366F37ED02CC0B7F149A710AF1453D95BDA18DD3286E359126744155EF7284488D1E15E2EEB89B7AB737FEF55A7AA8C7617BAF7AAE21007A8B56D804CD0C55FF9438677F3646767D26B88057F0ECAB3A4888DD235B261D8BCF06D58710820BC15C1F377BF5A89E0662FD8CCEA34EB517324FC5D8163608E8594AB422A4A771C7B19E2F6F3AAA4AD3EFC1EAB1FEE8D2FAE1C2AE71245A5FD6DECA2834F3EC25930DDEE61AE312430101AA066CF4D1FD7B5EB54F8802216B622F03C8D9BD2BA4C10ADC0C62873096BAD7FC836C69D3C473024D47A1F04632CA3AE792BBB47D777C538A5599284AA3EE0FA1CDD95E1C170908BBDFB1C5FCD0BC0A2AA1DCE1F679361857F1C138E026DFA39C6A4128F82CBACA1FD42EC9982EEC90775E8C4E2CA608F9C23303AB3BB28D18A3D8363D454AE48A570F5DCAF85ADC979890DEDAF6EA4D68521BF0A90B47D1FDF0720DB23102407281BA9947DFD5354481DDD22093CB19AF64DD8044F38EFBC367A1484141AAD09D095D1DA099B13EE1F2ABE1F9ACE15D4B4F76DE39C77C5377E6A478AE076B0347931DC8697D8C7E1731BB476901F22C65F8A9519F9BB3BD46EAB29A0D8B486F7D7A69A1363B9F7CBD3BE062E50FA2585D05D126676F9BD2905625188F096C6C8B3B589A2A2913D939EC19969667C9BBC7262CEAB7F7301938CC48D88B3D26BDE4C049D68CD4BC063DA0E906059C15930EC921E1692B0782DC7A28D9ED5E1EA16E24DE937A15C6FF12A29D77EB358EB45DACD183A5EB76D5E12E44DD8B82B5C17F5E6BA51B25C17FBF2CD7DF0052FA46205CA749799031D903D0003CAA78345E5722B7529CE463E48C697DA8B7A213DEE3ECCFAB64C619B18D36C6898D63304D2C4D27656144A39644D9B5D9E733FC9E69D4AFEDC99AA34677F16534C7CF9315A9416228B843F15C434BF8645738E31ED1834D7E2FF275FBC649B7B76AD60147737BFD861CD43D1ADDF0EFE464CA368D0A06EABF39DA4A464A5AD7B27D73BC16511CE7484671EA1FF0DEFB5DFE7DB5810C79EB54EEDEC443910BF4FB6E1F62E20EF5A62EC9982EEC90775E8C4E2CA608F9C233F90DB6A5A3DE21D0AEFDAB8611910E87E72DCB1636B0D1CFC763C30C83597AA0B84DCDD4E64BB977E1901586EAD6FBE49E61EC1F72DDDE7BBCEA0F791BF0698D99C6C77DF315827F840A5E4ECE76BBC78FCD63EA9D6711A3A4DDAB00541B89B95C1CC596C799179FA6637FCBF0B032A3EBDE66CBB84334E18AE9B1ADBCE819E050F8D15F244372DD72310EC040B0CE5759C44CA33B60C226BEF767F19A489E957130400E6E133E80808B95C1CAF3D617DC254063F1E9E7FC383B51912B43DD777DA55B331DDAF6A1CDEA726C06F94CA7E1692B0782DC7A28D9ED5E1EA16E24DE937A15C6FF12A29D77EB358EB45DACD183A5EB76D5E12E44DD8B82B5C17F5E6B1B5B5AC2C2CC484F30508414C0A59BD249799031D903D0003CAA78345E5722B7529CE463E48C697DA8B7A213DEE3ECCFAB64C619B18D36C6898D63304D2C4D27E7DE5F12384C93A88305FA7AA843182BEDC99AA34677F16534C7CF9315A9416228B843F15C434BF8645738E31ED1834D3334666197E9CA6F2BB29C146369B2B95F8CE9279CBA1B00FC7C60910D3F705D8BC68DE5E0742D7237DF5B28E973AE83DB459BBE466508A12340C07EECB9F2703C79FB7A6BCFD9DD22BC3D7B8A1D7C8D213BA093F6F7FF51B1139897CB64B4675D01548CF14B99C739D285C220455EC2FCEB8FE3EC1EE88C8DB03F85120682A4A65D181E9CA1ED886DB3B7D0BE3DC37E494D1834910FB76AED0734E6806F9D2A52E227AB19C4A4D5F3556E29FEF75934FAFA969E462BE30CFEBFEAB5AF716C63FC302638CA658A95F76C85E77112E469F8D3AF7010332C6F6822B36D9618A4AABB0B090F5EC0B9439FDC7A4DBA6AD1728D5488F4B435D8A01965EFF3745AA9BDCC7CD78057B78338A619A529DA65A3B604D14A196F2BEF3706704BDAA2C931974B46AE8D83AFD65970027A855F5209E7EACD968BBD0D82FACE0880CF3893E59DC0FAA45A7A26D3AD9A5276345B213C0D7288B37E73041ABCF4A78C5CC98E86576861ECC4415FA321D1AE62F6F28B8ED61E98A0E0A28C735B0DFF3423ACA06B84ADFE4E4548C6E2F4D0BD07D6FE3EACC00F98D2DEB364CEECF2568DBCDBA3D31D0270CE4E36B928C8D519187D99C8B7C97E6E8E4B8260EAB8C1B0CD97C10F0BD9510A29CC114A5E8154B7D38F33293274325464C9DDFD30337852DB11DB2E3227C280C584A9B3015E41B5A9CD1DB0ED938C63479A6C98CF158F2FACD0DEE33C61A55E7FAB69F6B3AA5854CA44DA16950F7544B330DE2B2CC7EEFED304F21F65AD569EC01F813C3776367D8F29E6DB0ED61DBD5787371B3677A6E9143BFDBA88472ECED20797CD0A4C54007EBDB9680CE010472D2B678DBEEDBE75E45F2B42CEF5D68CD4BC063DA0E906059C15930EC92184BF45FE44A4089C7DCFAE713BF14026EC46F413A19023B7FCDBE298EF63778F83A5EB76D5E12E44DD8B82B5C17F5E6BD236BC8EF9E6B33AB4B08BB9CEFE1EC349799031D903D0003CAA78345E5722B740A7842DBA0F6ABA932E24A07EDC1327AB64C619B18D36C6898D63304D2C4D27E7DE5F12384C93A88305FA7AA843182B5D98FE06CD87CB4065A8CE8FCB1CCE890DA54F70DC14B3E0C62E269DAEEE23618E5483ABFA715D58B466061B4898ED051A0B2B460E667D292C555FADC4C34C9CEAD71BD1C420575641CAD746E7058614BC866DCA8EB517DEC99C1CFA32256CB11B1F60E1F3595328C4A0968BE6520ED467A4B0453490344A9AAA9725E8CC0F9D686D4DF13FD0E702D43364996BCAD3E7FC8A90FD5EB3BB2B7FE2C59139ACB49289257E55203829C072A208EA1C1BCCF31873C5F3D45414CE64C23E1F1200E0716CF93E2356C46A2EC523A8DC9326C864157ADFE8C4AD14A25BEE6B9B0DAB2D41D553B4C23F4930C84762E8AE89CADBC40337666023E1374685791D468C235A3FDB7C78600513BEBBB1C9AA6AB78D75411016CF70433B9AACDB1F0B6E994C7D6FC0A330300B54D04A42085715DED920EC26B08BC47F5066DAEABF12CC0C3B7DDB29CBE7E12ACC732AB20B8802D69544FE7F5E8D4F2800301346EB3EB7FE66F66CF4623D7138A27F54E39F5FECD520F0894E151AD2DB8ADF86C3D6203FCF7DB98A92833F9DCF7CF521AD5CE1F6BF7443DC6D8C62387AA03461DD678E146A046ABE";//encrypt(content, KEY); System.out.println("加密后:" + encrypt); // String decrypt = decrypt(encrypt, KEY); String decrypt = decryptLinux(encrypt, KEY);