devicely 2.0.10 → 2.0.12
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/bin/devicely.js +1 -1
- package/lib/androidDeviceDetection.js +1 -1
- package/lib/appMappings.js +1 -1
- package/lib/deviceDetection.js +1 -1
- package/lib/devices.js +1 -1
- package/lib/doctor.js +1 -1
- package/lib/executor.js +1 -1
- package/lib/frontend/static/js/main.96600727.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/server.js +1 -1
- package/package.json +1 -1
- package/scripts/shell/android_device_control.sh +23 -16
- package/scripts/shell/connect_android_usb_multi_final.sh +23 -16
- package/scripts/shell/connect_android_wireless.sh +23 -16
- package/scripts/shell/connect_android_wireless_multi_final.sh +23 -16
- package/scripts/shell/connect_ios_usb_multi_final.sh +23 -16
- package/scripts/shell/connect_ios_wireless_multi_final.sh +23 -16
- package/scripts/shell/create_production_scripts.sh +23 -16
- package/scripts/shell/install_uiautomator2.sh +23 -16
- package/scripts/shell/ios_device_control.sh +23 -16
- package/scripts/shell/organize_project.sh +23 -16
- package/scripts/shell/pre-publish-check.sh +23 -16
- package/scripts/shell/publish-to-npm.sh +23 -16
- package/scripts/shell/publish.sh +23 -16
- package/scripts/shell/setup.sh +23 -16
- package/scripts/shell/start.sh +23 -16
- package/scripts/shell/sync-to-npm-package-final.sh +23 -16
- package/scripts/shell/sync-to-npm-package.sh +23 -16
- package/scripts/shell/test-local-package.sh +23 -16
- package/scripts/shell/verify-shell-protection.sh +23 -16
|
@@ -29,32 +29,39 @@ function decrypt(iv, content) {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const encrypted = {
|
|
32
|
-
iv: '
|
|
33
|
-
content: '235bb657e7a1939e8928a2f2962b9cb9df295f8dbf8ed1506190b8e63c02ef466f110747af18249ef94e4388f4a1890c9eae61d1a26d5c488cb8faf4719a09483dfbb6c54cfdea14b42a2730da4bba0c2268ceb89a1162ad5332e5278a6333ae36a809658eecdd571f502a2dd0768aa71a5efc40fb86c4757518f66a10fedea9f955f5dcb9ee4b318c985f13dd8fbe887aedbb595aaea4447e3f3be1423b2c78cb8ca02a03b9219ba1b42da4df01a16913f11e494061b5b47428b9045d693c68c7fe6142e8573baeb6fdcee20cab677f95317061e882426e1139c354ec26adc0813d8db256b46ca15a57336639763637c1333246548b88b1ae2f5c454c8ed6987ce2cf5bb4f70f10dd234c77bf9de906c40e679e98f91502850408e718904eeff32b0a19f080d3374456143cb47569797da86b4d1031c6954833f568c0977650467704d612c90ee3748a0d49e939cdafe05890773995e93e0fd7b519e101f26915da8ae1f6a0847312ddaef4cfc92eda06403909a4899a8a2eb15bc012ad00679c3c4eb3ef568e801935df8052b95eea4b04d1482e227b2e59d8c52ee24b41861382825ed8cde544ad8a657f77f7f865840c48b687795f11644781f2bcb6d3edf997ea64a73648121fe94ac5d05750cac66f4c146e634714263759ca7391216918113a27d033730791b6862b8c22fc6bc2b147e0bd0266cc90bdcadd8332b5a85c028586a686ad65ae28202e6aba2f093701f4cc837aa272130b33d750eef947cd29c5a38c363990258fde2f52e98adf7b60a8be8db87a8c93867f1e430832d44a769efe2a1220cbc3f4be80b94199bd79534614987e2b8cbde4599ca3e512ada16ad3cab09b6bc1af252a71390b0bd3ac4f767867a9b445e93061535a5a489eec03a53ec06216849ad776aefedf344c9f9af94149357c027025d4b382a590e5658ab3e30cf593d6a272d8e6c4ba7beb7dd1047de0d44b7fe9ee1d9dd076f77c2de89af7935238aa73578c5cf2034d3a6f2b95fcbc8baec61205fbb329cbcce424d0f1f29447166ed758f59d270e2375e37b9c55252920ae3c9b2b92fdbbba95c156b1e7632e3258732fedae14de5144eb31fe68fb59530ff48052a64d0e046912bc875366221b62027e77272224ab5c4ec955df853572b19cdc0257568043135f9a17cbd1236b511ad0a05656aa6aab1d2c5f9ac86fcc66f1ec4daed0e1c8de8c20a25f5bdce4c31861ce664d13f0245f20d64d36f082a826838f89859025dc57aea84200f770d595d93217ef8c44ee4f50e7b0406a00e3f29645027d978e7b313dfede69af20aaf101f59677bbd17779834ec5554a6328d00c3b8124130a6d4d8962bfeece7403dd1f515878783e8aecf6c2f9a61c242af622a5132ea8af83a00feea4b7b031a739612e50956b7be5dbe9b1bccd48484aa6c0fb0a95a7971d2ef91a94671d8146bf1585ea43a13dcb9afa32556cc9b0a652691e1e25e1efe9002b15c7947d02f3d61dbd128a0b61bb8b5262d2aa7bac0f1c5aeed36380500a96ecee59d5abb7bc3fdb18d120a0e125b7064d77f6ee6be0fd1475ea6f2ba7d46b2c90f1e3b904483e376e4e08179e50a5612189319d8eb0ce8bacb079db96e7c59fba0c0c1cd83a272ab35a4a7422a92b9ef9f0cdea091d8a1be52d2956d6ba83f71d6e8e0b1d50b91e9b50f3149810e1ce0c2e85f7149df7638b853fe52ff17972b8f7c75259816afa3482ebb73b123101d83ec1cd8b950b131f4f6cc301cca6d7d64cacfa8be83d65259ae327463be5ef21a91c6dca8e10a248f02cbb6f797d69715abc41cadfa42f32cd44d538f15dc0ae84093762b22f9208efbcdde1661265a6c93c1c307b903c675824636f26f5e10b80d2543cf7b9ed5165ced8f9c4e8ab3ee4180d242979ab664d2e13fa77ba78ca09db523553aa6dd176f7d0700f3be3b6a416ffd2d82838e7f0def515ae0976a16b26266a90813e39eae6db4119336edb2b3205e660c1fd820adb38518c942f6ca1454d52f0ff27019704b271ab419ae873364576037b375e20f0ad6049de8db5fa382b24c300bdc227dd988bec6955b2254b70bca82daa2677f692841bfcfde71dd43d3b9c3910b73dad4a0676597a83b90290e31f99a467c457be76da835d3ebce3a53fb6fe0c4b69256e3c051b1fc8886c80c9aa3f7667ec7aaa8ca8d4d31bc4dbe69bbe693c49cf501a35ebe99595c3ab694f639b59d79bbc500b56803bdf19b409b957c33aa3f3771715188cad1f8889b878a9088fac392eecee9007472134b0fa3402e97f4513b3d97e16855cca400d3d44d06bfb69a4243ccb94156a8cdbf13cbbd1d606c2a5632c7d314f534cb5bedd9bffb9a3243062ead2c3932f5c90d8cb67f93f747443a687e3d2d69f14c0f76aee82fc5d2bf2f36014e8f407fea0d8fbda220d65ba24226778dfdcfa3decf1aa339a9c684fb0617cf9f8ac771bfea7163020f43e202849b17dafccdd5fe0a57381204a4ee53d4520bc555927c594f84b9693e8142683d60cae823046452513723b1e684d329afe8ca02fc264807ee219caaf783d8e2a38caf23aebd922265615db34639d2c7914e1ce6eccf226b9faff3235389e51534e60111d8c57a07c03c8f88b9bb10d5a55eb175b60d4b36c9dee5768c9050d3c2587fa67bcd6309de703851c156700ba38be80bc0e59da43b37146635c512902e2dfbc26430410c1ace0d72aa67789a311b7f279ac6ef2159536571c7416e0f660017f7263892b49e0415fba3055b5ca1c24e45940ecc2c0daf1bd6351a5fecbe7bdeb572d30a1a30862975d23e7741cccbbc172cc624028e104dc409a8ded6087e82a0921da0a13d4612bbcbfce60262687604f26aabe9935835a26e33be8a038ce51a08ed0549741fe80bc9b35d7343d9f88fe46e8182323b9e9deb9a71965816d44fcd1625644d6a5c4d73de4bf602e06344298dd8b53a3df6b8f6e50c8c63bdafaec384ec5602335a475567a9fb458875471143e9625a61c8a85074a1e3b2f72e4d4a6f95187bb4a8c4e4ffcc0a75dfd1994c74f8ccff609022e49a1ee4b1e0b7aeed7027c5150116e201772c9ba5e1f8b78a956d11798fef57ebaf2065784f10c25b80ad7f19ad918474f9dce2cc06afbf365653fd712c930784c1f04ce011b66ecddcb64e92d5e0962570c1600907675512b084ed99ca28e025b5be8f6b8fc0c089274aa634afd301de4979c677c1df0a9520e0cd65242d0cafe9846b434e82c0997450d0b442691cef5a7c84475bdcf66ecea91f386bbafe9050b29a1ef94aa566b9a1112fd7b4d6b5c58d8c68bad8a0e48e74a8a354256ba51e9c6dc981b3dd2a33b8f2420d3c15ba1f620a8259555b32b2de86a7eac0821d0dc8b2fb9eac2909242fa7f1059bfc498ebd2e98578cb5e6c0fdf301256082cc74717c9b21463b6a18434ebd8747c9684683895c6a56ce9cb8efb4420b33495605bd0eb740c77629430077417161d8242e47c6efba2813ae431f6ec290df727f7f4decde8f17eee7ae785a480f21c0a64230f70e9233018acf1b8a159defc4dcae33ff84151caa426630a8e79d94771a40ee1b528bcc433979a3467fccb7f439120bc22f888882c42c5af11cc609c68afc7ed922e64030f7ac084332448e582865b99371eb110113d3c8979cca31595b2af698ef03bb1a3d7a5630d8d10b5a5fcb593a33db9373ae1f8a789d69c7d0643ebe008ef2e1030c11b19da262fb9a9eb659c11773259040c3efc8e83203249aa17e31afff115c25e5d1a9bb548bd38e8b6ac5b99b6a4c57ae9585a6d92c3b325b61825852eae8dcaf0c57806a016c810d7103a7c0bf4f20bab37575f92c9e20bad3f33ede385373ce3b16129a255abd8166dd05f13c57ee9071e275f276112880495f9e93d2a623e7f197645678cea1bdb3ac4f9d4da907205f31515897d4174a2ba403d17294f3c08d03014a7ece64318f6d9da89432f5dab91089446bb869d9e0c2a370e5e4dbe51be1fa71b42e8a89f56978d70a4013843016b80712701ca8305c1d1fa0adc3feba1da33bda1920b62df4ab69fa2a36e0193561269fc88931e9df14efb536571cef81888d901adc53222601da8d25ffc1e2e3db9d2b5bf59d81b20a8ef48ae00708014c109edb1b4f64bcb50a8dd055d0ea017f12cc48ee9c9df32eee7d625fb06ef520b680114f24a839cfe4c60998300c587c6b3db16b07b2815bfcb47c5c2872c7ad69d78630551cb67991ef1561da87c54030f5c1dddc369482f57a87da3006b88aa0cc86539bddaea2778728b6cbc035934657c27f2667fa98554b4646f736de673bc8cd8bc7605387d6de9474fde288ed5a4814726ed8b5fed8ff3ab126c37a711a7a9bf8f2e5dfdf8151b6747ffc6675960a51af5917f889f1bbd350e45c8d292a3651789590451020384f5a889e61b6ff2c8eaad0b7d0ed6940d4284146c0909a30f894b55fb4ddd4632bcb6f147a3f74828a6f6478a3ef89f732e5728e6a192bb3f5ca1750d2bbd5d9bf202a6008a6395acd8a654d80c2db42428339fac9b5fe12993d3ec8848f1ae47643dc4164d2b3d7f06dd901a75bb87658f58dcb36e0e2db7a057a0ee300a3e5894ae23a43df8e1ea4a1bb9b9b8f7c95a90cc5927ae087981e798a2d69f7fe9f7a10313ebb9dae45e6133cc3e5de43db99bad612b75ee17bc5593f04d0443bb321a181809dd7efacf71117365f499569284fc886b0fa45c483ddec097c1176d8fdfa46842322e98eb2a9faf16def7ea70e2713e570f970f3c41fc5b83ec52f61121783320b24559bb5907ba65be829e9594fe36ff7e5ea23522f6936bb650cbaf26a288a227ec0ef6c95acef2d64cd20b19cc8ce9e6c883fa5cd24691ab569f89fa42e77234a9585fdb44fe2189b29aecf22588d4f830fee2633eb335fe9dda47f6a333f93e54fb9c362bca6eae70391790b7604a6127c10a0aa9245471ab451d9462846b7f05045fb35bc4c0d4afb3db1ac9484cbc685a5274f5b8afcf72d1d3c2014e4df338348e96759852a8c2117508285ccecddf7bfa64f4ba62b181b27ecd057fd52d3e88e3c17320c94d43c1693c9a4ab75d0011d2702b13c36039836696cba4da325ed3be3a9996cf323c9d721facf13db90d1f889694d699a660bf33b128c00764db754a1bd99c678fa603c27b9a3df8a5edcada108f57916d57db2b7423b9817c93618f6e93b96322716a8542cde41ae9360edb4e5f5d65a1bfd9c5d10d360d385eaa75969e8e7306720aa5901956b85ee09ab0b173487bed3d9316881e81e6dbec8fcd456b8b041ce2623b4e19f6dfe335e793b4baba51b19169b38a0bc514cf0d2620e9b22c9ff8c8509041e806d899c03259abb5b8a110f57544bbe96bf1f74243ebc7dc303302c40588794ede089e31ccc5efef2be1be336fc0968a7352c1663e8f51a8f406e94a18984a9e0c15e8483e2093e6115ca9dd0176a3843e3672305dacbb2d86288bbd77f990d69f9c43b3c3a7d895e5df21cf4097b8fb2c0b44120929ae7aea2218b5695511ea51067c7434dc0a080e0baf16049e562cd30186d0ad013e2a6e11eb8a0873f02e850f27252ee062c13f6e2efeb4fc2ba6b61b75eebcd1c8cc4a6b51a2efc7abc6c75f5077be4c69a1998d39c37c06baa5ed2fdf24b43a94ed061f19048d48c337b1f1a781419f22783c6434de9ed6c8a245d4ab3de64e89d738cdf350d9fd8f2962e10dfd86d135b2ca0f8e943fe902094d38830312bcb5bafb9c5beb5621d4a9daad7425cebf9945612459216d51d7eaf2a70b41c8b7e94af6c458c7f1e4a03b67682c3f4ecdf6f7c5a4b511a7890680a36c238be3d3282cc9616cfbc6d9766140779c403858c1146d6837205f7f770703aa9e2eeeb323d5782720746ca03341c3037492c62a687d1f1281a0a23fe3a5d670a584eef4018af9f1eac0e3da53f3bbbe3743ce522ddfe199fe6cc49fb9bebafe238e49677bf7e6133556c539583f81f9293c01a9ac9e88fdd600add5f832a62ada78fafaa1dd6831b1396efd1bd94ca2e35b219470619b118d437e148a6b5a8531285ae01229c01f97d68930d64aeeff77ac99c578224c3cfaf020239b6bd66afe4809a2dd61a893a5b433303d53721519ff858528760d9e8ac0d2bcd83162c94e404867773b09a736ffeb9c3f643e65898bfd2cd6afd610b67a0889b53b3b48dc0b17d1d83c75e2b4d7cc7de8b94a086b149033bb951395a4f1815def5fd2058552a34dadef14c1c38782029cc317900cae22dfda83d8301644cf5313a7117ebc6721735ed3af7acdadc98e5b355a4211c3bf5c294e4af1fe41fa7901ae4f6d4615a796f046df05aa4c48a6436971e4ef6af5f1b50cd2a70c1dfcbb816a25d0b2a261dfa828149f9caeb11094b843c9c5469fd5237d87c75a6e5835603835c7a5031b20164a08f7b9c4a3f3d3fbd45996f413fe4bae19cef91a05001a7df086b987977759614ed2c7dd9c8893e7e2c82bd2fe25780f5ce025f06080cc606d6613fa70818c3ee4ac9b99abb581e993ff55693f85c83bd4b042dc412a14ee0ddee8af7ddf06f569697ed8d60bf0df1877f8b6dce65f87791c7c5e3f4e25d96bb12c4c46460c649814a3ce54c6eb578015d3cfa3c1211ccfca26b1bcb3b44b3c5adafeadda79722ec01656f6d4fabfcf4a4736ed600a64f733cfdbb25edbca902e8a37ad361ea44d8a0ce8fd7711cbbf220ea001291d851320d00976f8ce8a92410e8f7b1065021d45d92c7f677c997d68a4b690d028a1a344bef71a73916a3595d0f424dd5ddde0630912ac105b9ed0d0a12228ad2fa6e9128ba70ddae41f7eb64ef707cdfeb80cf529fc5ba7ca225b0aca9cffbab4ed3165760f790250dd5e1fb2b2f10a02b2013846761aff55a03840385fd065b04adb5f25148482fe73643fde0833a40ed56e0979d3aa30121bbea76c8ce2350285d199e3d3018f4fcbfb8a1de9054933d941c37c8496181e33bef818e95d202c9878e7b55a2314925802483edfc4c6e03add7a66371b362dadfd967523f981672d2cfad84883fb5ce8af6cf934e3a60a8a1214c95e8bfe37b7b36b5c46e18d662f1554653d4b386844a1366cbad2c5fd6e91a7e219a7e14026910929c1bbeb1776d89b49c4d04d04b602b680dfce06fb4ec0a3a7d78bcd587994036d0afe6a42af4760ebc6603a6a83702e918f476c6bab6b1cd708adf086ac6a87b60abbae1f4c38e3be4d00fbf3c9bb4134c9dc7951319230679ff2a4859b7b1d1c67dd1b6314fe50dbb88b50b1b2fb3dca5cd090315d4c20dece03ae59f39f4770d5cc6f99e2457bcbce1c74a774ae4d0589c44882df5f867a79d12678bbda7afb52ea8f4b808c616e15b192de513f0e13b62c94a21be41b62e9ae1315f5909ce7737db936de1cf44b60c599c382221cc25599df3f5795bfeda1344ec14186c27eff40d3593d19bd6b6b4678eeec9ef1b20b61af860c2131d3c1b76c64a7c06251b25abc5cc5d894f97bfc54042e8e5b41fae5f93b1055414f22623ba419cf5c55a253ad7e82522aeef1643bad74f2af3f5ac1cac3c988d6e78e6ff57faa7797d37e341b0e98d4a07b8e7b0155a8c2428b320e8058d7bad72243f5927266bcc1bff663734198962b5992faa11b70c46df184e5b3055ac7fb35c201e8b10c8c3221fcdf703d391148dba4d644aa4d80ea2153b3d4d64b9960e64bbf687dcce225a1235a56db3454be178c9acefb687569acad93b609b654a2b1dfaf35b675d31849f5d9cc6594ea7404055241344eb5c2e12296fb684539273e5a05a4683b5356c6c970769a450302d0092b82daaf111b604a3f8c2bc9b765bf0e4343b86141e947d5cf0a5fa1111700a4fecdf42e7c368ff23ee823304db3d1a008921a1dc844124ab69e611bae97fd15f5fbf274d219b79ea8d90807a4617f158437487c52170ce133d864bced559427cce5784b738618e7d5fabe1fa3fbbbee23b6b0877838bf3b78d2b6917f3a93e13782a38333a744cde91dc24cdfa70ab7bbf2c784eac601225d57fbb35059fb518ce39c1192efbeb7297a11b2f775870495a2fbbaef15702bacf07d48d8453b74c99b5a23dea87adb790c3b472004648043f267d7c28b3c785612f1e1e4fcccdfcd14ff5fe780df1a1df012852fd245314ab27cc5fd595652306df26696ea85bf7f47e17221788db3832c0d00eac06b583e415e73dc73e38cf7678bfebbb6b3b7777a14e893d5b73881f5d2273df065184844b95e86660c6ce7dcd2ae9821218fa9c357e758d07e32fb0bfb20b6ddf674e410a08bb24220e40d7732ae95935680d5331fe96923650c78b5f1f02bb7d3bae2b67cb9f3fba3264235c073a5cd53824b110e1238fa171afa73f8dc61849fa73f83e5b587471bb41f0f4a0739b3085bde541664c0905eb8db58e4678cd3b431daa2d43c016228d6f8a187630e21dd440bf26cc8895a7db34b0abda8f7f2a543835da6eb8b514724089fb75384fef2dab8d44c94359c3e5a85379497b26f84df9d4a16076c64695b72c6d2545fb271d37f3066fada964cb11b1b487160fb544bbfa5b0b6f54849ec2189cf0b1f922e9a4d79800455d7ae39b25672060f2f9dd4226829ed68d012fae872ebb69cab72d6ea44d46b81cd47b245359b53bd9a4db90fceb78f10fa37466e0e626f55682eb3870bdc17ade5dfeb54417a7415a107dd2007325058498e6a9b9f429a3dbdc2719e2d5ce97e64afb549dff0fc703d40fde9cb2830db2993fc74327058205ae63d03268c20822f803c289f892747816d6802ef652262fed33aea43f40008979bbf84b77781a0ed3c3f74ddc8d7058983c7fa88225a59bfe695f3e127e9b6c9869d3168c9217d384bb218695fb352301f5d1ac92619299649fa403eabb7c9dea0efd6de584317378e8d1b9428db8dce753513a23a305b1513f719c7eb473fcca76af3b2f0414512bdbd28c03f2263f3fda4d95fb8b4da6edf7570e650917f0f15f1939ff552a157ad277f859d0fdd8e2e311af9397030d4c0c0d403c32ad735eb4ed47a232698365adaa4e37cbe4f27df1e435b844d9f7bb5729e3d81d6383e0390a46995af3b54f918e59c110dc3caf00d16972843d6d03b746b96d566689c48cfd0e031c5daf51e000303d087ed7086f3596d334458a0fa1259f2a65080e1ea333d92974fd24e633e83a9702f9724d36be0c1e099da931bb59714f37a6a6bfef49eed6bc4e64a33fa3790eb516097f8b1d1f7e1ec5e16d183564c94c0de39b6a8be5afde955744398997ae99d6901e9b086037c3ccd88141c400ea57bebf4aabfce6c127841497b8119f04477b89c910188f8465a2e13d3c2aa8c0e9e92bb9eee4ffb069fdf387ea4e14646b364f3aa743af138716503fff0e786d884b312fd2b64691b41350b2b0b6a5d084c025dd3f2e330fe2ed0a75e7471a0dd6c408c0dfeb38c3cc20ab5c8d6c37949e0ba8fa657bca3ced997907c423ed8ab78cbd2fd29c647fdbee0eb4576d04d7ade179e4a1c931c181757cd1877816882b16a1cdd8d154b734acd0b6473a685e3def14de83d50468295bbc79a90746f40e55e47a38347ed71c01ba32e6c4c4bb0ce15f3491795120c4031003814646a558151b4d7bff70cc2a14c8cd6196fe0f6ffca1844b9127e0412bc341caad485f4b5e091b1f61078d4d6fcb6f15596368c0e74fbd364e2387c0c3137a6e16ad672177b55b98407b1ddc26dc3a09f3796403cbe5017f91da83d0e59f13d6d61ae437d25d190a8fe45b54ab837980e0c0df0048b93a360a104b267664cc0333a91de6880b2b152510b9c9900aa730a8d288f13ae577c18d0a0f96c3165d2da7134301e43df76e6a43f35719154ba663835c5962d37f22bd25694b77d22baa64d743adb8be16263318b30a1c4c84ac0506f30006d752892d73fa41320e1c4e4d53970fc09f1365ec247309819a1300962c0b92c6b9bb1b4c2503e553a0448f48629b14d92b37cfdac21252b7b7762a1d08593075acb701d042834bdcd358cd6270d5e0d38f620988c6f74db12f184b725ad079f0a37919f211e427019f3ebef203393224591b73f70875dc1627ea466fe8d2bdc0975a369d1d013befd7e370dac77fa5eb86627a7bd0729fee86c79f6738ba3c5d7a6e22ec1cae8b0b4dd092dd7ce2cc348224534d71d025532ea68b6d6222bfe76ba54d7c4ac7d08787932fc85e61c5332eb22d4dd0605e5c4f500878779f116180482bbd9f3f0bc967fb1d63b3d58a1dd8ac79409cd50f149e4829162e77410ee120e705531690d9b15b9b71c34286a73ce288fe632885b9f97e6ac83ef12d71f87552125ef259729e13923db6486b5e76432f561594b66f71cda0f7467c895013fa6d6d1bbe5c675759a5c533def41c24ab7f0b60f195a62c7c9c4ab6897a492a606e0693715ce59df72f19b8c85c024f45e6445f190cc7fcd81f824ee559da06b6692e2876dcbf22fb9c7f9a5e0bf8a5a71c282cee285c807ec8ce2368d2a39035324fd098291eae38c9497b3576339e34231d1b3a0d74cfe7e52ea712ed793e0817c5b9666bcee7f2d2593d5e815bbed394577bb6fb919d119f5a05b1f865d29dd020e04bbd2add2c25cd61cc8d70430ce7c2c632287f3194445aa23c7d086f5944701c06448b3d8e8e4c14c039103ea8c2732d5cd37012367f9dbc36ebf1d2bec919084e6e5bbc99b22b8d73a5b70fe84ff4d43406f8bab5a92e6e70c5e3c3447c721c365aea532140f288058ea1e8e562d4cb81fd7e347c2e5397031a6ea4ca245fb93e0fd97ad31a53286306b26eb04e348803d7eecf44f265644ebeeff12f6330ec4cf96efb42cca2c1a56c7f6b3d631e85e6fcf1a8600a1e3270bc90d4f05972b6b58354344197eec89a997280510bb6c8014eaedcb6c487310eddd19006f7af6d89ca6df13a3a82f465a6c3e98be53b960f39815d2d91e2c07108989ca428903a6891eee65e46bbdbfeaefd6108d95f210dc258325f912067010eca05a2b2de5ced23c8f5f504237f65d1c0931cb8d8d85c9453838dc1a431a643155131d8a1b515cbf32cdb6a00dc37d0551c300a2c2a5bb64cb19899a14a2e2b8f42d843bea493bdd2529f9df9713e039672d686d306e61fe97704e5213ce403dc32345510d653cb0705b56096f74ee001a704dc02fdd4bc42650b112d6ac8133d13b3529794003cfab03a8f0b5acee10ea610a83025ee0eff634c2defa2d801f2acacdb496447ff38de1ce7eb0de0e39644462be4f0b75ae4034f823e2d8b0aa8022fbae30661be147118decc1d1af7bf7671b544458b1933ca3c8726e1f8e9ff266c799455d71ee6adb56c08c30dcbe4ae34cb429636b763dc25805e3c61430f7a0146000cad668a04001cf52cf8fac19fd3f0d42e7d3c0b5d4abb61e66f2aca1f2fa846bfded96f00b55bccdb0cc638c82a427c807017bf30cf460b1beacb23e4aa9876464628a19f29e24fea2d4c9c1dbcccff50bf2b5e36158ff91233385dc76becfabc4a64b01d15638010a0839fc41a163f621392c49c1edf656bc46fae37d1ba3e855fe9cd507bccc37199f4d3a48a768dbdbf86fb2537f8306b9059bde0151754bfd14b99b20f54e761cd18fa3cd3336899e6722565de50e0799475d3344701a64207d692a5adea4f50709a1320b6a55d5b48705cef67745212d07f2809885384934417dacc5e41b570d30d05a3909ff46a02702691ee49252d73e737dd0e79848ac5c4b2e6c22a5de9bad9b2b0fd5147a6b8d2a4d84dd5a06d7da45be4fd3faa1e8375dec38dd091289a1ba202878aa85ffbd924f36408734f354aaebd931d2dd19ebffdeda9cc50dcdecdaaedfc84b2fe1e47033499b6ea3eecf08a194b7fcd628bfcc431fff49ab31816e276a026c01b1811a486c87800d0482f36c42dd4ea8ceadd63c151c192660c1eb02a13627db23f49d2387c0fb06be5d95413fbbdfdfd16a028d1f296f0cae3463f3384c3bf5861b498b00ae2784cb729aa995cc805f5182c490ff79ca819d0d1f84587deb473ee521dde7306228d2a959fbec25206c5bb35bc0a323e6fe832d957d7bd9802a64cf6db226097c571c7c1943035f700ac4df186231bbc715cb30817723c05bd373bf34607c3c2deefa273fc01a20512f2c17387ad6622cb0bac81c64944b36fcaaf7778ccdb592d4bc04c27e77710a867b20c2b025b5598e5a9edf072da913b0f505ce139f73bdb8cecb302d76a080563c4b37b4c5324b8222a002610a72e82e5f463d2365ec048e92ecaea4556e6223bff390fe808730afea0b63d734cbdca89a305795cb3a0017395225a62650dcfc65bb1c4ef3e56d5e120d2c875226b39ecba72c3dfb22257017f211ffb436c70e7d36d3af34c2cfcb0ae17ea49d2e7e21e1c315b7607cea9c8ac55bc1c78b71689eac600b0febb17423c153ced138ba1118670bfd3915101aae75279e80ba9021156d27b0893130f2ce9ebeebd5425a20650d64fcdd8f22dd2e416b57c85ff67f405aa5a80a4d69a4e5e08a5616e5677bc0722f4bbabf39b7332ec6edf1f484be4e261bc908d3a1f81db8cf45f3c82a8f74982fdbcc4600e632e78dafa0e76b3fa2c546995e34ab20beedcf547c641b9733fb5c24e41894ea8bdecff9ec4327632121a483b72dc422dc5b5ffc9400596dde8463b86885373b0c778da4155f11b895fc338f95ef88283ff8b54e9ff303293efbda5fa4d4c921f200ed2c8379e722bce4e56c127b6ad1ccaabb8f417243909370354a74fbf468962e015fbfa03ad450f7764d6b19e72604428b311ebe9a2403456a641be2e603746fd04007d3b05a0176915a70c2c142df47826977ae77afcf35dd49bc0f08348400c02fc429527638e21222b02ea01f0837a42a08d52a02a9d0d9910675172cf4e0df0f15f44090d982974c7f99d5d976a6d3d57921e055102478df9f3f1449bed202f2eb295adf8084ccbe48b6ec15196111c3f3ee78487fce19f4d61dcbfa2b52df300292af77cd93b584032560e93717c3a7f6613563f05f3d4f7eabe0cc38c0ab3d178ec832759ec40e9a88a9a14af7ddbfdf36e558aea9a8b7a83babd3949364e95dd7ce56e14c6e011d263a8279402fb4cccc3242f48f70ce11ba0d7595a1db355b1b4cd920b37027bc19fdc36f161fc880a04631e3509d0b0a49cd5bbbea61fccd66c84398c09f4ac10d18fc417b8c16e1e1271f09c62b63c1ccf7de6556061c8b4d25a26a5b7559b5fbfb109f26d517117f2beb2544532f22344ac4db80072c5b8f251228018d3caba13afe0fb012ec06f0795604c58856f9b2e6aa117a29961a86375e2bc75b099eca6b86bcda645c1f8caa48ec2a91f0888eb5e6b53a484e92be721078de187f63a03db7e2bbdb12c7c18ade43df5e2fd8f627d3d1e696ad2de9e12b9ee3022e7b21cc6194fee5514877ba9e379fe38a52d4512bc1c591b2d929d5ad699d729a947a5da2d617bba0f42c26ca30431dfd343b8fc2e8b0abdb5bbe7d00a2285ec03c249ac00bb4d7c513d6a90eaa00e55b2e219955ef3a5e4155310fdb3e6fff13fabfc9c0df0f2bf560601ce0f9dc9f59b9e7997b83592c57c943f0b65c9eca929117c9a0db537a201f468e66d920b40a14ed5ed4069800370f965c116f01fe6738121dcb18155e4be0004cc54544f6137dfdf781bb1c44d7f16e8275c5c2b9bb0393bddfd9e391c5ed8a39fb2445f3f2b3618b82e574a20c49bb4245a8913ff68c8784a7ed632ee5379a7080462391555bd3288d0b10da666e605fd0b8a21288a576b495ac2c113fae9f3f3c65ea4c036473f6c14c72062d7cfa5c1318ad10cfd184a6c4de7d758f5eb15368d806016497e25613d5ba7d05de373ed0d208bdc2ba0295e3781f742dbe7e60be08de3ba1f145fc073916343d95ee146ecae4162ec71a311768e2f97f5c8b9ab30a74867abcfc27c0a3bb824a1c2eeb5be608292c7ae65d70a245cd848dbc351993715a1f6dff02700f97a7347f294676d03d14992e3ac3f9c50dc1b1acfe625fbd1971f76627d4887a9238b3b0729e64260420da3b31b8f38fd4289e26ed9f7da791e7bdbcac1c4726fc556994376e9fd63fc2da983b2e7055a57acca0ef51ddb48e29350c2ebd60b21ed997058a69d02edd0814f30aa00e2f185731e1ab24d76a8d94490f1e34dcbacbd0082f7f3a427c2cadaf34219fd8eb41673f24fe16284f0ff9b9e95048ba6ebe67bbf9eb213aa6e5ab251a797e5bc2a14339e0199e7199d78c30ca4e3e26e8b1d4343c829461d203722857038c6fd063d7169261af8b252ab5e3bf0a7d905be5dab9c0d42bf17513e0ccc12506496f991167640db50f779668601169cb9529d781773878d849815ce969e80fc5ef3d4239564447c8dd9b9691d953ab4ba50324bfd01eaf2f6c0e4d745d94e803af6844661111a71cf3ab92d7351a1a4b86093fbb12495c8b733a407421d12b6b4ef3ea2d62cd37f8aa831d193982498c38e282ae168c6d1d8b4db97e08d5f9bc5231345cfe34b38829077dd9fa96e590b24af45d90085e58d6164a8c66037688fd757dada96601b8df3d59b73f85bb63501f74661f6751c83b88a4055b9d41eafb032d7dc88c3211c74d1eac3be900648b52b0fc6f3b0efeaf99c8e3c46639e7971054bc9a26be0a8459e703e674c6a5a0926977b893a3c5686892daaeb56c0a5344abf1f8fe5cad82da076073923a7e8853385c571e36edaf383e69e1d30515eefc96e09b6374ee4df9a546c9092e54c1fa341fcf0354f22ab80f22e3af3437b254b921199a31daaa9e85f6e65c2a96565f738616b5f14223e8f21b2437be7b058a09f7ed4a52e9fe7b67549b4ddcd0adc91c07f1cc3ba6090a629336f4b1c84ed9f6668b699809700db4c8652db951a0bd8c23219a514b0a7a6cb13e979bfd739cc635d88de8cc4dfccb6954d7719b4d77e8b3e2c2e142bd7fd54af57236404e0645432b43a49c11b20dda08958368dbe43f83a67af47079326c3000a54c4b2e131e85d97dcd21361326dedb09ab84fe3056141e02ee8b5d1b7430e1e17d7b5d7b5989ec8a17a7a47780ceafaee59aff24e6661c5f9c2a705588d96cb53c1e0c84acc8da6f801c8a144320f0756a0cd16f9be61560799ae88ab59b056a69526e83acc3a7dda0cb713afe48423dbbf0b70f11d965b9d4f96340cc403f83374594175328ed67ca8b9b62325885cf4244a89afaff19f3b832ca834777baba5c7dd3515c72e53312371fda101ad87a8621126cd26982afec5baddb0a6933344bf6761da6d356a4b1b7bf95491fd18c719f23fd038932e6943aedeb29b3d8134732ad0f4bfe45ab9f1acacda1d93c607cb978fe5a264451380faf7238c17ff17f5bdbfd268d73423c7accdeaf224241e350f2b5889d194c6a1926955748301c95fe99592078e1cdbac9ecea8d4d5a74a956ea4317ef4f68b7df86d46d260302fb3f8ba034433e07c1f4ea03149950f08e74260880eb1d8d09a7de28310241e377c83235ee0b188882500c48a9e4a72794f84f6e8da06f010a1f52b4d394af19f7855a48579916462ecdca5806505cae9c225ee64d63d2c62b4ae44892c7e094a152eba303e62bdf4a38374cc4172f6c8dd4f08af20117ca8dcbf1fcda4f48db1a86fdbbf490491ca60de60a58a49456ec043e1bb59a17072a550219d3731baf41af59e9e835072e236ceee49e8cbee98566fe5a9bd251eb02a8a47d9894a8bb81a3c0b7c419a98cb6b3a61f54a916f05cfb97902bf31bceb2603165c6bf99d2fa291f0bc82f308910e9e8937c3b50f2fd0792545019663f0b6caa6f3050ede63377e489f611f1689a0db2b179732906609075ad8e01e426839bcaa2942f02fc4e0929fc88895d7629478ad934d855f0a54ccabbd1a4ab25fdf7435a0443146272192e9f5ea980c13440b53cb55f9420553146ac8ee7a93eb66fbd958354a7964763196466143f70f3776a6c82a8a46adddf281fdbd12a70d663b7a643fd1113c0b1dd43ece662d76e78790a63bc67aa22875ceab3f584ba55ca1c69d6e5deec953c4855ad68649d2ff170acecac8fade834b5a2d29b44b3fc40c1f439f40efb101e4b53ff764ac2d6697197405bb5e3926b1c2c9bbabc6eae61a76b900ed6c1d7f9c5c13761697d19e4510fb964584dfdcafab806f46c9d99095d7f156c716ed0345d9c544efeee8aa453c7bceec50eb18594034bf319b15d72aadd7ef32ea1f6c4fdbdbf7e7880c00bc2584101803975c6a4220ea3fc25d028d349d764467e5b19e4dffa8c90d42533a924ec21dcc8c4d2abb9b2e3716e65e7c180b718f9c5930306196e38a487ec8e9bbc0f4a85cf4b3ee9b3a5fc3fdf53721daadbe041ac5ea896ef1a92fd6ee194398fbb655ba23e2d83ea13c8ec0b4c8ceaa9ad440f4e1a646e16c6a4be8d3d382804329d690dfe032cfb2c44949e2c096b88547442d3c42eb9c12e15b6437c7c7ea73b1b9a536729e43db12fdbfc1114a84e3e0d2ca135fdab40319229dc459be5ecf28f510705c806d4052180c6fc8cc36100b5577321d82adca91596c593cc8d8d55b902d363527f4a09bce17294f98525cf26d1020c203c079fa0050b8c860d8dbae2a2bfc55dc13a48374b8894e66ed5df19dccdc8fa13b61ab6254209bc42767fdddc45b8724065be4f9f9cd98cf1047172112db2f19c8ba793319e95c501c84c43d644175030275fc607ff485dc4d19d56080fe3000fdb90cd310a12ba5cd3b31395dc72ea7fbe7824cc3e0af9344272cc9e6e98d4e4e3a061c59f2a808254492be6fd3d6d89f3110d1ad9650e2c054dbace852a0f56f772326a52eefb4692df53ca5b0e09a96cf78d562c30c8a12d41e6d689fe15405d9d306c0b2e1e2a2b03d10238c9abe0c8df89974bfdadd33ef5829342a027dc4fa9466e70617d0bdafad7eea0db53f87de00021cee6a001f0215c328b997fb4a12a07fdfadda913fe7cf4b3ae1a326691f1965cbae8a09bb85c8e4be99aa6586389f2b409df4694cb6f6bca8acc445436b6e2a79aefe54ab82a0d86e1f2ffa021ad8155a215d5a2bd30256e155615645f87cce82345379e40965c76a2cc141381093ba44a845b6374300cbf05cae7974cae3a030aecedf207dfd3345af0ae1c07391322eff41a94605e7754bba9f1c03778f87be40be4824e1882d423911c57c35c2b80586f649de64526bb28f712b38966299c334680f347e0c47ef9eefa1caf123f203a00bde3f185eb14837b11250be795ac0b503534f01031ed1e01a927e172b0954d94cca60390227b39e16fb17339ac04611cc9593ff0eedd5b8b68c8cde84f2799cf2334f19d7e4b30682a715a3092b9544a0c3ce72cfad3a42b24c3e909652085d3e3894a16a1cf9d62a2db4457b1ce91daf0f173573e23d4493a7e55dba14726a1cef7c84566d15c0cce62fd99a517b0924d165bfae794c5675bd8281e1c586f6fe4fbf768ea469b5fb6409dba9a7fa3e359dd94c78d64fa9bbfda97723834be4122b3985e93da3fcd22eb2bec664127ac22e1eb36a913ffddfb0e0b579e374083d181925faa94427bdfbc336ff864d99af968538d81fba86bb8f8190197354453786bad090560bd4ae58643128f7c7410d84689fd99c19a805551300b98f356e122814042efb8d35333cff8ca20c4b7527925ef7abaaa84c40cad4814b78982644387c99750e1869c5ffbaa0251d9ed4eb778fb1b0df1d18bc7178aa01e832be35991b3be24a7a0d12c461682b89225e4cb080aebec0c72924e953cdd97a6ec41fb8aacc5caeca63668cd94b4833ea865c26db3da96a90aca1f3af1db16e8f1d7e2c065d1f0a35aea2fe9f0b5c4eceb4cd227a90dbdbe988872f150c40c736838c36521c7148995063f2892b7de42df4ac0db7d6b04cb2d0b6c879017a762df44e7ca1a2817b22c1876d6ec2462dcf751de4b0fc66fb9f8c2b8db9b6f5607a1333c580fa60ed28c98e94740cf989520c2175f3b59dcb6685f7cfb1d3d6da1ca42db8a43c0dd1bc9831ef9cdefecfeb194ec47e8b2a39aadfda1a56300e2cce6f722a6c17ba876b5225b0421b58da2dc9b1f1c4ff26dab695f68dbaf72bb9a2b127b7bb112632c09aed037f76b2cd8fc2d118fc1ea476d30d2d830111ef6cfedcb3ecbb6b973eb880e1a891ec38d53c410fbd1b6583838732e40c813131886eecebbf4165009cdb13606226c0ca239def06806041e735ebb675711816e6ba7eed977fae3020cf95818019f64f126aaaf22ece2331ee2e29a31ff3363f583b0378512f6130054f6acbeb8241c7268cbed34e386efafcf8716a4745e73a4a9b22e18c17384aed0f426e363c87d4d319acd7f1da50b038531d95b23de8e23300055d990d62383611c7859e436fb5ec75af4a34f9e70383d30d33d230f83b648b099714448c2dd20e95129e220b2ba0a357cf961d13fb0af982898c21b0eeee0180e12d6216672c854ad27aec0f48da3254a20de57e6e3ee835ef5345475d7df4880a284572d20ece44a72aecb6d4ae128d96d829d346c7424e13799a56e3cbe3732d0d1875bf45c589f119c8c057af6265efb7196ead4502561dd8783af90142e3f514f73d10e87a1a5793d9ac532706a4d123867163957f6229e82a42ee0b9c13a27cfd179271af1b7e65638dba87deb8282b37196378f4136739649e4812e698735d01d80e0dd5cf18d7e1aa19344998076e8ea5a45a028ee3bb6d764062d5a3cead8be8f85e5ba583165bff6d2c92710cb1c22ec7655dad022c9b503aa4626c8a84959be3bf9958466501ac38ea0a0d7153216b992561ca976bf31506de5896d96bc13bd8190a1cce5691109a26cb65e0fc45eaaf45c8fda36872478696892595fc5487a71dfcdbfb63461671d7886ec613b98e53d51dd3cea8d96f70d102bdfbc704ab3b777461fb59be78439b32c5d9d4334031f5115fd8ef1882d785dfb2aeb4840b568b4d80f477c825c45fd3516ae87396ae267dd29551ce200dade863c958ad2a1148f797ce7a824489217f76a7576c696d7b754103b073605fc8e4768c46de827281f41a5766f2edb91a896c4607203da7a83f90cb3d96a64c8c79a419be6438194ae3f876b51f6d0ac0120fa953be51d7180e296dab3adaf0d3b00c62854c2a5f53e349bf9073a38147ef89903a82b8367015096fecb014af37bd84b21464a37c4c303a8b66b0ba88eca1395a1ae37ed1b2ff8f7cf37d052b400d8ec3e23376e3d7704680f5ea1b391a3da1a4e56d5beb102d81a7e999961a79ffd19a9fcc6240b2951bcb5da8b2fc79ab35b612182e41fbcecdabdbba1a46d611811fde09f8582c2783b96e2a00a4560f36c3b1cc80f617099bc655bf183b88ebb93c9481fd535570501f8b8699462954444262d9db42ff4ba66fa8e7bf7ac1c57dd23b74aea83f7677b871c9f71a54e781d5b05380c156dcff00f1f6a5d6a644636a794e1cda17b2968998f365282e853dd94087a060127b47e927257417ad07a601ab080f0c07b211dc01de2fd82b01a439d6ee8f4abd790af51277f5284b2dd8477f4366b684a7a19e810c7dc40aa7703bad1b8711fcadc8ec6e7fd0349dbeed3ba1f74720a31cbff71df129405021e3b7af7af5d472c337a3c5fa4d2bfc8ab2369a0176e07bee3f6896b9a24b34de900d424ed3004a6a129513e9352c68ced524150f4c5423f495a9b5ae49228ce702cc513e09719c44f089a670e549a79a7ddb2324e7620e2adf08187ddcb0d338b0621afac546c3824ca69f2e3f54788492da6fcaa9c65a498d7f284095957e9de41e50f049d47e8ee6afdf70de8d3400564e2efa66dcad02024ef5864046747196727902dce2623d8a2144de4047d0b566a0e8439ae096ce73386701f7d08a203f7a1fbbb63016d2e5e732087fec3f410e66ac6b21d8ca95484514005ad1890a2b87ef9623842c43937a05b6668dbbabaa54be210613dc594ec11ed3569e34448bbdee913311d7d5dd30f47080b727e041dbcb7719a39d6af3b4da0e60b7afa992baeafa82e75cc574b7bac1131f7d60befbb7a433fd2db8db9bacc7cad944007a3e9afb8166a481ed9799e7afaf455757c706adf502b5d46aebc35bde2d7882f9b954345d1056a33ade0b063ca0833d7b5ad412002d59cf4e0d0492483eb1af4a68198243338581033eed431364b1180fc2fb0617581252da01d9239fb66cbb162a40428e654254a591fe7ee42cb0aebb23daf73d5d7c6178c72e2405562f55e351e98ebbe55b511f8f3b4fdaad35127eae22732c3913371963e2625be0788d6966b6af06ae279e3c1815ba2351d48393869fa6e07576f8bef18a5ac28dd08c8a2889026b2611ec2dfbe2bcc1238264f02b5e079f87e0f19741f5c42ad36368a9ba1f726d3d1b6fe51719e61d4f36ed836847f0c57dfb567ebee27911901715c5417247fca46706f3771a06346f21ddedb9b2d9f3168f1291a69d06dadbdf8a5371d5f27b41649a3890bd2ee01f8f53475cafba9ef196a47b0e5d5090aa23fddcb45b4fb20ea45e224da91e875bccf3cb291585b893c073556b8f3d422e63a50cfd0a7ecd2c520ebf437f2863d931688298dd2222c0a01cfd492bc0babe99e2c3c8a8901bdb68cc63be59fb41ccc90709a565f13f58a08c5005b78588b661b9d397f2ee2f33445cd45b276642babf70f735eebc4ccc587bc779d42143d5d585333dca9f75e96757324e5a622148f9676afe31750aa3f7526afdef253abe4d7e3e493b8b9e1ce784b7faf0eab5884fa56b87a8cdc6869aa704622a1ce37607bdc29df687742f1043fb9233b1cf74defa0c88370afc3c12e96fbe9217e060d6e2670266397bb7f0d9568b5e2a0aa4dd71fcb44a2b2126da1bc718cd2307237310ffdf556c805b376e30a9953e582799f0044bfba376316bb7dec5951f5583dd0e6d4f950b840ba84fc81cdc4a44b1f989616399e3490f75c80d0844065fb72b0d84c09ea2b34cc85a79b0409f92099aa444c3f6981522860faf9e41de2461455362f4563d53dadf0c1b3815bc2f9f84791d1258be03970b7844b5ac06f0e12763f5a15f004ed2b346495d36670beff6274e9b850ebdfdb915ae3d08a373992e107da85bffe1e712abfb3d8a395575496d7e584cf97de10efaf0a87f66b34684ea597a581660a74439d3b9708e39040b258eb3c5d41d816e99f78c09ae9beee75fd7804e46459a8cf65320c094695f2333aefd67993755e3f40ed60f5b8d4f3e40fd7a79ce75036fa6b103ea383b0d7fee722d15eaccbb17c68d62d9b0e7e29397d0dde37c0df15894597b393cbf08f61701d6fb6874d69169eb2e220d44f01ce7825fb51693ce2c1a712a55dae77d8b0029b6cd0f7c212a613bb845f347efce30bb962b2876154951a80d814b3dd122230f957b3f8fa2a67f79d1d304a59ecb01a1cb3ddebafad0231569c86394b26219c8470cb85dca7db48165a5dea79719fe7312cb0cd011338d82a15bde921cf889bc8c2cb9c0a043221d4ed5633abdda1a6e74b0ce419f35e6053d31212b42636d443c55a9014fb381c549b72bca028693202e51cac41f6d802abe6fcf5e0d90c4996798653f5dd631818ea40f7594142b1a9d494c4569b367deb3e10be9a078194280d5ba274e045497eef972574d084ce0ae20c17ab660834736e633d544f13cbbeb7f0952c675723631fee155f0a2d5deb842493acbb27461eb965204e175086e72b02bf698a55b42a2ca633a26f933d69cbd8bc3d483e8ee87f77052147d4ee52cb0d1fb29d1992e8dcd05dd8bca0225d98198a473a5d9bad4777a03b027d7b81951352d67455767bc4641020ef68edcc8f9d9e0540cc1553d0482dc766c6eba9b8455a8de36af2916f2e8c5ca63064a07b72ccc009a2a3f32fcb615b35069150e0bc2910d702cffb234dc8f92f075f53ad50551ea6450533da2ea164fb44b841fcd968976c0e679dde12db13488c95fd69766f43e71ee8a4e0ec7d9873e99d39f5aab17807100b04f7c86134de52c5329f6ef62844d3322f2e0d45a9e644bd5f0e0f07e8ccacac3c590752e7551874b04f0e432844af12a5bb093dad87bc28e71de69f6edb6bbbab0b26ba2a7bfc6d238b50123158a0b97160836dd244a8745304ecb0706a40eb83d2ed3474e1485d7ca445b950e768ff6fec7c75856f4a2ac2a5f4aec14b569f454463b34c26b4fb68904d6fe9aa40b67f141cea44d50967fe05b32da13552862b143f39a69b8e9f91409e5c88e237ef6419036caf36ee00452ffa5c7beb3dc9092511cd6dd9cb37469c1a18111cf17918abd7b8e40c872b09d6d79450d29f95341411547b54d9755a37152b58b2c864de8e48ad8dcd165d88695eccda98788b23312d7804592a0104ef2e3d7dbb22af99a6df16b1495ce04fb1acc8137e14632d690e4deabf8362b4c087fa433c7759c9fd2f4122722048e25e45a66b241bf7b20182aeac62823526c959da9d44d61889cdb2dd36ea6de3cd85abd55ef4a8907bdd7f30f318e5c1019de2409a9ddb98a2f78034112ced2c6b3fa0a8a90ba0efe2d929a1bd2240a57fb40ee997cb68ea7a01603ba8398b5fb402d516bf52ceebcb307805e67dcbeddab223820c0bd6bc9d03fa2c07c3b9f8a32c6b7352129fe11e993d7b802616d18af1c01897327b48d1fcc26da0c0fdae3407937a333d06fe3b20ff8b9232864bdca4e0a6e2b75baaeb90ba6d1be062ed013c0fe7f88ba23d943c4e3f25c4d6446252028a2a940fc2c94b3b73293aa730fd54963ec739a09b1d4e3fecd74a962444174238cc9f6bc9630b3514ee7197e43c0ce6388b19b8df3de11dd95e972fdf6597460db7a8e0e3acf3c7d0426be1dd11bf27319dc8fe51a27f8800053dc20060e6d8bd986908d7ffd7eade6522242a363518e8f81229b2405a625012ac3904512aa94057d6c0d0d4b55ba1c4c830d2232c2cf8853782c4d7936b37a031ec6fa1ba2c51f2299c79f4bf5993a3f5209455ff9d92bd14b988e3af1a3e332ec676abdc41208c15072d4160d5656ddae8de9f2d245efcf60957057627893209bd450a3d47d265d41e9ccb2b6b2f5166e4e7262ea09c89878afc1eaea9d27533244d51b0f3b98e10126340597b2b73edb17e535a5835e9f2c61ab29cc1be7b78f2ec42f6484502e3d438f6a45728b4fd47626fa373145e27d7fead2e4c7a57a21686c351414861aae7f153eaace863e28d4cd9bc89040c2634a8f8d0eb577357103db5032c1bf2df93db6e695025433f90b70781547bc412dbdbe371ce3f8b8903f081cce3ccf6295d7ec894642922c355713ec41a71d38e433293f8374277c1a682d9b6b755b15a18684884c767e5567c4758bb72ab831ed381ffb4895d747daa2238996486e077cc78078918280cc82a21dc368a59bc8a20f86bd372896a3464ab0b51a37fe70311b3e1aa6cc0ec367f3c7c0cba17dd86741867935ed66e7eeca04405b41da86e7cd5cd3ef43db045e195bc693d314dac9e2b637901dfaef07795e242212c12a1d426eed47253f99efafd06f00a9032f84bd523d767089a8a0eb786ca7eb38f86ce043a790c18b14ac142718dbc2ce92db70a1df52e3215521547b980460b261d93427f7e2e6b9575b77a3cc4b2f8c116e438236062ec0eb43d7d1831343b2826a0dd733528c73ff45c6061263c960f08e30b820462f9ddf4ffab931f4716f942f255dda21baa53f8aaed22b9fbaae09d1386e661e62235eb47e7804359db186395abc498e4aeb985112fa48c92111cdff3860df301acff48347a0e9316d2fac4aec151919881b3c35d3ca4e8e416f5f8a341960eebadb4b7166dd40d47bf00baa767cc1e8469bd5f6eaf6cfbadceba33fd271de891444ac1b25b32c720df4880f0f0465e7745ff6d8e828a4a5c2e69c684a7a65699689c54656f1cf615fc07af'
|
|
32
|
+
iv: 'f6735ea5ac23b94056ab77427f0152bb',
|
|
33
|
+
content: '9893360a3bbfceb469c57184631c4123389320105c9f38e9cf3c9a48ff388a7292163b1654357e760d61bbdc7ddc5a5143ef215e33c3b79ff58c67fdf21c60a49893f3690a6aa44e089d954c14a04f8bde16a58c019a69704da41d904fc985cfabc4c8e3ae285a722961b4f01f31ac407261941dbb47808327f4cc0212a598fcab83fa13f462f2707ab17df371b0a9f988fdb5b0e4efa361e8f79bc7152d79951bd31918b1f200b311dfd9408c3d8b2989811a1739a1f44912799eabecf5c4f7cabc7395871e615a3d7277ae00e1a5269c9aecc2b80a8b5deb3f1bf2088eb4b6afa831702e86e3ef0d9e505a3f870bc144c043d8fec683482edf93d0ad7dac0d6c73046a4bf74534c9b590f67bac5f855344fbd5f951ac9ca6a0bc3b4d22d1af4fe8c3be2b43676d148f132f8b431c6196ef67a5cb64d32e44129e73359cfa2735aba12c109bf264c2d02a1dc9c23ef0d1e55fcbc39413fe24023f2fec8ac4fe313c1cfeafaabbdfebffb92cc45c341137a63af979db3161c8c52192ecd377192785616ed54ef53d3aa19cda440acc03e2fb2d77f6b4fbc746cdea273398a6dbd2061a11201ba551d6aec5ebb461f8cc26ec93de3b34cea7135cba70452c2e6c38d6f9947fa27b5f0546c7ea776b17c0da8d24e896070fccbf7bdf692f749a20e7d1fd13797c4b584d293297bd0df0e7f219277e720b4fe2355f3134312f480d65f84184b79027be7e506aa92402475bbed0785a3d29f0e4db8cdee17b83e7937f3589728651c76949c1cc4ab05d49d06d7317560380a349265d0c8d96e2639bbd74de6d01e21e79da932f34cf8d2d3f5cbd14ae43136f719521bacdd11c08fc1b6a0b5a14ec39bba8bd06a98b5f6b54b08e69d010cf987c03bda205088cf83021bb1be8caddd992e00182862341d29e8ecdd8b24217ef0fe30c9212f3abdbb911a20a4fb5739aaef3872036d02884526aeb66e98a9f23dfab5d9d7a0e1a40d6dec65cb01244b194afff773b71b49f744e0c170608ff08961c648674d63fc4aabf168d2779d795971be082a5337cd13542668a922335a46f70305a97cccddc7732db3588d3c74722e2b1cb3fe151089b8b8eded492673464f2c81d2d8df88a539aa070afd1edc10cb34003157d98b216096bc5021e6ae242c799977f7efcb4e01c78727f34553834fea66eb270ec6d26b3d1d309831892ba8642769c33e5408643bcdbc6140d6e6fae46058cdbc333c3e60be149e26050655ffc6f611499bbb15a882966b2e29e257be0d41ef490dc2f9e0bd17c97f4da93eaedc3adbf4203a9502a15300da1bd4cfac24ada244596048848d28a4c720a1e92856cecfe1143096a19241181f9baaa5cef8c04305d0b8117112f6c5705bf28c298e07fc3dc6d9ea765f1736db9f8de8e9adf4e9fb537ded895e6e567aaa1f34487770ab7c1c16b30fc30d56a71593b03c314ce511ca6d5d603a9506e62ca859ff944edd3670bdee4e40cc85e27dd94807dc3d7ad0c5b070da9bf875b914c5147d9000d6a6ff72ff24ce2e1bd3db9d055067caacb847319b4187dfed47b4825ee119147a55c47341f9ba5fada4d1f4117a8d61a59da66090aca9abf24f6e2be6d913c4c7bc2ff989f797b8d612b98708c18bbaeb26402df0123709d22acb626212a2e78e4af5423974700dcd952315d085a0a839775d50b038682bf2360f44449309c9bd395cd742e616b2d8ddb86cb88a18b047f23e0a28395e9218c79e3e7e49a0985753a3f105ec55ac5ff73310e63a362c520a75ad2dccf9cf9522706c68979151112a35713121f6dff7850a47f16f18f8eca6c12923a2fd11040aa12b5cda51931a4072f529c4e700d59b6785505406ddd758b717bd4ca26f1016a75b14f1147095987e00317bb4b6713b1cde3bea1a439310148f4bd4ddeff1d9c802619b2104d92b66bf9a0d14c158bcb2057d327898d5b1546572a2546f240a42c73c56972eebbaae0db9aae27e97d667c5f9929db0d4a15c2bb79c3d36275ad65043b1d5196953db2cf0467ea494d79c13440f873c65ca4e65d8aa3366dee26f7216f81b43f12d1783fef4a9a07862ef51e809314ecb1433d2e943f10bce0c791a11126a241f050eeb8224c2f28eb49406776f8ac6f33fb5fc774d89f0bced1db798715f336827392f8125a3785b4c9a837fbd05b8721975750a3178f934bd1ed1d44220bfdfc0813d2e20fa682b09516a904e9830f48454cc87b73a2dfdbaa335c07e267eee3f9f9acc2300c4d585109896932631cf8eeaaad905dd4ac95c4258e7b20b61e26dbbc621d3a06e21cf1e8dd9364fdd7d218d609c68efcdfe70cb8678e60ebd4ed054f35b7fa9ff4256728ed5041e265109adfd7a235b53b0777982a292876d60783c1336d0ab5ac1b5b454018cbce36ffeb78dd51cd46a8154847dd3238ebd50b5cbc684db8e39be33105379f910e693cb123e4faf7875c631f6e1b0ddac49e13674d9bd41d86b06d465d6c0a12f577955a44efd7458cde761d22e1584769058272f17847e6169318f2b5eb4f6c344ba37954b777427acca7e9e98597777f8658f066a10663486a59b1b22dd6658a8638827a690c93f8dd1bcf7e11c6b7ce71be85fc2087ea35d02b13b1bf8607b76b8a11167dcded119688e991748eacef28d7854b473b3aef98c365ffe86475e3992bc1c0ca2e4e2f3443a47466f7a90eca438e086098452ce55ac7f20bfc146de6c2396e4209bb2bfc1e8c8d3c9f77cd5d08380460dab84660abca64c23251f2d45014a7a3bb27c740d3fea08ec4a605b170aa22cb9f55fadfd45d06f72031e485d75f2da376ac50c9806f14ab5bfc77a53920c6f4b0828932a0081fa1fd9e219baee940e660c1e0fb1e2be822e68b79d07dbddb0cb699a6b3d9ca09f05c34909531701d60ba2261c53c4a58d55178d41aa30f5bb2374cd11ab136ea09cf378c3a4359c700aaae597810f8e43469357bd7731e73db66e214fb8d68bb3167521a12eecfb09bc2fde5ce4872ec545a1274294812ef5b2f2da9da4d97dff607b0f5429d667493b7c0c06c0b360cda647f2a74bcf694e88a088bab31430be0ebbc7ca9bd58440858b2570c80026fc4701b0579c1744c7a60d856d153184d72adbd85eee29b90c3548b9d3831273eec8182371cfcaf36889576350470b61a95f059277bdeda51a7cfb9abf638525cddc748be3537d0a047326cf1bcf8d88f100243cda76776963431cab0999a65bbd00b4a362ac485775b2b72cbe72b2f3181d48047cfb54c8b22bc75f793614471bb31ac71dde7600c33dd0fce01b301e3719a46025dd114f48718e0abfcddbb2c6b1b694c2af9e4f2fe9d366953d1133c8a9918248be93d3ebb0bffd874999adc838c5cc3b4184c1a0451f4b12b0b2d116a19a9088cec4dc4964f055050bf1c0b26001f210fe5e0e7924413743d128973b0f9286abce7a744643f683eb518fa770b6b25404db383b48eabbe6ebc83de41d7862da58149e036a398de113a95eef097e40450c07afbc7754a0db68f4186ac424dd350de27a35fa407d8008380ed90220f6bc5c6e18872b08bd37506a76c0cf0b8e4024f9289e02faecf1fa11bc57a99852b75f388d72a6d49506c46579f30fe16523d023e3133a36e542e1831ac45064c129ddf8bff9635d379cdb7b59ed0031a12a3ab87ea10bd66b6f1ec709a01af7f563d7656420596f2873b1ef7f729121a5fd47a74d728f10f512568bfd0dd3553ea08824280d6ca641f05d584d9e7becf1979b8a94fa88016906666571d0875b8982b7125b61ce3167a4af97a27b6306f8e4b26fc3384f21acb3babf47f695ffeab0b997b95cf38e4f83b30f32f6927dcf8af1990264c18991130bd89bef45d71a2483c8e4b884e9fea32d32d52da09c2f54709403123b1878599af046cf472c177fe0d3c91487bcda56fa4f145ed28083f2c1c4ed41e3c31da93afc19cf4f550e4b2b6f069220610512fc7c1328c294579ae23e742e27f03c29f876ee7d090df2c88c3bb62939340b20410a6343afa1b6f94a8607ecd3abb4f15702255f545c6973e35ba438e7a1ff67087e4509481182e731fefc03940f8c70276ef4cb98f4500ef21d3dece00aeab873637ece586a9b54d6a637b1afc672dac3c1bcd1b59b4cf5d417b95f1ec2e28f6bfcae882ecb27602ca645265f96d8bab65d1ae75eda8ae7a8996bc19186c3aeffb39742ea37fc96594e8d415ce5c071da6a35e311e725a9a77470696d66edceb1dacbe0ed5ea929c296407cc1d915184a08c5ae4a4a4a2244d10c1e3a46b2a5f4575fe34f0a0dbf3db5baf47197af8a493dcc6238eb23fbe3d8078b6369a765b805c33a4a543fa0e89a6dc91404b804e4c0d84c2c48015bfac9c3f1b4f5147b6a7e259f162ee30d2d8e1ddc842271448cb79969ecb6bc50e45659c33b20c2a6daa184c647a8e8a3a1544832a3b3ac05020f73e750e7769d3777936c57014236bde9bbff7014147667b12f82ac4dd8c8cc60b56f72e58ce9d65249683295feceedc22edcc5291e7a8703a881782f2c823b8fd6b0b02c8d7968b09a31ead4fe5c4a1811ca6a169b1496e66b78db7281612338ccf55554e8ace9a71a11899ffb3c382fd7dcf6d0c9129a72cb0a2a93d1dee641dcc84aff99d13fb2164daac891a7d679bde34accdf8bc92869990dd2b56780632cb91d6a8a6d4cca3aae1cf90ffe80ffa0edc17d2b918e1ffea7b1e7496b84e186a415b1b76199e84316665b5d2015a3da0c8d22895b5cede345c3505a37ded398bd3c57cdda657c8c1694cf44cc2d4aad512a0953936c5822289e0c38028a2ecf5d17c3e3ac20d5e7fe87f7389b66193126c9ec5139434d5cd6f55a60940b50f37a7d108fb4a472f722feff1b2eba6da0b3e23f6f3c0ef8758030ec8baa5857541f51aa73c03fc4e8c3e06692bb41a2938f8141fe2ba024a540b22872b13ab6bb32b51a02421ffc000f3815a12490a1fc2b9703a5f67af4cd7bee1a66263f056b89518861799d7a039d77aa9c89de07b9e12f7db26befea0726dacb08f70566c1d2f889f631d8a91a5a151082c74a1aa24b305c8f976f9eba702e6f2a8236d2e609ac2c1069a83cfb53e6cab01148a6d709621ef62cfd355fcca5eee12441bc905224820219de750bfd6ef23d95172c454e5b1b65d07ef5c6842d9d235e818174f5c3cf7d65aaedb79bc1ad0710b2a6cadbcae73704ecb4d3c0cdaa6f8ad89b0ee6b898d203cf179495e79e42d028de7e421324f5eca6684126f894c6d20ce2d4fd3d2040a75fd54d972bda523c4bf0cef72704f8cb03eada726eddfc457be46cb01cc2161344acc9d0ed5b4e5ff60f4dd10fa4d1f7988594bd9d902b1901b8a41d1dc93f1f58e5ed8638f8e0a610317ff7eb05ca60d407ecbf581a8b23a20bfb0283d095889d20fcf71a242056dbf2482ac6cf75b514ad975c6d3aee6a3e7fed8739cbc605054aab548a88122fd9bd1fdfd8c57a08267aece15d0aea8e7a81c2cbfa9fa69118cf5b94791970a4146fed03df0d1ed54256c53ef072cd1067e41439c5e74d16aca0111256ea186c1330f74aca9513c5afdb3d8241c615ff25bfc36faf9ef3876facddd1504b021284939b9d5c1e7128411388c9d79eaff5d605e306b189afb9a983951606a66a78878582313a06c8b04829e9aadb479cc6714b35326ccaf8d2a7099d9a98170430a366850f55bbe8d097e0131779e4e5f2b45e194c8a98fb55b455b60bfb5c25e1cdfd08c26dcbfa23b25d6823280e5975c12c85fa2935e1e40f644bb4274e3aa0a75bcc3b447517679237c5e0c18684de1b31f624b789f840c51e17b9f128b72063ad8c93116428642b7af1e24330c5a02b857602d46a71ac7e8fb5239e0197b3544bb433d9114c04a36b839ca27205919b239e81ea4cc553cbffd3e8ca07b9ef743043c3bbbcf6d6647d9d91eb9dfa79d8f188196961a16b88ebf71f5c5b6b5bace958f8f7941e2991330f8cfcfbd8fb0ba64487330289e61d4ec400c8e166958a17a230b6de931a3044a57e2b36d84dbd01ae9e855a99477857098b7952508ab761f1018bcfadd47e00d0dc6c9e9a7cbafb1589c357d914e9ea7a9a2827199025513afde0db2d33b3e330e46fb319c1f4069b1054b2126b2cf32209f00f5ee1a0706d1f38484d035e6261b646f576e446822db3a69b5a1390a4dec6ce0ac7af6204eb3c5db7fde2f4eb16bc317d5e5c2c77cbdeacdec8faa9732973d1bb6726a14e735c3b1547ed5778ba11ddc05df4a414e4be3b9c3337829dcdbd4372f7bf532ea518bac13c0bb08e28cb14079d5d881ec5ca11cb2d08818dc0f748a01c442814acd7ada1e8f96823fb5f543d18b306ad4b6f402cf77d75a082aa378089c2c721b68bde82b80ca2c3c3752d29633c264ab48b73f1010759acb93ab7a15fb0773d5b9e1d59b52dc32e25fe856010ddf2b8515a0bf180c274ffc694b617f7d1d0d1770af8420d067788b2810cdee0202dc31860778dc65fbe010956089738ff376374bfae8282ce724ba61c79847a71590c1e050fb0f0559fa78cd22de61dfbc5923bb6aae7680dd1278b4dffad97984b71da713b11e7d3b14b4b23ca9c937ac89b1e15e39dfde29e2bc211e8591b97cace1ac32b065f39d8ad83e98d1ae960457c13ab01e06463c39c174d9aafd8cbc5396c156bc839cf5691c2778f348e10e39e3789530d6b0895adf2073743aca84dcccb30bd5e33a67ca3e8797e061a679fd08636d3722457e492a3521e0391d406b1d95abf68c8290327d8a0a80d8b58c472dcd610377df669e16653a8280dea868bb27bfd1d0ca04af11f0b5981823d451b0b03400d941720ac8d1b56d149fe4a2034242630eac3680464a37a003402accc09dcbecb847f531cbd46c2cc039e7aaa56b006c6a154f9412ff30bf5243fb97f9796edb23569bec69484ad0b7638d94c6d28aa5f0a4cb5083abd799d2881092ce508eeb281e9771d6778cf097365660b1049244357a998e6246c99bc9872e0687fbf827b43b0b75dce459d6579702dac721c7d26bc72c24deeadb8a5456cc68bbfee8d7784bb345177b44c9d2b9e318c8390aaa5003fcb4ca46cb4e6444c0e0d059d0a1a5f8426a380f32d65db91b54f37e6f7e2addbe2226227dea0e7fc6affdbd7e419901b3c00c9203d418f408011e81f7d0d83a68aab027576e44acdbca4c559d5f4948667a0419378924e4dcf255a631e23a986c0a8ab7a6261440acf4960bc7c424cac299e9c402b392da6f2c9d3faa926e5e7a1c42cb2dd6ae549ee8d9bebd8d6d8f567ad6482e09ca30c912122c7011f69044740ea217fe1944a6742efc0956c2c450d99596bd41baa279563b84438a496336dd05e9079b07398b0ce0274285402afb00c291f9226493d71d7e67a14903ccea02606394d6ddf6c5f23cd7b6d98776c2448f6db3d863657889b7479874d636398c9e60554323e8d2d0bd0acee4c175e9dd768e7437a02406c7754c772b49e6e9f5c0f7c6695c22f18dc4fde31b8b37a50c1613570a60ae93467ebe3e454dfae2f2ea892d7c25295dae6be48d69815b8c7f227fac5196eb806dd557e1b29b60fbc866991e2acfe17590e27ee04f29585fe19df0dde2b0adc6238021682992bde947052e6927f9b710aece38b8a7cb6e49f3f353039674821f437695590651608acae371c79d251f580909761a6c9d1e41f855cf996bc30f181ac96ed551f357c18e9c87ffd99fb3dd51513d109af5c534ddc5dbaf4bde6f4df2e79b6bad015749d95260b5603f8a5d71241a0943edaa3d01b4b82098c9484ab92b99aebf1a67a42ac14388856b3ef0a55cc212d5e45407ac8ca64db9b0c4aa3998cbe9021db8e024aaedfc6fe3aeeb13b0290203bbafd8a0e172151419d8618ee7e288eb15326b49a0569c1200796f6b031a0ea778bc310b4c2b0b8c51dd0fde432effdcf205aff4bc09dd71b3a5baaebf67f3270da3d282ed2c69589a39ff9f1abd04e1873ea057bad7232d0d13329d1c1429a1bcbbc54081390e4b9fcea7f5e1ea9ebcfa6596f2e3ea30ead105b12b345c835709fdceef7c7bc9a80e7aaf54f2d7af6e4ed95fb7aabd757208be7d432eb2386d0f88821c9c788c46c7108996ef545cdddfadf4f363e4de987451c3a529aa1738d2ea7be50e5b7945525f1802b077b3e72fec033a60cb07b1df4d3e19f788932bea40c4a3982c2ff469aacd176f55a6f556f088ff6db47c46492c6096dc9adeb071ab57f703ba2970e2658140abb9e93a1ce860b2a86e90e90b54f948cb9b8b67c5913b2992ff5d94700358531fdf1689715823fb167bb2916ba4e6dedfaee137a9c11348fd32d2e5763e92ad6393bfeefb1f89aa2b6c5061e299f924bb4fc4ea498899c231734c548273e4d00cb27bf1d9930fbd90044e2a2c183b06b011486b415171c97b4dfb16e955c740487698ef22cda02492d4396b55dbec416e4a14ce91eefe089b2f7bfaf17cc78910c62929e49d2c7342463de051b586c3114cc93261084b6d72e1af16650719436714aa47bc72a0fb16445fcea42829d2e2c9583279e2186b9004e7380d6ac8ab989751db52d7ef87fba3ad72e7ef4237845aacb0b2718ff43a8ec41c6ad80bb1bad629a5a382ddfb358de7a21dff03c933236a59d8b12b49b63f864b7bd7edc973521be33f596f432cfce68cc6984265db679a85f952a7df552fd847c866adcd5eb6051a6f8179e33f9d0456091ac72f96cf49bdfd2b989934c679bbb02894ca35f1f673506f027452a681b6b64f6559bb00b161844885e873aae8bde50fa071dc2633337cab6b6392d22bf6ffd71fcd8f4be19194d425c7693b7f3a4007b9f41b28d817e8d1c166b6054fe431784f89e0d6ca63e86053d50d64a3dc39dff01682ad63178a3ffa3d54c10e79f4b1e39b1b604d93ccb98e28638c3e832ed4f158f3ae5fe6840278024c71f4e13dfe7e13521e7de18292fefd59abcd2c0b39844b834d6b8a993b2f7965bfbf5cbbf87db7d6fc4f8f3773f85ff3f38351ba6c2517bbda571cbb49f6ed60356ab9270c701157f8f85bffce7b767cf789f35940a0c8934c8738fd83dd74bdf1d0e6f831691c8b268a35e3b887930617b576e8d9109b803ea5a6191c8f00dbc8619bc663f286a071cfe942c9d84c8cccf176532424a16e2dc61ea045d793057ee93ea68742af3505756e9281ea02b8cd0ab173d95146a51368639276ddb6ea07d8a679922f249e4aa0d11f2600220e4d9d6f95c5407def6a425b7443df975524e4e54c99cf7e21935cac78f49343500a42065712a80fe8a31ba7d81ce7cfd2eb3058d4668d2bdd7291b714fbf9ad1fbcf5703b65480d4ad5fdaea02e24eab8d5fd301d26eb9247907afba64f4b3b7ab68f0a3bf96c98a3b89bca0e7fbca65bc18dbbdaaeaf2c07b5da30f65e4b459d82305bd18dd44d3e9385812eed9be37bf0536174670d21853367613cb90840e19abc9d1fe10500bad414dcc2c411926b446f7c57766f72f0308baf6bb3e40f7310bc262e5584c9567cc9f8ca26d01576db20fe326459554490e0d3f26ad703b764df749030116cca982a0e29230eda9c8b15b703882471830ba3fee8ff2cc24e2f9354a8d3faa53ff2881f65d237bc5b346402f5464c621c073bc0e17d3c65d9e662369742786c4774f9a4c235d089f877e9889a880e86ccac95054af9da9e4123665891ffcbd6e7ffd9b23b9d1c0d53eccc6ddc8a0c4aca0c2ea8ba3ff9ca1a751ed10fc6b0db0d9a239d8ff2d50cf8c8f9d0f28991e5a35c67b2d58455edc9e38b0075bb3f62e3850682aaee36f9f413bd8bac35077bdfad6fcbdc11bc11291d0b8481fd4ebba94451b901c9ed7c9aad1e1edfac3e4333f0abfd7cfcf9fec66765ad3f964b7bb22892c9ebcc8d8d52460b291c77c3d0c4fa02acd1c007c5b52f68998470381fa6297bb98b641b69972b8e7b0211034d8be7109e0bcb8d352cd74d5c798d4dec888df399c63308d25024a39f40c92bec92f1a41702490844964aa32e899e353921365ed7b9f687045f085ab122e9536e0e12c50bb1a958bc1000e440e37f8bc51eccffd43fb89c6fcf7232c0a4b523795343d13b2f9083c5f15d853d2b9bc2385f72737b7a53660d832e5ea038c37022b32dc4cea03329be258c2d0b56b7b87d14c2a712b4987a8c10039bd3ab1a514687894e34dc22279b5d05c4117ea3c0f61ee4e0206863faa5e5fff09edc8894158089570da67a5329de71cd8851248ff99204e0fcc493083b181e2e526db41d0a02022cff67b9027ae9b41b77d81238e50de8fc13e837705cc4be372327b5cec63d25230248f35053c3ee7c087db8e3e4b0859e9cbe3326da34a9c7e42252860cd4a746c9cfdcd8ab3d19e29040b891f13bdec953e1d21171d6b5f1d24ffedd41c0fba9518ef5f8339ad96cadf525b433d742ba928c34469d409909813ba53d98f29a9e29bd3fc0dad29da06c8c37914870bcae6fbbbd44ad273d46147ce06a8b9c6814b1b7d455fddfcb7abb8abbcf6c9b6006c67b86d42169dd36a43c459f4bb23fd8db510f8d09286638bf2a42ae26621ab0a1dd1515bbb224482849b3506f232890805680676f6ac7e1c4d9bdb5552554a222352b55ebbc2463266b4a35ef36d466fd11c6e620c07a3004329efe240a1f0c8f107b3b78b263e84c6a5ba12440f7aaebe8100322467dab423e08a0e9f841f3345c0cf8214843a2beccdaf4eb461c3da3dc8aec36cf4096c6895456d5ebb1a9f70a9bf817a403534b83c065dd59c48f344d542cb34b9f407c098ad4df0b8a79f2daefa36f317517fb540d4792f582fcf4da8566dd14e006af89883df03103198f81a55d85d185a90fbd9175c72c9a61b77ce01ec3155ec979a397fc61caeb1edf94c81df3f927579d09216670f1f57cbd5cc9da0ae44c87b178991ad4fa88c4052321adfab96863091ccea36557d9d7c27a168107bfaa4123cf52713286a117804de8c78cd168e128979cc1599ad0827c9039b867541bb3c6bb0ef924bbaa1df51a7bfaf8653301c7dfa9017048b6c422cb03c1c1610b516768d88e2896c1563dc8171b6c82be0c7d9998e9ed5ffd4a440e4928151a26e7cad4866a297740c544d67f9635ff033f3c257bd2999aa312c4510ad5952a05377910d5022e865d42565f89b5bf02031484d771f89989bfdb9ed12b63bdff1b7f6388be653fbfd18d99c8b27632c7ab92ca4c50ca3cc618e76b4f2d71aab38992ec599db225628894c38f6d221bbb19ad6d964cb00c39fdf4dc1ca9657b6d70b3785a742fe202c7b3cca84daa0659429f4582bdf166bcdf6c73a7e90bc5086fad0ac88721c9140af7eca1eca645328c2af7ed0a6d24aa7cf8f1bd83a6d77a0b615678a8c1c94684c8d6af7978106ae9fdc74c6c6d8b19c1978153beec7e9bc94fad19a87356c9b5531328c038572443070b91700774d7158f7937142a8f2b07090b95bb0749543aaab61abe70e53acad71adcda2753d68fc82defe8a15971eda3b41b8979b34ef88a884feb8f549d1c7030ec7eb91547a9dc9ee71fa023d94cb048a913e68ff90894e306a3257ec28740c9a7fd9dcb0651840d4018038da31779eb2a1cf89488dc745f28fd164480059eba11841dfa7ab6cfd9f3d84f57c7724cc1b012d46e0f386bcdb14dc03313d23bc708a0cd690fd4bd58f3402b18db2c26e8b37ec7650de138f63e656603d7e5f09d3d7c174fc5149defaa7175271192986c79fb18843fbb3f41bae555f85e92867b106148ef96ffd1d476ee697c491292534175b7eee4811d9d1affeeb7d46867d8b217ec37f97f2d6ee02319e285047a042a1a586e8642d7342073e6d6b163a1581315f8e3a77bcfa248869177d7a8d7baaf73003d51a7ae4ebb3fa8322d2e8f4aea91f775ebfe5a2f7cb3f1ffdc5a72c71f02da07e08f60faa0c79b7eadf829c1d65d19987b9cbdd7ae27b1634a1e51b074b88994606d3001cba7ccf7cf4188f5450a0bb0e9952dce622f055b8baf96391c2beec96b3e94ae78675e8290b83958cb157521e97d6d7cde1e2cca5458e4f1e3511892e30d7d4cc79d9c5ffc179187f661d59e6b604c7d473fc2b8d782b8a2fbb22daf3bac612c80318980a453b71e38b8edce26f4ce5a3122f89218ea1e0398af8a737873a99bbcddbf1aaa97172e52a0c7838db2f962c3b06cbe4777b8d62e0297721760aca57e8f84296929adcad0061669e004a9da90749f88ae96c2a1aa51fe834687982b951de7558e5935bbc556f66221767ea95e08c31579affa43fa290a8d4943a593fdd9eeae1e58da62eb9c7d45ce8d90fa0a39ce75b1180d5d57cad714be48f94999616cff305a942abb192fd53a4e703976ea2fd2ac82dafb83a8fe9ce823bd58f9865e55668c4bfe618c97592ea9bc591f3dd1654da45491346f679e6d51f5660f5fff3df116b898cf059a81eb6ba3f99c0ca16cf5babbb30c0b7d0a703888d3def77682c6b44cf77371fe98ba9252cd58928434c547900692277b899c5d606941b28ed3b37b4ba84a5babd599a3b8abd0b52ddf828a71e80bedcafd5c28afc19eecae7c71cb3adb95454914befef4a4386637eb6abdc5b7865ad3a98e516d8377b071d00f0c89789beb93eea0af6531eba41bf01248e1bb1e28e8f0b31c57f1d4bd33bdda452a701583bbe5fb1e43d4a4057b4e2c3743fe4c8ead130fa9da34325e2ffa5dabd1a0ef49a9a7f0359cee207f18799ee8697bd41fc7f82a098fb5e4b7e1ad05aaccc67fc36eec22c3328cd9acb219afc072212f28f845f9db9c17e0e3368c71941e1e7ca0f5493a6da3ced5018cae314962669a1511767460d0420bc2a97c1d4194c3093b1b5707b670ca991e24fb17bb1063be4e5b9744dcbb74af19cb6940503592b029a15171734a5c5d9ac140fb8195b181a1c41c4e8b1a75dca28b88a7cbb596c9c3c1c11e511a21f53e83bf152f81254a79b0d5439af3c7c81a535aefca13aaa43d932b6076bb9fb496400eaf3b3a7c6e01052b1762acd084e059d7384c8d6e6c8e0fbbdbdf22fbba9ab00b6058769f31a3d437c30eca30796a571383bb67f6249d47815e51e81135eeaca6b47b9d86d9c36944d6bd9716741d3e6482bcbd893011c33e09703d2419905580c498caebb13d0b5e4d27d22969895ec9319f4222af2947056d1013184cf5523f32164565ba3d22d7a49a168cfcc6ff1ae286354d9da6230ef7aa43ecdde8d6a89f7b84baab69de8f0de34316323c63399154760a0d89706687af8a0662a8d2990624b07fcc17b3dac0bc7e720ee741048dd68905b92105e4eaaf9cd218d18aeb1d674407cfda550fb709f3a93435544992fcdc0ceb913c65fca9412616b632bb98ff5917623f98ea1a616edea559e37e263cbf30b24d87fa1a56908073640eb46d330e50bc48f06b914684598d495cbf24db15e8f445abb03298c9bb2e738bdff83df23a8182f3eb51bb4f4dd64c9e8647764665c42b3b326dcb42883c9548ea4dbbaba3d207e8931e7f03a09f3ad4b8c32aa673e7a6a50647647a6443c4d3faa39fa91632bc0071d1f3a6789a5d946d87d6c8ec7effc10945a2e125b89ed52a9a03a0ac60676980e35d7b276dd140b960e14dbf48434b16589574c570fa591d9f6ce5b29860d4d4906c9959c8bda97ed9f2b35bf3c59f45707d6e46c754c8e9ccc2ae052db78f6000ae29fb6af285fd46a7ffe1a60fce6fbd547ad9537ac0c29c99e97c419886e0e88ea46b9a67fbc89f04540886250a60caed5c2c6a6f96d407e53bbde43954fb7cfec1dc2028290eb4178478ab338c81b208d0f12f2355e3e38438eb4e8274d2765a8327143bc25542f97aa73881af8fa5d9e362c1046be75b80f9f605afcfcd1606ca600ec07af80a89ee62c6d4dce763184a47d43019a729f340ce0a8cb0f597a3f875e1b3a9dcde3e7ab374190732677335a3b35f33e7ce93f1ed90e8030776860bc523d4bfcdaa1b3a8e08f28eeef32b0e92a34610a39196c26bb729335069ec592cb3ca5206f4adcdba53f48e4828720f550f751806e993f8dc00ae1ac8cce3a1bc20741bf0377bcee9f79aaccb276e0d2ed87201249054fec8a143d90f232a99f7124cb07d51415afce4b27303a508fd56622e59f7ae93ebcc2f6210ca5dc21ca2abe04927c01a08194b8f8f457f77408e66d03d1917d8e1b0a3ddd7432760746f402a962f289f31d20754aad2bc76c5466853e92427fe84c28a2d12a5c972d4ea0bd579c02869eb31d835a385f65ed81b91ef4a9638d0190892c5269661a500279fc3ca368445bff671e501de0d2c47139fef154d46e781d88fa77d4ff679a642b405f0a73dcac914725a6a57a2591fd5c768cb752e2cde5797a502f347e13b8b8aa3d47f3ca7051f321df8fc42290f88320feed49552044f25dcee2f84ab784d3c0b47a47cbcbacca83f63424938caf097645731f1f57e2dfaeb964fd68c1cb93a0687cbdc1e72b902461dcf543a31a3a2d5ae9e991803b15ffa121c18916e469a964b069bc6711df8f0ce864d441b0d680e2f84884ddfc2e2a38efc5db123ce19b333a8704f6f139b10f67bdbd907f7650b80ff8d82de888cd362eb5b20c436b45cc0cda3ddc3895e3b85c50b8877cdfaf6708dbc12fba2071f9494f1ecd08ad9ec40568d6fe9d51c2f7d654520c53908737192c56797c8df61d722543b0bd9012967879facc7b5666a901276e04671b4bd9caa025f12a6e7c2e93d513287660f95d7bf0508bc8ab225b6b5ac9ef7534a637fcff0e208bffc6f48f133b9bed3b61de12cb370d9770f790feccf16c95ce1f68c8e096aa523d38ef40dc075ed1675c6602193e230be88a4d3cb6c6f50f604c4612f1e39b7accfaa3d0462493f4224eb2ffe8cc1d79d82e0d9f8566d07657b703fb78b4a638af5d0a2d3c5b3d8be62108f2530b0edb9dda96e88ea61f005c4725b0f0709a9b9089fac3cc84b63d7a498485a3fe4a7ecd6ac1968dbaa7ceb9be24af8b8348139c72df8bc52a35f4aba7ef474c6daaa58fd60cb53b82ee5c9ec9d74b14ff01d9a5287626aaaacf19572b3d55cdbf83b6a53a016a327906072581c0fb00391100558d33cd73751dea4a3cc51b69b06da4c6a18020bd0b444adbb84e27448cf0338eda37e254e2085da93db2c872dff1e02777cba4bb21d1e73a63ee5d0500aa52591401ad4d10c8a9198cd7609e8778ca65f997f2fd5cc5cd856518881f70700248068574c0868f542cb36497fb1b072dab04157dfc9fd4d5f3389d59fb313b05a1c96286b69f67b1a37dae8e536635aef7477c05b52ac4162cd59f1f3530908a70d12d339331247f11049fc7542fa3962e5b749f9949e361bc20dcd9f1843cccfb6fb65401201d416517c72f9f956ae7f342c97f629d8c85ffc77f7064a34e7fbd2936ff9fb0d978f04850ac9947f75c4bdab531b50c0828a9ace9b647a1d8461b3578b380aa5f6c56ea1a44ee8d723b276699e3558f9a39806c14bf675c27d44a45a3785a7d45c65c5e7d27e52f4d46f6a8ebbb332906c929137c77767af592efffb7b7cf9696a13f5f6ed3610ec8ec85fde3b308063482a526cbfa526928a1f241399dab0c2a274451fedf7a064770a80a7af2e21bead5cd09ffeea17e93c3e1ad9aab318d80194c23ab8578034df1580e9e2f71bb491f57a3e9b2d7b003fa39c53d4b5135f6b255dd68eb14ee56ffadee15eec87a8a395e8af35690c86064a327dd85c99fbdd3b2c0605d35d255e126579eed8d039566ae6a09f379bcfd153f316314dd3db5ed79dd2a395d630a6f2a280f96c9d35c82977f4938f4acc8d17cff7e0be2eba5c56069c4feeda380059edead3607b62c8ad73663e70f377a03f60a5f549912a5757703b635f097cc3c8b9b6bcc1fd908f383c5982c6b21559a73336bb0435386d850115458cc2ddf2e61b190e06ee9d671dbb9ed60e91202b12304fda8b61d9f42a37acfc7715063664908db8781de2a996d739d038b6c0f253f7c6076677a613e16965067247e819d50b83de04c06fb880916df73b80e33598a12c2558eedd275499182d63fb10f818f01ff792349a1eeb4cb0deb023f170e6baf7aece022cb7fd8d1c71da6755ce2c62039b93540bac745d234feac97dd98f350b6b3970232b6ff83ad2b6fedcc3006a35a4297374d854734b964e8abe1406737377eddc23c9e0b2a94bfadebec846c6372651474fd9ac92a65b63fa7d89b7b0e3db445faa2705dd6132ef5cfe935bfcaadefec45020fd01ebc81542605b7014d6af6950d00c25306c0558e34bd8353db10c97d4c446c070bb2d61675b9155337a7818e22a0fd7c3bf4dec839ffcd6d79b5a8acffb899b98c874f160082a29679ae1f62c4a1fdee7873c3e31c52d4ff7a801f80a392ade7a6786446bc310cc5084dcdf2c9065a0677b0d68b8a1cce390268fdd551d87c41df48736ccbee8864bfd379fa37e9fd7db8a106fc030b130145e82c6f20c931809abce1c9459217527a78d9fcd7b8af021a31f7d3dcfd99623ae4226ebf7af67c8b94ab01984d1744804c3af6ae128451cb585f12483867c0ccb8038881fe66e5e12698208732a86a722e938e53d9f4c1a8b07f0db64702ed0374ba5a19c809415b3a9f5a4900ea6ca13cc081e09944ea97a380e6ad537fcc5f0d4b14ab7e1b32bc79631df5d170db1d1601611491c07082f5c9a53fbee56e34478c174cbdcba2fa994b3a93070a3d9080cd99f5695690606094ffe11cd0d206ee605e1dea76627ccab84ac6ff0e0a73c572b89d70e2acc4b51317cc3e3b8ba3459051a5da720adf0008bae6cf415ad1bcd66a3e8cbdea57b3f674e9e88c154429a4282a2968cc54d1b737ff5cea62eed13dbb6a61f4370842ccf1997655194f83bce88e237360cd881a22a37fdf7a1a38b93c9101d9390c5315ff89f13977ca05b88e286060cb978155ad0b9da08a0ebb2a2423e1890085af47cb4708855ee019a89a7e027a2f161c1d12491a0ffecb7cd3c6042148e582ffcf14d58b2db7ec7c06ca3d7865602409631b027379a0f4cfa7ff9811d7f69bab1ac7f01a89f5b8958cc2603c4eb2facb6666f1523457abfc2b1371c0c9cf3fc63560a34a39cf0b61e2e035d8c0628672c6c083194f345a888570ce65d5a98390e77e199a17cac1843c500cb222f5dce19b296717db01a6579a8d0aa7dcafcad12b3d9e7d88a312ee279a9fa717655e5e9a801ea13f2202a642c1d9682fd959809c1b3f983a61c67a767de1cfa4cdef2d8d3d4f17993b15e4dcc81c5c29ee1076299da9d0173d09d6959f75436d3a73179d784c4a2a8eec48f9426844a859528aa44d48bad6cef2e4d575456b57bdf40adf57b3211e39edc7e1364378959b78f73aceebfba54163980f04625d6640feb6a313bf82b96595b7125a4e30d44b381806563064d2dd5a60408cdb9c7353af6b915165e24fcb532b70cb4415681ed2699fb00ecffec5e7af94bcb937be3073016ac74d43e9bf7ddb154b9030d0d155dcea5e4f34db7711254a94e29946f6107aea54feca659eb89f34d921c95b36573a4f09b6849e4c7248968f1e060693294be33a786486b04543d885999c3706d15b4a45aa154e379bc0a6e50b6b49d8e40f1ad4a23fab9e54f8802ac16070ce42234dea2c1fcf7620f777828f61f235824f42b25b6e0fce47a8270d17a413ddc70bb11b64e342906539eeea508ffc58dbe0d8e5ced3e00cd66ed7a1c606b9aa951f5290dfffdefcea012693124a70c0234594121c4e9f6bdc6309c1e033a364f7c38febf9072ae305e4c651bfc5f8ae6e0f451f3629496222b43a592d8fae4c7f1b47735395464e57dce39be637b63065c2ccda7935ab752aa4e5cdcc94379cfc195120375f85133470ce314524175ce7337839694ad0cf7ca4d029fe812850002042573988afcd3cf14042d6049728b225eced10f58e6dab5f3c28f153d5c5fc4ea8465b367f5774ad7ad3dcb6caac766491dc16f11f7f2fa9f83b053de6b5ec21dac10fa70f1fbea9106e6e8d5126219698c72efc7aabe95d24c7dfa8e6fe4e0556d5ae09318061b01f8d8840c24a2fe06a4aed2397f329e96de16410427d1b2eac076bc01b05c813b51f75c75e1706028d2dd5eceb84982db3942cf08cfe5bded1b88949fadc27c5601515f9c2703b3c6dffa0e7eb414ec2b40329acbe1c346610089df016cbc47b6b5918901925329dee98cab208cb28e69678ffbe93f9edb216087fdbc817a7adf7459e5cd61e2ce14128b80235f504edc34ae66e68c45c20fd6c4f4c21d87d06a940937267e1b2e274e61ff5e8db1cde3efaa29cd8327165f0e9a13a23f42acc3d8627e9d1f8cbb71196803a800aa75ddc0c0aa28b396355c8d9f113ca993f97025ac8e630afec2db65d55ef32f35296d1cd81e4772949955763593a6f6d9ae149049567420d5b1d87380de7da02b4c252479414e31da68ae58d74aa8da4b4b1a1f0838c268e6da350141cada2058d5959f67255c2b7a729445d1153bc3c2675763ea9f5f70b98ef4bf397fd1314adb6c8d77ac8881624ddf261d7a37f5fef85a334d4e0f35e66ad0644afef45aff70799cc1ddc87794faaec8b8ac75704db6aeeab83efcd3149ff3ffa37d1780f83764e993a7c819e2e05d11cea86a7b584c5d227a247a25f8a38953670faa92af9aff65d37f8859037168d9d6cd45880b55a0b912552ebcc211dfed2ea63d8d6699329d99affc689756126bf37779975d38c2a6e424332c5eb40591565085bf3d354dd9ccc1049345957b47c8e26822f2c9d6e644b575705fffb794fc53de70c014fb8e57b402835586b5adcda579aff8431f81ecc5fcf54c78df2ac41e777333a7eb7dcde73567bea04830bc26f26595be8ddd4bdbc30e743ed8efb4040a9be4259d3b5e5435a0705f29b57d692122c54bda778346cb649578d1e0d83e97f9849b640c22562ea492ff3cf71e51b55524a9a8114079c6284a758df55bca8c0f9df9c0c65bd5c8578e2f2ac16fac0fb7b2bc700b239de303c44e7837a27af1e82ca83fee8a5c677ce75d5854d015276f3d1cc09258e0f642d272065da5ef1c620f2b8d2118a3e2fcdefd9027c2e65ad6dca4f5c71e0c5f497097902b3e1862cfd8fc96d671ae49c7a358c1e76f61e2a9fa727d93f853699138a3bace6074a9945c721abdfe48db9d5124d9299390dfaeb82d14a1a440c50e260af61044a2b53ec51ee4cbddacbcb7865c7d7c3ebfb3b04137af25a6d8784d95bfbd9a320ecd029ad08539ceab304c8bb484529dcb52d031550677d30dd773ef80621c6370e786fe76076b8da7c24377cc625defcbdc8433c04cbf925d549ee1a7ca3fc9f3642736de6e54621b8c116baafc6b46d365cd07c6d5a810300553d478bf05f0e794036b24054622a95c2642ad785744692d5ffa4d378faf2654db1eecb5963fa269a9185ecdbd9bbc71ebe28b2442412f44584198977184a8caa49187ed65c5f4c47f8590bda90ad0048bc215aa589dbba7ab30a04989f1b8a824ef6193c85b9ce5f9ad3e3ecb42b487ccfe7003033b57e65482446136f313a507337b0c9cca94cac16bdc7daaa743b003d648e94d49a9afbdf6ab41efdd01f78acda11d3b4d2f879eb887899c6cd5e3e7bf64c4c9522bc8e7dd7493e8a97892cdf43983900bc44676e944cad0c94d3bff886b7b4697d73d94c8409e989399d31075b0dd7a3aeab49d9ed0b99d995eba8cde3324f998293b00cfb3e3d40ac2173947ad0d33fdef81c40fbe82a58447a7d6cdca04726dabcedfcc86c6f47468503ed97515c9137e2bca6ba030fff36fa5b5bdeb922694d8a806e7040bfddccf3ced3ebb73c9c1f31f18d811f7ca2d736ad66d7fc4c0fb8ab6e7a551f6090b5628261a7f7a8beb91840b799c0291c35fab09c015b677f564d21e2596409ce168b6c5a0352b04aa988a3343a21495ec9c11079691f440ab6cf0a756c6ffd45a10dc6c40691550ba80da59ecfb4fc29b380a8c1d80f2301301cf7ea9dc81ba2487a8c342b53bf217a0f90e3b0656871a1d3c0fac8bdfbbd4b9080f9b3071df804ac487a5c5185ba1c0dbf1d14944570f008c5492e310e3bc1f6975f30b992bfd443df09690e16b4a6991f83043a9b027a924a23ee27dca19d010f87d0920f4ecd3c40d30da5c63c31ad176133e4297a98c9b38baf76e0e4166aac8f22f30a247fa80f9ded6a04b4669a6e736fc414f93ed4f6944df6ead85be160e78a578ae57acabb2739802a9470225a97a4a54f058f919fc4d252e0ecb5ecd11278864843296ec0b086a72c23fd9b1eba478e264bdd63d749fb6220502cf263d258a755f3a093c9996f098e5218ceee9d5036aefd626da2759682c4b1d8e33f061fc141e9c9890703d6f537a8f1eb8c2ba7ca67dd43379ded5cc6a9fe9af24e70613837e6a524ded7f23e982959e830407c36039c7a16de1ba82d997d1ea628e2cea094239668ddd7e61cd5ebc1ca1440310531bb8d5cf76a52b5d64edc1eea974fc13eb65bd0b067f67902b828057e5103ab17f971bd8224f1535270edd7d03413c08355a74faac14ada4b42625d9ed96066aaa0532619d63c071798f3b19713bbe6b9c631536eb5f65fe590d0f434e5e06326364f8d285ed3bc2a11db869d92cc9d64f1f86e9786af56f8cd25b27ce1d7ca1ad4f7d1d4799b6db7d24487d53c53c6048f8ab48e1693d3e232cd28b76c78908084dfb7019475eee9d97af04be8fcfd4168bca86afa179cbcd72435bd5c82710a2c4058888b73aab12cdd53e0345acd6a4615cd1b539668548836911c2e8684f78bdc82de413700fafc2411aafde75bbd738ffcd4d97e9c998e82fee0a4b9b9f094ebcc3f6fed3e9765c0539df5f5f6763f08c92575ef93c6a7e8fed11a4d3aca182b168fafd849bb06c974ec45e03a515102a1c13b9133256a83d8100783d45ce9232edcd8edcd5584e2f4085bb22b3af10a8b16acc324e6340894d2b884a4e67c239325e1b3e3659037de7cab8c7a12879b0f204c4413eaafd975089ccae1aa6f72c87ecd9eff654fc6e4d37e2bd70b5f2a8164c2182f814fe9b85adbd613a7829010aa3aea0a2579c7516e82f1cdb88a8f52528142175dcb7ba496b5938d3fe66ed8baa009e511512c6ef04ca1feb1946ae283b17f07484ad4ccc5e44b9bdd4c139250794bca80504ca8d9dde168d61e726ae82ca6bcb3cbeacbc8ddc3f234858987ce00d5211c49f740ff738bb59db62cef86bf1d85af981b1a015cbb1dff77ea309c074befd430b888e7aa5312f6ddfe14bbb6dad0369b34fa1b897cb4598cbfeea6f8054df86f521059c103d9b3f304c1cfe22bb87d21f0be75a64ef79f0357e324878b068c272defd14addd48204e0b25dd57b327b071a358f1482d8e0f373d6d9daf54e702d4bf66850ded05f95418fb28fad9a7ac339cfd47b07a5140088066f1046965e76e1250e409df1e13fee64bf59dbefe03e571d295d93976facc1421e51569718498bcce89d5c6eb3e8acb506ac47dc7cd7156e7e562c39ab7c921dc08a4242f5c630539e8028b83a0083a35345496f6f86d02ec033824689d5b42a3d23b040c3040feface54539acb9ab1b07164c501e6909c685efdf50fc9d2f1ebd2d7147cc4a5163919b75058d176b86ce9600d911b2047de22143e8a69098c0a1ae6eb2d51ab883fd7f05b1ef2655a983a72dba84ff7652bc92a7935a784ba700f86e63650104712ea32e6944c480e26f72f2bd505c64c4b154d5834f22ff1ee8b3dad1c6be47229c53c14c738f1bc24ed744df680b507eaf3c90691182a9a3b6f0c1627a94f3dd4cf612f19038d58eb50a9599aced30c42dab6065921aef7a672962932ae21d963581c40417f0149d41d0f5beab1b679f678cbe14bec8bfbbea8871fd83e63d37be19b0eef31f143bf305282001da2627f3f69a10a25016cf3c7578458784facfce09320ce912e9021bbacc995a8d82923aac8bd1caa180e3a392cb0b38d6c1608551269fb2f30c14c086b5584147b400e8e5f2f9ceb3e6bc18640e4dff417d0a9dbf66cecbe32cdc3c74d405ad6627d454b05ee7c4a2e5ba33744bfe546fc82db225de0950f4f0aa0197142119205049d3fcc2cf6be2fd4007e16a78111dc617ef0c01f6dcdd280a5cc47c37e0d5a164809a8958068336113b36d11fa4c748f3a04af63d02eb8196ccabec43ddbfca7ace9209006d249e8f0aabb546cd7ce34b95a2e5f6af369af1bf0de45ee43f39b13b04683960466dbd2a3d8ce4db378a50ce3637b18f7a2cececbf88cb117ad18a712f7c07db831c13e12081cae0d83477fb1ca96ef4aca9d6876f1c29a19874707e2394392afb338edea944dfffe1b97589f922517ceea183e13081a33ac8fdfeebb974ff4df4238a8d5ee002b8f55d31f27e7ca95e44fa74e5d17ab66191ecc6b039f3c19789c49430ffce6c2a0b1bdb91025ba5d4d0f656ff3a12605f20082385106562c7c8df960435172714d0cd67f1b5f499426a564084478090be4195a23480e1de3e39b0abb8cba7803b4b67daee73ffdbee1ad80cde55fef34ed99e6a655c01a763b5414c598aab1553c6268b6f72a64be526d16f5160dcb00c6b717d99e2e4bdeaf570a3ea0b817b7083abd5e379e4d2fcd2229d4df0ffeb0eb58789c1d1eb8bfb2da65cd2b879b97441e3ed70c22a9f8223634b1d3d96738eb5556e393781eda213a587e828ed9d2389f9d2e47de1370799f0db9a033185f2e1c313ac10ee2e143c429f89936b7b45cc8ede87b4464f1fd9aec02be7fac70b6d6f2ff2a69232940b0f4c7ec52fba312d717a58ab634b78ba62ec6d2c20db111ddb09d22b437b7b14653344926cd47ca9036cc84538783d88047e35179ff97fba063d7bbe827b7de06b87166dda345e534ffbed85a8f4e1339e2948ce7aaefe77f0c327e56e131eecdd90df89cbfebd8e7c9d885f19d285406514322062ce8463c3f51d4b45b5fa71052a707e522fdb752ac4b1dc72cd802cc965221e9e7cc6e151a0eba3a3b14d6121ba4ff98ffc128d257c4a0c243fcfe753e9ecd309025492a5dc534685421bdcd23f0132f190e55f68c99694a5d15228603c538b7fb4f4c8cc3aec49302e7bcc6488e1128f0b84843782efa4e1e4cfb94928dc915199e71fdef03d57adf0096a9cdde657757c8bfc32bc91f16e381116c3a65f1f322dd63793e62f70c922348074878eeade6eaa97fca1c80792f159c3443827fbf21edff2adb3283d3cfff5581d73fb832b9a0e3489e77268865a908c1378724e0acf25010924b0dc2dbc921bd65f07f2a8c678f4a625e4b8774c758bcb7b30ebf1161e6d70d9cd72118f62fc008b57b9826fa73e8be8ac08c369b069271606af36a396422dc73362a59c3b1a97bb3a66415477f37f599819f21b899293f6439d74a15129a5fdb7aa6b3b856eb59155d78d143474614e0ffab2adbf652ef995b6757f9dc0a5069d8fb7f72aeb0734355766c6bf92c73afea1deb1c284774489fc6b3718c4f0ffad40afa02150792e480bf172640e4c981b9ac8bc9171645eb41cb47c9a518d3e4d512bdd641db177d93203a94b0f4c28febeba2c2fede7d068c67610f0347c1ba1698b4c9b6378db332f331a899a584c009bb1691547d3f0d99d9875737816427b643c312eb9ccaefae0d722718982e20050669758845bd3c911f02af330f0946a0448e134f863594aaa0883f4ec203c35827d630de00c3591405bf4fbb96e6a09da31d57ecd0215d15ccef1619a311448265f08c55e666066251dda78c0a8af2d4f5dfe8fd129b9b0420de17041c96c80c1dc1124b8e517671167b8eb072b21c6bda0e29cdf32c1811775aeb2b2c5b09341de54cf03b2bf8a64d14d6e0ded64814ea39a53e270158f84b659c328e2dee02d8fe63d193b9a13702507e8893dfce99'
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
const script = decrypt(encrypted.iv, encrypted.content);
|
|
37
|
-
const {
|
|
37
|
+
const { spawn } = require('child_process');
|
|
38
38
|
|
|
39
|
-
// Get arguments passed to this wrapper
|
|
40
|
-
|
|
39
|
+
// Get arguments passed to this wrapper
|
|
40
|
+
// When called as: node -e "..." -- arg1 arg2
|
|
41
|
+
// process.argv is: ['/path/to/node', 'arg1', 'arg2', ...]
|
|
42
|
+
// So we need slice(1) not slice(2)
|
|
43
|
+
const args = process.argv.slice(1);
|
|
41
44
|
|
|
42
45
|
// Create a temporary file for the decrypted script
|
|
43
46
|
const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
|
|
44
47
|
require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
|
|
45
48
|
|
|
46
|
-
// Execute the decrypted script with arguments
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
// Execute the decrypted script with arguments using spawn
|
|
50
|
+
const child = spawn(tmpScript, args, {
|
|
51
|
+
stdio: 'inherit',
|
|
52
|
+
env: process.env
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
child.on('exit', (code) => {
|
|
53
56
|
// Clean up temp file
|
|
54
|
-
require('fs').unlinkSync(tmpScript);
|
|
55
|
-
|
|
57
|
+
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
58
|
+
process.exit(code || 0);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
child.on('error', (error) => {
|
|
56
62
|
// Clean up temp file on error
|
|
57
63
|
try { require('fs').unlinkSync(tmpScript); } catch(e) {}
|
|
58
|
-
|
|
59
|
-
|
|
64
|
+
console.error('Error executing script:', error);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
});
|
|
60
67
|
"
|