<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>参星阁</title>
  
  <subtitle>南方嘉木的博客</subtitle>
  <link href="https://blog.cancin.cn/atom.xml" rel="self"/>
  
  <link href="https://blog.cancin.cn/"/>
  <updated>2026-05-08T05:39:35.066Z</updated>
  <id>https://blog.cancin.cn/</id>
  
  <author>
    <name>南方嘉木</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>2026年5月记事</title>
    <link href="https://blog.cancin.cn/post/b1569420.html"/>
    <id>https://blog.cancin.cn/post/b1569420.html</id>
    <published>2026-05-01T15:12:12.000Z</published>
    <updated>2026-05-08T05:39:35.066Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="8a0a9bd3a5047f4455f38e45ed9b6c770028b2edfb6520cedef63c2bf46daec5">c126282413362aea270dae30806c0c62ba8058b1ae2fdb1b43c5318fc70faffbd76ea45fbb3577ed44862280652cda78256a41af3d80843700ce9378083c66cc533fef2113b5dca2250b836f89dd0600a0d5cbb18c9a23aa81c41f80e6bd55bdcb0af4e5d425d6892a66f22cce0c2338b752bc309804d7d9fc13fc7f24bac4f70efd7b19f3c1e75d30128ba1e1c4095803ba08ba3af4d7e63f2869c52aeb68bd22f2edea032768ff84435b875ffa86223c421bccbcee908ec9f41ba5ac2a3dde5adbdda952d4f35284ca4d0c4188315eb7d157903e34eaff99ff1f74ee693369e341dba1583c647c7d43a987867cdf655bd97d825bc674fdb07db86357fa29cc0ba5c4b650a3f57dd97e956a431da14fc00546a3feb8ded9cc9c234f6b4845a4f074528e9e8eb21e75739a944b01abca1b6bee356cfd8c552bc6e4bd08b04bd8087be6111802e3451db08c56b8b8c37cf5c1be1f17360ab13697cda8813150bf34790288ff873a1ee2d6315fb9417f3d06c406e08ffd8797d3f88471c28f7586c4a8435d00c90788964a0d8f297cbda9466c17ad46fcf475d574efd287c183264864cf4c29f7021f7bc3944ed4fd2fb306a1e468ad1ed3460c320e974583ba5e1d8ed3baae57011be3c5491931ede2a3d8649ad12a02b79589a8d67b7739df3a03c609f25e8a82d30a194266cb3f69ac3473bbea380e7f0fa190142c33f52f246ca2dd86a06863fd83bc8555dfb5303dba50ffdf634b62234a07ebeb1d95406e5bff6a769edbbcd01653a95e007f389d0f9abffe884c08fffe26891f31fee589e1ab4c2fa8ef8e2e54e78903ab707aca8d6a92a363d19f20ccac312ec31ecc45d1bdb26c4d8dbdfd6be3a64863fb9399bd6078a3b3c64c42e0f2c708a17509e91f646544eb5337ef29e467056f2c5fae900086c25fdf0d54b87122e8a4d522192cbf211c1bd56d77a63e802d6b3f1a291002c10e57aa4421f2946fb60754725e1af13741def8408d6a9f65ce34a0cc4f6b613d66ba4d5f639ad52419f385f15af5729ecdf30ffac93baecbd14c86147635463468c2d9e8a0f84b4ba22d7cf4978a3a33970fd93bfd57a74ba351d5c15a565c02962daed31c3319474a8cc3f847b7a7ff134820189ae15616dec0724b42d9cca53d2f54191116f86cd3fa393a281ef4afe88602045a5921182030be59b19a4020f940e5d0eb4e61f0876016dfe0214443969fee40d2ea00b819d427f41cb3ae0cc19bbd20a21aff773201f9de758f6a466ee38a606034e4303e874204cc43d891d86a6542360036e19a3796ee390ac00c7cec00434f903a04e6e0c47867b0c453b9dc1ba49eea7317c5210bfe9e32c6c344bea72580701e8fdbb86e86c7d51b117e08b25afb69fcc14ec8d15436c9b6d4ebfc8770d8fe1d77043d612d2b7347b73ccb94fdc5cc9fcb6b8faec397e54e7d7d250825b9ffa59b11223b03e0ebc5fa569adf1aaa10b014fd43897f6e545deac9c8e1b42338897864fa3cbb270da429189203f4a727536aa2d662ad91d5cc4856158c7985791fe3192a86aa2c962465c56df5fa8878666abe97d46c25248b7fc51f3443c9218085a97a9072a95f998e982d6e8c98b55a09bab1d8e160af2a85e0f39ac25bd752e4cd2ab18c3d8dc8b915141b58335eb5e0d16b2dcafaebf200a2a57b38bdf5947c58ef26bb063816235138f39f183646348b26f8c4f0009ae7fb400c688e19ac29957ce35e347492c28acea5990b4f8adf49f8affb79e033ebb18918ee92ae22517b8052c9850cbb974cfe6cb53d326219ff940a77b2e442e38be7d92adbd714379c5ca7e7960f74d0a6336dcaa3c3436ab3f0de9b3e4f6bb0b6e0e3448cec3cb886216dea341505c028ae17fde1b3a9824afa745c1dfe7b3d3ff6e42befc408711102cff1022381b8af0129a239ca80e45e9a26aad126a51a862ba89e72fb5910ce0ac83cc8531e65b5b0ce6fcf56fec8c59029e3aa3da7b2788de0f82402734ec11551b1fefecd61aa6880d5ae4c509ba05b62ea918aaa1a69b35b0e312196829543bf99aafcec9b89e55b8f3051dd3451800a8bee90dab849a9acf4b33085e6354c7d1194b45c66afa54e6aeb419464fb5d91603933da892e7233ff24d712a3a311226e4c9ec78706d9ac48b643d367ef7d0a775e</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>2026年4月记事</title>
    <link href="https://blog.cancin.cn/post/5e94ff1e.html"/>
    <id>https://blog.cancin.cn/post/5e94ff1e.html</id>
    <published>2026-04-01T13:51:25.000Z</published>
    <updated>2026-05-02T07:38:29.708Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="f3e2c04a912a29817f841f5c4b761e869813f92ccd4adf780452821d304bf341">c126282413362aea270dae30806c0c62ba8058b1ae2fdb1b43c5318fc70faffb0d8955f357a26e714e10f854e3a25931cbe596f4ad384a73420a61618005ad723ddd38fb2e7d79cd0bcfb482897da1a8549fd4ad73d4563717e3294cde91df6a738cd224b451052a1dbcd6d22ed0e5af5a8834e26c576452d665cac272754adc8e32c673a194199ac13ee754c60163ba9dae33755ffc216390e1bb806753d1423eb5f26ddaa0a6f86bbde7c87e62205f1f228ba79e4a64b9b83032829bd64d426669a195560a46b604b27e434f6b96d0050cdd051d261371882e93a6640bff784fb234742e114bfc498ebbe51ab5ae9a3712b0940f632ade2c519f4167409fe832ddfc52b48286e5540ff13d0a334bd2e989a3b41b71c3910121af23c9f2a52679d40c84e046d3f858427df0ad94603627f5368d7a758d214860e3958aad44cd70ae0385cebe1b150cbfec92910a90f3e7c9fa8074b7950479b95e66e9a6eb0399af9a34f6a0ebccd89c09ee8b51c3355c5930b1f2e78344d1e73779ef6f85d5d4c0404696c12de1e6047d2070317d5a46ec3733412d0ddb9ad4dca057b079ae3623b1e5a28cf0c8003243b52b285c6597f05dbf9060ffdc1159b596da23ded3f452f4f53515d88b18fd59118fb37a4ad2ff91407238a8f38299bd0ab11372b4744d6438d33267bb8cf0d51a3ae642ab6890c95ede580c32856ac552e4417271dea39e98ed3f4fd7443c329724d35afb632c38b7a5aa14a9015ca3faff9a385a65845f977d21c2e19613b8d96c106567d0dd6955f6eb350ee620221aaaaccac8478ac09f02fa40d69b45f3af9ae29519728be99a11a87d4696049c8c1c50f71010f92336298f32dc06bfba847069f637c70248e211654b537ad358599eb640ad5a5c81877936b01f201b8c94efd8b353d101629c33a7cbac4e6d3e50631612530e4529f3e69a51fa584e454e31b5906c5b8f3c6f0f1525301b6355bd794acdbbc9b27fd71b08a78c4f551ed44b9e72ac146e4dcc946e37aea81a3e781b7dbf6fd37acde76352f02ba4c829c90cc217c3cebcedec588e1c8674898e609b19e6374dfd0adcaada9ad9998058e4a1852938564c06610407cf5e6ec5501e63f44e86d530d5d870b3f793ee3d546070709dc248b087e2ec890ef08026de511a764992ac6b7680ee5a75f8b4c1c9327c22d0d05eb8086d29388571f45d502d04411a3d6e60fe6049af87b01b2b19945f1468e1671e30cdc6133a96c05c13ebe5d6e4e5c22c91ec6eb3a7a878a8c6821a4c72c33e4199411cd10e6510cbdd58bb6b7eae6b29f99c8104bf8ea7ea54bff5fc4dc87afc066f89db1f7680f63418c1cf241fe7bc0b92f86c6545e95a572b3b8afed4714e24a36bbad5d62fbc28fbfad43713124b24fe8059bfc1d8c2a75e57fd03ed7d32893c35fc05f9176483b5cdf79c4aef18a75245521d8094cff86d2aeb7e6e28478d16372db092c801d155b15a034549aefa99634085d87019d96733cb636c5d5dcf9f6ccb38e318535f9faae867c3f150f680ffeed5c8fc19095c51504d887544ba821f4f2d4931c0efc306f2ff051863a962e7f48d487a4896a77ce7a6652896530921a3a12218c6f49c68cb2aef789d1a822f427f1bbf856d03b67429d4e453d53e52948be8966aa233a12c2ef6e040d4d253ec5bb2e0e8dd21af1a2465c1d0345b89e66bcf2e36ef3207f89c24ad6c83297baf2f5547d5b92c5d545ec75dd07736da8f8ddc944868d8b4dedf52bdb96ecfe64fbb32ff32a584576253fe300759fa93d0f9c0bcb46e952a3b7e6535c94726ba4651c79019f5c1e1863fdd7563949cdf40dcf5d4b18a7cf7bd0924d1a8098a7ea0265de051b37ae61e2d1ea638ae689062b3d04a4541c59d44e1ddc20015bfb0defd26be64154fd08698bf6efbbad8ae020e34b7adee19298669c5e8de5f1da9623109780bcac0a540629ced611a9a767483dcc8218a03897c859d53f16c405d36cd7027a0efea4ac420f86a45c9a4e4ec158b8b2ca2294ba0579477d1012f80beff85f5c7ea6f9314712a7e835aef668b63e2c6108ed4cca7dff8c3ffbd29d0ca3971cee6ba2d93c7812f46c8454f65857a11072060260ad82e9fe8107c653a598d0fbe7581dfecb63cb0a4ed4c2188b865d3325910f7e9dea4c262915f26918f001098a37df4f818821565bf45ae662d809ace4b25418b47fb14aab70a596135ec116bfac8098eab4e9428ec5f5ea1ae044e7629b48585903fbfba7e1d513468a9c5aaa1d736e2c0d8895b04db1632462c5ffbd47a4ad55b2219069a4aa0ef0bbd0b18c7de6a1ba7af3ad65bd4b3a69fcd2d59cb1dc4db83ee4d4a53a2dd4a0097ec8dde7c285f40ebfa16686020440721318e30c70de463b9cc51653f24822146e8326932e0542093fd165982a8ad74225a92d1c0be2feb46bd75f0b9fb7a0a960829fa91e4df17c1b3c5714f82901afa160311aaf9ddf7c98e0c41226e98af2504ecd92f7d13bffe6b213d4d0a6460992a3a062bbcee2409ce341857e761002a7f80dfb445a7f006d9fc1023d7bc53bb0e4a85bc7df8dfe9771652ad046833238cdbfb926dbf64c70488da8e4dae8ab8132f34765494d20235d4e64aab97de371355ec93b706a1cdebf0d7795335d8ef75fd06b44ec7107f8fccfb4afef4248af5fa6ca8fb553c6f8a88be6ac11791d318fa200339d5cd977837503e05696b1f42bc391585420a35b36ffda13acc8dfe07d1f8791ab691118257d7d0fd0ce5c1540eeb21a0285fc1fc7b9724c9ed438defe558e5ded954dfe0969dfe391b4c2bfc2f1818bc7e6b1cbf7895f36a0f156c5023f5cd5d67ef292662783e53cf373dcb46717d810950ba073c5e9ed935928710681b0bd5a60e80a0869301f4f081b12bc0827ebe69d972da0321b9cc7d46b1b0c4db135731020fb088fd34c1ecc96e4736967a1132f7a5723970f6c18a06b078635e8e3efcaeabc7d6dc0e44eb74b9871d63347c1da5365b39f75be2bf727b50c3ad9836b3255163f2692770a77e75f063ec2012a19b1c2d45ae93134f4231b8b7dc5da7e76b21e62f2dfdfc559b0f3a4be8aedb1895e07e8f74c89b9dbfc24a41b9215bdd60ad50ea6b579b6066a00d545cf4d7e2760bd3de8a5e69e19f3af014799a0943cdc86e56c0c1fe69174ba2a1b46e6e020cf5e11ab39c2b0b7d77ef06be6ff72e3a1b7a9e4ac5744262000f5a4f50c3ba27eca3c4b531ed57710298dbd9902c8295560f8eb000c33219508fcdf9cda204befab1f0edb2d76a9f89994d80cfdf2a63c2592e2eee28b55b121ffa0f33bcc690030b83ef07ac3cfdf2e08707268b6af43cfcc52554fe45d989af9cc89c13f4611f30b6ffccbac229b93ca722c3d40de3f0e4f94d3c3d162c603b3675a63534ee052bcceefccd07542b03adf84b329f38ca4586bf9c5275b13b8519cf3b3eba8cdcdbb13151395ddd30973ab00973d1e018bcb68ce8510ba657e9264692fc6d6501a0a0239020d7c2a23ef21d812dcbe8f9d29f4a1567325380d9afeb522daa00c7b5c74c9afd68b9eacdac005142e531d6451962fba64b5fe747593c65d238b36a0ee56fd05ebe2ace004f6d19bd558a0aaecee65e775faa60e94075dda694497ae2cc87dfc9c99d2720989b25c4c467ef1da4482be5f075b0ddb522bb944c00e523c3408d15237fd9cbf90e6db3eb1240b9b5e132c313fe1b8a077a7ee7ada75ca9f661a8a3238af7434629df5ea0b345d2c748e35c3dde58aaae89b0000c3e750331a9d9c246c752a494fa79fb104f19ab4acf25a330ae99b12c4fb6ce64fd6b47bee30f8ba8fba1280f47928149499e3cbad2fbcddd5048640166dd695137d44e94bad46a65abfe51f061c16bd2a28e21b072a271f7450dd3b3d0340d171d0fff54187358ef2446b371858dc859898d3a55aa17dc55d5894a2ccbdfdbdb7151a90cc64a155b7f65df74da85d2c98c6029a5b53243b7a77835f7a8db5154ab2778bf0f4c1053c65f9c308875e87fb580ca150600b45f09977cf74b326083f1bf999186558664650caaddeaa67e2b0ed090cf5d9c1665b50f4c8699676ffe557b9d4ddf9fcbd523275261a9f7941a92969b5ca76bc19aea143a0c97bccde64b7b98ed23d4631c97d3185ce300d52c105c3cf296e6513da8b393a131d1e04673baca4b2c97db7c9f9d7830bc36a04dcf39239b681761f3aac29fab321521f9c0d2d593d439926716e372fd37dc362e1a98df49aa5a9c5fe09748fe4facda4aa943241c980b47b54d8875ea7f366ed1b78da2d998c3a413cca8e838a0ab6a75c9e228baabcc96fb83559cc281a76bf874e3134ab37cd6a6593d403f16fbc08b3d33e781d3eb6bff62f8714216bdbd11938487dbff09c6353d91cca64a6f665ca12d4e920b698b508d6c2a723f6e9743a4877fe8915b7097919eb006c399c598b07e9ce1c2d9d96023d2fdbd32bf5ee64c86ff3bbe4e6c79970ca30cb920d9eae005b16e0b9383ba7a3524f68febfe4642d567c3cf530397966c50ca09679652194197440343a0c6a8cd2126e2c9ed7f2bcdcd72ab4af1535341e30fa46ec385cc38c4dea4314cc1cf090be3c1578d865cf59bbab89e47d933aac71270e4f23a02ce39121f69420c2bfcb63d693ca67259a42685554a046e07dedcc7c9a4b7758f8f27918d3ee9e684e6f2d6a37aac3a7cf5f80a4b2811069e5dabd530a1340adf6aa3e4964141853fc48e9988ded1904fba200be051579a949b2c1ea00024fdb18d6e600ebbbec84d64acb83e1c0ac897a0b26be7a414493d0688c05508ee868296ebfdf9d72924aacdf205b6025b40b27be36df1dc802bbde3f903d7153d21b12438bda1cc1ca9ad6d3f5ca1c6e60694a9b39f05a643977e3ba5801eececa40aa32ca4385abf89f8657c1a0a15da59ab61b4da0a82c39e259d5344f1741071d19b60cf409eb470f9933a86dbde105e3b44c1aaaa4e11521c6be05b5b912d95c7088c2733426ccaacd60347996c1e3491356b5bac8bae3c9f7a79bfe2910c05d2e590774147831fb4ead298a60cd8b54fb1eaf3be97277196295277b301aff2467754c99c142b46b5bb13728788d8b35503ac2a7d95d1e177ea0437179432a1751c3f1348ae401a05f2b4b79e8ef12844ecb284486b8fd0d8384d1a11bbf5e969f265c090d759c4db0f29b13359149244e4db5961c4e039f638d5c92d5bde7ff6be6c6cb4ac56b4a6991e4107f8301c5c7e7a4b5690cde66b396ee83c51f6ec20e13c0cd3cea518235fc39704e469f36c08e2315299e082f5152b7c84bcd4b523c3918908f1917acf2bda6ce84a20754059ccddaf2b35c28724fd1f15b1695a590871577eac73516d19badefaa45396c503767ad8104e471ce67020ea5706889a1091723f9e90d50237cbf123d8a9f1e695386f711933529dc554135bfdbbdc6bd25273169c117276606df204c7454b013a29527088cd0b7d7552f25bd055ac1bb2d2a5d0d136ea7e045ba62418fb740d202b0d566fcbf25b994add8c942f41db9fdd553f09dc529169ff26d10eebf0996e4b0b540d8529f429b25492cbb5772e50acfa45c11587dd24d9a1463268647773705d4dcf0f532440916233395796345821f4d9e102cdd0693002d57ea1271834d5d779ee5fd98e746a463ea5bfdcc6867f0bd582f049f74141535bff2027d2280e9ff769ef2a72d51c166645e26dd36980791791c13366cc9d8cba2376f61a16837784d188d35b02e358af1a3cfbadd1f0d8dd01196662f9761553e0d7d5874cbc02031c74fb7f8a0d8cb62fb37a63fcf0caea1bc7312201b16e673a0cfd9db3c322f06bc44b7f2af872a2844921ff5474a57864b76d36a686f99a467b371dd4c8fc12a40ad87e68c5cb871d4dbba032a6b90db1ca07390bea4a25c3a2baa92cf2db78889c0c2ce5a8fd051efd4a3c4198ddc615ebcc60d6863b4c3037626ed32b6b4db7434f9fbf09f40fd656618fdc9465e0caa85b674a934b8473655f31e555fcfd956d09b18ded304593bec23097995dbe92896d27af8d3e4e16722ec40dd8fea18d89165813b3823bb6eef61e5238771f02c5879c39537114b4f79dbf8a0e246be14e62a5647b8c5e1db60bc463d7f6a68addab901efca6dc5b6925109cf9a662800818b3a5a538134f40f4ab739c2e6879a39067cd3e222b4701a55cb5bd754cdf3d81138ac332b450030711813a417cf52b36d48e832653fa2be193f73e94825be478d1d55c5697e886b91f7bd0ebe35dd25b85120eaf44afd042b3fbbf0db40e4b9627084fac7ecefaf5b7faefe131c4816c7c1e25f74c4cd09459a45a2347f952145051f475815962d9d149007137014f9d8d86275f54211fb91659dda6c3985f2f2d6ae82032c55e60beee95ae3bb7dbb9fd5b77507f62787939fe475d59898143b9db075049b22098e4b6cf7c529c633d2d917384bd5e3ab8785e27f960f1784d5c1a1029e85bcc46bf778a933e893184e320dabd58259bb539ce726b2f25a645ce75b89f436da064714ec589cd932eabc0d38e78f5f4689cfe84837fb810d6b15b60912aa6452c74f4805d369f490d76fd63d3d84a7e1a0bf6ffa22d7ab6e332141a2b9a1415fa297a20717ee4bc84d5fd2cb452352d77d72eec5f04eef48bd4a3bf7b5cbdb1c16e99c3139f89da9d96776cb56f5ba42d3149c32714aa83be3cd0c12e382d48fdf2bd1422dffcc9aba94f3872f479e5819309e155c68ec5f3ff47577a9fb3c54d74bb1d0f8e3d45a8604f006ff6c22fc4c295ff007c738847947543f0027cb21f8d07b9497f63794b138e473985f9b05f3379238c34c1c20f11f9615f7e00ebf3a2f66e007a3d995ffec7834ecf6029f0c591bcddfcab344af6c0cdd04ca81cb2af76e5a9423fcb4e7531a5b53875affc0534b396aef668811357f8b3399e4a45c0dcf1b2dea0e1af7cde360993676928f797dccd994af61e82a8876045a220257bcf307364ac9578fc993b2fab33d0ed09b9646fd4dee6d969d24f767891ab451419765b93554c15ac3413b431a2efd7be173063dc2f23616a64f498d50c92cbbb3c885e97f4cbdacdb8abaee3959ce1f033dcb62014666b2e43b143500683df4a0851ca93fb19586a4cac2a70528c8b87c6f28d2599f23d8e549d5f410c642c89beb5de8789f6e4f98bcacd10bb3152556d823da80e245e57c86a203819089c1ce70d00f227a4f5a804070e3eaa469c91019791635fef5eef7cd0f98d07e161d943ea3b2808ffe2c82befcc9f53a58ca855d7506c5e91034227af7b28a40c1a54cea4590e36c0f989bb6119c09ac87993252d5b3313eaaa5b7ab93301676e550407aa6029dde9839ebe4fc98599d72db9c993f95c80231856296592e04c50f0f0c9df316f3aba51aed2bb6070707660c447fbab0517f898246760c02737dd9a7cbce2de13b5cf350afd631df599854f1fc81134847be67524a87548fbd221ae334de18df1c24d11aa347eb65ba6a6159ba047e16e08f9fa6adb2ed08b3a177bc6089a5ab5d791a45638bdfd09b77f2db44384ea707022700ed5edffc2a0c1bbbb2bc6439ef4a63ae51818269e9a16b28387600ef88e3cefd25933594c9bd9b9de9048246710b82acfde7a4acf07b8d76102bdd77a485d43046165cdc61d37307b084390e49397fae3ea1e8238d5e4e79252a18564d8e077cb139017162b6b41b6a0ce6603a48282c8a219318fecf2412cb6f8ba7f5d76dc09b1ee80e3551ed50771315ff6254b9f4276131896dd52152fb514235d16c0c03ee27354cf85853a3aeb6abcaa69ed2146bdc4b088b5e1c352db99b2f4dedef262890010494a7dccfcdb772ef5ee50c6f9e00e475d446e468aeae8164ef999e12f0c282998368be5baaefe633597c272fb5d1dedfa85ed6a59cfd8ca16cf24d2e647ed32e6ba74170af12ec02d42f975a93f4fee717ffdec13703f79f6726ecdf19ec16f43ea7e7fa18bed911cea02e38f04606466f87636c804825c92f7747e2404a19a83ca4c12157e1571be551250630da3b357f328ca5f8a4ca76dd9d86e23835de7f12098a6bc3eacbe28600216cb799c0a2cad932b6b80ef6037199107194463373dad08f478016ba6a66adb0800f92c33b0212b8cb42630c62eba82881523b8de32f797b3c3f4c8795c2e3463ff9fe58d4ab7604479491e06646761987dae700e4ff7d4ad1d5240774cc25928afa36dd0f438f437045209ab171654d22b2ac078eeb503eefe2b5b41d2d8f46846e53fa9a8ec46102d669e7c5d0ec5b06192b2a183a0daa0756f22f336583dc4ba1e81a1ec82b667ff62cf77a256dd30c57f61fa45e92b5299d65a1c391bb7d47b94b9e06fdfafe7c4c8dc9a0e437d6cd8dff2b97d4d5363189fb3ade98bc7eb152144d2888a07d21a8c7454caec05971bf4fa8755ba74a3d62984ee054f9744cf85beae1f23bbefb93253860fd6e58f6e8c1939e22b9e7350a49de31b488b193f6114d044dc3f8f81463513e922eac98dfe1d704262b139a234e1dfe474e830f7c2a71570758f7c597a5b638e8fd13c60281c6d21ab4f63e65b337dc0f8053409e3fd6bea1c9770b414a4b2f4ac1bfce0855cd61ae38f7f83d6fbeb9303d4b010232e0b229a4c18d297f2c92012ca8122af5ad5e2d372c78706f5859de8729ae198b4bbb38a94427be8d80fa864e0e232a3d15bd05f3f7db94f886364370daf741a020d70ca7b00c257068ab78a076fa44a457f94add114d511479c3d52a4b2dca9d85ac966d17e4dea54e7eb1d1258a55f1816701d009df930e0cd9837ed3224e934e77f452fcf2dcdb41c797b84bf825ea0469cc8d8ebe6e9a674eed0e7039a71b3154b29f622a49f12860cba9d8c14e8dfa9e2cdcca093f57b9529b5d8bf6f7471d57d7a0284e827397fcf40503038b706adbb49a1deea07a03a20ec004687eb59b5c507222b66971d09185a82b2844139268afe89f01467658cf5d478fcf9c8cd7be3950680d1726ac1ac6d99038426905e06d14f552c313416c0bc37a68221b923df9ab21f4e1a4d46fcf3a2778a3a7ddada757e0438a4101ad0eec4d41f6aee7f69629c5634b21288fe9376b8eb225c13fc7d59d7e498957faf4e54c2adc7425f2fca60cb82309dbe0fe19ccdf84ce7448af7c621ddeab7b0d9252c75f08717fd72305c556a273478f5e1933892517e98bc83974453213373d080d36d7bd2b1fcf9963543e7178613e0b3d502c90ad70c447731981fb49fdf7423a600a7fbc2e1e698e28af3d8a4339cbe23c4f5f3d43fffd8b7f2fc69ec18a5f0c7ba3cfb17498b06ede986d50d7a8e9197ee850137837d075c282ff051de3961047963172e54de8939e1242c7213cac3ed9e8d01e463c1495aae8926d75cee1152f38df1de7f541b46be4de8669a06922d20a9cc642af5b2be0b488ffce159531622d974e298273dcb70d49b6557ff754e550b0a6003737e11ff5e3617d485cbcc52a5b87473f78d5c6f24eceb8800a00a4a079e42bbcde6858760536068f76dc98f940433b6df001834078faf37458c064ae9e48cf403554d2a7267aa6960d49ba648bcccbf9ed5351db10c96bf88fb3d623e2ed1085dd9057b485eaac55027213e7ae17c843f45c5de92e38fb9b10ba9c28a6c312ec730c9d0e631cef9673a7a84e426b0f664a3a01417262cb2e9da0821b0b1a19525f627f634d2d4b7dea1c5b9373d0bce2cbdf2f840c2d2991a569d8640247ff92e18746ec3cab0061c1ad2eddabe76fd1b4f260fd4d727973bb3ef2b00ab319fee8326e65c5b43f49e5fe9337ab84c80f54aec1e71f4921b3744b9f71295327ee76590af392589f8149bc33814fbe61fbe5cae234440ad5626caa01e46d6e3712eb151a341b9a78cb6973cd688d7e1e5bf75dc92e9384559795da413285534aeab5ef162186ce2ac155a552aa4e2442ccf6be02aeb4234c90050bf35c6eb235cf8d3759be696c7dd66c9813aab7597ae3259d771319354b4d5dcafce946ad0a36d847bea5dc361a561731616f311ab22cbfc172f759307e959a445b8b1d40e211e0a07d0f2d4a56cb59d34ce96a15d915eab610d29394e65a688d52b770c2eb66758d92295fb08790e94615633bdfdd2da5a1d08c6929513643a9d895b9686fbae59537be84bb74c6ca4e8555eb00206515b8891f9c8c07ecc7f5c3256253968d9321fb0d1b1a2fee15944fe37d21bbd1cdcd97f3d67a2981233d19d2db98a34682f20c3b336e05d19f1e6e97c7a95a484e5a366599274aedd9941bdba53eb2c46af8c9bea1b4d0901873d335e1ef6c3adbe5e266bcfa3cd1736fd758a57d3e2315c3a29f86d05af7ad18491aa44fce4101dc940fea263a6884bfdd3a34bb11d427e664810195c0a9ad9a4297f24fc925139b41dd1840ba5fd37281f7995c75278551af2cdb5afc036548bd9921e61f29b7731a8fbbd1dc3a61343d1ac33b911cffb5d997f39de1488b24621ac6000ff1198f21bdfcf1e3014619658a9dda05a06eec032406eebe9a2e61738738843ccb93be9613530f5fc0b19f7d3b2fe98ad1bb327fecf924671d7c4dd3f7ce063b3e54501439a3edb7d6b97539b69fcea24dbcbdd09641934c2725e265215640fc1acc0a80b3d645780b62f098d8f0fd718aeeda9141ccfcf2f68fb88e35de9ac2cb7890b0e593db5416b9bc58c635a2da209458a906c6540061b2711f35d07a40e96ecab50ff53afdc3663a3057a26ec37b29f132d4a40faa3d4eecd40f7a6811108a5ea5cdf9fd5f67ab835a84f4662eed2159a164339f1bc06b787a4540143525b88c782dd071c92f92d394a55099ff1fccca293784e73cc933c0432e7e3c6eafbf7343bca597843db19256ba50de5ba25fbb2c73a0b030ca77be3dc015c63097762bb11432c464e5e9acec2acc97b88a99dc37150b7411ba96518786087ec7ccc4c78cb7ae14d270834b9739a1c07eb781a4d459b5da88cbe2104f02d7eb0c838a0f3ff37df7468ed218b51ad44e5b003be5a3e9b1fbd8ac25b6f2f71c50d14659e5e0b5018fe3eba4e0eadbd7fe5ce7c9d5bd142aa2f0e5365821342defb10c8d4ab36bb9e64e3035e389fc7b833a8496ba55227a0f1bf8913c72dc8eeb5321f79812a7b562c4736bd30763dd10d627290998478a4d5b6537597f78ded4e34d29e3d558101cf1d768da82863799b499ce240a983bc2ac951bc63c8bff0c7796aae257b3eb0b365a7ba66eb7ddecdc5ffc00be217b2be73687f0ee95ab35779911143fc25f9f59dc5d33ee45fd8ba3f8fb5c1fe072fa54f545f863b663eb0d2a5e6dfd96e9a98a7a4147f2e154936287f1132615ae972707fd3b52e34b329b0767fd9ec231188300cb7c64c9f86c27701dc3cc902c91bb1de00b82649dad3270e3f7c75c45b52404b970d44582a8661c0f4e6e2ff69558707e5dc2c66fcc2e6e9d0293a7a234da5fb97e4914b6f3817b23ea466b17dc9cb62736c549036475bf9aad4d82a68566a0290300dfdc3a39e19f44538d1b06dba932f61e9f070a94a1a5cbeacfa3eef4fd1d4e1674144d867ba56f9948d4fc23a65bfdc581c7a11822c792e056ad3e291b171866d3e90b9979d04e92859e9ae11c6156cbc975a4f303ecbe7cc6624bb8a04adbb38a0a63b152d2e9d179440c55e22ab39d94cb3927f9ac397b2d6394156ef50e8d4daf7337d880ce70ae1972942afe0cdb31b6413351eadbb754d0e52f2adf61df9df3ed21c683c647ae5205f5cd4fbda9aa7ef2aa39a7772c87509a6c08c6eb664077c343edf1fd5102a90d2b4904df31e99a66c7eeb839b9d48c3c32421d3b95274cd6ade7cc2f6b15c81123bed6be7d123b92c1e62863609898f936f8e4add370140a6e9579f272cb4159229b398bc09414c02266c4e69829c288d1fcc5867e725fde4574d6fbb7869a914229b5e309cb8cbf71a429f3ca49e7d084e4af727d076c82d536c88a5eaa716bed53da18e1f6db0a36e956ee3f19e6a8708e33dfbb737849765e7cbd57cf589bdf41d4599195c0458b23aaa4e63d790315da51534687b3a08bcaa1bab029699274d16f0b6943610874956ce38ee9784eabed0380441f02bf65a1a80fe566df0d99073c7d6bf09b534179da9638fa29eae77ead64e0ee4fedd496e0407fd0e539fd388c095e9bdb9b02e1d027a56a72d150c39c30cdd4594fbd36a3378d8886cc0a419777a4c7e3e18586397df525cb1bafea97a45bfa06ea22206d7cbfbdd726ba606195cf35c9240d2d35a83e714f4799ce1343e5eabee063d7b8ede84573960b7318e0b9e622aa668a22574499680b81c6e29ab9a709edb0cbd3bfd6f97ee69b1ee642f3b6083b9cd2c9f15c8626e3271dc5eb56b0d2cb4a37e194019196e503c3a0c695cfb7a257923953cc09d2d451b8535452d15c010abfb01bd800d578b68819090fc0b80db24b4f81cedad54df216939c352fb12f4778340ff52e4d7a139e377937a6fc1e1b432d10d2a6cc9c0c2a6ff1a4736801a206eddcff6fdb32e2ac0d049e70a6db1379a1d6ab278adc697bb3e1d6ec8234c1b90df10f0e8999713993ad6ba497dd6ee87187e8f0d70e54f82a12b9f431d3029b9509fa121fab421dabe270f98c87ff1a89f220751aa83e90ff84bd313972b52184a8a1cac48f7d10087a215f021ffda9d504c86bc62d417bca71350613742190d00f2e1e77162c53b98115e03dca9340148adabf6c87f2ec0b0e4e5d8c6d2fdaf5ac654d79aaa7bc76eb7f662601c8e6e4e8d85a49471d5d542e8866368642997d24a8786b03a865b1807257a80517ebdf14b6c7d0255b70d32d4bba447f9c32ae7e58e7c7c7d8414da6636ff4d0473aa3ba28ef4d4a6061f8c4824bb3aa8897f8da30bf391cd64805da2d1b86b572b3509e6870683ddba4f8cab47c0fcf080798fb7774ddb2c07b9350a30caa75d1f4254dbe46a44b40fb9188213713a294dea589683fbdad0907dcf81768ffe34b48741b091279a2c8404a84d7a11621bb51e1e3ef21b4eecdab31e1485e074e3d1c57020438408ebbcf42341d78caa7e84dfb71f7fcdbec3a465d0c14c547d0269ac1f6452e083568a68a7f28f846fb65522d51c534111d74e96b15d08e38f81e04266bd1e299657070963ad82575d80f49720af815bc80785389221f40f2961fe4b660566a1594de14b3313a352c2e29842eeb9ca08e612feddd8e1b3621311060fefbd37ab8a7f9c611e1468b11612aeaedb932cb4d720a903eb8bc1866599583b596bad62ed9ec8ac323f7b78f776b5393c95b5b9220f9c9f901bdafd2b8a0bddff9db81949de17ea72f4eccb6f6c985777af2117ae8e56fa7c081933f584b73a531e5331a384d301dd8db65dbe53bf18137f139b239b61df25fee3752990688b31185c1f196c486ccb41d2c80dca81aa5c1b37473f45d740c45aa52029bdc625adb3f47823c687a9a4b9eeb3ff7d61f5d194067a1259b6cdce963365681e5de2fbf5e2284d54684b63417b32ca6e9582da3d437490a1b22fb8cc86e0f797d7859ee43553f1066267ef71232e4bb6ae0db03fc153b512fe8f80fa41bf4ff4cdfca33e7de933b703f4a797b908886ac3bad71ca1a6e2adeee14e39cc983f0127743a505594cef2327591c728390f2d5756fbeaed91503b4eca0f98987cc5ace586ad2e7e817df54793b12b0c8b3395055187e6257792f58bf6bf33542439048bc84cde7e7e5c28c11ce033f0ad57e8299a5181356f0fc8466928f2e5f55b64033cdcb9f5b7525610059fe26dfc57de36ff773cb21bb2f40142a4a34d1bcd566e1bb2e9a6ea3b467fdcb66c454913a9bc4b7ecffe8d2fc2d20bceec617cdb9227668554a8211f87a47d272fdc2baa59c799dacc9b1a680db1c42849cc263d0526505f8e26b5aab699dd6a846968e064ceffd8160e148cced67c6eb0e9af4cfb77c09ad8db959dbbf184f6b90b7dcffd48b340e23d9f5402a4d343801828cbabdc6a42939b0e7bcea3a22c7290ecbc385ad2385144335a540e7290e92bc282084986dcaa38609f879837d6961a3c3109bf60da0db8f8c572bd3e38c5226a15508955e43eae5ae27ec593e3f31d5013af3646dfea12528d0e29c417d3290270368057b9045d1a2b6b3f3e893bdb812515d8bd2c4d4461d6ceaa4ef9db7a65b7eea6141af4f4a678fb4e05baab70d56993fa7acc22c0249004b132709331cd61e9a7c17991245a67cbd7ddd3b55e389cc31f892663c739bbc6da3504504f621eccc43d6ed1d0c9636467192e4ad48725f2342dd3404278de564c2102b6151f1e84503cab2bc219b4c568af8a9a186150201c3d5d5c8824b708183d791c5d34a6d06c318928c5de60de303be31148bb95f3adc44c5379b600a1614c641cf92e8d943f27ef47fd1a0497474c9020c10aafb1d10ff731b293b50c8b878f47e3b0c71c77de8829180c2aa152b83228a5f9dd954c85d65b61aa83816c3ed0df51dcbe77c9959b8b1ccbc03764ba884bf99ae4277a3e7b1a4563b73db59d3d2f9050e1ef5f241284228513e05615fa708320a7474bca4d77d09fde4aad8bbab9baca320a25f0dbbfc61df90d72346662e12ce9996a947bc5dbfdd6681ca10903e8b0f9a0aafb75c3003b22444cacbae6dd97d9f87e5ba40bd939ecd90246f3046a88464060ddb0d5d498e855bf9a1f606070c21c9a569643fb358702e9ae3529e017b4af03d7c6ae7ced0fae10e597cd24544d6868e637ec38a26fff5a257795d45d0c82463e36d57e29b27ec167c7b96a15b0b0b16f1953e9a51f73413e7083db105badd9517589f5302213736ac1aef7ec91a96552e306748fb29c0ca3727cad904cecaaa4a29e7715847430dbcee7e82c06d26802f7411780efe3a97c47ee6f03a51edcc29453d088a44d12abd4645e3d14d78b6e01a9e9ab6a09117eaef48592055f7e2750ce55b5ec69a99dd117f581496fcbf3a13cec1fc5363735bf38b36b30ffa00744481a9f8ab4e3e81fe9e2adea95f48c4dd716ec702c6ee0317399f8eeed31decb88fa39a865d65551935e8d3cfd5d41c9e1c1f36987b1fe5a9377e076c907cefbc9e9b19e5a7566637548fba447d525dc34fdc9b439bd5be8bd8a81692ec94b2c012309c2983193e01aadb9f0def50fc5385931c66251422d1de6df722e15c5d48b2487b66834ac27aa0b76a64dac216e4923ab92c013f5c8e49f055ef7d48c6b4445a7587892dd475d016203b7954b8e633a9c502d60e538a61fed3bd18ba0c0cd1247d013fc3737e3854e5e95641bda9b448df03239e97b7dfdc50ca55e94b83830fdd05af3aa1b75a73ba9af15c0fe1f67ec6d663d8a5c82238581d5dd9acf16671bc93ccc25cf6d6b2fe29f14d6016d99d9dc27b915034556da616b5fdee08d337cbbdc91d1b2813002d51c7540e35d3f5464af223fd0f417c7ee827270a8fa9f35dd3baf7df86726c4505297285ce4e586d8c685b19af502336c7cc868dee631df54f5afd8cd62405fd195f956bac1f752ced3b1c90dac3f4e877df43aac7972579494cc8e89153c458fc4c1de0238e2df31d71d53f910796af7c032eec625cc646a804cb22ed4b3aa2bed381af2a31f2b56936ba2189f88e966d458117f222dca0466fc4443ecbc33bf43eff40ec8e9acc83221815530dba5ebb621de75788bba3e6962d5b09fa6e2634efa63f5a93fd93f92b1042b99e582b383387edd309f4224b97d21a7ed3ab1967a7009d2f51e7022d8bfa6b1295b99c852646c31296593310f0778ae454956344c3fbba16e137296bed0bfe8fa772cab5f79e53112af261c3097168a3ab0cc9600b6ceee6a889bbe58735a71ce68143c5bb109e67b1a7b62c5b75e51101910a07bbe7c5a89dbb0e89df186407310376c0812a61f82149b495d68004abd4e07f838aff8eb625cf6834f014444554054ef6ff8c67c5aaa23d33f00e35397d3bc9419064110cca23e48b5b70671aa1b716e758ddf099e814171539672baa646d31745fcaaeaa2bc2b90a9b87965c52d26ff7813f221b0733e995b68af5d111db99d2ac3c49ad0204b3a62afdaea8b6b87bee6e3da38064170ed99ac1ce75d50c5f3a406a908ce2d1d17f2137de0f3d1388c364703e1255df02421e12a2395a1267550bcfb09ab1e91d81d15deae1df9ee44fe5b9040fb131dd0a43a8b032d26c19a80f4074fe17d014f7ebae3c28b4a8e64a5405422b4ea8284d24297c222551071058b66c19d466043e5918261ce591fc95b7d0122d2a2ba448f83ad3ac5682e9123e430a7b7fa13d96651818893761404778f317521368a8eaa79e3e9049f4e849315320d738877aa3bf110afec5e2c9ebbde68b0c241eb51aa8b75496713e1baf1d8542526874ea487d0844bb3d0e9800d7c3449b5299711fc0ada321310fcb4475c09e532a124f98d3d2fd0f55447df4324a3882048824c610657cdd131c4c3a419f4725ea53042f9a049249b7df501d9a1159d2153e307e9cf797973b74458defbc8b3374401a3eb48a893d610b4d32ba34320293987dae7a626d50c901bbc648d37d12a0516aaab0e5c7ca59339c4478c8e8ea12f9d656034271c449ab78ce2b5982de5baedf78ebadeca7961466f0341bac923996345b9eb4fa38372f3ad3c8fffdad04defbb11fb5beea3a9aafd8e854b9d1a622fc369b6808ec1595f3eede6295887118bba470caec148cf9fdf5dbf04533816a57278ba895e688fc10d369fc4cb40e3d17f3cf2d8952b82edb850c84a06691a8767a994e90e050ab9a7d4bf20d11f0eaaea98b4deba58d65ca978b4734e582d62261885e82c2de8378df4f70df573d079dcff466a38503a545881c27dc190432f7724b46c7583a524af3f93acfe3bfc471961248007edc114edef7a2137f5982a0b65f0a5f910a3747242bece7197a226f9ab5ae2dcd3e6dfa78b2d7e84ab98075b0743aa82d790fba4d12a0fb016e4c8d2a53f5a11a70208fa45d752b9ff6b36040ccca69c1856402fad8b91918f797150f5c3d5edbe94d2f07a03f56432422d8c54ce548ad9d90b8e6e4af96a99efe3e7beb6ab313f3955ea787de89990183e29bf429b4b01547ee4550b5c7df654c8756b022f5713b28969773b47377e69dc9a9c4a774894db9d8f739cbd05bf27d75d9a23e46c72987e5ded9e8e6300d206b19d62c6339902de0111973cf2e3403fddfe90dad0d2ef52fdbb22223c4aa64c603cbe82046f32fa88a30da88b5397b98784e2a764c99c672cd9e9a805e23d26100b3f2288c88a22946009be949bea7d15e05ab018eae0944efba76a8d2507e7f870d271a30f623fdb92bb362642dcc10124db1130729bd27842e0e3cc076b8a43222603a0397d0964101d6b7ac6f4dac48dd5dc270a30290937201117d14154aeb0800dbddd7d18715a78f3fba0b2dcabef958d02b85913267e52cec6d0dccb9ac052f640c86bfc0e13226cb3906792604fc411a7ffa33c09998539f3b342c828c795910e9cb5cac07f48a9846c260ffeda6207db64bfaa5e6f3628d3966ff5d762eb65fdff88da556420799d3d1e78784eb8903bb0bbc0eea88e73d18d10786a941c7e701c6fe3e02d9269385fc76f4d9a6c7c13360df142d50218366e04539a51e4268f8d15c3cf023f8afd2aa1396ecbb8a809984523e42719f71dbd591e13f1be28cd2d0001a772e4ade0bc7cfb1be15034452c64a860df9f260656239e755b140ad67b5b54b9d20d353131a403c7a44165b2a9fdbd8eafe36237dc6ba0cd4877377512964623a2a49fe0c9ce24a8a55cdf6bf66fb577730d7decb19d023204f7b02f700da0fde85431c21ea7f29d30aa43f7f31d7e02a82d0d341be6953644090622eb76771c8871e336f92a16910996cf77627822c8039d4db1cc60eee49116b3a63e52afabb6aa5eb77a838f31b1b6d9dada5a7a9f18b47b2a2a489346fdd526d7ed3b4ef84751a5420142ab03a7c05aada6225ba193aa1a27c27af2358badcabe2b43a71c77da8e51e0477285d8c6c3ff43cfe195a96cff2901f6a65bb86bddd8baa21e97d3c48c46e8c296d5bd069f8768e46c02b080bd96f86a9ea19914280c77ae0155bfcb7b76bdcf5677e8400537aef18042df4c57da323a14a134b6bb9210c1155f8db49a603bcfb378547400a8650764d93e0398f92f49d44ca2419a6b24c1ec0ae99fff082adfa6128b3b00e070af82e1bf48b6fcf004e618617e94059140a3654b5a09d352eaa5954b86afbef7ec3f61e7cd4ce40e0fc594fadb4250f64d4bcd22ceda39006d0801c6070582395949a26e480ad6c7a6aee90585b2015850ee7d96f5bf686e711eec7c666b02a2b8b9ba3c8ad9b74f991749f12a662cdb2d5fea8a956687e8406d0cdb312c0784132b94392fe2d0b15c921fde09ab5d21460701fc2922e4f05e6fd8633f325acbac070a6212a6105a00e6961b3bf946e1e2a43534f3bf9a9c4b3b0bd2d9fccef97205af300a4a0df32690ec003ed274d19ff380f85649cca6e28fe7e2aca2fec8adaa21cace123c0a4e13adbb000797187dd3fb665c80fb723230b443a94f0805f4f3c606f43a0eb4d871d84b19b05aad57c2cfce5d3eb5d6e2ba71f3740fef21124c710a9cb7152a567b40b5527dec90f7016c76b12af2405aa72ae0aba0552999cca3d1182f0a31a18ba1f7d225cbcf42bb3119f6696c8fbfe20d87de3eda7e83ef11e1974463fdfcff9361423021e24e2c46afc3840530013d58352fe005abb51265133a20c0e8e10fdfbf5c2c1a809b4e9ddeba3b23f2faa2e86398a1f834886679ac5bcdda79fed2738e3c</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>基于 Apps Script 为 Zotero 接入更强的 Google 翻译能力</title>
    <link href="https://blog.cancin.cn/post/6e9377c1.html"/>
    <id>https://blog.cancin.cn/post/6e9377c1.html</id>
    <published>2026-03-18T11:38:58.000Z</published>
    <updated>2026-03-21T13:03:05.764Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>相信很多人都用过 Zotero 的 Translate for Zotero 这个翻译插件，但是它自带的 Google 翻译能力很糟糕，跟网页版的 Google 翻译效果差远了。</p><p>所以很多人会使用一些进阶的设置，通过 API 接入各家的大模型，翻译效果会好很多。不过各家大模型能力参差不齐，比如百度、腾讯的翻译能力就一般，机翻味儿很重。各家 API 的调用次数限制也各不相同，像百度的普通翻译接口，每个月前 50 万个字符（约 25 万到 30 万个汉字）是免费的，超过了就需要付费。我先前也接了一个 DeepSeek 的 API，按量收费的，百万 tokens 两毛钱，效果还行，就是不知道为什么速度很慢。</p><p>最近看到 Google 云盘有一个 Apps Script 的功能，碰巧它有内置的 <code>LanguageApp.translate()</code> 函数，正好拿来试试。效果非常 amazing 啊，跟网页版 Google 翻译效果完全一样，比 DeepSeek 效果好，速度也更快。我看了一下官方文档，它这个限制是每天 5000 次的请求，每次上限 10000 个字符，相比之下还是蛮划算的，个人用是完全足够了。</p><h2 id="部署方法"><a href="#部署方法" class="headerlink" title="部署方法"></a>部署方法</h2><p>首先我们打开 Google 云端硬盘，点击左上角“新建 - 更多 - Google Apps Script”，点击创建脚本，我们将这串代码粘贴进去，然后保存。</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">function</span> <span class="title function_">doPost</span>(<span class="params">e</span>) &#123;</span><br><span class="line">  <span class="keyword">var</span> rawData = e.<span class="property">postData</span>.<span class="property">contents</span>;</span><br><span class="line">  <span class="keyword">var</span> payload = &#123;&#125;;</span><br><span class="line">  <span class="keyword">var</span> debugMode = <span class="literal">false</span>;</span><br><span class="line"></span><br><span class="line">  <span class="keyword">try</span> &#123;</span><br><span class="line">    payload = <span class="title class_">JSON</span>.<span class="title function_">parse</span>(rawData);</span><br><span class="line">    <span class="comment">// 调试模式</span></span><br><span class="line">    <span class="keyword">if</span> (payload.<span class="property">debug</span> === <span class="literal">true</span> || payload.<span class="property">debug</span> === <span class="string">&quot;true&quot;</span>) &#123;</span><br><span class="line">      debugMode = <span class="literal">true</span>;</span><br><span class="line">    &#125;</span><br><span class="line">  &#125; <span class="keyword">catch</span> (err) &#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="title function_">createResponse</span>(<span class="string">&quot;JSON 解析错误: &quot;</span> + err.<span class="title function_">toString</span>());</span><br><span class="line">  &#125;</span><br><span class="line"></span><br><span class="line">  <span class="comment">// 获取提示词内容 ($&#123;sourceText&#125;---&gt;$&#123;langTo&#125;)</span></span><br><span class="line">  <span class="keyword">var</span> fullContent = <span class="string">&quot;&quot;</span>;</span><br><span class="line">  <span class="keyword">if</span> (payload.<span class="property">messages</span> &amp;&amp; payload.<span class="property">messages</span>.<span class="property">length</span> &gt; <span class="number">0</span>) &#123;</span><br><span class="line">    fullContent = payload.<span class="property">messages</span>[payload.<span class="property">messages</span>.<span class="property">length</span> - <span class="number">1</span>].<span class="property">content</span>;</span><br><span class="line">  &#125;</span><br><span class="line">  <span class="keyword">var</span> sourceText = <span class="string">&quot;&quot;</span>;</span><br><span class="line">  <span class="keyword">var</span> langTo = <span class="string">&quot;zh-CN&quot;</span>;</span><br><span class="line">  <span class="keyword">if</span> (fullContent.<span class="title function_">indexOf</span>(<span class="string">&quot;---&gt;&quot;</span>) !== -<span class="number">1</span>) &#123;</span><br><span class="line">    <span class="keyword">var</span> splitIndex = fullContent.<span class="title function_">lastIndexOf</span>(<span class="string">&quot;---&gt;&quot;</span>);</span><br><span class="line">    sourceText = fullContent.<span class="title function_">substring</span>(<span class="number">0</span>, splitIndex).<span class="title function_">trim</span>();</span><br><span class="line">    langTo = fullContent.<span class="title function_">substring</span>(splitIndex + <span class="number">4</span>).<span class="title function_">trim</span>();</span><br><span class="line">  &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">    sourceText = fullContent;</span><br><span class="line">  &#125;</span><br><span class="line"></span><br><span class="line">  <span class="comment">// 执行翻译</span></span><br><span class="line">  <span class="keyword">var</span> translatedText = <span class="string">&quot;&quot;</span>;</span><br><span class="line">  <span class="keyword">try</span> &#123;</span><br><span class="line">    <span class="keyword">if</span> (sourceText) &#123;</span><br><span class="line">      translatedText = <span class="title class_">LanguageApp</span>.<span class="title function_">translate</span>(sourceText, <span class="string">&#x27;&#x27;</span>, langTo);</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">      translatedText = <span class="string">&quot;未获取到待翻译文本&quot;</span>;</span><br><span class="line">    &#125;</span><br><span class="line">  &#125; <span class="keyword">catch</span> (err) &#123;</span><br><span class="line">    translatedText = <span class="string">&quot;Google 引擎报错: &quot;</span> + err.<span class="title function_">toString</span>();</span><br><span class="line">  &#125;</span><br><span class="line"></span><br><span class="line">  <span class="comment">// 返回</span></span><br><span class="line">  <span class="keyword">var</span> finalDisplay = translatedText;</span><br><span class="line">  <span class="keyword">if</span> (debugMode) &#123;</span><br><span class="line">    finalDisplay = <span class="string">&quot;【翻译结果】\n&quot;</span> + translatedText + </span><br><span class="line">                   <span class="string">&quot;\n\n【Debug 原始请求包】\n&quot;</span> + rawData +</span><br><span class="line">                   <span class="string">&quot;\n\n【解析参数】\n原文: &quot;</span> + sourceText + </span><br><span class="line">                   <span class="string">&quot;\n目标语言: &quot;</span> + langTo;</span><br><span class="line">  &#125;</span><br><span class="line">  <span class="keyword">return</span> <span class="title function_">createResponse</span>(finalDisplay);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">createResponse</span>(<span class="params">text</span>) &#123;</span><br><span class="line">  <span class="keyword">var</span> out = &#123;</span><br><span class="line">    <span class="string">&quot;choices&quot;</span>: [&#123;</span><br><span class="line">      <span class="string">&quot;message&quot;</span>: &#123;</span><br><span class="line">        <span class="string">&quot;role&quot;</span>: <span class="string">&quot;assistant&quot;</span>,</span><br><span class="line">        <span class="string">&quot;content&quot;</span>: text</span><br><span class="line">      &#125;,</span><br><span class="line">      <span class="string">&quot;finish_reason&quot;</span>: <span class="string">&quot;stop&quot;</span></span><br><span class="line">    &#125;]</span><br><span class="line">  &#125;;</span><br><span class="line">  <span class="keyword">return</span> <span class="title class_">ContentService</span>.<span class="title function_">createTextOutput</span>(<span class="title class_">JSON</span>.<span class="title function_">stringify</span>(out))</span><br><span class="line">    .<span class="title function_">setMimeType</span>(<span class="title class_">ContentService</span>.<span class="property">MimeType</span>.<span class="property">JSON</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">doGet</span>(<span class="params">e</span>) &#123;</span><br><span class="line">  <span class="keyword">return</span> <span class="title class_">ContentService</span>.<span class="title function_">createTextOutput</span>(<span class="string">&quot;服务正常。请在使用 POST 请求。&quot;</span>);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>点击“部署 - 新建部署”，点击左边小齿轮 - web 应用，然后配置参数说明随便填，具有访问权限的用户改成选择 “所有人” (Anyone)，最后点击底部的 “部署”。</p><p>部署成功会生成一串地址，我们复制这一串地址，保存待用。</p><h2 id="在-Zotero-中使用"><a href="#在-Zotero-中使用" class="headerlink" title="在 Zotero 中使用"></a>在 Zotero 中使用</h2><p>打开Zotero的设置 - 翻译 - 翻译服务，拉到最下面有三个自定义GPT选项，密钥不用填，点击配置，把刚才复制的一串地址粘贴到接口里面，模型和温度都不用设置，然后提示词按照下面输入：</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$&#123;sourceText&#125; ---&gt; $&#123;langTo&#125;</span><br></pre></td></tr></table></figure><p>这里 <code>$&#123;sourceText&#125;</code> 就是你要翻译的原文，<code>$&#123;langTo&#125;</code> 是你要翻译成的语言，然后我们把流式输出关闭，点击保存。</p><p>最后还有一点就是把“向GPT/Claude/Gemini服务提供论文标题和摘要”这一设置项取消勾选，当然你要是后面改用其他大模型翻译的话，可以把这个选项再勾回去。</p><h2 id="大陆访问"><a href="#大陆访问" class="headerlink" title="大陆访问"></a>大陆访问</h2><p>Apps Script 给到的原始链接是不能在大陆访问的，可以给它套一个 Cloudflare，步骤如下：</p><ol><li>登录 Cloudflare 控制台，在左侧菜单栏点击 “Compute” -&gt; “Workers 和 Pages”，点击 “创建应用程序” -&gt; “从 Hello World! 开始”。给你的 Worker 起个新名字或者保持默认，点击 “部署”。</li><li>部署成功后，点击 “编辑代码”，将编辑器里的原有代码全部删掉，替换为下面这段，别忘了修改<code>GOOGLE_URL</code>变量的值为 Apps Script 部署地址。<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">export</span> <span class="keyword">default</span> &#123;</span><br><span class="line">  <span class="keyword">async</span> <span class="title function_">fetch</span>(<span class="params">request, env, ctx</span>) &#123;</span><br><span class="line">    <span class="keyword">const</span> <span class="variable constant_">GOOGLE_URL</span> = <span class="string">&quot;这里填你的 Apps Script 部署地址&quot;</span>;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">if</span> (request.<span class="property">method</span> === <span class="string">&quot;OPTIONS&quot;</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">Response</span>(<span class="literal">null</span>, &#123;</span><br><span class="line">        <span class="attr">headers</span>: &#123;</span><br><span class="line">          <span class="string">&quot;Access-Control-Allow-Origin&quot;</span>: <span class="string">&quot;*&quot;</span>,</span><br><span class="line">          <span class="string">&quot;Access-Control-Allow-Methods&quot;</span>: <span class="string">&quot;GET, POST, OPTIONS&quot;</span>,</span><br><span class="line">          <span class="string">&quot;Access-Control-Allow-Headers&quot;</span>: <span class="string">&quot;*&quot;</span>,</span><br><span class="line">        &#125;,</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">const</span> cleanHeaders = <span class="keyword">new</span> <span class="title class_">Headers</span>();</span><br><span class="line">    cleanHeaders.<span class="title function_">set</span>(<span class="string">&quot;Content-Type&quot;</span>, <span class="string">&quot;application/json&quot;</span>);</span><br><span class="line">    <span class="keyword">let</span> fetchConfig = &#123;</span><br><span class="line">      <span class="attr">method</span>: request.<span class="property">method</span>,</span><br><span class="line">      <span class="attr">headers</span>: cleanHeaders,</span><br><span class="line">      <span class="attr">redirect</span>: <span class="string">&quot;follow&quot;</span></span><br><span class="line">    &#125;;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">if</span> (request.<span class="property">method</span> === <span class="string">&quot;POST&quot;</span>) &#123;</span><br><span class="line">      fetchConfig.<span class="property">body</span> = <span class="keyword">await</span> request.<span class="title function_">clone</span>().<span class="title function_">text</span>();</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">try</span> &#123;</span><br><span class="line">      <span class="keyword">const</span> response = <span class="keyword">await</span> <span class="title function_">fetch</span>(<span class="variable constant_">GOOGLE_URL</span>, fetchConfig);</span><br><span class="line">      <span class="keyword">const</span> resBody = <span class="keyword">await</span> response.<span class="title function_">text</span>();</span><br><span class="line"></span><br><span class="line">      <span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">Response</span>(resBody, &#123;</span><br><span class="line">        <span class="attr">headers</span>: &#123;</span><br><span class="line">          <span class="string">&quot;Content-Type&quot;</span>: <span class="string">&quot;application/json&quot;</span>,</span><br><span class="line">          <span class="string">&quot;Access-Control-Allow-Origin&quot;</span>: <span class="string">&quot;*&quot;</span>,</span><br><span class="line">        &#125;,</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125; <span class="keyword">catch</span> (err) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="keyword">new</span> <span class="title class_">Response</span>(<span class="title class_">JSON</span>.<span class="title function_">stringify</span>(&#123; <span class="attr">error</span>: <span class="string">&quot;Worker Error: &quot;</span> + err.<span class="title function_">toString</span>() &#125;), &#123; </span><br><span class="line">        <span class="attr">status</span>: <span class="number">500</span>,</span><br><span class="line">        <span class="attr">headers</span>: &#123; <span class="string">&quot;Access-Control-Allow-Origin&quot;</span>: <span class="string">&quot;*&quot;</span> &#125;</span><br><span class="line">      &#125;);</span><br><span class="line">    &#125;</span><br><span class="line">  &#125;,</span><br><span class="line">&#125;;</span><br></pre></td></tr></table></figure></li><li>返回管理页面，点击上方的 “设置” 选项卡，选择左侧的 “域和路由” (Domains &amp; Routes)，点击 “添加” -&gt; “自定义域”，输入你的域名。</li><li>如果你的域名DNS解析也在 Cloudflare，那么 Cloudflare 会自动帮你配置好 DNS 解析和 SSL 证书。如果不在，则打开你的域名解析服务，添加一条CNAME记录，值就填前面 cloudflare 设置域和路由界面的 workers.dev 的值。</li></ol><h2 id="沉浸式翻译插件"><a href="#沉浸式翻译插件" class="headerlink" title="沉浸式翻译插件"></a>沉浸式翻译插件</h2><p>沉浸式翻译插件是个非常好用的浏览器插件，有非常多的自定义项，我们也可以把这个翻译服务接入到这个插件里面。</p><p>这个插件的<code>&#123;&#123;to&#125;&#125;</code>参数比较特殊，需要做一下映射转换，代码需要替换为下面这个。</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">doPost</span>(<span class="params">e</span>) &#123;</span><br><span class="line">  <span class="keyword">try</span> &#123;</span><br><span class="line">    <span class="keyword">if</span> (!e || !e.<span class="property">postData</span> || !e.<span class="property">postData</span>.<span class="property">contents</span>) &#123;</span><br><span class="line">      <span class="keyword">return</span> <span class="title function_">createResponse</span>(<span class="string">&quot;Error: No data received&quot;</span>);</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">var</span> payload = <span class="title class_">JSON</span>.<span class="title function_">parse</span>(e.<span class="property">postData</span>.<span class="property">contents</span>);</span><br><span class="line">    <span class="keyword">var</span> fullContent = <span class="string">&quot;&quot;</span>;</span><br><span class="line">    <span class="keyword">if</span> (payload.<span class="property">messages</span> &amp;&amp; payload.<span class="property">messages</span>.<span class="property">length</span> &gt; <span class="number">0</span>) &#123;</span><br><span class="line">      fullContent = payload.<span class="property">messages</span>[payload.<span class="property">messages</span>.<span class="property">length</span> - <span class="number">1</span>].<span class="property">content</span>;</span><br><span class="line">    &#125; <span class="keyword">else</span> <span class="keyword">if</span> (payload.<span class="property">prompt</span>) &#123;</span><br><span class="line">      fullContent = payload.<span class="property">prompt</span>;</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">      fullContent = payload.<span class="property">text</span> || <span class="string">&quot;&quot;</span>;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">if</span> (!fullContent) <span class="keyword">return</span> <span class="title function_">createResponse</span>(<span class="string">&quot;Error: Content is empty&quot;</span>);</span><br><span class="line">    <span class="keyword">var</span> sourceText = fullContent;</span><br><span class="line">    <span class="keyword">var</span> targetLang = <span class="string">&quot;zh-CN&quot;</span>; </span><br><span class="line">    <span class="keyword">if</span> (fullContent.<span class="title function_">indexOf</span>(<span class="string">&quot;---&gt;&quot;</span>) !== -<span class="number">1</span>) &#123;</span><br><span class="line">      <span class="keyword">var</span> parts = fullContent.<span class="title function_">split</span>(<span class="string">&quot;---&gt;&quot;</span>);</span><br><span class="line">      <span class="keyword">var</span> langPart = parts.<span class="title function_">pop</span>().<span class="title function_">trim</span>();</span><br><span class="line">      <span class="keyword">if</span> (langPart &amp;&amp; langPart.<span class="title function_">indexOf</span>(<span class="string">&quot;&#123;&quot;</span>) === -<span class="number">1</span> &amp;&amp; langPart.<span class="title function_">indexOf</span>(<span class="string">&quot;&#125;&quot;</span>) === -<span class="number">1</span>) &#123;</span><br><span class="line">        targetLang = langPart;</span><br><span class="line">        sourceText = parts.<span class="title function_">join</span>(<span class="string">&quot;---&gt;&quot;</span>).<span class="title function_">trim</span>();</span><br><span class="line">      &#125;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">var</span> cleanLang = targetLang.<span class="title function_">toLowerCase</span>().<span class="title function_">replace</span>(<span class="string">&quot; language&quot;</span>, <span class="string">&quot;&quot;</span>).<span class="title function_">trim</span>();</span><br><span class="line">    <span class="keyword">var</span> langMap = &#123;</span><br><span class="line">      <span class="string">&#x27;simplified chinese&#x27;</span>: <span class="string">&#x27;zh-CN&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;traditional chinese (taiwan)&#x27;</span>: <span class="string">&#x27;zh-TW&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;traditional chinese&#x27;</span>: <span class="string">&#x27;zh-TW&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;cantonese&#x27;</span>: <span class="string">&#x27;yue&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;english&#x27;</span>: <span class="string">&#x27;en&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;japanese&#x27;</span>: <span class="string">&#x27;ja&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;korean&#x27;</span>: <span class="string">&#x27;ko&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;spanish&#x27;</span>: <span class="string">&#x27;es&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;german&#x27;</span>: <span class="string">&#x27;de&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;french&#x27;</span>: <span class="string">&#x27;fr&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;portuguese&#x27;</span>: <span class="string">&#x27;pt&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;russian&#x27;</span>: <span class="string">&#x27;ru&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;arabic&#x27;</span>: <span class="string">&#x27;ar&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;italian&#x27;</span>: <span class="string">&#x27;it&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;thai&#x27;</span>: <span class="string">&#x27;th&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;mongolian&#x27;</span>: <span class="string">&#x27;mn&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;uyghur&#x27;</span>: <span class="string">&#x27;ug&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;zh&#x27;</span>: <span class="string">&#x27;zh-CN&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;cn&#x27;</span>: <span class="string">&#x27;zh-CN&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;jp&#x27;</span>: <span class="string">&#x27;ja&#x27;</span>,</span><br><span class="line">      <span class="string">&#x27;kr&#x27;</span>: <span class="string">&#x27;ko&#x27;</span></span><br><span class="line">    &#125;;</span><br><span class="line">    targetLang = langMap[cleanLang] || targetLang;</span><br><span class="line">    <span class="keyword">var</span> translatedText = <span class="title class_">LanguageApp</span>.<span class="title function_">translate</span>(sourceText, <span class="string">&#x27;&#x27;</span>, targetLang);</span><br><span class="line">    <span class="keyword">return</span> <span class="title function_">createResponse</span>(translatedText);</span><br><span class="line">  &#125; <span class="keyword">catch</span> (err) &#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="title function_">createResponse</span>(<span class="string">&quot;GAS Crash: &quot;</span> + err.<span class="title function_">toString</span>() + <span class="string">&quot; (Target: &quot;</span> + targetLang + <span class="string">&quot;)&quot;</span>);</span><br><span class="line">  &#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">function</span> <span class="title function_">createResponse</span>(<span class="params">text</span>) &#123;</span><br><span class="line">  <span class="keyword">var</span> response = &#123;</span><br><span class="line">    <span class="string">&quot;choices&quot;</span>: [&#123;</span><br><span class="line">      <span class="string">&quot;message&quot;</span>: &#123; <span class="string">&quot;role&quot;</span>: <span class="string">&quot;assistant&quot;</span>, <span class="string">&quot;content&quot;</span>: text &#125;,</span><br><span class="line">      <span class="string">&quot;finish_reason&quot;</span>: <span class="string">&quot;stop&quot;</span></span><br><span class="line">    &#125;]</span><br><span class="line">  &#125;;</span><br><span class="line">  <span class="keyword">return</span> <span class="title class_">ContentService</span>.<span class="title function_">createTextOutput</span>(<span class="title class_">JSON</span>.<span class="title function_">stringify</span>(response))</span><br><span class="line">                       .<span class="title function_">setMimeType</span>(<span class="title class_">ContentService</span>.<span class="property">MimeType</span>.<span class="property">JSON</span>);</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">function</span> <span class="title function_">doGet</span>(<span class="params">e</span>) &#123;</span><br><span class="line">  <span class="keyword">return</span> <span class="title class_">ContentService</span>.<span class="title function_">createTextOutput</span>(<span class="string">&quot;API 服务已就绪。&quot;</span>)</span><br><span class="line">                       .<span class="title function_">setMimeType</span>(<span class="title class_">ContentService</span>.<span class="property">MimeType</span>.<span class="property">TEXT</span>);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p>提示词直接换成<code>&#123;&#123;text&#125;&#125;---&gt;&#123;&#123;to&#125;&#125;</code>即可。</p>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;相信很多人都用过 Zotero 的 Translate</summary>
        
      
    
    
    
    <category term="实用教程" scheme="https://blog.cancin.cn/categories/%E5%AE%9E%E7%94%A8%E6%95%99%E7%A8%8B/"/>
    
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
    <category term="软件" scheme="https://blog.cancin.cn/tags/%E8%BD%AF%E4%BB%B6/"/>
    
  </entry>
  
  <entry>
    <title>2026年3月记事</title>
    <link href="https://blog.cancin.cn/post/bc48e467.html"/>
    <id>https://blog.cancin.cn/post/bc48e467.html</id>
    <published>2026-03-01T15:03:44.000Z</published>
    <updated>2026-04-04T14:01:13.342Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="fa9c46448cc2905df2fd024281b56de56c8f6c09d6e7d07342a9c994e9d13ced">b527adb5a92036c5a06566c4516d34261e5587685806dbf1e2d2e6bfd9df1711f3a11db336f573b40c56e2ec25c4f2c1f9321f55e166eecd76e2b861e44d4d11a3a3646772b42f60f10204f12a4843b8df1bb988e34fdbc7937efc504ada54d29269ff7ca4f60894f8b37812f5301aff7566e027e7288685fca77fd27dd8adf2b68ab2dbac7b1d3374d188fb8bfda48bfad03121f4fd5fb0710952c25d50e41d8d1f1e22db563c5aa6756d31eda0b19347ee814bd07df133a95600b96f494a10894935866b57c60b20f15760e5ff5ede9972d97704130d1977c4992dab030811bd0ae30b05d661839f654fa1c9e2f8f207f6cffea3a1f7e7f315624aabc2cc771e8ba9a7cf4a9825263c01f0c05b725634ab323ec68e33f7e3658538bf723216b3a5c37740e6f44813ea520d7f0e77df43d8d6b279b65640435ee45df29318e949a867e573fa3a7b5f19e9ee1581d5571d3c7323c4b56a5936379d4395eab7f120b735894b1d9d0752c4fce4c8e08271e4d17d2eda480e87f1c7bb84b695c208b00d9b4648449639b556ea3f75701cb2b90d8873d41b2379746fda3968cb920132006550b1cea305ddfea80e2e1419466aa597e1f55ad359cfedf90fe7847367b45878388b289bb4788293108f675d014619fc2d17e05d6ae1d2e15ef3118841a2edb16156b7f51d35e86fc0cff0c428d5f8e364c31895eccc62cdfc7b11a78c75064b1c4c72ea6333f7a590a214697773df74a9180204d43f2a508e01405d2e2516d2ed63d53e0e487f87e07bc295430f7e991c82ab6e1d8f340700ecdcbfeeec9ed309e196a6fbaa8249beec3f0fd1421780a25125b6e64562c97b6e371eaf7525c14e9f71e6f463382a870ffa13438b81a37d6983746f8f65b0c00ddeeeee4b09af94b7062e154a6fceacf2204e68fe1062a0196ce988e6d512ab6c1dc858bd8371a8b9856d698484cf3b2f73d839c54181739597f713c2e50349228d4c3a8052d130e30083fe3de5844d22c6699184009a2d696e0c338b13a57f35d6c02d86506681ebabb244c46d67133663ec0a8b41213a9e62fd7d7ea12fa4acfeb4cd052856113f2833a04db809e75f0a87e292e05959070a3e49602123447520fe4c160f660a156e735b92798ec33d20d125584c1a5b41d5f781876ca612ab31bc87a7a9805c608da501b6ce2f418616a89c6067e9ebed7756aaf5357f4ec60b092a4b4ae137abbcfacf41809b8987713cf19ab00367b9866fbf5a2e25c028873613118adca62cb5126e3aa2148114341acbffb3396d993c27aafdd2c0d54ece8a95011ef3d6ece4021441d6a0616e72fed46e72a99d66d3ab18aad43153ade8d785f906caad5a4ff81f2fdfacc5ed29af144999c4fde1eee9902ccc4309257af16772c2e248b4b4d207431d017fd1f1e041db127b026d667cb090429641438ae33576ba05bf67857b1ef15d3e1bd5ed84224d62c60e71433f66255d30e60df0d683f6ca390a593371d936960a6d825d50bbad50e6a3251bb798332f9e9d3efbfffd2e841785762367a0a6c0765eadce8259ade98d64778fd9120dba2f4ff23199242d137da2e1a0221b3ac1c425eac4b7a0b148b203e287dbe0d1d7094ce3bcf40ab45da42d26d5d48e0e088fc4d0ca3ebd3205ff9603fb37a70e99c726abb0b10385ffbf92aa0df1910c9ed36d4d4b68136472343274cacabf265df9c712014959c507f92b6db6b02324db28613e2e7ecf974cfccf0baef36fbeb0f4850e0a0060a36649801c05e958fc6399153233d3381b3d0e8fe708c51b12e254b7ecf11eec7c843b0dd8f41280b8b10c04f2b41cfc5c2b20878813c3242b3f86355011fe34d61dc855ac466a6007d471ce776c04c811bb796987aae7f5c582d3097e865b8713849be8c67997975441690f92ffa8c7ea2c3e95aea984fe4b5ed38f8f6f835364182ab64533923ae93e9495038c098b204132a9161c25559b563109d49d4916b3c64e5b843ed59ed0565f21f66cde404aeb8d2a137be829f481cb891e8882254c71fe0080f86de5e83c089fa71692c257b876a246d83db7a67b3a881474a4e9a19d22bbbcab4c482be76b171e43aead4773361e3b601587581eef3a7d6d3baec816dd63f65444be07a4b78778cf70a158c873ddc17d59566363d1c514b4dad7cfa92f13b0121383dd1e10a7d2dc2751b96e0ce1c86d0437fa7c332e0e26a9ece71969a2182e93834fb3e7324194d80c7f795da6e891e5967d18b2628ba48a7e52dac44b860ac4256c2a092c9a2fde4570a2f2085dd26131707b991bc9f0a69e6c94919568afd596af07e4f0c7a35dd4cba97a87ede994b02cd394c84e9c67c231a5ad743ff798cfade12df382ff31f05b497d231b3dbad49c23463fc2912bfa6e29e211d281c650afbe6ba67e6a9e313e8a3ccf2f31ab027d043395ee208d3ffb71c50b84bab35a5243022bb1eb1916910ba630d8df1e52ada3ae8a231d6c2ebacd50bf82cc2c06c87c8eb767c697179d577171965241e55abd37eda652e0d196c8453c354fbeb0cc9374ab629d199ab1505dc01d30a5d7e093204a385c883aefe49da27efb64a163f9187fdb3fd1f043e44493b84828c55244720a0384a86561147a9e4be2c472d3f3338f7d680f43c580233c4220eb37ebada46afd8fc87f1576bbdc298907564c7aaa428708cd26509ce5a2040fdaa3bd36220a3c92c7ccadcb5670b0ef479469940c21c84b3933ff12327803942c579ede1d749bd5c11b078fca0d23e61bcc6e10fca278f35532155446c638ead384bce4ba46a52e039c372bffd13c81f0c140c8db7bf8272a180a948d769d996a275fff87b117c887e9e2e9fb63ad01c0ba563f193f509016c14355914cd7401351f9f89dfa3f4e031615cbd83b8d397f3028466cd96ac69f5c9cfc4bfb6a4e4b62872c76e883f7b5b324071a7920db3f2007ecd5a43edb4604f44de4aa9cf6b08013da11ebd57c26fee95f424bf52d0f71ea9c6c4966aad7b0919bc3c5703c9d396b0049159e4aa043be028845bef0721077d6b0d4c089733a34b4975f0dd3aaaf8801cc8b35a22265e0767b6d3e87d4a774ce7c96240469ebf56bd30c37db96018b316b2241ede4d988a81e3f3237d18e007e6cd336d77cbe4d0c39b94270d1fb1c788fd80107599de6f789a0abba195cb3d33e70533012e513dd947ed541154dbdf6833ce4c8e427f0536e1a7c97d30f619824b60fe13f0fcff80e12dce8ca770c9990ff5c459966a3aac3654746c1432660483fc4d36b3fe719f2b14720e42cc25200f06d4fea66b43f7b3ef54db1f1aa4310d41b2fa3b11bafab42184ec7a3313b3ea82cd48b1b61afc6caf37517efc2a5875cd27a8038663b62b59d273412b710025b430b046954f3e9b2a3e8b8684ffce7b94a2289d1344eda40c9e34f3633d463838276b8c35bb0967427e0f05d2a6508ffd5439cf98253580724927ce69ff9c1885ffe91a49194e913fdaa92f6394e2606ebfdc02fb5a4df8f0b8fa1bbbc9917a86deba0e53085422cab3b9ab5b2cf443480b7b8d95a979d234f288fc490fc1e0f0b060adbf47e286d4e9f7cd3ba00cb0cb2fd34b131c461cdc75263b7028339a12390bce7cae010fb1c424dd0dc7eeb02cd5b79ad8bed5c5d705b4f86e36f244ea12545e618975ce96ff4fded050770f8cc5a0cfc2253ddd08f787805bcfc5692f3ebe0dd36a0b960db813f2f54bb4c29de28ba0245cc437d84938b2ded672fb0be4453ddb1ddf82f6026d019d37cb8549ee0d34f798e7767947b159980c718cec1666b22a0c7151130c4a8140d63843edb004b9a66d489f41201cdc7e9fdc843b48c7b7f249783f34ab666e02f4fb12a90ab1ca45764b753ba12e802cd636886eb8728806a460f5f195269d797c1fba1621916f7f37cdd5a84bfae5e004a87fd72970465aa0ae883a4a87332910e0518cee7c73aaf5c651c7f2fb8a3b76ba92767b4b022e22c055b550657d3116ee1035f72ef04111049aad031b8b90f1bb3214d9e091276ade1189e285408bb2922b402cddc15eb09471a40d2e790db8d5e99cb84812fdf7c887a9240eb92234dcf596ca371c2caa1539ae9b3b40af02abade3163f500ebb2f09880a86c24d8e5ff8d03219c590bc8d94e52021dad9de2637643c96820de665afe981a93fdda48e94adc8948d653a7c897e295a55500bbfcef30f8fe853a6e3e7854e7a0e33fff31ca73b670d42ef542f55f01391e831b730ca911010fda68d511a25303fb03c80d88380f6360b8c631e7c6843208926096d24be8664d68f7ad068f57332241bef883ed0fa69444dc196f0dcb626dc259365c23508b465bde79103fc6e4fbc202e67960f56dcfacaad9f73d3e461e3bde90dd9e05f0ac9f044f731b4cd284d5a76d7d58cf7e15e8aa6264ded1942e66980d77740a68c3042217c5f10e4e1005e95bd5d8e37aaa0f00076aeb1d6849a0d5b659f162f69d1159de905aeb4c26cafe1b9ef14fb57d2deb5989590bdb3bbf16a596a2e7debb051ba27896e263ea89476b646b796256ec83927ee636c05ad2b52a696ce51f2c024ce2fecaf67c14c843ab9e8e7c352e75c5d744500061dc2f7c18ecc8c7cf15d2e79e4d24877f00ab7d4eac14fe1e023dbd21adf9519bf44d882ee8f594126a0969037ae7d73e109b7bb227dd03db410025701f0c3680bb5d1ed18ebc34c00c2a082d4aeb8eb0aa122d3c821a6c5a0edd54e8f53808f5b8be687fd88f10ef4a25931ec904fd032e1bb42fbd42bcc952d214aec8adece0ed044d3e73e05097261db0dcba065a309f8fb123a204bacbf33aa2d7ce52c05eb3b2a0a5dc122caceb2dc4bde4b0f3f32d20f242268a79ca6d9ec236ef8bc63d42415f9015ed30d7a685c8852fd26450730223a6192348522a8ecd0c74ffe0e99883bcc18cd338683069caaa4e0d2c5be5631b4d4c1c2968312a8f0ae07f2c3e93bbca5743dbdb5f8a3c9b0c9a309a99b1f45044cd70fe4e431ee20bbdc1d73fa90b7c5de4f91df07e6b08c790cd75388b6424388b5b8ea2f1e9b1a64db4a9c12403d5a0115aee16842ce3444d7caeb335d3311260e5a1e2863b54d833278ee6f784bb49f74e6d40c0b7590720857c07485a62f5eb86779a930ac1a4fd691aba24a972c844618917788e9720933fd9d6e56c919fc6149179d3cc6613cedd092def4b6c37ca02b7509df42cf7cf02d6b6209f8422570dd36714e5a6280df66c2a10d1aa3fda016d1ad7d284578848cb9df3393e0c8913a007bc9a714012f359759f8c18dab520974a1fc49bf104d645de97c07869fe82788f34202949314807b372ba297a631a4a942be5c5497436f5ae794c62cbee4aa2f0b32b0c88195612ac1f606d7d491bad00ff92d635e016d8adf26b7ae52d5aca54bbfce28b42109fea3817b6eadff18b909f65152e827c6374cccd44a0562bd4ec6284b265a970a0da594acd90dc8a6ab375a34608463bb921040e3d33edff0684cc4768b4a03db985b85c2d8891cd7c3ad14b8ca41ca5af76419274a926ca450f761b16bafa7a06583610be6a85ecbdfc8e644c1283385a4c45ba1298d923bd75c21a6806318114002d6f4eaf134cf6270da112e52a68b2816325c510a78dc46e1162b4218c78e32be72d396b4765d2306fb42807f424b31814d75ee10a00f011666f23fbdbba259ec8af5d5ca0e5dffe7fded97160b19ad66f18dea80801c3c2afa0cb633675e199cebae9e27bd313559d77603b97157e2b68d0610ffc3b85b525d4e8260dd2ec3be646489b6012c0bcbefac74f82a952604c69df825b1fdc49bb4131e8b7c6d4bcd83604776cec905e7fa921cf1e65e5e908063fee98e92a96945d0c85b617c87edaa71dcca8df43966f2831d2797658d6ee3d48ac009d5c9d0286e02123ed70920bda618561f55c84f7dd50125bcb27a71c17659d1705c1a95b27a329edbaf9137eedeb0b1a5a07f0a80e45c95fd86a2c0946e1ccec0e7300a4dc6a477ae5d2ec68bab70b5f41bb058cf74492834d786370edcf6a52638d6b6b513a372be8221a5dc959fd2f4ca480ad69d2323431d169d98cbab78e11c5f883a7245ea8b0bb9861ac83eb3084551ddbc750d6bde8fae98bf31f80f1ef5cee653400daecd935d3d445961172effa73608dbc93d40275095e6cc8ac524256cdadb140ed4235753795b934d0488d6def21c0af1125d212b6a402024318cb331dd2239cdc019af599d0ac25e859e365eb35e2386ee60e90cd6dfd27b045181ddcc6f7487369b48f8e1a966dc6f45c215b9acb88f4967d612f972a79e979b2aaa22cb6b3a9d15c332aa2a7cbc87570ecbdaddc8d04944290463076eaa618beb370ef87df56d9b400907fdcb50a9044e1451b358fe4b060439dc6ad703c584cace50f16fbc9c96c7a4341026b66fa5d63a79615a88a74736b3408a71ff45906cfd55d622f59ac3124084db893ddfc838effd014bc9161e1bdd15d8665d1b697a0feabbb96385ae8c0cf38412ebab364051903dbcfaf7a00f988fffcaf0115afc7f1c8847216824a683ea8eecb2afee7acea780b894eb815147ab38179e432d97202ccf454f21cfbe7e3bca746ea206a8907c3903405b9526cf5c06644b20d6b5d7c9e9c64152a47854e611d3e3010850b5ba42eb9a4ce4069b997263f5e79aa5fe6997045e959e5f0dfa1a60696c0c85328e8d9f06306de64d308a402bd90271f9217c4df5d7e26d365ccf9dfd34137d9fd26f835d7e9c4f76695c794daf18b0f8917a55e3abdd19ea0ff08d5dbb9b475e7ed31616372ad7c4535f64029bcc254f0de8ab70b6fd1b0de2cd3e5d842452b029f5f05696a6b007adaf24fa57a7b3b3fb13d0499b048b760fa71d94f6118a09c905c2087430c617686ceb33b3a5a5c8b9d12eaab370bd55ac7e1fe30e3f45c29a53bf043ca247eef3e3682301835505a325169820b96179cb06d189b44657facb19c40d1273cea855df46e85f4d8d6d96adf71ce2dbce6da684cfa211de5e72c3fa64086b7146d5226c948547ff857fc06b4c0783e09a2af6282c4f28f511a852e63029797d5b128c8e152737afbf4dc09902bc838a57c053472c767f6c224d8ef40ff631a0724b77945d90192811b8ed1e7301e585ac6b0a290c1bf12cc5fdef1e5374dff73d036c7220f64221ed58666d9f7791e5bc783332ff3d40410fb8ac96ad81b30adc6e558b7ec2a58940d074f9696772404666f2534f1cb84bc5b44afc289205b77a41a7735f19007caadd75f3677a28578070c0fa0b1c5665c3d14bc97f3900c0941f5766c831f583cd0594e6b2d8348a174984893cd3402a972b77f6e878008db567ace683806837fd3581bf3d0aa9f5b541f3acb7e40c635feb08339918c34cb424834369783f822be18e98faf8de6313e6c3caf17f2c20211c105caa6778d284615ab04ad09cbe470b1606f9329c6cb2f60075d4341a6c15d740976d80f6968e4d8eba92b21b9ad4ff613a8882230c034f5d1f6c6353b96cbb6af07820dbf63bc18d2866ad91521b71e69e3beaf79555290638cfd60558dabe4547d477e9e997b67636e422623a1be561f2b04118863982fb2b1f2076ae57342302ecf78880532d2e854d8a5a9304dafa23d79305430cb7e4f7d6e4e3716ce4c5ede51cee6ba9272209a5a537a53212a0c8b71500498cecded0e4cde548aace2ce8efed9839b99a4905eafcac78e1dc0e61275490d1f247ea6174034dfa0f98368648c60d3d43aae1d995c804bf6cd348f8b2b2ef6fa8a7a78405a9833b64f8d858b457355a7df9f256ace4c3ba1b2000479dcd6a26a99c312ab9b3a78ec08aad408467527037b60baa9141a16ebba63114512b3e5d4cba93ff0d82527197e3484d73ead39780c1433d08b0f596ae5c2877f880292588d6ba66771b968e80507d21ee12b1ca73e66c77201960cf3b40408643bb0234a3bab699d8f3e5ac68247947bf43fc8868ba10858321c350996852bea8500d0902c13007b4753867f133687c4fdbac6bdd9647bc0c35dcb15a5135b7c895d9845ba69c0a93f6d404b82a5a19f2adc42b546b4b28ebaee1233bd9448e6552fed56ba4cdcb12d68288277669c3d368617d01c2d46d6ccf22e983defff40de306fb476ffec15ab9536712fea4994e8e878c7b9a48e1e4218c9a88e04bcf5307a9a7a7251777c8c683c3a64f6c376b74db9c218d95e7fe4611ded4eefd938a66da560ac8ca2d49a86b72f6cc62c0de8be5e24486f500d896e6679e7c3064aed52f304427fc22b874d9a59dd4d0fdbf1aa1ac1023c80249d24d9846057e50a12c3780c44eca1b925af7d48a6692bb3eb3b7525a8f10750d5bc0a95eaa150e383961d1085007544352cf47cf7c29af719795e5e119573226d14fc80680badc11b7a263d856b406625bbfddc0180528544ad6eb7822cf2039d264587a1b082efb3a3da56f2553bf0fd5dcf349730fc21c11051bcbeea53c35f8844992b23161a6853b39aa63b001408b15aa525bf2709af9e082e85ceb5bb7f0379bd26f047a25bb7b4c0aaed7a1dd8e34c49c67ee4753916b923d6bdd3afcdad9b57145f29d92f33f7c4d28ffa68e7c4162e6450b21df6fa240c41aa1b0e106582199791f76ef9928f26446b02e98b6f77e33de0180327056aae68eeab8315c848730b663b10859b0e9b4dcad3d2d5d16f6693c1272151af4c13d98f1d18403abf404f6e9c24de1d15e31dd5bfb47fc55e048dc274f484bb4760101cff0321cf036ae5239f7aad3b2470f1ed42155d44b9bb4ea65c515a3054ea179de4a56a4bf920959859ecc6b1d9067a9a5a94a1cf78a4811bddd71f235b9ce18e125025caa49cee7d4377ab966cbecdffd7dcdeac3ec53a38d9045797682b6063bb3fc6a5df4ce206586f8c3f128292fc71fd645056cd94dfa5f7346d373bd3ec772133bd2f2098bcf39e0624eb0d47b38fe6482e99445e257414cbe3513bd871d0d567be799812293f7f1cee1571e3d14ca046c821719140c12f067f77d35aee32cd0ace4a509326a2fd1e1aa6481c60947336823b3e32e88403d49127cc328e7095675688655b7681b724d20005db90a22ebfc2751cace7e9ff508a80a0fc75eb91161e65d854febddad61fec2011ec9ddc14b6dc1a2f522203aac30a2a09564770f210a09364ac58934a034d155bfa27d194b04ad6e42d0e9fb001bf336ee95bb0eddffa059e87dbf7b7aa665e6b975dede6ebc35ae297f0728e1d3fde16b893200ea1ee23ca752edddac9e679254dc7000a6fb837fcf7587b23c579c45fdf698529bcbd2816a43792f876325b58bdf86bc10f3a0c2e449c46af9ed1e287e30763532b61b481188d78b627e78012ad5ee7e94789c5a495bed578ec7a52e480c8044dd128de1ce4f48b8d40ab825acd4c1f85bffb37e6d49929ec2b03087f0cfc783e345bf3581c8b5d0efa91811a47dd082283f541bed1071f3642fdf838b117be57e761180e45d57b0e6eea962007523fc033c492f12a6b2d101160c51631abc4c6677d1777ce3c8678ed5e66642212a1632e3b6b909b746fccc89cdc1436051e5ce0938a8f342c601805aa4b63e9754b41f534102e6bbb8d83c09c44739efeb8b993cdfaa202d4270d0588e205c4f7ee4477cb6a2e9ea34e4b0a681e3f03a58af61d10b13fb6c6f91265dbd5798184dacd09082cfc1eeb0d37c75eefbadc595cbb80bc31913bd42ec4c44ace374d30f9d61164de8b4f216ec3a55a213517102f461334ff53da5661cd61a5e73bb50fdeefe0992f9d15c28c8e854700eb0de02bc8aeaa2399062f50de404ed484dd4727a966317097f10dd553845f12de868103048ebd1267b54b1f39a5896ca5bb7034b3bce9455e57b7af18d2e16b47fda3568bb4fe86fd617b12f540b2d837bad675c6eeb2f35284378421d4c75a8c990ee4f99fb574869adeee9b0c8f29f11b49ce335e47407d702ce989fc6c3a0eca5a3b51c8beb1c70db1578969dc594d5559548dd07af1c2bb545f0f02c0e1310c8dd65c27474ecf4ac347f390826efa79499a3f8373f44e2645dc5190253950c775ecd35825ce51f297460f87e4ae6c0541cd1b03335f8ef5d553e946e8431e02d3b9eff58e35d8b99766905a6d8d71e9c4ff5f23cc0081febe228262a721acd6439cbb72627ef8c4ef9890f77b71526482850980e669625a09947aae2f7a821340ead943583190ef3387c6c89a6e66e81eb84efe7b8219fac9e3537e9aef4e67320bcba165dad8f9782ca84f2efac4ef8d21354dbb31d896d530a7e80a7e2a18d5be07781714e5581f6cb75f26de19f5f9f8a234571b98efb0b2e8eb19eae106446447ee807749f80c369db20c760663e773b532fde225f682ae4fc38193a94c5c32ac6203c1ab8e072332fee8df8cc0b179a8cc41c0ff83046bcfcfe02dfd54956132bf25418e91072e8c5193d45f227e4c002bd424ed302dfa671758e78b1d0ce917ce20a03cfea2520febc5c5cb0d9ab2094125734a6ae7cae4d49f34b7becae064e597716fe128168c46b5229069ee632406567b8f0ffaca6e19b8c80e0bccfa906bdad68ad72568b1aae9f2f4c62fe0aabc7f178d6f797f5699d791a4025cad631cf992c2cb20848a5fe0b89d4fee9fad932d8cbfca85ed3fd7b3b2ae81b41e1343031b287b7816165f064edbee1a66525aaf8b9b8d644ad6c04b772d861c9318b94680841c3793172c8cd6cbc34428c23eb8f275be1e0e4e820ac5eb70002beca5f83503d617c5b96d1fa190d7e194a87653fea4b5545f03957b538fa7259b89b41acf3f1c976915a8158943dbe134dd0e8e4b0f619d77fc03befb8e9eb2f089dcf0e698ba23ef0188810179adb7f7b47638dfb126a549428dd61d91c81ba2fe3e48b2d03e22e0981eb7fb9a8373547dc37df3e7b696ef37f14ee0dddac5c2ebc11d90e342791c22301db94ca87eab1c5abf1aeb9ba4e3b049cc1d34e893d86092d6304a9dc0d49734c8d78285df80b3e7472ea07a319e1b3a42d0a3e642b92e9f590a79de3c526ba05559d235808e87d4dcc738acbdd86c9a596e8c4eb3cfb476b6e7e40fa3c5df9ec1bcbdb74ba38a6015b8008a92e3bd6c21833a45f04f0d853fdb1d9981df10f6468321c5acf52e705fd162b53b728f840b5d51d8a66c81d00d14d3dde6cacb95a041f2930c69e1195924aeb328731a3fab08d04de40a912f90bb554966cf20a76576acb7dc6d1d8b2734bd9802a4798e6d71676fa0d1df5d9dbd9e683dbadd51d8534ca56e217c8b52a355dec76c51da0d7b77107791f90979316b58faadc718d98e916d0d9f3231120f1a927ae3d7a70a289ac1a93843a9ee5014ae6010a5bf408324927da5e909d950542f17d7992ddabea136e82d8b90df9bab79cdd59e15edd40d849d873132fe77171cb5fb382be4f42872a58ac26358f22c8dba6b3634f720fa1cbb6ccbf37d016aedd8353ad1276fac6a54bce38f0f70dba05cb925b5cce5449fd29f3885109b4a74d2024b511ce67637a313329f1a2bb3548623eaec91554d8446ac13044b173431186817691742bf56040d54491674c90e41e3056fd4b40d87d9a1aff3e81fda57814e91f4627cccfc9beb3009393a007e3cd605b6053815d088e68e046a1f0f05f656e4cc93465aee09f627b7b6ec7d27d87b1e4aa7329b55a1755db7697d21154155a6a5aa8c5ac6b125ff9f3ce1ab8c4aff20f1134a083bc3d5968ba635a17d5163c16d06c6e0fc6067e61a0a9416f97e29f119f6b9fd89e9b8955427dc11351c702e2aa09aa24412161acbd177c97c30105df3f6696de130ccf6a2da1af24abbe93564d187cfc1b443b305976032a6af2a6b9354dc83280db8492314bfb457bfda6031648cd2c7092f3532c86662f8389647060d557988dee87b7ead66847c57991ec05ee47747cd278d71528e4d73e04f7bd9c223b713e03c0349259fd3bf39927a60617de40dc923ba89be6d0f9c6caec60cebb5c2a4fc211678e8e0b4b987bd62dbd7603206ac98ba483bdce9de4a829643f21164b3e09ffda1a1067396b705b32374a48bda09bced1ea7a0b7799e8351a59b8f437357492d1704d67bb8272bdc2b1257ecb7aa6e1f5c023049e867dc7109bdf3cb2a2914a97235052cbe845d703ff87b5cee1220125ffa89feaa13dc02e3be734ae9f108d50754356a9f92dd86af8d9f092b1d1cc8880d46ac2f9653e7c30c9fc29ed62cd522d3379f845798053f37c6cb71626c4d7b7f117acaecef9349c3775877a023947d28e038709539b04ad525385a03d7e5c6f07b3de1475ecec87bf89f9b61b6de70a2d89fae009ee72a96cad7a7edb48b5d84050c13eeca43116c3bc0eb881c1ce23aa633fa4b7167de5f0703129daf5f09641709db58a1450e1479faed4113c3498c5de8df650d7389a0d6434b42dfaa0398a9ded4c06777529a2228a49865a3364634e95395956bdf293fc28e9fba5fadc18844c3e6e74f88f2e406ead5c710f055b9b169c7530f6adef91d172ea81fd2c1a225f016c17c535cf082065302a37d8fef0ac0f7f21b55a65ac13d1442bb610f834507f1eb1395b5f7d138a7f726a0ea880b4e19454361bfba5c4f29fc444e0b32271c6fb6c2f807a4c7f9537ac154fe81ac1807bd102a52c14c81380294bfa17a0e919148abd6f1bff89d364a8530af9dd1d468f42144af31dad3f31c321fe7a625098dda6a2edc464f887f9c84fd5b7257d401fe824c14e5bf2de92d0f1ddfde16328d39787df526d331a9b751db04f4361af1fe01bf94a8a186ceb660a8eccbd42109b04bc8bffb62807a4bf90e5a78b350c567dc0ab3507f3acee191424f259660e309ba480d0da59c55dd1cdab96c2a035d2631004f848d4350e746c11a407f3bd19babd160a62180ce7c2aa943305b50a657504fbc32de036f2da5730c19e2306bdf1a47321d2cf41803bdd1184adc002b5e4e8c6f708ccfc26f2d51e61d054498c0d940003ca930a99aadba44e19bfa0471035806d506274bab8d0180c6ca62891bf930534d5c992adc92b68bff83b27efd2c571295ed8b47c2b94d6ddae3406fc4273a20c1fd076d759936a83116a376979b7fa4dd3327a50de4be0c1a33060644721f0f492b0d7c388524847f6bf4631c1a5a3f7b4c9d9d8c93f5d8d71f2a6160e6bc18672ea9ad4de6b960f9fa84a6af09f200ff9174be1173b3606c540b8cc70810d09fe49683ba162c406e313692c4f52195230868a0ff5b721cf4b148e59e4e6d94537bde0fc732c6b2803b3a45dfc1c172d23e0c8f911828fa819c6d68d09f75d6b310ce876622fbfca70f56b729f8e7dd167e2df75bf00895c9462b40984c07a488f20c9337bd36c9cc73240f15ccd045dbdb9a4a5bde6757d260cdbac16d37fafc8ef71956fa05a530bb42ade29c71d39dccdce3c47338d531efffd4af480aeaaa4c7c23bc8604400fa898b8cc6a7d86c8ee3256435df3303664a65cdb2d5c7210e449a88ef63533db0b5a6ec9535a891e385ee931d0beaaae01078f39322fc5f52701cbdea62e9adc9fd2663cdcf14468a8da52b8e9af6120946ee140b9b217143b90e72c89fd25477b3224ae36d7d7d1f4299bbb5b2036ff1e39e71018c2e65a4128d73968a5c18943c13d7059c8aa6190bcf601734c02e09bc1401cc7eb90706af02aca5ce938d95d68c0d099578b2d4cf005d53ac1bfeda162bbe002aaf4cd06a08079fe2beeea7476a4a76ecac9359b4cee92b9b4ea12995db65f870ee811f9b7a0ca1264d612e46f4ad673e7795869a5aacac6132dbdf78681e71a6069e1742c44a97226bf864be7acbbe608b1112bc1be1b2ebba977de83159ef1a6a21434aba955d8ac5afa86f853bcbb8b03c0fbefeb9dd0d3067c79a6c4958a150e6622b2f677e403311dbc29048f324e9411d8ffd7f28128758a91e589bd6b66286a4b1ce657dd657243928e29aa22eea307e2a698e05281d9bd2a5f92839c510a5f16d423f4da024447c531ab9701ecd5ff05cf9510d0bc46557a75c216a30c61b97111eee4a0e2dfec4c2bc35198549f3a7634ba0b0baecec15e744b00e86f38ad149f7e91e0662a371464ff1eb0aa015aea67ce39af6ed405d6d6459f6f361abfbb638e6084a11f71df0e7d0401132e94132d559c08eeefd64a3c9b26055a28b2ed5f27b8187d43cd77352beb682644126c0b2ab9b03cee3875f5b4a254c1d6627b963277e2934a70a5ef63a0051f853e2370aba6a649c8f2a8257003afc7beed0bd9a8c5ce363677438a90395958e5f3022a0bb2d26a27ffdc1feefe9ccb8413e3cfe4f441a7689b858a61a74ce0587c0935ee34476c307ead0bd87e04c93a3bf2a4c2faf65745fd7fffe2ec5114c1618a466d85f92536da8c4f9969200ab77cae10a01e5f0e66617376d884fbc053f64853a3667a62a5138b6aa45382719fa381b20443587f5a578beccdf40103e9bc9946d953b44a407a4ba5d5f2267a48c9f7aefcd103bc6fc2a5d99bfe9a6f5bd7ca143962a6d3363bfb27eaf998f537baf8695987b0d4db74031192560d4425a712fb824d6d73e7a93e17af473343bf93aaeaad0c234afc898d6154a20d7477565b9eb7cca2a723565ab7ccda4ebd4ad5acb5d497e0f0c3fd8831767c717b0b660cbaff41d3ba4eb5d38540030cb8ee6c70117cd1a5e7babaebcf3899f55cb326b9b6600ef0db81a06aa0eaa211b632a3e8617c9f5d6515269edd2467476320ed3e9f0e439e8f23a90b2f3f0f4d0455b6e97c052781357b424d32684df25423ef50231399fb2752ef24a46f61d56370b8ea283990044b592b7402f93a2ad6f5d958bd5bd9dd61caef1396da461952fcd505fcc2852acbf5b29ff17fab99f391752af1c36bececce76ed35cb2e3b407846a57487655f58c616da3f7e718befe0a26d1cb4be2115def5aef04ff341492f88110b7e0ceb0380c339b6fb158d4785049d5c41edbab78ba39946d57adda7f1675a29680aa66677c9438771a6939f2dc8f18533bc053e6895127df82c542b819d6bbc183f1ef1a9a3bf23d615d3fef5dc83c24db39edf5622dfb5aa14d23313642c129e4e14187bc0d041fbd3e1ba7ceece0ed5d317e41b12b57bbe4433b4ed88590d9ec14bdb5110b7c4eafb536fa14c05805815c390df8d083c889cae650c3852893c8c0e3610e7024e495a08ec311d3d9155a09d4081cb53a2bb9f950b0fba1f2451ab0d0c127b13191dc127ecdee9d83bdfba17a8c8ce10d39de47e863a32f94414f7890726cd2f38ee8f3d673bf9e1be09fefdb20ceabffcc2e89e410e316233ad3e4a261cff4f57a8bed6fbc02635a00597388fefe6d63bc6d2b8fc35d1196b162f6063a41f43bf4f04f73b93d220ddbc4d43fac24890178cd52bb8514e6c385f374d14f8262aba8aa5a0ecb70cfb2f364190b8a2e52a4531d3293abdf5563570404e491d2a967364ab0ee7b0bc9f70eb44aa0e16e6df0046ebac69dd8e64275f6a73b1a8c3d799d602521e0fc8821d8567c36beaa3dc0f873eb6de8972d331e5f4a38b522bd47a0378323695c113c3f74b4fe30813094ce816c79b4869696971ad7df8e27c5036b4e9f5fba43f6470573ae053a1b836830fc39c3c267d8d69673d0157f826ffeb5750e881e6dc2591717958da884f7a54d46d852d0ba315a5412c4e5c93f8b8826651455cbd8006f57ffa2f04ebbcab9464cf6b9d23769c1e375f7a6b210037a1087489599379371c80f9046d06e1a2d397260edd644c7b3514af716741cd619950c95b0daa17912b8f0a3aa0e94ce932b43beb7a9c7f7bce21f43fbf57da529bd3b8b6e6bce8405b2d0c4b065c3ccf13083ace04aebca2faa76e1f4066bb133178344aae5a4cca1de063fabc4a79a7e5a053017fabed4e33ee0fb13e0cd41a3372c09f4dc7e45731d8ebdb25e84b5b09033d629cbb134641d41a239e16bd0446db31a655e0d8f71e851bd3c0aa9e2e8cbdb80868f8646fa33fdfd30f50e98ad995776ea34935470bb2c2ddd29d783f4aaa88b80d482377f1958481e44b013f420c84700e0ce7f9f0e27d62d9c1c3ce095f0c30c374949c219dd2e86601a548652f06697b25bae2ffd1612819655b5e54a7deff157a09b9eafe2a62b7cb23a607a3f8568e31c0ccf4a5cff2d832f7b7a596592fd4f81702bc84387af1141584c9e978b46778073c7fa077de4261caa2cc95e76701af3c28205698cce4a39b484a59a166f4cf7bc382a36f05eccb6ca1b99262c8e2c78964d61935c03f5900eacf430430f3f3bfebdde5357a3aa2c737bdc2c17dea7652b6f247f054b71a9261ae733fe9c8fadf99289042b9c2c46ac06f9b16d35adda3a356930c22b1fd9cfd513f045e8c59765d509658980a94ef80ecf6bb4ae3683c54c15c1884e846eecf4acf357621872367cf8a4ab9a793ea0e2e50d2093ada845f7056593c328774aeed7be368e68d3f5bbc0dc3b6db4480b561b7d9bad285c016669271edccecd0fde6e92d5a4f4d24da13425ebcf1825a1ec8b2dacc6b747130db818689711a22b0b6c4b3132a5f8634fa4866d593b16ddf9eefbe77c06381bdf514ea1475f12d1578c4b4721905310153a781cedd8021ebcc31a31f7ddc0aeaefb680862da880132a147988a5c0f019609e8aa81325af71a2b04c18dd130f7794d6307896ec7562d6d291b18fdfba026b2f75a8ca23eefe35fe3ccc536a994fc779bc1334b1c8728d200abb4fd008d941286af45335c9a508a2c76a65e90d3e26fedd4816478a6784e1638ed3fdee9d1d1d75cd8e5b31382d363ec686ec359952e31723d4bcc9e8b6450df828995df9650e6b2bceeb373a97dcffc9a02f1f640ffeb52311ae64a00aa0aa9c2d59f9b6ee4424bfb333d6f8587dc4a47259eb398bcf7720a9595de57ac2d2a30829eeaa5bf971f56f42b9536a2b4fbad2e0806dfff42cbba21657119328cdd1f41c60e06ecab0c28a200e26f8da9a7ebde2e1bee7515ded90458796694525e91b48f7a922a086aca27cb4a6762a4981ab2270883475f5ed5d7b3154ab65a48258abd1a09de5e205cf052a71cbcc5222fe585a8d60ae69208bed07804f459ba1bd580ff2e53065af9a1b7f01fac5e271375a11b824cc64b04af1ff9b40456501773ce55d2747feafc2f83fbb27a8e39b908af5afa97f9836e44fbf6d2d8bcef620d8ca9cf2f493d2f8422a1225404be4f706dc26450e8516227a0c8b89ab469d43aa2e35ada0b6bbf2b2c98e9862356e125c3d9731a063d68895b9e7a8416f7c24c029dafba00c85f0f63ac41872fb069c14326db4f4ed3a548e73254c6b04ea191d3ce18a6f3042fd6ffeb11e050ea4e60a8d2d4557beeff16fcf620355669038aa82e4b5bf3016325d9cab7b2f970545a8e00857aec23c57ccc98b2e11c632497a46ec0dfb799feda553e4997debd670ed544cea20079b8bdfb3041586fdf4cc7d175565c9ff6a0a1543318bac7210d3c5fc4ef0756981afccb757ed9f83a129018438f49e10facd4c90febaf4ff16a9f60ad2c98483c511f1dcaf07e3c8102f1e9b63a42e276be90092bb4b615337a65b2af67716a0ba9458691669a253bb32ce06a9158f81d591ed3040496a952b179c4cd226283c412a3efe57eeacedc3fa27486c2eac81d84ab33275a668f741b40760a4e2a154fcc8502c63d986e19842b69c461f37362696588381815c481145feaaa4309ca191698dbacd6f02f82e0e45f2491979adf7e0364caa6c829174d4331f45ed80773e510884689bbd231719a81d2e0b188345d33b0396f60e1322ec71c1a48882efa9f1f0dc4379c4b6ffd5a1053076a2062a2aaea00b3278bc7151dba44e79ef82165aac7e78dc1218b3ada0b7f7ba2e32e31cbb5b5bff779ef9665b64210809b5ba67a8d2d4fab19475d7c6baec07e04cdc1419d6b75f2677fcf8a79ec8297aca4c0538146aae93cb45ba49df64571a35b57c5dd4f0c0225ed66270991d14bd3f022413e45a8eade83b6f0442be44ebdb1b310c224aefb76dc71f4fc5c48df2deae9a20050b3c4a25d6c33cd54abd327a995bbd859afad201b5c1d236a60bb6ee403edb6221a2b18360e0194d758761419d0ec47e5a3acd23a43eed91534369fd7c8724498c21b8c289a5a9f7ac2c3a2e05a616694d96e8c6241fd696b1a96e7433c22cc379c70de95370ea73d3c0e78c76494b4705b92243b616a81a98d72ce2eb7e59b833a87420c5a9b13742924db29719271ff4877f1c6e894b1e920bd45552130f13d8c066fca892eaeaa2322340a2a605e0c4c8b1e2da76203ea2b82836ad3d73947db78d0b50170d692860398913cdd84330af31ad3f5ea3219702010134975ecc3b10f90afc3654302c88a49a955fd9f4b0955dc7bd1b7b59c6d59fdb5b04972e81774a2ad948269fc1a601e6be79fc5939c1b8bf44936e5556fda0f1d019510e9347c739cba691daad2e4201801d8344c1671cc3c1f214dd1c463935faf32b2d1a8f0aaa3780bd7abf3bcd13bafc3db0890faee1b60f785304397f9945e1362c225c18f669780c5ad0545240d83175717ee859e05ce9e09bf0f7589b868a56aaa40b2cbb1204c2eb0b123011edf8f9cea2d3e30c9a9c673106e921a36bf384d18ebf61ab3b9a212ae9391a2aae93212e14f4bfac2e74cdf36e9e851dc837133f28e1f7c19d6da680f9f1707446363df2c95bcb2f94712317578274bf74799e4facc66b45be449b04cf829a430db94224bbfea5957c5adb8707611f5a9be232e19bd07c4cc58b6c86a7f28511e6e72aebb0269ae9dfc1131ad6213ad336433f7471cdcaa9ba60ebf4e08199a444ff3a554ecb842b12e52784fbd44c29385e5b90821c665654bf7c498803dc3387e0cc4a8821174057d9807156b2e648a1d0ca535038bc77393cd17bc465eb8d396f01e6c5e3f46b58a66498e9f40dd1e0dd1f06f38fc925cf8fb9c27e1130c753cfd3487116ea7e0632073cac9e288868813069e5f80f1bb8610415acbddaea947b4cbd760d8e45ef28efc929a28337b5db2c081c7e37ff5caaf79512f1fda34499f5b964a93adaa7c67cf65f25b29b35730baea34c41031119237be12795a1eaaaa857b908f6e7f91c77adfc19458a32ab7f207b90a71e29f64d6ad0b2138bb533462618ddafe9139d770ff0869ee3fd700b5aba8a465e6f648308b467d99b2564d34388e33be3cc5be7dccf3d5a43fbcc29d8e95082ebb9b37f53deb8099493b9fe4cf87df3390c76024cc9d59800662a23f8b67b0cf331a2a36b115763c482c538802ae9d1a93d1047bb4eb06d7de17ee0cb6690ffed542f552b24cc1e671fe2fac390da79d1d6103afb3f03a60d3d039840f1189661d668b6b198901c65a3b1e960dda12dcad8427d82f400a3009b5429b3878c4024101c9aec7beefa77077a7ed3df17f59ed232c54fa5e7f526fe5fe73c477d41eeee35f2f0744e04b2eddf9a07738df18fa1535b8de6264b767aca5a617e70481f6c40ee7296cac54ef7d752c31b6e5f65cd390c3a04006df9175bac7868f37f772802eb8a17bcf6cba3d1ffb572ad5326bc9f1a6420c95766b1cf017a1cd82a5ed58676c318ffdad0c97eb2920dc08552f77759ef7465f09dec80986cc06c9e19262ca38e1c7312899e09fcf44908f3629f658114507aa5d032bd737e909dab136e92d7c9e091afa1319325368b31fcc8a5b926740b1ea030b29c80322f6c3e6105d36c4544d94ab253c6f8581177f6f6b9d507c2110ea940608ffbe2d25928ab493d87742b62210f95737670212d5d896a4397961ca3943832fe8c0400aa0dd4812f1a6298ae0e0094100a9d53204fd9b937b46867b75c664ae98a68d81cf9bf1eca228b0e0d820f343e9952ff8eb0ca1baef0475d598fe8cad3a8d4c505add919f89912644e44c03b1f48501e59258320dfd50c57c6603aa59e854ba138b9322e0c952e7a7755bf7d7b2d43791cb1fa612633d4cc64425b7467ca9c3a3bb2d75cdc61b46275ad2ee699a56a0d0a54c8f1b2f1d6bf595c9d26e0942463ed2165c0c13ad21f36121a64d43d0109aa3c1db72d8a306f3737973404933a30f424949978c0771e4e182c62b6910dc7c41008be90a19332aa76db93aaccdacaeff19f5e47ee38ab3dd996bd48fe7776cf94e55dca4ef19e7ca890f2d8b3ae2370c5ea748b8e7d69e061709ebb8c8359eae112166446fa6e83713248fe5eaefdf918529a1f1aae66bdb2870ab6f895c37ca991732911b70ace24f188e457426fe175871334e1873a1a8a02a78eaa24162ef153994ffb3448e0a19f0747d7b0793bcbdcd7e662a934b3c7c653bd81a19b6acd4b20ac26516f87b1f9588c67729ca06dbe63ebe6d15b4a5dc37332bf6d2adcafa957a7fb8735bdc1c45b5860019338c44a1b3ee6ac8491ce51648d9cd4f604c4af13e00fd15527abeb538af4ab09f6710e752e37c0ce565b0ce867ef2814952c3d2a47d427da6490fe2dc1d4b86b1be2b5fc15537957fabd482c36918612f2eece5db71ea02ad6b65bc8ecf55e8907b81ba3d7dc7805d6c3572b02fac7467a7ef10aba572f217d2e43894283cf850545f55a4470d9d6acea3391ca93696e8bf26dd1ebd9ea57341c62c4eacc0ace2ddbecf998869eb99cc1508fd14193f1a8cb86c8ab2f2b9d7f6c87ad3dfd2531541eef8425061a6281c7ac38a2b1accb1ac4ee719b3119706f6332bfc169c830311066eb079dcb258794e82f86587a6b2d49cbab09e0a126cfc444fc6913e82a9813d2ebdc4976a62643a9b780149b93943226ecaa2cc4ac29c389822ed4848c829389a18b068fd1ddf8995747af26d7b5b209b4262311e085f0e7daf8832675b2f6faac795ac291d438cbb16cbbe0c34d971bfe6cf5caba8c5bb4614a6bc62f3af29ddc3f7adcf26ecec35bb9c657ee8533858fbcef7b62b13ccbffeba2bf4709d8a03a4c435ec9f726f67d1bbcd5878482c2ba08882596f4eb2bc5a420cc35fa144ef881b8267a34eff5e6cf1a8d9ad0b6135b1603bb6d32ae505b8dd448a24b3918c93d431c3ae608a9d61647381e729f9dcd6d9f30c06b2587d8faabcf7f7c87f72bd35e54602d4f6f6dc146d710885a3b097677eb06228ef433963548aa9b999836fc14fbe0ab26ca7d23e77dc412d8</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>2026年2月记事</title>
    <link href="https://blog.cancin.cn/post/538a8f59.html"/>
    <id>https://blog.cancin.cn/post/538a8f59.html</id>
    <published>2026-02-01T05:38:27.000Z</published>
    <updated>2026-03-18T12:39:07.460Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="4498610fcb2efe89abd7720480bd1bf6260345f5c62806d4a77f68d035896876">c22eb9fcb3b65f31dde8e68c2852b67568c77bd9e085274295cd051f48995c1a4f5dd1536ab6901b7a282eb10b7a2bf025858e9794fdd0d10dbad47004ae28b9138ea1a12d2f7c7c68368f058f10d9ca47cd11bdf023523814c05da9997ba456a584d7d09b2e9dc00846d2581ea9b06af3ad586b742047931a2f76d00e9e47c29549616b3cc59d3ac72f6a9758e28dd9405e2c3822ebb7519af4d732a62dd863b1a917fc987807f6514b9a05df5fd3c3a36ddbeb37b335b0af370b14d1cbc8c9127c265c9112ed1e8c9b7efa4359611cbcf9c6063ef0dacaf28ed39cbb95122c232c082c5cb1fd10a34f6841077fd92a193ba660f7f8b4e3ec25de0e31dae408d217da2cfd1a5e5dc7ebf0c1c79a1c5cfc3dfd5f960e827ed135df6fd4ff29ac372b7d149a485377b96a941ff70ee9428416b702c9ec8af3e9e914107be705dd03fd62e1ad1c69368219d7f3d1c002fbb89f253a99b76e817fd6c5aac8a5a7d8e95375905930afa0b9c8b0486e0badc212221e11ef69d3d89de1f4a485bd077fce20ec04c49e45a6ff07bd1e2c0cf4d6326a8156f1f19cff4c18e31ed09f48eff76c84983fdeba8a8debd5abb3334301588e2ff5ff0880d71a7da92caf515246a98beb1e54f5e7dd63bbced8daba4f2889e3f8670d7bb98fcd1a760bec29fe330594912389cf50b53d56560f147e8244a9351df10752fc1a35cdb25e41829dce606c0d8b3894b2ef0e5a331bbb7fad64eca7561e8c64979253f12b26f2127dc161a05c38dab93b43311f3cd21ec758f5db7c4c159410ec5134e4722b2c63ecbf7c3574d568903d57d1eb4fa392a43a265027da4c8bf5ce1317690fe294619879ea88a92f2785f17f243d345c1f93d3f8ababd62135c694868d076a050fc6746d1e4934bb17ffd16fb11b6a9608385751b84405f70400c03180d277249e1c1a2b358e72485e9b13640a16a07347b19ecc2c29f1024a7c06f0e32fc2c39b3ab5b283026503222c73e250243bb00f40eaac610a6233b159835544a2ea1674326b87042ff143a2f0888b2cef6e4ce51be3b3847614fa88127e95468886abc2735c9cd836195ba2c4177e6e3eca0dc4d577252593af05e67a454458a8b45f64c54c8ee81082d5e97496c02fb649aaaab4bd20ab3e7bb41da2e200c47e5b2f74b30f3af587503ad50f30d63fe14a473d085f06eb5f7143792c6779ddd831d56b8ad34697bc7db6810e2228a91343cd9a6a61e5d16cb9089611848fbe10086b56e362705bffb5f8674e957a8d8663d269529b524d78fcb1b677b3cdd4ea47b2d57d0739c9569795610b100bba35e051fec15eceb3c93953a0e2173d738ba7d95167f083c74ccd6e7759d95850f5cfb1a8366875ddc17536bde9811d731ed79a9ad7967dfec47159d56628f6a57b5c1b19f271983b7ee80ee69762d1a5e6f1fbafb087f6276c575428a069adcffe83eb1bc66c3c18181cdcd2c199660aaab16d8fffc94559ad1c2aacb90df168979bf8421809e0d346a48225292174ec3163371ace2b9949e8d1490ae3576276586fb844c7288b875e03b848edf810a097d2a40c41e1c241110931c7a7736b8137ac8796265e84a698b212b28f68819c0f6a0a4b04ef284d4e227e5fbf35fba3c13ebd4dc40c2bfba4e111e9aa523f4f6db5e266909b310ca50eaa2f3042a1ad10d4eed36327ec44935fd0c088b69f5e83c6588e957171f00a26d0bd122fb374584484dd20f1d15966d8d3bd9cde809975c9a411bfbb30fc9a9f8b578bcff991083563a0848c137a0d1c62de7372ef0fc9e7f87696dad2d81db867954cd942780e2df8f4f3629603dd347e46469f3215b71ef6171622ee7f4e29c78f71e69f9fea14429784c92f174a7533a9dc2e70d0b30ca3d708331334999172705dc043c583d30d2098f38b717696bc4616225df7ebd324624e6c05758c41e7f76a996b5aac1ab8cbd49c554a758c5a566901ccf332885443cee5c529b2a8a067d80497d262dd03ceb6a06dbb07b1bd335659e2014cc6aac1d84fc97fd7c9b8c040a2d6c979d6e9330735297ff44ed3c09962b282ef99d44039486dcd104b998d4abb6f76f18859b75a8547f688a69bfd8b841e436992127dae22018c332b36fce323434f2e86c65d7b2899937e076defa46f0b1b5a9a9a24ced9850830d1b25d3b29d21113a748e2b1315203e468115e08871d83fc57ba04abf868a4a2580bb0acb4b06814f0313bcf5528fdb9311638dd891104a332908fb9fb7b0ab02880d3b1ab7ff3b64775c1075a55d0a327b8da69cf754650e1dec0fd8242f69fe609b79d7633c18e80eb8a07e1cbeead7ce47a972c52abcc0385c85e0a98bdb78fe0d24605c182de1f00001c6d8ebf0395689a7095ffe7523128649438afc214f4eab3755b080be7364df8b914598eb515053bdd5be7e7029c0c4cda7cb0074f48e0479ef2ecd901f275160d038251f74c1e9bb49e58a56208d77faac03b3c05a7ca64cfd316f8237bfdc85962002b25fdfede7eca5d1a90e3019284cd96f9f73e2a18881970cb0d16c290075b32604b5d83426d6d8e8b05a4259fe80bd9190f2cfe4e0b832dff805743ce198056e9fb6fc948403e310d9329caf87b14c08ebafa222c48e0348f7b648d6067f7b062d1092682d6341222f1302bc04e5a9d846a1326bd1a8c4c3bfabb7f5f5a74078edc074a732378bc097ab8f8a9dee4f06b4380f2e4640134a3f491f1d350e36bbf3580de0099ae44c2ded59e158da93809a8d6fa0885372db1bcc42eda6af19241bff808844b3a3ef88b2d7bac478fba9cf649f633b388c2f14b132d4bf9c83f08aeb0251ff09ec75b60e2ffa07166fb6a68bbb95dfa95250377812fc973965320880c8b65a7eb21ea19c8affe588f82a03a0f81d51640cda7cf6f86e590f6febdf4bf229c837f37902c59340009ae8f79a9819460ed3903e39fcf99fc234c50f77307cc61d7acca106b7ac9e34d1c1496bd1943ca63fb3fc6a7bbef743be1278f4c7162f8aee6d4d822691d9a97d02dc1668caa37254382b342ea0ca2c78c1f80b2a5e547fd1e726881e7d1a922f671ff56897c82f66027e0a99e6459a4835ce23dba18abedbe1c910b7d8463ce8677418d7312838b30f74d5930aee2850e76ebf0116e7b67a011411c8906f4c94865ffc69c3a9310296405de2a670301ec8e12df45c08ad87ff730b8afcbc5f943ff579735e8df5e3040e893a5eebc4dabed07c903b7c4db3428313384b9ed3f16b4e3e5f8921a6eeecb3e81bb5bad034ee5f5798d0a545c16a2325691ef0e64d292ef2258a0973bde70fb58c1220404eba1a6b323252406536be682636a6c09c48708fdeb840484169c4c29f58408093c532602088422c418ac94aaca67a7eed6664a1eafdd5adb8305eaa28b74ebbdd70430891af8e80c56401312cad2bd155ab662bb7463f3061057f33f1a142357ce6bcdc4d94a60ec8350e3b9bda8596e73a7d94e0863ac7d9f1fe3bd71ff90a3b51181eb680dbefa35b4a012cb58dac5ec27d58675db7acd06915c8fa0917528506a9c6f2ec50ebdd366ab0de8ddb6940d974cfbd6dfc64992010ef7f83e83a8741da6efdd273d8658697840092341385d61bc875a069d1e3a4adb76fc70f28264ccb123a305d4ea5145bdf93d21bd4c18f8c4cd90883d5fa0ba240d9ecc0f18a4cc107ddadd30892f26b9f12fb49f2ad123d3e1b0e55d42e911e8f46e3e8b13e22d13f4c5eadd0d023fc34fdaa77db37f0ccfdb9a797a49fdfd4767f2d81c8756738fbd5f94d9d06d54d9cbbc5b669c4f98feb20c99ce3d8ec11be94bc74d70fdafac1704ebb6322eaa4373f723f92ed73ca2afb0d2ff502f28a98f79e3eeff10efa28b8f94f2b914d4fc1dc2c4ba8e5e6140a2c96863e6f0796b9718697d31dcc210571a523be4bed9f0d2022fdc76d9fd27d1d5f39a7900c5e3562ba14c03724187f2e65ae7cc22359fa7a556004657de8af62e7655fe79d2fd051b37c7ad527c1d704de6caacc42b2139bfec1aeb4f1a1141045c03a9a3b4151ac00d00d26c0573be6af218ea5eba7b65d5c3d1a3683d535b555680fb2d84e10e96a1f9d764045b4392fdb3c40ff1d031af4d1cd388092a448e5f7bac9f3918aa59e623053351cee5426c7d498c7087e01e439444646a0e65e999565b7b454d933182b3f38fed16613dbe3ed5f228c65cb3425ed63e35b98da5dc8269b9afecca7d07440de2f658b35d2a63163d84ebfbe6fbcada06aede11442c2867dcf56b2ed6d7d18a1e617486f72dea8febb18f804bf94c201ab022c76d73eafda4ae22e4b605cb40e64f3ac929e3e872378734768c6c04010278307bdc6e30ec5c80d47046776586c66697aeee6b0b9c3b0089ca6da2b7f627a4bf127940ecf638d20f080e8b9eb06caeaae1a9ec8e78332d5799673fe6e4014ae2fa79db5094d1b067cec52a6f6bfdad02feb5e5c650dc6e5d868aa91294ae2d24f5baebeca47d55bed306405d2e8a80a01d45450b2a353fa86abae02b268073b739562b49ecb4eb801ed5080b080caaf9343b3458b0bdb8576425b62d8ca83b6a0e24d98aa11565bd08b14402afd934acffbed9cf8e724afe5719759813326f54d097e6145fcfff570b40320461d835ac1a63f82c30d3cd59bdc8d9ad2bb929d69af63ddf3a638d0bc89b4cb0890fdd66e9a0e66c1ce3e0aea3ec38c32b54147d6716e5666063cae2c41f5d4a6557815dffc8d20662c2d74541ad4610768f3450b82f33780e1d01fb540cd1fcc08403fc00ccb8590d004e7f90fdd5876ff9d143bcb428bd2a3846a9274f91e6b0db2a3c90d8bbcd60241032e0b9c78232531895554c64453939055a8b59d45c392fc8487ea2beef590e2ec1c03ad8203d6ccf1b2cca3c4ae7c41b89e8150452c21d269966423057027672f4c63228dcad11474a95da85ad8582deb3f02156659f2270dd0ec63247b14853d57373a3770e438386b001e478e1fcf774c5e8d9a3f97cc8738668bf475ee1298cd331878fd3e4f6d11be2f227b28a00f8de5203987602a28c9c5d829d4f6835ba130ce9ec587569781b1ca594421334a5410ce99dd149b6a5b8e388456f148abd5ec0eaecda19620d59ac96b1e7c18bce83b92edc00ba892774dfe11ddfd297f2ec6bafa5d3a89807ae458e8c519e4961a5966838e05c379dcb53a089aa1d54a6055c579ff67843c15052dea509c7b91d429df4a7a6c805d7fc76c43cdac86d5a8702aa0bb6fefd356e8aeea69cdc94fcc25f8b1798b40c0e3f900ca3c9b44b040b955b1df681093cce2941152f5908fee9ed40a36d886a96ba3264fdaf72ff38d493632bbd2e4c1873e31a6a33bf4a8fe68e9fb142be607f31a5b69ba78941e828e3fdeed77fb9a6d127c9813f94dfa6a5bc6666fdfe17b8f01114e6fd171072764178647bf52a174e78ca0ef6ad2f49867b40f62eeb89c0e1209b3cdcb10cd23a66df383e7b03ede7c5ca372bb792411b860b5ef9b0799ec550d9bfe1a6684514595a102ff673d9654b417e5d9a6d33d4e8e69792e55848774366b3b5850d3f198ae9a21abfe545397405076c70894ddfcb07de13555f9b26bb313e5b4f6dc1504374ed64b801608451826781754df41a910db9fa360bf6f9a8834de3e542d5c00ac3f16902d609b9a7bbb7593e44feaa0587910e3ce07c7339eaca9bc564a0e07b0cb2b09aa0bb6d3aa61e17d5f7dfdce59628e1dfbd4bd30d0bbe773554ec4dba89421b511858d161e36113cc33599ea41ff6412d1bb44fed331517b220f955616ac69b1143211d281d33f150e6662648875e200a96e70a38ddf7ef7f6fdaf931d6b1e7a430d35fccda0d5345cede25f187db5ec9ea11d65f94f8c291f38023d2d658b931acd7da675a6bf87f5f6fb9fad2156aa45e01baae07fe5bc7cd2afd474fbfcdc0f5c9eda7bea98a6b9ccd369318d6dfed91ec73452400f1a222097f853222b341b5cd9e29956e01dec523d3486326e547d4f9a7e9bd9a9502a0ee1d6acfa67120fd3ec72e70aee928fb8fc9a82b888b2b47c4440e060f4bf642e724a317487ba27fee055137aa5c0370e837a97b6d5beb30c4d4aad8507c6f5185edfe89cd32db101503bca66530a8d5d62d23445fa197f4e130748ef1d21b76be869ffbad6bd8ab758b9ff0ba2fa4bd795c51876949bfe0a22a92cd7c2558c75adba3f766f2a8a5856173ef6853f3b9d65b29f62731fe7d7b26f80251ff31812886750f3b7c2c6664748986846cb1a033118d6af3a640c75ddb20834178e7306242277df7ebbe4ca91da5d0313f038e2abb6b16bf229aa863d67fa1de206b0b6ead0a8a70dbdd52819cddfd04964069eb4dfb56ff5c8c94dda9626ff78cccc581cd8c9fad01bb803a936b2ca3b33e815aed045b669dce5d60146eaf4966a952bfadff9bf5b66e98dd91987b7c978cf0212a78ba3851b662caa0bb27847799f6dd1059ca293907de8adb669a5a84e8b670c7d96ece1621502c1208f9bc28632ac9b2502121756a2892f504160090c64f922204efae74d5a7d1ef01559165e1dd0f0f816a56e770372e8f966ef2d4f711d71f4d9a5294f66bf8d7e9489324b2bac124c737d32e9e8af8bd54c9cbd4cb959163dc70a671ebea29ee784d273c642ce7ad4bd5d31fbd584c3ef0274755464be343b6a27b5d4d63797295811c2bfd6fa9466336636804bd5d95e35fa5b51351c13d29a337a32d3ddc514d53d76d12f28c0dccf0a4078e81ece79fb1636f9783696a8c34bd2c0c6ca992e5b5c07a7b265bf57f4c48842e835f5ff92501a689d83d05b2f6acdea73872f665f05dcbcb983c82bbd91d5ae6f6c61716c1c689e20c33bc074541489a2f24a23d0afab369513d5e55df9a9ca1fe35cd877913eafff4e8c4fc37d15e1ab75a64860c4f19275603127e637f78c44a4b99cefb41b9869ffea942a93b8f77217ccd7fddd4e20ad6d8d03d57418dd667d7a23e23cad09a9d23f81d0ef06f41bdda041e7ab61bea8ae706babed3645ddff2696e718404b660722587e8c05a13c36eae34e069623210f9a6c63582dc9c9327912fa027d7159d5cc5e5c7fe1b87ba613bec758b67a4721bb267ce7112365930c5d5e1ed8d858def5c1be3d5dde085fe944a288637b0613083dd0129953ecf7c124a591f127f4e47e25cfc7d3097f66368b2afa77edbb78c44587354ecb99ea4fc7cdf8b73a0cb83d8cf41f36e5b0aa16ea8ba605408d6d4055433166d02e3a2361f0eeabda80821bbf49bca69465f60556ee98fd9e29082ecfed72c9daa668a4e4ff4fdee517d599c45a29d79fa3b2b504b8edf4d94ff93d9781414403b12bd61773fdcb8527259d44e91035fc1e4d7b1f120c7a777c7e96cdeca8240090b7ad5cb24812922dd3fa9ba5bf65e1f576a69d7cc0b99d79239d45d7d51913ed44ffe1b75306c4332ddbbd7e7a6ad568371e95cd8791ef1d08da8f6735aaef609e2876ceab71c2db80c4bbb567cb7a9ae35d1d9d928daaf32ee2feec5099f8fc6467187a80eb1881c5f90aba57b1e0467cc443c9e592126788761ac6f0483c74b253e5a7eeef7506f1cd2d1729d5f0141cc874710289e087897fa754923444e7dd12584d91772068093f6143524e24ec677975861e301e3e25f3ea79ea4ceff45cd022fea8a1e570e87f02b0146bd96e8525b16876e73660b9766597580f4a5c25d76b319a8e46ed55cc6a4f8e77acfeea7d99c0eddd8584c8f5a61d2834d30d3206335c030b20522c3e1b7bacd0eb65c4c681ec28171af44759fa4ebd59d00278eb17765526da1613c7fab4670b172752a320762e10ff39c893de16670a9e9f88ecb9e5fe109224ffd404c70642f01db8199a512a0206eb9c8b3468c587aa27e0009370fd485ba18d201b24959949fb7114ef47455c4d17d066beece394fe8b97cc63920561deb31b26790013eab4b6ac7cde42c8207f4241e6ce6ae5c4c3af2dc23d5f2ad054a3450cdaf9fb8b57fbe128ccd5d8020181571175ac398ca4e48d174a53687536fa499c03f62ab356459d864dc89ed14148bddbac51e7dbb7a411d5611b4b148235957caad5c9cf8fffcda4faeff906807d2e22d10f1b8d6d07aea3b3771e96eac54d2ebf751d0c262e48eb8b9b0a5e5b2dfb8f2cd8c28edea29812d2ce0167ea2d06a4510a4b442b4e4143776161f9866b3c02d4e1461b4d2024df5c18852934325911add0a625c1735ded10f28184c78a2fd64a60464aa27aa374f77512c3c7e96087c9a3d9789cf5462594005f2ff51a697d8cfe14065fbb9d2cdbcbe1565ec7016ba0bb7f0f2740273411e081ac1a865bba6dc5607430ae1ebbca3c8d35fc3d533446d408163be31fee2f19d9455eeff506e8bbe8a978bf7d8ca73c017a088060a8a2e5d5280304689d9770e9db5b1808779f77bc9e7d5853bef06be9b4e8c2c39da8ef480612d671760a26cbea01905dad2a7d5e6578bd42ea7ca855492ceea2d360f8655ae5393fb845523afe036be5c2aef6ab8d9bcf9ed7d3cfa0fa4bff55495fb48b7dd5ea385d553c00acf43340ccb125e2281c9e5a421e30cacdbc867e801e180270e265f4e7e2ead57dd161648cd8ba2d0cf141a056c8a7b8a347e17a1abb0be3d158c4c9a1a74ce4d55f7a8aec349c479f7b514b7b3b5a1ac5516f4f0acbaa6a08f83152528c0127b226684c06d63726809de58e701143bad91532d26bbd828e21fbb7c55c31e2ec42df1758834689c3243d3e444269e89516ac1ee53b72a2fc9491197245c8114ba5ac066efc3961c56ba773ea8edfcc314665933fe6843e5cceae2adb96877f3ba637b1c796edb844e1eefebd76ac9773e6b5e8d3b32ea7204ac27f86e1c7bf86e33eec29687fa3cfbda7e89a98fc733ab64846a68be965c155f079dbcfb69b7fb207475199b80a36e7075a2d223c3c5142ed154bbc9e87cabd5cb5ae1ee82cb7d326775e230b9941481d7165d831671d65ae89fe64536d71c07a8280095d1ec57cbcd1ab810ff335f90523ed58b6ac7a35cd68b4c45ef515e6321c53e897251966395aa6a707ff87d7187bf1a3038c51968aa5cbc90e7f1062006b5f19c91ee8ccb970a348f781b40aa9922a9cc9165df4db7cf7b1ff12d19a0d5236bead355d32bc26eb987ff8ce0d5d72a7150a7ab42a2ad06aaf6df6f8aeafdd5cc8e4348897c8ed4279401273910d79649074da89ca7cc51539bc10457cfea87bc36a0dbee68e620c15fe0973cee5f46457ee39d7a17e8ade24bbac897630dd310f5ba2c6c5203df89d88f8254a636ac8576a0645adf5256585b3e5eecdcaa3dbb40954f2ae202ea0308a6fbbc1481d1bb9b506cfab6add81a62730deec6140b7e68855a5e514e43060f162be37bd44e28c0ff87a9b6c175d7993ab93088aa3568f646d58df345c29f3658f786bae1533233f5c0461853eab0c24926bc89869e4b95f45eda908f10c772d2ceee92356fe813809a672a095316957a8076ee8720faf1c2ed603c6e33556996d81f83e30031dddbc646c260f786d7159ca245a2870a0fd006bb1f3c631f149bd8960c806aa0bab3a8c20f058918af9fbcd00de7f630598bf8628748c551147d1edad3b9311613e54fc31259b5e931acc0eb638c8f79df54b42f7265a55d628c9ef88b67a4fc6127cff56d7b3cd1a90c151e24b5d171687ff5a461252cc45fb2513e8d74bffcd4c92b12b168466341f990dc4ce3f3781666fb068adde92e5c68292b24c872bbc3b1f029210979fe037dff158b48b33d07861c031f389d785a75e9b9eed0109527e81d45dbdaa2006f5412f0c7faba31adc487bbc07fa6697f1a2a49edfac671719aeda504c90289a54ad815df3363677676eea2ec827b55a91d8d7082d5313f06ae6e99417170b51bf45cfa6ef3e6b74c7e15fc5d67352b783f89d1dd1bb1bd3a3254cc19dd034c72ae944e276230805c4417460d04d1bc67e68dcbd312b3c6d898bec1f7d23972e327b63de665553d11a93c89030c7bd91bc275ce2dd5e44f465d5a553334b40d1efd75c2cbed41f6c825216f6f52f7849e3f8479cf96d564b14aca2c5e579d4eddfbe548197574c0ac67865f871d0eef91d298d40b3f79a0e37c035ded6a31f71c0a2e5cd5ca980cf1a99b7f060f39db28bd7b889a6e387e6a0ffac71857e1bd4bd886386bb9f084346b5921e98c3a1221c448d4d4dd36dcda7c782148073f0f584d98bd687727625a2ef949b1e4822d31d92e2384a61369dcedb49066502d2f042b6cb2d82a77d6cdb0c7269102b6cc315b46614e43aaace7beb58b8084c0fb5b8f23114a89a27a567b408ca580abf1ecb3db2cf733baf5f7d02b5d09f7375ba9688c995cabbf8855c354a0c815a065d72808ef6fec5b411dd4dfa6660d4754b755725054bc89ee1ddc9fd5993ec27bc533b268307f539fa631f222689a18c8575dfad1c67a210c300f18a312b5bc5a65c34248ce57d83df30782136334c6c8ede1037b5afaa2864194fbe3d480b013dc983a7bee7435905c4ac1c98d6cbb16405b4a2b9f648344be03ee8cc84ab6ba5dbf2beda67d8c8ab32912d1898903499c9eb557432b30c1ab65ad5c0b754d5c776822b5c4e1158de9b4a17ca56b7d575bb0de04d1d1a6d352d0180287fd2c56fc0c5865b53b60b1b9cdde8718b7d560d9a465d3404bcf6c2e13b1b08d868bbf33dce1a575c0beb50a504a9a8f8cd3c61879e1c64b9f38b5e8e2403ba82daed766020da491ae4b97e1a0c101703b3f1083a2c426723c5f5a1ae3ddba691874d35097c47b74b2d83948d908bac4504465fd3118246dec80fb063e226631e4eead23985123145461b2520df2bbb8fa462601d8be45628ca4c4db7fd202b702b586a63bec8c52d3894349776f0ab2d647cdbe6f9465bef62cfdc920dab6017cc27ee6bf8f2876dc57544e03b1e4393546b194f1e789b5b1711521742066db5ab871aaa9a3a9abdb69ce820422e5fee8e98339a2618b10e58c3aba08a50e20cca96ceb049d9aa8befa52c5f9ea5cadeaef6fa3ebc6a1e51c1a568702178fc5ae9d4f7a81826e8bc58ac44f89e71aefbb9a04a47dc44834a89aa131cef86ad06dad087822d32241d2772593f77a0c51e7f1695e19da262436881711e0d57c1fe844d932210245de3b03f7ed0b1d747c9603361d2191e71fec8edc5716c06691fd7b991927a446f9bb1d3cf9b6c93e40b18150d9fff2c837ef955246c0a68fed7078236f4bb833bb9613da6afe276454c701141e991fb55732bafd8e6b997a7d90ed72f3af7c086db449e5917850e7d05120ab70d53ab40ce5195cd95439695074fc0cd3446857e39446242470bd18e7ca6f7e565881794301b887e5a846b8168f89f6cfb8684fcb70d9c6e4a9442d29e6d613818c84615ac83aa8f230bede49872102adac256e8b63dac9046c85011b2c6864a8bb3e2605a92a80cc84ba3330282eb70f016c66a1f33d6333c48c23abac5e12c575b0aa951f191dc0673cfa92a4cbe61482552ecbe09b8674295b6bbb2ad337aeb2f3a1569b0615914614debb0485ef0d1f370196550ffa42e4dc87b98e30e9787774231eea86e5db207d2471782157b8cb99c8e553761a8d26176d8fd571ccdfd306c2e50dc352c011bfa5cef66c78c4a2bb069d55e1cee014f03eea09beab3c940c833b03d8aa6348ca5d96dd9e8056e55bb06d0610bec245e94ade1e8aaa7fafda960c07fb5ba4a42afd5d66ebcfb781c479fae6c460e0f88d90fe8f3b51b97d78e90c85bbac23701ae3232b5dd7756b1f9c3e44cb952a3084b3953fa67b94686fb394708849c399a2fda5e5ca5f7d35ae566912ed77ec3aa16de0c808c1e11b9533342917c91040deaf4bbd1d6cffd0e8348dcf1e6479b147230f4192471fc7eb22ab76aca3384b6b2c6310d9e2b6a587052a9bff4f3eb12f2e742e7ea3cf64e91920e12d8f126499a90f98bc1d27153de47a001fc4ab9cc4985fed6b67932e214c5a351828597f7925eab834fee75578afa1f3962c99f4fb9bee81cfad4822d57ce6f17ba7872d532e9ac07317093c55744e94ea3e10168fa5c4a59e3ce22a4adce39fef7e407b991cd35bacc106ddf72661fa28601a8213f07e79f279045c8a6ed9a050048c482adca68f36115d5b51a4f610584afb35975c18ff1766177bdb7eb2f0f15e8da22756840c4b201b60f5e5aef0848670dc0f0b334f90fc9869bf8a94abbf5e94777ceed2df1686dbf625eb1677011d57f3c2906dcd4f420c65f36c94e4983ae181d124aba570d2a14541858dd6b4832d8d2877da37c8e566f0f29ceb5518712027c718eac5622b95a300506453d60989f9a08009f1c5ca105546a93000bce77d67529d468e1bd3cc0f51b3a0588176a4fa8a6ec4a6aa8d6e055117c1d76b3642bdcf5c710474ddda086f0891c68e0f9367705487032089737d28a1e51f85eb4ef7bcda4f2b537df0bc382450ba8be98da92e103dac4ac43d16bd1eb97eead9620680627a41717576389709ed2491a3344604d75985213885ceaa01a67d69bc8263f980ca56645dadeb4050bc8a2be0cf1674e2d7dce7ae2cf2d68c63d30e3e5f654d1cce111893ba70bf367858fc92858953257cf951231151117f3bf77e89c34cd7103672f392fefe55e7ca77902dcf4c53dcda9ce41e77bf070da9cfb71abacb4ea807110c9a9276a85676f86b6e97851a86ecd95dc3daa88ae68142db597aa3eb4559550537e03eea5c80f436bc41539c400df811c0052c201f159de868b98e20cb76bc0c6ffd5aa98b016a0cca66b13630ed6e3b29d85333983022d1110d8975e7fb8424b9d247bf285600386c6ae22af1456e4b52d14ee7c3c1862addc9035e5fb82ab205755ccde660cb0319b7f73c4f6e1a882e8c2551a1778ac509297c82e6d0afdc640ceb33062952e4da84a686c58a9790959b39af81ffd6f35e11ea817f601f6f12b7e086d76dcf30fe2f58f35dee55d5deb06a5339b008e9769b4f78a7a12ad7aaca3f4a6f5ceb43f4c0586f9d5e73d9cecaf87f9f0099daa22efac1b8f611c55c0ebbf97ddb8a765cade0f600a51fc022b499841466dd9f28fee18ab9f253e0b22428e4854bfd7ac8180f3e17cb30c90118b85959886d8ca2fecd128476207eb0ea0b654fd177f8e1c6b417530c49f00a4696c72913f2194591ac7461526f9415f24db18ee8e63e0a1bd292f3627d183e6d7fe5d4ac5163e9841858a33fd793650157d1e59d9c5f098c7c8dc56ef4789bd19db17e73682bb106c21d17b3a401f873ea7c9aca867c1c2ad214053908b53324b64b56eae19ccea2a1a997181a2714a7b1889a3cfbf3d11271d264dbb18d8c085a8bd1674294f0686aecf91e1d43c94507a0387e74c492aa78106cc5f44615084466403006a3f132841410cc26c058057803552dab360699472b2785bf3cd27248abc9fb112677d8d541d5b7b4552045899de3988b61c7c7b2e17f828f9b40bb96702798f3516fd931040f5b6b76bafb8f3d3519895ead9fbd48eabb18daa0c8cf8e91f3eb391ea52b10e5ea2a74e3b00d2fa9958f1463779072f6408be36399bfe226c2c5b4991a79273acd5576373076b28a8f09ee980e86422c4117e5225cdb0ee3721d7449fd1ba184c4ee2b285ce337953cfe941a25a76024539b3d349e8eb5c44a853c785b0c6520fcf61de7aad678cb2c2872e5b62f8471f54c88a43ae771e8da202e22099902244d148ba7ff666a7f35a5f66997acf621eb936c4e89125ae7d94f29a3d9d448081847e295f4805015db33887866763f62ed02f90e05e0b11f157990a6455ad4928cbf09c208aa9f3df480212c05f0340d9f2047f00b117c923b68a90bca4274f230cd8fb1e135fa0d6d4961bcb68896290b70481cb56ed42ffe67ba6561fccb168067104103f26d6b99d334c9c2e98ce9cea4761f3d3cb5bedd2b3e4fb2d83d2df259969eb2702dcf2d5280d25d370578ce7ffe9fbbc0b3d690f3d90b13546f47f1d8e51eb82ef7aaedff7255784e5b942ca6664ec6e49618e80776644a8d8336691fb7b82d5aaf392c35a11cfa5002a0aa799282ad992323f6463a</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>2026年1月记事</title>
    <link href="https://blog.cancin.cn/post/b8bd345a.html"/>
    <id>https://blog.cancin.cn/post/b8bd345a.html</id>
    <published>2026-01-01T15:04:41.000Z</published>
    <updated>2026-03-18T12:39:13.040Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="5135ef37872d88800d92ad9d0edeb892a217e85b65a6931e61ceecacc4096d8c">a71e33679b1679059c4aabf85489542630e61c8df9957f6a024e0cf660430acba7bbbf92e5c620a9b42b21ed24539dce539288664f52d8be63ad2fa790dbefad6a8766e3f2d30476be08b4fd15841d41a37ac925dc6f8455e2f936f50ca407542329403b9063bccbdc69e424e21ad0293e70798780321ede95c3a2d8291f9a60cdb9a9c0a6c8f6f3e5ffa8d2c6a6bd1db962dd70828f0ddb519b840bbcaefed68173b3c4f665366b093974757e22c462589b562fdccb3663eaf7fc486e55291142adaf6cb3666af2bc0c8abee9b0985ce1b3d506c33a54f84696f2c5f23bbe4bbe344357f400571efe59f591f711c4c617f36ac34cd3c9259a28b1d3964cfc797148b3ac063bd753d3b8e062c746567a4f47eae7da6b95f863bad5761a26f66901e22a87a50f557e665c302226b1adf1f7f070d377e454850ed880f24dc1430e974f5fac299dba128eb9a9b15523716ac3b19f918514bb6285e8ca7ac3e18e21d3f1799853650d452663de2e43b484d985c231939facc3b2a47a4a43d1970be8a70194a1e8d69960d13f023a9fb204f8bfc591feb9ed5186b215ad5ce2c9d5f741636b2f6d9399c05ec1e181f4c6a96d1f2e1d9a686c600fe85784c2e34db306d2fce74759015a21f76c51686cd2ff0be237ebc3613336b36c881ca4dda30b0387645e5d5eaadd7c2723b6e5f365cd42dc84f9c30a2698f5c131f3c9aeb6ffbbad3b5f558433b280cafb849227f11ab436f7837b71abee01dc221f2854830264ef497ba51190e673860a7b88fd4bf49839861ab2ca7a22dc579e80be11061e05a720c5a58423a742a8898ee5c6462962670f9bb62e270ef06257534a18819403d381d86e84d671d9be196aa550612776ce13e64fdb3e99fe220bcab37ac25ebc5186a5bc4745febe1db7937dadf3247cf81e2c713ca783a0f1276e0561db16c125cbd31fd85a85aeb08799c690fabac83363b895ded8e5e0d7c896feca09df5199c43a522964292c284b0d8c2ac20a6207526c9a7ee7001d9ae01c222f3f42b5ada75f746860cea7ef5aeca716e21915e7c1bd3913ea24f4c9870532fd1ecd8a0d4a1b9d4871727b6a22a3330f69e5e6fbc2547d46de24a1f1c514d41490ac3dcd1777a0553b461ae0d9b32f045fffbfc6ede4dd6d8d7f4b02a373501d6a4467b1562a7a3462618f8ffbfa7cd2dfacd324798e859e337ca50fa8dcdc819321da9b8353feb0dd5ec7ef902c6961e89da06a617d1cb09619b9c2d02cfb9bfa14588ffaa45d10d9c5c35aaebbab3100601f64f1f2bdfb6f2d391f66e37d7fc6a39aca0619723025cc230b3caa42f94bab69db0f203cbec012b55fb638dccb665e2f65d2d8a8d0d12f0e3c0d4d78e8384fe80c0fc2568a0ea9c6793b3077452a41b681bb8d0d79a683451545adabd2614feff19da10fceb0c4ecb32718db39185e957f5c3cd49e4cb55bebc198d8ee694e985acc29fb043f736ba1413e7c139b43d8df22271811ceec882ed5256b9c6b327af6df098cbab549b1af481eb18af8adfe4161c64091289b266b51444da757ac6688ef7d70a9db9c09b992fac7ac4d328451af230c1a1b6e4e83b4be347f8fde42e50d1de59dadd3f1a7e9cf98325fcf682327cc23d3b06beac8a16df9a8769e0a7dd44c2c05ef9a787195b59c8e7153210d459363bd917d00b08d291504bdf67c0249dea1c001101fd741e28a3f3ef9e2884d7c8da4f8d27ee588d9a8e4753155d76ba3253ddffa21f9ca0caac637338a0c97df1506ce793f1e91f5b5dc8725529fe9f48b36f0972793bcd785b67c1345c76efef217b8123e49bbe6456c3c8770f4097f1ac24ae1070f550ce4cc1d2cd2482a082754bb0d7c2e50b16905064a8f314fd58ce0188d5df8c72134ef234a5888452afe62a889f18d780efdf29f1621e2cc59594eccb88090fc4d6a7bc696e656276a458fa47cb2b8d93b570c67b0a1683d90f0d09375137fa2a154c676a73788f2ca3a3c3ade6bd3af4d8daa5e477b1a4910483e74a5a87cd272a8489a40997783b3a19d556a7e3e2c32a8ae71aa09d2d1731c192a2a3b7ca1f32b08a43eb16b1d84603c07d253452568aa38921faf423cca8b209e21280e2cb69c851daf87643534cf34be04bf0e1e6c7d2fbe6da354f35a408c728e77e7a29495c43507441cb418052fd6583638d6b5c29cd94e91b3b1ee1ef811b0953eadbca2fd4a2727998fe48dcb97ed232646520b56508800caa4dcd49232384f39fcc19ff17545ee23f8ca798ac6d2071b9fc88d634a7d6475f19926f3e22c889ffea9d9f6eb8d9a62bdd697ac6e6e1d00309266970b4d1dbe01a6bc34de97e6677f6ae9693f7aae291c4c2f96a8631b5a3f9d8d401329adb76fe254d203d39ffedfa5d60711dab270384862b51890bc128afedb90dd08e532669a37d960a6973792f9adebcc47864e99dcc9eac8b318f1e5198e73107d4bb02ac9243e823a3885f398dfd0db058d5bc679f7b7ee169ff1b2f2f86d416f979281e00470c7ae19fbff9a09c4a0443b7fdc08c06e53496c16c7ff2d34a64161a7dc1954b72d69258788bb4a27380b57d2a55da03fec91b889b088cbf10f005bedc1fa583971c0ad170f3afe540296d6ecc279034e4481bbd94598bf333924ffe27fc6ec25a1bd26586ded0538333e3a09322836547b853e60c15fb02f628e9bc8cf1e6bfd8fc7c1f6a70717aa4a88a5356849fd72d58631a915765061407cff91353d1e46cbc684d3fbaa374b8c86a1eb1001dd6fb160f8f70b36318fb266b97003bfc6f4312bf53ae7d136eb3e9b145d086908a079752b0e02a15a23a6e4992e8eb0393130c0b41a39b7530623b41f9a23a94143c02bcc3059d2c74fca1c5efd73ff7bc198fb045fd33aa1c5ad2007bf120d50ca5dfda724ea74b259d8dd193edcea0b55b530d84326ac8b6d6cbbe93b26b816a9817b29474ba34cec57c599ea82e851110ffc0058ae0629c6ca19600ce96125bbcb17d7198eb4c2e313cc09ea446c0a7e5298ace9969dd05d95bd5299042d1092a711970147dfdcfd0635c299a55f01cbe1b1e309d1e0a31e60dfe7b489b37eb5f693725b050debc9122071162702703d91093909a4d0325f5c0452db628e206c5d3ad83570c11da4620e904f93df39a494fe4fe037be02b6f3e2fc550015d96b454591297b81938a238518ca0aa614a815ab018f841a2395c122373ee3e0ae209274a03e2efaad6d892f2dd00674735c7ed5e9220bedde6d1218641940110e5358d1b2db0fbf4749781d1d8cfc599219edaa45c897228e50999615c9564b471a4c1dc1d56386bb558a93b4e2bc6dc1e9adb56b061fdf0a48720428a42ddb963cff5e61bf2c154805e6ff95bdfc161818d1cb55ed6558195d9451b85f79e930309a277354c05c36072c24452a0af76414de40868359ad2a322d2d58793b5839325e599e6b3d9df37082f2a8749bff9ba0e9fa28d8e30bf393339a36fb96f81bf48183698bfd22ec724e636de0778725dde157577c6396603fd6a7cdba7b8c8ea38e9fd2dd1c3efee6196a16c7e42036d2399c06f5fd26c062c2fd341f4cf70b0c6546228efb24d178a2b33050e84116107ddd8f7bcc4c3a60aa52ad8a82618f1c01a24c1038bd9554793c131456360e4d6a3c947bea7d5bc700b0ff2bba14d6b61d74cab47bfbffa426f30872c2ebc1eba7c50807179208ae1b21270851e70aad5f6090c29fa025a9e14648d8079f16de757e46f49dc2db62c2a141f9a675bfa29f09bfe7b765e03d721a7c6781833608e439a5c55fa2dcee9fc760450c90e0917207319a8fb53dc12463bf88e770385b209db8e2b2e8e7451bf6586578760d8b6d22b863846305160ce0a61ee0a61651c45c1c4c43921d894c9edbb47e6dd8225dbf403af3a3c4cf9e3e66ec0710eefdf4212f20920d97f72193f9ef42b92dcf88d96839fa8348fa34a34e915dab66e62bf6df262a21af8306f38da44e2545330e9f75553ebe2283956660eb4a78d3cdc26541e5647c43816441503f65e3ca454c4b6b5d4c398255f923d6a8c5b4dd63512a080095cbf2c121f2120f9519ecad1623a2c06310362075a7a1bebdb3ef518f263fd0ff538f652e970a109b13c7db2ce23bbf8bc07456b8d700d4740033222cfde7a506fe30daca5f251b1a0c2aca2b776782aff063a19012fe4f11de637bff32d3ec432e11e7dd48bdd2fa9eefeab8d80371ebceb66bc908269705287c5e8b6a73bce4ddb63893e5daa825eb40c80e861ae453bf8de26c0fa61bec1f91a5f9d78447b9780f18a749b48fc0e7a5a5ab878169cf45822b62f359b8cccc16fd9163461b5f97fcfce9196349a77e49bd23014b0fe2a34786d6d74217d1edb18d8164436b459556adb8006242a38d55600cb9fe0bbb80d3081095a5a86b96c8d88c6219f34c11aa996c7d82eaac02f0436e6cb6c1b675109fa206815b4dbd3b537d0730fbdd9e9e7947cf2766aff55c15ad96a166d2389b8576f36ceaf540e969c32ec01a24fa8ab6bad909d726548c4931ce5b4754db8b3a57a07be7b27e7227413a2344d6a43c8aa9e90abe52c0f4bc643f63bced142093988728dcba97e9dd0c5618af6f4f613dd07b6732f9b70e34e75271c3be406d84c3ac4e9b716db5eb6e56fd2fb86accc78b122c1d673fb65a5a46c8770724e2dc6aa234000cf49f03d265326495ceb314efd2103e66b04e3a06c2b1d8789d8f8800e4ddc6449c27d6bf63c0d0b38fb6aaab5b1c8a3e8a27434f3b6918945016d0c67961ef043fc0fe2c2ef4774a6f70317cb12c347fd71c2e770c6fe796d0767f015e1930f625dca80fecd90f868ebf5e21e78a6361afe3daaab174a9703a3059d6860dec8ff0d4fa3a42b22ef610c5b6672f17bc79dccb0e0998393ea0fcb0b35e021a8dd026e031523af4a8e34934d75219ac688fc119e8e5cf9ebbb6e084b89cfab1713493bdac4ad50ad45a3e725794a1bfd9d878ead600d14d691af2fb5439a9207bfbfef910e448019a619ba284a83e823daf78abb683a54fcd65a4cb88db355825c1cf7827032095e7381301255f1b12c430f50489d17540461a35a3d2df036812dd546f93570e497943b45ec567c2bb29a5c4eac13cabee68a8bc82af1a51dc7f06f3e5299e8e64a96f81c742101c2de955ece7e09d406e53c75421a1c2df207af3e0d7ba444803efdc593264bce9604d503d6db19491417d7ff7931f34877bf965a2c0c4926ec86abfd247b53f4b2520d2fea1dfb0e7b19643670a69a2a33103f7407b82d82239c67f9a1494172645f0dc642ece4c4cae2e933895aa8863a8015c427118273b64522c1ec535b8e3438ac32dcab834a6b59ff19976617f8ac94dc42bce50807fc18d8431aa93f2cfec9c72c4cc1ae4dc1668bdbd2ddd0dcc1852e2fba333834287f19387473cd9e97a607e51bd345c019c4d3bda1bcd7eb41ec1333c51a4bd98e8664c2185e2e030ee24f6dcfe145851aa1ce9eaf376c50e234989cd25e93b48611e9756c47dfcd543f74d61275c71905b224365ece7306311ea58d883ae46c20b6ed62f1c806f2fbee9beaf666cddc904e6a0700d5ed6d722b0dc41f40e95651f885358920578ee0c1c976c09755d009fc92c70578b1ae849716babb300d9bcc1a01e99f44c71568e0112ad63ddb6b5f3e2ca696fd22644426d9268aeee9b55a933d17f9a85a812231ea09ccd3bcd861317ddc82c88ff9e99868083afc775c1e53341b972d977b9994a24e713eda6f15018a47776f8e92956fd020f00646baffaf8ebefdb753a3ff4fb24f860d84311ed0fe66d6b5b7ad2c1a4ac91f8b4df63817b5f0467c77f91da38cfb82eafe296a398f7be7a6af624898087f0e38aff58149006d1e3dbea5c204352107573b1649e7656182eee49b7794115b56a979a7b87f29b91a5b63da078eeaff2be7111ed853ddbe6c5e83e9357f4bfc48cf929bd1d8f85725467f84328df381707e60a3ba825949b4df24a8858f82847f2ee220169f7b55068ab8a09af0d88e2f9703b9ff038e3169f886e87b49ff3e4abef3850f407a092b9982bad4e2441a17f9af64509dfaeaaf45cfc318059bcd65443ae30a84193d95d1a83894c1c741677c51039b1719349fc10eb6473a575829238c42d763783076c5c794d6816ac4c91936326b284a3abe9bf75cd5e27b6cbc1f8c978d92709d2ba5f1e98fce9b566d227cab9ff6303224beb69e6e30fb16bc0ac6d3a78abc6010030110fd439471f78c73959d0dda921e0e7bb58b80b74e8962b3f2551a82c8971efdb7365919878d8de9cc8816cdd485c308b281864a4efec8cb61d96245fe7578ca77c612e735abc4cafb4d7c0e406c53a5b301a9b133f098d93a1e128503eae4645f7ca7acac3630a4eb85bba597c3df3a36f44fff694bdf162c167d73a11965ab1b474039916f7d92f48507f84f9b84486b766583152c71932587ede9d127ed6b76c0b6aa921601dac7dc148291ec2c1d7e1c6ab4e18faae2b221cb8fde1286f92380221abbccd1edabba6df2d05db70f25b35f0f1d59b0b4426e4e794016ed5802a43684724a3163e341122bb0e9072677dbd20f21a00aec60e58910712113c4826af1bfba6b8cc04fac7e30bfdaff7e01a59b02186e7ed50a5e5887652d68114052daa0b30b6d358a78b91c05fadfd208e0439bdefff6cc9f1c8e52a7e7695c0dbc0eb5901299c882ad0fdf14529a66424377a779edf6eae9fe104fc2358b8b18d98426aec18f20934d1fe80a42d77a893da1d788a9a8025b2b760a6e78bb7ff34a40f1ce1b07bee6af90a970677f14359187ff062503926a4af8caccb48efa5c9095e8a18847bc81ce0e3a3427da12fe8c22213ed238420298057d2fbb6bcda0aaf33bbef01a41c7c170b5b4dc44929df57ec18eb039f6ebbe77be55d4f84e7db84026057d6336e7504f35a4f0d1f9bec84d1940fe96e69acb7a61f4abdc720f850e5b3f2417b924566cf81ead4516b96c1e5b98f40511a4678a30c8f4db2bc44ed54304c7f0e2bd3f84d68ba7072ca93c0914b6e29d9f5b5a68da648e604ba55fc8ea65652099f1f80c6f784324f81f53526965b2e03a7bc00d01b9d3dd2e41420464b3369f7f720253ec405062a6f66a6089e72d09ded8a30e2a201fc26adbecae1fa9a9bbea807fd23c653cf14f1120f93dc4a5c75159da4676716199104b2d870c3641c7624cd8b0a7ba3ee2cbc081f7f019936287f414664ab432a18d50253581e00706ff5f9ae10df165f11dc5473d0aa6e3560ca8d0cfc13b7750763e70aa46f0fa9fa92add55095693e669b049c1807d5d7df96588fed9b0b0dba453ab319fca7775132e266fed6cc592b1d06140bd9197b1778927435820601572edbe83b4da2e04b9f8295c4e7159c23efe686014afc26135885dde3e5b3491c3f9b2aff08e8f20b66cd29fc14b2a86240ff1313624db9e7926f30e19b3e5e10578016c3ef58e63db8e3e9cb019ce7c7b8d7ba6bd881cba3c641e63152857dc25a8f68defe1667d9488bfa4da59431b8f73db74c2c6f15d53e4ebd0fc7962409c098bce5d722aa1c614a19ee6480c5ff5c1e7fd361d30f89d8cd5830ff92ec44d7eb8a15b697f6f1ceec5a6937bae9d102d227bb0ce33578a8fab19c5dff56e77fe78c320489921d57ebee762cf705e665de81aa4138004672ebb7a5551b153f8701aac4c60145d9b5738521844034b2678c65f355fdcbcfd2732979cf7af164e2bc538bf4e1bd8884e93ef2fb5becffb120eb65907ea0121593bc5a39474961d07bb99f4b41188ef91178cbcab00d955f5a011100d9c51d8b1e9ba5e020909ae9f8d0c01d4c220ed08d50cef43698b79897fa9569322d430b8a3371957cfaa19e93f526b2ea4a3253fa0205d5a516365c6dd39645843b90dad80dc7d5045d714f62c3081dd6aa8208583eebc256e1c9746e7f5ead10a2bc2f402aeaf3454ad30c8018d1744386482014e0fcc09257c4ab7ab8812919fdc0aa17df42c01ce5e132aa3e5c6eedbb14f464e5febfcd9732208ab3edec362f6513ef46b32d56dc5189471c211aeee96e5fe11ac2b2fcd256b002bb2b9f56b10332055991c02810282ce1efefe776ac51d349fd77e55fbd5f998341d5018a60cea024e90356365c1951ace641582df3882d20180e083a5c92d2ccd6b75c405227cae70e41e7e5b3e19b9bd14a95fc24650ce5ee5ad0ec18026f236a9396b68d2d1f83c5cb4f278c8229e2d2a995d2f02a3d863158cd3dd9f30963b86777f4b65d3aca131d051422a3b12222026cc81e1ed6cf8a080a6f64f75c1f8e9285399db789cca21a7d15846cf8bcb0754006a2787ca7e2428d58228580f7fa958e84eac86542a736745c2dd1c5717fe84117b58ad76544645b643225669004f3e0f88be04e7592a6b9f0d44dc6d3347a36f13cde05b3885a4f36cd766bbc5dbe6c92a98d56ebed00d20529f4b9d10c83d7ca99eee0fdbe607a743ccfe17d70cfe20b2a0aeb5d0f73f3f1adf939dbf2305a77187be108c94cfd283ac8f9ca3fc074f6266ad12ae66733686e1a9590435986db65878cb63b671acc1f4b5946e719c1f02af87ef3db462687a31fb79907559e4544201a82879cbf122d3915ba70e3e21696809fe28fef905dac2c96fe2cfc4e321f8b416d11bdc4784424de41c64db98f6046e75bb0bf7f4aaf66e282533e87b316ef280c3aa16b14e3c408f90d4727e244db1e99b530c65ed0856a69cd3740229cd62e575bd6c28bcf2e9999faa7f2a27ae4152a90148faa200d213598c5e22e5d2fd5f107331cc61784df2c675f6f30bb527c7cb132a290a297805bb9afc534fdf9f90da554160b61c2c7aede5cbb72ae674cbdb52be2ad855dbe9363e89422c92e76bb305ecbdb0847a631b0edb82855a5a592a855891558420a7b5c45b23b3bdf387c4b3da5a04c558bb26ac0820e01a6432eb9069c09a45f9232720651c23ac7facc21dd7e851072fa5588fbb1305ebd7629be86ff32a6a6e759cbbdab424638b2abbb4918b2b9ccde204af384ea35509237cfe04fa5a6055e0f9a7c13baeb354577a87e8c370acd4d239331928948535f1167908bf5acc10adc02d969af0f96c18bcb6597eddb2aacf970e8b76f9273e01da1d7d070e8c304baea377f74a315a6d72968843150686c3bed32a72e886eb5153da0a7f72800a71a6173f9f84ec15a8738bc48348b823658966c3f2e55d47d8021edf5d0399ac81fac7824f1492deb4599a22b3eab3bb879c7b461b3bd4a40f0fb8961910dcead4176402eb8f8b831cfa5cd3e8d52ff6f5078ea78caa163dc5d873c7502f63df8596af95272fab2c16bbdd0f7d6ee0df83a9690455b24985abbc7f38e36deff3b84777cebb317b1f87d5355bca967484a314316800bf363d5bb220d4cefb52e150518c3a2f995caa6b3ea966e03b611b430400446d54fee6bf87c2efe1581672f560e9592d6462b4d845091c571d6efab5ba484cf52d106e8493faf40ca0fe90b8bcbb5a920e699023e4693548f528ce36b4a176a3b51a4bc573fe703ad2c726707a590667ff36d85461ead539d633be1fa3da2fde4ce698f0d96a12471ae7d9276e64531093d3df6fd5742c36e40eb4d345cefdffbd73b6e769e917ce90b75b2b2132d3ce8e0859dcdb6251065d4f43cbdb404d6d769c8b7bedd486977b067a8cf6609b2f01164d1c86fbb9635a263159ce57aca06a099e4f3c6aae59e4b4e270f0adbeff3dcb37181e5b3bb5563afb8e45976f99ffdf42c5fc0e9bbbead14c07a560724a2502fa4f318e7af76687665ad889c755afd50e9c750ad26e9c183a09183ccd80b67bf08887b34a5420c336febdbed7e509b16749d49762f6797a77a94c0960e61814870843ac1d501cae0ff92851bd3a1af776e8baad67b199b02629880996b063b70a61cc1b0f4349d1c365af96c86d64b484147b766f875a73b5e574d5c8460e991e1d66212dbc9b6199d2fed2f61c9441b67640a4535aaa416cdb47b07693a3b270f4d081e0c041ed8aade3166a30b1068cccea8b0de7532cceae5ea605d0489e2faf5cf77dfcc4dd6d8ef87b9a4f0250e3131ceb8ce4506be567b62bd568ec08bcdc122bd8e69f63445ae13303eecee86568d43b7e2c666cfff939f4b0c231a849ed083835528d8e206fb9446540952b816d535d1a3dc74068d44e63a06858bd7d099f4c903349812c6dc16b5c9d1841e2a659e54fae5af45d54eb47469c6a7f7e1d578d97a2f2820f55a926a91a496d9236c0c778b997e51433a186630f56ed46dd8b2d829b072c8ee90e531ed2bcbcefb721aa95d7e299ba741405495dcceb09dd43b1d70cf9f84a371d3b9256243b40b9be6d8a70e95fe3bcd5a16d93562a89e87efc2a6cb579a8e608fd93588f3de69be43e2f6eabe3ba0c5195bb0a4eee9ec8647eb892ddeadac75e063e09c202508ebcb367e71279409b203aa6f1d36732818ecc8791386bda07d6671ba536b8125b074cdd96859e9d3d9fcb45176c829ad758a7b34d3a3bc4268a5ab7e9e3d72f37ac393262ed06bcdeec15e7d67e4f027f64a3c9645a3a761ec7bb6800388b0b305e4a743de8d38075f6dfbfe30df0b299d6794c37ea2bca438e34ad3a5805d107cbdf4dd60d41035f2e608fe436a5a4c3defc8914be5fb5ca3681aa41e511027ea18f70a67ef1291d87c78bdf7bc6ec68ad4e23fe732cac0b5f65a962da5efa2e94b3335c65f0d2368371e17db87b17b42edae3f02a61fe7104c7e7ab428ddc2b613c0449178e5ebc177b02071cc51b9df5f700772cf022152a66302168aaf5fa3ec43d5565b85e4500b9c399e723407b5da01b080ca9e457d473c54c1c4e01ca35ab4e678c91feef0196962bd086a0d32fed28c0008dc29935f42af6743c7f3efa4afa70b6992c7ffc8f638cc72fcea77a4f28698dd3623aff1e0f713a3df1249fd7109aecbc01348a9deb3a3cc8c69dbc6af73db9f38452eb34978c2f685ff2b156499b15b6c570be3c36e5777c1fd39f43940270c47bf9989f17fb59c5af772cb8f1e8ce0a1b1eba8ec0b78a417ae72f7ef4425caae2786a02bc5268464a44e8a9dd974bc4246f638a2668af08a0d0a5fa715b389bb3a5f8984cc6c7dcc5de72d882ea4b7f3a7a2a04d63ff0817225849028af4b78477004b3e3db056465a7798a74d47da418da15bf85152209f2dd3db81e7e4dd02e656e17b7f2b8222a23ab3bb044622c6328450fcdaf7f0335ff3fa3f78b805eb95983917c6d27566783458330a9745c076cd17ee460dcf3a48c5df4e5d7bb17008d6a9069941318cbf92b9f2f6462d3e61fe84435b1ab5f51e25dfb7934075f35a870f3796703449da93ebe39a2f5f593325ef0bf679f11008e820ed7d78b6ce0bd774f86e38461d7931cbb3699de1c0dc9ff0d84dd4ab772e8bf1f1ab7af3acf5fe90dbcc49ed82e585be2935a7581dfe8f01419735e0d30f91f3ea8d4b1c8014d68e3a7af84a2bc4e8f961f6ea9c808bfe228a00cd2aa75ad67a11092f14e89e1f7eec2f646a0f84afb7814805af4356a8dc125aecd05e848b2af457effec98c134a1b0ae63abe2f40b91f771049f04a82fc6a0d405d82ae4c483df30409ac8ab036dcd25e257ab2ae1d56ced7e1c6676adba4d605009a763d205efdf581996e686a5cc50af988a84f210c6ed436960eed7db9e035e80130097024d10e9ada1184de08447fc37a851f6b6cca3c41582fca0df12f31acdffac8de1c8b28802e5b3a17c7b4a7df1fb58e7f1584c76da570551212da0c29aa92e7a0504f96cf8d6cbf4631895468973bedfedc8a01a814e86de6ab9a3796786ef464556b9ce97b7f199eb8879f06048233556738fd32069a4bcc177ea560391cb958058a332ea34986fe94addb8cc468c780500d025192ce67633bf2c965cf2d588e86db1dbd67a91cfde91992402e73b88625b44717d77f182393be87cfa37b669d1f51ab3afe3bde3be6f91d408cf93e11197285aa11d34e2b5f3d91a2bbee3973e89ecfbeadd63271fa271211f4351b8e6ee01d09e340e0ce5dd1c062f2af6545f4e114f654f3772d0eb2fde1875eed4dbd686a52e8497b67a2f13d66bff15cb30c1d6625f7f1d4438be7b01a9ff1b66105be701667f1c4d734d99881697148376f1f47025055ebe97923273c91413dff41d984ed27756f869de0f975673cc55d101ffd89e9191287ca6b4555440f113cf05e371cd09249103e1452108a91bfb7dc600d68d218850e9db962f95e749358d8fe8a17e5e375520911734f00df04af2f72fce9527b7c05d5762520b03e07cb60e27ca559c5d34b3b73305554216c8119b500401830318c6b576f96edd927c59ec6b4c63c2155fd101037436b92f006578dfaccfa8f505e0e881f7431db3775d74edd4b8e3351909f5c34d0d4461870433b827cfbd1379368da7eeb0d5cad296c3404da7a70af2fe8ad48b4005ca8c7db70044e650b0437536fdaea263c0d45f2d8bba47cf6eccef751acae332f19d8fa69c965232ebd4b6ac5b995242310cfdc0b535125d8b1804e6f648aa8042c2a2345db82db0d9136565d0b241854c0bd5ebc5edda532729ab6279e179bbb14cb7734f863a13d9a7e7060e5a0290833051c6b772a3776221c6140331292bcd415b4396cecdc33b41af9d6949f806ac4b26c7b647cd50286d562de28223ed6fe9e469911fb220e17390834014bd919b2bfa650dba03775591648b34ade8911bef0b3473db91636c150cbc926790af89ea4ea1d50da48aa73336be65b0b8fab0cdcd56f11d30148e314372058b8eb2d3fd6b06b9df78a2697b52cd9c273cfcc5e0c3d1ddfc280053fb3c7417d4c7aee3c3e3810a803508596e05e2e6557710b8391675a2a22659b8b539c46fde35368ea8ee90dcc40744c78cd0fab075153210b1784d31b99e9efb0d0324c17be934de522d2906f881c8026c50dc9faa0aaecd3ecdc7e87a45320ccc02cd4e868eca55fe3f844b41425dc41ae57c56cb372e9f20e6db53c5dd74e99ec253742654f3691e33552b409bee38bccbbe352e390b4c9ec9a5c8395d0a8e7f926bbad5088eb438825d63af476578455cc66b77d4aa3a3e17513d83d61cdf4c3c158704e873bfa8d54e5dd114e5cd9d2323feec51e06484d4b6667a99a9611ae1b8f52642c81e9d6751f30654a8ac453ad06de5c51c938a0d75f7ad53da8c56cdf8bbd4050a56812ca30bf683e30b0edea53c9f1222490012f0573b34d537000e6311b7cb554d96f85120e4678e6ef62a4e737581cb065461bafd928696dd9ad7802576a0952235be3dd9f58f1ae02fae46038642dc33bd78e67fdb767ae6276ab6eecd45e11715525f52d3c41b26aacffd02a85a1d9dd5f8908e3524265e907f23b1db4acd250ba29a51e7cb0185d1cf9a49d451306785013d8ea5610b599046d991bd1a6b7e9fbb55b57b915823abfad52f8aaf451b23a9ab648ecee6de10ece31c59bfe45e7f43926e33ad4f736373711d8510fbe805804185e961a6f31b97923337428c8e53f677becfc799c75851d8b5e6208da6975332056064d79a76107db9b53325737ee5fec10445c1e6c133b119169ca565198c18f53b0e5a713b673f95ae88e482cbca35d8374dcc5e3cf3419f5383508c884de12e98cb7287f234762c46bef1ba872c2bfd6274511ca754c7316e1f1695264f7b2f155a46994125045dbc5284b7d295a3e8d05b8cff78da57f70ad8c45fcee577df8b97fd7b6e9c4943dfba1638b123ce7d9a53df980d486c2c8825a98f74c31ba44c048c41ae4985965e5fc786729949faa311068fc1ad7405d7f4428acb1c45f7b6b05a0981fca0b2afecd4c1b6da96210363e9f607b2e73359f8fad55f462f2669c9cbbb2cf3436d5273f32db2cbec267f8d005e96f03954487bfefda367d283a13a40aafbe36cfd340b09a3417bff75f99486e9d124c1ef72f8221cd2f581a5f9fb5ae0dc2c150032e423002105aaef373df6056af70729badd434d772aa97d141b98b195c3f60121888260e358ba4858fe1ef868309552f16933a207f4e85e0a019668f6fac7c5942e96f8508476ae4c14c8970aba8d174a09477eba889bb2fadd0149a229a5409710305f8ddff979a5300158354f8d01ee77e5bbde8666d4a2356b7b2a65511ceee59977d077cad55b11bfe10d3dc1c92240c669d4236f7b03c68b4009453e55d8182768a62d4ab6fa5ff3a9fced6b27d0e8c99c59b0e9a635f9533803eb7d3d4e195a0f166726d636c041aee3e20e434365d6eebd098a1cac99c00f214cb2fe999b2270d9687434a638cab688a88a10506234fe8a318c547b5d87ba5ac438ba54728349bed92b0cd5de0d4c20bdfa70d85563c64d4454dd078bb8637314c19e4bf441c73c9f4a4cb8ef831862af8abec01225e075e2b32551e7534f45df2ee75912e56006243826aca2ad02a2d13ce7840e28e9170ff7c5ca16be8af8d2c0a8a3bb556989f0a811e36640f7cf43abd783f1ca44711bf1130cbaf92de3c9540390211ecfdb2a8658b12ebeb38f1d69405fe103ad8bf177e1e0c3344753923a678508ed7b7d902bf376504bd00c4b0d4ed14cbaebb2a9fc0d33276ceccd4a62aae6796a177dcc2eecad6bf6b3890ca76b2090381f2bb1415a97708375e58b59dd24d1404d0c33f43ad5f86e5e5e555c1553e8a4e9037162f960f32648e3a07b5e606dc112579cd42b52ef3134549d22c085d988857d836ce248f5f90329f2183628384c7a4523f6ff5648cc4cdedf442550c44e8d763cf660789b3e7cb7661258afd8e9c9e3f43f0c4d0a25432ad80b8e86b7186e1ceeac7aa9882c6d29b6e1d06cf6d557d96c1984d9e8a2172905c0044e19f32e2df3ffcc5fd586683f12e2eddc3968b62ee03a680eeae4cd20ae9e4ebdcb5e1885ab63eaf7948a10538503a5d978314249c2061276f302f902818143267ffaf3e47b7e6d1c783b29c3e6ccbb4aff33f43356e63a7e45e50bde26f030ef1d0d66cd3baa98d6c13af8d7fd5ba78a778d5c3a571863d6044ff90aae62824c96fda9de20be2917fa1fdf02cc30e02f28b1e11e547b71a40e7ca57856540b4254900482d03f08086f335dd4e7a095a838168720eee7d3a0d0e60fb7efd95faba5646051b5596945402c0234a49e868c47a9febe2cd797981a9bd9144af612bf06b3e23e3f8d74d644e829a3b8fae6c7c500a25428bf8382911a9a934a90642d47d55cb8d935bba882734dc0e88ee5d9b4dc4ab90fb9872b65f0ec52c5d2d75e30c08ca37eb44cba6f43136a5ac93e256c74f9759b6e012e74266130ee3692988b2044cf7b7b738bff3a9f43fcca8b5163904f6c2996420bde94acfa318b9e578de8b965c502ba4a0c60ea4fabd15744d8dbf2212e91274283839fadca5c07c0f3b2ee82803457fca2499c456f147b07a5d1f3d0a59c4459c9d8d29aef9c67a8428c53c0cb241b29e1b61694d05db0a64ef64d78dd7cc5c7e62f70759c0d40cbeac36a46aa4853d9072c1c7052c61e1fd663fa3c7cd3ae76c634f3cf7a706f4a13ec2b408ce261f0ce090ce26dd5de6689d5b57ebe8e0d7dfc2cf53163ea4cfaa2ca64311469e690fe37041dcf545066e980e9003ba469bc414dc1bd5c6cd0d25cf2f489abe8882f3c5cbd739fba11bd3a0c69b431e6607497687fa7859befb765838ed20469829174f44d9eb218e75d87e3dffa5a79b17f331b55f4edd79ebab0d84cf7b78794efaaafceadbd05fe5a914b52ec2ba13d5ec40c72a6a32496a0cd20c46832e00f6f82e8334ed5ea8a6781cd7d907be16b29c2e6f07533654b54612bc4b963f7efeca2f9e536f271f69c85a60c47faf1a725e3b6395d29f105f78418076ce3baa82aaaa4a4955e69e2b96b7d5a43a0c3071ee03afa39c82f68e6761c7fdb46d8ae7440837cbe336540b61ac3d3d82bf5eb23a601ec5ced2c123f68826518092208cabd761a0c8e0f0afff68ebafb489f5167a1a27eac1164fb960bc9c8540ab937bb05cfda3f87b7bc49d0b804465c702c503b8dd090c59242f69f11d140d1d9db41b2d942d8e04dcf3434ccac5734fdbe8075bb54e4850246dcaed92fb5e10aa325b15f82fc66fad3b2931dffc044201d55640dcae1f999e3352c819ec3021332000b59104168344c8d3aa1b64d599cf96918bebbf2b255960f3f12d366cbe0a8615a31e907cda79f614e71d40a48563d2fc48402a08048ad9a6711e4ff315d09bb061d082f4a561dce217aa93f3f65b6cd8b23fef3a8f393d07ce23ae1f518eb132cbc9f8e9700d5a8cfd906c096ee7e06bccb5eac1702fa7cf54e4aef7d87a7adabe4058ea694d4e4360ffab70d9e8b670256c9aae472521d292c1f784c13b9f40121828f5d3b42005370627d777254b1cbf8f5ac5ea1e99dd30926c5971c44f519351f296c9ac290dbf5211157e208fc0b8b109f7112010fd2f07dd0690771bd78ddf57b172d72929a880a820960aa3bbe8ea9d830ac94acdd8f8b30b1c924ce09971fb63f380ac40de148b08a0f0768f4960ecafd32e3b48682c62175c2cafff2f42f4258224ea3b60fd2e0ed4f8373dcf73413084877a55149ba3fa52bcd57878faa35b02f1211ac8233da4591853e7896e44a5e182332a5f697713604a89c030f73cd65fef10fd03601f58ef9041033b5d52f197c5f94910062bf3667912af73d7a52349037ef7a85b42b15b659687f2ccbfbef982d89f35c7b5b83113240eee641d2778c1287913663cb1dab9993ba45a25f78a1a89c750d1feb22ad7b4b4068fb5d66bde2ae7c27b4173619df805b4334676c54dafe82ec2184b5562bb09f14bc51bcb3ba35ed238277451e7b0a5a82c39663ea381af21ce7b84c500679e4a5d8d2d57aaeac5a358c64ee551b067d8331f819b22ed1a399035c8b6c66d12c9314062b605931fe0f8a85bb0f2083e68a420084cb2b0908b8c2d2bfb2e68920552f5d16d5f2e993aac5860b05d182e479d74d32c73b2f741f4fa30d0d042023c926172852addd07b85fa72e8b2bfdb4f8ec8d43ff43b50dd03c55bbc68e3a4d4fe4cb15e270c7e0e5ed7aed8ddb9c48c1f31860df64ecd1d5cb0f5087a29d24d310d6baba8bf050e55d196854b025fc3bf7bcb8c34c5193355cc32d142416014cc82709e224f8cd73c9be6d1f39037a8612152c14c402951b7f6adfea78932f584ae838c31a1a8a9e7c99b685d59fbdcf3a2992b0d0508a6b56a730fb30f1a90231438953bd0724ee4fc708988b15ade6812e9f5b7fd14eb417035831facf458d78d7034f289d253f8ddd0f8d62819814c2b70c8781af97b8339c0a45317394a221bfb3ce9a05dcf358b27a32382fcd7b65db6996df51b8073908d2e304483dc0b642fe2830c19dd5f39b7e98fc323aec6dfac6abd033f045210fed7ea703b9d5fca58b2d575a73a017429da180d06ff600d249dd9ec74c7d506ed0337d8d80a791da2abb9a6a856ea59163e162fb21087cf3285e4c6a1d87a5595e0adbb3358ce091d3568ecdcd4e32b8573baf700f37f9892a8b569ab569dfa402abd185d6ecb8b105e6a304559c4ea83d337fc88f567e6fba7eefab2f7990e37f47c4208a14373f4a5f0ad39f0ac32ea2bc620c2a49cdf6a0011850db0c3cfdfba16fdafa265372216089626dbe0170bb0e8027a791b3b7ce695744e3d3dc7bb46aabb6a40a25666108e0b9a9600195551d9db1e883987d2d0449163b97559074989b1e3a2d9cfb2db2bfc940a0ff06e329e38abd86920722f42212812ac23efeb0a48783b9de09f46f49a7c61fb138a38d211224f1538a146fe05c81f8c2eda35994751f272f4d50e5c0d105f78a9ab9ae0823abcc2bba550fbccb3c488bd51056d0f26571d1bb87c6eb8b71fd8f63c8b969420662a5fd6446b6d0803c38e20f7037000c53fd12489cb51f46dcbe2860eced9e49e81647fb4bdaeee0bac199f8b02175ee8436cec</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
  </entry>
  
  <entry>
    <title>【CVPR2025】低光图像增强HVI-CIDNet</title>
    <link href="https://blog.cancin.cn/post/98e97756.html"/>
    <id>https://blog.cancin.cn/post/98e97756.html</id>
    <published>2025-10-18T15:53:42.000Z</published>
    <updated>2026-03-18T12:38:43.473Z</updated>
    
    <content type="html"><![CDATA[<blockquote class=""><p><strong>论文标题</strong>：HVI: A New Color Space for Low-light Image Enhancement<br><strong>DOI</strong>：<a href="https://doi.org/10.48550/arXiv.2502.20272">https://doi.org/10.48550/arXiv.2502.20272</a><br><strong>代码地址</strong>：<a href="https://github.com/Fediory/HVI-CIDNet">https://github.com/Fediory/HVI-CIDNet</a><br><strong>收录</strong>：CVPR2025</p></blockquote><h2 id="研究背景"><a href="#研究背景" class="headerlink" title="研究背景"></a>研究背景</h2><p>在光照不足条件下拍摄的图像通常存在亮度不足、对比度低、细节模糊及噪声干扰等问题，通过 LLIE（低光图像增强）算法可以使其更接近人眼在正常光照下的感知效果，满足后续视觉任务（如目标检测、语义分割）的高质量输入需求。</p><p>LLIE 算法主要面临以下难点：</p><ul><li>光照不足导致的细节丢失：低光图像中暗部区域信息模糊，难以恢复真实细节。</li><li>噪声干扰：在增强亮度时，图像噪声（如高斯噪声、椒盐噪声）会被放大，影响视觉质量和算法鲁棒性。</li><li>动态范围限制：相机传感器在低光下的动态范围有限，导致图像过暗或过亮区域失真。</li><li>色彩失真：增强过程中可能破坏图像原有的色彩平衡，出现色偏或伪影。</li></ul><h2 id="颜色空间"><a href="#颜色空间" class="headerlink" title="颜色空间"></a>颜色空间</h2><p>常见的 LLIE 算法多基于 sRGB 空间或者 HSV 空间。</p><p><strong>sRGB</strong>（Standard Red Green Blue）即标准红、绿、蓝颜色空间，代表算法有 ZeroDCE、EnlightenGAN。缺点是亮度与 RGB 三通道色彩强耦合（high color sensitivity），牵一发而动全身，在增强的过程中容易导致失真，比如调整亮度引发颜色偏移，优化颜色导致亮度失真。</p><p><strong>HSV</strong>（Hue Saturation Value）即色相、饱和度、明度颜色空间，代表算法有 RetinexNet、CoLIE。缺点是虽然解耦了亮度与色彩，但同时引入了红色不连续噪声和黑色平面噪声，这两种噪声会在以红色为主或极暗图像的增强过程中产生严重的伪影。</p><p><strong>YCbCr</strong>，即亮度轴（Y）+反射色平面（CbCr）。Y 轴仍与 CbCr 平面存在部分耦合，从而导致严重的色偏。</p><h2 id="HVI（Horizontal-Vertical-Intensity）"><a href="#HVI（Horizontal-Vertical-Intensity）" class="headerlink" title="HVI（Horizontal/Vertical-Intensity）"></a>HVI（Horizontal/Vertical-Intensity）</h2><p>HVI 是基于 HSV 优化而来，其核心是确保相似颜色具有更小的欧氏距离，通过两大技术解决 HSV 噪声问题：</p><ul><li>一是极化 HS 映射，通过极坐标约束红色坐标距离，来消除红色不连续噪声。</li><li>二是可学习压缩函数 C_k，动态压缩低光区域的强度分布，来消除黑色平面噪声。</li></ul><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20251019004055591.webp" alt=""></p><h3 id="极化-HS-映射"><a href="#极化-HS-映射" class="headerlink" title="极化 HS 映射"></a>极化 HS 映射</h3><p>首先根据 Max-RGB 理论计算每个像素的 Intensity，构建 I-map，这里可以反映图像的全局光照水平。</p><script type="math/tex; mode=display">I_\max(x)=max(c∈{R,G,B})⁡(I_c(x))=max⁡(I_R(x),I_G(x),I_B(x))</script><p>然后根据 I-map，可以计算出 S-map 和 H-map。</p><script type="math/tex; mode=display">s=\begin{cases}0, & I_{max} = 0\\\frac{\Delta}{I_{max}}, & I_{max}\neq0\end{cases},\Delta = I_{max}-\min(I_{c})</script><script type="math/tex; mode=display">h=\begin{cases}0, & if\ s = 0\\\frac{I_G - I_B}{\Delta}\bmod{6}, & if\ I_{max}=I_R\\2+\frac{I_B - I_R}{\Delta}, & if\ I_{max}=I_G\\4+\frac{I_R - I_G}{\Delta}, & if\ I_{max}=I_B\end{cases}</script><p>这里不难发现，在 HSV 空间中，红色在色相端点（h=0和h=6）上间断，进而导致增强后出现红色不连续噪声。因此我们只需要将色相轴 h 极化，将其映射到两个新的正交分量 h=cos⁡(πh/3)、v=sin⁡(πh/3)，即可使得红色在 h-v平面连续。</p><h3 id="C-k-函数"><a href="#C-k-函数" class="headerlink" title="C_k 函数"></a>C_k 函数</h3><p>针对黑色平面噪声问题，需要缩小低光区域的同时保留高光区域。但是，这个压缩程度在不同的数据集和网络中是不同的。因此，这里就需要一个可信息的自适应的压缩函数 C_k。</p><script type="math/tex; mode=display">C_k=\sqrt[k]{\sin\left(\frac{\pi I_{max}(x)}{2}\right)+\varepsilon}</script><p>其中，k是一个可训练参数，用于控制暗色点密度；ε=10^(-8) 避免根号里为0，用于避免梯度爆炸。</p><p>本质上，C_k 起到半径映射函数的作用，较小的 C_k 对应较小的半径或较低的强度值。因此，随着 C_k 的减小，暗色点会聚集在一起。</p><p>最后整合色彩与强度信息，定义水平 <script type="math/tex">\widehat{H}</script> 图和垂直 <script type="math/tex">\widehat{V}</script> 图为：</p><script type="math/tex; mode=display">\widehat{H} = C_k \odot S \odot H\\\widehat{V} = C_k \odot S \odot V</script><p>其中，h∈H，v∈V，⨀ 表示元素级乘法。<script type="math/tex">\widehat{H}</script>、<script type="math/tex">\widehat{V}</script>、I_max 可以拼接形成 HVI 图像。</p><h2 id="CIDNet（Color-and-Intensity-Decoupling-Network）"><a href="#CIDNet（Color-and-Intensity-Decoupling-Network）" class="headerlink" title="CIDNet（Color and Intensity Decoupling Network）"></a>CIDNet（Color and Intensity Decoupling Network）</h2><p>即颜色和强度解耦网络，用于分别对 HVI 空间中的 HV 平面和 I 轴信息进行建模。</p><p>CIDNet 整体分为三个步骤——HVI 变换、双分支增强网络、感知逆 HVI 变换（PHVIT）。</p><p>首先通过 HVI 变换将 sRGB 图像映射到 HVI 颜色空间，有效分离亮度与色彩，得到 Intensity Map 和 HV Color Map。</p><p>随后在 HVI 空间中通过双分支网络进行增强，其中 HV 分支用来抑制暗部的噪声和色度，利用 I 分支来估计整个图像的照度，进行亮度增强。两分支通过 LCA 模块进行交互，避免全局色偏。</p><p>最后通过感知逆 HVI 变换（PHVIT）将增强结果映射回 sRGB 空间，得到无色偏、无伪影的增强图像。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20251019004110356.webp" alt=""></p><p>可以看到，中间这个双分支网络基于 Unet 架构构建，包含1个编码器和1个解码器，有3个下采样层和3个上采样层，每层都配备了1个轻量交叉注意力（LCA）模块，以及多个跳跃连接。</p><p>这样的设计打破了单分支自注意力局限，利用 “光照与噪声负相关” 特性，引导 HV-branch 针对性降噪（高光区少降噪、低光区多降噪），同时将 HV-branch 降噪后的信息反馈给 I-branch，避免亮度过度增强。</p><p>双分支分别优化色彩与强度，LCA 模块实现特征互导，确保色彩降噪与亮度增强同步优化，避免各自为战导致的色偏或亮度伪影。</p><h2 id="损失函数"><a href="#损失函数" class="headerlink" title="损失函数"></a>损失函数</h2><p>为了对 CIDNet 的训练提供全面监督，我们从两个关键角度指导增强过程，包括 sRGB 空间中的真实值（GroundTruth）和 HVI 空间中的 HVI 图。</p><script type="math/tex; mode=display">L=\lambda l(\hat{I}_{HVI},I_{HVI})+l(\hat{I},I)</script><p>其中，λ 是一个加权超参数，用于平衡两个不同颜色空间中的损失。</p><script type="math/tex; mode=display">l(\hat{X}_{HVI},X_{HVI})=\lambda_1\cdot L_1(\hat{X}_{HVI},X_{HVI})+\lambda_d\cdot L_d(\hat{X}_{HVI},X_{HVI})+\lambda_e\cdot L_e(\hat{X}_{HVI},X_{HVI})+\lambda_p\cdot L_p(\hat{X}_{HVI},X_{HVI})</script><p>该设计以双空间混合框架打通 “低光噪声抑制” 与 “像素细节保留” 的协同路径，以多损失项组合覆盖 “客观误差 - 结构 - 边缘 - 感知” 的全维度监督需求。</p><h2 id="数据集"><a href="#数据集" class="headerlink" title="数据集"></a>数据集</h2><p>采用了七个常用的低光图像增强基准数据集进行评估，包括 LOLv1、LOLv2、DICM、LIME、MEF、NPE 和 VV。（DICM、LIME、MEF、NPE 和 VV 为非配对数据集）</p><p>同时还在两个极端数据集上进行了进一步的实验，分别是 SICE（包含混合测试集和梯度测试集）和 SID（索尼全暗）。</p><h2 id="实验效果"><a href="#实验效果" class="headerlink" title="实验效果"></a>实验效果</h2><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20251019004146208.webp" alt=""></p><h3 id="HVI插件"><a href="#HVI插件" class="headerlink" title="HVI插件"></a>HVI插件</h3><p>HVI 作为插件使用，显著提升 SOTA 算法性能。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20251019004230823.webp" alt=""></p><h3 id="消融实验"><a href="#消融实验" class="headerlink" title="消融实验"></a>消融实验</h3><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20251019004237610.webp" alt=""></p><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><ul><li>实验证明 HVI + CIDNet 在 10 个数据集上超越现有 SOTA 方法，同时参数量小（1.88M）且计算量低（7.57 GFLOPs）；</li><li>跨方法泛化：HVI 与不同网络架构兼容，可将其作为插件模块使用，能解决各类方法的共性噪声问题；</li><li>跨任务泛化：HVI 不仅适用于 LLIE，还可扩展至低光去模糊、图像降噪，证明其在低层级视觉任务中的通用价值。</li></ul><h2 id="不足"><a href="#不足" class="headerlink" title="不足"></a>不足</h2><ul><li>未探索比正弦函数更优的 C_k 表达式；</li><li>未验证 HVI 在目标检测、分割等高层视觉任务的适用性；</li><li>仅采用监督训练，未探索无监督或半监督范式。</li></ul><h2 id="复现"><a href="#复现" class="headerlink" title="复现"></a>复现</h2><p>readme 文件给的环境配置有问题，这里给出我复现的软硬件配置。</p><p>硬件：</p><ul><li>CPU：Intel Core i9-14900K</li><li>显卡：RTX 4090 24G</li><li>内存：32G</li></ul><p>软件：</p><ul><li>Anaconda：24.3</li><li>Python：3.10</li><li>CUDA：12.4</li></ul><p>修改 requirements.txt 为以下版本：</p><figure class="highlight txt"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">arch==5.3.1</span><br><span class="line">image_quality==1.2.7</span><br><span class="line">lpips==0.1.4</span><br><span class="line">matplotlib==3.5.3</span><br><span class="line">numpy==1.24.3</span><br><span class="line">opencv_contrib_python==4.7.0.72</span><br><span class="line">opencv-python==4.7.0.72</span><br><span class="line">Pillow==9.5.0</span><br><span class="line">scipy==1.9.3</span><br><span class="line">thop==0.1.1.post2209072238</span><br><span class="line">torch==2.4.0</span><br><span class="line">torchvision==0.19.0</span><br><span class="line">torchaudio==2.4.0</span><br><span class="line">tqdm==4.65.0</span><br><span class="line">einops==0.6.1</span><br><span class="line">gradio==3.41.2</span><br><span class="line">huggingface_hub==0.19.4</span><br><span class="line">safetensors==0.4.2</span><br></pre></td></tr></table></figure>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;blockquote class=&quot;&quot;&gt;&lt;p&gt;&lt;strong&gt;论文标题&lt;/strong&gt;：HVI: A New Color Space for Low-light Image</summary>
        
      
    
    
    
    <category term="文献速读" scheme="https://blog.cancin.cn/categories/%E6%96%87%E7%8C%AE%E9%80%9F%E8%AF%BB/"/>
    
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
    <category term="论文" scheme="https://blog.cancin.cn/tags/%E8%AE%BA%E6%96%87/"/>
    
  </entry>
  
  <entry>
    <title>侧边栏组件 - 年月历文章归档卡片</title>
    <link href="https://blog.cancin.cn/post/7be4d94d.html"/>
    <id>https://blog.cancin.cn/post/7be4d94d.html</id>
    <published>2025-05-21T05:01:16.000Z</published>
    <updated>2025-07-01T04:41:35.917Z</updated>
    
    <content type="html"><![CDATA[<h2 id="预览"><a href="#预览" class="headerlink" title="预览"></a>预览</h2><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20250521132138224.webp" alt="年月历文章归档卡片"></p><p>相比自带卡片占用更小的展示面积，能查看所有月份的文章数量，点击年份可以查看对应年份的所有文章，左右两个按钮可以切换年份。</p><h2 id="实现"><a href="#实现" class="headerlink" title="实现"></a>实现</h2><ol><li><p>找到<code>\themes\butterfly\scripts\helpers\aside_archives.js</code>，注释掉所有原有的代码，替换成下面代码。</p> <figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">&#x27;use strict&#x27;</span></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">helper</span>.<span class="title function_">register</span>(<span class="string">&#x27;aside_archives&#x27;</span>, <span class="keyword">function</span> (<span class="params">options = &#123;&#125;</span>) &#123;</span><br><span class="line"><span class="keyword">const</span> &#123; config &#125; = <span class="variable language_">this</span></span><br><span class="line"><span class="keyword">const</span> archiveDir = config.<span class="property">archive_dir</span></span><br><span class="line"><span class="keyword">const</span> &#123; timezone &#125; = config</span><br><span class="line"><span class="keyword">const</span> lang = <span class="title function_">toMomentLocale</span>(<span class="variable language_">this</span>.<span class="property">page</span>.<span class="property">lang</span> || <span class="variable language_">this</span>.<span class="property">page</span>.<span class="property">language</span> || config.<span class="property">language</span>)</span><br><span class="line"><span class="keyword">let</span> &#123; format &#125; = options</span><br><span class="line"><span class="keyword">const</span> type = options.<span class="property">type</span> || <span class="string">&#x27;monthly&#x27;</span></span><br><span class="line"><span class="keyword">const</span> order = options.<span class="property">order</span> || -<span class="number">1</span></span><br><span class="line"><span class="keyword">const</span> compareFunc = type === <span class="string">&#x27;monthly&#x27;</span></span><br><span class="line">    ? <span class="function">(<span class="params">yearA, monthA, yearB, monthB</span>) =&gt;</span> yearA === yearB &amp;&amp; monthA === monthB</span><br><span class="line">    : <span class="function">(<span class="params">yearA, monthA, yearB, monthB</span>) =&gt;</span> yearA === yearB</span><br><span class="line"><span class="keyword">let</span> result = <span class="string">&#x27;&#x27;</span></span><br><span class="line"><span class="keyword">if</span> (!format) &#123;</span><br><span class="line">    format = type === <span class="string">&#x27;monthly&#x27;</span> ? <span class="string">&#x27;MMMM YYYY&#x27;</span> : <span class="string">&#x27;YYYY&#x27;</span></span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">const</span> posts = <span class="variable language_">this</span>.<span class="property">site</span>.<span class="property">posts</span>.<span class="title function_">sort</span>(<span class="string">&#x27;date&#x27;</span>, order)</span><br><span class="line"><span class="keyword">if</span> (!posts.<span class="property">length</span>) <span class="keyword">return</span> result</span><br><span class="line"><span class="keyword">const</span> data = []</span><br><span class="line"><span class="keyword">let</span> length = <span class="number">0</span></span><br><span class="line">posts.<span class="title function_">forEach</span>(<span class="function"><span class="params">post</span> =&gt;</span> &#123;</span><br><span class="line">    <span class="comment">// Clone the date object to avoid pollution</span></span><br><span class="line">    <span class="keyword">let</span> date = post.<span class="property">date</span>.<span class="title function_">clone</span>()</span><br><span class="line">    <span class="keyword">if</span> (timezone) date = date.<span class="title function_">tz</span>(timezone)</span><br><span class="line">    <span class="keyword">const</span> year = date.<span class="title function_">year</span>()</span><br><span class="line">    <span class="keyword">const</span> month = date.<span class="title function_">month</span>() + <span class="number">1</span></span><br><span class="line">    <span class="keyword">const</span> lastData = data[length - <span class="number">1</span>]</span><br><span class="line">    <span class="keyword">if</span> (!lastData || !<span class="title function_">compareFunc</span>(lastData.<span class="property">year</span>, lastData.<span class="property">month</span>, year, month)) &#123;</span><br><span class="line">    <span class="keyword">if</span> (lang) date = date.<span class="title function_">locale</span>(lang)</span><br><span class="line">    <span class="keyword">const</span> name = date.<span class="title function_">format</span>(format)</span><br><span class="line">    length = data.<span class="title function_">push</span>(&#123;</span><br><span class="line">        name,</span><br><span class="line">        year,</span><br><span class="line">        month,</span><br><span class="line">        <span class="attr">count</span>: <span class="number">1</span></span><br><span class="line">    &#125;)</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">    lastData.<span class="property">count</span>++</span><br><span class="line">    &#125;</span><br><span class="line">&#125;)</span><br><span class="line"><span class="comment">// 按年份分组</span></span><br><span class="line"><span class="keyword">const</span> groupedData = data.<span class="title function_">reduce</span>(<span class="function">(<span class="params">acc, &#123; name, year, month, count &#125;</span>) =&gt;</span> &#123;</span><br><span class="line">    <span class="keyword">if</span> (!acc[year]) &#123;</span><br><span class="line">    acc[year] = &#123; year, <span class="attr">sum</span>: <span class="number">0</span>, <span class="attr">data</span>: [] &#125;; <span class="comment">// 初始化年份条目</span></span><br><span class="line">    &#125;</span><br><span class="line">    acc[year].<span class="property">sum</span> += count; <span class="comment">// 累加年份的总文章数</span></span><br><span class="line">    acc[year].<span class="property">data</span>.<span class="title function_">push</span>(&#123; name, month, count &#125;); <span class="comment">// 将月份数据加入对应年份</span></span><br><span class="line">    <span class="keyword">return</span> acc;</span><br><span class="line">&#125;, &#123;&#125;);</span><br><span class="line"><span class="comment">// 转换为目标数组格式</span></span><br><span class="line"><span class="keyword">const</span> newData = <span class="title class_">Object</span>.<span class="title function_">values</span>(groupedData);</span><br><span class="line">result += <span class="string">`&lt;div class=&quot;item-headline&quot;&gt;&lt;i class=&quot;fas fa-archive&quot;&gt;&lt;/i&gt;&lt;span&gt;<span class="subst">$&#123;<span class="variable language_">this</span>._p(<span class="string">&#x27;aside.card_archives&#x27;</span>)&#125;</span>&lt;/span&gt;`</span></span><br><span class="line">result += <span class="string">&#x27;&lt;/div&gt;&#x27;</span></span><br><span class="line">result += <span class="string">`&lt;div class=&quot;card-archive-calendar&quot;&gt;</span></span><br><span class="line"><span class="string">    &lt;div class=&quot;card-archive-calendar-head&quot;&gt;</span></span><br><span class="line"><span class="string">    &lt;button class=&quot;card-archive-calendar-left`</span></span><br><span class="line"><span class="keyword">if</span> (newData.<span class="property">length</span> === <span class="number">1</span>) result += <span class="string">&#x27; no-event&#x27;</span></span><br><span class="line">result +=</span><br><span class="line">    <span class="string">`&quot; onclick=&quot;ctrl.card_archive_calendar_prev()&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;i class=&quot;fas fa-angle-left&quot;&gt;&lt;/i&gt;</span></span><br><span class="line"><span class="string">    &lt;/button&gt;</span></span><br><span class="line"><span class="string">    &lt;div class=&quot;card-archive-calendar-center&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;card-archive-calendar-years&quot; style=&quot;transform: translateX(0px);&quot;&gt;`</span></span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; newData.<span class="property">length</span>; i++) &#123;</span><br><span class="line">    <span class="keyword">let</span> url = <span class="string">`<span class="subst">$&#123;archiveDir&#125;</span>/<span class="subst">$&#123;newData[i].year&#125;</span>/`</span></span><br><span class="line">    result +=</span><br><span class="line">    <span class="string">`&lt;a class=&quot;card-archive-calendar-year-item&quot; href=&quot;<span class="subst">$&#123;<span class="variable language_">this</span>.url_for(url)&#125;</span>&quot;&gt;</span></span><br><span class="line"><span class="string">            &lt;span class=&quot;card-archive-calendar-year&quot;&gt;<span class="subst">$&#123;newData[i].year&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;span class=&quot;card-archive-calendar-year-count&quot;&gt;[<span class="subst">$&#123;newData[i].sum&#125;</span>]&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;/a&gt;`</span></span><br><span class="line">&#125;</span><br><span class="line">result +=</span><br><span class="line">    <span class="string">`&lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;button class=&quot;card-archive-calendar-right no-event&quot; onclick=&quot;ctrl.card_archive_calendar_next()&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;i class=&quot;fas fa-angle-right&quot;&gt;&lt;/i&gt;</span></span><br><span class="line"><span class="string">    &lt;/button&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;div class=&quot;card-archive-calendar-body&quot;&gt;</span></span><br><span class="line"><span class="string">    &lt;div class=&quot;card-archive-calendar-pages&quot; style=&quot;transform: translateX(0px);&quot;&gt;`</span></span><br><span class="line"><span class="keyword">for</span> (<span class="keyword">let</span> i = <span class="number">0</span>; i &lt; newData.<span class="property">length</span>; i++) &#123;</span><br><span class="line">    <span class="keyword">let</span> item = newData[i]</span><br><span class="line">    <span class="keyword">let</span> m = [<span class="string">&#x27;一月&#x27;</span>, <span class="string">&#x27;二月&#x27;</span>, <span class="string">&#x27;三月&#x27;</span>, <span class="string">&#x27;四月&#x27;</span>, <span class="string">&#x27;五月&#x27;</span>, <span class="string">&#x27;六月&#x27;</span>, <span class="string">&#x27;七月&#x27;</span>, <span class="string">&#x27;八月&#x27;</span>, <span class="string">&#x27;九月&#x27;</span>, <span class="string">&#x27;十月&#x27;</span>, <span class="string">&#x27;十一月&#x27;</span>, <span class="string">&#x27;十二月&#x27;</span>]</span><br><span class="line">    <span class="keyword">let</span> k = item.<span class="property">data</span>.<span class="property">length</span> - <span class="number">1</span></span><br><span class="line">    result +=</span><br><span class="line">    <span class="string">`&lt;div class=&quot;card-archive-calendar-page&quot;&gt;`</span></span><br><span class="line">    <span class="keyword">for</span> (<span class="keyword">let</span> j = <span class="number">0</span>; j &lt; <span class="number">12</span>; j++) &#123;</span><br><span class="line">    <span class="keyword">let</span> c = <span class="number">0</span></span><br><span class="line">    <span class="keyword">if</span> (k &gt;= <span class="number">0</span> &amp;&amp; j == item.<span class="property">data</span>[k].<span class="property">month</span> - <span class="number">1</span>) &#123;</span><br><span class="line">        c = item.<span class="property">data</span>[k].<span class="property">count</span></span><br><span class="line">        <span class="keyword">let</span> url = <span class="string">`<span class="subst">$&#123;archiveDir&#125;</span>/<span class="subst">$&#123;item.year&#125;</span>/`</span></span><br><span class="line">        <span class="keyword">if</span> (type === <span class="string">&#x27;monthly&#x27;</span>) &#123;</span><br><span class="line">        <span class="keyword">if</span> (item.<span class="property">data</span>[k].<span class="property">month</span> &lt; <span class="number">10</span>) url += <span class="string">&#x27;0&#x27;</span></span><br><span class="line">        url += <span class="string">`<span class="subst">$&#123;item.data[k].month&#125;</span>/`</span></span><br><span class="line">        &#125;</span><br><span class="line">        result +=</span><br><span class="line">        <span class="string">`&lt;a class=&quot;card-archive-calendar-month-item&quot; href=&quot;<span class="subst">$&#123;<span class="variable language_">this</span>.url_for(url)&#125;</span>&quot;&gt;`</span></span><br><span class="line">        k--</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">        result +=</span><br><span class="line">        <span class="string">`&lt;a class=&quot;card-archive-calendar-month-item no-link&quot;&gt;`</span></span><br><span class="line">    &#125;</span><br><span class="line">    result +=</span><br><span class="line">        <span class="string">`&lt;span class=&quot;card-archive-calendar-month&quot;&gt;<span class="subst">$&#123;m[j]&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">                &lt;span class=&quot;card-archive-calendar-month-count&quot;&gt;<span class="subst">$&#123;c&#125;</span>篇&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;/a&gt;`</span></span><br><span class="line">    &#125;</span><br><span class="line">    result +=</span><br><span class="line">    <span class="string">`&lt;/div&gt;`</span></span><br><span class="line">&#125;</span><br><span class="line">result +=</span><br><span class="line">    <span class="string">`&lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;`</span></span><br><span class="line"><span class="keyword">return</span> result</span><br><span class="line">&#125;)</span><br><span class="line"><span class="keyword">const</span> toMomentLocale = <span class="keyword">function</span> (<span class="params">lang</span>) &#123;</span><br><span class="line"><span class="keyword">if</span> (lang === <span class="literal">undefined</span>) &#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="literal">undefined</span></span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">// moment.locale(&#x27;&#x27;) equals moment.locale(&#x27;en&#x27;)</span></span><br><span class="line"><span class="comment">// moment.locale(null) equals moment.locale(&#x27;en&#x27;)</span></span><br><span class="line"><span class="keyword">if</span> (!lang || lang === <span class="string">&#x27;en&#x27;</span> || lang === <span class="string">&#x27;default&#x27;</span>) &#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="string">&#x27;en&#x27;</span></span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">return</span> lang.<span class="title function_">toLowerCase</span>().<span class="title function_">replace</span>(<span class="string">&#x27;_&#x27;</span>, <span class="string">&#x27;-&#x27;</span>)</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></li><li><p>补充逻辑函数</p> <figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> ctrl = &#123;</span><br><span class="line">    <span class="title function_">card_archive_calendar_prev</span>(<span class="params"></span>) &#123;</span><br><span class="line">        <span class="keyword">let</span> a = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-years&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> b = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-pages&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> count = a.<span class="property">childElementCount</span></span><br><span class="line">        <span class="keyword">let</span> prev = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-left&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> next = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-right&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> t = a.<span class="property">style</span>.<span class="property">transform</span></span><br><span class="line">        <span class="keyword">if</span> (t) &#123;</span><br><span class="line">            <span class="keyword">let</span> m = <span class="built_in">parseFloat</span>(t.<span class="title function_">match</span>(<span class="regexp">/translateX\((-?\d+\.?\d*)(px|%)?\)/</span>)[<span class="number">1</span>])</span><br><span class="line">            <span class="keyword">let</span> n = m / <span class="number">100</span></span><br><span class="line">            <span class="keyword">if</span> (n &gt; <span class="number">0</span> &amp;&amp; n &lt; count - <span class="number">2</span>) &#123;</span><br><span class="line">                a.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">100</span> * (n+<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                b.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">298</span> * (n+<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">            &#125; <span class="keyword">else</span> <span class="keyword">if</span> (n == count - <span class="number">2</span>) &#123;</span><br><span class="line">                a.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">100</span> * (n+<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                b.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">298</span> * (n+<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                prev.<span class="property">classList</span>.<span class="title function_">add</span>(<span class="string">&quot;no-event&quot;</span>)</span><br><span class="line">            &#125; <span class="keyword">else</span> <span class="keyword">if</span> (n == <span class="number">0</span>) &#123;</span><br><span class="line">                a.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">100</span> + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                b.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">298</span> + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                <span class="keyword">if</span> (count == <span class="number">2</span>) &#123;</span><br><span class="line">                    prev.<span class="property">classList</span>.<span class="title function_">add</span>(<span class="string">&quot;no-event&quot;</span>)</span><br><span class="line">                    next.<span class="property">classList</span>.<span class="title function_">remove</span>(<span class="string">&quot;no-event&quot;</span>)</span><br><span class="line">                &#125; <span class="keyword">else</span> <span class="keyword">if</span> (count &gt; <span class="number">2</span>) &#123;</span><br><span class="line">                    next.<span class="property">classList</span>.<span class="title function_">remove</span>(<span class="string">&quot;no-event&quot;</span>)</span><br><span class="line">                &#125;</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;,</span><br><span class="line"></span><br><span class="line">    <span class="title function_">card_archive_calendar_next</span>(<span class="params"></span>) &#123;</span><br><span class="line">        <span class="keyword">let</span> a = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-years&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> b = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-pages&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> count = a.<span class="property">childElementCount</span></span><br><span class="line">        <span class="keyword">let</span> prev = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-left&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> next = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;.card-archive-calendar-right&quot;</span>)</span><br><span class="line">        <span class="keyword">let</span> t = a.<span class="property">style</span>.<span class="property">transform</span></span><br><span class="line">        <span class="keyword">if</span> (t) &#123;</span><br><span class="line">            <span class="keyword">let</span> m = <span class="built_in">parseFloat</span>(t.<span class="title function_">match</span>(<span class="regexp">/translateX\((-?\d+\.?\d*)(px|%)?\)/</span>)[<span class="number">1</span>])</span><br><span class="line">            <span class="keyword">let</span> n = m / <span class="number">100</span></span><br><span class="line">            <span class="keyword">if</span> (n &gt; <span class="number">1</span> &amp;&amp; n &lt; count - <span class="number">1</span>) &#123;</span><br><span class="line">                a.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">100</span> * (n-<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                b.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">298</span> * (n-<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">            &#125; <span class="keyword">else</span> <span class="keyword">if</span> (n == count - <span class="number">1</span>) &#123;</span><br><span class="line">                a.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">100</span> * (n-<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                b.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(&quot;</span> + <span class="number">298</span> * (n-<span class="number">1</span>) + <span class="string">&quot;px)&quot;</span></span><br><span class="line">                prev.<span class="property">classList</span>.<span class="title function_">remove</span>(<span class="string">&quot;no-event&quot;</span>)</span><br><span class="line">            &#125; <span class="keyword">else</span> <span class="keyword">if</span> (n == <span class="number">1</span>) &#123;</span><br><span class="line">                a.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(0px)&quot;</span></span><br><span class="line">                b.<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(0px)&quot;</span></span><br><span class="line">                next.<span class="property">classList</span>.<span class="title function_">add</span>(<span class="string">&quot;no-event&quot;</span>)</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure></li><li><p>添加样式代码</p> <figure class="highlight css"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.card-archive-calendar-head</span> &#123;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">justify-content</span>: space-between;</span><br><span class="line">    <span class="attribute">padding</span>: <span class="number">5px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-head</span> <span class="selector-tag">button</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">30px</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">30px</span>;</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--font-color);</span><br><span class="line">    <span class="attribute">transition</span>: .<span class="number">3s</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-head</span> <span class="selector-tag">button</span>,</span><br><span class="line"><span class="selector-class">.card-archive-calendar-center</span> &#123;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">var</span>(--gavin-widget-bg1);</span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">8px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-head</span> <span class="selector-tag">button</span><span class="selector-pseudo">:hover</span>,</span><br><span class="line"><span class="selector-class">.card-archive-calendar-year-item</span><span class="selector-pseudo">:hover</span> &#123;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">var</span>(--gavin-widget-bg2);</span><br><span class="line">    <span class="attribute">color</span>: <span class="built_in">var</span>(--dis-f-<span class="number">0</span>);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-year-item</span> <span class="selector-tag">span</span>,</span><br><span class="line"><span class="selector-class">.card-archive-calendar-month-item</span> <span class="selector-tag">span</span> &#123;</span><br><span class="line">    <span class="attribute">line-height</span>: <span class="number">1.3</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-center</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">30px</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100px</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">overflow</span>: hidden;</span><br><span class="line">    <span class="attribute">justify-content</span>: flex-end;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-years</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-direction</span>: row;</span><br><span class="line">    <span class="attribute">transition</span>: .<span class="number">3s</span> ease;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-year-item</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">justify-content</span>: center;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-year</span> &#123;</span><br><span class="line">    <span class="attribute">font-weight</span>: bold;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-year-count</span> &#123;</span><br><span class="line">    <span class="attribute">margin-left</span>: <span class="number">5px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-year-count</span>,</span><br><span class="line"><span class="selector-class">.card-archive-calendar-month-count</span> &#123;</span><br><span class="line">    <span class="attribute">font-size</span>: <span class="number">85%</span>;</span><br><span class="line">    <span class="attribute">font-weight</span>: bold;</span><br><span class="line">    <span class="attribute">opacity</span>: .<span class="number">4</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-body</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">overflow</span>: hidden;</span><br><span class="line">    <span class="attribute">justify-content</span>: flex-end;</span><br><span class="line">    <span class="attribute">padding</span>: <span class="number">5px</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-pages</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-direction</span>: row;</span><br><span class="line">    <span class="attribute">transition</span>: .<span class="number">3s</span> ease;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-page</span> &#123;</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">100%</span>;</span><br><span class="line">    <span class="attribute">width</span>: <span class="built_in">calc</span>(<span class="number">298px</span> - <span class="number">10px</span>);</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-direction</span>: row;</span><br><span class="line">    <span class="attribute">flex-wrap</span>: wrap;</span><br><span class="line">    <span class="attribute">gap</span>: <span class="number">10px</span>;</span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">0</span> <span class="number">5px</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-month-item</span> &#123;</span><br><span class="line">    <span class="attribute">display</span>: flex;</span><br><span class="line">    <span class="attribute">flex-direction</span>: column;</span><br><span class="line">    <span class="attribute">align-items</span>: center;</span><br><span class="line">    <span class="attribute">justify-content</span>: center;</span><br><span class="line">    <span class="attribute">width</span>: <span class="built_in">calc</span>((<span class="number">100%</span> - <span class="number">30px</span>) / <span class="number">4</span>);</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">50px</span>;</span><br><span class="line">    <span class="attribute">cursor</span>: pointer;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">var</span>(--gavin-widget-bg1);</span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">8px</span>;</span><br><span class="line">    <span class="attribute">font-weight</span>: bold;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-month-item</span><span class="selector-pseudo">:hover</span> &#123;</span><br><span class="line">    <span class="attribute">background</span>: <span class="built_in">var</span>(--gavin-nav-hover);</span><br><span class="line">    <span class="attribute">color</span>: <span class="number">#fff</span>;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="selector-class">.card-archive-calendar-head</span> <span class="selector-tag">button</span><span class="selector-class">.no-event</span>,</span><br><span class="line"><span class="selector-class">.card-archive-calendar-month-item</span><span class="selector-class">.no-link</span> &#123;</span><br><span class="line">    <span class="attribute">opacity</span>: <span class="number">0.3</span>;</span><br><span class="line">    <span class="attribute">pointer-events</span>: none;</span><br><span class="line">&#125;</span><br><span class="line"></span><br></pre></td></tr></table></figure></li></ol>]]></content>
    
    
    <summary type="html">替代Butterfly原有的Archive卡片，功能更加强大。</summary>
    
    
    
    <category term="博客魔改" scheme="https://blog.cancin.cn/categories/%E5%8D%9A%E5%AE%A2%E9%AD%94%E6%94%B9/"/>
    
    
    <category term="Butterfly" scheme="https://blog.cancin.cn/tags/Butterfly/"/>
    
  </entry>
  
  <entry>
    <title>Twikoo评论自定义用户专属头衔</title>
    <link href="https://blog.cancin.cn/post/5c6ff12b.html"/>
    <id>https://blog.cancin.cn/post/5c6ff12b.html</id>
    <published>2025-05-08T03:37:37.000Z</published>
    <updated>2025-07-01T04:41:55.054Z</updated>
    
    <content type="html"><![CDATA[<p>馋 Artalk 的自定义专属头衔很久了，但是 Twikoo 迟迟不开发这个功能，就看看能不能自己改改。</p><p>找到 twikoo.all.min.js 源代码，搜索<code>e.comment.master</code>快速定位到大概位置，这块是个叫 3072 的函数，看了一下猜测应该是生成评论 DOM 结构用的。</p><ul><li><p><code>e.comment.master</code>是判断该评论是否是博主的评论；</p></li><li><p><code>e.comment.nick</code>是该评论用户的昵称；</p></li><li><p><code>e.comment.mailMd5</code>是该评论用户的邮箱加密后的哈希值。</p></li></ul><p>那么我就可以根据这个<code>e.comment.nick</code>或者<code>e.comment.mailMd5</code>标记具体的用户了，考虑到有时候用户容易输错昵称或者经常改名，所以我用的是邮箱哈希来标记。</p><p>我打印了一下评论用户邮箱的哈希，确定是采用的普通的 MD5 加密或者 SHA256 加密，我翻阅了一下 Twikoo 的更新日志，具体是 1.6.36 版本之前用的是 MD5 加密，之后用的就是 SHA256 加密。</p><p>那么如果你知道你好友的评论邮箱（一般都是QQ邮箱），那就可以算出来他的评论的邮箱哈希了。</p><p>修改 twikoo.all.min.js，并在主题设置文件 _config.butterfly.yml 中 <highlight>CDN &gt; option &gt; twikoo</highlight> 处引入。</p><figure class="highlight diff"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><span class="line">// ......</span><br><span class="line"><span class="deletion">- e.comment.master ? t(&quot;span&quot;, &#123;</span></span><br><span class="line"><span class="deletion">-     staticClass: &quot;tk-tag tk-tag-green&quot;</span></span><br><span class="line"><span class="deletion">- &#125;, [e._v(e._s(e.config.MASTER_TAG || e.t(&quot;COMMENT_MASTER_TAG&quot;)))]) : e._e(), e._v(&quot; &quot;),</span></span><br><span class="line"><span class="addition">+ e.comment.master ? t(&quot;span&quot;, &#123;</span></span><br><span class="line"><span class="addition">+     staticClass: &quot;tk-tag tk-tag-green&quot;</span></span><br><span class="line"><span class="addition">+ &#125;, [e._v(e._s(e.config.MASTER_TAG || e.t(&quot;COMMENT_MASTER_TAG&quot;)))]) : (function() &#123;</span></span><br><span class="line"><span class="addition">+     const userTags = &#123;</span></span><br><span class="line"><span class="addition">+         &#x27;邮箱哈希1&#x27;: &#x27;自定义头衔1&#x27;,</span></span><br><span class="line"><span class="addition">+         &#x27;邮箱哈希2&#x27;: &#x27;自定义头衔2&#x27;</span></span><br><span class="line"><span class="addition">+     &#125;;</span></span><br><span class="line"><span class="addition">+     const tag = userTags[e.comment.mailMd5];</span></span><br><span class="line"><span class="addition">+     return tag ? t(&quot;span&quot;, &#123;</span></span><br><span class="line"><span class="addition">+         staticClass: &quot;tk-tag tk-tag-purple&quot;</span></span><br><span class="line"><span class="addition">+     &#125;, [e._v(e._s(tag))]) : t(&quot;span&quot;, &#123;</span></span><br><span class="line"><span class="addition">+         staticClass: &quot;tk-tag tk-tag-grey&quot;</span></span><br><span class="line"><span class="addition">+     &#125;, [e._v(e._s(&#x27;道友&#x27;))]);</span></span><br><span class="line"><span class="addition">+ &#125;)(), e._v(&quot; &quot;),</span></span><br><span class="line"></span><br><span class="line">e.comment.top ? t(&quot;span&quot;, &#123;</span><br><span class="line">    staticClass: &quot;tk-tag tk-tag-red&quot;</span><br><span class="line">&#125;, [e._v(e._s(e.t(&quot;COMMENT_TOP_TAG&quot;)))]) : e._e(), e._v(&quot; &quot;), </span><br><span class="line">// ......</span><br></pre></td></tr></table></figure><p>当然<code>tk-tag-purple</code>的样式需要自己补充一下。</p><p>效果如下：</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/20250508124944793.webp" alt="自定义头衔示例"></p>]]></content>
    
    
    <summary type="html">自定义用户专属头衔</summary>
    
    
    
    <category term="博客魔改" scheme="https://blog.cancin.cn/categories/%E5%8D%9A%E5%AE%A2%E9%AD%94%E6%94%B9/"/>
    
    
    <category term="Butterfly" scheme="https://blog.cancin.cn/tags/Butterfly/"/>
    
  </entry>
  
  <entry>
    <title>使用Vercel部署百度统计API</title>
    <link href="https://blog.cancin.cn/post/71b7da78.html"/>
    <id>https://blog.cancin.cn/post/71b7da78.html</id>
    <published>2025-04-18T12:34:26.000Z</published>
    <updated>2025-07-29T01:16:40.056Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>51La挂了好久好久了，之前备考，一直没修，最近看百度统计 PV 数据达到了开通 API 的标准，正好得空给它换成了百度统计。因为有跨域问题，所以还是做了个 API 从后端获取。</p><p>本来想直接用下面洪哥这篇文章的代码，不过是用 PHP 写的，针对 docker 环境部署，采用 json 文件存储 tokens 数据，而 vercel 的文件都是只读的，所以还是得改用数据库存储 tokens 数据。</p><div class="tag link"><a class="link-card" title="基于百度统计实现显示近一年的pv、uv数据的API搭建" href="https://blog.zhheo.com/p/2046d684.html"><div class="main"><div class="left" style="background:url(https://registry.npmmirror.com/cansin-blogdata/latest/files/img/avatar/张洪Heo.webp) no-repeat 100% / cover"></div><div class="right"><p class="text">基于百度统计实现显示近一年的pv、uv数据的API搭建</p><p class="url">https://blog.zhheo.com/p/2046d684.html</p></div><i class="fa fa-chevron-right"></i></div><div class="end"><p>From —— 张洪Heo</p><p>引自外站地址，不确保可用性和安全性</p></div></a></div><p>大体思路和之前<a href="https://blog.cancin.cn/tags/node-js/">三篇文章</a>类似，采用 supbase 数据库存储 access_token、refresh_token 和 tokens 时效信息，当 tokens 时间超过20天（百度统计官方文档规定 access_token 有效期30天），服务端自动通过百度统计 API 刷新 tokens 数据。</p><p>前端采用 localStorage 缓存访问数据，有效期3小时，初次获取数据后将存入缓存，有效期内直接从缓存读取，超时则重新拉取，同时刷新缓存。</p><p>首先阅读<a href="https://tongji.baidu.com/api/manual/Chapter2/openapi.html#百度账号接口说明">百度账号接口说明</a>，手动依次获取 siteId、code、access_token、refresh_token。可通过<a href="https://tongji.baidu.com/api/debug">Tongji API调试工具</a>调试。</p><p>注意 Vercel 部署时添加 API_KEY、SECRET_KEY、SITE_ID 到环境变量。</p><h2 id="代码"><a href="#代码" class="headerlink" title="代码"></a>代码</h2><h3 id="后端-index-js"><a href="#后端-index-js" class="headerlink" title="后端 index.js"></a>后端 index.js</h3><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 导入所需包和模块</span></span><br><span class="line"><span class="keyword">const</span> axios = <span class="built_in">require</span>(<span class="string">&#x27;axios&#x27;</span>);</span><br><span class="line"><span class="keyword">const</span> express = <span class="built_in">require</span>(<span class="string">&#x27;express&#x27;</span>);</span><br><span class="line"><span class="keyword">const</span> &#123;</span><br><span class="line">  startOfWeek,</span><br><span class="line">  startOfMonth,</span><br><span class="line">  startOfYear,</span><br><span class="line">  differenceInDays, </span><br><span class="line">  format,</span><br><span class="line">&#125; = <span class="built_in">require</span>(<span class="string">&#x27;date-fns&#x27;</span>);<span class="comment">// 时间处理依赖包</span></span><br><span class="line"><span class="keyword">const</span> path = <span class="built_in">require</span>(<span class="string">&#x27;path&#x27;</span>);</span><br><span class="line"><span class="keyword">const</span> app = <span class="title function_">express</span>();</span><br><span class="line">app.<span class="title function_">use</span>(<span class="keyword">function</span>(<span class="params">req, res, next</span>) &#123;</span><br><span class="line">  res.<span class="title function_">setHeader</span>(<span class="string">&#x27;Access-Control-Allow-Origin&#x27;</span>, <span class="string">&#x27;*&#x27;</span>);</span><br><span class="line">  res.<span class="title function_">setHeader</span>(<span class="string">&#x27;Access-Control-Allow-Methods&#x27;</span>, <span class="string">&#x27;GET, POST, PUT, DELETE&#x27;</span>);</span><br><span class="line">  res.<span class="title function_">setHeader</span>(<span class="string">&#x27;Access-Control-Allow-Headers&#x27;</span>, <span class="string">&#x27;Content-Type, Authorization&#x27;</span>);</span><br><span class="line">  <span class="title function_">next</span>();</span><br><span class="line">&#125;);</span><br><span class="line"><span class="comment">// 创建 Express 应用程序</span></span><br><span class="line">app.<span class="title function_">use</span>(express.<span class="title function_">json</span>());</span><br><span class="line"><span class="comment">// 连接数据库</span></span><br><span class="line"><span class="keyword">const</span> &#123; createClient &#125; = <span class="built_in">require</span>(<span class="string">&#x27;@supabase/supabase-js&#x27;</span>);</span><br><span class="line"><span class="keyword">const</span> supabaseUrl = <span class="string">&#x27;你的数据库地址&#x27;</span>;</span><br><span class="line"><span class="keyword">const</span> supabaseKey = process.<span class="property">env</span>.<span class="property">SUPABASE_KEY</span>;</span><br><span class="line"><span class="keyword">const</span> supabase = <span class="title function_">createClient</span>(supabaseUrl, supabaseKey);</span><br><span class="line"></span><br><span class="line"><span class="comment">// 百度统计变量</span></span><br><span class="line"><span class="keyword">const</span> apiKey = process.<span class="property">env</span>.<span class="property">API_KEY</span> || <span class="string">&#x27;&#x27;</span>;</span><br><span class="line"><span class="keyword">const</span> secretKey = process.<span class="property">env</span>.<span class="property">SECRET_KEY</span> || <span class="string">&#x27;&#x27;</span>;</span><br><span class="line"><span class="keyword">const</span> siteId = process.<span class="property">env</span>.<span class="property">SITE_ID</span> || <span class="string">&#x27;&#x27;</span>;</span><br><span class="line"><span class="keyword">let</span> access_token = <span class="literal">null</span>;</span><br><span class="line"><span class="keyword">let</span> refresh_token = <span class="literal">null</span>;</span><br><span class="line"></span><br><span class="line"><span class="comment">// 百度统计接口</span></span><br><span class="line">app.<span class="title function_">get</span>(<span class="string">&#x27;/baidupv&#x27;</span>, <span class="keyword">async</span> (req, res) =&gt; &#123;</span><br><span class="line">  <span class="keyword">const</span> &#123; <span class="attr">data</span>: tokenData, error &#125; = <span class="keyword">await</span> supabase</span><br><span class="line">    .<span class="title function_">from</span>(<span class="string">&#x27;PVTokens&#x27;</span>)</span><br><span class="line">    .<span class="title function_">select</span>()</span><br><span class="line">    .<span class="title function_">eq</span>(<span class="string">&#x27;name&#x27;</span>, <span class="string">&#x27;baidu&#x27;</span>)</span><br><span class="line">  <span class="keyword">if</span> (error) &#123;</span><br><span class="line">    <span class="variable language_">console</span>.<span class="title function_">error</span>(<span class="string">&#x27;Database Error:&#x27;</span>, error);</span><br><span class="line">    res.<span class="title function_">json</span>(&#123; <span class="attr">error</span>: <span class="string">&#x27;database error&#x27;</span> &#125;)</span><br><span class="line">  &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">    <span class="keyword">const</span> today = <span class="keyword">new</span> <span class="title class_">Date</span>();</span><br><span class="line">    <span class="keyword">const</span> todayFormat = <span class="title function_">format</span>(today, <span class="string">&#x27;yyyyMMdd&#x27;</span>);</span><br><span class="line">    <span class="keyword">let</span> latestTime = tokenData[<span class="number">0</span>].<span class="property">time</span>; <span class="comment">// Tokens 生成时间</span></span><br><span class="line">    <span class="keyword">let</span> passTime = <span class="title function_">differenceInDays</span>(today, latestTime); <span class="comment">// Tokens 时效</span></span><br><span class="line">    <span class="keyword">let</span> data = &#123;</span><br><span class="line">        <span class="attr">today_uv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">today_pv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">yesterday_uv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">yesterday_pv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">last_week_uv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">last_week_pv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">last_month_uv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">last_month_pv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">last_year_uv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">last_year_pv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">total_uv</span>: <span class="literal">null</span>,</span><br><span class="line">        <span class="attr">total_pv</span>: <span class="literal">null</span></span><br><span class="line">    &#125;;</span><br><span class="line">    <span class="keyword">if</span> (passTime &lt; <span class="number">20</span>) &#123; <span class="comment">// 小于 20 天直接返回</span></span><br><span class="line">      access_token = tokenData[<span class="number">0</span>].<span class="property">tokens</span>.<span class="property">access_token</span>;</span><br><span class="line">    &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">      refresh_token = tokenData[<span class="number">0</span>].<span class="property">tokens</span>.<span class="property">refresh_token</span>;</span><br><span class="line">      <span class="keyword">const</span> newTokens = <span class="keyword">await</span> <span class="title function_">refreshAccessToken</span>(apiKey, secretKey, refresh_token); <span class="comment">// 大于 20 天重新获取 tokens</span></span><br><span class="line">      access_token = newTokens.<span class="property">access_token</span>;</span><br><span class="line">      refresh_token = newTokens.<span class="property">refresh_token</span>;</span><br><span class="line">      <span class="keyword">const</span> &#123; data, error &#125; = <span class="keyword">await</span> supabase <span class="comment">// 刷新数据库 tokens 信息</span></span><br><span class="line">        .<span class="title function_">from</span>(<span class="string">&#x27;PVTokens&#x27;</span>)</span><br><span class="line">        .<span class="title function_">update</span>(&#123; <span class="attr">tokens</span>: &#123;<span class="string">&quot;access_token&quot;</span>: access_token, <span class="string">&quot;refresh_token&quot;</span>: refresh_token&#125;, <span class="attr">time</span>: today &#125;)</span><br><span class="line">        .<span class="title function_">eq</span>(<span class="string">&#x27;name&#x27;</span>, <span class="string">&#x27;baidu&#x27;</span>)</span><br><span class="line">        .<span class="title function_">select</span>()</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">const</span> totalData = <span class="keyword">await</span> <span class="title function_">getData</span>(<span class="string">&#x27;20250403&#x27;</span>, todayFormat, <span class="string">&#x27;pv_count,visitor_count&#x27;</span>, access_token, siteId);</span><br><span class="line">    <span class="keyword">if</span> (totalData &amp;&amp; totalData.<span class="property">result</span> &amp;&amp; totalData.<span class="property">result</span>.<span class="property">items</span> &amp;&amp; totalData.<span class="property">result</span>.<span class="property">items</span>[<span class="number">1</span>]) &#123;</span><br><span class="line">        <span class="keyword">const</span> dataPoints = totalData.<span class="property">result</span>.<span class="property">items</span>[<span class="number">1</span>];</span><br><span class="line">        data.<span class="property">today_pv</span> = dataPoints.<span class="title function_">slice</span>(-<span class="number">2</span>)[<span class="number">1</span>][<span class="number">0</span>]; <span class="comment">// 今日访问量</span></span><br><span class="line">        data.<span class="property">today_uv</span> = dataPoints.<span class="title function_">slice</span>(-<span class="number">2</span>)[<span class="number">1</span>][<span class="number">1</span>]; <span class="comment">// 今日访客量</span></span><br><span class="line">        data.<span class="property">yesterday_pv</span> = dataPoints.<span class="title function_">slice</span>(-<span class="number">2</span>)[<span class="number">0</span>][<span class="number">0</span>]; <span class="comment">// 昨日访问量</span></span><br><span class="line">        data.<span class="property">yesterday_uv</span> = dataPoints.<span class="title function_">slice</span>(-<span class="number">2</span>)[<span class="number">0</span>][<span class="number">1</span>]; <span class="comment">// 昨日访客量</span></span><br><span class="line">        <span class="keyword">const</span> daysPassedInWeek = <span class="title function_">differenceInDays</span>(today, <span class="title function_">startOfWeek</span>(today, &#123; <span class="attr">weekStartsOn</span>: <span class="number">1</span> &#125;)); <span class="comment">// 计算本周已过天数（周一作为周起始日）</span></span><br><span class="line">        <span class="keyword">const</span> daysPassedInMonth = <span class="title function_">differenceInDays</span>(today, <span class="title function_">startOfMonth</span>(today)); <span class="comment">// 计算本月已过天数</span></span><br><span class="line">        <span class="keyword">const</span> daysPassedInYear = <span class="title function_">differenceInDays</span>(today, <span class="title function_">startOfYear</span>(today)); <span class="comment">// 计算本年已过天数</span></span><br><span class="line">        dataPoints.<span class="title function_">slice</span>().<span class="title function_">reverse</span>().<span class="title function_">forEach</span>(<span class="function">(<span class="params">point, index</span>) =&gt;</span> &#123; <span class="comment">// 倒序遍历，计算时间</span></span><br><span class="line">            <span class="keyword">var</span> pv = point[<span class="number">0</span>] == <span class="string">&quot;--&quot;</span> ? <span class="number">0</span> : point[<span class="number">0</span>];</span><br><span class="line">            <span class="keyword">var</span> uv = point[<span class="number">1</span>] == <span class="string">&quot;--&quot;</span> ? <span class="number">0</span> : point[<span class="number">1</span>]; <span class="comment">// 访问量为0时API返回的是&quot;--&quot;，需要替换成0</span></span><br><span class="line">            data.<span class="property">total_pv</span> += pv; <span class="comment">// 累加页面访问量</span></span><br><span class="line">            data.<span class="property">total_uv</span> += uv; <span class="comment">// 累加页面访客量</span></span><br><span class="line">            <span class="keyword">if</span>(index &lt; daysPassedInWeek) &#123;</span><br><span class="line">                data.<span class="property">last_week_pv</span> += pv; <span class="comment">// 累加本周访问量</span></span><br><span class="line">                data.<span class="property">last_week_uv</span> += uv; <span class="comment">// 累加本周访客量</span></span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">if</span>(index &lt; daysPassedInMonth) &#123;</span><br><span class="line">                data.<span class="property">last_month_pv</span> += pv; <span class="comment">// 累加本月访问量</span></span><br><span class="line">                data.<span class="property">last_month_uv</span> += uv; <span class="comment">// 累加本月访客量</span></span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">if</span>(index &lt; daysPassedInYear) &#123;</span><br><span class="line">                data.<span class="property">last_year_pv</span> += pv; <span class="comment">// 累加本年访问量</span></span><br><span class="line">                data.<span class="property">last_year_uv</span> += uv; <span class="comment">// 累加本年访客量</span></span><br><span class="line">            &#125;</span><br><span class="line">        &#125;);</span><br><span class="line">    &#125;</span><br><span class="line">    res.<span class="title function_">json</span>(data)</span><br><span class="line">  &#125;</span><br><span class="line">&#125;)</span><br><span class="line"></span><br><span class="line"><span class="comment">// 百度统计获取 PV 数据</span></span><br><span class="line"><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">getData</span>(<span class="params">startDate, endDate, metrics, accessToken, siteId</span>) &#123;</span><br><span class="line">  <span class="keyword">const</span> url = <span class="string">&quot;https://openapi.baidu.com/rest/2.0/tongji/report/getData&quot;</span>;</span><br><span class="line">  <span class="keyword">const</span> params = <span class="keyword">new</span> <span class="title class_">URLSearchParams</span>(&#123;</span><br><span class="line">      <span class="attr">access_token</span>: accessToken,</span><br><span class="line">      <span class="attr">site_id</span>: siteId,</span><br><span class="line">      <span class="attr">method</span>: <span class="string">&#x27;overview/getTimeTrendRpt&#x27;</span>,</span><br><span class="line">      <span class="attr">start_date</span>: startDate,</span><br><span class="line">      <span class="attr">end_date</span>: endDate,</span><br><span class="line">      <span class="attr">metrics</span>: metrics</span><br><span class="line">  &#125;);</span><br><span class="line">  <span class="keyword">try</span> &#123;</span><br><span class="line">      <span class="keyword">const</span> response = <span class="keyword">await</span> axios.<span class="title function_">get</span>(url, &#123; params &#125;);</span><br><span class="line">      <span class="keyword">return</span> response.<span class="property">data</span>;</span><br><span class="line">  &#125; <span class="keyword">catch</span> (error) &#123;</span><br><span class="line">      <span class="variable language_">console</span>.<span class="title function_">error</span>(<span class="string">&#x27;Error fetching PV data:&#x27;</span>, error);</span><br><span class="line">      <span class="keyword">throw</span> <span class="keyword">new</span> <span class="title class_">Error</span>(<span class="string">&#x27;Error fetching PV data.&#x27;</span>);</span><br><span class="line">  &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">// 百度统计刷新 Access Token</span></span><br><span class="line"><span class="keyword">async</span> <span class="keyword">function</span> <span class="title function_">refreshAccessToken</span>(<span class="params">apiKey, secretKey, refreshToken</span>) &#123;</span><br><span class="line">  <span class="keyword">const</span> url = <span class="string">&quot;https://openapi.baidu.com/oauth/2.0/token&quot;</span>;</span><br><span class="line">  <span class="keyword">const</span> params = <span class="keyword">new</span> <span class="title class_">URLSearchParams</span>(&#123;</span><br><span class="line">      <span class="attr">grant_type</span>: <span class="string">&#x27;refresh_token&#x27;</span>,</span><br><span class="line">      <span class="attr">refresh_token</span>: refreshToken,</span><br><span class="line">      <span class="attr">client_id</span>: apiKey,</span><br><span class="line">      <span class="attr">client_secret</span>: secretKey</span><br><span class="line">  &#125;);</span><br><span class="line">  <span class="keyword">try</span> &#123;</span><br><span class="line">      <span class="keyword">const</span> response = <span class="keyword">await</span> axios.<span class="title function_">get</span>(url, &#123; params &#125;);</span><br><span class="line">      <span class="keyword">return</span> response.<span class="property">data</span>;</span><br><span class="line">  &#125; <span class="keyword">catch</span> (error) &#123;</span><br><span class="line">      <span class="variable language_">console</span>.<span class="title function_">error</span>(<span class="string">&#x27;Error refreshing access token:&#x27;</span>, error);</span><br><span class="line">      <span class="keyword">throw</span> <span class="keyword">new</span> <span class="title class_">Error</span>(<span class="string">&#x27;Error refreshing access token.&#x27;</span>);</span><br><span class="line">  &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="comment">// 启动服务器</span></span><br><span class="line"><span class="keyword">const</span> server = app.<span class="title function_">listen</span>(process.<span class="property">env</span>.<span class="property">PORT</span> || <span class="number">3000</span>, <span class="function">() =&gt;</span> &#123;</span><br><span class="line">  <span class="keyword">const</span> port = server.<span class="title function_">address</span>().<span class="property">port</span>;</span><br><span class="line">  <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">`Server is running on port <span class="subst">$&#123;port&#125;</span>`</span>);</span><br><span class="line">&#125;);</span><br></pre></td></tr></table></figure><h3 id="前端代码"><a href="#前端代码" class="headerlink" title="前端代码"></a>前端代码</h3><p>可用 script 嵌入 about.pug</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">let</span> latestTime = (<span class="keyword">new</span> <span class="title class_">Date</span>).<span class="title function_">getTime</span>();</span><br><span class="line"><span class="keyword">if</span> (<span class="variable language_">localStorage</span>.<span class="title function_">getItem</span>(<span class="string">&#x27;BlogPV&#x27;</span>) == <span class="literal">null</span> || <span class="variable language_">localStorage</span>.<span class="title function_">getItem</span>(<span class="string">&#x27;BlogPVTime&#x27;</span>) == <span class="literal">null</span> || (latestTime - <span class="variable language_">localStorage</span>.<span class="title function_">getItem</span>(<span class="string">&#x27;BlogPVTime&#x27;</span>)) &gt; <span class="number">10800000</span>) &#123; <span class="comment">// 3小时时效</span></span><br><span class="line">    <span class="title function_">fetch</span>(<span class="string">&#x27;https://apis.cancin.cn/baidupv&#x27;</span>)</span><br><span class="line">        .<span class="title function_">then</span>(<span class="function"><span class="params">response</span> =&gt;</span> response.<span class="title function_">json</span>())</span><br><span class="line">        .<span class="title function_">then</span>(<span class="function"><span class="params">data</span> =&gt;</span> &#123;</span><br><span class="line">            <span class="variable language_">localStorage</span>.<span class="title function_">setItem</span>(<span class="string">&#x27;BlogPV&#x27;</span>, <span class="title class_">JSON</span>.<span class="title function_">stringify</span>(data));</span><br><span class="line">            <span class="variable language_">localStorage</span>.<span class="title function_">setItem</span>(<span class="string">&#x27;BlogPVTime&#x27;</span>, latestTime);</span><br><span class="line">            <span class="title function_">statisticShow</span>(data);</span><br><span class="line">            <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&#x27;BlogPV数据已更新&#x27;</span>);</span><br><span class="line">        &#125;)</span><br><span class="line">        .<span class="title function_">catch</span>(<span class="function"><span class="params">error</span> =&gt;</span> &#123;</span><br><span class="line">            <span class="variable language_">console</span>.<span class="title function_">error</span>(<span class="string">&#x27;获取 PV 失败:&#x27;</span>, error);</span><br><span class="line">        &#125;);</span><br><span class="line">&#125; <span class="keyword">else</span> &#123;</span><br><span class="line">    <span class="title class_">BlogPV</span> = <span class="title class_">JSON</span>.<span class="title function_">parse</span>(<span class="variable language_">localStorage</span>.<span class="title function_">getItem</span>(<span class="string">&#x27;BlogPV&#x27;</span>));</span><br><span class="line">    <span class="title function_">statisticShow</span>(<span class="title class_">BlogPV</span>);</span><br><span class="line">    <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="string">&#x27;BlogPV数据已过时&#x27;</span>+(latestTime - <span class="variable language_">localStorage</span>.<span class="title function_">getItem</span>(<span class="string">&#x27;BlogPVTime&#x27;</span>))+<span class="string">&#x27;ms&#x27;</span>);</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">function</span> <span class="title function_">statisticShow</span>(<span class="params">BlogPV</span>) &#123;</span><br><span class="line">    <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&#x27;statistic&#x27;</span>).<span class="property">innerHTML</span> = <span class="string">`</span></span><br><span class="line"><span class="string">    &lt;div&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;今日人数&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;<span class="subst">$&#123;BlogPV.today_uv&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;div&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;今日访问&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;<span class="subst">$&#123;BlogPV.today_pv&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;div&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;本周访问&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;<span class="subst">$&#123;BlogPV.last_week_pv&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;div&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;本月访问&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;<span class="subst">$&#123;BlogPV.last_month_pv&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    &lt;div&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;总访问量&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;span&gt;<span class="subst">$&#123;BlogPV.total_pv&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">    &lt;/div&gt;</span></span><br><span class="line"><span class="string">    `</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;前言&quot;&gt;&lt;a href=&quot;#前言&quot; class=&quot;headerlink&quot; title=&quot;前言&quot;&gt;&lt;/a&gt;前言&lt;/h2&gt;&lt;p&gt;51La挂了好久好久了，之前备考，一直没修，最近看百度统计</summary>
        
      
    
    
    
    <category term="博客魔改" scheme="https://blog.cancin.cn/categories/%E5%8D%9A%E5%AE%A2%E9%AD%94%E6%94%B9/"/>
    
    
    <category term="Butterfly" scheme="https://blog.cancin.cn/tags/Butterfly/"/>
    
    <category term="node.js" scheme="https://blog.cancin.cn/tags/node-js/"/>
    
    <category term="数据库" scheme="https://blog.cancin.cn/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
    
  </entry>
  
  <entry>
    <title>电脑数据迁移记录</title>
    <link href="https://blog.cancin.cn/post/66be8c26.html"/>
    <id>https://blog.cancin.cn/post/66be8c26.html</id>
    <published>2025-04-07T23:15:21.000Z</published>
    <updated>2025-07-01T04:25:40.510Z</updated>
    
    <content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>最近换了一台新电脑——ThinkBook14+ 2025款，选的是顶配的 Ultra9285H 32G + 1T 配置，这台电脑最大的优点就是接口极其丰富，拥有1个HDMI2.1 FRL、2个USB3.2 GEN1、1个雷电4、1个全功能Type-C、1个RJ45网口，另外还有隐藏式的USB2.0可以容纳鼠标接收器，以及可用于外接显卡的OCulink显卡接口。</p><p>屏幕方面这款电脑采用的是IPS雾面屏，虽然最近各大厂商都在推OLED屏，但手机上烧屏等问题尚且未得到彻底解决，笔记本上OLED只能说是弊大于利。触控板采用苹果华为类似的全域压感方案，实际效果不如苹果华为，功能也不如他们丰富，但比传统的触控板手感还是好上不少。摄像头支持物理防窥，另外有一组TOF镜头，支持Windows Hello，加上集成指纹识别的电源模块，在解锁这一块算是拉满了。电池方面容量为85Wh，得益于英特尔这一代CPU的新架构，续航比2024款提升了2个小时左右（当然还是不如荣耀，这也体现出传统厂商的优化真的是一言难尽，全靠英特尔发挥是吧？）。</p><p>至于缺点，也有几项。一是它虽然拥有2个M.2 2280硬盘接口，其中从盘还是PCIe 5.0，但是原装的却是2242的硬盘，难以理解。二是性能释放中规中矩，在其他厂商都给到80W性能释放的情况下，这台机子依然只给到了70W的性能释放。三是整机重量偏重，1.56kg的重量在轻薄本里算是最重的一档了，甚至比上一代还略重了一点。最后第四点，相比于2024款，2025款砍掉了OCulink接口的热插拔功能，非常可惜。</p><p>虽然缺点一堆，但最近几年的电脑市场不景气，也实在没什么特别出色的产品了。一是英特尔和AMD轮流挤牙膏，二是传统PC厂商啃老本不思进取，三是小米、荣耀等新势力厂商尚待发展，华为还受到了制裁，甚至可能都没有下一代Windows产品了。所以PC的现状就是，传统厂商的产品软件生态和系统优化一塌糊涂，新势力厂商的产品除了软件生态和系统优化一无是处。我很希望有两者优点结合的产品，但是现在就是没有，未来或许可以寄希望于那些新势力厂商，但需要时间。我最早用的就是联想，后来转到华为被其便捷的生态吸引，现在又选择了传统厂商联想的ThinkBook，也是想试试从自身入手，看看能否摆脱生态的粘性。</p><p>到手用图吧工具箱验机，三星的内存，华星光电的屏幕，亿联的固态，英特尔的BE200网卡，算是还行。硬盘我另外买了一块2T的致态TiPlus7100，找售后给我把原装的亿联替换掉，亿联盘格式化后装在了从盘的位置。联想的售后加装硬盘是要60元，重装系统80元，一共140元，这一点之前旧电脑去华为售后的时候是免费的。</p><p>硬件准备完毕后面就是软件和数据迁移。</p><h2 id="系统账户"><a href="#系统账户" class="headerlink" title="系统账户"></a>系统账户</h2><blockquote class="red"><p>系统用户名一定不能含有中文和空格！</p></blockquote><p>从售后回来，突然想起来之前店员让我设置姓名的时候，那个姓名应该是C盘用户目录下的文件夹名，我输入的名字有空格，感觉有点不妥，记得有些软件如果路径中有中文和空格会报错，所以以防万一我又把电脑重置了一遍。重装后联想全家桶一个不剩哈哈哈。</p><p>重置电脑后，在连接网络之前按<code>shift</code>+<code>fn</code>+<code>F10</code>打开cmd，输入<code>oobe\bypassnro</code>回车，系统会重新启动，在联网的页面点击“我没有Internet连接”即可无网络进入Windows，后面就会使用本地账户登录，出现让你输入姓名的页面，这时输入自定义的姓名（最好全英文）就是以后C盘下面我的用户文件夹名，比如我姓名设置是<code>Gavin</code>，我的用户文件夹路径就是<code>C:\Users\Gavin</code>。</p><p>如果不使用本地账户，而用微软账户登录，那么用户文件夹名会由系统根据你微软账号的邮箱名自动生成，比如我微软账户是<code>123456789@qq.com</code>，用户文件夹名就会被系统自动设置为<code>12345</code>，路径<code>C:\Users\12345</code>。</p><p>本地账户登录后，检查完电脑没有问题，也可以继续登录绑定微软账户。</p><blockquote class="red"><p>检查设备加密，确保处于关闭状态！</p></blockquote><p>进入系统后，检查一下<highlight>设置 &gt; 隐私和安全性 &gt; 设备加密</highlight>，发现它默认开启了设备加密，这里需要将其关闭，否则它不知道什么时候就会给你把硬盘锁了，忘了 BitLocker 密钥的话可就麻烦了。</p><h2 id="Office激活"><a href="#Office激活" class="headerlink" title="Office激活"></a>Office激活</h2><p>我登录微软账户后，打算领取电脑自带的Office 2024，但由于这个微软账户之前在旧电脑上领取过Office 2016，所以在新电脑上它又自动给我转成了2016，而2024始终无法领取。</p><blockquote class="orange"><p>所以新电脑如果使用以前绑定过Office的微软账户登录，就需要注意使用下面的方法。</p></blockquote><p>拨打联想客服，先尝试注册新的微软账号领取Office 2024，但进入Office后并没有自动领取，而是显示试用状态。又换了一个客服，提供了一个Office修复工具，终于成功领取了。</p><p>首先如果你没有Office2024，可以通过<a href="https://officecdn.microsoft.com/db/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/zh-cn/Home2024Retail.img">官方链接</a>下载安装包并安装，然后将电脑连接到手机热点，打开<highlight>网络和Internet &gt; 高级网络设置 &gt; Internet选项 &gt; 高级</highlight>，勾选 TLS 1.0 和 TLS 1.1，然后打开<a href="https://iknow.lenovo.com.cn/detail/194352">文章链接</a>，滑动到最底部，点击下载附件 <mark class="hl-label default">cssemerg97275.rar</mark> ，解压后双击运行里面的 <mark class="hl-label default">cssemerg97275.diagcab</mark>  文件，按提示操作即可。然后重启电脑，进入<highlight>微软商店 &gt; 库 &gt; 设备附带</highlight>重新领取Office即可。</p><h2 id="QQ和微信迁移"><a href="#QQ和微信迁移" class="headerlink" title="QQ和微信迁移"></a>QQ和微信迁移</h2><p>由于QQ和微信最近一年都改成了全新的架构，所以在我的旧电脑上存在两种QQ和两种微信。本来在新QQ是看不到旧QQ的聊天记录的，后来在新QQ点击导入历史消息后就能在新QQ上看到所有历史消息了，打开文件管理器，进入QQ的数据存储文件夹，里面同时存在新旧QQ的文件，看来是系统自动合并了，旧QQ彻底弃用。至于微信，则是新旧文件夹分开存储，文件结构也完全不同，乱成一锅粥。</p><p>微信文件夹乱成这个样子，直接复制迁移估计不太行，但是，好在电脑端的微信一直有个弊端，那就是它只要不登陆，就不会接收聊天消息，哪怕手机端聊的再多，电脑微信登录后也不会自动同步手机端的聊天消息，所以这就导致电脑端微信如果不是天天登录，那聊天记录就总是断断续续的。而手机端对应有个优点，哪怕聊天记录再久远，它也不会像QQ那样过期，而且聊天消息肯定不会遗漏，所以手机端的聊天记录反而是最全的。于是微信的迁移就简单多了，直接点击手机微信上的<highlight>设置 &gt; 聊天 &gt; 聊天记录迁移与备份 &gt; 迁移</highlight>，迁移到新电脑就可以了。</p><p>不同于微信，QQ的聊天记录不会断断续续，而手机端QQ聊天记录还经常漫游过期删除，所以电脑端聊天记录是最全的。QQ本来我也打算用它自带的迁移工具进行迁移，先从旧电脑迁移到手机，再从手机迁移到新电脑即可。但是，QQ的迁移工具一直连接不上我的手机，无论是更换网络连接，还是统一升级到最新版本，都无法连接，直接卡死在了第一步。没办法，只能尝试直接复制整个文件夹到新电脑，好在QQ新版旧版都在一个目录下面，比较方便。万幸，直接复制过来后QQ一切正常，聊天记录也能正常查看。</p><h2 id="Hexo博客迁移"><a href="#Hexo博客迁移" class="headerlink" title="Hexo博客迁移"></a>Hexo博客迁移</h2><p>Hexo的迁移其实就是重走一遍Hexo的安装过程，也就是说只能重装。但是主题是可以迁移的，直接从旧电脑复制过来即可。</p><p>大部分步骤参考这篇文章。</p><div class="tag link"><a class="link-card" title="更换电脑后，如何迁移 hexo 博客？" href="https://www.cnblogs.com/ckern/p/18071752"><div class="main"><div class="left" style="background:url(/img/android-attach.png) no-repeat 100% / cover"></div><div class="right"><p class="text">更换电脑后，如何迁移 hexo 博客？</p><p class="url">https://www.cnblogs.com/ckern/p/18071752</p></div><i class="fa fa-chevron-right"></i></div><div class="end"><p>From —— 博客园@CKern</p><p>引自外站地址，不确保可用性和安全性</p></div></a></div><p>在重装Hexo之前，首先应该配置环境，也就是Git和Node。</p><h3 id="Git安装"><a href="#Git安装" class="headerlink" title="Git安装"></a>Git安装</h3><p>首先可以先去下载安装一个VS Code。</p><p>进入 <a href="https://git-scm.com/downloads/win">git官网</a> 下载 <mark class="hl-label default">64-bit Git for Windows Setup</mark>  安装包，按提示安装，可以参考以下文章。</p><div class="tag link"><a class="link-card" title="Git详细安装教程（详解 Git 安装过程的每一个步骤）" href="https://blog.csdn.net/mukes/article/details/115693833"><div class="main"><div class="left" style="background:url(https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/CSDN.webp) no-repeat 100% / cover"></div><div class="right"><p class="text">Git详细安装教程（详解 Git 安装过程的每一个步骤）</p><p class="url">https://blog.csdn.net/mukes/article/details/115693833</p></div><i class="fa fa-chevron-right"></i></div><div class="end"><p>From —— CSDN@mukes</p><p>引自外站地址，不确保可用性和安全性</p></div></a></div><p>命令行输入<code>git -v</code>可查看是否安装成功，随后进行用户名和邮箱配置。命令行输入以下代码。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global user.name <span class="string">&quot;你的用户名&quot;</span></span><br><span class="line">git config --global user.email <span class="string">&quot;你的邮箱&quot;</span></span><br></pre></td></tr></table></figure><p>接着执行以下命令生成 SSH 公钥，用于连接 Github。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh-keygen -t rsa -C <span class="string">&quot;你的邮箱&quot;</span></span><br></pre></td></tr></table></figure><p>进入<code>C:\Users\Gavin\.ssh</code>路径（Gavin是我的文件夹名，每个人不一样）下，找到<code>id_rsa.pub</code>公钥文件，用记事本打开，全文复制备用。</p><p>随后打开 Github，点击右上角<highlight>头像 &gt; Settings &gt; SSH and GPG keys</highlight>，点击 New SSH key，Title 随便填，Key type 默认，将刚才复制的公钥全文内容粘贴到 Key 一栏中，然后点击添加即可。</p><p>可以通过以下命令测试连接。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">ssh -T git@github.com</span><br></pre></td></tr></table></figure><p>返回 Hi Gavin-Meskin-Chen! 表示正常连接到了 Github。</p><h3 id="Node安装"><a href="#Node安装" class="headerlink" title="Node安装"></a>Node安装</h3><blockquote class="orange"><p>一定要注意，新电脑上的 node 版本要与旧电脑的 node 版本一致。</p></blockquote><p>所以我们要先在旧电脑上运行<code>node -v</code>命令查看 node 版本号，然后从 <a href="https://nodejs.org/dist/">Node历史版本页面</a> 找到对应版本的 msi 安装包，比如我的版本是18.4.2，那我就下载 <mark class="hl-label default">node-v18.14.2-x64.msi</mark>  文件。随后按提示安装即可，通过<code>node -v</code>和<code>npm -v</code>即可检查是否成功安装指定版本。</p><p>通过以下第一条命令可以设置国内阿里镜像源。我这里不需要阿里镜像源，可以用第二条命令删除它。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm config <span class="built_in">set</span> registry https://registry.npmmirror.com</span><br><span class="line">npm config delete registry</span><br></pre></td></tr></table></figure><h3 id="Hexo安装"><a href="#Hexo安装" class="headerlink" title="Hexo安装"></a>Hexo安装</h3><p>在博客文件夹下右键打开 git bash，输入以下命令即可安装 hexo。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">npm install hexo-cli -g</span><br><span class="line">npm install hexo-deployer-git --save</span><br></pre></td></tr></table></figure><p>由于我的配置是使用 HTTPS 地址部署，所以执行<code>hexo d</code>时会弹出 GitHub 登录框，所以还需要进行额外 PAT 配置。</p><p>首先需要生成 PAT，登录 GitHub，点击右上角<highlight>头像 &gt; Settings &gt; Developer settings &gt; Personal access tokens &gt; Tokens (classic)</highlight>，点击 Generate new token，选择有效期 No expiration，可以勾选所有权限，生成后复制保存（注意它只会显示一次，一定要妥善保存）。</p><p>下次推送时，在弹出的登录框中，我们点击 Token，输入刚才的 token 即可。</p><p>最后，直接将旧电脑的博客文件夹复制到新电脑即可，里面包含了主题文件和所有需要的库，无需重新安装。</p><h3 id="博客文件仓库"><a href="#博客文件仓库" class="headerlink" title="博客文件仓库"></a>博客文件仓库</h3><p>我的博客文件都放在了npm上，所以另外还需要一个仓库。新建 Programs 文件夹，右键打开 git bash，执行命令。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git <span class="built_in">clone</span> git@github.com:Gavin-Meskin-Chen/BlogData.git</span><br></pre></td></tr></table></figure><p>上传命令：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">cd</span> /d D:/Programs/BlogData</span><br><span class="line"></span><br><span class="line">git add .</span><br><span class="line">git commit -m <span class="string">&quot;npm publish&quot;</span></span><br><span class="line">npm version patch</span><br><span class="line">git push</span><br></pre></td></tr></table></figure><h2 id="Wallpaper"><a href="#Wallpaper" class="headerlink" title="Wallpaper"></a>Wallpaper</h2><p>Wallpaper采用“枪弹分离”模式，下载到新电脑后，文件夹分类并不会一同同步过来，还是老老实实手动一个个重新分类。</p><p>参考下面Hope麻匪的B站视频。</p><div class="tag link"><a class="link-card" title="是弊端 也是保命符 Wallpaper Engine 玩法规则介绍" href="https://www.bilibili.com/video/BV1TMiBYUEqs"><div class="main"><div class="left" style="background:url(https://registry.npmmirror.com/cansin-blogdata/3.0.91/files/img/logo哔哩哔哩.webp) no-repeat 100% / cover"></div><div class="right"><p class="text">是弊端 也是保命符 Wallpaper Engine 玩法规则介绍</p><p class="url">https://www.bilibili.com/video/BV1TMiBYUEqs</p></div><i class="fa fa-chevron-right"></i></div><div class="end"><p>From —— bilibili@Hope麻匪</p><p>引自外站地址，不确保可用性和安全性</p></div></a></div><p>其他软件的迁移都比较简单，到时候有新的槽点继续补充。</p><h2 id="关于生态"><a href="#关于生态" class="headerlink" title="关于生态"></a>关于生态</h2><p>以前用的华为生态，手机和电脑可以多屏协同，实现剪贴板共享、文件共享，十分方便。现在换成不同品牌的手机电脑，顿时感受到了巨大的落差。</p><p>首先就是文件传输问题，一下子又回到了高中时期之前那种用QQ微信传输文件的时代，我还得挨个儿管理不同设备上QQ微信的下载目录。其次是剪贴板共享，我被迫换掉了使用十几年的百度输入法（电脑端）和讯飞输入法（手机端），他们都是各领域的佼佼者，讯飞输入法的语音输入更是断档领先，但现在只能都换成支持剪贴板共享的微信输入法。至于浏览器，以前都是用的华为浏览器和chrome，多端同步书签很方便，现在只能用edge。</p><p>Edge和微信输入法其实都是很好的工具，他们的血液新鲜，设计美观，但最大的问题就是稳定性差。短短几天，这台新电脑上，edge已经卡死过好几次了，手机端的微信输入法也出现过两三次无法唤起的情况。以前我电脑端用chrome（包括华为浏览器）、百度输入法，手机端用华为浏览器、讯飞输入法，从来没有出现过哪怕一次程序崩溃的情况。</p><p>当然了，他们是后来者，或许需要技术沉淀，希望他们能更快进步吧。</p>]]></content>
    
    
    <summary type="html">我的新电脑迁移记录，包括QQ微信聊天记录迁移、博客迁移等</summary>
    
    
    
    <category term="问题杂谈" scheme="https://blog.cancin.cn/categories/%E9%97%AE%E9%A2%98%E6%9D%82%E8%B0%88/"/>
    
    
    <category term="Butterfly" scheme="https://blog.cancin.cn/tags/Butterfly/"/>
    
    <category term="评测" scheme="https://blog.cancin.cn/tags/%E8%AF%84%E6%B5%8B/"/>
    
    <category term="数码" scheme="https://blog.cancin.cn/tags/%E6%95%B0%E7%A0%81/"/>
    
  </entry>
  
  <entry>
    <title>海星S5手电筒——高颜值性价比强光小直筒</title>
    <link href="https://blog.cancin.cn/post/82c75ff8.html"/>
    <id>https://blog.cancin.cn/post/82c75ff8.html</id>
    <published>2025-01-20T02:13:49.000Z</published>
    <updated>2025-04-08T06:24:57.986Z</updated>
    
    <content type="html"><![CDATA[<h2 id="随便聊聊"><a href="#随便聊聊" class="headerlink" title="随便聊聊"></a>随便聊聊</h2><p>我的第一支手电是2017年买的沃尔森mini，为了放学路上照明使用的，当时看它足够小巧，功能齐全，价格也便宜，就直接入手了。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202501201509499.webp" alt="沃尔森mini"></p><p>沃尔森mini的灯芯采用的是CREE Q5，最高光通量为220流明。它使用14500电池进行供电，同时兼容普通5号电池，这一点是比较方便的。镜头方面支持阻尼调焦，可以伸缩调整光斑大小。沃尔森迷你全身筒长仅93mm，平时可以直接放在口袋里，这样的尺寸放在现在依然惊艳。可惜灯芯实在过于落后了，亮度极低。</p><p>最近在B站看了几个up主的手电测评视频，了解了一些手电方面的基本信息，很快入手了我的第二支手电——海星S5。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202501201511501.webp" alt="海星S5"></p><p>手电厂商主要分品牌厂和DIY厂两类，品牌厂的价格普遍在几百以上，我预算有限，只能看DIY厂商。DIY厂商比较知名的有Convoy（俗称毛裤）、海星、农夫、匹欧曼等，很多人推荐入坑第一款是毛裤的S21E或者海星的Z2/Z2C，但我没有选择它们，因为它们都是侧边按钮的形式，不太习惯，而且外观也不太好看。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202501201513049.webp" alt="海星S5-三段筒身"></p><p>选择海星S5的首要原因是它的颜值，虽然是公模，但直筒的设计确实好看。其次它的价格够低，在60左右（以下价格皆为裸机不带电池），相比之下毛裤S21E在100价位，海星Z2在80价位。另外海星S5使用18650电池，而毛裤S21E和海星Z2皆为21700电池，由于我家里有18650电池和相应的充电器，但没有21700电池和充电器，所以选择S5就免去了额外的充电套装费用，同时也带来了相对更小的尺寸。</p><h2 id="海星S5"><a href="#海星S5" class="headerlink" title="海星S5"></a>海星S5</h2><p>下面介绍一下这款海星S5，先看具体参数。</p><p>海星S5有丰富的配色，红橙黄绿蓝紫黑等等各种颜色都有，我买的是钛色版本。另外灯珠也有多种可选，常见的像朗明纳斯SST40W、日亚519AT、CREE XHP50.3等，可惜没有SFT40W版本的，我买的是SST40W灯珠，6500K色温。一般来说SST40属于远泛兼顾型，SFT40远射较强，519AT显色能力强。</p><p>海星S5的光杯默认是橘面，也可以跟客服说要光面的。橘面顾名思义就是光杯面像橘子皮一样麻麻赖赖的，而光面则光滑如镜，体现出来的实际效果是橘面泛光效果好，而光面中心光斑更亮更适合远射灯珠。镜片采用的是高透光的镀膜玻璃，可以减少对光通量的削弱。</p><p>海星S5的尺寸为118mm*24.1mm，不大不小，倒也一手可握，直筒造型使其拥有极佳的握持手感。供电方面使用18650型电芯，我用的是亿纬锂能35V，3500mAh容量，这款电芯内阻小，很多人推荐它。</p><p>海星S5由弱到强一共有4个档位，第1档月光档26mA，第2档低亮935mA，第3档中亮1900mA，第4档高亮5000mA，任意档下双击是爆闪模式。最高档有温控，只能坚持90s，120s降到第3档，一般开第3档也够了。低电量情况下灯会慢闪提示。</p><h2 id="其他产品"><a href="#其他产品" class="headerlink" title="其他产品"></a>其他产品</h2><p>由于海星S5是一款公模手电，所以你能看到其他厂商也有一样的款式，不过价格、驱动等方面有差距。像匹欧曼K11，要便宜几块钱，而且他家有SFT40版本，而毛裤家的S21A和S2+要贵的多，价格上到了90左右。相比于其他厂家同模的产品，海星S5有个比较喜欢的点是它的尾按是金属的，而其他家一般是硅胶的。</p><p>至于毛裤S21E和海星Z2C，有很多人推荐，它们在性能方面像续航、最高亮度等方面肯定是比海星S5更好，但尺寸也大一些，要根据自己需要取舍。另外毛裤S21E和海星Z2C（Z2不支持）自带Type-C充电接口，不需要取出电池充电（当然也支持取出电池充电），省去了另外购买电池充电器的费用，平时出行也不用带多余的充电器。</p><p>如果预算低于50以下，松美G40是唯一的神，性价比拉满。</p><p>品牌厂我看了两三个，那个奈特科尔（NITECORE）的EDC35还蛮喜欢，最高5000流明，124mm的长度也不算太大。还有个漫客E05-II，最高1300流明，91mm的长度，迷你且精致。</p><h2 id="参考视频"><a href="#参考视频" class="headerlink" title="参考视频"></a>参考视频</h2><p>B站有个叫<a href="https://space.bilibili.com/503181914">流明实验室</a>的up主，专门做品牌厂手电的测评，还有一个<a href="https://space.bilibili.com/1272114411">我见山青kk</a>也做手电测评，他是品牌厂和DIY厂都做。</p>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;随便聊聊&quot;&gt;&lt;a href=&quot;#随便聊聊&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="分享推荐" scheme="https://blog.cancin.cn/categories/%E5%88%86%E4%BA%AB%E6%8E%A8%E8%8D%90/"/>
    
    
    <category term="电子" scheme="https://blog.cancin.cn/tags/%E7%94%B5%E5%AD%90/"/>
    
    <category term="评测" scheme="https://blog.cancin.cn/tags/%E8%AF%84%E6%B5%8B/"/>
    
  </entry>
  
  <entry>
    <title>2025年记事</title>
    <link href="https://blog.cancin.cn/post/d5f63bc.html"/>
    <id>https://blog.cancin.cn/post/d5f63bc.html</id>
    <published>2025-01-01T02:12:40.000Z</published>
    <updated>2026-03-18T12:39:23.931Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="b655375ba970a0fc09aa4f7b5e4490249af705fb94f4ba78053975e6a22d1882">ced864f45009da4e5537372f52405f701b2b12280a593c81454e16d3b18bc1412e02e3bd371913bb1f189f942f68124325cef2c927ffe6585779306e09c18ef49b01827c5e5eae093e3af230a55ad8c0556e403e39cd56c2db214d87eebe9d310a7a8f4d7c77d383cd130cbe661425e7c0b7f4461025ec52deecc86a26cfbef8e50e98940a1ec1ed8e90c6d78a0bad4df9b51639e3b2ee18089d7093810cdfd3cfa495da031082b473aea18d811205bd0b2908badd9c2d03d1d8896e10bc7ee16fa0fb39c2b96e9d03b48eb76586e30a3dfb9f11d481c3cbcb7338949fda2caf524817c661eb0a472703e5c8c4756e3e4baab2d1ea1dd684bfa6664007b5f66693b852fdaf7afe0d2af24f145642f313f46e9bf72f7f1cbc6f44f07a3d6da76c9d99cbbafa9a1e72ea614546d34de842a90b55333d99b31cdd08c09c3166abd8b7fae0bf118d5746a9a945c0c3b9e973d63c96e5a66b253ef4aeacaceca870c87da8e78d1bf6a71019c91ed78e31955637d59d3b0c3d87d9e6e960f4b7b3a33cbf7f414c356605381a3595e692e1f7e5c9920d9b5df009d70195a1d924c9d9914f361940efa83c20205d1639eb0161f5eb520eb531e174fba89553f731b979a3b70c15f67c42dd5a438358cd862dadf547fd7b1a4bad19aa229a3e65ff06c1d9bb8b3f43154a3d521f2ba15577eb6e1466f1f9acb636fcc96bab37cc612deeb1620142b576cf6ab5ea4ba54d77d07fd796a71cdc04900e0a446244701a1195cd64bf5e33eff9b4da60fda87faef52299e7d5e40a616dd914fe561a94521f9265db0e320d91f3b3f184643787834ecb302f94a4682a69dc48e3c2675db7a941c235a05db13bd0775cfbafbf78ef6a0497d6d978e61a25cf7982076a4ca2aaffbc9fe0a2e7be8a7259fb267cb5fee8b41803a7ca490021d01c26057a21a13d983a4e239d898d0565cfe8e56e833f6f88e1fb4be23042fd3812624a94e1803d1c4b7c1d5204458362504cdf70383b3b4913a7a1645afe876cae763c5408d6e0cff70cbc7f9fa8eccfa05de9c7d80a902d7bae4aad18dedf89f60d9eff14ec1f36f78bf5d5e0661581a1af1479412af883b71a976573f4e89bf75f661e36d4df09a9dcc541d45ab0bab082e4e2b786a683342019669f2c11feeaa79edbe4e84f66f639d69ce4775c88470932ab4b1d83511ef87a5e3bcce47781efd7998b665697103c3fb3703b8e3367d03f69b6b922b8edb35c33abed754a2427383b282334ad154a239f0896c4c8206137432b3ebf13e6d42dbe0ab8c61165455ec49377877928dd0ea16cd3516ec837529fe1d23102f471836b46d863044d4c2c5e003675cf4b825a5d84b9b6f07ea894b8b6636fa4102f11e416e8364643f54de210a287d8061d412dc76fff6bff79363bc3bf3cbb6f7e5871a60007ab08bb9ddb86464c8e49d40a2d2805ac4ec1eb89c5f026004f70fc4304319fc6f399924dcb9fd9fe1e78e7aba2c566cc76007bfc6a5f5fc8c9c5ee41a769048baad4c1e703087f041e210b8d161d431e6f614e780c7a5bc8712249a2b72611af30f7409033c38ba2985b962d1e02bb7e0cee8bc9320c639c38601d4c4ee3f66c492069e269c2ff2b6a805f9a3e0b60de73c46fe19e2b991d08c525fcceee5414f97b811247aece0d2ba04dd613bf79a946152023ec9dcf780fe55f40b7ccc7e0cda1bc369b6f2aade213694aa97962a69647427f7634cd2b8d8fdd3ea7daa0943649e1f234ca2effcdd068caba2e5f5b3e1743b08cd23df005554f1ff9765f63b66f316e66f8b3a4646efaa07b00ca19602993f064b376ce6477731758a0236f80ba20409c17360d5137f146a43299845833fc3bde2280b299a27b304ee10a1e28bd08621f108ba4d5367221b63d55aafab20b854fa61c30ea37fdf63f21a92c2b5bf0c5b4266431628ef0b0f744ccf60e73cff8c9b396de39f5d5ccc122c8b6d3b8125dc4c33b981e02f60672020074e5a42ed185e0acbae7427f8bd8a2ee13bf5f9c1ede10af9ededf90945b1a6601de67626891024b7fddcd43f315049d03d6d1d26aa9c92b00166c9bca50dcd60a971552c508ece6c6a6e6c08a9d917688507d6689370d84d69ead074fd30fd7c7b337ca929705fbfa79a08a488be7a71a8655a491fd0649a779ef51dd9d96e375405822da88708a70d014a5c640a9a3dea8a93b82014b4a452c31f4afb80ee67eb77c52af27fc45656b3da9de1678bd444c6cc002136c6779aaf55c7eaf793fc02ec057aae749ac1676b5b9dcba352d509e8138031eda30b49d2f3c0332c53240da91c01e780d0bc8867f1e464f84292193e34f849e094860966c98ca3eb8477a3698cbc47b6d7b419f562f4f35706947a4423d3c856637b2d364342a9aa3be9675ff6c2479a458caa8d9aae404c40621db7d39b76fd59f617deb4b1962ea66f1956930c75489cd817ef7318ee5d29d0fdd042506ef35b67b7c78c144a843f2d1658e9c214d5288a0081fbb1fbb32ab4800be04b87dfde728188dabd56f5a9fb0fdae40e567fdd7f8cbefb45360e923427f69af3392396fab26876b61bbd54f3770af8169ec1926e17a7cd044fe73ed03cffe70c8966c19abe1ac978ab9aa9d649a247639edc894ed93598469436d446e209777c41843248a9ce010c1ac2a42fedc706aa6df8bb93fcb0938f9a613148043ecc9a3ba242f03e0a4c0a824a401ac9752cba69e07b4f933a8d46b965defc42d2bf45b9104d3b0632f2745ec7790c521ca35a67301fa18b5d231e04e79c1e3d4fd6b148b3e39595fa5925c8d971bf057e016235ed767c4b71c17663e6465bf6a6fac6c68cbfd28ea61aabc4946f8bdea0c8200bb1744295492b6ce12add8402f78a02ddd97bf2f968d8a68dec7b70d31be81be24d178e4d4b669b77db83bfae16e4db931cb35bcb9d2c825fc2735bd4dfeac46d17dc94cb381881efe5b1043eaccfc950c3af88ccb1c6d545baa0a760636d720d4f21e8f26b0b7cf37c2940b1516b46aa33e50744fdf87b82a35c9d651a557399f179820501ac052a8d601ca37323c1da07db2175a0c3737c497cfb06ad4beb29c7ec723ef6a2c4094ddea86f7f5a6a258a92654455e1bb984a3ddab9b70873801283e642510404ad682ee75bf9b128b3fb5db366893c7e2fb20b6874d8a8cacd3e78f118f585ff56c41e449f2b71541ce6dea652028ff42aab3388fb384eb32a2954d4a34a396d0fb57adb68ccd5476c3f83cd1a4aa50cfddcd00f31ebd0c4fcc92831700f3942db20df4bdb82c57ff46f6197077b79f5fa56bafb2eb03bc8525d1b9a7618e614d4608c29fd52882d7d7e5790aa1c0683ca8bf01b41bcdc069c14a66f8e15e9a2a132391e1d13a3cfc476f451bc30857365f4dc2d1547b4a324a9a3dd5580bb6cf185920d30d7cfc773ff8b0c986557bb90a0e96c4aa54b717663c1ce752a75d70417261a4e4125369332b0abae49edf18f751cb6968c1260711a866d3e1a09676e22235a7a676c20d35b0dead852e1d2ae87ba6a312cf9a4a6f2934af7667ce687c732c785eb043692feca418adfb40dec7f18b3d1c2d54ccc124732bb9ebd660762ec22bcba36132633efeacc87a0df8b08387dd93c79bc660a405b514321d59c5091bae6685fc11eadbb85b9c49b7310f1c79dbebd6de7a04be144f2d7b7eab0c5815f17f12966784f7ed0b9e721905aa228f8769a3453d787afd384658eb7c04c12600f04c435f8f5a6276a9a3ae3e3142c8e09f2870c89923e11387e4d25631fbcbdc1ab4d2a99ac1376ff86cef7fa9831f987bfe1ec4dca52bacca51c0f30a2d0e7f9f327d511cea2c80df4b7cf2a0dfde9eb37a2a19251893ca5628d47bcfb35cbb39c5c315411dfcbe87060b6eacc36bd01a0fdfda81b7e2fad243a7d94139a5c3975dfd4a575ff690ee4b57d8b6e76a50e13e2ca6aa43b2f9b1fbae4a7336b61ec335a50c211cc3a01af7b473a515169b807453d23af479e2e272ca2cd82d82114a09ac500c94d84c97ec69deec306f7bf12ad4dde20f4b12f4f887623b5cfaf2b0165445797a78970e5c85ca1e901c670765cb1a042b9704f3682a4a4a2d7dc0d68fae8b30fc17a1d08d9469ed9443ee2c294a64434a99599bb55afcf6be1fa4a765c3e63d97cafd48821c12790e7fe0ae68248c17608a3e1dd8db45cfb05c337c467cf7932e92469018a89b3bdaf970f21236d5f0a4665dad50bb1a66bdc1dacabea56bba00787ba5b1fda84a61baf8f01adb4055c1918a00f08be094d46319576825113d5e1486802e3298a224ab202eec31ed7f8cb362f53255ab5df9c901838fa3800391c88f812cbbac1220dd3b389c98570d8283823911d492f0a4fb86daffe9ef37e027fae7e0f9b32e0b68ec7cc15fafab54b626a0b20ab3cd97b892d330fa9812fb1ac2f441a710ec21dd70338b271edd068d4d4921a32cd617cd9f7f97328bcd321cd77961d9ae4e5bf8f580c9e29372e5b84553c54375623278553d2022823ca66ffe9e2d472a82ae776cea38078d95bca900569a592b4ecbf48b77224e0068f2db7491a847057877b2f530f0a1c39dfe2644d55237f98885789dc0cf190b54ed2e46df45fdd600f608545614f5d94a0c0a999df4a1494b17eb0adaec4092a7910479f9640a38b8a3cf19e765df8426880f7f7bed12d6308cbbe02d79ea594a156eff972ebdd4bc681dfc85631c4c80ba74a585775045a6ba714ebba103ecee05ade644bf5a2c4c6fdf33075adf59740b10862bb2a97a77906b9764a2268c9b2537dea9908d1c4869de65be18933685f2dcd2cedb4a55bca283ae8b8d511a8013254b124f7746705297a339ad4b8ce6e103f89a3986ccb6fef31c6182821c6a7985a611b876e16b41a1f6de322ee3e6149f68d1ece1b201df3f59e4953612b74ada96bd0114a63ec757bfa4f6746bba9a97dd5a2e80868fbbf98365f84d035709b1d98f83732cf25d3918d874f24ffd5d68e2230344fc3c9de1c1b229edceb9818103d0f94cac877a15729db2a57f5db02db521a347c149e040bb2a3fcb626dab9cb40bcee65c9360f8c6e70618b2b588c156e35c0c33c5117d90ace27221950f0277a77c29d132deb6def071731e57fcddd0e05194ec6fd856cc61f70223fb452e0c64e48d2f6e50af5846b81b1ba0839e2ee2a31875f7a8735a87cda16f43bd135e3c2deeccfaf9d3a6c3945243686a9894dc61855f3108aa22f21e6303e156cf2af47280159313c430a96f7fcbf2b5f9e98eed7c8bd307843f39d165d84293b207c95b5fb8cd01135df1070bf13bb69ffe397596077d099d8588766c8a33aceb0601f567af7e97d8252e7b04e3106ce4c6ac1186292348a037962fea89703a8203cc8be088baefa30c8a0be9ed5a0cb0ade3c1406741c3d03b507599d51b483a7eb20619dac3bc153ad933bb6fce36e9f6580096057c44bb91e2cdb86c44ef48c71999cffa6cd7891ea578ed469705ea76662b919adebdd835b425b5037e660ca8740a77c4b503d9eb4c251665f23a03fcf32c0b03aaf5638e443ff47ee445c3d1748953619b1c092476de8978846a7ab5505d1f13f5d46753ce1181e756ae4df88fabd2fa92658470b4e124dd883adbad1dabffc6244bd8855d94558631abc7eaf1fa42ed787053bd46828eb66df86589bf1b866408df469be5b057189281d34d0412db9b87243ce12d04fb92bf52d9106b25535386eb1846e74b9e0b5be250264e15dfe5f32e07648cd5d323eaab1a23acf10c56664be2756edf110ead4f71cc9b7f4566eead932a7f8912d605732d186b3158e9108fa6f3ceacbb8f8806dbd16561d14f586a55c026feabea6b15fac9b25ad91c112a56d1a749f1cad64bb09f8da706b2dbb07f85af61f9d4a1b0b4b2b2d23f564925a15387bfff00de5be2b08c3b1e224f72c848e7802e4675fce62d6ed60da124cd017de8c270fe4659593a50096dd205729375b146735b8eb5f6dc1bb2ac4ec45559b153aad98ecd766dcba35227d736bd8baca4f131b4364ac1e306cfc996f6b45252ee06f89c6ba2600b2624ab689e52fa7def7f1be009858bb4a81c682736325543efa57ee160d616e1d1a7eb2b8934a7e83fc6ede1fd9e649da6fb4227554f6bc1922b71edbc4e40acb7f54337d46233cac21ed0d502d9cb2d8276a5091028d23b9bbfac8f5d1fea2fad930593f7fe01651f8884ec621e2253ed6c9bcf471afad062845f4f595a477bb4d46a6d0e154a70b3e563408fb65b60b063f7ac2f57d0f9d35350fbfd5e709163242b1d6b27979a4c92a6704fa3146334d7cda4870dd13044363c2877fe2fc5fb3d111e7eeafcd325025dde3ea7bea06719fc55b2e79684b24f280202203e11a8aacf4e4d128941bc55d8e34d8fa82376b716037064344dc92e7ddb06f8b0a257365175a09c81f10e9a202066c8904247b480d72da49fbbaa1d1aa3f63d88fe5e80b910210f1cff6c3df953df6a478949fae86d05343d3b6aafd15549b6b608cc49825f7ecc0e2546052a5516cf2d348ff7e4e73bfe2ac21a64229a32ba4be21bd506daf0eb74141975d3a83d2aa0e15d3bf0fef805b8e68256ea5bae9c854d4f2592d95ac9cf77dfe5a6c4e86ba3b969de6e30ff5d531c7e61b43615a8f8a2cc9dff606f75cdcaeced4e6994d9127d0422ffa1076ca9c94327dce6fda91a6ee0cffab3024ff4d8b01ed7fa7343d4e6a04b328d5f1df5af3d719d981fdb9a1cd95d762760f08812d1cdea7b62233299f1e822d1f95910db815ff21047beb9ac5512971573f0d9aca87cf66d33ae9c1ebd9ad3edcde8a26392681599573dbaf419e24bce0c5d88b663cc84d8e71d5066c4fad252981da1c0770bae2f59ce9aba9eb14f1da5d606b29a5d143d45c38f5a89979191d8ae1f19d432e93bf62557bd1b4496648879d5c8e00615a55c43cb0c772abbb9421e3ac272f7dfba7767488a5042e184f01e6a43ff9c42ed0cc1d592ebb5e0743c36aeab3accf024cda977354eab74dd9a84baf33a5114fda162ebc399f6026229213b016e7b14954feada79db505fbbf2fd2ddb7fbbfb7f816ffd16b6900d79ac231406760215692ba6a36e3f6bba6f74034642bf17eb9ecfef41d884935b0caf6c9e0009c5e12e1f9b6a2b3fc5f49fca3ef08fe041bbdab66307281b9aae9fa792f5be13e1fff7e89919f5337504d64dd2d7149685a11755646effba17ae239c1de1cd8b6f77c8e4fc02afdd4c81f28ec83e84020c898e9937e3701a41a5f4c8e3f21f6a2ffdf3c572c80c18eaa8fc2f5a66b526ccef94acffd06158ea6a2e695cfd1523608d6757bde2db7ab784771a7dab472ae8abe2a612ece07e235596af183c8df5b99cd2358c865fc211ab6afc04acd7ccab94fe9b904e925b0acf539d8194df92775d89cec64fb49ad7f3d1c43c6da3c4c5e6d964ae4a4287599b264a4ac8b2c25f8afcf11d238f82bcc607d50cde9f71500c3a8ef353961e826a003221bbce9fdf54504d8e1bb5f5be63d15ae65740462ca4fa19f5247f24aa0c526f47af5d17eb168d9ff621ab5e29b7e5ad79b5f4cce8e3af61b1edef3773ec69db1734107e2a850972687cf9585e4c7e7d5be30af67bebb84f3b38a9c3f31d40d556604eb52c8f132d7f83c49e2c9ee2fd1894119065c2f4ea7d55d39160bb54abfad3b2761248cc0619c844a01ba110a3d8692269a7056cff51633b896e9c274e450b3dfa109716a85ce4cbb3aadd08b6dabe41ddd6a20332e4fc1fcd1c4eae9686ae48def904df763fdb1e52f178b8d6bcfd7dc64e77784be27c1fbbefe02ca4302102dee0e441e9858d91364a401b4527c86cfe44c51d1815045e2d6cc53fa948b04ce9e312df21160bf587300956a6123576ab38b3b78ee9239939259a895009c2f870b39844e933380886c2bfd5874a23181dc67f1b1e34e1ecb8809ab284d5c476988198ec14740239e083a831905e9dc44af32e46305bb95c2b4cd2d82466b5846fb0cc6e8cc9cf4b4b6566f47db3bf82b43c26e43ad650f2366f5ce95021d998a3b9a5048936e34c2fe50802223da1283dfc80b20e8aa9dc2c7c286d7d3e5c4b68ca64205071f1e19fbb24abc6ef7ad19d5976d6a646ada0a3416878ff510466ff38b63ac0770431ef351489e9e04cb3d8c762333e206096fb9dae0ac934a5442f2dd92ed2b6240a8483383f47fa38802f2f8a6526f626277dc357077de434a00203f7a8618d0ec8b6564fb9a8cf9aa26589d23105495fd6f52dc766cbf039924257f1b8521143d718500e20cb7fef2eaa5634f9fae0f83ac8a5862d2fd9711aaabf5f49a0cee8b2ea6ea75d6836d0c595f841475df4562ffafb807ad034d60a99dc85de89f0ed47dffd8fd280ae9afb97af546c0e47e709f6364ec8eba90f2a6bd87ac8bdd8d36e0d1c23f0955e5d32e6c66049e0dabaf2c93f4cdc6bda46e28a5c6893dc92c4b8e9cfb6f6f491aec0001225c078fdf8e8eae6e0354670c0b3346d35fc03b78642de94b563c15cdd3b04e472d5b85ae97f56dd327789758da3f72d4aa7cb3b5c47d9bb62c43f3508de2325a8fd81d9e96aaa2be448eb01814cacc7af435baab821bb3bc38b0eeb5b4927b99c823681f1d51adda5063b436ffb579d8f3889d3171cebd577a6f95625007b604e00ed6572c1f282f1456ad926bbb357c5493caf25a0fc6352c746e54c6a85547daf9f6b8135e0227feb5a086ca06c0ba03e83de39ff91c83705622b2cb7afd4adc6033a96bd34bcfb78e8f1c477c6584f2b565141cc3cf27a55aa9f003b8e6d0075323d77e15b22812b9318dfa668e92012b937aefb7f4c7e5da898ca6bf2f887b05f6e9b43c7d9418a63e75cab6de94e4e2154f9466326c682d260e77b5f154a7ff1af838927c5a218e2f7e528a81a2abcad875e842269c08fe7238ea8b25a492403d030e2eb737ff8e3166b7728ec23b00f198d9cd75cd31980c46ce6d208fe7cb6f460cc1125bf6d30fe5aeb4c98872efa56feb4d901a24f305c384152b2304edafae1a1deee30336a2d31928f466f032e4d94ab43174b20aefce98adaeaa2c21d6c2309caa413fb0758bb71678457cc1f78783d3f2d41e2df2c0416096a66e0006cf2acec54b0c7919dabcece634fb25ee7556a96c83f4518f80d71193c7353653d0ffe4b56e64a1b194f8059b50cc927ca6f402ae8c41e1c0abe95d1aa4a8e3e65679f38f507616861513514af734a3c748bbde8480ac219d72574fb1637edda644001ea5592427477b0c0f71fdb9870d0e9e08fa6d1da002aec1b13cf3c3e8dc22bd69341b250491827ac8d64592cc839535305378720c0b3818fbb52ba082b31a0ec9e3b126e9aa8ff8d94eaffe92d9be84e5a6be4f2ebb9e37ed008d74470bc273934c10fa99f238f9f850a09a4193a4379638bd97bb79ea33dd76b7d8862f1f90f85c364a4a2bbfecbd8d47b2bcf6263902e9acac16139216888ac8e3cbd6d99b5cb8f460089492ea8305a8bb3d3382d7579a1fce833af8cfb0dc163effa9eca42a37c4e41caceeb87697fbaf5d1949c610575f7ccb98453c4bae81c9aba739eecbf8d83d60e933463e1e2d2a4f3d503184692f3c4cfb76583a1cb02755fab4c2edb0e9f94defaf01264cd36a6c54adf4f8fe9e99a2155d3d61e937041cfc526554d34bf4f8cd186a67fd884c463194e5613e3eb2da6fcc6492ca74ae43fa48caa0cd3b82ef19834eb305db9b04f16d5be4207ee1fd012430670fd3a5b7f2bbc6f0b73e1f9c361fe94ea7f55d15ce922b5d11881f405d1c2e98ed4737a2b21ab94e65fff82e0ad9328dcca418be8662349c1cca1a3b29a5e7f52f45a2c77ef2c8bc8e8867ebce6ea9379419ecb6d70aa60ba1a6c8d503ef72ce3e749c7ae18aadcb29f0acbb08aa5a6862f24cbb49e539d94b4467f31bd82a0845a2f34dd66e467c1fcef3bb80862a15984c2783a72a0c1adf736ad836cb9347b3af0e525a20509aa9749d3e472074633f812e5958c3cfbe526521fd8f19b26ea7fb670e3811ffb8a305f1ac0d22d5937402f4018d4a06e88baf1bcfbce610f2e25ca18bc590d8e412771479f0e4e34b2d4ddc19b2b6947e9ebe013d809da9f678cba8e892b3140f8821f2f3b4d1177493283e082e126504f0b8530cafecbc30710ce03a02a62c3b43b017b67b61b23d1bd399592c0e362297fecdffcd7183fa600557bcdd7eb86265800724dc0edfead610b1c818bf0f38d948143aa59cd6cb0f41c9078bc7e5e05ba45a8ee7bd9736d638bab9e543b1916ef21bd1675e026eb7175bb758c1dd762bf0ff4998a5b033d3243b42324a6b692522e2533cf24d22e5c1d2230a2c2fec09891a4f8f844465fa35fd33ae1d9891a52cd21666c42a8846fbb1c59cd357c6539993b95ded994fc17befa4ae1cc359e962ca749366fde2afa2902e90afe17c0f329b909f87eb915d034eb4679d48212abb3092d16f230722728f9b46c7db3fd316723074e03b7a484c26cf4290d208bf9d38e1ca38cdcc44dc271a0c41606066dbc9da6118f4dd086e430673f29e8aee2c8e8b7b107b30d31a22bbaa5a8edd9fdabc67fee595ef22c87d7aa324f91c17f49dd944dc05fb578133c79ff59c0f60dc1161e3ed22c6948b0ec4780d9486b2ee591b33bd5be1ba7a4a73aaf7864fa3c95e4c7221aa56c35cf0b4c67297729d27558f4133ea5566c156443c3bf40ec8583e148edb0418c233f38d88cf3e924f0bd2337a3a408f5b6e5e8291f4d9f68aee63dd6f1dd65964d06977ed9091f950f76238a02094dd7925b96d9e3d6ed6c6fc416f11fe3cb96f6c96f5b22d15fe1a9903253c5f970e9fec75854df0d39ce7982f48e0ff705362a87d2c0d95d95da3ed89709f5d1d02184bedcda0fdb0e5d9bcb7cdd0271d23da9c864512ce29b7dfbec1dc7df7567d9cac3bf6f2c3dd465b7ef6d0075390461ca772ced5757358987adf1f53b9d71fd87649040a39fa182982fda85f5f3cdd1572c227a581a29a2bfd7fbbfa0e41fd2b5af0f7d1dbcd9eeff87e10f1c402cba4520e1aadec72c784fb7f3fb6324542c213814fe05d5306766972fd89c8ac671d3e400163be01ff5f3dcad09b317455eb92bcc560a8b4a121f0f0fa311b2624c40b297a9d8e1cfcf960fda9a5253d2c533c551af9951f8e8b4f30a704131018ce38e6ea0491cf050d207305b413f6f03b49dbdc321e0d2617f7aae1361fd3a5302b0693d84e16727de591644e2612ec88a3008c17ec753d83690333f3a8f6d01d00bf130a0a14d86ccf4ecc0e99ae602381d479cbbbcbfa2f4dd6ad17f4849819f44a54d146d9af7fdfdfb18b2eee5772d391568ad3fc28e40e651e0650d606575050e24678a6d68e9a7ca6bf904fdb712f5c59ab8ce35bc5c8525eee794e9e726b5354f7f57036e55726bac1136025156c2a52d65e7bb5062726d79b9cdafb0a4085e6126b0d536806814dfd43cf4a7d27cc0a52ccab16478303b3cf1ba3426e9f49935d863fdb9e823738c8795cde053bd6f70032721971efd8204acdcb95d2dafe70b006d2dc179c6f7ff2a2149136968c64dd4fb09fa8125ab25f5d6335e60153784d78216064b1ff7b17d4b28fc1a0f3e314b89e1a1cf88f428023f5b801aa9890c492cd60e630ed93c735f3bd4c75db7a9a333a3fed7d7dd600bd1071b8c5f4d376c9a6ef6397112170c1d17fea297bed0ecde687cdd539c929153f3905f5d7a257ad72fdc5f588c2f430f2303b5e0ae6f77889d89d1c798be8218b5127f24c149ca95af2cfd69c9e4c4879b8cb261b37f905a9a6e13a52aa417592b9e0a6f42137cf882092e7c0b8dd9e97b265896c3bfc2ab0bc724f3b7891963728695adc513416eb922322e541bca4bbdb46607313ab3408336edbc4bb2f52ae1febb42484f52c8a52771ad8a3e373d34cd93d3b12d5648e832933eb368c44a0ba0f90c09563b66f2a487a2dec5a3d96d14e9ffedb72c6b87b54ba20a242c24198ffea2b22d06e3a2608c963ca70a9e78d6e761488d15009f66a86123f99aac5f46e6e150fa8323d4279eb9416b615cb0d88b0d5fad1e2dcd58072d3c81a1369ffc227a5bdf670c98b955b1619b3ebd0ca28b5596272acc2037eb6274a863978b4e39c7cc872a4ff4b927902059f2bcb9a0abe71c12177475b9018377cfbf2ae7d8d97ed39925b69ca66c57603ed84a41d97df4d7757fb3dc7480652e63e10b112d78f8f0bfc196828d2c29bb50264e480c1583cebec5672c0307e725ef1159f6e52fddc17d50b4cc270b6e9d87a4b8ec5b6a3e280dfe57e42ff64eb5e3176887a331623db850455c5716a5b30c607ba8176566ca665e29d5560d7edc6ccc82104f2cf5a556e075aae201a3e883bae284987ef314f2626d819642a6cbfe618fdb8976ffb1a75438d53cfaefcd91db05c6759d9e55aa965c03081a4580a0282622d79cbe1e48ee3412cf08804693a5472719b0a5124d1287fc300a88a41ffa3be32960464c61665ed6ded9b441fbf4e8e89b56ef6a6b22b358664f53c8b9e04af46fef615aad53b006abbc8a4a59440daafc3f6dc4b85093f365bc9cc5795be24ac4f1513e33cfcaa714aab0a46bcf0b76860eff9209fc89426dbcbedf0c13f620d69afb7c1399160db94a152bcdb69872b466cb4a1cc953dd4a531900652b2a12d14ff3181d908dcf67af9ebf0ed64d292da2e1b7d6f8fa7e868d145fc28f22ca04f2e7470d64f032026bb196696b54d19cf86e5b162c08ece6dd8faf88cac440e0eb2a7e8ab87493b2d48cfdbe008d52242ddc5fc39aa343735586f18b452a36a9cb30ea39ca7230d6532b301b12068cd01923dd852b2b6d0e463430f91adeef675c090923033118d0953e3a4308f7131c7d2feca036f1202a0f1f01a41d77bc644bd5648fba936ab62e68275a769a130648d299a9477e29311ebb4310607659e49b5a564301cc98829e7eae28eb40a21dca13039af319cbc4d94d7f75bfea4031363e1d6e529015d117c3a0ddb7b446a04ddafc6b3e87ac55261414ef49a2053d54f0f0f516aee32c971d004c3dfa689f4eca1d81bd76c084b9d3d2d06eae65d7c0971c00546b7f29507239f52c9ff2ea2c3ddd0a6c014a463120cd4857fbb380b3b2dc1ce8628c2eb90d372caac44ce1ff77dea8bb5b1088696022fd241c0812626c7367e50f186d33623bbef83320f8feaaa13eb6307a985c272cf543c4057b9d52efa6138749fe5ab37a5147914b6dfb98d7c7064d32b41b60f877aaaa026c8351828f105cc5df54620abbf5a1c230d310fc9c17c35ceb447417f084d3ee82c19e0144ee574104a8e99a40b9580ea5b1ca75096c6cd9370a6887dba8b3b8d8f63e8359b73f8a6164670b062ff0aac2089e6f68ad3fd53be1b66cc18c93b4d2049d6c66c315a7aadf2cefcddc64957c52b4f7b77fc3f7bd91b1e94e55004a58f23cac83a14083d9c0f39fbb44360d045362099349f35397a3f24760e6a7c73376e6084c56d52e6e16c59202d047685d8eaccb426300d4f8ee618efba13a3bc1690ff32c757c865af8b5aa4b53d6e4511669b5e4aa83ac96a31bbbe98ae7172cd4f18c5d9ed93e87fbab53a4faddd1a132b25bdb7ae1f6daffb618b658e2b028a37e0cd8f8cc337f2da28c186d5997f60f2cbe7a8be0b3b0d22026613b9e6415a25994b714c7ec00151935d00020a37687d4e995ff5466ef7c310035f01bb1e5be48170421592f797ef0c99e3148916d75fc97ba69c540a5d4763e4022638b43decedf39e893fa1cd4452d1eddd7415891231e82f99469d6b70b3bc2feba25074988de258c37c4a28a6777bf0aad09f401c8faec330a3c0e39ddb553d2afe850cd191d4d46c041a825538ce501eab7cfe42c5b077b209ad19ab7513b5dca5d9b959877c46be1cbe097e9f513887b048003d596f5e1a93a7401d7a1a7a82c69b071c0103ccdb84cd6faff5c64a62f7a913f1cd378016a577f78bbca74c34d3adf15e94e2dfb62d82bad74773dbe56aca72bbb8dd4175769f828806e183bdc0206366be3bb3cbc0a2cfa7201ae10c0e086608e0f8e0839504edd2d7607f0ff17cb0d9ffbb01606fdace641b527ac603780c37bc4d6d7ae410d3e641fc22d79d39f6ab7f5c929dd844e0da1a5c239ac1ee9fd24dd0ec2bcce510df084b3e09359ff0eeb7bc25c9c1d322019165d4b5e4032bd5778937131f719799b1facd0706570d119048c44a8477eee46ac176b7cb74235795936a213797c82578769ef4617ea460ea058b6c7ac8c15e9383b5196bcf44f0dca66b0d11bcaff6fdbe9de29af7fbebde526a0affa9c903a3713cfee0746f02f269be1b74594ba357066b36412e9e763a59f9d117207fcdc938e317113a6854a9b73ac4882e766d5eddc91621d9257625d094a5e35fd63adcfa3882ebe98bddcac410ac27917ba9da5e5bbf86b4b151ba4bde6626c17aa133bf0ce90cff75aa0df1460d6fcdc9fa5e98a7bb254079ae3a098cbfe370537e7531db4a778998fad585e6d27e02192dd8a7ac29655546f7e618dba591b32b63d38d62156f6843159b855c879d188857eb50b6dc21e8baf3ba188f3a641bc8c6f89e0251eafb78d179ab88dbf3e11ad72b51a094d91b8b653f2be67cfb2431d62f68bb068f4855900fffe9d0dcd56121c1792f1dc513c3d418b586139319e4e5eefa7e623e93e6a97e086a84d7d532f89bf3e4995576749d2d9ed40eee88afd63a8e9e8660821c5f07c9fe77f5b0b9ba92baa8460573bfeccb4a8203fa6c6c555d338aa3369a7879dc8fcee16ca2882a64ce4e308a80436c2312f5f6c4f1c0ad7c70fc2be0b79a1ea0bc05d333a04ac7280ab670755152770b145c0f48ea78fda7075158a36656801cf93f95c326abc2283439499be7f325fff939cf24bc78aae18340ae8ffda5983234439e233d32f2cf5d2e3a129f3bf0708033289d5e4c398468e1e5f3bd1f97e253e1f402a3d61dd95468ccf3568598d2344ad46d4d70d7798a361984cd44655616b0767dce0810c67cd0f89753852d1489b6f0ab57d2507c8696b66f12c89a78aa0a254dcbb5cb03f849d489a4aab7a0e3c331d41252b2621c81e99b2a973288d2c0ee4111472d0f43e0440c9b4727398873baffab0597dd397fec0a4be26cf4456efc893534087d46a6c136719baa4c49983ca15fcb21616a2d297852fd2e2608db1131a9d26e49b36cf4dbdf1aa02e1f32f09eab85bac245d71487aba871bb7600c1804e4533ef4f19bd337aca02ee70a560069db8c7bb34b9d4be3e438bad97924ba42a468158f17bd7959f8a7d91606a5b844d03465cb1f18e74f230261db1362e53cf693bde9acf48c1e61aa6e62c4ae9f40edbac55d4df7bd3e7a23f72c461b81b030cca95e7399f9b3c2c36eccb67f61273d9bbd44b51c4cbe526dd7bd72057364f6b0192bdbcd46d69afcea8d3cbfd10efa279f2f9932bce9289c0d62e502e41364f472e6f950050f89828d9e59336a58bc0774b6ed95918608b7b2b7c1c117cba1b540c8901ad1dce74948803bace0fef6c1ecc784bd118066b7429bcd64b60816d726c6de47d7473b1208388312a915ba505c6ba8ea1660eea3ad205e65f1fcbb25a69aa7a45d583ed2064bfeb873d0080d884daae546a95c1d6bdd17d4f7410add8cf8490807efdb28fdb2ccc340e360aa016306be25bc4ff1e5d2d15b93df4760b5d68d379c7e1923fb997c3b2855d01e85554ed75cdd4d1cdab2ff284f81f89443fca22f7b0060c61fd5b15f56c263745996a0177e2c6c286e628a368d3e41239856f349fe6dbacb7a5b635e9779c533b823526476b7d6cff6d8496c86026f5a024fd169c35d70d4f3838433612c5a56d26c62341d16b73953646463a9b8f16576c6d580f683b706810009130efd06c0174713e5e250c66a2c58f2bd4e3386252f2bd1ae0fbee1285711f8613bfc79e1a8815827145fb84437b4ca629967e5f51a9ba9c4ac10c78e0ab3d2d5250b860ac99f819e45de32ba0eebfcd19c0b3c9146ad10776f58327c1c9fc06ef77892c18a13d9ab3842fdce76ac3676ab5dabe6bb98d17249ef5051a5609ec384cf90f7fe0543ecedbec86b2d489a0b21df92f25db34d6fe6e1da0cf008e0453fb4f5371bace45193a6deb674a01c429c6ce1113a55fa671cd7fc97a9713e3f147959dcbe2f710201dbcc8b1cae1c0d3e5201571a1d21748c160bb567ff23febc56ac684541b500b0d9ae2f7682868b9215355c71b34e5d2bfec7befae2e8c28c40b29ec21cf37a246f6e0daf29e51f3e69c7f4f3ffcdccaa9a2b00e21c6cf3a7985f2c729298f8ba20de73dadc7ea326b6ee53d4612bb397930a0cda8cb08dc0910c7c9251c8222025b75dc5cc0a530bbc422f599fab305bfa7248a82d8d530ab67ed0b7fb8d73449bdd91957f878e6b4247ecf718de5d5ee5bd65a2dd77769474abcb5b10eae52322957620a049e3f01e56a7a51bf6b34d893e518066551b8eeea0d4f134037e656966b05985260cef8248c7f92e005e68380c6e824007f43369bf2d429454aa3f7f55682b252a9122aef0fad2cebf62a40574dc24d4943708511174ed54621a801c74dac172fb669c0fb9c38cc4b959a944a0a9ae03b7f746760e0718a2b40abf795b60386395361d7aa62623c0f3415cbe0cae73bcbd580762900fa606d71a8d36fc50df03acb09763661c7f36b6d192fe78f3c0fb2519b3e27e60dfae4a0046538dd6a83716753d4dc34445b8a9e23e086d1b3a4a581d6245c0b7a56dfa355cdf670986429bbe589e29c10ac49db251489a89826242b00207e20ddc53f576950d07380e0fcc0e457d6a1bc5dd5ead46ed5d1db2b40177ec38c640b06c0370a3e5c432e5dfdaaa59136d2caa4ae5ab9e8903bdaf8c6aa903f8e4759fe7b6e52df85759e44648f081a0f75668812cda76d1934ade70dff3cc47c671c988cf544ce37c3286ab80df2d8399f8e2bf2c7a589b59678b3b3ee6842fae066b2d5799e6f334bfa376ab7d08a4ff937498eaeb0d654d01dcfe29ff1784993608bf55666107571125ff767de636a34a948d50393db9dcaea6dcc29463e534ecbd37f6f8a2dd578d0e648e207cd57c2e45d982d14ac56240012f6f328c833022785900a46e049df8e506191ebda0bdef5474ff130a11ad9b5b8f5482a7ef03062b7721ddbd101e6c5210a951458f6431a0517e9e663b8ca1d8166f042264f18703925b9314f35e908117dee1cb3efa0a11238c9be9650ecc98f35707eb3d86fbb5743918d831c7a994ca2c95dd63afb63d6898dca3af5d8c89c2c37228382c884db49e01693a0499e5bde73a4b39a736416be2b1b87276c1e5dd817a1370b8904d8fd660525fbc4a8288dddc5f321dc6cb3a486ced765d449a5f4f3d124696015a115f8fb3be7c6dbf0dea74162ef5387b2213b8ccad0fa0da7a1656752bfb42307e054a9cd0833d3b39f752dc20bdc6859b5abdd2bf0799bb3fd6e6826715271d0fcf447c6b7f68d63030041eada530a327000ffb8b0d25827ea743aaf10d695ed7c9b7be0800a672319af1b1e98647e6e8fbc944aecb8681ba6daf0034b1f9ca400173fc650e58be208fffb5a88d774398c176854293555ad86d102e410494dc534a83d3a946740e26af29aca429fef5625e14de4dc6e578de7f21724d95df3e456a3d6d9e5496b02a9e4cfb236e99ead54b7243f324908b9e1edee4e039638ebc1ac7d736dbffbfb32f5191c29a30b67b32ef0853e2196aecb539d69790883ceea7192d7c4e53b02a7e231227b6b4e30df6b1aee0cd2fddfbbaea8d90cafd48a75b7b1cf60bd314a36c5d54c2487183276f5bccfd88ceb304cdb19e0624f1fb47b5756ea8e8b4602c2349f690dd0c6d337490582567a0af26a4caae9f3f12e60a4a574fd02ba56da44dc6fdc6eef94cd7a4f6e8d8304d776041f8e46f16078550d3dc58f9a12b96b6ea40fca2f37ac17e82e0b3c23b333ecf2c67fcc562c0ee7b6ec99528fede9817b0754baed85ec12732483ead63768712eed6a5a30422256e37c46bc26e38892a484b662a0a24a49c6d7c628a2c4309879ead9d6748c068f81b6a00671626f65541f7e7c7a3c471d4848124424c1291dc8094717f49d7b65066f070ff3869b8c324c399e10eb7057b3ee0185f6f990c66ea75683e1b8d6eca0bc84fba7f68e7ff18567afcc69670ed36abb59f40af054b7c4f7f2c329f6e1dab6164647852640a19518ff62a053cf319919786631ff3f3685141ed6237576158b0f2b9789522b9ce1e96c6fa06706769b055376414d2dd45e461d293b24f4769c442c47e7a5cf05f395055b772f00238269f0a805b3ccc21e31e59edb427c075735c1599aefa85822c1e3da2b0b9e654ac59bc323c326dc93bdfd6dc9c17b11eb1a938b00ac5848ab24d8819c2a67c92973c00a69d3834bb2da3e2c7dcc8248833dbaf58199d5bad3439f27aeec818f2c0d2315e27ad7d97342217b4c77c6d773374ffad4a3e91b4c430e48a5f43c331d9d61f86e0a6b03fe25e4c4d6ca1c31ea7e8511b2851c87d54d4d9563943ece212d1f3a66b89ac1415d36ac0d0567f2e30b03a7d097d3dd5d13c2358e102908e563f0add4eafaaacc5efac0c25e30bfba5763ab42efbad26c5b2152ef2cca0191540991571b2e476ab64d4e0ee16b3cc76a072d07fe9053c741fb7ea983d62090733de1a81c810dc32a5bff7825a9426773031cdeb7d333398356bde736201557c25853b75ae522a29245604c316853ad8f0c3297507007de76de9bcf64840872f85360201eecf0d811619fa752d69e9894021f79f52433f5d7de46b8c5fc40c857c6b117752362ea04501291e42a8079cb1fd8bfb30501f2ff15c00ecffbdea154a0023993b3717712e2930ede7d79714237b822e8f9d8c6a918d8a7aeb189cdf2a7136fa37443df925121a120cd20e69229a71a0cba2b68ddae511c325159ff2086b2feaadb6febaebc772475c3ccd32a0ae25e53e4bb9adad7796ba791f7947a6f4c447d09c9919ab02dc21141781866684acd52f4fbf95e88b7a11e9143f2ddf13939ba0d7f08c6e29ba116c32cd788809a3e4e1bd190ecf264ccddf578b9eb41d0e01b40b4c38df4e7abd18c26dc656320307085d0cb4cfe903ef63c0d63e08e17ce2032bf3ba6b966683e7eb99e92cc25aa08b2e4f54591919560c535bcdb91314fb4cc0d909a08298e687aa6615699d10d62754479f4af0ae17ad16ee3216efefcafff510a51f8049678b31200f73277864575a46cd7ef9958e4501970c1dfa8a63e458b97d30d9ec7cb8423227a1fb93297f520d07ccc4941e36395fb5d73e7f50882b67fdeb8c70717f2e11312fad1819271db26041b40180a8e06f14e35fdcbb1f140ee64c49d90150270df8748b5a6402ee2af26620bf17a75869c2e9db0461d1a85f9405eb3cf56d3b8f27241ad20da515db6a6de957abfe47db3eff755f59108ff5cbc768613939dabbddfd005ca8c3c351427bdca35e5033747645bf7a9e57f219ade97b0c57e69644cff060ce515300f91142fe5186a12708c922239db88a4c888ff1726cb853e4cf955336462f276369a9cf8a5875bd31b5cb80a3f06d2613c9401ea3a5d2957d50fde1a6aa45804a9c51d4ed192c6baa051c38363642a3666590f87027de4834e5b553d7a5f2fd8f121ec81b9f41a1edea9a74a1f18a700614425b0d16a2b8c19e5794a74e25dd1a7ecb329d8df14ef084e5b928d4e4cdb5964adbdea50bf0e687b3ce80700683570d2a94597468d58a3bbe9118d86a292d0cc4036caf71c1dd5a3dd4405bdd3dfcc3248d2198704307e02b3702b9c48eb4b914a5415de2ecb062835c88267989af234516de1bb4d1724bba5c7a2543b45b91790b0069e974035a0e45db0c1e3b08dfccd43706ef129539e629f3769e5463b23f319c5af3a4f0a352221b985b79726bc7cb16a998a85cefa3ae8bdf606982c5b425b1b17491d0fd5462115cd88ea9117de5f664db111777107b53e4ce8845a63fa006d41af019bc8c7f2613e2aea7ac2f9c1584f57258551dbbaebd57ce3905db47e027da1d01ae9e259c6f8992fc108f07053bd09aa6a73ef2f8a196b880342dbd0181137ce52fca249ec4d7ec0da189bc2d53f2845dd45ca02dbc87cd8633a2d962d42e1263c1dd99fbda7783ffd3a637a549a3a92c7daade57a8005c9f21bf5fea44082a53d79cffceaaf2a700646eba4b51012e772b0081e64e1f6d72cad87e639cd73ca7871c22a4205546f24558a791648e21e9ac2fe4d60eeb1a5de48a8c9afa7b6841a7625f3ba5ced034046c45499183f46c17e981d3665a03b2d54e705074e00dbcff01e5f7c75ea4d30461e7c070a2b33d6974f0f58583cf13d8f6794871b901e0e2443340cba634c7c194af0b7d61420a72c2d60b5322140523d63713ffec9ae631616368cad2e90b0b0a7853f1421ae3be0be515225182232b4b11cf8c30122108e0f0463e6c6993649645a65464792bcbdee2f71205c4bc405d1e3a1ba04c417be5610b15daa0528417ecf932b9ff5612b5e7f7d072aeaf9077919a26578ba27b1499ee71fa59542381e8f5d1b5577630e4e393c13f8e5ab52175b0a03609facef3d5db722af83e9681a548ffb5c0fe36a911e7eb1969fdee5469fe1d41a4ef187973f867bb7e2c16bca116548080d5a2ff6bf3582ab1ef4fc45b112efd5918f1e5a3916ab9b84ab4f3562428d9f532a00a820fcde950d7650c6582d47fc5b25c8a4f55dae2f061ae49544676efd52d6f63ac1944c769b6ccbe25f7d6254bd2f1bf639cef3cac7924ce482dd41a91af89a5e7e467a7a78fbfc08dbad29e41eac308ef044216e91353de73c9af0366f58b6ea172d92375835f2c99d121e8487337c38537e56a6e8e24a64b5d54dd59677d26f58c369f4fa19811c6780e2ea23ff7ada495e4ba82c031d36f8b35e4a26c05c70fbe5f00e60a0d188d745f38939e3dfaddbc635c3e578ff3c07b771afc2a61a38ee598b54ad7276d2ee044708729d33fe386ac04b0935437cc2269bbb789f6d96ae103527377b0beb39e959c01e08c6c815b1f78d9f637ff8d870df6d8a4df7926efb4e5a8c978497b3362f5ae0f9904f334ce21819ff426abb7968be834b80ae89f865c220a94f508adb9284a8df90ea32680b4932eaa0e63a1d2789e8acb2d42124e797640ae44f77ecaeb8640cbb64f664c8103fd33fb022b1096a9ac5b7305b42393e4a18b6986da866c37425c792bd84c2e11a7cefdf55f9077ad2ed4ef298c01bd67c2f2d62e044bcdcce5e8b22b33d314be5c7426207689a5309b7782dfecd30e2acaa2daf22e95f1bfccb1ee87787c0295f61434de6103dc0aac80ee0be56d59934765cb29a0a05cfbc8966e142e4521a01b344137d83ae46cc24e3915f30b17cb189437bb5c9539026277a8c473a0a62997f20d6431184a852c16207ffe21cc99f5375dd6ce1ffad62ea5f47fa0edfbcc1dc76e6ef0847dd82e1dbc972c99faa8a6a9cb2f5a9dcefd1e814425ac6841e44deb9d77f797397b3c3706f56ce90546a5274c0c1286da7f879ae76aee2f36ceebc023ef2a175157cdaf942a3c9191a82139ae765a4695c762429e01cf05e54547289829e22ee16621c756afe12c69d61b1b6dd9736dafa1e21ad0fd49e559d5c7fff357d2f564f06918144c9cb2fd104cabebc56d01ebde345cb02a6c0538a53450f876e5422b0b8cbe81d98e5b09b75f7495b75b27d2477795d4066a1cce860b439afd0aef63bde4b27f65f3663df57710452f93e71b8dcc3b70649935254d8a1c79a382e16b8718b624cb50eadf28abe4c5f10f5a0dad2621193a6b6b227997b803fa919342f75b856c9cc5a6d4e80854efe967d6bd7ae3ade2c199c251361e0660dcbf399f8502b04a4dc7fd84366efeb689cd5a6f4166522ac826c948efaf60f130577acf67f3ee29791aef052a95b26a9cc8a8016452b1a1b10edd9ff1cb9dfb6caaf19c26c14f425f259e838fb27b53e484382a7d76bd94ed035c51850da04b40137fc95ff5e99e2b7a4e4a3e7e616d34540190d114966b34fbc39fc54bb4901b6be13155f6539dd3b23db51c227d1f22e433d69272e6179bc88ea6c5cbbb18696268d68d8606a8e6bda19ca1286f29918c37b6382f854003ab72c8e5511e9696b77f1010086255c2b5ff9ba858ccf2f020ab3f37cc4f9e1fa86707049e7800112f8f921b4c44b5cb9dd597b77d187512ac54cd3564ef5618e1d8b5ee5efebb962710ffb692d652c4dd4a02ffdfcb10a9c965bf0cfad411279bfb93b46b9df1d06b5668e61e37586c3b88114d662265a8521aae490109651075a46bc376eeae9a606c9a6a9b9137d6542b134eae0537c29048b74f88b247c84c97cdd57da69f754e4c26492734c61fc1085015960a53ddb85d0127bb503d3243183cc0df8e81b6ae28c4ff1b4384e3d52de4fd672b05172e2b2a22065e843540917f0ae6837d7958d102f0d08c62c26211df42561ee846a5f3de10d4e69bfa20190264727d01b46fe907ca91e1cf3551fa380c4f01dbd78cbd57f3c65ae37f36f09b495f3b80fd8811783805dcbd180bba2f44cb63e89dc75daca81ffa063d5df68575606bae26db1ccbf9615e1e71063c7796a77890f6a29abe92a72261f52c391a16b81b5fbab61a8fb967992c614e79535d5fb52f64f8eddd2ab9ed4630a76d495e17f66f229879a53dfbc1e71e527cf1b7c1003e2407a7a9b3cbab0ae231eea3e3b7e5d33e1a308cf9ba5b4913106f4b46a9c61cd18334274fe59546372762e5b71b31c4bd728a7fadc776f516f316607cede1d4032753b0feb04d5cd5ddf1024f76dc557088955d0002869913f9df0fbf1cb2c88cbcec5d1f1f796f39e4dad8fb32b2f3c5c5f706eee96668713dbbbfa8d309d590539856a8b97bbbc82b6f5a87e016d4bb699aa912683deaaeede2156b638426ada69650e5e2a0054003b9802bb5c4f1f6037202ff46d42b430df7d07cdb5f31e69691b5b8b9f7047232b54f236730ac767eefc306f5a5d421dcb84435f15918e29751771afdd55d1d64a44502267b73b087c97fdb54d9e9445eba99ce43e7f3a1dfe10d049615481d33045b467f44b82c6b4a91b87bf6c0a7968add025510f0db546e8454b1a54ee768ba5e6ce6605c676646ef3911f1140caa053481e264dc6c2255120a54504e76da83d0ce02277f4cd9ed61c85a88e2d648fcf5ab5347d18668038787d3ba01c17be2f42f811d0ea6a2328e227dabf9ccc4fb6476e283d92fc473f497087ef0fe363233681e1440b38005b2356808732082adaebfb2ffba3c84c19dd7e7f5652f80966671146677a07717bf668640436dbcc18786c0da8cbd3ee2746bf5a4d8408236e61dd61679a05ca20c56f07fa6d0908453a5447a0eadfd63eb9f5fdc74c270faa1f65cde8ba58591d823e9adf2441c145d287b550d3456b6fc12764074d120294418d3bbab9e817e0d8fa60d994a763b8c3817f9eece6f84294a2d8d22c59391c92dac0a7ebf1fa0b9c0bc1815e1cbce8b5eb93205995f82c525964d882dee5e7fa139bac2c73a281f02ee347e404b91099f36733d71a51c1beafe7170d4e5db408803df786422a28ba2c4719492a4cd76bfe2fb5688b71ef98f9913c370c1ca444ef5b343ead0e2be7034c359a97ccd20a822084cd3739a978ffd603431f21f3c2916761aac8fca9fe303704bd972b5aeabd25f0398721a69269545f4939d0ed35bd8b91fa9c258547afc44e6b9374b5cafca588e07fe4cb775727bc5f8fff36e526d012237b058431b0381b5302b96fac8790851600c51a736e45feac3000a0d525c4ace0ebc32eab96c1a8d3023e1abd1df47e6b4ef816a695de5b1981a903a562e80185b4c07d2047be2f9d08d56cc368fefdb2c56bb4c49bef8ea430dc27d6256847bd4ef6b89e6e091a31c30777162acb83ee6703be054244c645ddc0d1c54949b42ca95c69b9797ed6be77fc4779de40672740fb7bb6880a00bd89ef87fabde67875d520e89f4804fe2f241474b803e125b66bf0e912ff3dca2947a391125ac4966b56e84cb465b3eb58577f6760faffbc93975f18565bf064f50fb66b179f27f5ec54c255369f85166998dea3a9c33bd901efa7c3e6d7fb5e57e68778ef8ec294a47ac9d0f5869896065a0b2a636c3fe353c0e5afcb4dcdfc036332583501b085c719b72df3546b180a9ef1b71fcc911ecd1c52e5db6f7483a9cdc51d244bed7ed44d55bc6e06fcf9cd568068cfaba4bab1f010e33a1d636a5cf98fc8575812abcee72c655e220852cf9741c6dc92052a2123cdd04e95f8019a2a5c2885c0dbc4c0b9efa1ec0ae907f45db645df1f598d8264e6cba41d8aff051f0504d4ab35f0927a0f4b1097ba6ba8513a4066b85befb30d2bc52cc7039bf04059b9a103cc10404391743642b53a93a2e75e71162be2a9da849f648044bad1b84e385440f1ea7045ef3268c4a4febe4943976659b545a4949b91af0a4e67ddc83a1089128f6545d10831f6c486812a4385b4700f9d0fb81c3038ed04736f7d447b97bd2d19bd7b56074cfa3013fc1a7f7c1b0e737da2e8255b9ddeb1dbd96e877dfee3db45a23be50350415fda00720e11574f4c8de4b5ad4a279222dcb349729294211be8994683c9b2b6c022ce0f2996e6788d1e9025a21494778383a12a58bc3e3e6bbbf5ab34677c177ea8649b73ad55b8c2e2a7add6c3ae3050b8cf30b836f55c789d29b779b9ba353ba4374cc151416427a737a573825d7549e36059899b09853b9d6dc13940fdeac1a8f6450e83709584ceca49f9d693a178fe3560187c64571aaeeef72bb8aac26f098b371008279feb9f7313fde8f7bd6204e9d758e1afe888a76bd6648fbca951601da90d76328b88aea50ea1dd7f3c5445899c0d87ef77a8518bb3af8167dee9cd668c1e86483233588f54a8aa284ff9a615e05e8a5e8f9394410023df0c45a942ed9c49adda3d52a8ea15e62bb270d74b7be37074eee54118e202a09194a251c439a0b73cc4b1bcd4fb3dedb29bc113988e01e7c2073dc6954b4b5e4aa7d4ef78cf08db2a760b9a28ae66c08dfe461daf8b8fce77b905cc0cac61333eab54feede6e0f97032d1afc13d69c47c7fd5f3092a039bb03c206c8ab58da0c5cae905bc0e2031954c3c15db27b8f5a7097af9fd11144c2ea02321788c70b4fd5bf1cbd00c43a9277731fab43d45c4cb04a0ee544e2431decd9b39c2a9159cbcc967331e7d2ba2e1c946ff229e53e1f555c9b0d9e78b020907290115f06904cd91c0ccdbac240f96bee8f998d516fe719f715ac0e173835dbbae3fb4d1b75c043094fa6879f6149d715343a3a0d8fc72f5bf378ea676628b18994260bb75048b07a9ee39eae12636b4df98d161909a6946315f2c428949f4de4b5c27fd79009783a94c613c46deea42191f41511d7f62e8eab8302a0d2a48a3dfa96645fcb8f047b6385c6eec04e458da65ea96edc044a0a49e2f61b4aad4d4909249c6a39906c5882c6d784788000a66b7109d1ebdc7297fd5ca8a256e415004d83a2c55f6304883e9b83c6fe718a5b6130917f61aa0aa4ccb09de9eac7569b97f81831cece078510416e5936c2754960c82d81db9f0004b0e75b4816f8dc27d23d8e2256c86ac6d6f61cb08f62d469a3ec3327dea36eb9b38766bdd85563626211b96bd2f0be8c76e6af12f431b9a6f36e6011ad47ef6e827b3b93e8e45d8ec6286b6a6b30579ff28682fe213969778af26f9fb62498afd775e0d46ee48da62259aeadab67d46f0afd8cabab3c595ce6038c69cd3e8fd63ee918706dc5f3eea13f569300a7a785bbd0c3501b3a1b76d87649cdbabac8f5d425cf7f05bd950f2d0b15e9942e97a6b681d0c1c721a82f421ed2c98da232b246891d5609013f3284c1afc3dca061b3643520e792fafea287eea96c23bb6152382a1152b8d55219a57c4219c586e82316c4c0ae8ac102e527ab3576af0436c812ccdbdf5ebff285227afa138ddac21c620a4195bf9390c8a3abd0218401c9037861c1fb0410df88ac225220cf4e22932b4bc0328b6aac0109cbff36d4baa91d467466e2b73e799b66582b11d76ff13fedf2bfdf3d25db65c1ea61ff76ff358bea6d000d31d9ffc2d32030197e2790c8a0a744c9726b10314d4905a75a2a56cb32bafca46da7186a6957ba05658bbab3fdf4a31e939373beeebfa752803b88ff9010cf71cfb330a3c409363c002576951d0602a4743043510dbaf5f4fd0c5a8430b560acf185d7cc43d6bcb670c697d69d876550d68d7e39ebc45efbac7b3c4e27f3d9f18a7716e5ad870e9458991a98c8b7c2fdd960cba3959f6628f853c8c6d8f6bfe68573b88a387aadb804e779ebe2986ef3657323e9e181c4f9341f0633a8b5e9fbd80b5073e62aaf81f823e00dfacf0a7b09a9ab892abc4ff50cca8c48113ed0addf4d9899473792344143ec1c93a99908ab2fd4e8d02c21ee16b70295796a99b16a6599fbc80a6d202b74618fd9216f8bea858d4537aabe6d0b3b4881a79cd34383ac73e332961e1d086643c8d5a993f84f281f653f0eb40d504c50c7365dde12195631a13b7be871e8e246934cf67f2c247e9b01e17106be6187b339aab6540ff89e6dda86e6c5f262d9e1028fa83b53a2c997b6a357bfe60b6c2a9a8ea4eaa9bed9493eac66df74d2a06c80284c7b7ff8bfcb6a8cd5af8778678658625f57066474847d00f7578276a18c71009cd87472b3621669b72284aa28cd85a1f8390160bb985053b756fcda7d6cb1e35b7e2f3d2ddda15692ab5a6cb9192fd0f0ed8ffb87bcd400e68bd06fb5d1d64d83cf9b45be91b4a598209b1a5444db85314c91c06860264b3e336c36e16343ea85ee0431f56a5fa94b69b344aa247a1440ae33c46d884dede60af722b86fb9ffebcca8bb6ab5bbb035d51a17e96630be75db5e81778f213f3e04deedae82e77396545b25adbf5cc793616534cf0408aa1ce62e00165692b9456f2928757cb4072e3e15526b2c7b03bd416c9455fe7f065c6e124638dcf673180200f3ef14a6ad40de00c8e419a66bed699c0fa72074337fcd89892dcdf63518f1cf85b490e16887b3477c1b9412cd60ab6aa3b6680d0980c9abaed5da23be12e2aa4952f804506bd1ede94a86da14ebc3ceaa11694b9bacaf7385b125a4111356a4f184bafcea604090a2bae20d17f40fb5af8857f0ff54fa0356a3af9362f4aba919beeec44e2f2adc145d6506bb0588d283d50b2c4ffb7c2b5aedcbe12b91d081ab6a47ab0372a6bea860c47fbdaf55d6f4afd3c1ccfa78c7fd56713e203e4c343fcb4fe6db62e3901113ab0645755fdb427687bfe3e096cd8f70533bb955fcdeb621378d70a65c8a5ba143f829c2b0b23bcc36142563980cc4e7ddadec7a4f89bbe258cff868b9c7888eae629f1db29535c7c3592da28cbc4c2f3568ca7a79b603142d433535d049d4410e56377d2ecbe5ec6f8b96c965b542db4df566f7d5681bc94ee20f3dcf7bca1be4577d42dd91c75f7a285de13e0218324b3749d86213d786c3ec30688a526efe999239f76e082e4cec2898a424fae6bcf0461aed4d91daad2c6629076bddeaae9e951bb1efa1be54c744a1a1ce379050216a1dc3bfc0820f71d882d7be3917c928801af12e406129de0501bd51234e77e373eac9fac1cf7c006162295b56115011dc538f35afb67e4b63a98dd9ee606a05daa1016648f9dea81be337873afc93d703f8c3e9c61b00174274397d889208b89a463f3e45c5f04acb7c64b4a799c29620fcfe60c72997ad40cb3b6e4433f85cdd7145f9d79e3cd75bee690806243c65818f71c8910949a713c728891db2cf7e99ed1691d39eeace1901e1bcd523b467749bd6d9308bcb19aa44f040a7e63113c87f50919f12dee05731ad2ca59902ae522ab6bb011ceb4972e57932c9a2834577f4b5e5fe58a5baebc43df25cb40bed4a698d5b8a0381715ec59804d74a95f7e26daecc37c7948d03e95ebaf703a44c076d371371841c50426597392494fd033c4da4d9de69277f492817197b1b6ac99f002888995dd4c639bb74334f9518460e6b72e8050ead2318408ac29ef8f0e287bce89816e7a4bb0a88a63acce33b0f7c15c6c273d52e7ebf787aa42209c24d42f71ca9411176e45e96c295ebae230f88a7abb7ac7175ae260d0aed01bed2195416d0fb8d2b94f08bbac0d92e662ea526c7d17edef34bf29b2d186de17106c7dec15b9b5e6f2d53d4812dbee118ef858a413ef8806c8267d4f9681db26ac83e55305a791273b0ad726b6ee7dabed022073fcbf7533a69f805d357a8fb2a012366c5111ad3440db646ab6ee16dade609adceeaa013df2c874636a5d2aff54c0c72a12e4d4c422976bee0c2db63c46c12844b04454f8a2711ce78e1dd68f035f6e79c2845cc2d2bd2e8e1f8e5fb1469c994bbbda1596056b7b0edaca1a1ec97c632b7c171c06edab30720c041c8ed6ed0a513cfd5f6a4f0d2aab38717e18d386b787b982ced1b84da65fe7d84f7fe9e696b1570e2c7b5fd6d34a81225200631acc635d515907fcce35e0cd757323fd681d545fe738830905902be1594c867e98b1a55fcbbb2593942cdbdb4421aa311bac4ae4d87c63ad6dafcb1f00375975f47d0ff3713c3f5085ac0c091de53ef805976a197dc6276f6ead69fa0ed3b9c7bccdcc5b5f43b38d6c37296f54f932ccb967368e2f42bb9b7077c0e65277b298f72a14a60d3c82b36ead37100e7d9b2eaa70bd776db2226ca0074d0cea5c50bab5641c16ee380a58570fe5a37c3867f44509b9487d8fb94f4f15aaf1aa7be9465f53cce97e1272556052c5533fb028c0e077a66b7149a73b81f22a79fcdc0a47687e91cafcbbc281ad3390e7ec774384150d444878d7efc2b5261a2f1590aa0549e3c4c6e6b1ad90052f7883c09586e98b9f8354ce151d5f0d416ff78b1db3251845ed78bb48e92b99703d83128bade3613352156297d757b0fcee707b8c742bcc156b101a8ce61a39106442cde7b2d8fb7fff64a62c6940b3b9777a06675ac8992170ea740b7300e34fb7eb49e4199d358035dc00917464749191601edde08d6e91f9e52e9fa7e6857f9476adc7000670df9ecce4e6671e82bc4ea1c22e4de836ef589f1e2f0b66960540128afd22bbf2ded20dfa1a20c364971f650bed956007b3c61c9194bb6f86b9bf9c9f0401e76f6c034e1de6a1967c8f199cc062f6b9b70953f8b2e1f31c57f77cbfefc1e4fdc95fae44a59ccf1eb10dfdbecc06dc60272f0a4972bc738999df0d0854e33fac67e473b7f6a2ce4918e04dd5fbe6fe214d19c0ad19874709e8e29062105bd837aae0e72688a9126bd09405ce2ad5d8ab86d7cc83186f7eab7f477eeb55122a7f3a629ce68ce039ac01d523311673a211be9fd07782a7d824e60b94f1b3617fa47d43bfa3bc8d47ce6d5be3c1663192cf919ac9b931d3dfafa1d7cfb0d8c8a0f2d490cf23ad3eb91abca089b831d051a7959db8c65339163d914621870f7c21654082edeb985288d491da7a8de2f618ec16cbfea15b4d17b9b96b45e8a7d8af49d6be5d5d382ab86eca39a7d5f89e3f7afea29e39d575b32b002270d60edb37fc0093e3e7386948facb7ec78d42b021afb00fb915c27eb0585b53ea8327a8506a9324530f981334b8a5529167359aec4f38c7ed767c007b1e512e23ce7ec161db21d7f18ab7945207ea15649df9c23fe6fc32024f1b0c5583321ac941fc0e60ca04f6d407786fa94eacda7b9bf99effc89ea5fad55d6613193346d52104c3c1b644de242d51c458c169fa2d133d5d09b4d16863fefe0a1a5afcaf1cee671806c128a4383d743fda5bff47c7b805172eb37c58378717650508c4978974e85d1b04d1fd7a4bc885e86e42ad200617201674914c5bb590af6b5805606600483706ddac569898fdefcb15a83c634a268dd13a40ab3f1ffe36b57c40e4df843e8f4c2c5ebfdef7f7c1b8edcc85270f4222d35eaa680d0be7491baf9a60bd7ac8b7c7b7caaee4e33294cc8ba48d44a2ec795ebd2a48be4e1e95b9311eb87ac8c05d2ce64e8026e64b42694b69ecee13046e3140b7d7e514e369a18137226cd889bba6bf81e6286e4679317bf1e593900b19ff522fe02f4447510f50bf7f1f6a3cae7d1a42cee63053462ef3d95fef5568f73fda258bc7258071245a3504e247035d329d2921b24c9cb5bce4d8134ff753515a0d71e98e17618b04f59f80a692305998a76d863c18c7f4c1d30436731756f8b552c8ae40e062874cdcb070337f987e59530800e4d84ba42bb580e77c41437b70b96d0727ddb952e2db9db2e8ef129fe0c6d2a289bd4e83763464f334b1a1d7f513891c34b168b28a38fc0733cd91e775ea2042c44a0194b69fa4e05fb0778820d2fd5f76d99a9ba44bc2c835a09d4ab336dda409dd95a38191dd5617033f7b7884d08ca17e5e28a8599b3ee2be50a2515302c2f12e434ba79768a1e5fe051e0e3ee75430dbb0f1324decf4c2bff5bc8e49a65f2943b9a03260329c86ee6f058c53e30d606c81697589ab1c5ef6012e501470b8c6840a7cd379904f5a40a565179049e98d17b8e22920dd9d2b5047250f0571b33469ef793440de736338e409302fcc791d9c6c51a37c71306c5db883023e2f689aa4594935b64ba8a3cfb38efa45dea0a48eb32edfdf7d9446963bb65bb3a39983e10d02d8e3e18809c0c5dc5ce475076c2299acef7835b7e092efe857511bb785f226fc98178a9cbfa546b40c6e93cde2a321a8bdd3d625ffc51996d397ec3fe5fc5aff7a12bf8607cb2fd3ae2da3bd658f17f360b29e3821e2727806f6902e2d3a609924b4c1ca2412a08187e39159e948464f8a0072206b7c64336b913b8c01f50693088fa54f92ca0f26bce5e2bad52b58eda07137fbe8341083f20d36fc349cdde8ba291bf0e697a660e2b7dd168aeb121534decceb1a2816a976405ee424990f4cddb31c43233a6ca1e0778cd3524811df71d7f7226308b20c626309fb3f78cce2849851c984e9c4517fa766e4c5e8aca8bc56612ab22a7f8dba76830cafbf3d0fad88fb74a8dc6c83f164117612cc51b87858262960cda9110c0921b23c962caa7d9d03063f5b12b441fa49e14425e69dda980e2c3d3b348c3a758b979e060ab253b978de0e0c420cb6fdf894eaa60751ae39e6ae23164882228abe95676e9afd39c6918124baf87383bc2b2cb83b6d11627a8b85d5bbe6e634963eaa62f440959ea11085dad21e2a3d9b0601ea91ce420a77bcda95cb6e15295040fc78947dbb0c64c7153e22cc2f84eae3cf68e99f5916d9120cb839f1391c8a89dd79899393b484204c9affe608712d4a9d041fbf2b709ff825b3e362baf95effd51ba292789a5357914ee86a7d79a238560dd4db6038a5b487b2dabcb334f2ee7afcd99632926eb549398083a0ea58506e95da614b04e7da97d30ba8a667902c0bbd641c3289a34fb7711f6a8da1c051d9f1bc5d7d291617deb45d05d3f9c5b5989a97fa57f37607106eddfcbc2eaa9ffc737991f260a3359dc974fee1e13cc1eadc173438d711b377a717c31b25fc27c474c7a717a1ae72d38277308a067390e8ce510ec5c4e002e628a6a4192cdae864b4e325fa7de01aac206cea48bfdc982e732e0343a96d1a0aeb3deb35cbc8f996a86d4a5063c161f173f9ad1c0cb9775aeda7f31641d8f371e2fa530cbadc425735c3a3a26469b9cbe9f3ee5da4b3c764de05247d60b3fb00e03d071357f6cc4f88a711ed4181a89a90389ae9f7bfc8854c4d021cff3ef9fe39b9942a620a9e2a19fb98a8403c93e74fd362f1f9e1f2c3c7f74158761b2c2bb80a697abc37fb38e74c6ebb2a573dd85d272e67142fcd8a420295a9bb62f029daf2533d233f1727d43763f6ba2f2a7e49a00277dae3e9bc48c93dcce73dfa7ea1467b72ac9220e80158c6ff24ac19282146419b917e7714d5ec15701d900bfba6f838a9db9f51e5ea9e3aa31aedcafe494beb9c9dd7deb4ccdcde0d82c5f1fef2d3cb69701de85a0564fb82d148f4950d569b3d473a91f5c152e1cdd9ea2f1f32f4c0918ef18d71bd951b537ca0abd2663d243919b91d643845339306c8a1465aee86e01bf230f21400b8c063d0c1734e3bb7e7784d4e8be3371d7dd23fc177ba164e1769dd31f125994c0d4c6b83eca51c1ec8e1ed7bb14e6b3ce842f71ee1d638f378cbdee6c2dc3733941b2396afa22e7ee46940859d0581ea1cfc7984ee02dbbb2e33fb8248f282b4383fcf52902f0041650f541f34857c6eb91cd54110c683bae42f34a61f0af43d95126c1ea9c16e4fa6253d1bc4d8942210a7ae6e6ded0e613806c5e8181ae1fa8a21a60a2b2b8b810f29ea8cfc5fdef920971004e5e9cb300cf52002b788a275c23cb57ab6ff47e8c4ba3c3f516a89e36cb1b4499febf0e1dc9b54609d7206bd1b50dd7b9998e81dc11050fe06895bb19274e378f1e75af9c9f021245f57b3446266e4dbe321a58df66949c0b2234c363a1f8a512cced8c03950e071d68d3ca7ffbab6db9cba3b91737602029ed5a4529e66e8f4d615b6dbef6443111195b24ebade410d4cb9830de54b76817aaeeffd7d3d2e55bb18f556c00e8046fcf8037695f66c1c4499af3f37a4eeb45d3674bb25c04838f772535134450048f93f03fb6495d9747e6c807020029a1eaf4b6e64c7fe3a3589ac1d9a6bca66bfb54bf6e555b4ee565f4da904d47a50b56ec0f911484b3d27e11ae9f6ec34e49a347a19074d795ec2b4adb04dd8ab4e43dcba210cf74dee261302e513b442ee1d8f2347db19ac533ef839545921783c4a9b44207d8dc3eaa0a2da7c375610585bdb159839145a6d18657e30df92e2429285c211b4476d26fccaaf793bb42f9027663c01d69c1ad5af26954e40568dfce9cf4596c049447df4ebf71422a19597082ca34efa982cf73d66e1fd927ceb8cb128954791f1dde67d882de05fd3004da312e5e711c86d3e9a01970b9fec5c4a33b975c4b46cba0d8377d89327d203e91c7ac3c4f9b8a747c1318fb595bae4fa0bfc15b9e571b8e48f6d7262afc1f685344a698f2354626bfef95843ce3c7b9b39ae94e1c6182e112de4c6c89c83bb5a714f0a1eba1dfaaa0a39a4b6166bec17521db923758cf7b8685a97df6d6eefe7c116028006fb86971c176f67e6cf6d6c5cdae82c2a4e552f6e54330434bdc9d3c79a0b227a15abb96589cab7fc69300ace726c0d5c418ca6d0a4b6dd5a8d1267ebd055bd9bb515a1a96ddb81ac793da9f597c8dcf267eb6b622720d9ce36820b608dd809f2634a8d6c944e4a0e8b8628b2484faddf46e4b511bf1dfb50abe843c8eb6d0b356e06085755b6c602d0ab8980b071e4335218cf02a419502e7c35daa11ba0d8035bff64e8f5cc9389222fd7222d3bbd768d8778024cd6b81f0c1b499c6184a499a4379e514d3ede89431bcd82e5987f2d82637000390906e76dc2578a804b68d0dccaabe82bea434554eb3c33a74419cbf88e99f5565de938a595c2f799c3f2c0d0f2d10caf899ec96be64f6e92801c36de32b3a44084e02b27a1bef632dd30b661db4bdf4d8c34479981e0177bd91555e2c351295b5258593501a30ec582ef921a31742d57c16d435a53fe0933e56e7962347b99189ab8dbc3a3d1328cccf87840e3a0fdbcedaa06f162aa25fb2cf3c538fdba83520992fb5031348afda99a7eb43d1d0de6a98ca438bed5e67e7ac1a5334fa6e11630385124e4775feb5af42ae78cc9e524ae9b44c8c309d975b383bf49f07681d30b81aa1dfefba518d9dfc1c9dd11a44ac802b7bc23a1dd86b60f96608dd467924518d692fc20d4eb2116a51082872e767f98ee23fa399f77a31cfc055935e2eb10b8098ffff5087a400fb84c5f2ff116fb1d65dee13f2c6d206ca8f84aeb6615d2b12e30f940b5010c54d8314ff1d3e4bc79fa4d5863214f627d1391ab9d4a6fb5ef31cf4cfc806baaff798fdc5f894c2123b505c2d786473c8bc55a274e060edfe8235059996a35d4fe4ff7d6226393ff3e15a9cdbf0bbd08f65d16ff72a1659f4233d2e447fa59e4e485590c9480be56907346943cadda6e023b74b86bbf77b04f8ed7ed8d1da62e6b908b817c1d36c6f265b61475d7492582258e702adb8d20e9148f018fba926303d32fba37b1a0eb178a1291dead6899851c9c8ca661ff29921f5d07b3d3790019fe37a8886df3aa814e878ba62c1531ed8514fef155c61e2f84b722362dbb3f02e0551670690e96d1cd6394f9fc1421fd159563252baf59c9f0744349e62819d9b9fadf2221fb90058916ab2192cddbdeba37f0b4fc7d5539426b0841856cfcec41f7cae396b1d968e61f8ef9824ebdc1622eb509ba15559ac69679634b7c67f827ce10471edbf7f8e124ee86263e7e3a3a577391375dd9a46bc71f947b63f521a8e4c6a6529fa238561e747bb8b2d024c87f24926f99a3cdd3dde1e3ed07aa68f538c9c7abc7539895b7665d2c92e7405d608d264f15494fbe3809aa49d08fe922d96f10bdd5515f82caeefc3f4347457a3c69d3968fd0e660adb90aee161f6b0ba6c559e36fb919db0d259b44c316459a0af7b2f2a3a3a9a20e471b951fdc4c9a35dc7487ad4146e03f5cb3a585665b6c813ede9a8d2f7b8d04e721db063334854eb85a6e8f310728d0a54cd3f6fe2f57179ce3dff6d828a0cc99cfce56c67b75cc1fd9306611fda621f6848686469b5ed58444aab8924b46efad6428cccbaf33fefa56f43bd7aa3e01d38c82d9a18531162116c8de8efddf0b94fda5e00e67f2782fb3885ca778f1ac3015e021f01cf4efefe52c966948de650f203b09e4f3721fbcd74681807f251e08d5ad3a529045ffae1478964678b08f06e7531c783bbbe3a8cd683090b1288a1482e6e254f7430a60b1f28dac9708cbc30a315bb8204cdd8dc8241d7d1f15d635f9fce8b16d8a32390df3df89d46449a894798853eb133a8dc07b19de5c22ed2f5c5449d939af3d99b90513521049c3ac0dffdc5203ceb41a9ec13f6eb0c28ee802052cacd214327b9401b4e59e75840d4b8403cbc835a9aaabff17e27cfb8c6f983b6fdb666e98c97e44ab13d57d59ebbb11bd3177715e261bff373ddbec132931383f661245e379d5b9b91c84413dc6ef367e28cc887937d90e00be337c0d3c07b724d7b3d938ad548251b9b366d200e6512f271674a8d637582b3f1f1eb7438de9ce34db307ae99eb875e3028dc319d765f5364df026ec97d820143fd2c16d234c7dafcd3936a88c5e5b9366ad58dfd4ceefa8ec8b1b24e0cea32f8956aaae77f4539aa7409ff683d738036359769a4d4e20d8f4b78ba2503b92bb6cfd9265637ba31f3e6c63b3bc5667475dd676e342ee521d5b8cec07dc621f61f8a4cf26158b67175f767e309c8f63f957af97727e3ba330c388e014247ce2df0058f7350a429ba400e47a6a98b86edd3b231c966f32a09205f9323758a0ecf4b6bdbbb485b9aebd839ac33e805ba3c8ef2f034a79f30239a3453854aac2286ec28bf458768511c7226bd92671821e9c832669d2350349108cd7dcef068ce762c17502b2551eb291f3720ed973eeec4dcd309e038343cd35895cd6683a031a2592dd2f9fd5dd1fb2dd515cfb0f89db1f1742d40e31d9f69908277aac8e8b3f51bd25095001047375535fc1d0e58c5165ba535a9afbe1a82c2785de47c9936773758f351e040f72f30c3da5ca42a95efe59ac30bbe2fa25583d9caeed212c6071c1b5579dc6ccf7b2a67db392efccf5cb41c7ad23ebf4c5395518c56bd0cb35a131f23c52b05bc015edf09b8ecdec1c80077bf01b9133aada554d3d72258c9d006700f72eaa0478f63f35c826de156341f5db2c18e954a247a8ebc0cce4fc791edd673358f0e5eea89001085345a6534d58420e16155e5368819b8b727cfa48ff72282064200bc3de879937c25af684f7bdb5420b4f72cbeca8473c6b2a9163a09a980c2f59600c12a57c9ac50800313247d8d63ea8b6d0fe3b34cb09c685b1555f0f06e6d0e0361282d349a6b93ee1ab13ccc5904ec3cee76196dc87e669845c64f230e91921460a6e3bbf53976154770d036ecde5ecaa8a0fea52c5bec5837d73bd4993d7b09f35dc174fcbd824794df7543fc82261ad6782caef16e6d7727cc1fe0d7bd04690207ef1f75521170efe90b2386c4042c5e3629140e87674fd9c8328324d37211a80ab126681b964499e10da202be08b07d9471343a8a5c16db03c229f0838b580183acae784549c60977995c904d1df027e822225ccb89549189b23600c4a48b2019c8ee82e869dc503d80ded4439fc4d702aba300b3d03ba4e96ab9ff38f0214f58605764018c819998bffd415e219f10450507366baa0c02738e3b1012194e9c81e44665291fb47d3120524fbf0c8500e4fe6ade35118c436515f2fd2387bf0385fddee26fd4e395207ddbac9765c6a7570ce47e24ea958580bb3cfcf3c33833aa4c35d03eec526f87b960e731b7c5e6db9b232c5ff87c91d3c09cc1c03c15f2a0713a9bd581f545f786ab721d5ab1107920b2dde5cd39937314c797bc011c6b23c7196669075982912b5bda6586b7d2de0e9ef85a1b9c53d8ded0859976269f7c2c9224e4a8a2cdb533a7f77174fe07f5a423eca0c5be870267a3e4790ef27bb9c154544c96a856c7ff49b4ad4483f014fcc967487a3fbac8dbbb9bea9d2297484fd683ab2fe9df349f5db6c4fab37f93e81fa81a419c92b79fd758ef090afbc1069b244a1d7c35ef84a029e41baf52179bdfd683e45428cee9b970aff93f29e745ebb4f28d4ab403b3c3551e9be3e84dc7519fdddde7b00d3bd9faceecbd4ea405ee63cbee17b9ea54a509c63f00fb4c641d239b887f28929b33555494c6fad140b8b44eb3c24a3f324de7b4d55ff136566a7e3ba7a96dd882f0448951a6600176f7bc00d9fb8196af6b5ce18dfe484adcc906fa08585610d047b9988917639a56b2f6eb98834d11f356f7b32e720137ff5f7a82514be0e8ea42c200ace294317ebda2b23cc259b8107521d8e743838067a009d89a47fd85581a2651d2a9bf3fcaa94273b79a56f3d55346a27ed8fd0033c597e05a2d961cb0ee4f0bbe53f70a4f2ab98f7af0709a901772f347ed89d2c3fe6861c5e8bde7e2af9b135d1a41d22de9b82040832221a43bcf13e4e41f89e51cdc90499aa2f9ad546be5cb10cb7a83fcd1ab0d4a6dfa9aae6f5b6e84364949a41dd74c26805392534a5e17973582ea726a4d9702ead82907895a5137bdaced29f8f43eac104091a863d85a605a21ab087e87a8c299cffcacb223aa3917a534fbb0e76f7b126cf27dbc108e0822e7fdb284da3fbd2c8f98e035ecc6049304799740fd6f026a357c1abf0951a4410f1d5536587b0fc2fa6b4a00767709e22ed5d97784e0c8acca31709d993c5ea58ced559a33646cd40126f9196445c30813db067a3568061dfddce6903b6484b64ee98f820f67d5e0a5fd8f4b0174e62567eb41a92338a4b09855c744c8cded5e6e68a925fae6bb0743dc4243061181ba216e7edb9e9e81a1c23dc160d3aac0237febb8e2f85da5f8828f70de594e970082daf51455299f4fe95eaf6aeb3f18588b773fd3e2c4456a1dedeb13702a1d83a21593431a97252cbc341cc25f446a5cad3adca7e259fd9fcc62f09e1623304033e7698b2f1503b5292bc0fc81342eb93204e3b592b5fe6bfae1b83e42443e4ceb4e5d6902ffa2f152e209e3c0444064db9876fa59b65c95977b9923efdfc39a483319c801ca6cab69154fe429d86b13d5f8eefd9429a440fc21ffb13aca50132380a62b8b525916f79cbbff294cb6c227612460eca4c18b0366a57ac52932f523d3e81bf3c3539d1f49e37e30363194b43c15070869b4ace2a63a69a4a2dfe9d42e09bd52c5297c7240df349eca72438c6fa165e2e86b89f19485b3ec553921640a88439cbf0a1c78403c7cdd5978193dc1109ecbf6e06f524469304823a4e10d6000293a7048d21bf44530b203e40cf7198723588d5ac996cabeeee0858b77c5faaf97b5814b081716e6e165a017d6ac71a1838365ceb083dcb97537b53d37705ce6782e3a421325503ef9b57d36af662254a1745be4882670e8fe0f394bf9ea8026aafccd1ba595ce68f0df39e45eaebf12556aab70aa1a5dd608fc6614d3c06ca522314b47b6d2da3ed4cb51c3584ccc7323bee08cb2962f1b028e860c840eeeb1a300505a76e20e29158976c5ee379cf5c2cdebcccfa2d9c592e58dadba5e583e90e845a5120b290934040356ca3cab296990d718591be660c6feb39ead8c64a99870387eece04f0da61c31edf24d22e4abe1bd204ddcab4002d271fafbc560eebb4dd44dc765507eb2992047a0ce617842213b757c322317fbeb0b74f0099812c50c770ac454d909e052bbbe062197c80c9a25a5032689d0ca7b9a0f60eebfb8ca904af5dc97c019533557bfe22a6bc0d40c92f6dcc9ebce33dcee5b2d36a4806d0f23ee4e36ccda190ba40454cdcea25c08d89927ef506430d560d118672c476d2ddda3add4326c246f0c086b849ac3204ae9b3c8eca75ee064bf5d4111854964c2cd9b3977e500ea910bee47ac0a1ec49faa301bbf0e9a14178cdf23af5157c1303e48e59eb36bafdcc6faad2f8cbed3ab2dde82ee451ac115f94b671738959de7d2d9e0a6738eba24d465669fe2fc60ba8e113323963f26f90bc488da75dba2499d0de6c7536d1306b0584e6c11fa03fd364510431b437cb28045e94821116fbed87a15973e3ebc1acbafe0eaf713512fe5d54e78d299847fb65acfa34530263266dafbe94cfc0f26dca2bb98ca9eb7e286febc784f235d6ab9e8bafd98693034e3fe81d06183df7fa60ccc6eed500bc17844b297277ba509270707f77ae775e37e89bd00eb06124e4e1fb0c436932fd1b04ca34a8433bcaf330b609202a319df6d4cfa1be94cc1954da1cd3478fe850447e793f53c619de6c995ac541861a076520d54146c4392c58431f14d0ac68f1371658143c0cd69629f63ddd0d0a0089653e71c31a7032d5ccb4b18f0518201532a7bef3e3b700b4736a6fe3e728ba200245858ef9cc17fdc29efac7a8157161d753eb953b5298c05cb196ceef2183070ea7de2ed44fa3621c21284971c6b0e43382086921b2e6ee5c51f00752ee5193892fc0c22707be5faeea5e78b94c41dfbc5d368d2977a702313284db41159db253b20ee92afd0c7ee681a715fddfb827ee595fb6cfcb08cfc35835441ad4240bdff1bcc28fa1fdbbe19b814f95b7bf4da6716b30b2eee9ecaca02386b28a3147c37fb7cdb820aa2cae4962071f72770d732e1855f91278ef36cce18c4419105643b5fd5c8009e95b52893fec5ca8688fc4afd83e89e27eb9bd2f301b3815bd638e30c8b0914bc811bc0c3dd38593797a8ac6d8ab859eb26ac0248053f4bd0d298e36a09d7098f9c59acb53c535d027e804c5040bfeec7da412d527a29f517beed3819db530e17f97e8051741a85deed7d5d2f319502a82e4d4f6e63187c798328a0c4c6e89c948914ecf1759387c1dacbe1310dd5930251674073d35f21265a4774662a60e237b6876ab17620994cf4863281aed32d00fcbcc52d8b410b696629da9bb9c7d9d70ca98089c03386440b88c151eabc80fbd3c61644bd95197dc0263dd585dcba665cf302f32a635ea0fa4cd6f5075ade05c0c5de61b37764eb4ae2e0b2a507bf33ee4b11d8ddc863cd6070bf6b51e6a25d2c7e0a14f1db244353d21b6e9316a24a61e402275baa7800c5b7fb7e4f951275bb70cf1bde0d67908a643a0cfa89f681032c42bf631f0d9d3d4e10ce58f54ac15d226b5bad2110f0d9df80c27fb8877249a45161ff29d4f8177fc5af7dfca72ccb63ec17ecbbcbfac92181924f1b4a568b61eaa0c453236d3529fc8f89a04d1970a23effd647861cbd887aa10857b875939372f06d42f77373d761c111bbd4d0096075a67f56fad09e2ac576ba4fad58080e099575f0d02028d135fb126e027e194498be88befb2b81c9608a6d4434023b45cb4227be0e425cc722ba48399333bf1616d5c7ba68a96ffbcf39e29b6ac3c5a0b5affcf4a06b75db6ec007be5142ccf0b521764a77601311ddabde4d0adff59ca431d376570c6bed3818b6efb7089ab47df0e244e09c896b676e13707c9982570955f877d9a2921e5e047670aa168c41908028909d0cce7105867cb72a7914554596dbc6e40004d895969e34f08099e93d7b21ca4b0ef62abd91c119be7290e31743a098da06b5813c0b34fcebca86e50009bc86117e8b7e0076dc2d75fbed3f73b93d4c54a891679ab904a7b100e72ae4c878b3e29dd49e7d0dd950f7b769205e03579adb887da7ffd0f50fd27dc97df59036276e3cbbb3ae226d3c04a748f014cc97ba69c1244f4f09dcc2b0633dcbf4cd1592f157505be86eeca048114d6b58e92657b6672c848e3481a9a99716a7abf7f5bf05190a9c6390977840f65bb1a3874a1d43601aeab73a3fab3dd4c7929963a4d8c48cfce2088d9efa65435602648bcfbfcccd9a03e3eda10d45a60741aae5a333d8f098d4f440a087e482e79157f1c8d87629e524f38e6a1a39a1c24d38e943a1531241a36a1849e82623659971139c768be192cb49e2243e796676a0c4c27858be05f704d9073f82baeb07730d6ca0afa846e89b388f79548e461cf073c3c212ea89fc87f2d144a32937b773555c0ee51fbcfe72ac93a320f87a4af760fd736b8bc99b389dd6fb77558c5950708db7cec7d95bd539e196792bc5f8bf43e924b0e8aa9bb1c39e54291621826b6cff9cc71cc536a3b0bf57e678900ada1acb7bdff88df1abea008e0a4759aa0810579c86cade8a6d4159eae0271bfebcc99a1785bbeac41d3f35512bae956e6363af91d1656829dba7f4247fee1b5b7625191967dc9d6a0d69a79a4d5c49cc4076ddcbdccdd7200cea162ec820e15451037635eaa08350392367561c6b7af024067f8a5018bab43a24c17daffe42a909998d9194f1cee6ebb74afc00cd8e5fa1ae554cd9bc652262a314f4283b14b98f04dc4f479c6faff3ec9fcedf08414babd436833e3c468aaa569016f3b16039fbb5f9bde6715f2acc9da1dbc2eeb23f749b038928c39ac74d51c0ea1a5860bed10a4e5cb9d42d7e1240bd16d1ef4e9d51106dad3da81e2129087bc46747d5c6983533cccde7fbd915f121a6910986bf19ac8e0c970b80c89a78944a9df623313aa1e56bb86cbcf3bcf241dae41c2d89009839407e1e89ad8aa5364c22a02f18637ae9416be72a4ba846e1da9ce4fbd8d7ff65603af948588c4641fe8ab4f11ff059e4d4b1a156dcd41fd97d7e0278dedcb067f5c24274f09c310679abaea8c0998147c3ed4af50d890b8ce0ace5b029dc3c9350a08b429a6a1055b7560fc6828566a9a423470c8deb1c7b0a17dc2578cfe52770b7290075a23a051b76c25550f34ea41a06b37c08b74f3d330626f043cb4084a941afd0e7dab9bd141df0c67dd08559bbf81835f23285646fe3f8c112d45df101972b3fa2d1ead70fbcc94cf5f1721085aaf2b26980d2f503e34cb32ae9766ed7b43f0405f3a0f8b02c0784a07095155865cacd89c02d6067b0f6d33db27d16a2e66cf423f3e118f0531c93f5f883bbbcdf9499359410c144e5b14168e8aa81c2ced9f4f9a6a587a6c486626a8fbd8d333faf5454940b561c033f307fa22ea7ecf1e49707a217720c5fe35e74e19961b586585979f244ad442041e5945ce15b92374ec5ae47bcab97dab4b46defe62f1b4c344f86c09168166e4492850a4d6bc0f85446d724b3169714f9ab06dd21024b4353bb0d12d90360477040501cfe88f6e9afeb4f4880f646fa56ea8ad458c835d9e79c46f86e17cb609258b63cb62c574ecb27773075ee83c1acc4cd9514673c79f9eda2be35cfc008fb198a10ffd29c2e016871234dfe7efbbf3df97cb99e5fbc043582c5f1dfe1b55ff1ab82a64d2a8231250b2a804c9d73a3854af7306a0a15a21872c3cc9c1fade922b4ce88ad3bcbc460f81a7429676aea72292f27e98ed1f934ac2f65be728615e7a7cb750d353b5e73b56d400c4562a986afa473d6d8a554a10bffb10540cbf2b72a9f4f910c9cf8f9fbe33674ae6b654586e509c74334384b8e601cf97e673603c1b637087a675e9e151a1f1823444c08b288bc19086abb152228b2d451488d776b6170571e3d2c3c3a6929faa9c50d1a1e3f2dfa0b29f1b6a0d88002b5ce483cd31a072c0681382942855b757c057ee666b3d6104a2d40f243deccf3eed260eff59748dbc4cbfc9a00baa54360502cdda5e4bb6442817086cf577d1c3c0a1b6a2a3a3ba174d0bf5a3fdf815c85b50d6555540e9a8f480c9486e45b6f6bb66d5a7859f7e227de43d693616abedf09fe31c87433b496ffc8c053e832e3d421fb8b6b0b662013913a6680a54b312b36b600fa26c46672b5d286322fee9872fe523ff7372eecf353eeced9ec67fd6242a1be73a4c466c73a362597b36b83b7817d2f3e8ca537a45c76859f438c555a22bc7d8cd6459fb3cbca85fd95c00ea21867ef38ea3d028830406e5bdf9f5f57e0e046da611da42dc9759b55cec2cbc50b23e49b3136342be34311727b7c84a9aa3af30d40bd58a1c37f26db2eb07904af85f6d7c30a2d8ad70eb8ad0f5bc5117be9db12aa0bca31a8dd63232d00a7f9a458bccb832c6aaeed840f335b0e2c4f9b66d1011fac9dd45238a2fd710b9452a51710c3c30641a5a9bc5b1bdb645dcf326937eb23fb0165ee16fd67d656e8c730ca67156105c8c9fecc08e0f7011dabc85e09d1834d6647e5e7142090b009b261f2f560a5ec0b531bc6353fb66ab6f51d337436b965859e8e0e8a97cf32cf77ca8f1e2a4f9c89e653c8efd4b9dfcb6e4de4c21e11eb5ddf81781f1dc03c454bafffc10f9ce0c367d6ab511954887289484de5be71cb4114e94248dbb22fa56183f548094589313dbed0303b723d374dc450b7cefc76f3cdb1ee9b784bf97ae99f1619180541495702da6528c00f47bde8db2ba25db98f8912d98c7b28c58d59eb76c0684b79b23f0fe3df74d60eac691087d6e0bca0976701784724f02d586348840c34882a7d003a1219498a7beb53c19407ab3d7ca34270ffb89a96ce70a3fd6e38c7af0cc4332b8676906f1fe0c3868d7e09c586d765137baf14acc0e70be58ce05a4703c18dfe3f16daedb67f1c105ddd537f229177fb8d5d44d6440da2eb6048263c5da133af37c67982353bda89887b79188b62cf2754f7910d7048bbb285278983fe8905de788585101717ff075413c29babd9145df2ec39052022114ed9b420e94c5b75892ed3397e37f93b481cf5dcbbc1f0114cf0ad4ab44e54ce6fef2148c85f79fcb0136b6b9d8e415384af8d457cef04ce73f5b34e077b67bd73e87bee144721383becdf049a74619b78124bc026413dcbcc321cf9f63e3ccca5c8933300b69f297a77dfd249d6afb0d20033a2b165a27df8fb4fb6266e72c5b1cc9d3929be668cbc17c35a3543b98ce0e81b9d6734fb4aaf8816d540219f94663fa8b0bb35749befcfba358d2987af14fd28f73ff06c2dd0def3b96936de9753d3cabad1040eaccad31a2a857bf1cac23d4914f81f09d3d8e5a534fa4389fe0c83f9bac2aa41f7bc5e718d463372bf6c1cf3f11d7f495d427058a76cc67491d5bba9c1af5e1c0d6e8c8215712784c96fa3df9d29ef51037ea7af1217701959c9d35005d97738f5fb4602f2b8de572a3a9245836d82f403716fe1093e2d176237f8a4a7b893d46b8a9b532decbc6d9ee167f0b33c523ae50b9db728e0216b941ed782759da4596c72d3ec27c4b4b811e6d963b3629c47deb303c834076884c71d1e8f91ce5491523d432e3a19c4e5802ce489f6fca9b77606aa697bb926d7f80da144d1ae6ac6cfc0e6fdb2252da88cc296171b359f8fe32fe66bb24723b1a1e107c9952c9a3dfe74504cfe68fbdb80f86bbbecc959f5ee2f735797fc18c77f106536bfb012bfa3fb626170a847350e4995c68408924b39082564ed27be4bb52db18ba5d03bbe378def376d04fc88d2b26ef24da8543b54174bab1bb60049ae605cc93af18ba386c593340abe346aff0d8acf4371c6fae0e9776c13aa48c0955ec7a35644e7a5b656b5f42ee11148e5b03eec30778ce4e0d9959a6454f6f0ec8a9a027130bce027428179d4087402d56b8cb4e4f73dea5d01f9b791e3eff11491bb04fab14c8bad493bc931666886fcb586b9b2d89d25c559f56c68df1279a5b232028f62795a18d85511ae5fc2d74bf52aa8c6feb899a755a809cfcc7805818a53c7321b30bb2e5c8ac7ac5b337bb69a0db6c8598db963519a304d5d413680439abb8c35b835efdf8fdb7d353ca326f1968ff3789657ba7b7e189818c6f3eeb5bc224c7e285c082b9eabc768b0f6650ee0cfb2f73ec148d1394d0689ba9d87e9aadf5f10dbf359a19924886cddceb74235027cff27efafe87831bb25a3352f84e2fba0714145e509f9aaba4101c92ce849804cba7299403dab5447cac87c7a481052ef36ed91672945f8d4c46a36d944ce13b8c2f7ed9558cb6fde24b1499325786f7f52798911c93bb6a90e51594f2b71d247c0f060a0cec350fb3a2edcadf0fd53e35d9ff6f323adce50f0639f87ed6549366fea034159407412f1659d4eb6aaa8a8e2e825d99ac8969d6bd6b5e929beb5fe9cb56e200123018d3dd8c09f95113064580b2ffd824341e1c2237eb32ce92b240eda6d4bd10cb32b6b3c07472ded729e3667c61ff525341fce2085affb7bd9c5f594c4ef101dafa728e704640e99541401456fe5669e4f74fa47a2d5880ed9acf145ccf99abf14f128af97964a220164a719e7002e824ce27ba1e4784c0a86f37701eca332b07583d333fafd7ad7c5d5825fde2e12a107e876a3782b2a2470dc47f156306f0f8d4a0799952d695a6288a71e7749e4c2a042f3276de8ab55af443cc1bea9c27d96d9c73397e84836b15529460a4a0de61352eed1e8b8b981e6701f6b9d6224a02a0e08bebf526075526faf49d5bb3d1ec314b3595231946796a30a31df49a4d7dd8fb24aadfc516faa6ce31f5cb05dd316627c969b7272161148708dce1c819d1211c7c6706f9f6513dafce1ca0760c91d92d41a03a979c4fe736440c9b3cad4118f700d4ef03e548deef20445b92415fcd771fa72a7f1280674fa9fa74a404d907643ca8e92b1f12c16e304bfdf89400fa5d228242cae744db136c99905d36cba971abb533a0858a8e40ff996c43038bd78d9b7bccb211f81c1a35818de09eafa3aa28ab4b364e0191d0f9eecd58da1f08d7602068806f52e89ec429d416fd37dc461e980e57c4e415ce28bb110f62466bbcec91b085caabf39da32586dc823b882da7fab9f3a845e71cb0904a4f11e9200a290010e3ec4bacbb9cf010edd0053b8ffcdfeed508df46c069ec9e77d7705b5d152f29f526d511457ae3283909b7893cb1cde605e727e42b7ba1e6f57d91b306706fd838854647edca014946ef193aa6935df4635cd25f5775e02afcad7c83e4ad054601e38db60676d4f4dfaa1c19626c369aa4dbdf5fa202b89156a595fdba55ec4e1154b50a8dd7cae699b76629c482f10b68a8a30ff6acf1c098f45c7fdfc2e48f5b24af22d57211eff143987b3d32a880c2371178f9d6991724a4a8f15d811ad82aa883867bf7d0684f74ae71d48f656653a866220c908bd73a505121811e71ff1166723d745a8be8367ad0386545cdd2d96145952acb207b50e31c7db639a299c6bc24ed7844d637e98c922b875bc2a38e05b7e17b2849760c7edb6c51dbf0e5e948ca789a6503fe265ded6a582daca9fc28183edc64263b8e4d6dc4c7458c8ddfbb555c677187d19bc06ebdb9315ec126421eb0cf38f9af02b9786bc1e8cc1eaa88b8f59c9eb5de4e2f0cdf479000723ff0ea07db2a1fe4ef0ce2e633e9eca82074ccf73a3858923cd65bf8b28b4cfa72a7dc3cf8d09c065348234a2708cb796d065d0c8dacdc1a4c817f84182a3c901d353e789c080e1341c5adaf32ff4b97be05e9eb8deb2919e6e5ca60fcf352aca0cab68706da4c3510d2ce7131d59c4297f39dd52b5438c2293a212dc56b467c893aec4e7acd5ea5ebb5f8e0a847e346c50a3a01cca5a31589a08c2b27e456e9fcb72358797344f1ff5e830a685b072a7fd31d2b623856d6d41cbcbcc99dea4a20a39972f348a5528ab2e8a282a1ff68db8402bdb07c00bea8acc16addd96ed8df82f53ff0d091647ebf90c7e32b868810ab7f4e09cac5d851b10617831d0297301ba8ce852de4bd2e5d9c9232f6402882de70ee884eba5a1e5c054517a460c2570d73c3ac8fa2011c8f80eec307a553ab65a18bb3a41f048dee2139364b6e7e74290495b01f3dd90ee318c1bda0e34f6c5480a47868e21985f63e063a6ed2031368ab39370406ea13c61701299e203646020ef29324630bcabdb5247ab61f8b9ecf568d226743ed0b2ffe0d24a346091d34ac61e8f94c09598a06c33bf916ba68ec25bb94bd7a288a9bf82a09f0922ac27914987bda023fb6f5ca90f0b8437093d8351371a83df472be7a82fa6ff3656d5db83bf2caf885328708e41041390a3223261c3d12af244618b466aa150a1e5066abbe957b36efc5f2820041d0528e373aaf6fc543614cbe7059c4fe6a8fe5f4bf98855952f301ab29469ee9dca22dd04a48b9763cf0b401bb84a79971e1c212c52b03c8a330ec74cf4cf4cdcf928ad5d7730afbc80189a1b7309d0c75885428a074de2849dd18347e97e7fafc2ee5e62599969d0e9ac89c5f93d2cda0a5d002b3a522f39d704f97177477614b7eed29868ccd0de25ba56c830150df44799795458a7ab26d0ab2ce94b75c3287f14f47242ebb036b4b7aea3745c5b9c2ff80cbf4244eb1b42bf1f9352bdda4c1ed9a2b5477ab9d09d56e026c303c97c455e9119051f97b5968ace87ee7e04d54c1fbc857b0ebfd6736bfe3af62cad17056c7eb1798b7b8082fdf53fdebf3f40122fa5b58a74be8ed79f2db7a01f4d185b14fa3cff2ec25ba2635c5beb92823086aab480af54ba74d421e0b4cc708ccaa3f72576139007a1401f0a40b12246faf7655db222eb8578942fafcf5908ae114d9d2d51124a2289efe4e6f6c17f4e2856522553d2b3ad932f9053dbcd1e01738f01789673d8237d72415e5a4a7d6e7e6050b703d00ae3f2c846115d3afaa65aee83cbaf56c879774bb0c0937a3b9327f18841190cd81fe250f479de965ca3917c36871226b5818a5e57554527d5f3e573a03bc1016f6775d12df4345293834db5e8105399fabf4c99afb55a2f8ddcdf918e4120684e070059f8da5dbe592d2bfb2e463a3c30d2ce5d74054893d508e410bd4f0fff15dcb8390f40ac4cbf972c3972df3b877567e6c9ae636b485a971a8db9197b6b7be144571213f17e0242f42bdcafe17bb7bbf4619a9d21f16909285c3b5d3fa9d9bae04901bbaa6905fdc80cf3122186e40b3a6c6df096fdc7173123a5f632e9ae242eba71b770d2ffe3ad265c100a1c08fdfccb986f790d9d57d7850b49b49889ef91c31ac3e7e0903c336a141bcd226efc1fbce92732a488508ce5bd5858f13cfeac824d137bc72aad27e79dbaecb2f40dec36439d95e2ac16490a9d0c80877be88886caee543ae3d156aeb4d941894e749744b33e74b59a5db826f73aa871983e2c9431a173ec1462f8972e2f8c0133fe6f42b7a23f01bd68e885f07db741050e81dbcd7e19f2c59300f3c586810cfaa640611a8565464b2b927565c2fb48879dcee75793ce03439226a74b0410006204c5f005cf75c0d7beda5f2aeacd37c71fa3bad9a259e9ac73e0206ddb1d05734999cc1e2b2add8fe33452279708a982d013f54b94d85153b14efec57df25da3dd674a6af9735bc11a2115c265d9af571af172cfe20dc70e0cba428b139980d88662d90e9d23cfdadaeba80dabf48715ee5a987b3439d4705187addf3222bae38fe1a80a2d03671c5944e2dbecda123d3a847c061731f6521f1435c109bd962ff1a5ca632520b8087e8caa7031d8f778327ac053d45da9fda33ab65da282d43c60c5596204e7aa03f04bf0fbd6271b1437f18dc9389debd561d7aae84bb4996221c98553594eb4e22e0e41a1af2994ba1c92f726ede2ede81cf777e61f0d3443a8be3fc7eaa6278e7ccae50a925c6e7e867f15641a5d413df7de027b7112fa024abe50655a52c7dd62d9302dc1f01aa24570402117ea07e5ff888dd113ff9b06ab43dd303131b43adc578ae4aea417c059487812462ecf1c7284ebd59c15ec1e6b2f01b125eb1ac320864c95e91bf60c5ca916e5bb4db146d88b82db9c023be456b89a6d21241422cfcbe1539bfe8f7f1ae4027e40382ebc3e41c16e61c423c84e0dfb64ad356a8ba73592945c74b6e65568c50b1de73368df3f183df7a1701d7f764cf8e50ec005b37cd3cf37c21973ec05a0df797fac1e6691288f9915574a907461a893d000634a9a63fc8e07f65441d162427fcbd366189d431e509bf8a3cd5b97959621b7d93428e91faa3e2da6b27b7e2064dbe5c7fbcbe1519711997f48bcfce346aafe4815e1bbc1b055a32bb8bfbc92acb429e255c6ea16c416008706631ff261d6ca251b5fcc40e1708396be36f86fbaa8225bebc767f16ae58cc845f83816255aab658734d4372deadd524b19508a11a671b6d93d999ead305553911456be0a4b3e4ff9d660fb66bede84ebe2696c11cf4f04859bfc871ec01835c4ede705a0a23381260d57b60e83be14291db3455bb84511ef4c653ec077b48396a14e70ad1a03053036effe748cdac5b8e4b4bd99baf6720784f00da65e22b56c4bce3cd0707adbfac22cac43d503ed0ae1f1bac60963b18deecc1217ae124d9bdd57b3386fc25b975246a79054401dde2681f02179005b6ac3ae1cb5d980734929d082499d3ada4fce47ceb8f2d4ef6df6b5d7a3c921e9f492e58dc19675dceb9282825f2f391e4e78fe7d3ef8117cdddba74f0071521bc617ebbaf2ad82fb04c5804692fa59482b14cf6b1b0842e2dc8f0ba1317db2f60f4b0cd3a6a991cd09bfbae8e562ffd72281bcacec97320731ae913d9385636d95a4fe49bb7c04a5c0bfd91ecd31baf2af76adf739b67db7bf489ca5093f3e67f204f6bc9dc6d21af6bf6777c215042783ad9545714681c2d731572829d24112b6b440d9d6b8e0a5b16e5952c7398ddd90cd830215d1e96d8349a0079c9ee8285bc8d864c50bec2dd0faab996629fae19b246a6a83ebf30632071d962218f3110e9ff2928761d50b353490931a4a6818d1318950caf91b8e41709e7629484c0b951f66cd0e1eaf9361b709dcd6f03407df7ff80dec89821e5b6f299e42632c01515bcb26a793920dd0d32dce03d595272ad01b414900bb104d2eb4927091051423c4c1c7f58d9766ca3b2ee69f848d59c643f4513178f04fb7f940c165b0c739a843b04cb905e2c0897d4c6ca868fe61b735ca4efbc43f5b518ce1f017030742780ef0e8f6a554733054bfacd0a01543c5625e4c91eeb86d9b67a8da59cee6d6afb7a94eb984e3bd55ce5769b13e15144a4fe3b44331fec174092c13f9e742158956dbadbf4d914413438d64e8d50f6d2e697da00e9e69625ba93a051588432e03e0491cb7113152e9abb606ebcc4f9315f084f85fe4dfbc0555a1511b63f3a290d87f14f8fff40f00d1c1d5cd6703283ba6de0607575cf0ee4fc3550240fd8a2f8eb21ffc7ad0abed35d98b5b63aa9af074fe4bac5a081e0030e0850950add269499850c0ba35221c65494d8ccf4642912274d0f377513d09aab14cce6e87dba96404f630489521f1957812c65644c89c56fbebeb49b194752c2cd348846a04b6b8c8563bdd3e1e6dcfe96e75b60facf48ad61f24d73970cfcc592729b98e454f4aa8624fce614cf5a700a490fbfd4227efcd29ea76af73be36be47bd193688a2b06b5cb2945871cfaa65f9c918ba975350e2ff23573c244be4ef7d4cfa4b0cb38832d24b66b26f33413b4d6fd34dac5141947ec016a820c83d818732f542cd6dd1321d270fceb736e3ccc7ffa580f025cc65d0cac597f7149e0b10c9dbfd3f0291e83bee38c9ff3530e6637cc78262039ac8a8c56fd6da7963e4bfca21de092af421465e695956327317ca25c6b30bcf8e6c54804d5cff29002ae230888465bafd12df11f7525369d2cfb86c3bd5a61cb7e5ac4462627ca382e11eda63e4090a352004a747764945252f6609f8199d6193b6ae86c5920c563b6eccd6b70463a2d7b98f6da3c0360066efc93d50f3508c5694d34fb1a8e2f387419bb711f692b1085f8aeb022dea09cc2bcd6b9108f625fd275075086b42fbcef54ab8a6bfffa2694f53ab110f820bed8048d6a141886e486f05712894c6f0e520f423cadfe63480241cadd63f276c6b2804b50663571fb21fa0c10f803474cab7e910cdb02fcca490aac556dca66e78026c13aec0f0d66e8b0cb0e986e4a7cbbb7212fc0a7253782bb5ad2e837bde45b6c52f67606e7d9fa4bd7ac7c5890967f2c02d06472bf43b14103a1e1e2e756f1b35c99fb07835f4a10e3b6c50185812529a695ec308a24df8945399601040fb2e771b59e71f77f86f7eb0acea7410e2b0af2a4dd61e464765d90114079e6c5ce9ee6f914865b84745e2e5c4d8ec75b667375e9eefdac82f4ebafd492f1d6e241d768893a4d78e7074f21d0298005062ed389324ae72a4011c3721f2a2d0f278eff26f2e29b24bcf4cdf17af7037aeb787c3e2e8a2be60cc3d324fa2308bc49f9e59cf468509cab8e372b0a14380cc1b415e73237ca7bd31a86d79688115f710f1edba9ee20bf407c9456dbeaf24a033d647175b7df1396ef26b1a84cd491450b9951ad4d122b78b2f93005157256b70df2e04e0b1c2a920f1a07a9f60af998a9c6313d7c5a46329824e16bb32e7a374db0174429dbc1e896dd00bb24f4affd01e4665b0e3898f348175de0061b81b912e46b4681cc94372acd8286298b0ba6910d99736a2e5b8fb20b4016f022dc516aad3244225094da39e4c727a6a86151ebedb7ef855a1285bd50c9ece2bee3a2052cb70f9d7391e69792ff778ea396cc717ea6e47880c9179ee91dfb15651efc024f1b415a17870e2578edb5fbca16d718dfdcb1f0c0a118975457dfb6b4aec746bdbd2b8d8668d31a7417e4eb1b374e7289f3a28de4d06f73bb81647692f9440efab3dd6bff0944f64f748f141d0f399ecd3666a017de6a91ee227c3b4df5071dfde670e648a550b229c9eca7de9e1c04d422fab59ed5f7cf946604b0875eaa617d6d05a0ff1accfc31516e67258a2395c7c6281f5cfe0aa8b657379133cf62fde40872abf176e512e77dc92cb8ef03c8f67709e49209ebcc870441e5cbc614de884616a2b7e65f45db5c02a6fd90c40513ecd05ce4c873bf271cda7cc70b434432756af4529e73fa0ce721e5d54c127ceb66040308871d6aa2744c147aaed8726d8a4df41e19413ba53fa5b9afbe2360bdcbdf0606c161d2014c951e5a667d072e9061b912f534613f0995b3e7194b5daea9433f25c9c6070c768f510589d0efee86d24f80df7a4675a9a691d05e924e22c39111d4c18cb00c4bc798f8aaf4dd9a762604a677472ae249490cb3a28511734bbbb873c33b6fe6753d58c1db38cd69ba0157d9ad92a3fb4ebbaea3eb7d5ef35715020d181deeda154dca9b6f431dc8a885e551230b06b12729d98c16755fce3d2696d165faebd708bad33913a5ce80fee9b81d0ed6057d6c6e8cf349252b8b6c945f2e5eaaa4faac440eb910b703fa0bb8922cdaa2281c5caf7ec919e2e8f44984042595267a76fbef07ba5fd04afbf1625e6d11f628648989670b7375de85dae4f23abd407c9d2dc7297fbf804140873005f5f5a2e17f860a15a2a0d8eee66a2e62fe0270a834f8a7ef45f09a3c27d960f7742c79f2de8d03635b7d9afa6ed691700b81db8ca954802ca4e62f1ff0a67c83126df8ea3615d87a2dd6556c6b79788d9a4e54aaed84c1198986dc12bc61a16191f295e261ff2a2b5c4d5859d66a68c1678f9729126f65b6e456465a7d0bf19088c4c1506f77f435b366198c7e2f50d9ca2d388d6b5f3ec887cda068666680a630ec8a46100324eb2dd0502c070347cf4c99d97c129c4d02acdc459ceab81edaf95746962d0e1b9c1238e2e2be4a077c2fbaa6be46146e93df983118b386e07adb89c7226fc2bae14856e3adcb8a04fb4d055f6917005ff1e6b110ec1eab0c5dfcd883a778e18540fafcbc6fffb66d3ba5892e76df038cf81ea30525bbea99e3e239141f44d40b4e92eaead2951761a8518f0f9489e615e34a5026dc64968496e6f9cba7026b815968a6199571fb1a0bcfaa2556290c42c0d6f1b5e69cbdcc6a53d8514775d18e878834e11361c1fa3977b00eac0c8c74c4dc2aa1e8f5f98cb8e599783b21fb9c1a76b644551cc86c2165567ff25d49604d9cb5c0c2be4496423a7e13ddf1a5df3f3caee3eb6321b6cb6d2147b0c07fc5fb6bbfccf60aa69e7e9be1cf2e75fb955a837186dba43e7604752b5d20de448019c21f0b09153e5ea6bdb5ac7a9f557d7cf8fefa9aa2d8774dfe61b33c8a1fe1efea4bfd74c9866fb9266c37f8b6814ad7ba88f74fd5b77ad4e66b1270101e4fbd5a2cfbfd4deabb1ad71df45525af29837d2147bcc52284dcb92021ecaba22425bc049e46e5b1483e438dac7956192dea077b2dbf27be872b103a77a1d4a69b8c0c7451d5060785dd358e9cb55382c5f692a2d5e7d88d668e8572203b0b1666f63d8c6c101b3a4b0e779eb9a3eff226f46703baec96be3aab9b261459d0e33991da0705dc917df8fbaee1173cd0d8f44911380f223d9d5a26f7aebbd4229c7524d0fec1efdebd834d12b2419b385fc69cac9c89491d1d83b246f9d21fc607801aec151a380ea29c688fdfc156c2dc3b4f0e68471813d421594f4823f327f7daaf5ce2a89e963069388cc1a6035d9bee06c631b6b5355f13fbbbac8f5f7e533a506fee723a354ccb688d8f5a947bc85525325c6f5825ac5b3d5fc8f07fe5221dc9e4655577f5d677b22c3824ff1f6d16119b3bad46c1101fc8d0384431861598f8264dda3e12afcc081aef2eb6e0dd62f80c8ccdb569dee3d5e2b08288cee9df7e3f88451cfb6e33e2747d7f67da6ba83e0ba3299e4ff2bfc7ae28b8283b82054f69db2af15bfb982bb920889c968c538dd3092dbecb55fecf408676a685092e06fd944c57fc55d3d1f9a14c61017f508281925e13178c4bb4f303bc2f54f6479ca11cfc2c79ab96b2c17739b876f3ec65ee189005818a00c1b276bfa1500a92c515d642b083929de6de52912edaa8b120c2ac7a8c49bbd3879ab6af1413c37dc237f521d48e73f432720589980ce5be1c624758c0154c7eceb804c5cda19ad6d30b1984cb27d04f8dfca3efefdb91c3e13845689d96efa60e340fdd07f3ef68eea186e15813fbc581ad5131d7bd6fdf993e2197fd07479f3f145aad2d61050460cf16ce56a7815568a58b4a62c1394028ea65ba18aa45d647f96538051500b73c381ef0b48703042f12362d91b7690220c8451d88ccee6d0af8dcc31382e04e497b6bbc7f2ecea4a2da0527845be38cba614e4b072cde1c7c7fe73d793a682cf62e11992bd5e45ccfd8e1d140476627d41025cf5d122296d613e7ac7bb6e5caed44007aaf85ebe6aa54e07c3e1d25552d6f7c490553ae9bf7fa3322e326ea02f95ae76de7511f523cbca1519787b7a46b0412cbddb37fa4ddd7bf21c5fdd79da19b8ee996024c930b14eebc19426f826ee44a8cd64af9192da024d59f18fc8ebc250c6eda4c6443421af0306b93795361d99eea4933a2bc8d000cae10b721a154c6076612a0a330395626bd7b03da74bfe2b8955edab66cd2d8d2f97e7cc49f5993da6a5bc42761b5fb414c3ea6aa90c0a2e2691819b6361e8e9649213022421545bf661baa568a60a0379c48f03bfcdc7e2ad3eb2305b067a7f160a1a2daa08ce2e85432bd2181c93dc232a764f9372605e50e6b5b2967f87b74a8ba23a9f7903311793ad1f42ed7ecf4f04e8491a62fbee6022c63845674880a14cca289e4ee9c76e9af16b6e64c74f34f303a0028ce8d0a81935b162b5c4eed5d55c09b4ce0447fce97ac833a87ede86fe7b4a816f22f3d9da652d6f4dd8fe4972c3211e1bb13908e3597f410b572ce5340029cee2c390525f9103c65e07a93bd730f1c110c0941fcb52f3558f2273bbc377cbac88388096ba65f4f5ddf3cf90fd58b6edeaf8ff5b7c4ac9bdc5162b3193cd8d2d846a4ce0b4614ecafbfdd2f42885788be0bc457ca74db5549320a456cb8fddc2e0541261c888a989ed4e31783748b3b6f52b86430e698f16861bd04a266c4a983134146d7845144d171a2a8f470e3802adae95da0970bc9e9890c1abb5665f34d51537cc0ed0b914ff2e4fc95c4dfaa415733c7a07d2dc77b1684537fe25d03c41293d6c88fc538e7e4a193320930ced01ec06d8789d46a4cfb3caab98b9a88caec01637e94052e3d841be2fb98824f0f8cf8f94e221456c427a2f2c9e991bff86087a16ef5baf6be02f81e353d6d347ab6c00ae227296e758c02c4de9b3e326aefe752c2d713bab1093a3bb1c30cfef68b84f01dc6a539a432e81a8abd878720ee9fa25f82f810c4ccb834491e169e06721b8f267a4c4556dcfc0799cbbdc49fd7ae9864cbcfe16dbf0d44f0d093b07b9cacc25f5c34b1bdbda53f060e0a22c4920a9ab0c79d7db816b76c345b43313ae921e19c7e77a86915bfacd8efc9ecd0a5fc07798ab0549d2a81215cce4cb6a9d40cca42c10a39267b2cac1e4612188650077d5409e1b1b80d95ef343998f2f8496fc8b9c001db243d3612490922447ed7fb25be9b515e141a92eeee3db0ac82f63c8dc2441063a6b0528d69c6af35bf87fa04610a33b95f5f6e47057b718403b0b8e5edb824a62b5f6a922b770ff0732821fd59520e5dd29a4181facfdedf53571b1bbf97225e627ce575cec6e4f1db238fccd276ab307c7afd15b4d1635be3986e6a015329d3b77944a1aa107b8b747a43192e1c52964e9d6c0a93cdaa2c4aace29045864ea976cca45c71a49328931952f56b1dcb29d4f37e7d63180a1d218efb761bce22d0b8acd04c2794c892546a67567760816cecbcbef0227eef4a5d53738e91026e8d65b26da22121c6d0c86143ab5a9f9a138e28821a31ccd92a35945adddbde0204da23e9cec7a72c6f88e7dabe1245801c3051a28bd3c4e942f79c1ddfafe8871916b5d5c4e448ddf1dd87e6c0b989543537f680594902b72bde5b2b77140c1994912ff9319ae91ed5305160dd4d129dabe52320d503500a60e00b9b2fda3a428683f30fa3d98ae20891af1d622468c7721a4f3ee7a1a16827155d6f6bc27d01b975568b4b9eaa774cc699d9ff5d97b95442a54d3aec9b8370aa92f9b285cecf27c3caa8a8282c7dbc76b58a0ec2d1ef14080878c9a829f7a96f4af0e7da91f44ccb389095851dea12b1c9ca27ae89b9af81ba12e0e920330ecb97151446dba3a2ee7efc9f0f82761d49aee1a1b65924cdf73f30df7217da066cb2604d017cd815c051e84eb7245e9f8d8065b04e679c941453539fe01758c292af6a50839e9198763ef87c1728e6c983ffb7416a85783318cad39f8aa1e7275d422f903214c1c37bd896dea82d74e4e7bfa3392d6106ea8e74f52872c1225cc7631317f28384fc6ecb39d867dfb368300f06a10b140cfe1e4e07b4e4a21025b102ec5cb9adbca85b2d6674500d9d59d6b60b72c9b03db9a8480e5134e488efcbc08cca55d019e1b02c8db1c08ddbbb414d368e52e18f8a60682be7239c08938a5833810d6caebf51f716b4917c370603631fa3152f343d7d35f9ce778627e4a81b59717b8dd3ec5255e14ddc682ba00a824dcfa3fc9d59c7c3e553d17120631c340234d31fcd2ed6074b75fd3a04a13eba6eb28c07ffd90d06fa7b03b22a2f3fdc05defb72857c3f6d9e22ea3340757eaf567d50fa836b97ef172482a3ecede20263c16841e412cc3de12ca13e1959a79d1f57eb86ed358f8b97d70dbe81484355664d7d3c9bd59f6975a3305257a116fcf92e43ef7f341a591c28aed54511c600db544783b6c5804914cfd10889fb583a023140ade011fe8606374b89a461abbbb71bf4cb168758cd3aca4b1c5bbedf6c53f04d87a40d1dc3cfa9fcd0a3a12f04ba01d60206b2930959f738db0c8f0a5ddafada51bd4390f83b94a9675d97e7367a2b5b4e51a32675bfaee5c65de16ce6ac2e563f985ef6ed9624dde10014f822aef9f6a19c01fe568b3fcf6dc6037378d2bcdd97fceba6c61667e0f4f51f2983c6070e64890ede912139e25a883098a0e6b7e529939c99dc8b09a1edfb161d391e5217d8f9406dd697f85e388941f5018881f70dfce45574eeddf00bce1fa510a0d590a5c44b3a00de4292b0afa15f91b76a585547e54a3342d0c608f9d610705f8b4e90aed168f0ddc35081d4531e2bb94b791936507124bf8620a93575e684f27428e4359e9d498e512847d2318921ee6983a4b41c47183d5edc572120161ecbc9ab15eb5a979041f4317c7303474f34692e0d178c84b485443ebf240fea496771f6b5660539809fc429058dd9dfd23b4dc58cb42e0a2a6ac9fdced14328b4ff41a4a864959afafd538e7fc6c4c240e5d4c3d8ada04a31ff2cd7e635de7abac1539087d9e7004fb6f9e4c40688074073ede36031dc4886d57d9b57eed6d18082b4fb18284d862baa47c29554faded6c6e7d37ff6061c00fcf6a8ce4dae1f5bc4f84abfb54ad5b6eccc01da96bc13f4e61bf6d89ffd72639d2021c2c3299a20ada77a5128838f9fd6249d640787fed2c1dbb02c0d14f3c418464c838b076558a6aa786a14f044e881d4c0d289c6d4541e95a6574e1ac66c1d7c0afe61619e5e7ce1f98501ef00f77a048682bcb864536769d49f9eea9cee98309f10e51486eed88515409a684509e4e59d77522735b5b02542d6026d0d7db2a52d835b0cd4a6b485772ea5c02cac14d204fbd0d646277a05cffd3efaad994abe149ec577953a6aba366c05c7294e376311e693f769c25a59b6e694ebcce564c74ef7c11e5c166f164be27165ef4534b518a4c3a75a2d603b3af1b5be6969ed5ba45ddc940c70d7c7268b72bb6635dc9cf51f11baa49c2884356501cd8ef42276b38061a807ba42625966f733b836ecf85f4d635f4f6ef2c86f6ac3979b82586ad32fdf831f0ccb1bf05cee99bf1fb9b87f5a33c6dec221493748b1ddfad59f40bc3c02a0abe6ecb9aa58013ab0d40c37fc5211656b343f884de74fbc68874edc53ee31bf7690ad9e2ac60ecbd95b37052b1649d02831701d774b602e89eec4a03b867eff61396911e0745b7e2addb8f35b0b643f7bfcc03690b478428ea9c408fe8672df2797187f520b1ab8e304f3f0f32556eb1956e06fb1020dff959321a941d712184633cb628fd36e2ec2d3318fcbf1a6555319930e3452de59dd1caf9218cbccf101b47852f28af68a65491af942410126458c0a768bb26a16651dd13d8df760fbd582e1471e57675747123d24e35d1eff076f3ab5d996463e26377173f0f3004e66a3756d8462cc05c4d4bc05e97a30206667a7865f9631d5a0a9f590b2e64b5791db9b4da0334741648d2b095875a9f4efdd72ba65936b5ee88228f6c2b9a18afe69696c52ba631e448cc3086203adddd2f609053ab946c499ed37a807088ffb5682b14fabe9cb2089d57b149c9b87ba7cee9bedf38cc1a9708220a75ff06b6bd4c3a3b0e4c760067354706335a5145a53d3e72f5f86ac96a8578c9f94c91996a7edfd28c964087f121aebcaac250893dda0f1452b56d10287948572bca10e001e29035f70716afa3bacdebdc804b7f84b516301f20588ae572c2e207fa5c0d98095096e5c054dd16ea641cc949965849c9bb5dbe79ece885940d77012621bb034600f777ba62caa30ba06e4d5981c8c08867afcb27a1ceaff09577e06182bc9fd5a4f563a6bf11b14ed31b9d9e60aa9fe20065710c66fd37ea697a06a536292dabf51ee58da5dca4a3d463801847ab482da87348639bfce3159fcb1e0b5290425ceca6e848e7d74dca5eb765336766e721505914bc80283226adcece41d00f6c5df3bd88a2b561c6ff0822856d37dc5c47961eae7f4ae4daba2c86fba3387b3ccb1734153a54ee93e5e61fa057fb4a9e76b88a5f001ebe70465fe06fc3cca15bc0052b3a727e6ead7a89fa6b89275a8cb4a3348fa9060decfce9f153a5cd252c4398ba711846b6dcdc1d0e57422f5e6591872eb65c58e40effe5b9b7d681092c854c14ba877ad745412305f8a3abc214ffe36bc1f59995e335c10ce303b8b1d27dd9b1a39ea104c8a5a72aa19e4c2309a246471eb7972698c73aa4bdd14dcfa68d13c891607e4e435d90f6d3398937f017657721fb84bfea75e30c6ef370c56b275a0283ed1a3f679737aed726c637479de12b9d8a10f828303f96d9bd48db68c1c1aa9a2b769f780c78e820fbe27ea5b397698e43b4bdccb94838a484f18dcea20f4ff9ce7e85e74dfd68683f0d63140f017e97e614dc51b8bf77b49f63b1e4d4d2a58bc3a6443c456a61fe22ac1f8e6823794a1ab0af0b621f51702664b7c88e0a2b6ddddedb0cd361d1f67c4925e30d9cc6e04902834c22fa6cd88fdf3c5462477390fe848f139e9f7fe5effbf63f033b8cf44168f43a827d0ab1defd524b3598f88ed233c894eebf7089d750574465803cba02a66de60be88c0c398f31c9d2cc01dfdaf6efc707d2ac91beb6dc55a9aa01fa15cfebb8bb46b7a6920e96b39f660a002e0b34221ba5fdfab4c7fcf3b144743deb3bcdecfda5d7d294cbacf1f128bd8bbd7bf282987ffe029e5e85e72907e7d555f4406302a59e522172cd9e6d5d70dffa42b9045df16086b807135e792f22d494de87b0b8e55b7b043db7f0d43cb0a02f604ca5663823e5bc0251a0389ccdb2d0cde0af1a431ddc8d4f089e42c4429ed838f61992f0dfcdcc1465a575416cb9c4fcb0f711fa7db7c671bcce15f4d84bb334094fd63e1e2f0b2adb266316637d7b9a476ef61b395ca17cda11c57f12e221cd3081a61c77fd6077a0bfa2a90c035902c6cc7de9435870dc809aeaf246549f5649f2ff2ea9d84cc447c1e46544a47e9cabc2f6c9176874759bbd25bc58dc57341435f7f4d5aa7fde3d426d4297f896911d038bc354222b4c44c7d6ec75776f8504b12244edb6de5fe2b2837d2f3667f5ce0af9abef8c504cfb6268b0c901294087687527a0c949657c84c6e7287a25637a5c1f87a8306061bd36d184da47175d50f291f893903a3d74da4f2065a56a7ced30e118bf4070b1af082ccb8efdaedecbf829d663a7a0dfdca64511ae5b8240d6200b1a8c8545d3559f5e6669032c9cd33212bb5e7619c2a46000522ee1fb6d45c8fa7cf43012405ebb23628da818639e323b43f2d6781200c24a75937d24cdd0caa9d07d0198c9d474d9f520a71800851f2d89faccab47b53c014a2916589f2d1dc4bf213890cea4fb31762cd0293474b2c0f25fc973add386bd688ec7a98b050acd5d76646d4e21f13454c74d6cdef47c8dc40edc929b28abafbd45f7ccf26878995ef3aa2f4036fedf67f6d3ccce2bbc9dc557f6a14de006e3b9512dee2f726056cf1c00d3ddb776f75fc4922b4d4ae386bab8ddb07a52c2907e159c71592833c886a6457294ae770feaea275f9202901888a9cee3dd5a7f782c81153eab3c353298712640f0258af92b69c7ffc696a6a86efae43df739564c546ca9cefcb0da711bd58a0b027b4d269d2da27b9ff6bf081e8799b6456a9b84b1ffec645ae0962a37107c651a3fb6dbff0f8c127e215288fb32d5cd06808f9689c3f13534516b41e16b4799f504ff1b6b20c2b02ab0f2ca1a1cc582acae47f1f39345d73bd4ba53580cb18e05055e445be14076eecc95d1c50f984afd11ed78f1b3ace185e4c2e1509f99a6e1d0c544fd757a9dda1ad63a05f083e69adfb30bf3b214437b281116922db84a8037493581e51f9094cd08848521d9de616301c09ba5ae1e832c7aa8c159629c161ce32d7d248bab03dd24eea92da937b122a7957261a20adacc4fee06176768ea36216e4216fb4e986fdcfca30de4a1d4c023344982e7319d6518edb7c1c13c1350190a8c78fd0585fbd5148db60c1d670afaa5858c6f86282d583c707251ded8810af886e1d968f2026a542299d27c09c713fe6d6fd784a5970d1b868a227458fabfe777cbc304f2e34542bf5b89069467c61d5412783a9490bb71e6e43f38dfcae74c9100863b7dce13c2d9f7eb3077d4f3507de2b05c6e19c4e416f60294a3e93d442f06a09bb3ea83e421505fb8c2cd5b87b4785623421943391ab440b35ae17122a55326788fe5203ff00e1c93dc83585d10f666599031a1d9f4c1f00b62e76708c1aaf8ab164c20d76f92a9ceffd9c68242e973c995e1e0137431d5e6c23c52bcd44d823d07ed9633c46a59a20ae3ceccaa02e5027b04ef06b2641cdc0cd6054a918d7b73df3a47e99238b9f851c1e46fe958559634ef50ac56621afb35e8d228290363ac75961aec27778ff51db3f2045dd178381304c8b8c773ca164e46b982e0bfacbbc7594294f59d1433690f3d6cd952dceb57051140402f26cc945e341725a98f3ccb94b741202f861fef0b66b21eaaed386a546122133c0b68d7e6feed949d4a93a8892cc2fb7c18108d07786109ff12559e07578b53742678c4bbb1922f3ac9a9a247f93363911f4e99d4821bb0b69f92a9b0f843aa895fde0b628db4e4a6f697fe47eebbd802a19df9f8574c4e7d13a7831134eb4cb8dfffb70a66fe5dfd63f823974792ca20d9a894406c47d8b89cc26519d8b74a13befc1bca22e2ce29f00d582a383ff383ec43e4492af4ee97ab56f65df2fb5ac07409a2a9c4f66d48ddf435dd80588c0b5c36174cfc154fa81e0db459a7efdc65f161f80a6d93ba2585275e18ba8254c136a855de3197a0ea057912706da7a88c12a7c45154097cb2150f21834607bf226d31c9ca03e3eab2e683d62508513ce1a67819cf6869bb74c88ea2e9e42f3c6c5412e2db2ec7c99db5aa32b1459d312db8ce9b65e89f8bd1187507dfb842cfc12e08fe735b394a50901100fc4d29cce08c1b18dfccef6cecaeb57160ef2524dc388a093d5805c44218c7d112b34cb5f9ddc39e323e2fc0d11015936d66fdb22e8419467bd9782356b2a0d9156ad1e4a549a21be99d09d6237d7ab9bf708d1e6c5e0f368e60a97cba9cc755fe02444f4b46ca5d7c14ec2d00668f94c8eaa43d6e447776924587e888d45c6b6f8eb1c6077eae3b0ad90edddfd3bab4052394d00e4125df8904a317703a9cd938da83c9b34806023154b99764f2313ae1321c38f56abebad2410f4e2d33731a7a908f4f8755661878834f7505ead81a3bce1e4d2981d9ca43a1986abd800ddfce5113c06ff6b0dfe05ca52ec03237328491e8af52de9deab038de689735545d08870cc1f34ea87286034fd2481cb3408f1a9c832831b37e6647af1ad959cce17257052e36bf6aeb24b2fc547ae2b21f2b0634a568c6c9baa5c962396a45e4b39ef6bc11f169f56e4fdd2f39fad1475f19d3ea4ba8beacdc5e24524f10471100a0e58b3ed65ca77d2a8460822bded8094e918a0459c962ef2a3eb18d7d1a806b891fda2bea2222d8d88aed114c504a56128bb8791ea841c2744b133e0c7efb5faa2c6b9d28da1864d03904a12e0e680adbb5eb98d0a198fc6941e209e41ab59bc3a457586b66d2e389fb6cba1fd701d8d38b607533c364ade5dea858f9a7b5706d1a0eda2918d2a3de9faa10a0956d755d9e0e40066a41527614f8535efce0499b98c8ad2a377d432d51b646e0a1d676b1cc187931275d8dcd9d9abb8c6f1901ba65e7e5d79ddb4950a2f5b4659afd2ee9abd9b527a3d249db6ce81b24e0989627a6480e1041ca9f7e98a457c04551e9aac36f3dbfd582f48209b5ff35c96a3308dd122304bdabe8160463694671802987d40c90349bb653c08a5745c58745e82fa823cf29aeb431c40120974993f8666e9ea6c45384f1865bd78060c99c8499c7675fba27a953be06cf0f5848610d88ae30333c383e5e12a647856f262abadab19df01b457299559789edfc4798cf06e2aad29141926456b4cada8a73424f9b4d6ecf3e60fcea3c0a5c0e81b705afbd9ce82d1a4cadaeb7fe85a7320906ab8a9b09daed11e9ffc8ac6da15934f30de9b7883180337937244a042eb168ca2535872025fe0a6b10286cc46967fda71eb070a8eb2a21b7346f298209f09a1fad32355569be69269f0c1741bcc59f08acebf1a3dcb4f7bb1fe2692bb7c01e2bfb1d16883914770393552babda325b3eb192e65089b243e9bbf37ca9c37e57e856e8689a09615f87f52607eec7b5dd635a42abdbea81de3141f4b222459171dd83a6db15264a8f76805045c724f4bdb8109aafb453d5e89f5c1bc515e32f75dd06721cfd952d6caad489e8f9dacdc99337f7283077ba620b1ad16445db023e26749a07a08c337b09ff242e0c6806d8d7ff04e6364793a6889a9cafbcbea0f694fa857a5e8e0de6f87ed88dc73caee942235be76e8e933d9fd0cbdce1bd00507b66271649279c4520ccdae7af03051d07e48f25bbb5b88be0a2063a77df5086a246b224870ca51c7d3825c646b6701f1564aab2226ebe57e00c49b6604d513be8f38fedba331e75f02bdb0d42286478f5ec6c433fddeaa23e589b3858e69dd0e80329ef90bbd6039191c37a5a6260773b1ac3014042923714a9f50ad78fd10fdedb07aa0fd853c85103028e377d207c7379a0604e1f27764642d6630fc8f06bcefe6ad8cc56972c28e1c8d03f6cbc754860e27ac0087874b3e9441308959edcdae7b32ea22f28e466845e76338b606d3968ba1a7b971d7bb11550a85d56ceba70a5195be4289510aae462ac0946b17eaa8f128f1cb36d20a86a97ba9f0da09a2277134dc3bca1428fbfb72bd853c09a12739f9824aebcf3761cdbe62dad727bdc58cb00b9cc72fecadaf2f08d5d87be77853febd8e08c1c92414ebc8eee8ccb2ab9ebe6e5f0b4e47b7cb66e8c560366b29b7c3228daf001bdc300ce5e2e5a3ef4842ccdd0da5daf5515416635edf7bdc214032c31e52938c68a3c5a4304cb2909bd2d41f8cae9b02d842615a760b703be032c0fc8f69b5036c93ad740857408c315baf5fae0fa8363361b8eb70b31cc3bfde3ec29dbf7231c7b9cc08ffb191cbffe5940bd35bd1de3d90e71d6966080744370a5d4d9860c0e3289d4d075b2706dd31ad5a86093a4197de05c20348415b8f0258ae405d73bde345a1ecf9a6b1d2b1d9dd01ad78dea6d8841adcd41f57c3a32bfc6bb91f8c42ebd0f7679425d7f1ebfac9654f18e30705f7c2372b4bee64d87716811a531acbe28728a9915a440cf9d08baeeba0465a327cc5d35dd505336e56d8738c81d4abdcd5a7246d7adcde40b5ad5045d067d5e3bca4fb18ace61f3a846d9c50a9e7050a1df17474ff70a0d7801f2edcc37cf9a1472356f0ff81c6188db221c92ac4e9484aae32907981c73dc771be66ab9b0fd9f8059f5eded0879a90846ecfcada99095c18128758017f953c7a31ed800dc80d6735fd722642a1ac9676c5aeb4b7435222b3a198f75f384f07a3b52ab7ff1a4076509cd48c562fd4e0d3c971dfb710b4b761121b0689be18944a341600e3e81472fe8ed4efddaac137c644523fadaaf7a3db519e86e2fd62d0ef8223ffc452f717167a9d3b302f91ee69bb60a93f0a93320f6b79e8669f7b25958c6608df6cab4e04637600120139cba744d19fefa3558accd0f78d94f3013a693b9579332bd34e0fae99dd47f1f3fb2dd68470150e94f33fdda747cf33a3084ffee1503d0ff966b8aea978d570885e79f9d08355b26a393796c5a203f97d2ff3a43b98d65fb8fc350c7a3de0e74a372097f4ee0152738eef4b23ef48a80e3eb4fedf9e8d31d3a2f2d7a5668a9fa3f91aa59d4941445999e6c323683c0c44218f0f3edea7a07fb9e7ea1241e5dee13b0e62edd65644cf22274da072799261c229896ac94242760f5f47ea87ca682b7bd1ef28195d8feda95668509f460453528a715e7917090de45de8f59b7939e3277c4fcc0728098f29819086a8c2f946a11080c9fb935cdc4318457e5948f7c7d0d500980c1aa49a6976ce2625becea166cfb915ca35858b664a9eaa404cf871cba5ac1a5665f4ce6d1d6c017632ab7947cbfedf8b76eecee178817018174c214f29a85be76787c5f087cc7f42c6dfccbe306875cebc99e7d09ccf648bd176c2897e816e0eb42225dae2f5db484080ae150be07a646177ad03d71e68257a939edde3ce9bba393e201fc3b3a0e1942f4202422cf8b6f2a6f7979147b16161460bb157eae4195fe92bbe8cd2cf4374e43eda66e2c26d4ac1344cbdc4ba355aa75b21bde2b481068ba70aa91569f1c8bdc400a82dad3c6bf16f199d76bfa2bf6a4bad4ab918981c964f7972b3d379ac7b2ac7d40d2495e86eede4f889e485c3600adc26c24a57b1c1b3aead6930a158d486d27494b36f783399cf299091fbc9a7495aef15034713683f7219b69170c763b56d331de0674b9748a2a31dd0aecb39417558330e981697eb2c1c3376ab624a25da1a2593ec1f1264a689f624a6f643fbacafc82aebf2e52676e3daaa93b0b6975566d0deb5695768682626f6195d9f0ff7bc605bb30ab9f875531cc64f468bac6f6fea6454030a512f30c217d9c99fbcd4fc5f26677a398189d6c4f505cb9f7c80096e56a617653f5146d965eec9cd3951899a020e1ead4bae0a6ad9f76fb04e337c90f1d9be588b72825e12318fd1f22571b41651babc5baafbc1e7634317a2b12b3b7fcd8c72175b6e755a8c602be5932586b7ee0258a23a518dd3f9cb032e496c3e99b4f32616262d9f575021632d9c08921a3c1e25fb1465f3d3e8eb1e1249fb396eb3dbe82bc257a243a3ce0ba6288abc16f775af6076f52bde67667cca9cc4ee62d5e6bb6cdbbb371f20a6e46ace8dab60cca24d70458cb4aae1b14a671d9ef6cb38df9a165d2a51b08044e92e45f216de8ff31d491bf784f553bb87fa696abdf4751bb144c7dedd4b51f54b27d6182ff8c8015b2efdf6b56d23040dca43b83df4fcac56e5ec2034985bb89e76602e61669d79555b09fd3fbfacc6027ede721d34b8887de6b785733c1b81a1667d15ee3601edb7ab4dbc2db65ae5429db6088fb700ed3e523acba382c2d650fb5e8d5dd971e50baa6aafdb79aaf62d529cc2920d0b88682bb8a24fded998b4850b75b0fccbab8e02fcb086ac03daa900dec0bf9013c40055322e23ec6d2c8422edbec92b937ef1b55ff3d43b6eba488f934eda0fa2e906723f5b7007a74ab2ec0bd20ce74faeb257d5d2a2dc89dbc68b9044e9c186ce20cd054c2deabf7f8b9bc0d249ba34f09102e1b2246ce79d8c3f85abb61c805a9c00af99fadc3ccd6aab83316c2dc282134a47a7b12a80033106001f43607741cb8e89d3d5989fda85c59d3c69a954955d546abc1f24bc1e136ffda0187ae5d78eec5fb40ac0cdf04ff18f95cb56dfcf07e3bfc84afd1d09ee4554a5b9a1c8c47c3474b958a86ad20c6439c82c9b27dd7a80bb4859a67d8f997a1bbe410afef5f2315ed0c4361d02dea8698fd70cdcb8355dca7fc1ad98610a30854674388c86a10a57390ac81376dfb811d0a5c2ebab856c4f054a9c893d86dbdc25f38e1856f4a415a57941d5cf1db36756c2e2daa4a8e7083dddace874ce66dd87b65595f3624717ada2880b42474586c7476e8bfb5d0604dee5ad010baaf26810a6e4f3137c22c4e390295094b5e0bf12cb06c03855d73a4e39b464755e629bac670b8a8f7042edc79bafc9c3b9d0b352428560e0e432ca141c18bdc48ef0e78729e14f34a4766b564da8d930d8c496cf61eaa250c9e4ef90fdc7a6b3a1575cb6b39d7539a7612ca1d37ba06b64afc9f5b7a6a7fb1a7751c8d6218f34eaf46f43af32f9141dff1df9480b744fc453f93ad318a1edc015ca0e3e02643319f1b9edd148d875c71ee981fc9706f7909fd48af6a6615b5b011916835ebd6cb331da66a65c1311a893cf168de8c4446fab30e58993a17463df1256484115055b5c07615a2503e23afa3a8f6a950e1e40c3339da061235c25ca221d849b750ab882d8ca5142b481ddd44832a36d6f24bfb7588d842bb227959b1baffd0b94c76d1194257233b0f72e691600c61e0d3efceb27c5117279d6c6dbc25791e2bae30083346165e797175f198f7050cf894221aa200017d5867674800eb238c84316281a646bc276d52ff41bd968aa5517790c44b4349c77e4d78b4018734a5cb36b831dae093e1cbc94a961eb995538cfa6707d82f4720ee85b8289a3767bed7b39f663941972ab790499a2ca846080ed62b7f413612cf96969c4d29e3a19164c0b758191c661656bfe5e65c41965969d30f55078f7455d7429ab2eca964129e51e6223e75fbdd6c082eb08641f1b9a88547a57729b32a58c331545b894d24d89037f836666f6c16af6c724ee8b06ec688e0a4fa42d87c2deb11e74a8a078881bb515bace5aaa5fef55d47620af9f00dc9da4f93e2e9994b532217b32080cbb6a6dc8f5addfdf60dc339b157ab772a7b1279ea43b470f4d93b7da6cf944050b6047facfccaba952e2d9f8e23bb8af9748275010a0dad294783ef30c22fddfcf4b0b5987cbe7b6b808ac9c682957fdcf924f94dba9f2ce873f43d8bcc852085bc83387ac244d47977ea5ce657e85078821dc06973a17de123d17c29d25078443ff3a4d3599775f1b3833bf705d1de1cf654d12ac262e96129b632dfb383f72e2f4d75d0ae3618d8afb941443da5aa719b007e0028f60fb19600fe303df6969105cf6148734e54aebc3e08c4c67ef577a8e412b8b6024e96bf061a25ae2e095b1dcf64d15ddbe1eabf61597185f94c84a31a3410c3a892dcdf3508f7ab6763113404b3c03428356c78871e1d04ed9b325780d00636bd084115c07fcf38e7e140c2aebff28951e8ba50951279b0cb71608956dd5d2fb31ea4b6e648ce363af3f5aa6a9b61bfab9d147b50f0ed276957b8fd7aa6cc4abfadea99219b92ca6bbdb6a5a2d7f481a088d1dff839e3b6920b57fc3d503daf545bed1ae75ca5231375f4f95402184fdd615b24097be2547e6cea7149b44ccda44235d28a20f3335f9626f472bfdbd013e181e3c5cf3cdacbc753e34d2f2e59c9bdb2b58b8d486c30259ab037b187519982edafa0abb75c4a19b7a1210740fb75e99a12c9c7f36cade265f5b9596bc149022b8e3fbcb5c2a71619c71db242a9504d3c7548b217c48c467f2b74f40b2c41d49af5e073f0dfb94636e40e4ac780f8fb79cc0cf235c905c55bb090df98348d9a68e4c8894c58ee6386688a8986193b485ddbcdb0cd95123ae08c55856fa0a720f608516335f5008fb34e292ca4b6b16613f942c75ac90ff43a1bbb5aa8be8e61f1041a78fdd600e82df4e563073a91e02c40ced7ad88c7d9fc82c945796b999e10f0e0fa50b9515a23c129394ea0135fe6554700f8e9888e88bc2f9904b99a241d7ed6a3901dec09627d859cc92c2d55efbd83718b134fcd3632785a25502157356c8bce965c531d2c382c3270187a9b09bdc775d58f67b7326fcdeb0066e8c128e7c1eb2c3636d5d1d792a0ae3a4c77694b46e428f0066c5b801c2ec10256af3ffbbe7f94217d737cfdd715ba5b3d86d93844fb7f8364e61e674d218306f7b3aa7d9a01e5f5a994d2578c84694cab0eafd13ece15c4fd6e9de9a8d7fdba30e0343eaaba508daf9e8f8e70ca71fc15c1b49f8014a74078bbae6f8e823f37dc7b8aa1bd063353b4d88d78b34bef8a97839260db4ef9ab4ecb369afed8a2c0de51e471f7ddd708a32d938b380167b2e7328ad3dc59bfa6a2fa454341ae4a370ddc91fca2bf04a6f4253a2e2ae97cd60323594c199baedf850724454c9deaea6b8466f69d1116aa5a08e64419f7d0d26ee74595eb3da25144a4cedfba4737497ee4e8f86c49d6d6fe8f2ac31360f9f514e1c4d3ae30f1a1fed8c833ab10d2cd0f70fe2cb29d84643476877bd916a3c32a57e02acdd9277f2d51489e5d730f14bfc21d5690f3c5f4a6b2c8a2f961cb5d6a9d207ac7d20d7e962bc9875b5b90d17e08d85b7f7448892a6cf374a86dd6d6684eb09cd0ddbcc5ceeb5ed337f0430aa33c3585d0bf96b300c36c18842e918b6ee51a4962b31e68bbf3295bc9e5aa9624eedf3ef27768404f95f7488c4df0336a8f1013d63561cab534e24a7799f080868f2791c2bf44b8c277a6e8f377e7367a1bd4138afc751c9a2342bc414a6f2a027db60157af03cad7c1357744de8882f0d229b00d510e45ce3108530669bf67b328dc0a0886e574c5632565b3c0e6461a01e5cad6dbf96c67ed364bec9767395836694c459b53bea1c1eeff27c7368335d68c4474bdc63922ab90a21a6139f21dd17f6b0fe64bad9cfb279b69660a5f9c02ccfe14221ff257600ae70f799b0114936d44f241ffa74ea372de3e396d4fd80bc0388b47b831d44b9aa1e80dda3f3650d963bdb598ac83cd384630f8f6ce79d0d13ff2e0ebf67a0d93b054cc7c293e8e299ea4373feb417b83d819db75db143ad54e76f9480fcd32e13224c051468508d9fb595e88b04f22c6faddfdcabb788ba1fe55ac28f8d8e8e6904265c9b6563a574dea917392079ba5ee83091972404124a985c3f21cb5760d07eb78965aa22418f5f83388bce2af68ffe42dbde95ca18b9da72c5f249964b8b920d49844329f12ba1c3376a6c6c14d604a83a7389267ad5fead247e963e6eabfb8478439b6a2615313872b2877f16ce819fd9ffcb434a5b1de58a1f49f3b035b2003757aa8c4d64dee885e5654de394e8f8b885a87792f4e879d4dcd39b15866af8a83685e7cea495c0e7957dcb81349d83801a3c5645fa1ee352287d5134c80506692de09f25be888f81d9826bd4f5516db36ee22fb4767b368b84dc355a7f12a4a69290b5980f6f5b1d05c642d59196ca76562fa31d977bf250a04856ee1bbdba4760eb0fcaa2e31173c154226414bf38b001a87a822137540e48a85a7f98a24933a88240f3fa2cb1ec20d4582a0a00a80707bb7efd1ebf96d96b11c4fa196b7dc732d2d5e55f534c5a6346db31d640a0d66d5ab73c27cf6b20d07c556586114e032258cde6693808414d44e2e38ee914874a138c347815b161380702a059c7457180b28b10aa81506cb76bdf5087dc770429d536c5a888742362aea3e6d6e37c8c2d94762338801eb2a6e0ee79bc78579e08e562a4034cd3fb0615a11ff4de5864ea610ce43ef0103e15c3ab8b0be7a233f12b0ac2b86e8ac505ad5219d145689e45b45412aec19bf29cb7f5d1232295c5abf4632b1368e306ff6fc3d270e43ed26d559b4010b75add52d45436d784184055543b9ab7f2fef52a9e2c75a8507b90c7ecae614e947b0b686bfd4503f4cc43fb3dbb46bece8d7cbd41d2813308708ffe5806b4f327bc1d0c72d4e0b9dc037d514c60629b02c14901e8732ec5e29316d20e9ffe5a460ec70668142aea7ab9265e514df9aaeab97757b3ffe70303f2f2c4bd2088a626041bb67435bc3a72b0432c4e2aeb0aac513059b5e837fffcc790fc21c994583b3e6f1231e465c645d8e59b98860d3ae59ecab7acb23aa86443f0973ae09285e77b21a12e58d9feee53bbd65382355e7c403d5cf7adc7a54a13c2a5c0c2e5a3afec10e341718d2907b7f39560b358a4acb555adff8cc1c124c80357c36c45558c99c52b1cecefbb9f1501d124741f04766d310cbc07f0f5442f92573c1c5e41311364b554f56dcf784ae6124f92da1015206fcf6912f040df95521418139b48e3703d59fa9265b976a4f054fa1930da2909e53239799b326a09c8c8ad74f5b0f4e553a0c6bb02212d45ddcb437a66983385c24b02979ab7ae63de46e96b837777615ca73a37405024db94c43f72fce2c9993299f24bbf9f64dc89eb8e82d011cedc8f40008ede8270754a886620dfb7904ff0f61722543b8a15f28fe1e7483a505d0f6a44fd8934066f254fdf7c47b795516f6df8cdce2dbd6e3cdb6593c97fd0d49f549f69c5fd41913a37e36b85dcbaf55eea97e14e54865a4e5d2ef49c76a26453a37b047b8863f0b757a8bfa0ddcf9f3e85876cce2f456181844c2de27954faa062e39328dbe23dd59766d6d23082ce2d48c7da30f6458d83f75958d9c3af8c5d7833758b435ec8d8584d308cc1e349a17a63ca558fa0c0e12d72e0d4e35e191a03cdf43f541f2d4f74645b304ea80e56c75197687059b2db55ee1d01e861cb459d8d2a256f5445b6d22b7ef7d4c8e2e9bc2ca63db5c8380a1c3b3f61c42ed695c998fe0f22d70f2169308651edbdb26222d7a3c0fc3ce156908f9a00fcca06bee367a091a0278027da861aba2d531f67a74bb35d40c00e2fae0c603c97c3f26cdd35711a57937ceff91a19be85b054318ee8870fa3538ead88e10fd45301793843c7b0ba44fa3f08ed641789cd5793f1767aaf08b364ae3d3d44c5fab887a475e850924fb33882c61a4c599bf3d5f9ccaea86c3c91b84cc10d4bcda65c18da4e78bff19ddab4181c1ca1cd4fa10297b675c26482cf07a71697bc18464664b6d8d6a02f730004dd475065b33d3749b80bfc1e47b64cfb6cbd49fc1c5f4402440c0e2bfdc5e2056f9df12b7222e8d058d99ec690cbf2be45c11601706e02b577f069c4b219bdad915c2ce87b8b1bfa90a536c3ff89df5c1b4fe7f3d14d1f30216bcba9d4ed397c2ddf067e0459f937c995693171e8a030f2af497825fdbd67bff38aeb35a8646f8094bb4d18f178e3e3cf5933dcdad261a2be953c8a87c99846b38b967c7a52a041da1035fe1875d565a2d18b57ad98950e78bee402425af0edd469af9dd2e0bffe3fe3e523bf6a6bdb1ba2c8ee9b49400a3cd40dc00064401cd0b67d0e22451d51984273c534ae85541d90eda9d08bc2af625103b6d8538a9bf6aa3277661745e8580560ad2018b9679ad04ba45a6533d2455b747b2d339a13f5edc8031c03b1ecb3bea1cfb2e27affe0efa139beec181fe7a867be9615d7774295c1520dc8f991fe7fb83a7ddaafb727b44392912277188f059117529a2c110fc6414996970ebfcf59ac3296b096655c5e693abbc83e0577005471e3c4e43a1b3e9648fda6a3f32a0a8a9569b7f47616cc5e639909e8573cc132fa9ed8d2d03ee6cbe7ac3adb2c79986ecd5c6512e04082bd2d886aa9631db72a377221a4b763efb7f91799b9df51b6c1e94d54e9ae154f2dec8553575f75150eac75ed30cce501d5b08af37f1a682a0ba224998379b2ebd922718c187094fbe3b8467573da3522b37bd02e48be1e20d37677811d6df035c7f827d758630e4f9e29f4337dbad7ce2e766ae80a03163c6014ab2a89fe2272d7d1fcb74e581e7069e5c248802e720cc4937bbd7350ec3100c1e575c69c1cd0ff010aa5a30201c66798a0f8cb3e6c24f3d8148d5dcaec8b08cd10e932274a3ac54b041c0cd302f92192d52a69f002eac2173b667b4329aaf89b6c33c60a749626c79543c94f57d45178f01ed5c5528cbb1d412c1be8da66a8ff1df5175bc5917dd48d55d92ff1827663ea332ed618905d0d63cf94dac4164c79a0202f391338cb44ea502ed868349c69b3d0677916ce3169c7d7af3825c67f394ac698ac47ef2cd39057ae5d6f852f8b5b2dae262126dfaafb17e91c20c88b5fa3bda42b8c4a072e07760a6cb65c628d45ce498d9d98d5cebe29f61ebb3fa18236e3f988b2d6472b47052987aa3afdebc78378efcb3528ad775ab24046e5c72b07982d806ec13ab947ebd91f060f7e86411b29a5ab4e4f294cfb78c1144107cd0cea6a2c71cd45f179766722e0150be456a186bcbfc9b9524a822400110c03240715697b4b8f961c4d0ef3cdb1be28b92bf620ff1fb1fb646a3315f7c51b6e337e5869f3984ab631448420e4dc2e1231fe484b7833c8a9423b7f1033ba36f9ab51b36c925c56181a799795078f7046e474a9e700c53ed045d5af73b8dbd1424ac7e93301e6b86858ba9126175deaee02e866b63488278ac2a82e5d6de6c974816c99a7d1fdba116966dad0d452dcfbf326abff49d184606e2fb0077df4d24bd55b3c9e3248a7454a8ed764f8d0da0b6159e1c2f10380907f36b09a694baad5612d271e9d568a271dcd00214c09ef0020803d77ad2d1e656e7421177560737acd0bb2d51383b5cfae3c9251912ad07793ad0c2ae4be827302d31e4291e905e080506161187980b046ad3f5ae1fc9daa035a426f469639fe17819011a28855671e7644d7f892d98b36b987045b8feab924e8adcb78ba9dee06f576d498dc8dc0ef6e60d8ab68ae6fbffc193837b7b687827f0ab9114d656f4427c90d8921c326c0000862ac3455379f9141e5bc8001d301ca0039df0797b49807121f62893adbf4342cd06745fa3d5bce8b50b4eeab96bd29f1b5d5969d328053f9d7fbef6872f599c05449de5c6d522f393a62e5322e7721f7094e4faa4d18528467eb59c1b3daa1b80d08d020fe8b79daea8a1bd91674c5213a3370754dbb8d509bd07da0a4f3673e3514dadb06c3b5d8fce9f58379158dcd6257c7640a78f02fa950bfee86167ae1b8649a07dd939d7c3f239b3675402e4ebf89d6a89fc4f7e38bf5dfc199eeafc06d0bb0d0121e44e4b294b7f3a5dc36747dfa16e5049d730a4e69087baafaf1d9870a5ac981c3443d4470156772bad09847d90cb7b524988840fa2adb82b288d706e5aa1ea65b55a2f5fac6d63513f0f184d0798fd80b70a4b1eb1ff56b9f33d504bcdfe900c47806aa43f8a8b35e57063b5e9666edabed45811bbafabdd00ca4116d39a2696d2baee12fa0bd1cea25de389942a0b581feabbc09dff984134b386dc85e17edc62d67680bba19af476f519d7e5f486c982f6924e6894a2aca34d21192663baa80dd6fac509e7974cd9987fd20b5d7501eec4640d1a194d8e3b870542d7bde1a82e77139829656ea866994a69acf13c28704276391bb25918b172224cd4e97d51ea1f80ff0c3611d540318ff13d0f441e22b50c043b63578fde40b241b1ed0ebd8fba99f98051e2f6552966c383f259922518f7929c78761dc1095831def3d572fe89046097bd05b0a597d6fa7070bd0ba89d1db30d2d5d2cf7c6261cad83c2d64ec2d9bba67a97fb976ce8de55003f123456d9598ee18c8c777f4f83ee990a41deac678ef08db8a20f95141b42bde25205aba883c067aba15e27d477685cf67c905bb1a1ce3936fa9f67d5966fa05c5e273b92fc28646e76041d07ac08b0ae5890eb44726122cf42ce5e01c5fcf4ba59879de50e7c4eaf5658a94275c981c9955d1a8fc082fe1c43c6eaa8bb00ddff7252f6ba996cd27ec3b59eea71e54431b2d64175675469d3db128497e32f545a6c956cd8984dff303df2348937ef1e6dd6ce7f7ba1ae29cf9ad6cc873b6fffdd536caf1101c236797dd3de74b7dbad091ebcdbfc3f72c636867a71ce92cde9a82eb63a0d512a37bb18f960407254f98d1e03b9d0f9e145202017e12b0fc9805af78e9783b4c7504b4bb803f9bab738cbd98036ad488278b56391332cb79de3541335628268e210c80a1205056ed1e33233fd67c3e4b9e16171e9ff3cf42df54abf0a3bbd0cbb497bbdfdc68c8c03d73763cd59112881103baccf8ccc8b934be4a7509abc47f383de8ac0e3cae4e7d52628d1949a5edb8d4aab954efdea9adec7452fbbf8558aae7c6e2426973bd8afc8ae3996e7164103b8e53f4ce7186547be2e979927373937206f0be790ebc6ff6329c658c78e1eb80bbefaffda8db957e51ebe091075b6aa5ea2e17fe5a3ae1538c060ae55d153d63b9f599404fe425bc8ce51dee793fbc33384b85bbd79c4635a3057433878638e32a799f2cb49bc90f05168098319bdadf9a5139de435f9e0019d21bd89d765da253a34486bcc2804a6d5f7d1898a9b0b5ab40734754f90ec7a6118c0d07bce5221477bb3ec964bab8a1036de6678c49e9121fbca3abab34c7613a8ce0c48d03035f3f18a10e290caef07444af0b783161b641aa6800faa127613892152f629dfbe29677bdcffc1ea4c26bbfb7ebfc86f5bd3477ce2fcc055b1687186ad186ce3f0124afe938ba480ddb016c400f1b1960d70dd1f00ee6b306450805e94a59965d19219eed6a0c6d4cb146176134b42c0f79d5232c88d0369899296e9bb2df9ec98ee117fd84c61430ca8022bef0bad9e91357140ab129b05f2312ea73d7f429aef56dc32c3ecdd42cc2dc4801a7b5f82cdf47731296742a8b80fd5cf828fa9373f7c9dd340f349657aae8b1fbc3b1bafa4eef7a7ca1d5da341dd11b8c8aaee755fed8ba055bd30977b60207a560ca29968ee65e538e375bf2ab7387200aceb14d5d6d6556d71cc955173848d6e6f6880f93938283d76bfaeaee4590f25d5f909e80a62e5434fcfaf87e65d9e79fac6efeee5bcedb765d7b8258a0044321f554d9c8c554194e8353f74d1325ef2793eb48402dffc13e3a89b5e6ce27d7dba5757321926d63daa018fcf416c70ffc7b7fe638a2ecaeaf384238ce70fdbb1b3388bd2cba75fb5fd6db8367b20cbef96ac5971c9a56b6f1bc117a664f6091520c6608dfb9ed60a342a826156faadee410599237e30cb336e43ada8a911ba2ade4b31fcdd89d05d775fda177fed9178b6ef87293c7c3a62da0ea7553cf936bb8202d9c1d1a5d23b0275ee14a12d18b16d4558ff1c6796c7fe7a28d1177d26119f3b5c464a18fb1d453a45fd6869b12b3469200aa95a9e11c5637ef14459918a6343d9c89929709489e0f37bc11b59000ad691ea0c985725e85c8c785ab0068fa5c1206c0dd5fad1cdefd58e8474bc01ab8a8a115a91b9c681843da0869897b4bf386810caaff9797035a06b85827b995f7c02e3088ecef3556fd9fc85f04b1a63eb6895d006f5920dd7eb2e4b9e12973c32b82ae52625e65582b00bf33b3a633bfdd59a518092f02457149c7455ece40acf169957c5687f63a96d1422d3bafee09e53fa61140ed8782a8dd88d4a4438642a0c4a178e7484e94c800c21558e77c4d6f8c20c07ce1587d5042c89aa64bf2c439df9191f3a9ee270d556923c9c7e3679ef4a5b919ad1edfcab56192b62450a0f750f806fcb32cd6abae9e1207087a4ed32a86afc78f14b6bfa996fd727e218035189966e07e4ed512d8563ec01ea7b322cf28ba380cee08294385c5d94d420b8a46bbee8d8c00b41321684a0509e45c4d5bd6bb1a1c9e73bf26ead8881f043cd8e7be948b7bd283b9ec74bd4b211ffc0fe5b35097595f49004e6b5c004adc2e5b0a3c8bf27cf14fbf46c5cdbb4feb637ae616582203d7adbdab043f726657689c1a8187c171a5f20b5ca2c113ec1f668cc26765a239dbb93dfe9c1a2384554b68a27a02908dac0efaa9bde646688d8a0aa57c40a4f384bfae59e5580c43abfa3b1114292ca5427ce2b91654a82124d0f0b41b8ef87d26d520ecdca1e0135422f12b868d352cadd061f4649cfd238550784d23090c99aed9603adce15c27753f73e3ae79334da5de120631ce8234336e5b5e88c31894e4485f98f6e64a0a0ef09b8b9e452b2dc50e1903f29e8b4490bcdd5ff6d6140b5a2118b4e6271ae60c3e333b9cd205cde03a01baa411747ac0651ff7ac4a1c2d6ae82a912c6d3b97f0b987eff59047e83cb4de6e5d9bb12cf6bcbe29dce1219bf013fef94ccae0a87e2c8aceb64ccd13ca2c63407ab34307fc370657e0eeaf13d4a5c668d31f57134e78b840c3b175b081865e37431466dac8c7c343e8cea8fffe97372ebd0dbdadb0a9b948773d3fb1ce06a37d8bfb8aff58561807815e5848a30ab0a7475a7ef653f8d8673fa4008d27e2bd388ac69ebf0244a3d9b53b3e2e41a0ed41110b4aee699d4e076adc0532c9f4b96bbcc9364ae800faa9f1fb7b1e663bc74485bc70fd347cafa6a2e257734fdd99c7a6ff7c1d2edf464ed9fd71767d9b519673506cc84cf058ffdae23b56efc6c698ed86f970c9b441958752877f2389edea71a07899c89ec6cb8a2d36a21056ddc48d6429248f9fc60e49b9a097de4803b065de5347f04e7b51938dfe00c90f6d0bdb672ea18ef0779e65547de318defe23c20f68148487e0e24d9e26c84fb688b15970c1e4fca4117ceed19d4724fd5c77ccbc4c0e3b323156e72b69ff1173f3296094c234ddd2f106fd67f861fae39bda7ae54e79d1b2039cb8228df614ddf100127ccef1118bc82da33945c0bffd63462517abf6a74ac9bef9f50f8455d581b57116de2076a9a28c6db2915c9b5e62506c1e331434aa2945d8d302d9984bc1586546b80fc94dfec8cae678d6a728c26f8357ac6df187ddedf181b9547c09f179a5ced3fd5e51f8a6981ca70237d1803e366dc2b4410db7a4e88948633e00cebb79f487e63bc9c3f79d5abfe24179e8a9caefcc1b59e09ca00a5a731889e63b184923119c096c27ebb339137232799b9e55f2afd656647cea3c6fa80ccdcd0ec5d768bd3f8e7bd33303e49df2d007df6cdbbbe5a7dcab5b8ac7a6a586a76d1bd830bfcf8b8abeef88013b4076e2c5c8ca4d17dce19307295b6fae18d3ceaca8d3984ca54347658bb73d4050f4dc4aeb769eab55079fad1855d8756356744dc5c3ef4d801ab6459a194de204c7a21fe83da465a8255b917f0e62dba337cabe4140534ed3d9fc5ac332e01025c49ff730ec3dd35bde0af20c9e21ff2d21c3d2ec7177e5774e1c413a8c673b3864ce8c716a96aad2121647829f07bd8faff67147c73982d62f3c12134a50b2b5710d046e2d4d0f7242c8f3754903402eb0a2e3211fbb80da2fcb75848c7b319433ccd73a3bea9f05ead0c593bdac72d39796232a8b8cb087bbafc69663aa23b3e92efa683d8d197e669ff16e42ecfe0d05d581e8050b850143bd3870d607109b3693c09ec5a3a560ed742460555811c4efd8ec7293db7f542bd0c75b849046a09f499572b3390b839478593bfccc4712ba5978fd52ac8c977efdf13c0986c209736b561afe2b6b3963a9b0fbee46222add491706ce80cc5a7d28f48607ee69f5bf5ba03dd7d8155c155025d6bac01c7f6b0e89acdc92d8dd2bcf940160e03256c7c4100c26d3c9eaf8ff8453e80846b034c0c2621fee203b48e627f4effeb9067e5d2d259746c8bcb31696df62352c63bb246d8b084a4b14fbe37940f5df4df476ec58472372ce2c97c34a396cae0fc8616bacb6e7d9f1b1e3fa71434fab243ed16e78326afcf4210dd6cd64aca1c91679ebcd77202a7ce9773724ec8aab8035671b281d81609e7d3b3f6344689dcf2f8e68ac89307de197418a160247ab031e84a44de6fa01c402af20f15da3b6ea89e261f33f06343735a099e52b0e4fde91fc2d2a67275cf1f170bae2381ece799eff418e7f97582346585bc867bac45072ea8fb13070fd98ac1e3b6f1380fb11397e4d9243594dfa153c7649733fddb59b31bee55eb00caddfea8a04709bbe8d0effbd88467b559ad9253e402b6b80bfc4e6e07b76cdfe8600d63ccd74f6629021ddfb12230034cfcfbec9092ccb8dca04aee0d087f2fff752b18bf500cda79e14b52ea79dfb01cf9b1412cb643b6c14538fc9ffe185265d001b24490b8f1bb0d58be51c551857374315c30bf630b070bb0916d5374f94f12d0133f3f2ecb67bfa8450b26a380435db0ded669976eb3a5b772c65b70e07f916e86fc9ad54b4acb97b669fe51405f4f6febb107f6060cec2e7dad4a4b86b07cbbbc9fd51f9d25d8b4bf8f97507af7da7fa33a65544000c2cf7a116e692e68b5f9231991bf9959fcbfcb35ca09d78475ea4b5603e8870e90ae8602b882c5d9766bbd0c7b10778f9e397c87a527d2beeaf09d2970d032464664d0f002f280dea6f6935ef852dce974b51a9087ec438d424e037edecddcaa2b57bde0da0f4ee86f1e11bdcb986f945bf2af688c3d9efe72727bd66636aa19bd668eef22ca3ad1f5148ba64b973184fdabb0380e891f8a4eb84d6a90df115d47c86755be947fe3490f1f0788774740ab035d30700f051b0d91174351f635066c9783bfa6f279e8704d86b336726bc2c754f721978f7530f28d5e519eed11fcc823775b3184ad42f4ffa05ce4c37aa3cd973f7acb2724de3378aba148ea4f682ebe76d75a62f6e98939aa8c411301c5e971d05b9808574095457b58253242759d9f6cc99eb93e9e5866d8fcad9697830f359f9bea05c8470d71623900395787416282c02a8e41be22e99c7ccae846bc66cc7d1cf036def8df7e6cd2edbe13fa0951c38811b6a9128c385e4e91ce90fd5779dfe308141a4f0b5a0bd6c33a8c84cf738a94888c9353b440c3335c4d2b995c8f1b5c55dd0ab1df3b644efe9c0e1c9ebe8b61b3ef10a201c05a1a92cb78c30cee1715ffee5157e135eeff4ab8ee3011f0ae2097adb034cf7bcb3d984d134e2130f9c461bae4a1d244eb08aee90d6b4c44f03a5abc8ec302c8ef1302678ba09d5670ec89244fe5f69fe8268bf0ee007c966a4c4b57838bb877c8c6c8b631bde6b1f2acbe070546dcaeb3f9f0cd101dd8cb4ba7fe42f45ffcdb4fb21aa75eb5694e7a26442ff6619eae98058f5cf901e4df0736791a1d2e233733474cd0b70be9a6fb3e2660147966c8906b283549a143af149182051c93f0ef15ad4bef99bbef4968452b281d2cf0351e7645b1160fbe92442e2faed8cc83ba14089da3378a39931b3bd34c331967316e53277e3152ee4d7fe035dd918f8c203e1fdc18ca92e81a5738c6150762b1dedc8d9925b481ad542c2d273a24b04c006e3387965aa6dc617772db203f0835daef793f1eac88bffe5a54218b5f0776889e72d6748b76dc86798ec64beb82d63113273aa0f543d2a329c41d67809644a4b3fbd03bc7b55b23c896a5864e57e1904799b6b5cf673e7e047c553d54863ee484d2f000d659884367ce01e42ec3a28f1a972e8ab0bc188d6f00f1c47ba2b8d2009020ef28e60f3cc9622a812daae416cbeacb25f66a37812da12bc3c34c4f12e43724c6df202d4823036a518fb3ddb2a41633f61a9aaf783dc32c66288b1dfec8067513548b7b1b3fef62fcc3a6dcd52b87fb9a12bdfa40fc10145ec28573695e546eee467b91f910df99b4fb262f3a0f2e7313cffe3ef69377d7e0ef93db6d9c61d9b9316bf5e7a5a5cc7f7a2d1df69d20e556d466c66f7eed9c0fdc23c736b807543f9bad64249eb326272d6c5c9b1e9ef6509c4c8bd2a594413e3206add930ea5d4edfea55a473ecc531e0a3d3827ae6636f3e9b331f29c9652d3a896cfd209ed26fc910e4db15e1ff217ef25dd07cb418817d1a1f2004d5c7a92617ad6c1978c5681f981021601898299d1ac0cb3b9f9ed0decdb27e4ecb15adfe78e54db8cbf19d926e073409311d84f37884aa19a5e0119253114ee0c50ee20dd50f243530a82082cf121e828fd7b328d93e79e02cff363c2bd00654025cbe89dbb1aa2fbb2e3789a4c0eb57dcd62a5a3a33c280c1332eaf33f5f502654cb71d0d04fc6bf65babe6452e46c92b437e6341a21f03c77488deb4c211d16aafc3e23241049f0545a2811240bb4eca820094c304d76ccb171986160e03f693547d7d1d37efef2795a3dc0e2a1553c5028822ba3b64f2d9e287f587a8e91e488100c4988c0e5bbdb6caf05fa7627116689cfa4c89c48d6ab8a851d19b12cfba0447b100d646891feebba04a88e57d41f9e58a5f839dcce9334aaabbe9ecf647928e360d092d266a518b938b3430c13828fbd527175fd39684c3b0832e48bc1ad42969bdd896e0a70d1d76183c40b0082ba774048a9f8ddc19ea663a0e39334f5ea5554d28df8c19b1f22504fa3dbdc2c5176abeebb92a64ad02e9d8c4d776cbe3e37ca9c175b9d501f152a7652d3fd000baf8bb5275cd2f1bc246eb05c23dc1c70a133f24eb5bcc1dc4e9b72dc7ee0d8b5e6b6585bf6a4c4e051dd723e88c3fa6e9eca688f52325696800153880e3f1e2f266d0faa8ca5a485a735e7e6258c3ef0b331660a40446ebf791abbfa0f2b6acdb1729b5b2c368de8fab11d8e3de4e67069a16c9150f94949a14baf5685dfe7cbc926cd3a22b936f9177498e605e05d80267a4e1aa2e825f2164a523f02002d1804cab4202e93d17c9acedee5599d96dfc616292945809c0e790a4697dd52c1984b57eada121fa66c1692c384bf0cac26800f9fc9eaf0860c09adde697a20faeb9933484893ee679ef469bf483e064726a5b6ed2c8006781ab8cf4e470d01bf7c23aa1bceaa188778a572f76163730ed35946cd09c37e5ca721a832c1d63459d07650ba40b021e44c14f658146402e1ee0c1547daedd7cead3648fc082493c0a60d2fd9ada7d41ddd9954d2946884e97d48cb075b4f73185d722fe1e7f179c3ccf5437a96e7120150865e56e0fce63293fbf1b4e97588c22e93c0745083a82cc8d38f8a6ff1aee80554e3524111f6ad3425523ed1a503ab8751f1ac515f67c71155d1885e04b1a99257324253bc1eb5604594d715e358d6860988ee12a80085c1477ea6282556feb3b457c5f0574cb49aaac1299f9cc969b68d3061d81fe44df4b80ae41fb785a2303c1909c93d33c26d5b97bc838966ae65ee228bdd0594e344995cdb087f88e85d8a286bc7a70e38877117fc783bc60dc7faaa202c3402116279fc765b249c28fc6b6e54edf996ac53102c7865d862338be1b16b5c8a90eff37a5d06b5ec1eea57120ceb055a56c571a5d51b207a246833bbd485f4e9914dc0c512f7ae79e849e180ea4895c2b6dc2dea6f0d857bd3a879b3b9aa34961667b2205ddd6979b394acdc3cf573b72f6268a273df5f9d4f84318f806aae2437cee51edd80b4650105c9348b269db91fd8bfa3ac02e115bc9e3f4465e57cde0a8807dcada8e05f189ede72303414c0be1081f245d91fc62f08705c4228234a0e4c42b01d896fbdb939b87b7676e232f99f2d35bb28a8575e0dab0eec86f4f141d723a99c343f000edd3d62bdf2d6234bfb5d0827b7ae53e3df32ee6d65be6ecc01a2cf047ee67b3655c3b6d247b4d4d3afd58ce3c891be0a2cbb2b05fc8fb0881bf0b4d838f359249e78de21d289f0a150d1bb2669115dd5bc617ed0d7a60908a5a4d44c7588e9ff4df6688595a5e63c0c70c4d5383736ff339105fc807aa32f703f327b35e55605b582e0509aa896ed338288dc642bf0d7036dd390befbea834a1be1d615fef12da58b594fa5ea9637d5ee4f6fce948f2da0e1ad848b765d184f52aee8d857d27adb4dd0527b8de9e17eac85dc96cb81e1feac0ed715f6e172c51ca53ff992c20840b1d7beefc16392c8e7358ab8fc9b9bdd2f02150df410f00c5d70858a4b8d22e9a5a94b0cb2ce0305f6a5b7bc128f831bdf70cd899830d9b8e826466f8f99c60ee0488118ece15abcc9d276bbc1cad4f9391d935d637f2538e984f97b4c24945562d402569df5c15e4fcfc486131f59c530154ee2e78f21785ab20052b5ed8e5d637ce92c053a2ebd758fd3c4990d2f5d58e74125052982b4661b04ab2cf576b3a8f525eb67eb237ff5cc046fea607adf5e67143f3db8ae6b152c658d9d388ed0de8f77f3ff73f89637ff8e31577450b9c247437fc5fc95dabc906547f2f1b8c211baa04b081306806f91294fe30a70e9a4b47f536d05dcdb6d7e986f45b64c45230f5d0d335118e66788258a5469c87db32af3be40c71a62c289bb1ced377c2a8610d2f65fd0b977cda51fb3ca2fbf04ba85b419899eef9f975dfe0e63c6af775945ef4622b45d0f981327f908132de9521a28c50e0e14564e62950cf90db9dbb5cd33cc5e9d12b5dc28703443f201c7247c7cc5b0d56d29dcb79534f4e3abc75f2b6fe888340dd80f69b86b258cfb4aaac8e32b82b7520442cdf5f48e536a6a71dfc527f88af7b61b5e39d64f897e7249d8c6a72b615259aab086833579425ecfaccc8c5b8df273287a6c52d91099cd56ce52df20ad9ae8e07605a8feab9c6b260028156b0f19870feb36146ad97124ca381f36684478a1d5c8f8d7e2f3d0e89ce7dec7d99df923c7348610e6e732b4e41d668ad4299d03d97bee051eaa62be4edd4292aef77f79fe3e41879b9003fa1f90efae9c7f0afa5eff1d5685c86fae8b79b6297db4e4b8fdc9410823d0a68f3f308e6cd1b4d7a538e533377502153c81c749e74bc01f6b36e34b2570d0393e24cc25a57227538241c65d0339f5fe03f51c85d2c5b2155ac7ab8abe798353b5f535aa913108fc99af70ae45693ff2c510c08aaf8d9f279eb1f5aac0dd81e4dcb5bca83948df73741abecbb6a648c738445e6afd2b0b3dd7b1c84832b248846992184c24d6885e8991f5679c324763e01118bcfc273ea63f66cc1b3048f2c2f582006abf00863b8149c0745396822b4e7521c9074104a4ee293c5972be27da1cdcf40aee06af42e9bbc3ab216734c49e9fe37a6e5a0d30c43c19aa46870310257ce83443237c1cce507b15c943167e72d65478116101c5881ded5fe5fa280b0806aa585d19f2af1b71e12146891848bfa6efe51afc14821243eb4fd3757010d36cb63c38079ea8b58e7258daf6734e1aaaeaad3e08bf396237270d4148672a5ff38422d967ee7302bdcac66aebecd47bbd9280dcb58d032ce3f71d18cf2e26f15f81983733035983841f9a0fed186ecd955f56a3e5b9ed22b357d4a8ee7d409cc3420a3b1a889e5e0dfdeda89d0c0cf8163703f355308e7181fe52b369c4336bd46e7a94d961b69150cb7688de37181815050e41b62c3ae557efa2166f60e09cf2125f88065644f7a7cd01fbc173597772f4a9391f9c4805befcf30137a011d2dec1a5b5ad874ac8433f0ad39c208734076b8b46c569fc3cdb67a8ca0a13766367e69503e46f128ef61c9c828aaf732a1655c1279c9ee62d431f7d33258e5e15a393c616351a85d0aae2ee6e5d8776da809bd184bb0e2775acb788b5b55553aa7397c74dcfb35fe4a6ed74a03f00f2b0f001e30a8e3a5669d9ad2ffeb36cc5b9f2e5f4725963e8e17b5ed69da68f4fb88e54aaad3e9f473d67642b75974d2294b8606fd4555eb1bc188b5801abd263132fa85b87824257a98b197f44306046d3438879f60167fa2e18109a79988f4d55ae7bf984994571d7dd776921028f9d4a5251cc2b7989f317ed80adb72001602483367b12a6f60855b1eeac9709a5a2fb1b2c3e4c35f65762c9d0d936cb27bd0f988db0a1207081e486758a5dd73b14b597a1c01fe1c87b42f59a68f59bc9f26c3fe534366292b67dfabe440874b25d03f0760de7f4b612c132047ffbb42d5a90dfbec03fcd05e3e91cf71ebdc4e94d21c55b8cf927cb3a996d5255afef89ba1a9dba28423c43c831ecc09c5dcb7e622218cffdd4b2b1026184ca643401a841322de65d16d5134a0a5721842ae7528c3099ef530a7fec16009b490809c7b2bf309d2c0229414939f81a72f9870a40221fbc767e35b2cb550d4e701e5ae4e28af70e2be15280f61e878cb71168de77627318da9e3873fb3d6168add6cf08015bb21ea2dfb6c987eac807eff8cae3e79ddc956961607e05d327b99ce54b9b7555981536ae11aca8a15be067141d7441faf2912ea9b29148f0306c59d1a75054811e84d06e6ae6bcb31f19b657e7e8ad2813b9390b15312d81ba4b9a7930d1cf7a4d5b7bdb493cf43929eea0e5982b1b289081f91fda962de96a914a4d20fb3d14db5473ec0dbc46d72a26a9f8acfe1eb11cbf3600add0a98457ed4cf79ac0137725cc7e8f0197824afa45b9d436eef6280528e9f744ba447cbcbcadf8ab5f40a5b8e6624e13bd602ee327e868890e138d5d3efb4c3b87513a105d547f00bf04806d8805c1850c56effc5776b46613bc77db715a445288087ab449bd82aa336123b76fadf00dafe042c492378199e0fd8bcbc1ab2439e8319c7ca3cbe697a6353607217f93f77eb562e264f006b0f73f7958f0df7f5d032d38f309070b11980a534eff93abdab3eeebe6754f46225121fdebc2d10d4255060a15e28c73716042044905b89570849d962405d54a96ae049a9627665e6d5295ea36f9bf4494c149f2d1a9550bd41e372cbccd657b60af271e463fba1af247818c6d2bde5cc12d61bbcc3a25dfac7a92ca2b118c52acfb7d606a036f4d1a54903be3d50b10c2ea2a93515ad57b4e4b71fef7ab13486598ba985e6b31278997c6a555969765dce127fecec5742e3327f382535ee38360bfe22e8b3edff61812bcfc85860129883fd99f79d36711c1933e3a35f00048890f59c768cc5d00959d5f8c848634ee8a069193fb2e8cc580e0536f9db3fa4b37e0326b40590a5824136e4a66344463d36100e85ef2494765e08b415e724b68584f6e0639edd5450b6ea404543b8d2883480bdbacf6adbdcc06c974b737aed07436a5b0e15cd74f54e5450fc1ecce507bfe66ae3fc4cf786c603613c937615f228ae33dda75b9b5f6779c7cf74eafe41d99650118da72b1438b7e62ef7780c92e84a116d5a20b6511b5fe8e1007ba723397f74675192f541d5676ae317200febfa9e873c98c0fc0aef2c2604cd8489e28c2ba360493ab50e5722fad31df6c4c32326c0a84ad8b52526a2320e5fded75c6670958f12160d3d0d0e39b8a70dc7930b19baa17586b303a5e7abded295d07e7b979d453a51802d9a52561d893743b0e7f9a47c8a61fda2f1b3959d2331b4cc6e799afd65c3cd9ead015a160b5950b06f2022672cb9d0fd2a35b069b20d9b1fc1b205de31ae0127db07a3661eba4fe924b69201e5165b794383a67f3e7faeefaef70a114aafd02648d1b1d2cefafae3d378250321a4744e2a299ca9c643c8d8c9d0595ce4bff2b24e262a457b0369746f4732a6b21f6ee70fb5a42b0df25581fa0e99cbbb127d44ae68f5e4c2c9130710ce7c03c0d768806fb0c3ec1315311f4569361cb6e0fb8a3b18ce23ebe67a2b188b6098c0d794f56e19a1334c74d9a223fcab4bbde22acfcc09a47f3006ab01f553cdb596c0001c5e6cda1398c9b45b5afb21a4b1a31496e6d1661563b041ba863ddc8aef51b8e050c5391dbaa0db328df4a536825548d00edb51aa32a1549deaa3e891ba3acd056bce13158d38a75f2268fe54b6db5c5ea633c36fdc6fead7bf50f537d3f4732e4856c6b1b97f6134bac84f47b6507d11f7830b2af8cf179209135b44c56c5b777e9affeac1611b869f5302f6715108e20c978747396827411b764450f109c142fb0016d8b6769ff451914753d7811b50f97d496d04bee86569d0c90e05a90adfb4a6c00ba9b2cfc6654f658ffe3a2785c83ea7715fb58016e7790c3c315c9196e90b0969d4e41d2460e3f81e9dbbd65a51c6f92cc951169b880e660e81047f2aac9eb949a97617a5e2af2454e4fe53ee6ecacd293e04011025c8ef4c9905494938b57d40e60695465b531735e645705789b67344262b0053cfe23efabf21894dc547a4804dc209309b1917d25e66d3dfd182bf7c1092e1e8f0027e4a921195d9ec10d584da08d6b324a55f2b8bd7d1213756f2dcfb0c2f06677227a0bdee7d7b15b48a8eaa6a2db8b64b8c2af7aabc199e9c98342c3bb8141173c7e58937f53f1eac9025ba6703fd5b9ea4cff4faa9f26130392cd2c4cc5cda02f8255a7e430d1a21a4c25c2a41742a3dc42330d51b2e35af809b75dbea3e76e5e35c16305d8006b5e666b6cd424a01a31d28bf7907a04331feaa2f1908701c583f4b726374e5103dbf87d860efeb16e5a780ff7a347fc49f3f5d46f69fd7c46337fd2f0baf24d2e328b88dd8b9b5871ca2e3c9e67451d1afef8ade6d493d322ee224b24976c0712dfa1dc48fce1c7c12211af6d604adda00d2277a527a531ef937e3cdbc4bcc8d8bc479a0d4fc9dcd204b90ba109a4d71e539359785ccac3bfd591c40483b6481f96f629ffa986f5199132a5e9ab2111fd2285915dbec900ae34e9698a4668bdc939504d64db382bc5931330e1a42ba3d821dffc3856812a1490fe953804c5d21020ccb60cde596f810a4b774f093f167ad1c4dc8bc4e348226a514ece1afca6bd8b92d3578ea0d213d7433163efd803e9139fc6c71c78c1df9fa25cb7a3addce942b65f407ba36d01427d4527217842dbe834dbc2ce8b3e395875c13feede01d5985c20ae07e0aa4a46544ee7f16ff210174e1319cb23681c43c440e1ea7cdaccbf386003126f8f7a4580c8f62dc47d565289c589b1751ac86a1be37cbb1b05bd37fb6d0cdbf2603b3ce760fab68f5b9b20e4583bdf515d5f4fdcc379316da10a4efe664a1e646d8fbeeea0d197dc32ae08fa57327e057adc6e6b5604709b81146693896fd7703745bcbdb1859b5fde4bd15da59c9e007f65f59ec8dc807bce7abe50e82b54c119b613fa92d6b169be3e8b3d12db6ac1773391e07d5b185e771523d2f72efe4f91ec23a93d1bebb3a0dd77e092e76e97baacc949759d67843b08f1bd5516efe6c5b1576ab088c8b62a39aa6842ba53e03a2a8e3ccd8536c1a9c2b2a497e7ae5f33ba3193b3a0bc948268f26ce657e896f809300435488e2819c4ebc48f8241f2e901033c6164fa45f0fb567532996cded757a2f3ae2eccbba7ba6234752541e9258134904003738917cc86cb79c9fc3958692e8f4c9f496207d8b243bfb4fa3f729364cb171c67d546b767956a453faaa13b01ec5c9a20b570b4939448153ff3637587659c6930c1232de9516f94a1f9a15667eaf99b12774c0986837f193f452ce127dc21b21cd754e484cc55816a774ac54c7180fe3c84140d20c9a916365987ad2e2e5b748d23654accd1213f216235796c1f86609d2a8d14455b1e66c248988e72ab9c474cc49780e0f636e56fe39652d17f45934360a2fc2cd4b136741f35bd814b56ebba47321aa6ead97265f9306ca88a48a2fa5b5a66f00bc98a4079f4dcfb9a8a6b26503e97f5c0801d9c0e5e873eb98b98557397388397cd6ad94bae103abffecb97c2959e3d652b34a6f20ee1d422c177fd9a93040c5c7b06928dd8b4bbbd31c4bb62a81a4ec376cda20c24aba6c238182ddb1c6a21d8dcfdf02a0dee222ca7ef323936562e3209a14f16305214f865044534ebaccce350455066cad2bd97e9118be3602a895c35f733eb5f9f9b981a55693f618529843eb1f7a6b05419644ac1ee60663c2da4ba7f0bb489a7e75c66483d4bad6587155c4074157546bcfd41c6369c5d6dae257127d117641305eaa1f44ee8d86b335bf8dc482e401b28623e222ffd9afac72050e946be6f9657374253f46434fd0a6c25a353e0f428b4e740cc27b402fa512f6f717f1a8fd309226c2bbab5a792e9e5330b6aef316621d00eab199c3f3d25a2534d76f7178e2df0da5d65fc2d24e60cc860e7a8a52ed1acd0c9087144757e4bad50fa7c55ffa8dfc542e4716446d799a4e93d8399fabb0d34f42b9ea1967d96d0b77d0bddeb42d3048f598c1d62a7ed760c4ba49f8f883f61b7f16f7e6342dd1fc5f79a3ab4a7979570560800467ff40bf0029e6b0014f238682853b1549422a6b917a97d4670d6f22a80b079f8d195759b2ce7a0c6b52fc4397f8121d52794b1e58d8259a73bfceb08378752c6b660645dc8d4f98cdc42d1b7d4448db5b75b014564fe72dbb3f34a58446ee6f0a2cf100b39d4d2b71efe5da4198bc9102fa31113d33b480140f31d9498c85b808441e1a222f395dea4dd14685fb3c3ed21cf7552cd31a28c81b688e6f0826ea6c6c3ba74f123cd052351fc8311fd5baac3e606d855693d8fd13caba7c893ef39c022de03f164b4a6b60dbb4778b424f9ff650cd2f4eee95922dc407db4a141d69f6614ed0b424f98a4484f72affc2585aba602cdcbf252a983fc779cd6457fb130c24adeacb1f88a0fc83a265e6190b43a55a2364e4365841bc405b8da752ab13e73976dd860466231101a9911f7275e0d57f5b78afaa72ac02d9414894c1c2e58e1336677551e1590715a7db04a5add64491dd5d638903c6e4617b1830f6f2fec2d3e26c29260d40e0cc8aca1ee585e6aae0ed84927531567fb065ac960af1a022ef0fb5a5e70a9f3abf4e439f6327dc5da3dc0b51d627d73d31d9daab5cc4a40cd163ecec120c09ab4b9ecf037035bd05c8fb0957ce3e4a70050a9d51711ebac0bc146c696b0012613a93849815e82ffa0156b6ae340e9983851ee26a0c9055fac94838e30f1eaf0e2e3af7334152e4780c4bdd156a525e3b2619ee3c93f7c6ad91a783d2d184514ba854dc5f32f8c16f077bd3534286b2f1f527eb0f1745f8fda20dd5dd46f7fe279c5aab44d461d9934ae19b3656e94e7315bbe71e32cba3ef2241b1ad821cefe57abbab3f22d2b66b75771aefb592ea9d5f3ddbf1f6a86bdc243ba71c3916164f0db4456e5681698def6de961fdf7fcac41a86206ea83ff1b39a8d8048e8e504980e90c3bf73c182b2565217dd7809f3f2682abfb24a86b786e0f91800e7d37062804e4a495f0f4307f63f04154700a3fe388020824c805bae5f7017cf59c887caf999147beeca18c63aba6352563240055cbcfca8a57f4023a6ae889a6287c4cf8c27a5d9ad2fc351663bf8b153cce9fd0e8b24d36dd7eb19f21d7af1335fe0b227a6cf4cde332ae99f3697778b3c178965516d105aac42bb58c4b2662b266a6ae8a7af1fcd81d15ddc7f2dd25cdfe0ab10155b00b899dc293d2923ce7cfa6244dfdde172b82742c1634057c01426b65751fce09631e766b79b22faa052532e26e7abb13a3305d46e4874149592d37267925f6e7c680635bd64d0613020877b3a9b8d85f1552b7c36ea90244894032455cdba0ea5d5518b6958b7f0e8c8d1ef0a181fdda6f73698074df43208dee5cab54eaccb4a16433e08f680a4061f0b99ac598bf7144fcf6845e3f89bc16f306ec6e544f5ffb692b6d023352f8ccc5e3f6a01285003ebb4ff565e772727bfbf21c0e7af7e9519ccfeb7452b668c49e7678001e24eda81bb0ed152dd0d3a7852a95fa38736032450f4b48f602527ba9a06d37ea94507420fac4952cba4e3d3a5551dd1bc283d15081bcd6db4ba94c36024d2804376cbda7b12a57df75b3a7dde39fb41906de6f8b6b21d9f6d7497531bf9bc52f2b27df571c377018f2660d520b4f7833ed7ad9d601ac18f363173a0441aa8f74855e99fd20ad3a264e92dd9a427abd070238c10ca76cc9809fb4bf1293869e471219db09de2aede1399acac17e4527a6546faa786ec8bd8fab8e7def3c6df1460e0c26af4ac176f0dbd1718c7175db60562149e05ecb5854dd86ba8df0fad3b5d9aa685cafe05bc9400925e81b3c6f70e18dfad573647862a197ef60da2759e997a9ce1fec1d35ee192e0cde6b514b8d63dc0e531f332133526950e69af37d8569d45203742d97e85102cd4ab893f3e7117c28fb9882b9edc51a0571b4622c67e30db6e84b0fec556c295261df91c1bf4da06ee214f8569d5c3fdc0e0efc49d08e96aeb282a3fced671057a724dd80fdfe80aec1ea906a833e34210038ab17800b7285fc6b98cb794824ab231142080b25bea965727fbb90104be9aa694b597cd3d5ba2d51bce920e10e3d4f2344e2e2cbc320631eecd4b435b73a5022b7552241054e7b0d4049fe9a7317518092e8a6985e7eb25c8d3a0b16244d2a84b3cfa70163220d8badf8b196bf21fc5e34a356b9a0ceb6388408025712ecbf1aa85676fbedee992fe03e668a0c381ddb689494831670aefb4acbab93c27125619039dcaff076597991e2d9775b28ac08faff7492a741dad691fb80b293e5b251d0653c1b7d8b7c4040663f8a58b6c07fdda840dcce78964ac63f4b96e1de1b3b1898b3ad68bfa7ebc194531bf20b63889d320a2464c0c7860115b7cea10efa34cf751c00f4e08402b6d072903dc28685cf47a1822df191d1e8b2e02fa845ddfca6e76b37b0761adbf52f854f18f17f4ea1609d48ca4825355aff72089ec629500604974a37766ac66f0afc50c103b10543c3178b8a57496e148d156d0a25e00d15167d6b9cec94a161a9ba4652943ef5f9ccc8c8f563beaeb7230cdb4c14bd44225706fb24715cf2529e2ef71455b2d2974122fff686f59832761f4ae6ca73a72c846cc600f794c5fceca039e1187e83b0c5a5eebddadce113a91728cdea3871d6e7f0a7ea3d0c7cb4c4358a2fbb7d60be4752d218fe8e4ac7898ec34b8a583823088d0ca9eb4afe5347f1c6dff95461d2ffe7c1badca6adf30e95bdc4047dff53d823184e16566ef1a2d9e0b82ad24aa80413cc113d95b57fd0cbdad6155915c4c1960c1ae682583cd5f406a563f13d1ded7d3764f6b0b4c4acb270f2d3652e9ed0996203501d5370c69d9c2fa0c21efded2aec8e60fea6fd3f7dc8d7b79d347c8f95f271daf5a83eb14c635f58f7b00ca7df332426669d8a9c1e2f2b36e9d3f57c08fc7ccc764ec7945486ff80ca7d6436fd6363e9eb67a4760ca2786593ddac5bcac841415a9fc455b68de3bdc09872bdecb5d5d64e0212d372ee8e035fccec7acad0bcf87cefb1c5d0162f64ee38128dff567cf58f19582fd320abac44c073d50a9a72fc7b003d2b78af9c6d25972b06ff79c6548d62e6aa372778ff1375b106e1c9cf6dcc4803dbb5a4d9b6f594b9e392163fbba5a128f4c48d4f5cfa920473c82f338da5c3589b3eb7df8cc60746acefc7b6ae4ec6a60913c9371ff9c931f7bdcb50a7847b40abbd62d9d2f7554bb6c35c19889e984bd067ab2a8d73741deb26cd1341817c3b751eef3a8233e62354b51c217a92f8ed77115a30402e99630441e88505cfc65a1946ee5b5520bca90e70b386c6f9b53c917cf438796cdd196a89c8219d5cc52e780ff8c80efbb8e61918db35ee112d25c19d767c628ef84e1f3136a10c2bc627d01b55c2e93e3b583e324aabd12444a05efa452db705d84bd32623b05c720bec1e560fd42c8232dce2d1d2945d12da92f1f72c5c6201744935fb7fc56a360161a03d18fb04cacb7ad9a0e3137696e0ea6dd7e1f0bc2e2c0822d3fa58c41d81f28db763195d723fe07b702fb3639ed11daf7c17e27cead71ed7728983719f018f617b00d82275bedb292a99fe1ebbbaa87abb46b5cde658147d3f8b7cc892b07d939d95e2e3a9672014dce18bee6ce0d101f7c0f0b597e115261f9024c5e227361e46d772ff4228ebdfe33ed8f667fe9a986a06e03c75545e687e8bc1c84bb0b33b82850e0b7fef65e7120fdbbcfc377f89f7d1f3029355e071403887ac2ea6c0d9bcd77bd26ee66cbd2f920bf11401ddc717dcb263276201e64365f689f491f48f0d1a9814a156d54fed5ae47a6317315a923a5b2b9c6a1398d93585e6b7c09207ab6747b170c60c74defec9826e86d41169c36986b9c937929fef58823c7ea667012cc65a325440e3547d6f9d6fde5f0bf6b67957077fcd0ecade0de22c6624e8ae712fef656c020594d44c5d8743de06652a9ac976b9dbd6235134400bfeb89258cea006a0c306fc3e5922e6e5ef4e719ee99c1214fd8f46664b73b2f5341b7ae9fb733cedaab539fa64befe96f17b64eede405800f728a1d918ead51ec0a04abfab143897f3425097060f70cd6cf7fd606a6a009ad32939d305f32e9f2d5741b9264ae1113b31ca63aaccc9966b500d39042cd1f0ab772d7902582f83846e25bfa498bde0cb2f8890bada2a53b2c9a448393cecadeeacef7a01fbf41f62c655bce35b89adddc7c834a4f36cd4fd6d0ebad8cbda9d23d9f780c677e90c474acd2c2fcb5c4ce2e8a232333c6d8bb5781f76e286f3626422c9477b74a6114a3f5d92d861c6c1cd698c822d96eb1d060f68c9d0b49e72abd76a9aeee895518e376f3bcf8f2b135f413614fb7256759f48bcca40c34a75a3abc54d22bfba9ff381f49779041d2ce552afb6f239dd51ee7bd84b304656aa12d411a76c4f96137bfe278ce976ff9995dc6d3c68db5edee12755c6b62c5e549059fe1916022f2c2dafc7be4134aca0057dc3f0a264822b35c89a3b3553917138e67f809b8f1bb4de614b7d7df60cfbac94cdbfed5a49d38b0ceca107d011d7d8f4ac301bbbb2e345754805b3dde69d8a28a8f498557dd1934889ed82e19a7548b734f5080e7880bc8c9580cb79e6811d49fff3cca5ed54d118a7ee01424db48412751285090f262629373a7934f954f58884da5dc346cd6373f95341f91e81e05d2512ee606ccd620d1292e0ea2d01d2802212f3095ea18a50552e25888e5e57ae0fdee1a634468640a72b47c4edf85865f64f5b33956334bc19bef85632714690a686fabd58e583ae64ca101b83911f03afdbae8a58f52e0241b34ac2125b90834f86ed342dee80778c845bdb1b0d9e47f41b174ad62d48496af531c15dceb2fb0dae53998e9770693a84dcc9ace4c269e5806e159feadf04c9270cbae9dbe72e00e4f6051d34b4d2d7944b8ae98577a8367f91ff690a2417c3dfcd1553ed0813cb3be8c1948fb7916ec525ece738d66649bf9aed6d54ef913bba013891b429c12f4ada9ed0d985c843a53859fdf010d01249666317ff810e1fc540584737d14a3a11d4e917d8020e8cac6257e81e98708c775ce4d8f655d78aede4481f66d7c07526f63e7696bb862fa99e8c640e6ad8f61e26c5fdde522e9374fcb9bd9d76015fd392c240181954f2d00015442527140483336bef5c4455c5dd4e279c4a10a4c33530f0fb10b487bd8d2643961d31ad1b31ec98aa2b88f7e53ecf5e279ecb8c908d5727940e15249fbd77479a10163b6db559e122162e6d622aaff3ff7a5e955db727d18efc91ac165343831e6b26795bb24dbc6d2afbcdc4fbf3d8496a28d76e7bd23ae4e92a245a3d81b51ef5902c925366ae8f65ce84dfe7a631af0d1e673646b6ee38ab83db55ca6d5643099a27e2ce29a6e12165d97584eed93a8f7072e8adc7443743bfa52c394705bf69982e555aa165b3566ac4a81a2e8a4368f4044274a17f9fbeff3a180b2d6cb0cdbb1cd885c51b92844b2007b3de87fe5d321c48ac80681094cc99e05b12f4502d0d68cea14a89112456b1f0321a7700494f0d518ffbde9294d5641b3af2b846d94b6341bed5879f6935affd3d8b6558f339b1085c1b6beca2b20511010348a8cd501f471ffce7a4a5843802132283ad2ffd4c9c4665f91550144c018331e4626708772755d4ed68daa6f624f991d6b33f37577626b3dc95fb9c77fbc8ec1ad9e4371578f466e7ed8034659eb8940d3072ec0a579bc87387a0352265dd8c168aba73a2a7d2ff01496e81b4ec92184f539302cba39196ed2f3fb3d32962581ddde5a24e5971fc6f2e6d31f99758cb535e3d437f426957a4655c19eff1c4e77659a45b9c036e2ad21ea3c278a0dcc3c3194b7059455201ea394c5841ee62e1c94ad8834efd2a83b49e3bccd9be8cbc7829d5b9408b0b81610bce37c5f2a7e9402fafd36384bf336c0aada3928fc6c7c12a08bb7110e8a5c5e0a8eec9317633d22a1f3613988e431c13f25dcef23a3fea59370bfee95810a6e5e6350f351fc17a4ad823039883f5698b4c0a89a5ac345ccd637671e2d57a814951593df4b4e513ad25427fb1339b3f4cd48fd4f8e091f9868f086f2086bb9d6aa9dbbb0dc42028b992fba20aca51127eabca8d8f8e39e0a38a906e14f2bc52ec67181a2821928e6ed0d1173cf8b547b6300384c779f3dec57e3db1887543f61f6617448d295a029aa10786d3eeac41214c5f09c885b3449ae74d8194127eb1f4b569c3b9e6c6ebd310827bfc94e8e4e6a2fd55fb56cd895b36634b16670381cc6168fdb33da55bd845519fb840a28a3b8a779f9a51eee1ec40834a42827fd1f21340d204db0c812fb854576c4548180fb09e2a31eca8f800df85df313b7d78b2861f379dfe6c7d831a80271cc4c8221be0f4368decd70f037e4a50f68b8a78d17a3a809939415229c66b10f3f25c9d5aaa028a197d4bd43e556cebc978a269eb3089335275f0c908bbf4ec5df61211fe63802cf04ff9e323718c47b6dc279520b059219e29c8ab851b62a71d968e555a433ac206f894c20ab1f08efe47f4061b565ab50f155ded5552be28cf120ccbc9757a40fe8f473d9faba28ef01d43c307c144ea18b088232d28fd2363fac699bdf24c4e72c0f98deb14454b37b1b676e872a5c143ecb81cd8a1bca685a81d3fdce7f8ed012e3c1fb731e7bd98f2e7beb52c6b15ce474ad63d1520d0509ca854a0bb8f4c24acd9bea94d4f843c9e1651161a5e72f827f2390ee2f6b6b99c9d0771c727fd030cd09853a33b56ec540ed51c713a87c72e699686372aecafb58b87c51cba758f86a4399feeecbb655de8c7a070f193346c79562d9bfcb932d55a805520a0fb3cad1b6c986441a09ffa2466a8f43d32c208e4514a9d39a275e5f40fa02d45304d339ccc8674b6c85b3e0c8587c0d7f28393600c8fc05a87f07bf94039a14822e845cd54e6b3b47c85ad69cdce4eecaa27d73a0eb0ec73744d39db4afe5776194e6b0e0eb09884d8b51aeed2f6402b4854beec3576bd237595b39299cea1a1f6a2aab968862179a5388354fcaf0a6d075b10af3b19e827d4f5cf8ac33328f15b0694d48ff084a456ae95fb67e715bc708d9b2752ba5f11dbfb98dfb8bf4f854b1f07997f1df8d4f620f31020de84c84189cc7d5f65b5e042234f4a3bcb4a8292bbd074f3e9a38506d4144924f895d56d24a96184c447e5fc297417b9789e887b42f0bc272f91b6a43f18c7c2a8bbda7a2f72fd078c44959e4412dfa05c895f8d8964179c8e91093dfacd6c184da5391658236a75f123506833aaa4fed056a30a988074863be476b6b2f76abf25e0b3f852d44975359d8fd1416926a445e7c4ec23bba548c6fa4657d864817878f460a099d98f69108574edff721b10010fc42126640f2a5273b5132cc7a14aaa8e4aef3634324eb4ed6f2571a68b4ead69307bc0e57e3eb49314fb3dfcc27c48eb0b2f7274ee028d1e34040aa53e56b7d20f7d1f29a30ec936a129c7bd2a55f31fe2c56892e9b9d703c9da6e7449c5b505de81fc7648a580949298e7d6601fa99edde40aac39cbd34a552a94bd278e077e93bad074bfb1f0aa0a2ea8647f5673d7052c83282c9dd40f07345406184f13797489aa4fdb02a135500b7ce3cc6142978bc741db99ea369744c55b9829399a832ad6c29a2a8129cd3580843af92afd85f6280a39e2719b3f65dcbbe4089171ed6b5805f53a6ee775dc677f7b1f68570229df1f80a82bdf4eab15ade1406590a9d461218c07ee4feefe5a30a48c35f7b4d74ee3d5ec47d75d3bdc40437bd5871aab4d4401f16ef5c4d8f0acdde0f76bf59b9d7be22ac157135e08f7c5ffbac55ff9a708115a25c29e4b00d46d945c58c5d7b648b178dce2077640387a0d103e0929eefb4f12c1f2f7a9c396f01db90cad19749052dd218389850e2a1005dbce2c3f7883fb500214eb29724dbba3865df4de9f127fe02202a8a17432dd4efa4217cfc77169cf55fdda1bd5312bc3a45c60e0b3b3986613c1094da575296382e7096f0335de005762e02a8e8cc6ffdede53ee0057af649734b1e7e97b5ffc9fdb603de45bc57b34aaaa3e4049c14a8a7187febee197afab9d5f4b0d97c972dd8699282df8ae3a21874f513f37adb2082353af2d0922236ebd713a1ae52437fd25d2b6ff7dc2446f92a9301863f0526af6c7c20a11f39a90e71191a9f91644f42a05f7373dad5c56f0872f6d752ab650ce6416e5de248ab1bbcd09fafc65cd0796ed6fb13f12b8fd2f0567b2c1217a4e20e026727972232e8d31ad44ba3d4073d2161191c0722fe5ab97ea103d4bbb856ace04af7bdb3734246ab1d16eeee026edd88a04ac719ddb170e8b51ac2526da36bdbcc47bb6ee49854c9e8c41ffdc6094eda670aa4055df0112c8a4dd4877dca0954a560fecf6646daf0288e1b79058828c6cb259010ed38f63c6b8a318c987301298c3e86012705e878764859d5542fe503596272452351c030a1a25b3487f0386a43f9a7a1f6847c18d24a704e97f236879bcc207441618495e8152c77f0cef8061a19f6bd0ef8f0cc1c251d655e904d24ea7a7c623ae635f62bb0317e61902e71ae68fbbb1385d047ffe5dd136e6e9c29c681cac653a8217033c4079af4193ddf7ad1f5312daa9604907ff42d737d790ab997dbea9a1903cbf6f579b99e6989587f9147e7e3cb3ae7f50adfe45a6bd58d9772cc8f769896cca6754e3e04402bb7c91753bc9d11474035904360d4415e11d195d351b9425c938b361a12428aadff6342655be6e35c4dc8de9ca9c4558b3e6c526e3b64898f32896ac3ac8b426c66c2f4123ba9cc5915e27dff0f8ab6e723fe48ccee450793681c02cf705a1e49ae7c2181937b734d7b4c35e5acaad0719a1fe71a1d75828a899843af63ff021129d6dad52e912feed872e6422af2ecb86b7060108aef33730bf0af4c910870444ce407e15c487d283b1b4f70dc0923c903a17a5402a9a92ec44c440e9e3013c5e5d10669d01348c7b94ca9b35f92a8e070c95a1a8ba40f21eb0122d31ec7759c3196e9a99e98bf4fc83d44047f4227e387af41af45d9797d7d0930545432850d3f49daca824d47b29618ccca1f7af495e97b371d6d0d1275acacc71427585cb3a73fd5362629cf94baa0c561e72ba5715d736e23a894fa8e985ad8fcae6092ef82084889642625b2d22c96099597a52dae2e9607820f69d5e6724a8f6aae5845063fdb21c6f32aa10d9f82cb4a4623ef15087bce9ad8c73a7ef5e75cf5464f9a95169fc749a3175e5cfbf43386bfdb51e6a2a240554689c7932afb8e01935fcc450f4c6e298cdfe54a7574d08e64851464b4c93e7203b1ac24ba9f83fbb69280d45f168564bcb2eb01718dccbc381eeb7e0e60b236f5f9f3b3efa1942cda39552301bce1272ca41fa0994f82c67fde1fdc64929a5b59cd1997c7f10c699ff03f2e417b9485f8db5fec55ef98cdad555955481a21430a5ee0d8729b8628a7f23f9e8745bdc267737f1e88b437d349ab3cb37e2cfa967c69593eea5c2182a46a3d42d0910ba50d24131e3a22dcc7fe42c69aa2e3b0b15931657289d3ead70aa8b3fb82e4f475084ce7d974a15687bcab7e9e85dbb9f2bb1769c19930397c5fe42711fd9c02143d4c60303ed6c747fa3fa376186d72e2638f73976ba8aac33750f14e10e3605ff3dacede0c38ab241fa82c3dbf051d4a4e5c4474bb23cf7ab2aa4914b231580b72c9cfd1795ed913a77c06c4c30a6700ee395600dba226c3f3e82cd6fc9a1a99e949b3575d5bcaea03044b13eebe9e48d887d9fa3d04a59098fe5891d648c9885499d4faaece142270c2b3b71591e4b23c39c01fe87cd4615b6f26a7af163ee78987dea02ba0810f06240a140a8d5310a4446336aa06be8f4befbb3259463949e26252fcb4f1e055fbdf234afd9c9f26e79aed0cb996575a362fd9a92c681bdda5f152fbe55ad8dd7c1ef79d904d1393dbd8a1c4c03bc549c6746b68a9b480bd91bd3921697089d81fc5b661b3c5dc888eb054d938fd346837e3576f51427a808ec85cac162ee952b6774300e887649ca14575b7d7d34c78ecc61f5bb6dcb0d578dde869a9c0a592816d2411ce7484f223cd63192441b70c7d86efb380a66854a26ec6619e320de2a03a908015e728a9d9398a6307ff717cf92da3006c789c85897c5ebc76a51475d70e6b756bccb930c63725ba555966f9738db0f3d88915cfe59574f88d0b47fd2ca1c45653563682386456da663d8409cc7590c5bc837b8392aeeb3af7b5f24d2efefc218ffff6e003824440ad763f1c507ef3d558b12a5cae28e71375519cda2ee8d43d61d8c0a361740df03f076a4e8845f5239e459f092c69785ac692415888b7608a7a0f0a79055383ffbb267315fe799a4b04081e1faff063d7aa004834cf48b2255a26ccfb6a4765ab08b3028edab6a4e3ca190b0b8ace943c9e761d7908476c20cdbeb2c3f2b6faeb23b51d23548d97d474aade482a722b7b8934c6d29394b64c129dbff64ebf929177761e2104f10f5f3a1d1454aeaa26b96a981f5dfa947be5225aab8e7082f78e68ac651ec64458659c9518e434a9c8db04608f4ef0f248e578c4274a8743133ef79c51159344270c2edd4c394129a1a2d853bb1ffd0b3c00e95188cb8e4df7385248be061cad7ecc8d9937265b4e485a179ef7f0241eddb5862c25d6d6631ebf963dba6673f165e86d63ce30d8d77dbe941f4a81ce4a5d29c6d18fd4b85e388b4a11bc95b91dd097c0a617ad0e3d220c1de1d26869109f56188f7b8a7a174d9370eada75cdd06b67b8239f05f6d69f74076fb8184ad8ed1818a8224ee774e42f60b2915f2e8f415f1b8ff1705cf57483cb672a30f3da64e4f0cfd8096e5553d82549c663bd376f89726ba07ca156d71bce254a41b8d8b1d09073e195412becb41c35cc307bd31c9b3adc285fb185a5c6d5c29665ad7692470003b44fca62e6a396fdfa87214d90bb10ae9a2b07d58b65af0650898da67479aa0d5c49b1a0eb99b39b98b64f644383718ea77f83a3a02fb079da606c7f1842e7a6d7b53d6cb46617c4e5279d888905de14e7faf27c854b1376cc1f03e3a8b6c28c2a7650ada0040991a908b66ec6aff1236deb4aadd6b8193bfc228c8aae29715715d3760c62f43b67a3ec2c395a831262317a9f4d026a303db6b2d8e70652df2e0149bd5b71887b2a3c37a3ca8963b08ce86a1d8e1214cf85112b1f1e2c2c373b6e198b69ee388eaf0658aef0760f12096b8d49adbcd23a417a5148b8fb63be2562965df33f5636f6a1a0196e9efe3aa4d3670ed48fff934730e1aceec8767260261fc008e6d7a6898a3c36855843b41b141a7b5384ae60ae1fc1c77fbef8f9ef360d63794f7d44b5b1a01076f6760934af9e68d052bea085a9aceedf9f8f10547e351ab0a8d4bf71699cf76c0b95cd94c74bd12644ac3c0bb6d3b1f055f8509f6e990a4ef96b4579601ebc9ad5ab49837b302e730fbe2d17e767da2a5116a0f7b6f676d03a3f1b24361a1c877638d342a1550e5f8426250cd56a7e7b6d4797b82b6fe1e95953a4f764167f7307115e98abaa557050a3632f3d014f053c30ba917cd619deb32f7a78e3e11d7532a56065ac644639dc58f14cd7b2a4e02396bd66c95f9ceae2f8612b62041cf70913065261a5fb01257a7161f9af282c990fbb198d3a195d14872224531550b31e656cb08f0aa9384ad957c63fc8bd1c01371ebada4aaa90c2dd7010931d5de0bc509ae3e601587d2d4b8734a6db72b1c11c2e1f389b0bb46f38732bac725ba7739e7947d02e5335dedea96c6f11813276e123216111641765e50f9bfa548ff472877c317c2aee7fa7b4dcd5c27e631c922ad9c4d8d4bee4ba4f64329b47fe4c7f8e8577f24008dfe0ffcfd14cbe4f3f86667d327a76519c665e57898cc04afd29eefa5534692520c95554a4aff043cdd9046d7ca376540663a5dcd15e237375693e2326ee88f9625f78f027df30d839cc75947c57251dc14b61642bbbda71483d2230fbed05c3d4ec0764bea2f72eff931a506a9ba7d8f76cc5f3cea82235f5b10afa8cd0163c11a2a0bd4d598ba3150c12e6c6ff6fd33482b221220c0d3d6bf45dcebcfebb0c5af3c68733dbfcd3d74e929fceba7f0131ab11de902e89310b2ccbb1515613d85534cff0e5131e2e3e19f6218739518087e197fee3ca0e78293412d1e29976bb1ee8a290830ff9231b30a82c364e3607110c011e0cbf42d3f4a8eade7e672bf87e705ae330d2e51a10bc8c510351dda28b51d5b35e2923718dbb888fe0ce8872100f8977b7076e3618c5c77a2e14db0a77a6eee5b84983affba8496bd5176eee319b8bdbbbba71e2ee36188aac188b58b39690c04d137e8c0650296a3167fca6e85474ced401555fdcf9f92f21858a59f729fb44daf957ffd64b5205d38badf850046d6a676504eea0a039207d3fb6c79fe0a5f08accf8ba2917009a2c89fff069c7bfb011618bb8c6bc7a7afbb2359c57858e9d7c9d2497105134fcbf92de8442c75e4d28ecf88ea79442830240fb851490c9a49ef5deb45770bddd6e73cea4c0173dc3823356f6e95bd2ce158c7cd844fd5466716d1b9ab69ed378b03cf82d61a34561ed65a956caa829255891e01d9268cd5ba7f97e8dab6c53a378c665c2b01e29932974bc6553f660f269c5fb4405bc4887307cd197c1c3a3fa1c84cb89d0343d2bcb2320f766a51cf8e50c96ea333289a8d88ac845e5769db140573d4f3d9dd4c4c25cdc115682313f94234ff7df365386657dbec4d7dd8535811983ed605bbd54a96f408b0718e3dbd1112b64b0a6875a2817bc1d8dc836a491ac72e095b125d52af09af8358c20d2db408bd939b621f43e65c47fd98bb8edcf778eba9ce418feeac27ef3b5ffba3f6245ddb718c823fc51748c97c64dcfbd16f1337796a2a482cfdbb286e11463b77707d8dd5910914ff516b3782074f18be30086f790901f0654b19035b12f4c81a0f4a478dc62934c656781b6334816c8ec4a7bb97c2cca4a157e843c04f06dd00297da6fb82de43ff752245d18be17522d9a6e11e307fb6f77c8a7c0043200577761486f361bf0dba1a53365c9e1876716f8ce05b8c30a6db11bc0cbd5c2c8a7b373667a8ab2458172e7835068615381f965ffab99e457d701e0c512633ef8f6157caf010c756948bdef0ee5fc5e3e83ff686c6310548c698763ed48c49d3124151ff9ce81a29ff75675a6c9db66d8f69f443ea4605a029da3fe8fc940ad71b35a5c3852aec3f4ffecd4f5edd61e5dbf292b5d999b8c67f6d120cc8c4e8aafb588529a7ddc05fd64c738fafd71936f6eb12d8c8c99d1e2260ddaea00f57054cd2fa5144c8802a6439dc05eb15eede1a8f5ba14570b60227d3b6f54a1e2ce2ac11e3c05999549f2a5107ce1b5339d4a3bc7e2aa27988c1866b15d15e971062d6ba91f4569cada6b72389cba7d6e13d04de7d54977c78e9b992f16bd64a6e33ba307655d95db991ea6220fdedccdf8dcfb5d428efb4c9bf81fd59c523310925d589faa9d2dcdeb0b09116a93263a5beb6f49db4d079365ee2a074511e0379ea6f4854822106cfad05a0c662663bfc0a31d0462194af4c0947536d8e227e89c7703ab4f179243422ea6df174ed4d1ce4db32662948b9d17b4b9cece656326f3c82532f52b030156165bf376a321c17e20513a6bf21e416c7b5a7dc8f796d7f165aea963b059c0cf91e34dd845282758509d5b1704f7530d344a05b8ba65994aa95bea09c986504734a5d19b4476602bff56a95a78d91d772330e4164a7a8adbb3668cb31129c9c0de4db678c056b98f9a7acb50061720fbe148d03dce0a0be2332cd336702260654a4a32a218db767786621e487aa92076efd923e00c33a4051f76be7d2061cbd59091ae5c8f6454735126479e878128dd84728bcab787cd0f9f914af55776e99ddf5f8ccfbd02a973140e5a4f349b379c5d13f1c3fb85861e6cabbbb6dde3ac99b8b134100ed0b106d6f7b3f24988bc075236a93623782b1920f404a681c55c6c4d42c8ce99bcb0774838d736aa2e881a5fc722bdad85e7d9f7f3ee2db6e96e268e38e4bc36c13e59dd6a084373fc0913b323ae8b7d645fd80e5067fc961bc411fd2b8977b46de2ce6712390ef45c06002b208e0bd738f3cdab1f17ccbabbe68bd8d4d5fc96ed828303b1faab5ae705ddd33419b49fe188d4607c2431390e28096faca87d634cf632f6ac95c2fa02d96a1d970f9a91133a984642b74abdfebdd9d4a924f77e51dd77db8345e87a0e8539affc63b3db499641650798778a9f5cfafe114e7885d074ad87f0156e8afaec6de913395e1794b3e98840cfd66a05431cbaaa9f9d722dfdd63a1be52cb0f6c1af12fe8c45a8e13c448592616ba5bcfed68a58648c2681db8459458b7349e7a37b49550d7ecdbab9f67751db3701f98d504e910d4c8d361205a01c12f838bbb19a6027f0df2e9294af9a8fba1d1a214b954d1eb5637919a2bec0da3d22295bdc6b05cdca701f96368394ae3ba5005ae33c8280b023634681ab00391d28f41290f06d4fac95ff78c7761d0f1f4ecbf72af30b8a5960673f65d248040eeaad6c807fd665c864e87118e363fdeb4db41308f1a0baf4ac42c589b3faaad3d4f92a73b2ddfb5256e0995eaffd5bc8c1699033e52129c1c886887459aa2ddbf2af3232ff777048be60e271fcbd44e285ac9901b1ae01c35c3dbbaae909e8434eec4992f6f630f18503fb9c252bed98c0b2d5d27c085f26109ab7b7821923df33fad2eae647ebc72491ab76afdf1fea7fe448ed9c2d6626fab9fa251e06d68f16efb77e10e4402eaa99c83bbc44f0fbe2eea01c67f558b1051ed439b3c94241377714a02ae8a14c71e37a5f75121a9ec89e3727915934a20a1a06baa4f606f1d3905c215d1e47ea1f1bc141031a02f367f42221974a2e614055fb93899e5ccd33911cc32d6be34135c44f6080d9acc41509c66cddf9a53a7f8ff13001e9e7aa94a6bd73ec1013ce131032427f54a74a7e3536b8d28d69e4170d4728a93a2ffcc9c4b1adb8e56fb5039f3ae9b33067d8afb4fe1ee40342a87c5018503eb10bcb9c9949d834a55fe8f77f0bd697b0e6c1c5a9000b44502b56000a31278d0e27a0a1958e2d442988652c2b6f51472e5fc31f5de01d090bc473fe7a1b621c1548cd5950950409e63f101c8389e615dfca9eb297ff1f9a4debbc493a3f161a99b6522e71d9fb28b0e595f70c875a1bc3b7ef06fb635993b2b98386356daf056445d60174eb1bfa3de91ad33642c26c7fc053bb8891bc3fff7820e611f86cb960471b62b7f4f94c1f98286013e1e3ef8278307235b461872b136ef6d419c95e2d1974e67b6be947fa6a823296b3e68d19d1dc4d981b6504b247098e2918fb808ca443a9b8f866f0e34141c2911abf0cb0c43e2d49fc28ca102aabc32b945131a9892857ca4a260d550cd5507ad6421f63ceac89a24c70df8076f60b8aa502f1ea692ddd9ed24d46c2e2ba874cd0b183405dc6fd821c20668d03885869023dfbade1364c6e5385a8ad086a917fdd43f61a16d2f2ff17ebb5cb9b8c07a2612f94ed97c0c517a3c1dc6eeb2ab99a6026b8f952faa1d8f158c0e4bfb750e6216c83a9a92b3d4d7616364ceecf3a8189859bd8a90ea5e83d12da94ac871d0c5a81a2c1870a7b6eb8b51510badb8755429e8a9e3a7a200bc7ac892ad85cbdd442fbdd0247055f2ee7b3ea8502d10cc6c0de459db0b47ce15dd2787684ad5fa58468cddbbfaec026c0a9384f3becd0a289f4ac34e6ab7629b123bbfeac6297d56e2e2c0a98b4d6d029262a688f7fe5773d6839189bf30776929abb7774cba62818e119022d38835d2644d123cf9d3dc6857c49fd85067cbf5e3671dae5cd97558d818f2c26b02f2360a4e5f5f23be1779952abce7dd909613f7d01741b0c1d4d2f9f04d5ae7ed4b0bf3fe6ac7cd7fcf5fc818b52c022730605278ebf5e0c69cdf7108230ffdffda0b138b50562de780b5df710c5172f7401d49a73a5743c45bb0dcc83fad0453843c83b48e41299ed9486f884d214ddd62947efbe05bcdfc7148f4a84bdee34870f05d5d6ffd65419d1aa9063cdd05be5ea63cde5f69953a650d6f14fae64ce8159858c5e6b1f1ef3e439da0fa6f04c8b9ea8dda67f879cbe9dbedf23b93683782584a63cd7515e10726f94e2465506c17218271f6fd95d905c8d9b3e97f09ebe078b3bcc83218f29dbc795fcfab3fbe167621d686665c906fb8523f2bcaa8009e02caeb85ec33c455cb9de33813c2502a3f3ecd84b1dff5770780569068cad7ddee484c41e26f960ec50102d8d034ca43681ef55e145d3f407c70b011018a3a789e0898ce3db2facd5083376e870a6cb5704ca2abcbf3bb8a4ed4e5b10ee5376765a3ce627361e12d7961769cccb60f3fef5cef1c6c4791760a44ee3bfd4e3351b0762c8577adbfc55cc88a1678e0b50bfd40f7d8b386f985c4b8aa94e9ae490161bbfbb53136892b7bf20336bc69f22a79b254b85a96267619e82f5687a789b0fe8f6be828d4631aa7915630a330074cc60b71cb59807d69f35895ceb6c5e61090acbcdacd9a927a48e0f2944e872a2f8276dfdceb3c388fc9b7fe25228ca54885ff2d4b79527d0993ceb7c27a5c7d4c619e892f1321cb60329973cfdf53f2f2a9160d992568843ef6ff05c4e211ed0c331d483f3e584e5bbf356438cd15a6106695a5e43f0f6a7fafcc923ff4f6acf74bf83f09ec57e570d51e9f8bb2fb4a0e90caee5136315c1a8b4ecdf18dd9809bb6d85c971fd3a14cf82df1f50a9830a6856fb3fa637df805d4b860742a340f042ecf6945c8833de6b45f375885e1ec54286108d36bb65b40be96eb82326cdbf65ddf34c42715e142afe62ec61931bb9f82d6b7f4814c50f968712b23725aaff0eac4ede98283595774e6f299036f02ada45fad9958a878bcd65d143ece14df6b96b1a513ccefb4a3264e1b04de1ef28332508c25d00334611c580722a52121c541b29004661f65a18bff3ccb73fa07ed0b36be79cbc91f0781bdbd44758d38ca137c97151f86b32e35eb1956bd9e24d49904f2d1a958626747f010812861b7be6331b6865afc0e8d1079899cdd63fc307233115b3eb3650f832d69976635ae44515561108113e3039b9851984d1d0007dc6683217cf908e68d45509fa74088fea751eab835a8fe15ab9ca39aaff3e9e7d7976dde7cb9d917f8af5c95948d611991a9a229aeacf7993ca7e9a9dd44f45517db61e80b8a75bb33ace0d6cdbe3bb24effbf5544edf9e769ac6b9b126a17b55ebee23bad2731f402f6565f276dd74ed25320f73c2b629a3cd514092d1bd1f12de7ff3b88d906b92737b558cbe519e2c39e88890e1fd9734e03ed2c69570a8bea021a869082725ac2fa330d39a7f3de293fa7174f11382c39929883a9ebf51b4bac45428687363e2c774a8d0bfbef29436806157478b5e3655d7b7bf33fa95dc80f5ff0b8a2174a18fb7923250eae29eccf29491074be217dee7c4a2dbd5cda834d16f11c19f57c1d9690842e20a3606e5b868fc3961b513616ff3602faaf1200b77a6ecbfe6cb19201631c93688f2167ff5ee8ce455004213fc94d0d758c91ad3c0fa1e26ff14a7b7d182d0b880e26cb76887fe2537397b68cb157b20107311d0b029377d7ef97ff2c2686e29f16c6610d8e401f306515d01d142402e9a979288788a5164f00981e7c981c9cc7d0e7cdb73c5c8d58fa78dee02e5fc6dfc4b9ca81be3bfff377621e6d0be0619fd16cc0e30bcb0de5152dbb2ccddec0af76e0363548978ae321a22efaec5003fd4f6c4fe3015d5b10a88e71469a3f42aeb5555495ee4b5f845543d58a54609b466b6632c02fabe776be6e5cfe60d7166243a09e7c8726be3b707c30f8d1b657c27edfd9bdea11facae6524a0a2794666e3e93879025b2ec85a83b5473cf49c94d8ec3c62e15619c1e01ade1631e24350d6bf41912a83d3a2d06654c26797e1931dd95379fd9020754b8cc32de06faa99499b797d6051721ee97103aaf6ca304d49c05798d16cfd2b1c4309ba4af650d4cf7ca9b26327b5ad92977eb23e631b8f966e2dbf609667fb89d97864c70a1c94ae79ff0fbb8f50e922d0515448064b56cd8477b4064ed14360154648a8ce4cad831c8e89e90ee74d638803e72cd8e94f1fe92fbe5ae92a5975c7dcd4c1d5604677dfe4412c4d33546058cff7ab935e3c63fb73a0e51d00e1996b73b83684026ed5207a0370fc83a847d4a220bad11415bcb7a05de262eff86d42b5baaa01f24fea383c037932ff432655ee907b96f0642ed02b424e1876253fde7f59972f1249ea7fdef156cfd910ec0c983be4f32a67caa5e4b79395583bf2b133f4b0d240fd229cf1cbd6b459c65696604bcfecf4a32cdc49a395fdf0ce64365e0c5c4e69f52658d34e907f83f1db9c03b00adc4b1b565034e6650452fb4190c5f0dfe4289ebbf90e9e205ae84355b888d9e77bee1f3bd63ef6a3c45f5c2361f1bede99036c656a18b28b7167b40aa30409ad7aa644e7b18d9ac45e26125758a9834e2b0dcb0b13d1543841acf5dabb2543c7c00ee0f8bdc8a19ba3d30f93fd388ca7145fac8ee2ceae9171a747d20550506440fca940bd4950d38b0171a1db12ef8171f193cc8bb77d465ffa7e7159bdf3cafd6d1dee49dd2e6a19d9463f8e9e3b9af31322d85fb2f6533dca1cab8f7092c4c7b92a888207c67749e048ec331614ec715618e5f4c380ccd682b832ba1bbbf596d5ac69835fadf64d9604d4cdd5b0d17879bcc712624eb6bd47f39df6fed26b85228976eb2fa42b2429e9ffcd05da0c5aff372c632ed1858806ff3c91ebb136180a4a518a6bf2ca0b3bb8f833b8467e0e23650e8f767b062da9ba37e85d85772eed978ee84ce54746dac2df081b9d4f1cdd5986964055d9c688ba45e89b52852744a579df3b1d655d0d6aa62aff746a2c1843c67a081cb5793215e88b83ceb0549d3f6d9ec8f0a0cf96b44d99153e2defe9d67a9e97656d432aafa58fbc592052ee2d314c544705525252bc3f0845a324e576f09a06438c308343aee2566b34f6b4b4c731c1e4871b0f4115305ed8a4e026bf63f6542de928be128b2aa49bcae7ea2aa999f24953fc9f0ce7afaa3aba0d2c5f293d02e21f00cebd0115e9966d8d1eaffa89f33712f5715ef7f42f5bdadc829e95fd92826ace24fd850e9ac2fc850352a2554ef5f36abb3d89ffd2f41fb86d714761d8f2e92a9eb968df3f48f18a9a75ef79fe75cb02852a97c208fff3ae19db7b15212921a33481d051599c6f795e58eed19840032c82aa9fd5c62d487b7d5adac0e8b011c2afb9da6fd29eb383a08f018d323f70be103566b0567484f1904a6ac822e7ea7940978052879f0b02b7f566b59ab53814a514badcb176b569c76cb7c5b4ee680d48a61eef38c01d16ea9e66373c88a473237496ecf91fad49d41222e97309f944e73fc773ac50d29f4c626a608cc37134781b85579d85c30d5edf348488fb38ac8fc51742f062d57ba9c4b8bb0ad306b0ac7c0c1d5037a7c0c75fab67bb49fcb9955eb60db9e8e220de74ba4599f0e593040c05bfc6efa38bfde61701b79c9b60810345967fd5a8e9a73cd9d2a729544d9c68abb88a9c1ff042d2616d0d7c48008a4a7bbf0b857dbb6069092bbdc98da1ced380117eafa328cb87d103414cc9d97f92bd60e046efb22ce2b188df2d0327fc98c2d4d871277008daee62d2f2063e818ac4c4c865113b8ad8170ecbc08c96fb9b924f0c8b450ba293109f3266384247b652580f8b1c01c62750e923e3edc2888e37dbf8f601e0f8e3f386bfe2eeb46de55f992fb98e20373b26cd04bb96f59ac58aab4a502db9861cceeebaec3358de8288e12fc2c020a064a1359e798573e99660c5fa3d7a243e0104095a0d48e725d93fa89e5717bc48bd0fccda6c5e1f993509b897497bdb5417a96c11f78d18037d14d7790a31680e362ff17d7dabf9d8a4b85672dc63811cf0de15701e82de0f57c2d9b10d029cd2394ad9e22c8fa3d7b5fc151fcdc96bc886678bf153040ba5851d129e871a4f6b0d5167e9771f1a5a139abb62f34ac9ce9076fdc0b3b06f80b2709b547ebf070134ff95fcff11971f20b1baebcecbfc801b1e5438e11fa28acfcbf5a58a5a522e361ff5d936cbc34634f42ae94f343076cfd6086787c1814590abfb9fc2b9e862e6b36a4fe3ef4b3088750ca171115ec924c589e5f02d5b97ce8ab6922a437e9736ff8e6af91dfc2660a06f23a397b1a1c91d6503a3f3ec6de843e100c725c2acfe69429b9834eefa3cb4f32216e5a95c4eeb59029761423b4c5d928e45597d7f5d9b037123512b52177ae4ada9f15aad1dbe3af7abd09f309d7030c5ba9fb765324d7159e4c48fda0e147d0db56d00e1f0262bae8f0c3df7bf0ba8c6a27e487abec9896d4b027fafc162d5c4fb2a936d11760665a2d74df156b28e676c2d6e7a538ebd93194e7dca95dac6e459cfda1951cd2a089b4578d10427deb0ef2ffe19a0c5d7594596a499976dcebdcf6e5bee40654cbadd687dbe54b0da0c08add7ce9351db96cfa109dba66f274ed60792725d405b56d481df6d221eff853003d3104d1719f0cff0744611d92dec12ee0467c78e358b650c3aa471c5ef81d70815a747ee0cb3bb516908b3407b5455f935c5605a6080f94fa3bc11116dc7643fe416019705ddd48b1840126b5dc26e425d3d7be99c2de0f67bb5b328d361b611ee72f16056fe0b02cb62f642b5af9db60a651f63e3c258b71ad5becfa1cf86036695e4558e9db4b56ce3ed7bc15752b0022b11a79596204510c96714da3e78c9b6a1a28cba837bb492f56e9466da5403c65eb181aa5fe9625af7c4bcc18fc022c90eefa57d8a9312782e7679a16013e73e369b05b907e7d3c0f9b60179e5a402f82451facd430b9b9249d19b519de1844d3998146986b2e82bec517d9496f3cdf5a9cd86385b2007e8cfd8173512424d1474830dc3b69d0a4f3bdb612de344ad4f80a2c257fdaba6cd65a5f0c805134c4058b22b8effd7f5dd15d58a47ab08eb2b2e0d23ff012f7b0b65fb57e76f1836d9e5a5cdd0f59d89e708dcc09910496717801c1b3d57517ffc2566488f692743389a854373dde3e3e2e53f27ec8c1af3d257e7676c93ca6de91ba478c2af39303d6ed5d0ea999b19aca0160ba8f54828414aace1c16302a783c92a248d957381a3c79bbf295049316f96b934960c8e0da020d42eb9d64edc7851167c0bce82e0a12f988822d1d6a151c3081d669ddaf19a3ab1b207d29a66f582ecad6279cc88a3f398399900a30361cd5901621a21aa90107a161e52b89871927eca8d7b4534b0e766e297f0de80dc2e97e895e14756a8be521c223726127bdbc276b5c7874ac574d08ccd17a1447d8d43569490e6420c5db331ca9b5380c41d442120b6b2539732f421cfe7f70d144cf24f2fd0936154a0e07bf333ce743fb3e2e3032898618ff72c38ace57413b2d5b8564db232806d04b4fceff4292234c1a34eda0c7ede5f56a5631f1bc65f795be3b84b0ed5a1d02bbb10895f50fc55cd5c3ca104370d8be34b724a92d8acc7b678ca34d0be5e579b4c5460bf287ba2248ba68a1466e2b12af50671809f8c45a5cf1829eae399d4cb92378822c83e2c31acc33d75acc10c904f899bb19a07a9557111082a9fd1707a14225c0159b33d770e32b70bea121bc81ccc7ec4984f56e1cb8855533f8b34fe0a9790d1c4be3c3ecc46f6e7bb76da94b2a9e8652ee53b031c7b3e93662cf62ca5bca5729e83de2d8d8d166adccf3123c9e8e0ddc0d1cd7339d3cabf89b74f4bf91a6b2db0bfc363edf3d9693f93c26e86efa1af0e40aaf6e09bca7b759109148b8f2b6a20d02fa508b0278d1333dd533b638f135710b6f47d1f1d1f5a12c682bd68b9f5977b331ac3688a6c2af1c42af122b226997527625dfcd8d8081e66afbcda0786560a75e8a42fb899fe223aca52c6548191222d2989de4aa719f1cceacff421e9b413ee9fef69586abadfeaa96bf92de5a015424637808b14ba343b14bcc62a4b43e8fe24c2137d823528c9ce64dae029b1a3e6a14d3fb7c6227a057f5da3bcf54730e0af6937f6b228983c9a9b867deacc7806a878fe530cbc06a096f7f6b1ad8821bc2b03de04cb265045961b0acddfb8f566ae577593b9d8caf1d3fa0c0879a0f5625fe6388664054327e72e993e8fee5b37e5e7d542e3a16ef98b468f0d3db46c59efaa356186f05b026958f402ca7a70ffc3daa38e68baf0d6cba7b1147a4c767bdd36ac3e336c74e86afedb25e99c597adbc0c22332e7284e10d7195e2eb51cc76fcf794320f81512dac699d63c92420ee641248adfc5e8021ee1964ffecd5e95623d8ef20b29d2fa0cefd73aa2f5b356245fd8f93a4c3092e4135848a5519be5774a48f527bea2ef1bfa90dd66e3c0b747f869cd38f356007413ae6d5be0085bd6c1248a7990ba5f7974cd35e91fbc4ec37e06e405f3c5c71d11b8d2eca9d132acfa8d9efb2f1797ea910553520f5018db9b35876a7d7599683ff05f853cf1657db8de52252ea2df2a9b103718c2a232e31f21861decd523dff9f7ca0ba407724f32eb530b8f921c905e1c1bc39848f2046213f4dc40ba7564aaafe88f6ae9aebbbb52236a8d19a0fe0055d1cb2580a37cbd96f7b3ad6860edbcb1c236a9460b4fa7d489dacc0eee66f58f571e35eb8c9c753c500da746e101296bd6e6de8f59b519dc0284752ccc1fc0883b4e4ea09b9e653710b4a47efa3faea2dd66ac0245fdd086f15089ec72a8aeea84e75912e57026c2d69b6bb7a670fb7058062b44692cd01bb70ac52cdb8316a819eb2624080b009aaa606bd5b265d3fd1934ff073b702ed98bb2490c77345b79fb98612c9c3503f5e5260071ed494ec510f83aaa61a20d007bf5f1608a3d4be7ded10c2f918d3b5af508732351a52f89b950dbd31a51f827fc64b9f288202679474758ecf62ba9342b0bfc194b5eb487dbe8a7ba753d7a67c92efa2fbecac6223956a346bc2d693b24c652fd68d9c198ab6a7f58a292b7d5345735e5dcf3d05ad4e15e1b36180beca7b05874c70494e3dc3b89af84b8641f3dcba21103de54fb3916ea8fbd606f92d7cdb85f8ba475ab009349f4f4e6779427f6519931074a2ccdc98aab22d4b896d36080910c6e2f7accd8df0fdf89b1f5a0a3dbb644696f87bc4bbcd5525c9f6b0d647745553f2adec734e3f49b89e7b02d869560075e16483d70086502ca308dbd5fb53d8a33e3db00c51d5dc9e950ca669fe043e2b3d302d743e6d851ee7cf6a62ebe313d23ce02c08f42d1959c32f9a0fb103012992d9840c536665fbbf1f3f410c05e168f9b9d21d52b522f12ac0dbcf6c149dfbe88e5fd6c0cd3df2de57d5e782a95d9d5ce3aaa6684efb11aa616bd8532b7175f61bccbdbb17c30c9e6615ef93e6b8d834e9c01269a4acbe16e415f810ddb33230fd5e5303b2eac95873d3206fb4b89d21ec203dd04428c4d2a22b3317e41d604b4621b7002a5f7463e60105819e55480a89f271e965e1c08851b035a6a59db03ced42a2d41e0d7a244d966208e9e84fb5d061e1445dd56d471973f4aed5996bef0748401063a6aaa2f22d93b5e099fac49f12e01b0f279c2f1360772a12dd0fc22635f4137295cedba446c8fc7afa879079acbfae96bf204337c3e09f6eb349d5c811cb9203a0cf2ae52e17c99938f945e197354a1d30b643397654cf2d25fb4119d28d9cc879faed726e144d0f68a689587687962e7d94d98da2857b37df313d04043cc6ecb04a0fc0a83e7c3fae08e19a36af8eae8eb4f56d3e738c627521d13d7ec964a1dbcd08fbb9be84cea25c9a0a6c3e6a23f3fa788fc4db9920f324ad90fff0e72268f0a866e06a16559f56f5e072111db632c0ff1465ff7917dbbddb5788f8ab88ee93ba62fdf7944611ffc35217abb095bc0ed739aa328a59f2939287a3ef267c1820a1567ce4b93bfaff23a98f67853af6cc186da7b183fde1508eb55b27f7de4b65479c02b21128423cab926303313947af012983f9925f1d0da40c028b02bc609e8f21863131b9163ffe91e801f9667c1e06ff5cd961074b42fb3d104b879efda2a0cdca7e67df1d11131c7659bff5c88c0fd55b7c6576801436007f72b0921b6c6cda1da7b7b3f1ccd68f08cc64a90ef11997365756a91749d99effbb3083efe0fde9ba0af511d7e9404bff2ddb71791192ac25a1fb44f6d72009d17b2ab5505a804770770a7fe7df657e2ec66615a4d3537f35a73bfd6876dfb22b6210e7a16a0a2df5f04814008d13fdd791da7a504f42257a37dd4de17d09afb53570b10605163de1ca3c3c0f3c6fc39da8157e7688414295687ed9f560077cd4a0f6c57a607a2f9f44531b651e84f36b07c6d13b4a4e4c2218ef84dbd4ad0ef13fb739d812834c657607a14ba352b9a2b6c133248d8e1420d5f4205f87ed963e487b4c9f6c6b1c1cabb26bdfd841845ab0689195d286b20d9676aa1fda57af05a18ecad3d47e013a470d7f4d3ea841c01448c396f6da6e0f697af71807eb91ef7d6cf2bbf8cee2c22f33db5773c5cdfee41bddab0db240fcb479dc88837d8c75bb01ad6fe0a1bdb4fddc90589026db3d8af86cebcc5c1bfe10242d58cf6550e44d95126fc87fbeb50a8b1447f290918f7cc08cfcc5110b167e63459f18bde700970967294f2592c418438b76d232e19947af7e4eaec99e1a87dd0044092f5a897d2d19b5f209d8e8842bc4c1392267fdb5d840907f8d09373d7d21f7341f57ebc65fd9212efd5941d5de9795bc94a5ee3f12249d489b262aa273cfe508cc51e67f420d78367df7cd4e6909ead8ba1f18a16ac6ad8d6dab50ed5ec455772fb264f0dabed18af0319b80411ff60d6f33efc0ba0f779009a92d65af5dbf2a38f87e343f3bba55d84874970350c91dcaaa00cd7bc22c99aa7b300ad0953b8fe949c130bf73df112f44b0b3ca8277b5fe3562344737b8dbc300880ca25b41f1469e037124acbf27b85f1f9179247a281005d28cb8262bb2497aa0cf549d2ce39f7c637a18d20cdfc00c3f79744fd92f4ebaf69ecda966c78f522370c6785fa260fa5b6be69fd11988999a4dc0fa1c9bc15967ae7a18c933038adbd800ca1d3dfaa6492bcffbe55e38828ae56424fa1966558130981d0c655d094bdb12e3a0bc542789fc7aeecd3611f4cfe2ff628447821db57b8abab7bd0bc444a48e6c6b6c619a53b7a9c8454521c0e400c6a07999c272c2a54b0872f7b8dc3c681b188b6483f3d2d8a87373ffe6719faa4d5136ef7e6b64357732ddedf64cf11fb48280cde114c5395effc74c691288ad44831bb9191fe8b44b876919fabdfeda5e9faef1ca954ed126c549064171d2583665d0fdd9d17aa8d7d0dbf3ec543cd84f54543d024c2b70f748d2d26f5a5b86888c2143189e7b3afeb6c2231825d75b4bbcc2bd56778672bfb0bf5b57db60e6c4ac47d313af4bc0ebf126d8f0a6de09d798179470c0ba4b7b045cd9dea25062eb3a3695847159d9a51954e5a13678c04de43a96136c6de1235818862c6e2a404ec7f81f59a1ed39d1c274395ac7cd89919033379672cc1bc9dd0bcc199ea1dc3a9372c49b79de8b5953971caaa9d27e269dc7907215fa94dcfc618caf8f270624888041b8357c160f24d360aa4637bc3c6fa39929b6ce2eada4c0712ecd7c285ef34bb966fb558059a6a4ce9cca624663ec37cd72bacbbefd353f72d163c9ccff01b91c37b68314bc739b6417eeb2de98311448e893aa9f74ca3c80630f173e1f72f3f72ec45c16d66505eb6775ad799200f1ac780896223db021648252ff840dddefce32c4ea9496289fecf856af3e3a63b9b09a1cece8f42f0fa54c2d7490e0f6c403ac7613ca5cb3bbe39914cf9c742f17b72a9fa96bbfa9b7e475ed11fcd9563574885aab505cdd3a9489236af192c1e42c210657147f68246dc096429efa97f14cbf9e3ffbe3bd8189580b781b64aa87bfbd954a88b878a33efda329de7ccbeb8cdd84324c629df2fc8d5b39c8a23d3938b31f0bce3e5c8839d87fcaf40964c47f0b5a1551f11caea72825649d5722245e3ca4f87f86ecdf082fe2502250cdb17af0d31e7f06051a50c472c41e26e66589eb6cfb65afccda297c61d2d39e78aac143d502a5771336f7ba2d8405f34300074a52455d4751eba75fd8436dd53f4a7f3c727c2faefdbea9c9facbbdb88efc94ee5442798e8874e871e8201c8a7d3239b90ec5e640ecd00393ac9221076947cfe8a482161f46e9e8eb462a49df37ce97152ae770962d25fcd8a4f935b1e9e9a7444651fd06efbc2a6e61dc628066a84bd8ce12ed40586d1bc497ed1b47fc58ab9bec9f8e865069b48e781e6212e52b7cfa48fc4b568faa7823de7b2f3fd1dad403c97d3e17a55d358296451c20d213c538afe12f44791dbaad9a1dba1e6a96e41df4f00fc0e7b9857553285af23b0e2b7600d4df35632a89fdb545fc2db824f35219a7ec15f87304fc86ba09afb3d3347d457dfcafdab1b0c7b1d34551f9ab11b5347792a8f744e814dff48bc1c6a414ccb690c32e2b7a30d1039ff031eab231ef125db0686ac1e1c3749c45870b4b0f150f2d603148ace548f6ae86358fe3f85e75be4624e23b0dde6e8e696c00212586c18071250be7e6e198a626ae1f1cec8fc9f89183f2af65a221cfaeb854c3a87009a05e559af111772d2443db5ff5c142346996f369768cc5f57fa294543149eaed977dcf4ee1a333ad09a7a94ab50380ab49792b33a21f1340b257521f574fd0021df7ff07ec478089c24407b84f3dc1d0a04d34d32f12144c8b36a9bead7fc86fe7a3568eeacd8b030854b931412176cb4b9f1a5b6f2d0ed240b19d75383a6ed3292eecc030135fa301171abb0a6c349e64b084eb522963af7ee566aa59f0bae2ace773967d842ff45c8d20763f6bdd7d49caef66e09d134813d5c0cd5d730854cef8fd1b039a6e26800f119df4210e14738b181639361dccf9284b4727a7f5b2a0a8088503619d1abe5f6fa42cd1767536941628d4dfa2763c0bceec82dbcccc41a97717e70c2bc63d0ee4048c2f9bcf15311c570901bc2bba734c13fb47d6251ef8fe54736306b944ca89f0893b9471038f658fa9760889adeb3427106cdea2bbd7dd3104b5d75252fb504b036e64886b13ae81f86dc174069a8838ca7833c4fa1c2e29350f4fce9f2b36e04187f97d7a6fc19598dede877d5b0b68a3fdd90d618724da752f6e77481c1ef04009ce15e0b53b276b7dea21f2745f339357dfea8aabe89d280cf66d1bc3c1cea3d3322880877d7a71e2a97da08eb40464f0e172b10b681741e89d747083380ffafe823bd24f9372296e8a911c1e0b04c948ef37c2eea66beaa8784f3423432dc153f478e1307a62c250e540f277431d72b94df2551ef009e2bcbf68e7fae1174f391de10597a6a47d1948e8086f6941b1bf074bf84f947efc2c354b6036db22c05661b76433e9d34b43e970298c79980c83673dce99873d3552a2dc32922055308e79cd8f9d7fdfe4c70c9b463a83d727a8b4d64c1919f338c1b1862af1ea09211015caf3cb2d30a7a4538ac1c175d178f5eece10dd06a09b21148d9228982e336da5f75afc0ea4ad97c5870a2dd32c7a03452a9be2197db20a41325e5caead5d9cc2a63e6d72ff56e1ab8f73c15778f81a6f4b4d551b903eec9213e76101bf133f5121c152510b76d534c70a559ed919da8639a8375370cdadab4352616618614af4fd07f4c8e8212eac71963212b6305690201c15ca94bea906c7609ac5a1413c87b1f5e26c3886a4437b54a96e91807a19582cb10dac5eaac61609b2651c56395851b8ed8fe0735ae83c908ade5197ba28c94836531e73e8c8b562dc10596399b2e9283983fc69b8ecc5f4279700ea6ed05d720d426025ef14906bd2460ff9497e49461484532db55b0d7279f5f4ec70630f6788d0c2ff219cd1e402850e9e245e70cd987220e2228a84c8601cbddf1fbf080a50d8feebc069d68c0907ea0c642577255202dca3d9f234565fc1602a1cc78febc8dc83641cf173465f264af888121a128fb18c1a47fcf2bb171ade54f7c7cf66bdd734374b4aa3b084c36c5f369a0ce697dd9195592dd949ddffe3f292ed284396ee1c65e26fade14c372efc08115dcdc319391bfc7f128b5e3cc2fcc4af2e33a25004b32b1b5181d328641c745fe753277820969bf3b18b632f6690e1335a598f548ad47ff12c1600277a9d31afe7d4d0d54598eb3e7222c729c21f661061bffda68d90b8ae12762dbbb44207b4619b59986e02f3a20c818e8da54e5358866f46cdb00bcb0b861b5b9378ad3e0290bd124fde48ef4cc3cd885816f60d9d6afdf8290785c8394b5fd011deb0b7ba7f52346355d5eddb0b42d00a530470e5e3ad961dcce23f1e63029199f9ca11a84f4197198c43bc2e6b3bbc1c84aa1f6f24c4689779d687f50754ebe8d4c1ea3e30f1f66736727dea7a260c85b2ecf92dd949fedb639aa82b3f276458b9c3dfde4b8b388e142ef1d4cc2e1fc4cf8f0e0911e1631ee90ff96cb7bc56c559cfba7157e36837bba095e92a17654e756dfad1d86c1edbec9667337826ced017bb26e7b943789ea3ed4f844dcde3a9d33ef76baa32019a8f2388f8efdf7ae085edcda46cd58f68a9524644ce95143c66009ebafff0756524023eef5e2a79e2f3cb41cb1d83d276206f01812ec38346c0641851d19e5177e7b319c6b75324c2bc7a132ea786c3d8aa7214220dbeb283aba6ce677ecc87c6cdbeec726fad3d07373f09a6532c060b4de81cd09b59efa9ef09817665607180f1f1d3a865ddbdcbd2ba3d13983e76fee0a25654ebadaa5ff02ebdf185ccdab2ad7b9b2a0dc720bc9c9b3132bdd78ec1670bf72e59d9b997bcecf9397ade0d92ac363ecce3f7329da68b3ad3d6e7565e0c9be240738b6d5fbfcda3cec09ec4059368a174e12226dca7601d38055d37fbd8f8de7849cd4beaa96d228d3fea002c69b09102cdde00d4bd01925a26cf0ef66b7e83f6eb1a130ce9c1067a857bbb6300b31befe3c8ca2fb35b5f08fd2d0c5b1b2a429417ab83820d1f869d8e06f7d5f0bba157e1d6457c72634927bb04cac5c43173df5b0a71ff0a669ca3005e84b06b77257de5b56143ba6e27c3c27319a3fdaf96b41e5a852ac6cce3f71da41ffb6f498b34447445c94346ea16370a88c79b577f8e97e2b21a5d55b695e113f075677b95b05ef144712aa5b3bf08b54b585b85758b8812ab349c6c430c9eb1cae738bd671a3223c2425f907e79fc017539e84cad9512962b59c36d12ebbce544947a162398b7888c1551f5a2901cb3f2701a356c03bae49161abd5c4ce606998bfcb1da107f625fd8f10723a17a4c796ae8f99d8a53bb50f361038b8735ddaeef038faefe30afae405b5f3d8dcdf2ba9e4f7ea1fbd0c49d654dd37ac2c5e3d29b666a549f4d841a01b739475bcc7ace6aac06c29da0edda09b57f1543d34865c29234c35c0d7e33fcce9f9355a18e94bfcbb15ac0afb8a6176bda18eaf86d45d17a6167449d38ce7495214a6992e71287f74206ce13f51358bd21aee5203eababb44237b6c2485560ad8b577b320a77ed2146b5450d1e7678cd875bd41745af21e0eccca1e07e8e4bd5ad34285f6ab32c9ef23fff8c83fbe8a7fef0d2f3e722ad13458c5958dba5566595e7b86c25025cd5ec8f7aa4c4da2792b8d1859fa3b304fc8f1e858103bd0e425a5242d5c0771fcc23e7e08931755232491bebf2df5cfcd08c3261ec0aaf8b695604c6acb607cc0439562d148d0f3a2f163a10606349943290dece67111f7bd6eba17a809603e6cbfc9749bde2edbbf39bad5e6301b35745e8a116cdc44f65b48b28f0114af990ad8ddad992640599be80d455cf6d05adda4b468829daccedad7cfce71ee06c86f779050820402ad4a4f8678f711cb027e7441084ac89fec2810bedfcee7b12e6c9885380d9a1216fb991e248c6ed67865a15c1c1a0a6cc697e2902f808241b797ea84f53df47c9aab719b10fcbfe6508a3c608ae3661467c8e5f4ce2d551e60ac30488bfce74382df4f866eff635fd4752e5488b804f3aa9d37bd80717f2b0c6ad2c67d5ee457eb134f37e61c4e8c34299cf917faa7ff5009fde7cf4a03dba6e8862c5bfa83b95136fbdad0d60d3a50dbd243beb41522d2617f422af115ec29faf7e9b9de314ce2100819a6b94f794e92b9a69072b202cc076b316a9a21819ebbf453ce8da3c24e12e701022df0886de115c62a5f3227da260b001f8d997c3000472e9b712a77b46210481b1ea0d4dfa75dcf5877010a8798933906bf7f3d389fab6ea56f5e410c36e8db1b060ba7dc849a62ed7d3d5ef2fe2810321b6b4cdf187a0d909250088f1170eca60996b6d9a12b7c7c2b7d8285a17b6a6590495f5cfc9b711a155a3c5c62447aff4182b5b82d81bdad4a40462115261b03f53b840744ff6b066eb5dffc6b7bc5172f75140b320371a7e4391860d3810d20355e4e2ec3e81f9ef3b473cb7d3fdb77330523b5ea6f299d8c0355b64f0a036c5853e2e7c8a25b7dc623017f03e87a9010fe41a1d063bcb14c50f62ef3956a200820d9f8b64347783ebf04a58e2cd5c9427e19d8e170fcba8a755709b6125097a731ed2819219d848824f3bbd267910a5edfe01ab3abcaad578f2792407cc2d78f95cffb564f6e8b6fe1162a36a18e7197df5ce19824b5e4752b54517b26b9b03e46728b09f3d7ead4ef6670f8e2b519740367530b7f8dfddd49e14b14b64302dee3ab364713989d420ab3561c1bc56c4c9bff7db8cd8e894b7af7d50ae2500400100cbfb05ee39072500d0b6fe0e8acd56861e3ebec931fc873de2e124c4a31834616ae386d7382ffad3ef5f8db649ec6500df8ec54ae38fc8a3fd3ced5861587fef19103a9591c194d61757d9faf39622c743a734cec4a23ca0bd3747b9515ffc8df9f922d0789a934d9ff147c73db2750bdddd2f21f285ec0e9d179e9f4e96eca14f1139507391bf2b73366d75412da91aa889fb382f87205d8e631bb9d2ef315aac525463c368600d444ff694ad5f28301e1375c4262c82c753a6c43b916e9edfac04dc34c8bc0cc6ef231b7f8c460d921d48817dec4ad023f80c8cb21eb4dff8fb15bbd1f61c90f7fac5648146df916e2df76119f3535a06403481806b0bf9f0a0ccd4c39f2f1d6353087312f76c6e0adc46d53e074d86e9e666aaeb4e5447293320a9086315934e1f02f6e4fb1e2ece1898178a1a1665c0eddf435bfbe675df897f9dd41961318fcf70018987cefdaea3e4f2f087065519d6c57cc15773a8733be1c6a8fe97583fcac433d036462fd773f41127afcd11ab3e325c581b6439df3170ce0512a76a1b9ed764d208c4b3c80fe02e7692f5483fe5a882ab13aafe8abb021634d4d14c4d4aea9fd297ed0f7aa2a8d0db146714cfef9cb8da7b8fcbba10c5f3ef875a821f40c2a6d6b02a2da4f11bd8a9a8ec074bbdebfd2b1dd072c50ce42ae2d723eff7f0b27ae98f27fc9e3e5885de7cdfe9a1299ce02f216e2d32d2338e9ed06c068d66836433a8b747c2d5cf84e0d8adf316cf2b3693fa501f004feb65ef5eb9a555ba8f11e223c620d2e689e37829f56a90b23485e5c22e326ac98eb88adc75b25f15bafeff7abe0328fe92c42da06b44b2c8370c76fb520b9c509e5de1ec1234ae8dc9356d2556d53bf92d47ba8070570a83af249216774a65c7b68c59ec454876c7cd8fef500a54a179d576df3a230b13608052c43adbd24dad8c5037071d6dac4a17b5df9b2ac2c98c6b8d7ec592582df1aa25e22c39c1e2c2a2c66daab26155226a3f110499e4827d7f65e6512ebbf1f0dc1e6f4f2be24dfe612adc34899d1ea55bd32678442d7c03af30fc84f6dedde668a98daf61e704f72871edede2b7249da78c98c1543db03b0492743aa424dee3ce0b710622ebf2d6331e3d44779adaa79e693b195797c2d8d739b9aa0925540f9ee29cfe6339fabda8855e7b0c14689910b423b8beb0b19d2d2445b1f627934946846183b8a2dfc2d8b9daf42b53bc420f7114b77bd9b40e75b6006bfd075410ea7eb8d26b21d0011d29156e86c5fa34c3ed314f4f6a49a6cfed8611f5a7cd5ee61ed135902df9a59908494d0343dc24f0076fedad9d365a80de7854463de518296e52e5166197c10de2ba2abb8c1b539e8c2035c7bfd39f2482248cda2e1f46a83c18480bd949219999be1905b4d5295460b9e5116125005ad7d3333da6c7e051ddb016d6b3e3de1d3a5acf598876c340f2aab85b2e91a2ad9c71c1088a99c27e5f113e661504067475ae7b15157bd2f53854d92762c830caf2c567848d48a503148983c1582fbe3410e00a97fce6bd7c0c371c582f97b891945bcbbf4a0298caa3253365cdab9fa32f6a5619b2225f69cd22085671bf3c4c19284234cb12064c5f6f3ca15c542b9b9435e64ec7988beaab2a7b17c0f1ab339c997f2c0e4d325d3630ef113c629c284f137cbc7c440c80d2761d89c2e7a154e63f84571f69896ef84ad238daf82025748cec5e6eb320ee759d9e1b1cb8848958f0016a0e14747e16c4f7d1460b7d4ec71bc23d920e7d6219c26240f21abc7f8ba46747b3e92df184220db23e5750afad451e409eef0d76e47d8f964c77371744af7641a145a5c99d0897e69b37d151cd3f6bd334d061624d3e9f18282f7103787b872dc52cbb6b660be5d4259d91a4e7ef785de8911b9f6b6c99e6fe6fcf02d3407c4942b4c21fbb7b1a97beaf36643efb00bd0cd21435b0012eeb1bd8ef1d29d1a904077dc5d378afc3f6d7d769b115dd9ab09256e0bc203bb86f93bbb3e162aeacb8fbeb9ca6038145f290decb9e2a1882d81d7b897e79e92f3206ef6a4cb608309b434b66d33109e180ce4134326497bd899218fa8f87fd466c76a2471e831f7a05bf6c58ca5bf5abddc0793c0d5eb9e2a665f56f984c29e6ea8abd95b0e36d6c72a9e8c6d927223ee014e36785653413fd118346ded443d4c4d0de35d9b01c74eecd4dec4dd041d46dc124ebd6cada21944ffe168953b316ded52dfdbed908df152bbdf2a211e620ec5e38f3dfd280d2dec65b0c318958d13d12990ffd6bb2e60aed45a6b1c58b318a12caa8b40d514b54ac0dca565596c53d987d24f15d61a0e07214146e71a8e56c5a9ce35feddb519735e1dc3094cc74e864acebd5c01a69bc436734488ca0192d9790b32fd7dd6bc5d8fcb4a6224d2bbc8b7cfe77a18c3fba21698400eaed68ee1239f58fa34500209975a4db12bcf3cd60d5fd9cbc52bf8f597adf317d4a4f3a13ffe6ee050c5ce5fa9333046662fe11fe374bd37e6da2f0906cef2143e5c9859e3e56d8c567ad7e6e4e983964534bf026417f55ce3e4ba96441f66899ca9bdbe5a7ebba4cba456a21c23c4a3c180ad16c1c2038633c3db533fda9908a97251ba80c4913fcfeeb85228ece69adf1d3d1463ed8e02003317124bba69f9eda6988fbe827f0cfdf2b388fc4ba292022e6e7f793c836aeff56cb7cf87fd2e752f163884c3fd027fbfe436cf3cdb3979e18c5e1c86f6305bc9618adf2ac13ab30d1ba6c5e1fea03a028ca0a47982a0fa8af81bf9fdc88b172dc4a6f7077123a711a76a87f9e8252336f928a5c480aa5bfa3cf6fea84fa9386627986416065b56a7ba030f1fc90c3c525818eb33399d137a2887d682337954f599846a7e60846a103fcbc9652398bd8324410feea486c54c3780963f13b1f0353481e1626ee9e1e711a9b99ed0225c5eb7d0e0dae15aa335f5dbf68eb6a70c4bdc5e3d6c3ecbde41cc4b24d90f1b995ed2e4aa0a3c424d4c208a5727fcdf200346ed3ac6d7e4bdb1bbe5ec6aaa954d8fa3335299782e7e08295bed886fe85319f04feb7ae3bcbf29599d3b223daf76b7ef49bf7c7bec5881b0e698bcc78e828a67f0fafa0433da2e07cac960652d3b7133488f901fb7a7244ff79f2344965fdd84972b040a63e13cc125d1943d12c9cd74e3dd04f96ae8c76d95328941198894b70bbc11709f324f989b5f6f038cdc8cf32bb67bff9ffb7dd13e4235ae04c7a0b5a26402bede7325cde60fb19cde84af3a7eb117c20435a8129b1193d45acc42962b52b418eac288c3500b3f04dedb1e8185bb7df63cb9fc0f977c0078f7a3d21543638f0c844177163799768738d3694260fd2308d6608610711cdb00f0beee426991ada39b9484bc226c0afd41d66193a55bfa68bb556e0cd0cc837c845474defa567f72bed004801766d5dc7f53b0aaf4151f3fc0f1292f871c8fec05b91586f5f2bac368fe0eb96006a1d207a59039857984a63f60ae112ac871634dedf8a81a4a175fa220a46c462a34da1306b86ef293f6a91b64f1d92fa6409775f8dc6137234945d29622ad6abc075ae4366c889b7d9ca9882324aee86b37bdf3353f4086308f24d34b9fc5efe9e7f2061990f1ff13efc14dc7185f0f9ed20fe1b2b3dde3507e1934409aea2dafd6221845424ef255c6eae14da4d5b24bb6238d6c5ec8ba329d1568f4de29fc632a685280329e8aa50725945acc494ab4fa607a335643bc4ba7f2a3bbee0f55a0e36dd789215a14f80bc41034a6a2230511ad391ae433b2bf416c9954d1c9b2fceb431e51f34935579db20e63f168d83d0ff38f6ec2523335ef7b4ae3db6ae20547526a7a225856018fdd92018d0e6606587cd054f87b4b698c07fe80a686fc3d07e0da427ad982933ad4b918ed5143b676566ad89852f009d18c69f37690d8a4bff1e88b52dcd2ef3d760be9c9e24726a311269f8195745acb08031ba84b0c9fb7a86c978d827e0dee7cedb868876ffeb214ab692ae20b5a451127a659741e91324ab6490b0c1ac9b435a5ae83fbe286489b05fd58c46dd8a315abeaedbabfbd0d92343551ca056f71132e078e0d8567a2d750045e6ca9de84158ed3362531a6fc3bd628fb7c020045e9eda9ca92dbb01e7a569ad7a61504d04b2f249e0be134dd301dfad8dac7be58a1149c87d627e1955af20595f3e68be6302c52d153559a2ea1620de90ca05c385fd613ad2871c0624431107080f714b10c5708bc815ffccfce7d59d701128691af0d45d0a9154f14ffda93321a824d0b87e4faedf0b1394b69c6d7dae147f0f0e965f37df98acf0d0dfa1478321a351af6659d765f4ebc0fa038a1b300076f41a51098d377823b1bc956c1043494a9bf3a627a6b7211791833c7fd7b8a3230431fec9ec171d195d1e9291dc6318b126aee1d478c50dd2407b4fbebeb51a3b062c17d8db664847cd27fa4111dcae126d89c7e4acc07132659f16133e178364b01974e26a4e864d51174fd2ec5dd939a6aa92368c6ba3701ccbc89d5937d732814366dcbb942a951096f063a5344bd345df53464119832561254cc53af5fe5ee9baf867d69c82ee1ae08a6468babd7d0597577d83ba1cfd83f651ba5479df1a6ab630f461bc68841b78d5d0c2e977cfda2a571d49f3c5cc43af4a7e18231de4d1e16e13ba5e065be5b45b5df300b2bba7634570d71d4bad366aefe5c7fb8e17ced121fd1a8c5940670fedb826bafe9cc29d6f680115874be6e4f4c017dfc77cbf85e7e5d0d9ac7782892e538b82ce717ea29139f6cb35c6a11a9962097471e7ccbc05cb08f1d1622d4373ee48457cee212053988ea42fd47bc39acb00010f79f9a2c6ba9b39f8be3d4fa7bf4403dca01676a48f08a3423144832d382a5a0122b9178950e6c9bc4440163ada350af894b469f9dad44c136ce42a22b02ca0e9a6509cf7104eaf4048d4ce0340ba41698796426029dcbc3a635c562ff5e361bad6e50bdce2e83b12f8f17d47a4a97c42566973ca9b5f0e458afcd6d7218bc219670fd870e6af6188005727f3afaa8985f5b154c3dd58dac6bbd87c52d177d7a963860188e43e18c9f002948e1f9b0a500b48c2bd57f46d2be5b87d68838b7d5194c1560d0677e8ba7dbcb501f346a8bf8b4f942511e289d6c9a33d01844d840a591a6faa9588f49fdc6b392b883fbe9aba96120848e16b28074f455e3da32225a0590d084570c0d0f23f1f8b18b2d51d10f8eec0b8687bb07696129a9a316253d3f79b1c2a881166e2107e83d14b0674f4fb27b9ad7ef8e2de2f21b119d349e18916c15f8e34d9b182b263a863cbf3acf9066231c6ed2c7050e1c56eed498570bf723d52234914529535ae2ebffda3957791291f2ac91e90eca12ca607d379a4a404f25c9cea1c23cd3605c132569621f37ffbbd004fd1731fe429478d80510c5b3d56d4cf98c73fb2b9c236f0f5af4b7e36ed8d47fce661a7ef1bca838f2f775801da55639c08c54b9aed7bdb47a3f07222de6cbdb55d6a9056ac75817ce3c247de21d41b30937b9d20aac95ebf95bcca6bcdb3a17f178a5a17d39d17aab6f7b90cdc8de74acabcc5f59c6e79723f3f9eeba275a45a49578ba363ebd04c5854bc436ec5d4014f90292f558bb0ee8252e0b520cd0096bd4ab505c50deb90cf6664e07d4dc7c7a971e4c5e7d859cb0600e2de059fbcd4d34ced677faac231d11948245b55cb3501064686af8b6f280dddee628ae037041e23b6d42fce6692b18e3c7b6839c8e9563637d588c079beab5e9ce7647192447e708cddddddbb5246cef233d4f48ef7548f09b899cec0408beccdb7d8451087d99a8b5706138a5ae633811ef6945a2376b15a70c55d38221380c35c826321256107556a57b45a0c0a81a509a9025f4375c9e5a627448cd32c99fa27f019d5aa42f24e484fa7b55014eb849f0de607eacda15be1a93d861926f7cb354782275502160571d6b84be15261b271921f0f48233c6d6f3ea4c86458a2637da267ffe891c9ee0381fb13962ec88689f79b28143f4a8ac3d8bf38c5c6f2fea82151b09a94720d6c190e5b0dbf763e5cf16e1848b351dbaa9fcd218e50ddf1206934149aa2074c7f6f343b29adb4ad87ad051c7b544e33cf3d2a41f5766419d4c51378fb858b592874b19d8dde7fdcde78c8f67284f7f1bb03b2f0f7840c68fe74ad160bbb46d26323200a097f4076fac8ebf7f7c38dacfc2ad529b3dd6a26d6eadacfca3b99494fa1bedc25b44a56902f5e257f42b47c345af4b04ac223f684c56837f42216a1d320e73709da265c8ad5230e557c2da25b3c74bb57784e1f269b00a51fbcb687415426e4749b418d4da30030e5a27917a042bfdf315f5ba573af658e173cfe548db8e1596dca03217432290576115eb4b2e99fad4b56198e3e019f32d2a36dabb9397b8875c8b1092aa7ab1a06310711d0863bcee85cdd08b698b458cc7df3695b98d15483a722b1297e4a51d90b09582e70fef06d0ff1a29e75b800c806b9dabb0e72368f046dcc1119c862dc142e831b8d9a7c76c300bfb5c1d28bd08bec4a93b730567b0a4ea5555064697c05deed6766de52ccb97f83019a90391138f553dd121386e380718077f83ab01d1d620eece3a227f772c751869e5787890dec6243b6532de7d74bafa89ee0893114951ea0c4927929b0b7ba96a9e0929c364f193b0808a2579f9985e149d56d371769cb6368db69294cd63f61426c32f425653c584be880dd4f0115d48721bc610d922ebbcef0759c68eac6d14052d9a5dff82ca200e60137a13cdb8f31c5329c0070da153effcebeb4f204622adf164c4a62c8d34c81f64bfdef8a2afd4ea7a860de14c356263bfb03b07415b6b72adc9096d2fc5d94867eaad8a5b352aa778d6bc65a37ea2ab0602f0173a846b43d76d77db5db515da9ce5c84bfa69663beb2ee0b802605e8e5a1ca29eb12c04d6234cda4733aad253bccc598ee265ec90da3a418a3ee4ab7eb51bff3c477468cc94766a55b39da9133ac545e76b2c2784f42b614ecf3ce94afc70bcb3ca091c829e0e05a4678d118a63882189bc863d49803b5eccffc82f1d827ffc263705ff36b9f169f776f48fa19bc1f648efc58e622b25058e8c6370b3dcb191a5a02767222be7414e14299f24a8a3d8e8ba1000fc088b1e039fb2d0949a1c2e2b80d1aed96b5b864082807f6666bba674d76e6030422cb08b6a5b169b6ecdf16bcb9544d96fea7e87cd6e29627fdc45d9680113e7c89f61d135c8a88ff9c5092cca034c5522e72f2e1dced811524093ebc54719bfa117e2c5048224507f8ac45642ea5a588b177fffa45e547f0218b86e94674bbadf5a87559a5972c94a09a6628aef3abe4a7d8a7fe894d50ca044ce565068e095fa5e831e291e8b2df7df72e736038888b287b546d99688a2e30c2276082384acfcedbecd8c0c29575e061f68a9e64d57e0011b26fba7049869b2ee23cc28d84e2b35dfc7f28fe347a1900fbf7d2c1bcb7ae8d1302c9d005c425b97027ae8785535baa1953a66d39780e15872f0a2d632db965503781fb8c8ce458c19a20648c802cc7feed7411aa16c2753bdca1d52bcfcc8b8821d60c00db5117386c92543438309b4dcfcc6a15e16ea4e7613a6e7e00eeac638b518664cc3fddd23420210aa8c3aea5643a0258d29b7dd5acfe900491c45f2e05e789c2d89da294bd51dc4d3ab6b94b36c1a1bc586312613bfcfcd98adc699b98b7c449d04fa2f280d9ca80bbf0aa61cb7c3d65970d53b0a439cacfdd2f41d5efec6f4bb70f9eb69500be85ed4b5f526df3d3524c046021940ff3d3edfcb083cc7d1207d29991aec76fe036c7addb17eb550e642fe61ae4284879a0f2ed4b71767514622f2e882259180a8561e3c7d4f54c135a3c98a669e151f39418e1ca61b5a1bffb739ecd422820b2b478dab23ae0f3c73fa61f621da26ba60480b90f39e509c60c3ac1b8eee67c07eea21b0314226f19dc6e9bd3bc57cacbb2a34dd1af7469721c94f5847e9286c4950af8535aa7ad34375f597926364c06a2df044cfc3521542c154c3c2b18e40e508343c3ab27b701c3de3999610cee5ffd1b3992d67069e7222e36260697d475114bed489a8a71d177370961a5d75e51125e9c33ebdd7d797933aa31ca2e7c8f41687c97262b435d7b5e0026c987104e02ab714ae10a49d6c84070ea92520076356caf53d585c819723a29a22db59ec3b5848d9a56f70b3fef54af1a833b5d07867d2bda962df48635e8fb8fcba16bff12f89b49cac7b054473a92c2667772c4590ead1de05b94408c7d7d7f736256ca113ab70c573bf3a1d0c2e60eca405960bf353d0b13cb2d74317ffd5b2a7710b933d4b9eb9b5ccfc098c52598bd6eddefc9ea7b9ed9c988128af21927cc29b1103fd815aa2acc9daaf19f6ff11949120dc66b3a795e328e4764151543365a0e640770417937287258ddb017dcf4882cd8ba126860f76a6213a59e04e53addaa43bc4c98afa296fbf9f1a0b22ba295c869208a48652d4be402502f04a51510e4e2087fd68016c2154768fd2e7721d1174985b2079352abf8492cd3dd3cf66758709b2012fabe2aa2f8e0f0c62fd117f1ca2cd892c942929aac239cd71d5596357ba2e0ef838a73e665667de139ced4d5e4bc5131ab50558fc111ed2f05de447d5123d6fccdd93386bd86f640c8832c488779231e921f33a0205806d33300f0cac93bf87b7b442926ccafe9aa132b228ccd0cd415030fe3773b7b9bccdce1b71f1c64ec99e72855d342b481a0b3fa38b50b266ba9bf2582943c083c520b326f8b0a5cd40c027cc63bc94b620ac5094b6e1ba64263cf3c38404018c75190f5bc91576c666f6aff23f7de2ba9dce53c7db757368e3e0273af0cc5ff796bd2bbc74201ada93f105b93be1775c2b09fbbb6aac545f477bf80eb96ce9ed67871bdb352603cb8b9bc4e979de68c84acf3f28d890f7dbcbf18db8366045b8df2a816859e9a41632dd9e773f566ba16b512cad36b8705f3d293980f269b15004a1703c745b8a2c9523b1caf3bb3cff38e4bcfb9c46bc751804d9e4df1785d739fbabf00789257640acb9a1db729630bfccae15e88b04726fbb7cdfbfa3cb66dcefd112c922aa2518e16c48968e65bdd8f2a705809900770c09679c6bdd6a5e8d0ffa1ea3d41b8278b4f8306d459be54eabe68b25f202623aeb1fe9c7dfbe19c2b130ef5c998197ab867732527501f6bc541bb1a96706d4650fd8ceaca5928a9d6847b0f4a68c49ab853933d0a5ededf6d8398baa304e64dd40390f43117bdf481ea15f1545a06895e53848f74d6154229d4922966807f874b36bc0b209e3fcd56811479f9244d428d8d229acdba9adbfe5ee039f2e8cb7cc25219c47cc05b148291b97602030627beffc307c6aa2b107572fe8b27bd6b5e0b674fe09ed3bbd18ae22f35aed06338bfb7df13d1509a0ab9bc54c1d67dbacb4b72eda28cb701e9364fd7cfe0f2537983f38fd766939a6c8b307777a2edbe8b2b4cc7ebeb9dab2f2464512221a2ba6ae9995e5bec38ccd43a1a46127e5a6d3235eee7f66db0d25338687f67629452a2e2a7d0a6954770e2071330e5aa226e8ad59ba5813ca7bdfd4aafcef655c65872783a9c1851c670a89ae5defa78696b0946d825f4f1eec951a16b9972498ac5a3ba46ebfeaa53ea4077309a5b8143d78d2f70e03ce051d19348350e56fb50d11588d9925fad655c240ed5ca7d1ad48082d93b92fb959de4ce942e5067c36d0305d61450a4c322e8662650852003ae6362dcaec668fc1aaaf67695c10210c9f5d2fb483bccd37758f107d2adf822f378d5faad37ce274795ac715af619428bfe47abcf081d152682372d5e4e02db244b26b3d58b0e0c4a2eee50c1a21a681e2bf7f69b8337d5c988c229af8d778c15cc1548b70d3b83083ea5a0ad255727f1cd281d65832a3d806a12e1f7387f57802f6297c756acb10987c22b6e03d980ab1433d13cedea443dd1eb4f9c043b77d68eb77805ba4f8629e56e335e280b4797ba71031aa2b52c75ba820a75941faeaa97d3e0531c4d033e3804044f99644d371e7e3264e4b1dbef5c4a09ff233b931c0fc614d2eaaa6c0272ec5014f0596b7945ea570c4c01595497d40b483990d151ce7cd3ebfde3197212df26e4f52040a09d354ad4dfacb33cb1000f83c4d435f9565e84123db33d847ed2d8ee22ecddd825e6d3cc15d57ebc8aeb8e30bd0628b5609fe3115b71b8df759c0588e6bb7aa6538a51f4bd47abc99f12b981a7781d5213acad8d6e613831d274caf1bd8f4fe369e72d9b10f3a47cfe617d0756e806b8529105ea361f27a29b7c08b6a9777c7035ae4fcc2e1154a23a919cf6298db61f2b7ed3004f28295b4ff9108ceb08a17203f798b06d3300bbd8220148e8bff3d97d49ae8b77a1e321640c22f2f9cfaeb303f60ec4301ce83d3906e85bf0cdad41cb95e2e65c30c2e1fe303b763633bb8abda24af10e4ad1536f3ba0de763c0efc6f7fc124b6425bc09836fc5be1ca672dd0473d07a04ccb4f437182de157d310f39170c12d31185e6a62df76385e0ee154a0e40ac44ceb996c30ffca1f561ba18bb448441a86066eaf6161c9e5499a448fe28827c4b1f3cd63b57308b60185d53982262b9c516512dcf4d1982f8854ec3b4c933aa82222603729c05fd2004d2416879cec619fc427a9775616508d715bbb2f2ac9ef513083105cb548955223894f6a70d4683f19f01abcf4d7f094fe9f03cb7490f75ab123a6cd81f759887b5d3fd5cf9688809c371a40c0716f229e927b843423c8ab49ae19dfbc9f555ff17115c2a8027305cd488103a7b58ba295823037f77cfb63a549040e1839a86212eb37fe7353a0d2afdce06aafbbf4acfaa65109dc8beb210e4d688390d2dfbd00f2066caf1c8e17808c45bf12066c2d4ed456d88ba5fc00fec10565da70a0ba88af5a0ce4fdbca8c13ab7f92caa6c7ba34b7ab05821e300d62c70dd7751982dc5e8a3194a60a78bb69209aef2240b8e5b7c94c6bc1482f101e225ccc62d3a9ca01c95ed5ba1ef0ae771b7eeec988e4231654874b77196935ea52527158ee0e91658e05e9e01c99cb8fdbea4d81e23881342805a054a95de7b07154b93ec5029406c72e0d6df73c71d3727bb308935a9efb60a34c496909444b949c3d7c58f7307a29749a36b2e2f4b4fc7163bc0f6afdba76fea135f6b07f6c32d4898715d40180f1dca11fa51c5a9b4b41a5d97b492ee76746cbd83536a8037fbb5425839df7ea9451e3febe2b24e6daa2941cf50c6617c060da9940a175e7eec34816ecfce5c7d248bf12afa06cf824b90643e131526db7d3b56f177dc47adf981ef1061776d00fa980cfb75b3123c10f4c41d9e9e9cdc44dbdbe82d3bad3f5d3faaf38e61bcfcc682c322f4328d298eac528ba32c4f100a0dc037a212ed7f92fb6d84c5f0b00f562017bc22f4189597a7c87c28942b9f720d267b1acf96337edf6de113382719d9a52d2e2e309b4408ed9a18eceb815982eb794326fae6a2add3e7e8f7bb458dc9112abb1a09c415a2d4fb649057ad908af8a2a51dcf5cc94a309e25aa8327f16334c5d1535f07474cf268748519096f0f592147bc1d64a1d36a2ca8d6075f878a6fc8898168769905e770062d18876f87631807bbc746b22d45eba6cdbcc138d1e60dc3bd85b38067a96b1717a8d408d6aaaf07ef40b98a9ae75bc1a814a56924acce82d262aa955ad84b3260550d8173adfbccc504b1a87cbf948b2d1544fb98980662f408a14fd3e620c2cfb47fb3b14516184b6c665630c7a9f6325f0a30c24ad6b72d1338737c09e5ab16b891f84c78d4457120641cc5dde7b5d4be4b75ac08cf1987cf9c25c252676917a9207f686402ea3eec52e95b08e25738f3cd35f72465545a314974f1a838a8e40226894a2c582fa68a8ec65d5028e07a30ed305476a3262b66048e5d5074d71ce26522a3277fbf539ffb706e8c15bb16c677cc0743c3d6bc7e9d8e240c3b804846629c988ae30d4bd14711f6a4a1889b05c3e7fd4a7a17deed619e7797e082becbabcc69293a766fbf8c6233642f01d75e90f28b110452a8fc1f54c7e8712d3fa81093e396da8aea37b31f29133efb9a82fc0ca6d3b8bcf793976472846543675f4285f7e3eb3703953ae7d9336b02e5e81206598b1d6da16a8492391181eb099dd93d08c4340fa0508af491f9014d87fafe0a7daa77fccb3c346e32b40eca3aa6c30ab044fd8cf5caef60cc5dc10099f8dce4c1925bad64b65db34d40e2d511ce76133a97679e60aa5db8e67219f9089994bdee18db9b9a7fcc7b3ac6d97a435354d6b4e3837bd88b55b5d539611bab0e2bdad5808bbcb09d3738263ebaa01adf628a5903e3b67a940e8ecf5cbdd940554b1f74432a0dd1e28fb175a1994ab435e92d16b8dcd06ec616b3aaa842bd042edb112d30ef92198b598d342938a9a6c4e2e9d3d84ec51e36f382912ac97a476ef6697834657f4c65127cd1c805fe6dcd882bbc7d7aae8abce07431db5a707eaf504df60bf75c3976dbb36f4171c53d93ac5784af29cffaff2395306bb917969c17153798971f75ab88b2701b473983dbdbed89ead22d26e1caa8c46ddba1f3ef141141a02c2620b21312a030218cb190b85bc7f8db3b30515c4341af7efa0300e9e43954ac6b9d7e7b3485b017ca14f4ba1a05876362705c899165a6290944d6b1d2f017e9275ebfa075fe430dcb03435195225bf14f31c3873868ecb7942d94138bb85158cd54adcef625e7be4ee9702618bea357749e39b134e3709a61563d1dd4139465a755bc0a5a51c52af816d103f8534d1d4d311a11362ac7c942a92a20ae745c20b6e2de67772430a5f3e4c0667d97a0a284e91103a1046ee4401cab8d79ad46d08212b08261b274fcb363f7e02ad44b2ac2c1ec4f61c731860c97d952cb897636b15269ea03f834729cd60d6e877c819dea6d56e376a441489bee203ea5f7cd072280d7bf71f1d7b0d11d9651c40d270214069f1016a2aa8ff63ca5c5fb7ab925ce0e732dc872617d3f2383e0fd75b819bf7707ee6a4556c4786f9ad52b1a62d31bce6ee9a9dec67e7c3bfa7fe056bc84ddb6e54d1e6b940d4d4e43fdf57e4e5bff3dddda498bd263ae8122c6ca34ff95b7f7332410dff02feda8da37e82560c28c81dba17e6bef9490259643469dc02f691f115b918c140eccde10b027ea13d0803d24fb71867b54e88c79caf68012ecb13c3948b582868ee71d460bb87e6391ceda32c5bc9a466578a4fe1cc3be2a57b1d7f940907f6f42acc622a5e9375ecfa404c9e78ebcd0824c883863a4002c0992d9a0adefe5db39439b8cd4846f5b2bbd6ecf3c8f7e287f3a62812e6a6982dba253ae299e3e3459e2a88f6397ff129bb87b11432ab561f66afb79d09029769bb07ecf36052aa760d7fa2973932114acc2be1d109a72c2a59090a5e9b3b74c23a3ada3822bcad7c1059318d8b7dd71b2050a3bb8d7ffab0361ee4c5f396a45245caf473cb9d50f202437ba9d34ea7563be9fcda43b175840db36aaad98a39d92b3a1cb77fe1f8d6b244160f207186141d5f1d766f552cdf57fa50455b98a4e817ad2f13d9a037d96aa862a0dfebb4d9f9209576f365bd8a716108416037b880fbcea309c07dbbfaa811f2c40bf5da4daf69f6be43c3d82df4087480633c414b648de4102b437d8fd7208d1b652ec7e966c20e77a331d390ed45f3df630e6609387e1e1f12b0c55737883208f15d619caab8344ae6bd65cafcbc3830e2fa1f71393fdb9ce0ec23181cf13bccf9db37b624d742f1b25b2f225a6e61d2296bcc2b423cb26373ba14700a7273e76e18528df4ddbe9e410657146cd6ed09533b24717714bd9d0a1456a3e82c806017896efda933b9d2e8ce5acb8829a3e93dc7d09f24f1b6bf67cf7a4a0a20e36b4eb462f5310e442b88ec7505d062c861322f27c51d4c5e7426619b2b20a748bdf5a9131fe915ef05ff1e018fb6a2f36902f95656dec2740b1eb9a2babc20d3a70b0337570dd21bcab887f66d920382df14a1697cc94384bf4d4491136ad347e04d5dd40f75dbb809f90cb1a9258b63902d80b26c2235ce5cde23ddcc85914ac5a8d441e6b1d3ddb943e69323d505800d6e7f15296a10bcd656033f16153195cf2c741061cff873944fe175b8cdc2ad70dc77e8abcbe6639d5e44700b5fbc6484fee30a738e23f128cd6bd7f24721e2974d7ade1487eec14f5a5788209037b8c4b94d461a3b80eae86bf40cc42b5225f1912c26e7bb1cd132dce2d7ce7617f8fa6194d2fcf61cce7b9f95fb0289345a3324024cb1fb19c31c1b49d9b28632514a19fa7df0a640c5e0ce2bc84c2f11e5ef65303e9d2565663418dff393efb6883532b6ab777a14fd88be53ebe0f6dceea747667636e9d6771a84cfb4e3c1d0f48ce1b35623a792eb2aaf2d789733954cce2015bda808c779d4abc35c08e4654b33e2e6075c559f5ca1b3e022d0759146d094345097a24b4fe2079058eb9e375ccd26710a6a0f8751c887ec34b886315db874de15657209a009a029cb1478b721c9068ad0b4b79a419fe9eb7aecb3dd795a3e1acfa2e80296b4b9cf6a99ffd9723858a0db76b6b51d6c6d4ffd22d8840a8e2472b16c0555e941e3dbc857eaa8c8cf120fafd876e2252f1266cb0db6106943d10dccfea0d9cda375a48984e02db32ab46a44552547327f5b98dd17b396b3a4869681886e7f1aebb2bbb391cc5521afe5af9c4fa078a8c25cb9e0825b3090ec0a7318f6d9cfebd1d7819ba48ba39fb920e2aebf982afb8d020e601ce9a8fc8742f9fe7141cdf82e9ec0d1cb0289b6b8a4ca521dabeef127f5c7dcefbfc69aba1b32bd4166d425b4de36063b8a5f8efa22adcf7b919fe9bac206ed26f817436a960bc689e56de44ade45da8e8fe6abe4cb12761d9980f60b0474c763cd7ee579ba93c14ddd6e2c2de63179f09b0117327bc8497390a4b8021ff9c5988822c77bf6eb2381e4a18b90a2b5ee47e65c93a0b1e7b79512fc3d96873cc27e8a426eab3d9f67d92bc70db69184a74fd31accd3381ee443099bf5c3291346a89acc48c90cf08a9ccc6421ab9cd7e12559503be8f6cb5d0a64974ebb5898bbb1cc2bc17aa7db46da79bb5d663f749ba4e573821882c108f82c0ab084fbe9d28fd044699fb8bd50ffe476131f105ee8d09d2034c40e766c09d9b68236347abf01e59814f41e1d47c684e5475fc0eec7c50b597e74a03d7257851eb0a9aed2c86be66dfa10716f5870026efb359fbf3d50f84521e9a77e883242bd9096712cf7425cb26a0be4949abba4dc8423b3656bb7ce60ad2c6018385b8e7f671dbe9e06e4201898a0db01df4d716fc6d585fc24539942a252b4d7400f814e2beab74271b8e11ed300b45d5ae630f7b3ecf52dff64a5dbdbb21a485197e45499e1463ffa3d2779d29e4f15546e6ca0aa1012acd92daf935243e327809cf2d5aeed18e6b91553b8dbcbc587e659f87f0ff442942fb6416ee6cc6c6f87ea4848e4050e9ded25070163c17b6ef6e8f1d90eaf7d45bccf57c9477c6bb740465b00b13c768191f165b5e12053fc5afa316e3eafc36b992a854e06f87ab867fe499cd57e4ff9815b907dd3296ccabd3a9f47fc6873e258cdac6420e242728db870a4a831c1d7f532efe78320fd2142a3f923bf66d3baad315c5e34380bfbb0889fb13cc8b3c1db6b43af5215810b0a45508505883b28f00b6670d16a80b92f8f544b72341160df00169b0b6013ca4831a4d675f3111cdcc14b40afe98698738a1e2acdb78b6165823e798320d4af9ab1d48b6c07bcde98808644a6ac7f55ce3d4d1f53ed28f5ba2a7487495a874dcd0d0dd814f36ee8c3615c4aa661b66943628c7189fd53c14b6df8000f0dcec9c29971fd152b8ac6bf3c3a652129bc896fffffc542608083a0eaae1fc3b782d3c2af08d124c6e7da22c433a7b10c7b2ea5e034f1da61efa1c05972ae8b6eb7c1fa3f9f07718689fa3b72c244c985649675202840cb3c4815613916f56e893627b60f652c767d8bdd41503df201bcc8083ea60c3e4840bc80126a319248d8b83e220cfe71c6728c6262ff38b44476c45d6bbaf4d78170614a6ca33acc2ea0f69063c2f3d1a550aa7da2b4b8ac7c412383b85441e713e9ff345741bfeca1732e5048681ece39844fb01b05d6fbcb571ad80009b9ed4ae1a8fa6ae80a53d8324c51ff33b877ae728acac3368a4fa41c86763bbaa8b791da86f312f96a42b5927b135f03f4409b3e0003f3b689d70cae1848f549b581b7a3b0d160a4a268243091f95aeaeab803f79373fc9d114d058e01177ab96a67c7f7c4b861d9f3634d0af67a56ec03ca5618c481dffb315f6355f95cabc648bd8ebc4c9b6caffaf50f5e349454598bfac6758a78b9d2057f9d383bb482f8bc3f9c7807a1ddca224fd118100ef00262ff6a7b18078ffa2c3a03090463496af261fb75c4cf8cf2fb144027f921a19b624c1eb0ee46629f156faa09a2d57a561aa5e5a08a33006f5f5b12735ccc3df76403f8ae357f7eebb8c6fdf1bac41f792011b9cd22230d4910d9f29c282839555f431238e7b8ab965d444f6fea1a5908d02f68810e4d185b031f2dab76ca1c8891e806892f99439cc51ec5bfd7d8bc68dad1617b8d7de971f3cfe8b938aecdf10ec7221d9cdd5e7a9760bf68d67a757686306145cbf0520e80d919237a32b7d29753c899b84bca582b94d01bea2c9b181f935849843bcafdbc57198838d31a08c8666b14e6d84be1241df1e320be36975de749f5cb17f75cd79d0e23913b7fb282f894c3cbbc337707273bd639b92c88d6df327c1c9445466cd5a9b49775d1c994f86ab84d1242510204676ec35b0085bd7af745ff6a8adb59add14cb919630781196b038a83814cbe26f98eb2c518346c8bbcdbb1950d0acee81a1360ea27c502146c7dfc1f7d62e4c193ca783a6eefcaad08138ceb9911380524fba7b1b8a53be1fef0d095f51cf2e4e6e370a5f9e32c0e66712042a8c49c547afd847a3bd492f538304f1e31427429b8b78faada8c47b9c4e37d34fac34b71c747ed26e71b9a38f7edc6507ae6be9c69aa842fd78a7b4d23de53d635106cc029aad404e997b3967eea0363072d5c9efcf217481dbd0fb7396a20325d79c922338b4700ae22935328b447711dadf3048ce2bd416db0ffabf265442a5b4e6861ce78a6b8eae12f214e517438ed7caf3bcc5c42bfd8c639aa73ff9a0611b87bd0fee3916b5bce9dd8befd11346701aa5be897b5acad8e0d23f6017e4572c4a29f431000a5451db7752a2c51e94bd673f03b1739d25ced6503bdf0d052fbe5c6a7e3651ba177e2c8811c43f13bbf168e024e263a680e78dd8de83c9adf36fcfe1fb57cc045cb28cb3461a571e65527a0c3c4615fe68e235cdf97df6c35ce0d75c30a08bf0058f5f0975ed63400c85af3efb7a212d9a7f9313b2fae7dd82de9eba9213741cc35e39b72292da7407a58bcbd11d8183d6ca2de477259bff9bb7dfde6b409c3277a2ae8ba9a7e7390d2badfe8975744cb67b187feedb69b0f237e00493a5a1d75a21396d579b7712f3f52e8e21f623ebfbd1459ab5b54ba057390b47a9f6a99fb27be6d961a29ff3b721a04f831b6c38574497b6f33bc461b9fd92141111c4dfaddf35af629f361e875115e12e7d17401400e1f2eb4eeee8e76a6fd2e8508b327d8e73150855cf2eea36c51aebace93da5a6d280c4fe09a32305f957cebac736380619b6ae91db6e8e6326d8024f0b0dda2771e6e1d8aee5353726342ef85cb246ec753a14f3dc1dbda8a8bdce73aff900d2ff7891306ada5ddc3d6c9f7ab5ce6a09e9b671251969ddb0d51ed5ae9dec9f52086310e71404e847370bd56bf7d180710f7b0a68e36ad5a0fc03d07a6bd1ff03b583a752659e67837822301621538e0476a6e74cdd3cd5854b6c3929d3fb839169a5c56fb89f912c635601e24904dc224f61861b7c112743bdea44e1d4b714c4f714bc301a5aea7dada43a928ade8ac2c34b242d67ced5108eaa5f2fbc9c9db4241c5f3dd827886665f14c705f10420efff12c5cc6654a51abc891db77322792efaa306d028d4eb1213706dbd7b743e2b9154e62722683475fef42e36dae1b65fffb54d90a24234dcb4e72b188556ef819c7100ce6e6847919dc010157ed2d8b1d24cd567a40e450bad0eb0ea7bf4741731f03f16df3455ad14df02253d21693f2ab09a221ca06c2159cc14434f66285f56c3b063e8a96b559e0db29c309b358fc634eba0545bfb96c0e3e3a612ec1e1ea4f6ef5544445aeef447e1be569f5969b4cbc0eb0dc7cfa3da66db6a0ae2a7914cdec6137f4a32ae5b2a5b5cf42d7494d63adb9135872a2beadff9712a7768d70d57d532624e6fdd0a53ac06f47d1bc33a7f3c7325bbc81e325e89335ee21adadfc32b69d04335df1b19076eb8e2233a69a97274e4afdd8f34c9a9508f7698af2768c30d9b132bf54f2aaacea6fc236e73027bf0770bf7f97faa331dcd843363443934d02cfb1c4c9ce07e3553c144008e1f90923951f5a39e4c7840aa6e91f15e9eef6ef0ab95b75bd7f361993ea30a3769f8e9d8b0d35ed360d00d595f03a3584ed4ea95af250af142833411a5e6c2997f63a093cc2eb7f2c50fcb88e559ea6c36699f794bf23a8dc8c8fe75246c6383cb2243d5d4f39656896e297a70a77083cab4f596b1c7004774adc07ad6610f14c601dc5bb30c07997931f1db210229a0650cb415013488ee764703aeac13d19983319dd12d55b96db3bcb7e6d1688f2879de12ae255d7f62dae9d1383ce1985485f3a9fe35be7cd89fa6af607581485349a92b6f44a65e52e1067e635320b1724b101ff47506ddcec741dcbf2a6204ece1d536ab99936ce42eaf9201b4a96e8be8706e2bf4780f81965ef8bf2e92966259fd09e36c5ae2a5dacf071404e47243bb5abe23013c5e4d59594614304669dc312b33e0f4e4a9c978a09466d2e410b502917f7fdd0f9922246ec66b445b0afb75159ad84d83e6d10f28a5ea637723d00ca3f4930109bb2df2b43362f80f78fd9bf33031e5b72aab89af04842943279f5d165d36cfb1f4bfc002414545d3d1c3e4a17caee5bc8fc27e8bb88981cfd1d0af59d76f84c7248b16d0d1b9683d0ad1b294c3dc059d7805f0cf50bc2deadff7b640febdbe1243b325c0d2a4e82121ba8ead1e263830fefa8eaeba7a93b459e7727271e8c668bbc94813d5354cbe61018ed16e98b7c5eb9b357fd95d7f810c1f7053087cb3423951a90db6e1fcd9b52d9154df14022fc3d93f1885e20231bdd6cbb115e814d72fa2d7d0ccc0c94f0a4a61925d435d0da3bfd9baff1f2a3af03661430a94619f0ac7b2c2c38e945bf2bcf7f1f83db737eb5b69cb61d24dfb327304a6cbb434b8278b87a705db1c0042c042bc3de19cb14b5f282813ac19b03c334c0528378d0932127043d13d18729c176ff3e13dca9d6e3450aae3f4d0cff4676f4dc64d27ff0d48656f1cc0c694febf646006d9db30cb30e99696963c724e0ba5c111c2f2b8d88ec62ff4ff42b782cb6eba36f61b01dc088ec121010d0914fcf09b787381a84879e8de1de0cfee89b71d2237fdd2f41bb5b6f6d4358a3662a2def07d81bd547e70da02ded268db4f8d4a4aaf9308241a269fbd58e88121d69b793db7f9749b539d20b739a2af50907bc7942abcc419913d1ca90fb2e8899c7e07a83775fc75158aae938de96a1f396f41867b056529924c8674b30769a02077b361f5449e9ee59083082082d4b69a5b11a03ec58040b5f34b2b93511e54a58665c5eafdaaf4685d4a0637b13f0ceecc5f5317fbae8343b64131f84e650655f90faee63cfd4b5812f730fd18553e73dd922445ba0f6fbd737ffbc40997e00c7d6b7e5694c2ad5e74da6590f99d154ea1924d73e2418a88f894b4b15bd6ddd113360cfba4a6fccdec961fc9572d8c34589d99720114d26c9774ddf8c4163e0cdfc90ebd2fe7f34b3a397d8f3d2b0138c210957ca2a9379a9e5d77eb3b2821f7fad21da53421c71a44f11a4aaf7298b5d561debdbe2b7ae0b5991670920e83284927fda421fe544b6791a133fc93e4127c97e462ac0740622758cdd07c81738e4ff222709fa222b91fe825e6cb8f373ea645a75ef692ce6631f3d68d3e3c1243333030bc499244fcaa1a0ba5d49d25783b54399e10f1f02485a12431a976b22c16723ebfcb23088d09bb1156c0ab1e1aafcbf3885c60a6bfdafaaff205dcffde036df2330d65b0f47dc3ad11198c65df6cc7a41b36638d7b7a4b54b2e5267f763af92e9badf523bfc66eb75c7ba77589580723ed8f2ec0c71261b41f56c0491b11a0d52949b661054d68217801f070c41ed2e360c415fc93fca56979635b99d1ed22c6e920f0a0b484cdd25c282237e76f6ef436a37c68461ab76cb79f507d0c27a852317921abb3b13198d55fa9d5706d6b98334d3840b181f168d528878c3fc7a31f6cc9cbbec1cd9539c2403b8a7708f200b749209e12940441511ddb329f00a0c1c867e697d664a0af77402ddbd9943bb134ee7bcb0811ee91b518509063c28f748aecddfc9643e79e96d20554b59426553987914218a9006f58a52d97a592218e3f2fde419c9ab822ea8edb57d44f1cf2da2a621851edbcdefbb485129526e291496acf0a853667695af71dff65bc153e27495bed82e606aef693238aa1991b4dacdfabe7e7d1af91ac189b725964965956f1cf869d49df4d2cc750933a218abe2da12f33dcb9c7b2c8b1b45d049978e3623d8c454b671eea15b5cef2bf66d53fe86e4f33d659b228a9d228a50cd3e5bbeaf69d665bfb4d375bd0309b817ae42a0e1f031d5f6e50329a9805a884b90f6c727f1531d6e7a848a5498cca4568fe370c8f0bd2316b566de0d9c01a54118728a8b50bbb66dd70b39dbc3d8dbf04e94fbc937cccc27e9a9716aadb5bb6ae3ea7e13387da713155105253ba9c4f22efd5f75551e73d53a55c61ec3731846f3012d2bdfc773a5c256978d6185889107aa6d24b37aa836caa8b485600b8e73dc0f5460b840b399f76e48da04aec005f76ff2efbf670c487a7d9b05c747f3af69e9dc850b1e9ac495934662a047009d31be70c6a05897800d01e2397f5822a01060d1417b63be07b4b957dd7d5f2673dadc40026edb02c6241fd1275188705423c8af9819e2598f3e829a3d3c9abe434116a0c4a0d8f88e3dfb91f0f1d291e9b5b88363bf57c0ed052c0a37e1c21e95dba2277a1cb6af5474c026d698d50abda4d051c9c86b48f702d219dde573f02f34a7370d83df831625186541f17766a51aec324dfb19210efa71c2f2b2757dabeba4e9ed92ea8b0fbb5903e2c7ffaadb2ae7609520b105745742c4dee2e0b35e990a86ebd73f68bd891f96942ac617778ee1d81c2a652a3a692e35e44ab8bea14613bc31831a1ac30e5add878e9fa0ff6ddaa3567cb256e2b1fb24ba027df379ad749ddb73e3a00b7a3b89d86d953138788d4a613e4e87f41bf8249e6e294ff678ee22c949bc4c07c6e6a66d1115c9483158dfe27dfffa8069c3eeeb0a629c55a164157f0cd63f12f3b71fd24beeb9a13cc1a52ac88cc2a0d2ea615b24764d75f9eba221b298fddae85b320f7ec4f14b741a1e909154f2efe4d6670dca2c5b3609ba5e19255704ea554897b4713fbcdc3232a8bd8fff1c2f2629f57e747d82fe225181b3740b8f4645cbe1cf2d31be60a16248e52e6fd478ab3efdfd57eec67ce49206483642c848c763787ab618b0d4c51a533761e65c070d7bcc7d744b364937a0719d4afc4bbc07eda030e6e90fbaf48543b47d302535b3a7d577e65debaa95ace6451bac09794f3ae432a021660e7c85682b0b5631ff8b6f8f65dffc32a6fdd3160c81caf8ac9e3dc23f42badbd1858ce27fd6d672d3198c6478c60f174902696b1f767b90debdc74ca5f29e1a33de227d37df98187ed4017a7e7d89d24f17e95cfde8bef6f2d6de5babaee11d3d12759c89fec063f5b65b3b7af8eb4c52abc58a6590dd7a84adb9425a8080e3e2a015745441d14261a778d942d8a7da7e2c0a406c7ff7e5fb0a98ebc1ca89f589947edcaa0e861661d5c9d8e974d08471b132906a02009f097fbebe0d9b925079b3851e536cebf6749be25d1f6d0dfd33779e1016a00c4d8435665bdb6c7a95356fb16278def93cb430f7991a512785ce80df4fe9c82a51c26878349edd38a9639d38c56372d5a85ebd4a2ce2df1c5d78ab842a85d820e5ee684879d9ad3352cd8931ee198ae3d5347e0ccbaaaaac839227892859206a0814f184dbc253d90720a950f8c459b39fca496b2680f976000d73d5a371fb515568811e4a54685c80a251156229056c9e67d9fc12bce49ef1e1dda07e69e95b94f700c64a4d6592f56981e190efb2404fd7ee9cca94ad74d3d93026484e0be6b56348635e311c9a22d3b2d4929054551940025ee5d38b6d4d4c72d203157552cf7d8cbf4a69d00b5ae1e02d1c7da15fe1a7a5b199d1ead2982c97b597f7a1baa757e2aa7fd1b3bd70d32ed9769d92fcdce5e188ff33bd4fad276fe5cf379ace33998753bca4a818ac88d486eeceb938a91ddd86179142f93475f2ab257924ef989a123f7220705b681e44001d8f16c01c455b56cf8bdc9214cb985ac6d55422c022de87f0f889d3b1177fa9032023e69452dd0af488d34d5ca0b59e104a001287643f339b88a0cdd341806c9e355bb86edaac2fbf05320d2340a380cff616d5ea5448fd921a0db9d278ba2ec143a060a0900212070c44f8b8af7d782984c00ed41fc5e4b6549f120dc15fb15f1a18bc8aaae20fdee36b7349013a34f550c5ee0c031c5d34e49028f5b1e9de08c95572ebd8361d5c128ac71d9d9f51122b39ab7833110b91cf3276fc648e5ae9917cb145f51d653d6b9b59c50e28437e746ee02cf637839a16038232ddb31e85ad8ef21f7aff92912b96256ff413aa1984af156ec98ad678c8a51d79e3bb71397e3bb2f80c9bbd5cf7ed0b171ea704d1a09d56cb53f6ea2338250b86dccaab9c1eef8509d113ee56bfe294ede6ec7bd1095d061658cad486c716783e0bd32460e98dcf4702ba006fd7a7b64adfbc4e7ab0459ced8fb7b0eb7d46bde09ccdbe5cd9c2aa955bf22b01b1742b3e72ebf8b61a781cc1cb9195646f902599b4827ce2f6f9779c9a2adf8e384a2802094e3c5d1aa8753aad55ab92019a6f07156e951634341c7390a804b9e99ed4baf9a349ea0d1f01b990d2543fd8407fed2a4397762e4930bd42bdf2f65881853171e1ad427dd0a49430a75824622aa1cb10bf68c7ffabec884bf63563adf99dde78ad7648c2393fe2651b64cbe42173536561f33d9aa6652cb6136cb61d8f38c3461214cfe24809eca6ed5b53746139287e7ec86b41c1fe9053375e0452da57e338e164228422e8e7981b0c187a1b9572c465404a66ec4f17c69d3e12e784d572241637db21241bbb853a353880e11c2b6d06063a94b994d75612f777ba5bc07f1458e00e87047735e68e7185fa94ad460ebb4c202bb914cf6a956ab734a955f5502f0eb592b40c08fbf69331220e59ac9ddd3e7aa580a92a00a47a2100f8e41710252ae0ca0fa39460725168df3be6d07496f51cfb0d4b66da15af16ce8a46f85552b9c2623abb95624e93f32db764f64560cd8941104bf5c27775d2fccceab4a15a4a0d83fd49795d3b3df92424ad18f2f4fbca26cdc5d968c14467ba6c12829791eed34932441944473aabbbc38c7a084799160e0300415df5ecb56c35ca0031c6c57416f7945e531bb93bec64c43b0d1ad0654a6dd055045c10ed5c0ba35e283ab25bf9ddc19d5a578e71aefc8cba5546c8182b005973c43eede6954aa342350ac84c009d518c46ab296f9aec6141a2b31467f26cfbb5e118b851dfedcf2912e3a6d33e0e729658f1643885eab76cec5fd1496f8183c61cce58dfaec1de8a293c86ff6bb256ed11305b0a74b0961c7303d335a1bf48ab76af817f75f21ffb3ff2870ebb27ce04b01190b9f0c98fc21771d7ea5cc9437d64af5b4365b9ebc8d46e30b64b294db34db4b6845020f54689cfacfa38c9253238a0009cd65cbd70bbac0fc6b987c0ccfd2cd6adc2a36437cd3c479839a8be704b8eaca0c98d59317546af950d769604645f4639fdb3431d47a41b25b933eee953afd5c5ac00f9da1eb333452505d621a2032b912ea4f186e12847d0a23055008ad3a06e2123737e3cdfdcc2bf001a35d300353d79095301d86d606ea9815ee59d6e883959de1893c44c208ac4710161eb26bc9bb030b0df8d7625995b537614dc7dc2a1bc62ac79e8556bd210008ea3701ec9b406696d9984dfadcef3369a542c827ab5f4335165bb14e1814f837cae9afb313359a6ac394af9b3b5db604d52495a3e75534cf7ee0b64aa8b521ac67928bdfe00e42436b02cdef8092038103e49956b46020c658e382bae9ee829c43c1b7adef14726b19ede9aa16ae16a05efb466741f95504e0dad49dbd059df0d2a91b5fc48cf5a96cb19d26798e07aafd8acef987dd3db95b94dd066af2cc7a86eecb990e94b415fdd3e4a006afb293c5c4348828882bee60438ccae62e497cacea052ab3a752afd097fc3bb890a67572f056a94c5776ccb2512f378dfd7f4a0da813925ba104616122c11e22e523ef691c80cf319be2f1ef942d01de5749bb2bd62110828a2e81f837c789162beea8ce4228c477389a34858d81b3fa8887d753666482367ce4e2196de41958fcb334be4b531dbf97a5deaa1bcfb456e60894870fd884edd4b501062cfe260405278aa7b9dd344a58208b9d3103b0ff7ccaa787c7b6d59020a00c4027d9cad913118a61316e268fa89ab695b37e96a37de277ab9c58bcc0ff1543e4a4f9f2df65b9de9a8cf9037f1e0ffe92d094161156b1a4d8dca62cba7688cda29fad2af3eb9e07b458da8a1d712169c604661776d874b67e7c6b0b8163c764364a7fbc1393670dffce0174fe8cbbe111e1cb3de06bea0bce49bb725f55a1253e5821e6046af882b7f95cb44b9ee78aecc041f3dacf6ff1e2071cf1dd149ae49e4de80123800cca34b215f88c64a2f4a7bda2b3a1ca30a411849a4852d629c9e54ac7116345d37d744d55e4e246a43253852c436f14b7e45fe93960af1f15ea8039b518ed334c3da0b5041b8adf4041fcd63e53cb7db9625e1b39dc3148f2d98e3dfa2b27d16778f7ac2fa81e2e1b0adbf5d5b82ac7e9a153551e117fe8c0e6be44bb5cd111c8783ecabdb08189cf7c7eb5b3d6b0e48a9950dd9335925262029c7a2bd28658994ba976a1fc3b98d4cbaefe67202a2048dc1cb17c29b297a465f50a37ab8d402c52b5a7760bcd95f73710ed68885e08c68dc047254331b3513b5770b8735a8566b72fd48f87c93924fcf17b55f3741f74fa58619192a5a2c2c18ad48aed4a2730324f9e59a689c9a5f83378325994cf9e224f45ab13caabc275d780c5f8f7fd77839a8ad1e7e2ac40631ceb7c7815ccf79cf04fba1be3825f45d5aabe4b4c1e1508b1b8c9ffaa0ebe278db26c85de2dbdf0fbad2c0816d11166b4eedf2d63c586ab95068fc3d1881f11e9a116ac0e5ad08a7c138db2d7170b3505992e71fc6d07cf9bab86476b03ae1591448a6ab45b2812118d30d7e1814f1ab81ce8cc80a8e4e93ada056ecb6615c71f2241f691571eb8e7af2e4a34ef6bd082baecbecb32232743f8a64abc1c4567c93163368ad15949fca1ea6e8c3e62d5d2c09aab6caac71c78396b8fd957dfdc767cb9eb93dfd6174acf354d64b541b5796a76c2325616096a310683d62d2213d84927258ca2e0ff2d9b7ca718a4280f3bc2a454582a598525d8042b3c75c58cd5baceb18fe5143dd8864ff0593b4066cf05f956c442960fd5ee47fbbd346fe4ff41e28922aa008f71bad61fb16710f75c75a0c290523a6b07d2cbc3c76b153b7733c86bfe5e5b00754f1c086262f585d36ba0ebb0ac426c5bd11293a2a5dabd9761677f77e0cdb07be5d32dc4d5eb4e3ca7db0489c90b6ca534911c1e70c1489d75b002f1088af5163d58c08f0430d86a246e2ec4ca330d6d3a3d2269b2d5a6fcfa9f2dc7db3007e0df46c67ea3a8f884c30eec0f12b5d31c8207734e7320f38531a129c3d9dc9057759bff37f74e8c10d7024d4c6eb86c9612b04a8b9d9e6ad67cbc350edda963001748273e0db4182c7bed842eae405a6f5a3e9deffa64d459f91aef06cc1c3c220b37fe66bbdccc0b5bfc2e96f390b7363aba96e18874b393014d34d2762d53472fd545fa43e11a839bb890fd6587de39a08367df3c5ece92c96b8d82cf0a62ef67020ecfc7adfd22a2efa7ab45e3109cf502ffb9f5af01f865cb32ec315a77b87c6acaac7c4ea38d6694ab3c6810c24be8988ba2172ebf29d1ec35f0fe6d2c444239ebc4302725f23fab34c151adb0e917d1abb87d2bd8685d32972903a7b133e96e12d81d7c0119eb40af4a6de45c8bd8e13e41b98ba67ebb9e9b00b8cc0cea800b9bb228140cec9d7fd898c4b4677f7249f2517ad175290255e1cd44b8e30ba3214828d09c0eab76e561742aac30ef8ac4b79205e17a8f74d3a8842fddd91ee3a88e75069f1ea546a78cf9066fb6535b6e1f33cee5de40d89221d1cad30f31bead731c5064626baf7f911349dae4cbd3abc0827d65032a4ed79e76e9c9ef2112e495366f9f8bfe4fa9e59548eacb713fcae754aa57d7b2263e87baaec92f7c68e1ca6d4f61ab3b3f0542a6d12cdeb46983d88ae2a51ed13fc3256b6b44bfc129e9bc7f3287e616df5033dadf81350caf8af7ddc29b9590fe220d888ec45e32b5acca52fe631fb9a96c35d72a30c34bb407098e6e781e163098c42f64977ec454608634c8f5447fbad7652358144e38db793e71ebd5abeb8b48ed67b39cffb772102262a2e50a251167d3b6db63c4c06530e93bbe23d0c0e0d1bc00044b9667114875ade30ebf4284114bfc4142645608a86e897514cc041be7acb66357c4538457b478c256b49b63e674d8a92fc4b9ee72a189edff58bd9be35ff8cbb0536e15680d4facc74b8722003e869c378c8e3d95bedd965bec7b1767ee49ac25e1ffd45adef354be6bf4d90954bb056fa24c121a48f04505c35ce624c52a59ef71244c34bc67bce7d98496c6f71b91990d3f9a95deadec7e317748a4305861f59e5607831c0d7f98f22f65e77dc3ed08558ed214d6e7fdc7b991cbe5867252b43033ae21861ef1e7d7bf26f231940c82c71bd7c248daa20cbd1d04b29d057722cd25992ca75eee7aeeb82f6c79eb38f808d88b3ad8a2fe6ea8351abde78ab803095296c49ba914c4b697d41327dfd7e3bc864d3a579badc53db97275af31d5d042281dc5e5e8c0780a34eef5dde6f2c1352cfd12b1d6c0f15e6d168b520f900c2ba1458cab6e090182aa3fbf510995cbb287965e4d42788133578c8eecac89d822cc2d2b2c88defb1fe5cf0854df2fff7fd03a35d551e2e8417ee337e6d36d43531d770f41c3bbdf9c52eaa56b16fd0730591a3f6666108063d0cefb27cced23a4ae2b00bcef7c9a30f4cd98100ab6ba8c59d3bea32d62cb86dce202c45d0e621319b6fe89ed56b578f02295d7e66ac74556389a56ec0d984ae07fae9bca8be5176fae81b6dcdb683c3c6094e1e334873c80aa62bfab2c97328ee347d071b17c29fa5e1d941da645fc7f043bc62ecc417171f76c7a9c4a3df7b282a97b0fc02d4f497cdf4594f28ead6df20c1bd9af7420aceef094c330781a55c7d7aee5603894c776579fc3fbf7479d48e5e6c438590ffcf3282377ee0071b8cc3d366d836205cb2aba273deb407b06eadb98d326360b6aab774d4ce3512d7b716f7a9fe275a00b1c2cfcaf87e506578d4eb3eabd88dbe3084519fe9d4837305df736ae43678ea20e9d873a89dbf9704187c9e15f16b720d554fd5939736760169726622f46002367628c9932c1f46571cd7cc33f3fdf415f28c83f58a2636c0b273f66feed01e683f133927487fd4a90cfed01438149dae57eb13d71435951066aa9f8c28b772e6a973616b5202240f119398c8bb6bb0e67780128582bb1d9328961c6373c58064e66582052ea1df739dbf7b959e8cf5233091fd19bfad75588f52a6f1bbaf916f9648b7968ae4239ae864819f6084fb8753e8405ba535d6b747f724aede0a5b1ccc9abfa70038721b9be287dedf7a9b77232b0b848281ac9d1ee08dbeb812ee6110babb0c90fedaf7995670d6580b183bd746d64469c1a59fbbeba03a9800d169aab04a6d68cd03dfcd0af1e76e38e6c9715b328ace8052fcd18c73b31219908c20098e7a0590927c9d247ffe6b82938575689e3154740de9818378701362472bcc82f493f843a8ce82667347a19d19df3ae9283de9b3919fbaa2969c841f90a9b4526836f49888c99d1228105932e88684231e71f5147bda8d09323e71cc56105d42ec3d3ee8d3b85f9a168ad6b57c72b3acabdb80cfc6798c10dc52d7bb65cac235df9f519427c86452d15e6ee04f08b95f217f15d35130735df0ffd2c70640c9a3cc79a8d5fe8232394583c7ffade0649ebd1f775a0313a4e8598491396085174b8963d01d905434bb13b81dff989874067a2b2a884b16d38694820dcb7cc9ba4b99221a21bea1c598ec28a8c79ed38e46cc552aa1605f728fd98ab20eebac7d6fbd9c4cc859fa634224b0f61801dc2b0ec01a1b86df1776fffaced5456be47ea23cac3f0ca56023235d13f1f0e6bf07d2bb097cfe7f0a9be584c7ab6b1710f06ad4578d116a8d9b7de7d3ffc1b233aa2f671ba36752a69a66c1c97b55d89b78ad70842c9708912106ef52b9923d8b91920291de16b71d265fa15c40811ea6a186ef4f0bde18740c65805454ab1a3c5e26dda2a4d892d61e8a83fb916747536d681cdeb5f1af9360bed0a0e0e6c06f4731dce0754ee93fea12f617a9c1b74d900381370ce63aada9a1ac64eb7c2387141db1204306baf30f10c112ef664b763b5b6b1619f549eb6855e6bcbc24fba74b95d30084cb453de85ea9b12c9238f7268d7adb8307eace40cd8a8391db294971f5cf515b7e23fdce78787259c499294e559af36ac90c76dcffd1233d766d35d4515b2f9723bba979d0f9ed16b26a4ddf79f4f358f4ebd97e2c43476f8d03f12cd82f1ecd859b1607fa02987d03ecfff88a591b450b895d7e6dd7cd99e4790e2b49a6ea06033414f57791d68711388daec415caefb1efde04d30b8329df55ac38a9e405343669e75ecd606495b02000633bdda494c3f9407605fdf1d418f65418760c7547787a6d68bc66fe197d41b240e2312e7ce3f54b1f87f7c72d97f3262ed545bdad1d00e152c15a216b24fe1e91419dd8856b827e4b5683561e00f483b823bd87a134dcce2a5c6147d1dded0bbaa1fbed43d7f653a0fffacd3dd3572d92ad4d3412652363651ce18ce1a5401df60e3bb5ebfb7c20d795639f6dca7a1cd77e612104a5f1fcff1de1bb79a0176cf8875514a3c2fe86e86d1add54c813083905fa496472f9f3f8c13bfc691d199e88f2bb13ca64e1e383c783c891e2f6428cced933d6127b492c58d28e26162c6b006e76e3de68b8b471a91a50fe3008aeeb4b203399dd95088c4d20e8745bdc36e27cd0f8f43f571db13fa958037f5757b98a75dfff81be0a69ad58688a70bcde2eca7fe528f2f1ca1912d024b71a8869dbab3e24dad8cfc16f1cdf3e7635ee7337ad2f3e02a1bbcb5df32a0b27a925163e4684dbeb09b457aa50fc3e7d14cb5303a14f1e2308ae1510057faa2f9bddcd1809dd29e6d534fec71e17ba90a48673de43c45d8cc18a5d0ba3f0a0c6e1a06312c3db9d2b89835dd310e453754824d045fe8d36b86a0ad87fc702c5c1e322ff8169cd6b80cc77a859d08ed8ff078343f93d24f7622dcfdfb96b5b38824ce9e1c5f4a3f26882662d236eb39eb2e13bef2392f3641e93556cf650dee46ed132cf729401d0019027e96b0919dafb26eb49514f78b62735a5f7fba6e26680b2e4c90eecdb37a1562664f0156f1d56a5db3ee31bccc445071b5d20024f21b99d8706522e72585e7ff5ff997bd1578799d792b4ec361425e82eda520b215c979a92822b64b6af939d52bdaf0977bf7a41f1a05b6aaa7d359367b8225f199e727a0176abdddb75f6a09ae4273bc925dfd3b0a75c0cc7447687b443d2f6f71c94589b0b32a89640ecaa42cbc5d7cf4fe9e738dff89bdaf2064f39dc2dc1bf66a5148eae7d9021fa7f153f096b4e7487f724bbe3c84919fc8075aaf932cfda33f3e75d05894761118b849b972b8d4f18406eb4934732fe8f51b05bbc14821d0e0495bc8a0d9b389306b7940b4712c23452d95bdf762ffa17d404bd45e854d2a236c06d7b89461a8ceb2caaaa608044dd26b834f7e313c2d744c602e3cb38070b6c6c78d4b6b82e5562b479b628d485051054c4221d00fcd35b2d4dc1e68b7d079e1fbdfccf875a4f6e2fdd45157881f9c9f73a288ca13f8fc267058b912717165f4ad5bf31278ce99b8be609482a43a0d74439033b44689464d3a01d9de269e381c2adf7d375c7ac1349a04d7945f4fb27afb4d4aa41c450d1d83553121d16adf48039039d3dca30e25bd11e2a44594cd203eec745112a3a14115f7bf0cbe9f3955433a91c9fd0d509cd3f2089ac07d1679dac245eb099a605bc0e4c28d5df0552096e0e01789ba64d49e087d1b8b293760c4915ea147f01a4bc035fc26b91f3655a7f29ea55134a2d32445f8e40fdb212fdc95cd73d9e723d084d1b6f80e33bde79d4d218d5bc99b79e431728e94a682a5dd063f57d4485f8f055d4db8c9972016b9d250f3139560d5d3749889d31d65fe3232bd4f950044ba125f5973b5ba805f3975378cc7c23062ce92003d9d4b4ea90ab019fce22da51a0763035febf76736282efbe2def698fe38b6dad58d9677e89704a9a769775ce1986d2ce01ab47af127a04bac9042a8e3b13c13031bd02215769ad3d320f9a01793b0bb6ba3f0847752c91bb0031fb52fa483c3b99f279d2b81bd36998b303e4eab03faf0a8936e8eac0b36a6e6c696b4a735a8927b4da75c29a08cc31c585c6481c84a76de075064a05c4d6a3d69d0658b9e53e8da2929e72d7f8afa178c16a0e4c32a1a3f0df03ee89266c4df0dd2c1632bf89d9a5167fa0b863e866f8360dd08304a5144af9bfb4895044fa4c78ee74653a955c044c88c6aaa8e9e870715aad9f43e144e5ce71e5c05b0c07d6eea6cdf78f50bbf6dc56ac4afdba1b241eb724702dc6065e2da2c42e3d3940e99686f8d2bfb2c11b97262df82fbbdb9123fe4eaed6b979df2eb2148e60b5dafb5f795a5c3e707854b0e07b3906f0d72b6d5c7cb1ef551c35f36f9a1ead40db2432a10264ae988021010dfeaa85bee909f405b3461994a77ec1296dddd2fd48f0417a277ca03b3aacb438d0fcbc835e8cfa8658d6f40224ac032467586e5bbeac64d6d52b1f9615af4ec16c4d41fd7ee1232b24ae41d99467a621b2be1c78fa69856e41bc450db8dfa8c348ddafdd69ed6dcc03e2d55a5cd8f3609c018c70e6999bbe56d4170f026458bf0218832cad9e8550697fbdbb9c15db4106e9c506d47a14e4ccd1e465af5aa5a003ab37b084d89a309f7cbbd19da1f92de94bead173539d4428e4a72b092f2c83e700318297b9a34d0611cac44f95f5cd4f7ef6bcc2d8abcda3bbe57d1231fbced01f6405473c19fa91e5589c3b00f6c882dfd205fdbb2cad7c2cc040ffb19377411a7a2dea8abb60614345bcc0703db3c7a3837f32f0d33cf10cb2a0955c194f7b4d54a9f073e2e270b9e7db347e82a9f24d6a50837b27b2accd92c4bd92e1b86494f4c05708da1063d284d493cb3de7646dbfe3c71eaa530f72543cf0e839f6a475255287182d23533d902e174913a8e1e0165ee188f5c5a68f11cc759dd1d7502cb01d987bb0be31fceb2672d9589e99dcde2f2b8396af7edc84d81fb3323fdebf1ae19e838af6df9228924c0d3e9df20741a2d6e5bea198b89c5851eb1d73d5317238dbd47ea81cee28201d964dd7616c7b6645f4aded2c1f62974478fc141e7d66c055e90e49603abae65d20f583c9c9335eef7c0ef3deb691048a395658573b0bd3c620ffcbe48c5ea1113095bd934484d262e777f6acc91e82be97b268f3e58bdd95e6f10cd92899b529aa7f1d8c74ebbe99a17316a3ef78f1f14e27ddcc416c80ebeb1c1a27ab7b7e6e0f23e450e873fd5e91f7ffb00aa24b22d2bdd680bebf69f62b8ab678b7e0a17832e83efcf83c9328251a9750492e52f93c22a12679ffb9037aab9cd603dd1c52bb9a30f09844488fadb6ec9619a5f0ff662e0dc767a758c92983940b4eefa54276a9a60b2a6959b4433f73468d5126578a733ae4327a1fe07e412793077de4b2d9e3fb707ce3dfbc997e3c0d1806040c50a7f82892d90acc8b6619896ce5fa45194bba1b9cad0e3dc074fc9e1093d04d460f4d56f2fca0635c6517dfc9ba94ea847da18f11e8262705fa8d145c08dbee896509f08f28258f0e9ee5fa2714d993b7bd2b4019abc31ba0a35019f64e9bc9f3b0efcaf91334a5947f3dafa83e02f7f85be63f8a50dbd45e9fe7aa24dc35bbc43ed49abbbf33ed99c2b50c9dc73a9bcb5499b8ea698e0aafc9ff42d902efd3f5a770d1b155815689540e7956c8a7a25f712af3447dd9ccd4febf48e0b119a15559457162fdcd1e8f57447b4f40146f50443ca4f88395485e3ba075661716e0d71a37dfe93d814c77473012155e369c061d99b6c161a3534a29a1f5610f49048f70ac75513ace012be3fdd856d8bb063c9f57907348d651c59f19063e8ba4e4304ae180f7d2a78c0571712de781ca055b932f1bd55af6e8d8995c184eeb56b3801935e9ac9fcdcd48524fa04d557988a796d174e4e4447ba2e60dcce544fd727f831d5c56e4daeb9e6415e15ef14e1777a59f7c5408b715415ab817a007cc7eeaf9c15403b4695f2beaf06af7a074583bf5dbb5578f15334514ae07f9eabf1229472835892b4043a24730c7884d18545f5deb75d49d471d6fa3fe03ece042bdb2d3c8f04dbec7db6a71556c3e741df49b0cf36f5b483c6a969b688b07291a482856b6d58a7e5b3ea9c0ce36ca45a2531362c61a548ebeeb3334e6ae2c0d1df47783c9af3cadc071784ab90ca5e7f558850dfee68e66665690bbbdccdb2554fd17ad7c67eb0c2b897f04114e01cdbb27721a094d4454f2e5ceefcff70cc2100239659c671e2b1a9bc91d26075623badfebd56e9cc18b555b72141cde9d6111a8f2c413282558f63c7f99a7063c9049a4b8360f6ed46e5c23380381d9fae427b3912f8646c1aff7f4d0ab4880523f14f4b9ae913557de6908cbdaceed46c6b8a549d9f11c002f7e53c58c7cfd3ad0172c4d0fa331a9880ea51c24008ef18b5837a947a6a6968cefd5924116f1bbe55851a53564616f7b834068c621ee5c696a1cab0708bc1b33152b94668a1cc93dbd104557369705cc58e4f3332a287701dff74b3280b5cb95f1c17a6136dbad3313b90c753c67fc0a53cf976c94b078f64acc34a5a58118fb75077871d042540a223cf282c7ad24fb0c7912b4808fc2f000a3e7aa716aec8d3540129f75384c56fb8f6a330e0a30e2c673300186442b81ab5ad8a4d768b38819590b1f3dc1ac07e5549514578cd850edd3adeaf1687909546410385aebbbfd3dc7c7557bf44f51719f0d582b0372af870888019ee5aac4fd796b5dfd1336125fedf8fff92368362b11e96687cf89403ff3143ba9b153a4e493cbb8386877c0531e50d7dd5067bcb6b2ac747043b8ee1804628fa19c3540c4eb9b20786c27932d23815dcd232a04d75a4c9fcfca1004f8ea10c436a7cd8908ec3e38e7f5f80c5cb7b3feaf3e3378e81e883d237c629e70d97d5c0978686fecbcc4d79a02e6735fb910aa32c4466a837254f5899117f97d8ce6edfe35cb4d19c9205d9137a8ed991d947fea5d24f6c85b1a30da498327cff1610657300eaa4b332c7750d1800533c5ff0a9d146f60d687990f028938a00acff88dc3c26c1a5a28c700012d70c1d89a3f8646fc5d2612e83205a1b53c183df86f8372993d147af0e59d57c567e9b6ecd04c2ae65eb963276257b47dee2a98d1fe7de2b727335a85372dbb2550bc8be95dc7fd93c40824eee0dc267df108c3e63cee80f365d0a9a578bcfa6e28ad3b42057f176293dd60c7f1a5241c8a540de8843531212b777588febe8ef571cd13cd35a9e4edbd3f036b9203dedb1a70c6d31e2bce65f8204dae11d1c241b28c35b7fbc6bbedf24cb60983cb337e6f788d80d5730307d2d76058c0d6bb262232a40cd8a35731208caf71b7c9f4741b26e4c198a0f606196859550e010501d8e5b1efb800759e5e771c6253f459cfd6166054ac8ebf1c0ddd2f78fcdbde0687996a34c992c6069b3b93c4c9adfda7640f2ce9d633a6a397d17be2f054a4182e5b24596fe6b394b3ebedae66eb016aeff616670ecd0d415358501aafb7e4a97a3fad796608f0e55c79174e0fba960b481e9f9b968ed73ea160d54d21232820315163979762714ae09fc9c661d91c8ecc1397ad88181fe2c5eb206eba002ef750c63545096d0e2879e7f7909c66b2d010953a35a05609bde5b00c5d2d4a236bdef5e83b07a7b57447f712c0310dc911d4698aaf356d23368f42cb26b1d39fc2ac95cf57cc9b4b5008224412107900508051ba1a6464564c1a436554487997c05c592167817f3287f52a64fb222b2e1e0b1d78aac397e3faae21dd132ace4532757062140c16038bca53409cc7540113983699c0cf16c3b412e99e6550b815abc50f138937b15a6d50410c803405bfe85a010ae2fde04913ff05c670bbc751ffe1c1f3b7c1ba0db3fe3ca13e3ff6a5c2dcbe4bd3cc41e3bd7abdca1c2fb0a42334ee656734d58375ddda8d8bb85721460e4186a8506a8c826c00741ba194e79a79cfe726afe810a90bd8c6e0db8d02f521888a5d4dbee3aa71c4ac1dc8937c06ef91deadd42eeffd498e9a4fcde8ad43e9b3bd2e3c29087750a10b2e667edb3d10dc4b3817e2d4c44dab731d88f3ade068703f997256237087d5d3d87283432b65dc877b3d99b7e27beda79f36538495ac9533d24704426ca39bbbc9f0802658d194cf83b8f397323ec2fba41fa9caa723dc2c298b164d110ef2eb064cb3ab8e7eea9b080d4c671319308eefc584edf7094aabc7e46b269f5aa9f841f1db54da8fe3a792f2663308d4bf83516d02928730ad84f5053223d00a4769b56480b3ae496507670030de8f56b939c62576e9b3f0c966d20122f594691d8a0276b7765d76dc5d8c4c357ced26681faacefcfa369fd20925785aa4924ae858957b59937af38a6ae35c09cc75a773aa6e0608341dad5059fdb1ccd13b83cd897c7406ccec92e15f77bf5b7504d3b5a0776fe5f75398b405f6b1750910b2b766f80ff062ded23b2f51a966816ea7c8f084fde48831530b6927cd26b80c4394bef9731328403bd2e273a13ff40c0bd9fbe35f85aa31f0b669b20b37f3fa7aa7742dd6648b4f677739f57f0ece0c1602134999812debe39213431eae4a5bb9329c0d0d8973e65beff582d6e94da17b4228933ae0cb6498f7a33f91dd2c5fa9bdfe27b74b6cbb944cd48ae13a8a2003f14ca1e06664a5443fa374ee7b9861ce0dc0f958f83a56ebbdf4c8a455372947baa5b7516200057638ee905cc295ba8fae0eea291d12a9571a039ac1b719791ce6e75bbd0ca9b4cb576a0a3c3dd12cfaccec0bddbdf56b855006aff303acb326ed4387d3e5f43ad88e87f615d7815dc3880181aee10b4f11b7cff2a7c9a96660fd18b525d1f445f099809d6b46a25cf5db497b3d94d05e1949a33e0ef27431350a468ae7afdd064b30ebd8ce791b0e0f2d72b6bf8edeec16063afee4d9b81848ba197b863385895001cd0d0d9df588d7f970d2ed77f086378e55701ac30ba216a75f58a49803091b4719e7a3ce38e05aaf1b4774d52a5c83c0c61ef8a9ce6691ae4d3bf0e0447631f2565fe228498ea62d9aa70202dbc807c6e5e5242d3cba306e6dcdedffd1f44e1254a0161d3f749c41ac702cfbc5cd2c6ec67882c00f14b0548199d3e0703e58c386469d910db6d8e043c07aaf9014e8b9bc8bd004e9fd4bb5084a4c29289f2d821bcf12ba1f7515e48bcd362ef1a43eb985160c4043f0d6c4e67a71de743528ec20643a723deffcf3f24c1e0092d7788910ffc87569a4ea264b138a9c1ea44589d80933bd85c47dbf63ff342b77ae3f3dc89d53f068be5e22a2bee94391ae5753d8a992b593291ea003479787e2b58e9037fb50513c6836b8a39b4f0904969e5425933e8ae67ab34d714b75b1ffe8c3289cc63c1c169608dbf6797a673fb6f26410c77bcc3972b5fd5f9740767f78e5873ee71585e27e7f690693057bc2b7071311df993be5d49f6f8f927e79dde9de3593cad4237845e9ce411c20db9a200df36e5da6a503aa921ac08e7001c6af329de0cfb67ac4240f20a33238df4e3b6195df898bde14970dddbe3a6ebea7e1fa599d8a63155829040974401a19247fabd125e7a21f842bc809ef2d74dc1f59f7900617e1e6f0cf8d9522ed179c81b93cb179cffc7deefdb07b2f17483880a3773e94cefc6d1e4151b0f512b34e80b7bad21fe74c684f6cf51195ee84640caa68ae822b510879b653994742f19e7e29f06da683680c876ab8c6ecc6434bd47fba0a019eaa4e94aaeb11a4f549e23cc308b302c1d047c5cf5618b329f3e76b43d1f257c1340f907c7e117e3019a91a38095166e642aab4d384a38f0ec7ece772c8d3483a87668ad82da7f078927865293c2678b9c1af7148f6ea90a32668309292b40fe66e6b41f6245e35e09ea91001a3fa06f3f572d0c2bcf674da6a2e2cd045f34c1ed32d7476b174f83bdacb3853535ab9996b6f8cc9e4faecb6f4bcbe64fc63a2ec9c4858b80c9040cb4d358b2765647dc1ddc44652f788390834403d9253f45e6294c8fa7bb1bea4d057ef1653715910505e0ea94372c69609996b65cfc335bfd6361b7a688d4ef9860b951850d780e9fd98af32fbb9ca9196662258fb028ed65ea11ae2c9e0ec4c481579a0e7ead4d4deb2630c13c94eea1db5c5e02b6bbf86895353461934d62a712e2aaf04c1682777ee55bc17704c261e8593d8ff52c3b3cf576730fc697a919e6ba8a31d6439d9a71348f46301c17a6b27b12895f2fee7a93a76431697d2af0f2e8972da897bb7b320a6dbd4fa8b143bd82d5c14ee7eb5520221c833311e73c8718ba6503b17048d257146f90d4b4d518799ad224ec65dc5b9bbb822a6b089f05cac26f39e4d9fb84413f1ec923acce172316717b7f62a89116d8f207837187e28b92a80ee774b063dd6d233a07788c4118a0687457c3b68b10eedc2bdf726919e57b7ab30550f44efdbff0520d024ba7d24c70ead40113927c44bf4175d5daf9c8b4c0eac81f13174c58e91f5c866e276da4539d3eec4a2196ccf0ece6cddac52d03dfd659f12ee257a55910d4edecf00210921bc1d3f5ef881fddcf51a915afd0b1279a2782f29bb0edb583e60136c20f2e892175f5769d7ea64c03ac98b139e17a4f052cab59fc2efd1b9c4966205c1612fb8b03b9c5d91a43cb49fb21307ebb232fc5268e8bf98d8dffcda8cfcebc7764a73778b87db3b6e8e5bdebe81700013f15c0b99e3ebffda20b506cef5735ef5826e1f04fe7ffe71aacc3aa7658b80e6d5bbb1a5840c2391404a162e234d124755740f7af8e9b7115139ee69f2823cd0db02f384cdc7ee946151a6e415bf2692bb6a96a9e457394202c2c8392b2588c6792a5985e2115d9bc7483d67670561fe63ec5f5ef262ab220fed75c9dfb09e4245c6a89d3bb8c670df1fbb87b58d99445e257d69e566ff69185772175258bc5192fa5d1164957fe8647e1771647d925c25cf996127093df563e0ac893db2281dd4408276b6d6066d27a3621e9f636fd61b8b1230f7aba67a58d258479925d6049e6e2e156c07e5a944ac9d349d1a710b633c59aa45332955a846290fd1e0026b34db65b1ee789112a4eced0bb125bd3332f2b24738ad0c763b2e68b5539d910ba23304138ec6f20f3b5561598402cf8f6b9dc17d2c6c8ebbedf88f4a8e6f0a0a0bebb884b7afe93ab55d4de6b99244538e707d2c4b3d1592f320996bbdddb13092c8cb56973f786045d6d2897c52dce04dec40d5b9054b0c9c2f3149a37522fbaa44a0aaab59be76c4a7c623734088e2a0e8294a467ca8707a1df21538a060b55701bcf74e4b93ece16336a6dc7844aa5a470035ae82ca8371b76ad835be7de32ac64769afde1fa554a79f145706ea6a0316bc476fb8b4bf1797891a170a875a5de26203c9b924f8b598d722e57fc99b3f738713a1e0474f3835be8a63d98791f6f9643359c0bc0069df104eb650617e874b43fc564e69c032792789ce0ce16b8673f259f8dce3f6670c9c0a2b708d618eeb6294227b3de05375d0c11c6b1ffa6a1cfab3f152f6a8e6c70c400182ac748b582fe63f58d0b509ad8a0227f42319d3d49f7cfcf7d09a190f3797ab60a94ab775888a61df216f20e01d4ea1ccd19d5bdc52c4b7ef57ea11e0619e867fb0dae484dd52ae55aeab2fce28012ae378b99a8cbb969ea7c2545db8d7e4524b3068c5039f34ede84b7619221d1b2b2ea98db1044bcd75f55f15273d128f798141d3eb6426305bd63e43970dd001b362525891b6ac50fce4ec88ada22679f918ded0bc10d226c4d6014c6e96b84918dc0c56cbd6fbe529cb634eae2e6bd6cbf1aed0a92f7193c7f434ce858c2d702c148cddee62e7a38ef3bf8f3de777147cf3cdde5ddc89022e45e08031a02ef0ce2eb4ffab6d1238727dec64fe59157034255eb6f721142d569351292fbdebb0ab57fcd39634ae2f0be80204b2c527024e75633c079c598db99b33b14fd2c637f1403cdfc25b8518f02f289bcf2c0d136f09a3e6b18bc5ff004a2b2fe7f535421fbffa8ccd9fda3b69193d934584cadec9e1aa97aa002eb5e552ee664ea8662acec41f1b3aca7f427ded69d70ff507f32da8093c6728b21b935471b17ae850652bd97e416904b4255e29f00565d3b2f127d23f146f59b10b6bece15b9e1a5684c31db88355b3e6fc1b54fcb5c4da1d712c05acd50afe903ef2fc6f5cb741ea17f9bda87f0cf070f56feaa8964f3d04d5cf05deaa84b5f2c67a2cdef9a6be6be9a41b9f8e42c28762d7727b1fc05ffcf00c7827940848b04336398dc5af56fbf4dfd022c50bf668698cc14bb1120e7c8fb212a378667aee167450007d92a7b07edb93c6f882adf4a06c7d7beedd3a2319a9ecebcaacca31279d17bd68b4c53e25ebb179feb87e7d5565ab368475fb2ec9c7ff2068de20f70c4431dff42a6a54da8a885c4f57e7339c8ea580884ef151935d4bb572f161c8af446e5fc8b78d54fbca8b4c9e9f7b2dff15d356c21620427d7d44d2519d3b9ae32a9a31429a72bd9c5ca5054313f3a9786b2b668e4b2814318fd9a98ffc653b897db8ba11097fca60e16310e209d9e4b1f8f4e28c91d675a503377d3d7a235c271bdf6c3cae2d1c1fd9153c14fddf92425923bfd2cd4a19ba4b61639f54fbafcd1224b9478afb0b090dba1b4665a9ef03b12481f6f907d7916d6249c55a87fee761167471c7c52bbc6ad419fb501910c2ab041521bfd30bb5b4d7b9bdb710694206c83c6d15e212f17ffbd011dc02a096730b4dc6425b2fc15f4925336b9a53a44a7a8c810af7d66624da5c65a7450c7e65edc4afa97c046cb6063d5375e4a1d7b74826b0a2607b5ce18fd38e71992e38d2f2581f1932c4fefe96ad00272267c757a372beee980c0f8b3e1f456d19389ad916ce00f11d6688bb55b980926f652e5ba7a1e4b5680b231c8a4bd2e3d223a9913df3663ba2896f3d1b8271d00fd186629b2f90ecacfb22b48188f3c69054a81f685dad712b3d5556b23e9f7748315d9ab2f3b2a8bb7cc6d462c6f53cebfff56a10f54e3c73b82513133647b6b7af5b58bca9f8d527af0b150374180bb9339d00acf2b07b576614bb29c31f133fc49f9771e7bf22bc55e3e7a231b89b69ba56b42936a8ae5406fd108f4cbd3d3b8a8914fa583ef477801b32ab41d84d347f23c9acfa54d956d2b9ed6929ca6648503ec1c4cdf67553979f9c71f789dc2ad8a2a6503343f66a7b3ef5eb343e1da28567a5d7ecd4ef6a6041cba788645bc0814c34aec2e57a63ed2a73eb48fc89826028b4e93da684c60eb076f0a0a4a57d372ad93794217148f3176993701f96382c3fef36eec744f1baeaf5f2b44f3ee23d348f0e77b8432284f83ba89eb672bfad13f0ceeba1d6f99206fe05ffb43493b7cfe6980790c40695b3515d44db8d536565f27f24849bf8da944a84dc719ff3f41ed4fea0a8b5359af40237cba3d9351460781766287a840977c72386682cb96decee4e87e72007b84bcd0e809d953d7f1c37deeec9257430db31ff62fe0841ab178db90e5166ff3c4d069eaee3408a2f2ae1db2b998d66ac6a1ab686ae9efe0bf10f5dea06a2ce1a64259d559836b738cf0d8d29fe633401a7b8217ed7868a23fcce448d2910b37692f4c3ba4ed8d35120b0f19d6d45f3624ade5cf204723663a76fd2696ad66ed175b053716aed2a2cb6e07da79acbb583d82cb63dc4379ebb437c8f6a6ca4afc604348cef0744c1f656131326b0ed9c31fb79f456028adf590e746a3410420d24942b270184ce9957218993623ee9724ff70a2fbda13c9386c50384b199f9a7e9c769f9e936b027313c572a0ae414635fbf2585c8be0ea1289feb24eb40cddd88b61f72b83a6fa8adabd95cc8c84881d20099144298497b798b2ebc261eff64ab486c8823315505c1a32eaf2c91447c548161a8fa384f516e6dffb65bd4e0ed2da9ec8003b8244cecbfafc0c622a97e56e1929cfdbf7889133796dc353df78b4f2a717b04daee3286c15ef6ec29c0ce706d96fae2cebc78f50c24e364126f86e80fc3e534a1e925fdac93d7f16d697ae54597d3e241dea3079dbb0e82c13dda43ba866e45d6461cfd3e786f0b43d6e4300f1f2fef769c0b11028524be733bca92886319b8fa2bf75d3381bcfc99e98791e2e08e17f898277566e18c32ad90aad0e72dd975d3c089b432748d7f450e6825d2d12f0370daba925098d98202f4e139ae368bfba336bdeb99dff1ecabf40c89323e3ca5dd38e19eefc4b3c131f14c81376433118855550eea5a69b8d12b698a915eb6b50fb5d0c0a67bf7272df91815a919eed9b7f2dedaa5aaea27ce3a955c2e4537cbf382396c9ad15af2a61cf7f068f965db4991fc58ea21e5184a4ca5403bbc5ef502b63ecc51896155250a1ce5dd555be9b74415df290836513d7fccec69479779048a4da0b74f44aeb7a4bb790a237334665dc16845a385c834cc5fce331ee7295ae6d7cdb41f2ae975260710df6c5861ef4ba2ac3518b8f90a39b9158a17c309230e0aba3903d335441200e3801c25215c150dea055e2d17118bec6b289339adf6f6c4ef9d35e66b07d12fb0620568db339ffdbb2909364948546f84e32eff241e53a2cc42e4122c835c4adcf80f58b650ce431e8a090e04fc5f166d1c8232db72b7c1cd300514b09124e97f3a226ca48ba325f3d55d4c8fb2b3f6b706c5a36561812b3a62d12588e4efef8d9874154e348a3537122a8aa49af180dedf0ef8392afa141e6fcf5d1cac563aa2ae3d62fcc7ae89f9c7d7e578c829b8ee57a1cef42f44813e6641e1e5918dbe9db1a36f1cf945e5f754cbaa995ba4cbc447b8f7493604efe051d06dd580a959103f25da7d6f33a4f3738e2531afee0827fab6adedb51ade54b8ae93db5eb3cd7fc4c742bfcb6d8e5973e401e44037071ca2ad0f8dc8b0b7844abab300a87133afb2f2ee9573dc249cb300af8609172eb2b97fc0745d283dc67a6e8e35a75471dc5451d9db1692e221e4202048c67bbf581da34eba2ed0d0188a7cd3cb5e0af7143c421aa3620b889e83ee1270589ff9808778bb5387bf232d65decc09c403440e76fd1f12a3a528ad0cd0855f8e84bf176919b49a3d9dad6acb15cbded7d2ce7ccb854ca8b0990f8579083c1afd3a842aacdc65b7ca0e07ddabae8db5d1ee2a1d5a10c19b38c022ab14e884d3c694a4fc1dbed9a25dee95d59e120aa5b4e17c17226c27d2f9c3e8b99b8a85a61f03a913f9eeec1630aeae7015785eb045700ac59baffbdc4c7ca81fa73e1be3bde27178a60978ad98f514e4bfcafb227276715a697eb695baa3ae429759f8196506fb17d40c1a907aa627f412db2dd036b375f285279d06be922c1d5f066000b95b1d492fc6c1b50c0e2cc4e8c32ee2545955df60778bc7dc8c03e42286ebd46ef64d55429ddc6dabe9384974e2ddb7a442bd78fdc39df2ab4db589c1c8952e861227df1a7b6b7f1c32d1d20d6e0d39632b8826d01360e8b75e503d03d2371673e8df9ed74069fe51255148f4847a9c75b148f2bc30acbdac2395c26d5eda11b3babf1c50f457fa3172147deaddd15b3968d060daccc536b5b491bb316a31e4dddc99d9cbbcb38908f104202173316409988250e78255a8072dcb49c9076a2906c543e2f2d5af715bd13e0d95b554c2f333eda09d306069f973dcab8ad0427d649fee3c1a59519b15c3a2c335603bbaab45a18e4498a53b9328a91954393618d0253747816ddc28fd3b0aedd9f6be8a1400c4a201ffb679235feba4ec41ee72026e5e7acdd457b1c539a3bf17740ac35ef0069599f313f9c05c5b03e59da74a085ff08cf1df3e8e03fd52a286475164e73d9e6f0d0d2ddd60094ab5b476d569bc8b99a71b342ee43a79e882c20d61fce6a4d1e6e73d5a69cc8d7b37b9dda054ea37f34693b07f6467b0983266550cac210d92fb4d7170ee277589c6eecfa2617344b3b644ac27b947150239a8c5f52ee0b7895a945c36ce08751cc3244d042ed52071d083a5e3fd0302401c714f86fb04f171f96d49b558614c37a2ff4a82604df83f6b03215c1f4468c8fe3dc7fde0095425b11dda6cfb4e3d0dc139f373f95ca0d7cbb5de59c4726c72aade0c6932fb4fa18f82a03f364d6d77a9ca34e92894463e09d2d2d67a0443284b74b77ce57387cc0ac05b47bd03dbb1a03944d0c9b36a9bfbc2a49dd86cce08a1f19b8915dc0ed5b7c8c7784d508df00a489c2e1d911b8afcfed63d7a80fd2e2cb0b42dcc85b2819d5c96387724189b9dc203b86686ea9f3304f82352b07d20b606ddfca745ad69c9032a896002dfa911d399c3497348f83d27386a4b254dbd8ca4acee4c6a2d4bcdeec8cb3c59e67d6bfe55e17da38b6703bf702d950f72e82ee94a10edda1f0673c26a094c132c17710c09dc22aecb7b9d5ba2d6bc372f56200d596146f94f3c1c8067bf11b15778105c764a0a2e7dc19709a6453bf8b3f0038cc0a47690228eb1f775bc5f1bc1e5d85385fb9af3fb7068036396cfa2908c97a769e0734788558ff0d11afcfbb41d1b289c5fb8f6b87d231e4d2de6c6541b8dc597c43eb668ef34078e4e4157e991426266234d4eb02d9a812b61827385d2ccb075e4c6815d8c52c5981c42c0d0f32196ae52d7732a3f9dc7f83d23c2e2eee56d55a3d66261342e1927508b7b8b67b84695fbf29b55d5acc26e3ba4f78c3a6c5dafb1c34f4304cc099adbdbac8ad6ffd495e862711433a564489b853d101c6b19b9c75bc4ae2876430e2d096d786f1f3dd6515ff4d021a012c765ca33370f021d34b710a4cf38e4b2c74c306ba35f84c1c856abfa88cb471b1d5929226670faa1b1bfe282fb0421cb4ecfa981d0d8a8695b6992bb55b6eb11d2424cfc2ff8d924ac8b7b2b981eeb181fd397fcf97351f3e379ab0d7d9eabe4540df0718bc43b7c88699d872b3283c39fd138a7ffba40a44c67f6c91d482f30322b2b755b233582443c1335e3154583e1cd82c7dd4a2e3696c2f0daeea1918f9467b7cfc7048e3633cef8e463b64246a66dd77f70c91dba49678e1ee706d7196daac264ed9c33b1d3b3070d3e699142894f4a01289a451f88f15a992107f3fbd34d8e7969f113746cc6e64bb71db605b9244419cbab156a69a98a46e04730a8dbf11b1c7db1e4541858a6257f96c1685a81755c6837d816f506c08361a2a40cc8b7078ebb6a86bc62e0b8059059895cc12cd09bed7863123cfab855d1da3ea3618935c669ccd9f549a0083379e0e5cc797982c8874caa787d55f182e8ba6f998b35ff3adfa4a1a3fe772e34a90bbc6567c33d2eb13b7fa745faa5db829d75232ed9257a3a2a8a8d474cc169cc236afb85fe469eb74a403ede7a8fef1d4f073f4f76271b8de017aa2f446d43e6b26f7416e9860da64fb144cb17a5d2d1504e3ddc46327281c4d671fa7f290bb4c532254dbf0118e9f774815678969f9fc2bb1de5a8973eab2364c78d7e920af8294a61d9a585db3f82071337007d4df01ccae8dcc04f052c7f2ddbd783854720fcde881de34220e9dc96c047fbff63b7044b2218a24434e815b42b656fcf6eab8f99d1c736bc8c41440d1628949810c6c8d085e6462f638f4a15176f9dbacd2f498c5de7cb2e224a59f2a1fd4f64f6f14a504dd29070c53a0891201ee60a101f8460fd6a5f6f0d9ae336011b62dfb3e2c0870290510b522f0440644511346b5c36ba32c28eb5febc174778a664ad0a88df73f9c8508af6ca4d760f869abbe116fa9dbcab46c29f5ce86a4b911add0fbab6f296bf8b6b433ab1293cf2663fe2a2bbc6670937b50e2aa45a734403727b4aa1337123f2bfbc7b8003f2c5b2a9d963d57d67ee9fc81069a6568cf5cca52299b2ef949868471e628d1b9f10826f261008535455d339fffe0b444f3c12563f8e1f96ec34570c15ab47a637bf2461e60d75eff08a1034a36dfae94aff6592e8f0761507bd8c96431622a91136ccd3ac6cb358f38f5f2716aa6c1bb07fed766be7d62867e15964f5ca593d877314fd8efccc0b7f5ce9431b05d721c159cfbeefb0d696ac3a063de75e6298391d9cebf66bb6babc7b08ce60c842560b0c5c9d5eb9becb89da4b48b5300414a7c246c9f5dea991435a9fcb008fd1b185dac1776afb04565e77dd21c7b2b1d372ad214cc4c2e2e52e8b212ba5784245fd5b6f7b96b7c80baa6c23d81b6109e699994031f10851bb8c430619bb9c413778ac1e02ac863ff60979b669ec7e1a0f373516147a5852aac15bb5e927b10e500cd4d72083276db0cc79087d1dd9cf7ef8235e2c3392fa830a0f5811d506ea4abcb02e4a1c48f1c46b6f3bb0a3f8bcb7cd5d091949ab5475141b56fc44604266f100709d022daa7c77a2684621a28ee018c516101c3e9db27feb2c2333ef1b12b5c0f29b77496a2b54878d6c08a810ae1b3611c9dfa2085ec81555d7e1da41a9ca7b68498be6bc7100fadcb0c346451b2bd34f5b495f7624d4ce5dd0311b001c345b8b9d9be93dceed5c59b9bb2e142da7be7f4200a8758ceadcf8fc9fb576c05bb38d380be8c2e3251b7039ca4bed57d8619f346af6614d6f7c797bf92470bb2dd0bfd59bfd7bec2aef048e408c9bf30d74bc3dac71d8b0558d4b69df0003138db7a7cecb7b9721b6a75429d10f01678394a9c05ad08d9862000d00c0e3dc8fe88ab192f801dbde45f4a708def59a577f79ab4e6959ddefde85ae4f0a7e227600baf1f5cfff84c9475cc9912be997f8681c23382e1cc6bb10bd66a5652c0135d24333847130a503e06e0554925318d0f59f973f3da00c2c4e315158bdc17e8828f105a6b50e2755306616fe5b8dddaabca6343b495778178c414d1a719e009bed64e1e01ad38a6f58a747b4e198ef0a76664abaf7a854e54193224218f93a4a823647b9889d271dff7b21938ed2c9a2838147f4e9ad35c056f7cc94685cc6cdd8e053cb1a3e78982b63fef1c93729e234f22d7dde9f795dc177a3fbd65c88b7026c63c57e57a2fd6347df741644fb8b253ef9d967f5ea1f0d6ff377a67313f6efaf082b85f9d68df92351bbb01cc3fefd0a1944f6d9e882fc433a6cdde29cf58d765dfede910a274f82d6e5f9f1a55e574e55c16b7b997b836859bec9a0e003a4c59ecbe9d025da31c6375e346fe46c8134816f735c0b5de6b3bd1304b5dc08db187923921d09056b899fb08cd672aec5828e32dfae244b70fa06c97f12197633734aed9459c18ef2ef1f0428ede06543b3d2d01df12d717940434b56f6eb505336fc2cbed5e013b6df317aff76377941c33b7808fc0c91b1925759429d1b3672eaa24b9ccab474468f95ee825ee74a8aeaf44c8c5d0b1f7443f834af95ff98094ccb7fb6a1f13e7e51bf2cb4287373930374a11ef5faa472fd42c19aad5349fde46f407d540494940568299eaea179eb13cb4a28782200c47bc9b5da3c7b9fa0e3905cf296716ece64ac4c0e495c344f71094d11021f1a60cabfc7f9d0a018968862eddbe22e18cac906a6138d6f61fe86511c63405db53c03ccafc66e25a58825f8a3ad7181d729a4e0dcd92eb4c81d138a4ee8ba3d0fa0526351a3f9149e9a5e4dd05475cec6761ffac0acb2e9fe4589da4576083666cd01b24584ebe3e9829817319541b2e0c50dc68250e1bddb6b322bcfbb5a265eee4e00b53d0789e52078ec2a0a8dde6a76afe8e0427e2712c8a45aac65e71bf1a58155346c75890ef46705d1be1d56480f3f766406d5d252638fe463fb9b5bb3bff90a3118e65323d5fd13458ed8710ae9bcb98b8fdb098f20a473d49ff44086f335ff98e8fd5e93b075fc1d3f3a02959a419e0b3e719597c5226ccdd969a0e0ae71d558dbd4568082516ec88e84da4d9385d3f9efe22c61b0a7d8cf02a20d666b41891c172010955ff1dc1c8327791c53259251901f28e6e8b3eb3442477defe59a40705514b9cd14ead584ca1d392ea1733f455e6cea06f73f565891850b89b31cafe65f3895073e392be4d90d7e35868deeb6451ef53033ff6de1288d7a009a4e049055faf0317157f4c1044e164a7d492c0906ab51811e9fec01c6d43c0b0e5b7bbf04ab96b9d4dc8250d311cb788506994d8c3df7bc393cc0559e1f8ddcf56e50a03efc7f423eae28af3650c5b594b5ff9c106a70aeae82332854616f2ee0964039cc6d99e6e930063f7d0c67b8775aecb674ad90d57bf54cd63ef267b4435d69b1c117ca9e580cf42acbab4fac0e84bb754bf3971a7f53d25b2016d9b295e867e7ec2f932f3be5c60e012913c4e69eb14c5b11df81cd4530f641a0b912554b5ec1e2d5337b9d11e67838560c763a02c33b7f64e639f1c96d5e53544ac448580255d7e585053b6600dc876b359827217bbd4d467a490f62fddb92779ff4a22722d4f27a2b566a211eec83a6bcf502c5e6160b42f0891e13581cc70db90065bf4ceac8450e843c9a0b62ef1bf0de6f4a410d10ea88f2e732d16c71d0627ca7f5494828b4d5e37e3c4536e8549ea9549e9f57fde10f2aee9adb5e8b66904a30dad3de11728a6e7249aa464e213e7f26b9472093c90886283b3207aad8f0b553b79f5c78d0782ccea3f39e059a99c7ab1e4ac54d6fffb41942132f1c1481eb608493dc96eabf184f8a6c427fdcb8544f2c221350c684f92f640a676600f093cfa89df62142e210f236a51a697cd25eeb64253a84915b9a6c959c8c30b904e187c0fbaf9da536401ece1b8214dda98739a68d640a2cb12f53b5489abdaf99777db34f5f6c9f92d3d7c21ffa2cf465c59c306a45af97018c7986d29aa8b71811601ca2c8907274ef932b35faf4db6fd7bb2baab1713eebe87a949270c7d9a03ad90bd2165f116a733b99991a68d90a733adefd1b0def940a63d5c9bb7dd6ab925a396c211e59f07a16c587224a398ca4631fd1a79acc878bb85ce2c759cf5c284c0ca1bbe3764736267675a0ff14bd390c079cbab52a3bca93c56470a65a4bb4d4aa082656ab837d64826af72037cc5b49defc3e630aa1577c154bda9b74b960dabec21049ad27396ecae3190f48a7c8870d1fbbc98296db779e10cd7eb9d1356524b2fd76b8312e445d39512cbcb20b74707cf202cf1f3e00bacefde272782189c98364e7a88233e2a20120450a8825649b1b2f52c94fba807707867f1324fa557a8be35f99c033df6d8c01b854ad46e58479310bd655793e0aad6caa1c2261ded0659909c03261ba7f85d0d3d14a91c5b084c33c88616be04bc626bb46d85f7ac715bc5830014e2b17b28c3bc214b069128e4e223ce8005e8a48743bba7ae0c13d189ac435c43f27deb46352a31054883f6aeb1b4e80142d35b93fc01b8e41f42e508a38c9a8a73cdb01b5a9634dfeb889c4de1cc4e256746000bf2ed2ac1715c54aed3a44777715990fe2b138cacfdeec36c1f9cb37edee16221c1eb7eeabb5fbe7174cc310c35f5f9c579854aea328cf7744ec412e62655b42cd37484606de9d3dfb26f9ed2f2c3594fb7065ace8ba945b467a002e70796ec795a077581d11a7513c5e0e595db7252ad1714cd03c1b23d1faa3d1f7861ea6dc84a5040a00c511cc00d1220936c3e3937a9135bb343e610c4a1cfbddee93ade5ff3f6efc50ecc3387315101b10a553fb027f47fa51400393bcafcd95a1857d50f0b6679bd811b8c10ba0096b7024f38cdb24564d6837c54154d1e5970b294feea0082df2a6d336b01e6240be5c0a419f2eaa5ffab6303ff6b01965ddc530c3681e4d1dcfad046e4b44c3a85ee269364637244c6a83f8f850fe1f7c679254097b7a5271d4a03005a6b299c0f0053ff4dee4e453cd9a63baae5b495f9a9afaad4e55738dc11aa05e2caecd7466f43e23c05fd07469c87ef04d32f9b13e815e59a5d00e32f6162b4e0be42a974f5c0307c4c4e1025559077f81a20653c671aa3807c28c935e9babb63e5cdde481445893d559b7a0d1c6f3d0ee2936cac420853d554052be50fe231c5fb6bad45ceb416dbd4a1825baf322a9109187d20f9323542cf61b2ae54c9bcf5ac69fae0b7efb9e42e64ef6cbac954c4b3810f818f624220378828371eaa23f3018bd5e15c7bc589c27d62a911916e4ad0e869ec9f96f2c51a09df0baf559ba7c080aa38af7b72b4abf0383f62f8bf2961099246670b34b197edd73a4fa6cbe127738110d1843b5f729a6eaba220c2a38aad27da6c476af8d2def527bc1194daf931468ec02a6f6b75be61dcb354d17e2ab96cf8448cbf1f138acf96074629ca587feec8055153e65111cee656b1c959d2c68820702f1c56fd62d69c51bfbd091c3c54ad728386e0e0a385ca2030f9b458580fd75f6dde09ba706dbeae3e10782f8e37e7137a9b506088b3d41496cafcf0afe3981b59a7a03a6934ea040a4308dce6db9d986a69eaa2e973f12bf89fcd4d1b20adb4411dfa7be8efe5aa6c35b758033375e82314d388d972cff451cee67530d030d2db12d1ac1cdad674334cad36dab2e7b791ebebfb945fcafc9e294790ecbc53829bd8605fbcac03b0e00eb9f75b11d2f60b7432aaba96e2b64cbcd98c155d08abfccfda8a331b6496fc62706bb24ee846887549f39191676b9066d11bf253aaa4d13eeef5b94b6788def9f9403edd293bf02167543b588acebd690a63c6af45c6efa4c0e77b28d2aa70e772bb2b8ed95cccf728d404da4ec6a2604572da6747fcaebc1b5276ad6e6db7ca9d7dd7928c32cd8f0946e98059b2a450adb307f3ca0e6a54740de4f96e5c976f03976992e981dc347a5940999dc9c6fe3e129130e2c8966efc1d1840a132f1133f305ddcb0b5ddcffb4c04fedeb6d6f896ca2bf2275209b2f80d7f86faae4a75a0277835d0d875396552d2d41c850d163b758d0f738cb52ed55c70bd1e1e887ecdfd3fc392fad9ef8274162e3b8c6e80804e0ccc64c4640f8dbdc5a90e7463db068dd39834433488666e93ea8e7f0622fb344a1ce1f571d0155aca743e72c938fb15d1cb3b9c04318ffed1839e11e4108a61c0cf7fd14170d3658d1773cb4c4ba8b33b24df7eb1b6fe357defdee7ee135dc091128e43f8833f95260f4faff0935ea8aaa9380e50a09087efacf8376fd067904d24c0c57f6c30f9ea30f7bd150c125d0c3683259455bf738d606bcdd14a0744a578fe839a3c052f743851fe750ed6d1f360b83331fd10ac6fae5f026e52b8d5c70938159aca3696bd922a9e91d67af1eec02b2f6da0cc5266ff4780727aecb6cf475fc7c9bcd9dad77cf6c4ea7d642cc3e9648f5186aef380789b923156685a258a7539c7d1dd4a5bbf699e7d2967eb2367b26a119531cb6d38adef2fd0219b89cac83c899bc06be7ebaf6ff11b8a4e0088af75da9381f24ff4779f1e3272bfcadb29a80938a19cb470ac8c62d6ae6ad014f02e91407f3a203cfe38318cf9c64d2914243b8ee7cbf5170dcb9fc8591ecea4a19d79f752326602f43f87596d71cc92ebfe20c682536b9cdba66feecae5ff17fb09d1022131b3914f50a21290a6c131e6ff8a6cf48975587966e851e6c0e25c4e685cf77c1bbd2217669c818429d1bb8605862284b0224ddf18a7a1c809f9ee5081f577a79802adc44ff352486d6dc9d37983a1db8703622e432579fd932e8ff54d7ee528316e8299e8208ea3eb66dd7c65b159390b96df9da16cb5cc910358afcc6a0267b9b1145d70eab6a80a3a0a23db08a509014408afbc067496aa102509dc774cbb644c17631b05c43da2632bfcd9726f52d5c4f8bd1701a93c7baa188ebbfd35dfac1d665e20f67e07ea72ff06eded84d6700df74bd3ec7e8f88c321bfc714e82ea7e6bd1a296bcbb0bb080ce7b2e82857324f992daa858845df88a432ab54a1d657d851a7b6c8083074b9b5e9de33ee0a313b82f479fd3175a299712e4138e58f4d5d4831a558a7db5d98f61bfb24bbfdbc3722be8e7ccf6f4894f1bf0b44a84429e96ed04cc74ba0d5f5dd45f7d48b0ff8ade1f6cfdd6f74e8e535fea2081f0f53aab6fac9394351595637e2ddf35a9c1b6951b87033f1ae4c8065edc52662d572f455bd498ee6c52478384965914fd37bf4f2a18911a54f3d4b37757ce5517540a93b55683e0fc8c32e694cf168787adda38882541fe0534fbef516062a8c1e663a7067339acdd4166b5ae99e948dc09880be656585e293118aaefe9b8b4d4d5b3d15304609f4f1782b8148ff339bcdfa984a3d6ad8ebc18a77f4cd118e1e67fb01f7e8cc5a29df2ac64835777f6f1a9fd0886ef0fdfb1b03525105a9d4e57622d3db90fee64356ed8d06828976ed081df674116d66dc338a12fcf577c61a95e36776be19a0bce501f88918553f63cd169f284d73418542d254b1a46ce0c0faa881053bf9ee6df103919331248555642c7c687e1a30ff2221befda186129bf6df08fd3dd7b07993226cea492a4ca3c2401e9e2555fb2e7e39266ba38218a5afae55c4bacac0754d5490b1529a0ce6a72512ba3db809e0a31e18c7843360b4e71bcbf822b1bc98b65dba67317b76aeba46f106e827a6ba37d00021b7b4c89ed48fd3146ce38aebdc357006247a6ef28a1c5c041713e4e19b7082947e428a58dd424f605307dfad485bc243b7bb239b12be8f958d4a09d2ef628ba645af763e11240323e776a1c9bc670df3010d0c4740dcea40a371be8d85990df122fc052ab52eb89d6287d4aaa1761cc1047e5f93dc502f66891ff63b1123433b29b54435d95381424df40b59805353b508f7396e5f1c6d8ff5d72552dc989f8b4a57ff138543dc7ab08a3d61d501961ba582c9bc7daea2e0521c7ac9fba3bac3070deb8c9c565ffef5347e728f6f3dd3bfa99b14b0238c54dc59ca2e1627cdf670464718784987e93f030f6a0cbc7ca696d18435c129a78a5d4a5eb6fbc216d0691f2f7e9b653888f7e3be150fcbee38306fcd192ebc265574a2def2c2ed190dc01f30c49d72eaf105517d6bc9a3572f137451cb387851fe547c115dee7f448b184cf74b3ce6e26caff811c0d6dbc36cda3e536fa7050ab5800ee81c072e39bf590231e4211d9d1542fca41640e0ee9ca934d0445cf66eaf204ba8ecfcdc2deb61c5b29ba678c3372cb265fc0683a276857971163990a5a9ea18c7a7c5983e0950d8cfec2134d50b02b6bbbc5ddb32cefaed3482aad18db90d7b3a3f7b137aab6607b669807902ee06d237bde706a5b5e41bd1ecbd3c546d1745c095fc40e43c64807a1c24dcd0bbaf5ea134418bd2ff9c38426c6c72424fff4441bb3a75bfd9ae1c8e664d9d5f46a8333433a16a1827cf6c3476d3a6eee0dbfd8e41c589fa4612ba8d3bebc74ba0423dd3eed42e06314a401f84e3a8f18cb69e49a74afbf4c4ca3046381224043305a579d0704f9ff20d2e721a544b4fd671c908534185f720f6d89a4aa31b4e95ee68b2c160f6d036cc6ffb9f7be6a194130eff5ec6a9697e8a3a6fa93ca56c5b83af6c3f97557c12aa5ee4c59180d144f1de6857031c9ef87529d36b125eef8fa9927617042d4a7c1e16431e1f50bc632651785295cdfc3f1f59084d6bcd7334f498fb1b280d5f72c47f4cd9c241a3cf495eb259ed64b7f313776044784fb87f2f3ed273c0e8323a26ef04f3da50c57fc5901b34d1a1aed1aa41217759c920621864d79705103b22681fecd3420fec1b67a6ffa7dc6f4481c7324b7c20169ef46e88090b8c52ff84ef7c73d1c30533d76f0fcf4b8a8bfa3281979471ba24652b458564c34c5a6e8b1e9760cacd9ce8c8b7ecc8df4a94a22eba2879251fd1b893104e603fbbbdc4524fd2533676f7012f466504896dc1601f21da9b072d7ee030061d956c72b6eb6dd981c757329110eb5c633c33c253a309c537a01228b0c9099eb9a21ff28a53c7a0c77271efc2150263ac94f2973b885294044d210eb15c303f98ee06bd87362f639a6ae4c864d34dd79d1abbec2ca1506b7988a55cc72e130bbfb80290e9c36b9ba99bae0d300896154497ab8c626e7321284a0213d8eca8c6041cae21863b3db1795b7b96528fd5921c0b82c57831eec7603f99ec0fdecafc4550e2f0c09bf3d0957252194d0e2fcb209cc37c0531aa376414e797c845f0c62e784986f42934afc0d282eead11d210fc7f3658340695bb819266df4fad7ad7084562d8439e946c7be1bc54367d8ca32f645d1fc9cfa8d4b80a904e1399b7b5dbaa1e203259f2468fa0b5b382a4821d9a9d4d1a0031a80aadff2e24ad705cea0581b7e2e7caa2d975d803f7347db07c67af812027d54c7eaf7eff261c417789422f2fc91e9fe954a25410f9ca936c6b15a57334cde54da1337770856f2a813f6172eeb69eeeca17758240926dbdf1fb05705d93288ae4604364d9d9ce177e479cc2bbf259202287077342b63bbd418bbc279310284be9c30617675d7bfd98cb57241cd5d358945d1e6e67f458074fe91dd6fcaf25730c5f14c04cfa01fe59ac67f2460dcecc6d6bf7464e012e08407d59406fb1940e64633508745914e2dfadf3307dd0e28097216dc0cdf78b30f26baf3b6c666080db8c5d75028eb6dcd78d08c237c8573a35517c6ea78d580f5e8fe5c1f8e274a36c5e72c374a63f42b2f5c831ab21404f2fe8e6f9a20d805b4791dfcb55fee4ea62d67bdf1dd37f436130d0371264c31505a7a7b462eb8edfa9562af12177418d90ab26245845098edfeba5a675c32a388e948ced67d4a48e51d5f9076678a53dce651ca6b623c7814a9a915b9eed25ec1e5626ebd132a4094e0db0945acf60b534bfd585cc866cdc8b512c92230bbbf432865278c8438b8fe527afa143ea799f235773a437a12a8fed1ddfa78e1b889b618b2e73154db01aefef783e06bcce7fe92caa59334faaf9770ce6f6d8f0b9cb634bf60e6f27ee7dbc37420b2db6419225c666d4bf4a1a746b5de483e3f02d405b5a0828e33c741dc8e1cb8ae0ee0280cfbf525977d666e5c7e560f548b3044d49bd61ad66858065abba8267ffb854299cacc8d3a7a822234225aacdb2eefcf545b11866c0e7e5a3838db95df75238bf13f627d592fb4dbc0a7b522d4da0c24d6acf03c0b3c66a14fbf7ea04a86c56407f907cacc7184fbe2e0dce2c60c12decf54453b8ab7fd8cf69413b1974476fb0155d1254d6becb15a896ed54f850d03d9d221a0d5a5b44ff0c4a8ebf7dc6bf2e40435169a712e79584bd02045d8c6405107abfd12761bc2f1356a56c844a65d4da1a9a135a25a2ee9a26fa06c52860911b3353fa49bb923944c3b3274a3e0d6d25e46456f8ea06a58f65c764006eb7fb2f3d66470a0ea0f63c0a8c7840fd55ea330d86120eff60655abec9309a1666316ef183fdd7acc30133b4adb80e47b1abcdc395032ea399887d8ee12a113f262f4bfd9b1c6fd0e803666aaf08734d65889c810294c152e8931705191cdedd7421edc3ba96c0e298137845d45e0faacdd4c38cc55b8b1602e4e40e8564cc6c1ecaff9f383ae793a6d80d7af7a0dab609522bfb0d67cb2287adc8b69bbde91539be936fd14064023d6b275a40f10a4d0ad476cc49f67cc9dabca015b43d8da53cd32bc3540c3942e2df63ba50db06b3e2d9bcf75fe50fba0ae77429ee1ee845c9c89d17c358583ca9829fb47d2f8d2bf93c051c2c146ca955bbb385ba7c2a428e9c9edb5b2e3ea76dcb1b67b81401b813cd1504b4f4662511f091f50a59837bb3cce255dac2dad3a10d2611c39d4b3ddae27956980cea5cc4a99fb42db5da9fe45fec6d0a20f45e87531e666959f6833551eafbb7f69dac4046821856097241b88a01c065c082f51f559c9abad242b0cee360a2a5b11252f9cd350331aae1fbfac7ead39d4ba6e5c36cd84818858c035acd48030a57efdb54ecf2cbad939e9ace7bfc95f99ac5d3137cb8ce25545e258b2656ec015f153af9e7df598c8824d3ccf8e5584ebba8dd858cae4371e5c89eeb645dc35f7ff2c449f8f6c3ec0c5277d555693d93f4149c3c1e9ee5cb6e540534b8c685248152530dfe73b7f45a10bcdef73203614fccc72b70f526d26f8a30ee0006fe2541bb809315e78c4e7db7cb9b445774848bd93066a3962defa3b562f1d889a97a30933343b6f7359495a6ff1e4177fff2afe5d3c842e899ad64f78545e0af903c9c5bd45eb2dd2bc8c4368f45262fa86d10f06a5add8f81d0e741654f82ab1770d06e7b3de08eeeafed4418cab87f3da07638f1d0984536115b564adda3b38b8441d661a089e446720496df33ba0b8a3067e16066ec5128b5084ade67922bad6e152047230de3e87a272512cebcda69815880a63360b1ac3f0770855c1760715cfe231cc6f38110b8a70a461aa0566c36a293795cb7f8b7dd8ceccb29041f720c9f847d81040276a61a2ae21a2bf720493e63c9bad958a16508d073688bb8969a2a8d86ceedb47287e89ee7a3ef3f178456b7b0e1e10dcc6714bb820573d530d27ea9087ba9465f5924d56b2198d67e39d0140f18aa0909883ddbdec2a2f1ea5d4fbe5876027f74c9e2a6e52060c3b0e6b3f6acb51891f32169653e51dd653cc130afbaa8c0bd597500ebb88527d175a32a8c6d0f557ab82d11de3862af69fe56e9065df876c1b6e14338ff6a054dd300243003854ca87c1116c0bdf63881d468b612c4e37c728d0aaeaaff0eb357d4fd74d26ddff0056e72066c966f759f05c862484095533e190fd6500acb985e2e02d116566fdac0b432fa544fffb2a3d1da149abed6f11a16b76a95984797a49cd6e9c3edeaab6f98e5e701d68722fbb33dce54c4d0961e1343deec040ac639993d3566e17a31cf0e58a3c7482729ce9c572c7d3ff1b26d03179c01382856d0f9f09858131f63e20bf8809817021371770c0e348ceb092aeb0505a1b16a7c62eb94f805232a8a450ee986c9729ed8292c778b43e0ce48dabc446ade6f039a7708a6867f18f8bdd348734898c60a121be5e8571841c7040a24587e3af1cc13203647eaaf5876a4f2416819fa10309212c8c30f2f51f59a45dbbc915e3f9be048d61ded77418ca9993049d51f9854b0aabb30de7717c32658517e6bd946320b52844668df61d935366685b994f2fb2367343c0b5607d995ae45fd09f28fad656ccbdb0ac006f511472c6a2b4ed6615400ebbc24688818bd34d5d38a5ef8b284750dd4565736eb62f4028b7a0043abb4b2247b6f69507c5a00021c121bae022b4f4e9a4c7c6f9e97cd472e5a6c5cc496da8fcc48b530e0bdfe7b2363fd9b0e166cbcf4c226c6b82394013e2d14390eb4de5246358fa1392415e6587d74cb37a79d48ae35c8658c95fb332817effb09c683ce2abdc5b71cd7a04951b4ffafe9c1d1cb03ed666da2be14f45174f70558ca363b1228cabb405bbd747e41f2a174fd53ac766265c89eb71ca5533d12e62dc567b99642a5e9114c5a2b770a406f42f282c9dc315ec59f167430a897f14641a0f74d3b38066004b281f22c8edb090a00bdbeee87ec8e862a3100e3a40a40eca41ade9ce9a78300d2f64de63717c166771901a010cc9f069dd483f6a7873c1167ad63d8b48b11f7a8aea8bbe62efb887d83d088bb6e758cf15b452ddb070ef6f2276a8876476a46f6275a624b297c2da862be41de5415e7dfac447f5408732110c33d36c577fa9cb3a32a9eb5404854e1dd892fefacfeeb8cade3defe30d175aaff8a59896e99d38a9cc9bc59e640214da02d4c219a1844717cb7082fdc2619c3b88c6edb323760b184d57af8b11c625048f6c5290f5b4c787be40df0cb3e31d8e980b9b7767c97e2bbee40920f81804eba099bcd5b74ccf869a68089da6efe4f33fa27c10bd3d4ffaeabae530ee70a4c90fa36b4fbe2fedbc77ec680b8fed9fb241166c9195765ea43961c479393f7eac7a1cc73c502ce19c98836819c3c8f48014e17be3c16086e5fb70817702dd7895a1906d5de3700380749a37c0e17641f3510957f3464e6884c4a1a081439791de06760c39abbeb14e402e42ca9f12d898b8a60f9122fbd41dc3e98efb653fc8367ec417b9ae9fa4201c482a2aaf423ddd724fa8657a72ad0b576ec584319cdff8505ff1cf3c40cc4c4469820dd68cb06f95770b328b31eaedc545053698f01986e036ed9efd3026e789288972ed03fe353d9f4c52631c8bae6d460f488b81372dbe95f63a9393777a5d29e5547aa5652d04451c757c494c34933d6a7f7b3ecab61db21959eb3b73bde1b10f094c598fd49d996f040af644ae15b321c688d313f0be298ce58aee050d36e738d59dcffc4cb153a19b4bfc482ace288e6dadbcc235a12411de1cb7d88117c570a10a75ed28b7f58f9fa8a162ad43abe4022a482ea8b536afba51e3e5c9dfafc1cab5444fb439c35d31ce60a691769f1c35c6990c52637b6a162a4f75cf549ff2b9470af949ed546b5bdb2b1725cef98c0ea3436f861e787cb6d47a4d5bb619c6b5e5e1badad4e2585965e49df3838518638d125ea69a7d3590ade18ec7db8ac07972de4d927481c353980318f998b488d57c1f409e05a7cae51478578499f13b3074a7a46e07f30eba0ab9f411474e54c5b0cceb56180f1739d2a18282e7e6ebe2f22730d22aec0c09e20acbd5165644fad12ec21c2f861079e33cc252b4d685bdad56ab30742568920b7580a76811abf80d5b42cd593d0126f32bee4f51db1602e59ff3b77eaaa6f75a409b355b848ffd8a892008f5680c419d286a958920cc978d8ed635d0a128ba9102b5db24da07d9f0c69ce0d4e1444b7c5614c61e02c4b874d383de69c7b0d91b4b1bb7fafa68de0462f66890169d6f70a6a8dc089a3cf79a115462cbc39a9303e6415cc93de889248498e2dac76227ee7b912e7a5b3ec82b48c4dd77b7f9a3d841bdb7ecd89683c08318cbe95432efb3d106bfcb84dc19c708457d7aa4892a36e887071c124a43eafe049d3e0fe699dc87f55715cf5774170ec7afb0d709d1b1fa476ba86d2d372bddcd2f21ae9f3022eb7fc1392bcf9455ead224de7bcf284ae38c59f912fe91ef601007b77b6a3395e0c187ac1da8ea0b8f86d8e2b8a84e636938bd40d2bd9d4bb7d90b25d763fc5f763ff8680fc66b3a42dbfd4eac1432abda2a99847e888ef08e0ae120655042a0dce4de82b222603d889e3e787e155125707e4e2f156d7fc789c483502a49674ad599f9665a48c5624da4d464f8814497397e234de061f3af5b6ef8687951b6d3248f527e3eb885729f545b0225ec9864a9d75500ebc4586bc8725d8b23277cbde04cad91358083e9c962f108e6db4376ce4f4bd37458f19af3622cde45a532988b13a3756ad9db5f24222d251023c07ff9aa43d0849eb49d6ca23f71b832161faa8470f9e466347d8fe43ffde8bbf5ca8625ce09758fdb4fb0cfccb02e28113ab3a3343be0973c6fd00072adb3584da29535297a1a762ee83ab06e9ef90f368d282adf5c960a51229c5793385811d766a65ff6452627d4e88122d4097951b7dbfa0ffa24ce0d7e58d7067b08b1478a1b4fa3c7856a407dd05eab3395f39e7f79476946700e2815c2793d59bb1395412a90392e8dc25fc7b4690b9a2e97239d7cdd07981a94999a7eada21757daeaf6e279e738fcb347fa739c80eb80408703d80e691d0b882cd173204672902a7cc7a7189df0b95631552d8430eb1ab1985e5fdbebfc6fc6f5486364d3c85f5acb97f152f2be77ec8cfd997802027ed94bbe2deee337930c05fe5b018a6ba67c12253368011be1e7ce0b8d20324fb0f1158ee68d9f4d922e6ad3069d0b02883cef1dca2d246ce4a8cc7b3c8bf9ed8759ee7c6388bf1cda6314aa25c6b816518e21514e06f1a8b0428648cad19bfd6a87c99872f1caced552bd9eeb465243b8c90f91764802c47a398dc900f7419f6cdc2f6a7823407457dda60e749a0352985ec8d5770dc2dc1840afc05262f30af7bbb2cc1b4280c3804027439b4cc17f1c4609fdbd951b788d7ee7e13ecb69c179d6ddd19813e367072c5eb38d16e4e6ecd0ca692d49acb39cf8e888913c2d542fbd2bb98a3a5af157f0bc242e25e13f0ab90d64fb1fe7ac052c3e86b678582a099450590c83f8ab40c16c911e719fc28ac3942af9e55df5e1b1fe99e6b4450a83fe19d8672685c22f1fe320d8ae2c6ce3a69460d95de6b2c46bc819aac48c9ed5ae85b093056200a59a0c96b6142503d323325aeb8579aa1c553d14753c163119abdc90fe787fa9deedc45e2b748432cb79b588032fa5f976de133c2a27e1eff65284ed7dcab90db51ff37fabb7509c9e322429a0af64e545c46acbcbfcdd71d6d98773e41fe6dafede8b34199e6df70919dd9ff4585d6bca0cc82213c9eda3e7d5a7a74b59036ce1b9983e9ba9580cc1a55e2d1b87c85bbb38dc39647a7eb50040a6466bfe954c3cbb154563620ecb0a25c576e491bb601e17c8d835cef3433f65d4d126746d0f07556e04067da4045c02cd141222850a0e0b2316bf9d35a4f766e4a46d985e2fd28d692f1fa35705b6f464ba38af3f355e4fdfad1c7d270c2d778dc8f0dc16c0b883182aedfea1494f7a379a1cf9bb93a824d90cfd53f70f9e0a87978b95bdffdae0e2212d6d0b7866d3e4decfecb38d660196449922e67fe33e8988b4968649cffa2c6bcf259deccef549eccad33fabbfb1209616d14869038722fd0c07c081762d7881de8d0c933f53566c50aa97afa15cdcc7428ad09b1523750e29ad6035d2b54ed36f6e0fa066f5b5b49f00d9b3860fe001acdf9b6aaca891e49240571c7fc1bcb718933930f9aacf0a19f804e00edd8dbafdd4db9f579b44deac2f7e981563294dc4360c8688e7a0a2a8f6aa80a93740e828c14049a5077c5b54f1a3ad370296aac517c36bd2e1415739ab2705a4fffc9a3324ab0f3b42b0951dca7974453f81fca09c81e95c0e8f56018fd64fe983c31be5e3711ddc0125ec38397642a2ab231eb2614de5ffda403fbd8839ec5e0115b62309f87f4a88d1d2be3d494a7d28a7927fd619194bc7018450cebba6d93eaedc051b9f9f4249adf7f9e2786dfff299e043e0de1ed7cbe2a3c6fb953b2d53c08232e3b938f96b72919c584b06246a007d2a7e2a459f847149a3ecebe5a0b6e3e3243328a8e1ad0251a5a6a4de336cbc5fb642fe429f8e2d8c5069952a69c9880cc633c07273f24e789efafc9381ab19622bd88c3977fb98eeb88122998c5a07b40fddcb9041513b48e90d48b7485af676a5e5d0000dba558944addf7bf619e89c250ff4c3d078b679a18bde96df29007fb9a86a2b1a89db3411bf2ab16c28847e10dceb910e6cc4d56d1d2cb9806283a3e6a4d81a7ccb7ebc830a6c07e062943ead8d8e5827464e65bf38218727b242e188ca05e58275f13b454b162bae5cc2d26147f7358e23e62c7bf0b053c92e163ff6ff73fe4cd1f6ea18c175718351f2f44964b2ba6cebb9b22ca73e0a09f2a268fb9bc9eb9f5486dc6e92910be330eda3d23942ff499a86e37c69cc565619f6ba41f41d0d2982a8a75939642086896fbd3a5c260264f28eaa742c2d3c7c768e79dd5217fbddede356d03e3d8ce981ad004d1f98c1848318e1b3b61edd165adfd2b5fa0f82cc2e73c8070280647a9ba5ada10154b5d4c1fdfee2067cb158c62087eff01e70291f011a5e542a037c55de7da45446fe146da930d55112e2e03391151882db9498955ada9729f1d51c54e741a0b257f99ad5ea01faee1fe73c280908429393442b18b9e09065cbadfa756cf0237532f784adef9beb93b330921beb62514bfe28306a8f16f85da07f3716906371239b17cdab0fc94580e72e1e2ec324d4ee5095609fa25e0cc61027a4b2c13387415a8b41462cdb6408d4c6d1bc5fce66dcb53a29606ae3dd048193c591d169f9fe09b36a2d211fe8a66c8604526be0327c96e783b85a1a4b4cf6ea2f528f7224785a2b9e3bb72b361e1ac0bb99754af2ef246918734a8def7a973cffb2dce6636d76aed9fb65184255b92aa8e91b0c19893dedbdaacd1320b0a904d068505ce1466f83f4287219acb24ae574bb066a82113ecce584cbca6d77c147e758209e634b93e929b63136a5287be569bec67ac8301078323480c66a91857adf292b5b0a362d60deff5d2fd50b17e291f305b42c5a59f89337d14cd261c5946d2276de9d7bff0a635f478a852a3f7d086e70d660193512f1401f22189ef8fa7cccba71413f616dcba8e93d140b2490d7783f486e04fcbe94f94d487bf840a4777647dd7c2a5a433bcf4a3c41a891a18eb891af215be6e6f78f1bda54973ad1fc7d1ef4a60683289e7556bf1f03a9cf3e0139297fe846c1091d30d69361e8c1081ab41018804c95b770405801bbbfb5cb0f6d468220ad9182773c019eadca1b68e2d1491e89d1c885326f160daa1305e59e56ee5ac5dede5856632d320745add0b97693c3b1cdc8929c731688e3034701490145fa622293268314257d5c5f710091075b2c0708c69bbf2f2a35edec223c8b0487d94bb4ce7d94c97fe1abd856ffbc0da09ee6851f228bf28db8c92944615d7ec4b9c77228f6d348f5b83f83a1d79715f9aae82b71481f56fabf7fa33ce50d5ca14a305f4a0580c688e2936ea57f50d150f87c8a2b6021321d3c404b4a634517fbbd4b4a37b659dc12d219692c7b053d19f3d677d31ab98fefd426e729135edae382da0dbe72aab5706bc9c02cce4da8ccb2f7f55ae9d5301bd1a3d76c629d89f1a97d14dc82e49be7e892a23ccbc7941a16ad60cd78103c739882ba4b74592781f83edbe81b37a370253a3b85af0c746e0009c3a001ca80b82b94f7c0b20313b1c0bc93d324fda1fcc4f19a1e5898f239f8df6c23fd2a6d0c3fe3607083db132db48724681700525cc8429e35d3e24d82d234e9049a0c8c6e1f22d5ac4f31d247828103e1d3c1df84c67fef54327c00943d62c7bfb90e98d5f8bcf42ec90c5d715ac1197bde8884904fb0abdbb15b8af03bf836ed24621741d146e16b31fe7167ea463f74e3f4c3bd82d796c0e8c573b7f0a7c456596dc87e6f1dc41e1f4ad7f5d93210a37e63312399002841f51a9bf4d4f357bdb5471e76df9a44b824c72d0d89315dde2e56b907565a301caa2ee01a7e0c161fb3c8adeb8c417d652376afcde1715d51324f919c44e3895683f4bc5064e56f355f6d51d8284fe92a4c76f5acd41c432488e67905badc6b399e82097c4931654e38c8252ddced49099f50484725c5077ff0b46208c1a49a776b7f19c98b1acb7d9fc754ef45b6641b3565dd631184ec5f14c8ab1b53d605aaa4c8d0a935b7ca9536ca93a786efd0f46893a3e66354d5cc793449a551330397744ff6203741759252a2c6fd83a0d311e20a34a68d3beaf24276374f6e7626979696c8e186ad7b657a6ce45ec958307e8e739530af898191478ebe8355492dc580e86bf0b9984ee463ef213a63e890a53bf416d18057fefcab0a5539d9fed2784c84702d44883fbc00724fbdd6db146b3e69396cbb96c4a83db351bfd73dfd985dc5baa8b5e40c9bc59a62dfab3aee0d70776bc46f10648ea4f57f166eb46ba523e9e6e40766c7d64f36e9ceed10e99dc7c7340db498a88b800110f1803161ad2f9101fdee67372c2af16ec7cf973c31807698b6d47efbe25f19e3594222e4bba059889bf8a95b35a50dde261bdc894abe037509787ecdbed5a896741ffbbb2466f49ae41cb7c5aed62a1bfdbc56109e064a5feed4198fc9e884499fff05267e3e776488ae2b2180ba576d8d43a4d7ff09874b84721f2ee071952e1c413f7bfb59efc3f84f99d412252a44883a0012881afc631a972f0b1a0800a810563b26217f972d85f9a2092c9c85aac5904470a6af32ca0988e125101d8e0da4e30d30c77222cf495cca9f1738bec05796a2cac440561917a5b61d293b388ebe06af80ffcc68be362b4ddecce73e60d86ca821ad3f2b07454d83e26ea122082bd8784edd50d7634676df5fd88683adcad7cfec589a2e044f59f21f93027ac026a0e180442903df5c8f4678d8cfea006c430bcdb5aa5a56429395b6843441540b3330a95621e66c1eaaefdcc13aaaabf64e3e28f8d0d1d85c18db1e2235042da9bbf2bbffed66ab92f4bbc1968284a038c7b0916f1c80961d7f11dcfe796ea71d1fb6de3c2ab9267993c7dae2dc807aa5560c254b8d689af8f63327747563b12d6e3e9c9dbde4369ca783370ee76cd31332d6dc88acde4e76f0a5e9ee1ed78714f31145766d9e28c5deea1d796ae1cae26479f931da505f62c2fc861bfafe75c86b66b749739e246c999e60a6ef3f5e93d01f33cc5efcee1bdc1af34817c4b4c91e09606c45181224c244865c4ef935c067e0921fc70051227517eaf9c262fb6a657d178358d4e547600145e36be03f2b119eaf84d1178b66dea09942969ee704ee63b9af79e45d7fb30f2cc878396086338668b3eb33f02bb36fb6e2a1ddab6b2d2558e40523bffc1ff7d3b381a21f6ebae6fc178b9ab0fe79a8e33f79aa998a6b5fd01c964ad66eb4bcab67d08aa1741b9b6ec0098a8d53cf648f33e47a4f5c54de6d6701489c8e41e74df3b1f8302837ce9aa46fb36838e87fb904063fbf51c9fb12ddfe9bc250138ea36e8942b6ba5398c935e955770b80186d531f034150396ef21ec51d5c96e538970b36c8011f7cde8813f84ac18fe35e6132ce7d3b4704a622641e383a7f7544caf1d9eb24de4db757b7ed5713810875fc6ac6aede011ac2eab92b42a8d519bf59e60bdb60ebf450fcda8b8f3d101014b60012d1bdc3a2609949b618f938e02556c787ead1846c2b13f23a06ce9d7aa13362ac9a7824dfc6fb8db1065db99e7c6fac9732777aedbc7cf5d03c54ecc6cf4c43c6acbcb92b1bdd175747db5b58e25d9baad95071ae56f2b7f229b9202effeb69eba93439fe0028b634eb2a9ee6971126045bab96f4bcc4a99b3080142c5f7c4c5bda2cdeca4f2494ed6316e62d4b0c5f10be15c89df9ee443b099693947c7ba6b4d0e72b296bc91cfa6dbb57714f1c1fab049db5d58410d9c059772b44aa18f3d1f45c0937a7c01b903259183a1acf5249e9d6af624fcee4c389899547b85e000ac5a64fe676181b2946b7cd27e942f8c06753a7d693df25d0c9e85df41b94de5feedcf5e7b5318b524ead9ba471da2452a7662b9a8661e21edcfc923e5cf6d0a00c9c1dc630148af2f15942cb521dba82b533093edb829c12bafb6f7f419a83e71d800830bee8db7b8c761c382f792590c86284f3ce425b91289453e90354e40fbf2df1d7c72ac4ed42ac64856097bfd333fedef460399dcb14dac775d8d9f6b92815b0bd91676ee32b375a3db7b256988626ec594a1024f3e4d243d840fc678dd984e304e35093d1e93b3b32031412e6a1612ff578a3c3850534c4d3d9b19ed7a156de12b7b6a10f47d7006820ac93d179ee366674eb0360cd6aad6c5f7be48eb04b4a98b1942a75df26dc007e85ed25221fa5b68358db9787e4c91443beb21a73708c08ca1aaa36c8f61679584ded16d5f5a3c39dafcbb47c17aa9cea3b3c2ef00330305b886c6dbdd5a0ba5d9aa456695a6cf244416e53187f94aae6b37730639d765a824a3cbdfb437f55dd1fabddc1ce476a34a580075c102e4405e533057835e8d0b0557ff0dac0af44496eef4759fd0ceb489a2a2bae31f7d5264b5792af5863d9c894066cdefd45efbadad6fa5d90543f8f5e99321026e14c8e67326f9ce3d915d7a2451d03ccf73f81961a7139c30cd159085d8bd09cac0a21c4415080ef49778a81840fd1f3399d6b15e8b980a4bcd08ea5eec7dd938c875cd65510887ae927ece3fbdfc8311327505bd6c23fda84458df4d5d0e7d821476aa54b7f21274cfd85062aa7836d3c4ec3db94ab84696719f0c81391f192375f530614404c8379d19b6d54ffb2cae4df7862467768b373a3a851fa05f8667d06dea881cfb53c82428138a6794f39f439a70ed08593667528ee09662ae63ca76528f2e84610508a1049439c0617f72c4c0a4cb57bc498b01053e70f4633e002e5863e0c61884d9fd982b16df6adbb16986c67ba5f1166b3602b8f1ca55587940d3fe90dbe8915afe867c84bc355f3d90e3d0d1a7c9e9e3368e0a75d236d41527fce4dd119bec54141e360f362b3d395605f3d5b5741ffe4582b63ebaa97dff9572ca7aa801ccdff96a82cc231f20bedd8d2094aebd2e1315113e9cdb3816a0a750aacf062ca22b7914830708fed2f4348daa3555a5603ab45d9a9ae8652918215a94b7d089865d179ce8681a9e84833f896743c60601998bffe660eed8e2012da1a04ff40f5d92c7406bdba33a3ba471dcc105b8411101fd696cee0c9335cdd109c33f9a7f34aaeae804c34a9bfa94dcc3607fbff3f121bf33c7f96a46b037692777d7213813f2cf40234aefdf86dcdefb4d0902e7e4c7b616973c9b988aced302dca49f6e53c43827b3e62f714651dacb6cdba94ddee082f756e1b7a883d04878a315e53eeceeeeda13d6c753aabc3fca3a3d47a69a56082484957b1a62c2b48700cfd791148fabf05f999585ad84fbbf681c1189824f812876f2c9d411605999d8df7ea99b859f513f134c9fed5574919e6f5ff6e0073ba34cce1293fd1a142c3a4aec65bb110b6391cd541d13b9fa58a15f43f111196ca50f0aee994a8b2ee83ed3b956ad815b989771e902ac9786c835cbcfccd0e6035c780068bcbbd6459a4ede54e1a09de563a26d12026774a0e09e00232977faec5920f7f9a88eb216a51f6def5e9c5f43ef5ab043627e493fe3d073986bc96ddd503f20ea747dbd2d2f5d5e3882cbddc8aadf034fefd221de5e6a8c1cc2e8293cd4512816adf0060f03d874a088ed7065db36644757c5c693ea99bbc0c8db1f7cec60459d0293e6cd6dfae800d346c6e78d7c196af0e84bbac9f68a33ecaf2aebc30d382a9d47a4f5a4834de543d0a1a5cf441c0</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="研究生" scheme="https://blog.cancin.cn/tags/%E7%A0%94%E7%A9%B6%E7%94%9F/"/>
    
    <category term="集训" scheme="https://blog.cancin.cn/tags/%E9%9B%86%E8%AE%AD/"/>
    
  </entry>
  
  <entry>
    <title>逝者如斯</title>
    <link href="https://blog.cancin.cn/post/d7050bec.html"/>
    <id>https://blog.cancin.cn/post/d7050bec.html</id>
    <published>2024-09-06T15:04:27.000Z</published>
    <updated>2025-02-01T03:38:46.000Z</updated>
    
    <content type="html"><![CDATA[<blockquote><p>大痴不迷，大喜不颠，大悲不泣，大悟不言。</p></blockquote><h2 id="篇一"><a href="#篇一" class="headerlink" title="篇一"></a>篇一</h2><p>没有什么路是白走的，没有什么事情是白做的，这些看似无意义的事情，都是成长的基石。在我们的生命中的每个插曲都有着自己该有的意义，所以不要抱怨为什么不早点儿做，更不要后悔要是做了什么就好了。你有后悔、抱怨的时间，不如整装待发前进起来。有时候只有走错了路，才逐渐明白自己要的未来；只有交错了朋友，才逐渐知道什么是患难见真情；只有爱错过人，才逐渐懂得真爱是什么。</p><h2 id="篇二"><a href="#篇二" class="headerlink" title="篇二"></a>篇二</h2><h3 id="一代人"><a href="#一代人" class="headerlink" title="一代人"></a>一代人</h3><p>黑夜给了我黑色的眼睛，我却用它寻找光明。</p><h3 id="星月的来由"><a href="#星月的来由" class="headerlink" title="星月的来由"></a>星月的来由</h3><p>树枝想去撕裂天空，<br>却只戳了几个微小的窟窿，<br>它透出天外的光亮，<br>人们把它叫做月亮和星星。</p><h3 id="我的幻想"><a href="#我的幻想" class="headerlink" title="我的幻想"></a>我的幻想</h3><p>我在幻想着，<br>幻想在破灭着；<br>幻想总把破灭宽恕，<br>破灭却从不把幻想放过。</p><h3 id="感觉"><a href="#感觉" class="headerlink" title="感觉"></a>感觉</h3><p>天是灰色的，<br>路是灰色的，<br>楼是灰色的，<br>雨是灰色的，</p><p>在一片死灰中，<br>走过两个孩子，<br>一个鲜红，<br>一个淡绿。</p><h3 id="失事"><a href="#失事" class="headerlink" title="失事"></a>失事</h3><p>屋顶上又蒙了雪<br>雪上又有了煤<br>一千七百米上空<br>又开始闪烁</p><p>琴说<br>青春是一把琴<br>不要弹它<br>要抚摸它</p><p>一千七百米上空<br>突然断掉</p><h3 id="远和近"><a href="#远和近" class="headerlink" title="远和近"></a>远和近</h3><p>你<br>一会看我<br>一会看云</p><p>我觉得<br>你看我时很远<br>你看云时很近</p><h3 id="弧线"><a href="#弧线" class="headerlink" title="弧线"></a>弧线</h3><p>鸟儿在疾风中<br>迅速转向</p><p>少年去捡拾<br>一枚分币</p><p>葡萄藤因幻想<br>而延伸的触丝</p><p>海浪因退缩<br>而耸起的背脊</p><h3 id="在淡淡的秋季"><a href="#在淡淡的秋季" class="headerlink" title="在淡淡的秋季"></a>在淡淡的秋季</h3><p>在淡淡的秋季<br>我多想穿过<br>枯死的篱墙，走向你<br>在那迷朦的湖边<br>悄悄低语<br>唱起儿歌<br>小心地把雨丝躲避</p><p>生活中只有感觉<br>生命中只有教义<br>当我们得到了生活<br>生命便悄悄飞离<br>像一群被打湿的小鸽子<br>在雾中<br>失去踪迹</p><p>不，不是这支歌曲<br>在小时候没有泪<br>只有露滴<br>每滴露水里<br>都有浅红色的梦<br>当我们把眼睛紧紧闭起</p><p>哦，在淡淡的秋季<br>我没有走向你<br>没有唱，没有低语<br>我沿着篱墙<br>向失色的世界走去<br>为明天的歌<br>能飘在晴空里</p><h3 id="在陌生的街上"><a href="#在陌生的街上" class="headerlink" title="在陌生的街上"></a>在陌生的街上</h3><p>在陌生的街上<br>有许多人跳舞<br>跳的神秘而莫测<br>使我不能通过</p><p>由于长久的等待<br>我变成了路牌<br>指向希望的方向<br>没有一字说明</p><h3 id="历史"><a href="#历史" class="headerlink" title="历史"></a>历史</h3><p>我们的嘴唇第一次拥有<br>蓝色的水<br>盛满陶罐<br>还有十几只南方的星辰<br>火种<br>最初由上的别离<br>岁月呵</p><p>你是穿黑色衣服的人<br>在野地里发现第一枝植物<br>脚插进土地<br>再也拔不出<br>那些寂寞的花朵<br>是春天遗失的嘴唇<br>岁月呵 岁月</p><p>公元前我们太小<br>公元后我们又太老<br>没有谁见过<br>那一次真正美丽的微笑<br>但我还是举手敲门<br>带来的象形文字<br>洒落一地<br>岁月呵 岁月</p><p>到家了<br>我缓缓摘下帽子<br>靠着爱我的人<br>合上眼睛<br>一座古老的铜像坐在墙壁中间<br>青铜浸透了泪水<br>岁月呵</p><h2 id="篇三"><a href="#篇三" class="headerlink" title="篇三"></a>篇三</h2><p>人间一趟，灿日碧洋。<br>一期一会，念念不忘。</p><p>于他可无为，于己须有为。</p>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;大痴不迷，大喜不颠，大悲不泣，大悟不言。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;篇一&quot;&gt;&lt;a href=&quot;#篇一&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="诗和远方" scheme="https://blog.cancin.cn/categories/%E8%AF%97%E5%92%8C%E8%BF%9C%E6%96%B9/"/>
    
    
    <category term="情感" scheme="https://blog.cancin.cn/tags/%E6%83%85%E6%84%9F/"/>
    
    <category term="哲学" scheme="https://blog.cancin.cn/tags/%E5%93%B2%E5%AD%A6/"/>
    
    <category term="文学" scheme="https://blog.cancin.cn/tags/%E6%96%87%E5%AD%A6/"/>
    
  </entry>
  
  <entry>
    <title>从你的全世界路过</title>
    <link href="https://blog.cancin.cn/post/5d356fa3.html"/>
    <id>https://blog.cancin.cn/post/5d356fa3.html</id>
    <published>2024-09-04T03:43:37.000Z</published>
    <updated>2025-01-07T12:40:32.000Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="5759b807e3a67ccabd1e2a7a8a284d733a1decde15d8187ccd52585cdcd8ec55">ced864f45009da4e5537372f52405f70b78fe67c36241d825ecc82c67b535a002f876ef72dd1d940c686399b89623dee3c2a776ab90597b5572b0eccce2bc75e9c9f6737a3170cb00323da691c1d68064b91d9de4989b2fc9787b198ae70c841da26e266560aac4ccd3cb8a1d3be08795566cb51617ed3e49b5948e653432119954e7c04ee1f8cb2ce8d0a781f4ae0fe9a4bc3ac72370a8ff34685a02c16d353060567eed6c994a0332e7bc94aea53d98bf08a86b0cc2aab748053bb9a0f8bd951e2550b3d76ffdf5dafe22b2928d0c7be60770816257673108113cba2485487c337496cc88798da0c9bb6802a39d35207d93bc40a649a9a841ad60298067f214c16cd23799d41291c0b4c50de90953d2eea8a49bf888ffe28c4b5b73145a46d5180957280ca128cf2e18ff300f3be15f1e6669bb16e5203e4083bee806ab11f003630e49b23a88231dd0fae3977db5b6ea1cef4725c3b89c68043bd8a85086456dda476e231afc3d1de3dd19ca7d2ba06a1be124845f698eb8b325e5b0b36819f87c5980df79852263f7cb5f4189f7703b4e46220d8c667883af41ef60cbc6b53c7903ac09e9bdff8fa7561c0c7fa867eddbea825cad877453207ed2237598a49165d4c708b38db5d9656586aceba9783487ecaa8760b4d89b87b29510da91fb1c378b3076aea8010ec0f2a4722e3b757257b029bdd428391ccc68d704dd90cd6ec5e2037cdeada768399ff6ba03ef1980ead40e2a4dd4081f6337d604773154475ce0932aca44e35e4f446d76476b6654eab909c9294e64bb1670c607c3bda025e8107391eb81410aa803ae3aa3a750f63e62a4fa2d0066ceec043fa56ffbd5db23a430b6b2244ba020b144476ea38fa00776f2c47356fe448d282733bb6facdb4219dbd03f4518d410bc18be7d50788b83e2da2387050693de94d33ba2d71d551f7c557f22e67e39ac859e665fee29b7a761b1bb55829374ec8e28c8675bbd88e1976c6ac0dd3c8e31cf609cf5317c2a4d9287a486bd520306bb7facdcf5e2c5ce694fd1be80dc1289838a4be12b7d72f61622883fab57d42d98136cd91b41e61e71a4e85c116f688bff7edef297d4f39da8b408979143921c8fba2b7c70d29badb81be1e007b509e5aa5d6a30a33c9782270176765ccea98ae29e19af2164f29188dbff2980f43832d63c892646d063ff06064356b50da787ef0f4333211b6a05803d2d216166ed771a8a0bc889c464e62474fa3537dc4a7b5555b98e9d86e2bc3e23477172d8560b837a47894e5668c5c26e06f99a8981d2fa3a1f4f62160230e072449a6a54d2ba84e333dcc1abba7beb72108742a4d1af736bec9d7f4a9cfc2e3ac21aeb3a11facad473a282ae6909be4fa0fc2bbd975dd7103db9b412763914d5e96d14b4cb101c2f953bb51bf01f690dd0d8c43eaaa9172ebaf078cbf8a71ef1bc7f797425fca6ddb0fc16cb45243916893afe61f20451074f4ce466fa13026f10832eaac74c13fbb744502ccba394b5682ec5095c9f1a77215283b34000c59be1c771993921831b3248ec209eb7b85b6a8ed855ae822780b4e2ecd1a24b018cef8125fa9d6bb76f656c798d0c28a009efbfde40577b3aa90a7d131d3de3ae8b148905c05988f92d2e875fa7ddc47304532538f34d39b80e0df6dfd2a8153f5e28d108ff987e1ee9f4dfcd000fdd7b70c60a4e6e6f2b7aeadbe7948ed021b92e3837ba2b85b48de9f8ef56061eab56b04b8e63d2a1452c3d54b446b472e30f43099b3e9813ab8ebbab3ad4f47bc35ca7996cfed798a47f712b9167872d60520b5179fc44a2039731644067a0abe6e3ec0bce51eaf99d9f19c7a736be8ccd16a8fa8f2847ec2e39bd5c48242aae07d1382eb92b6b40ae6c7f360ddc28520841e41e61a93933d3ab378e4040fd378c6326389942787491834e80ba14e240eb8e1019cd94c37675142596908f9ce222c53e7fc24457545d4e79d2e8c435544350d30d974d803d0ca56f2a15e37f466669838306343eb085e633e48b6583d4c942df11dd174a5e88a30dcc70ce14881f2bed51ee62240844a2c5f2699491304d55e945d74b18b6a8fe0ab1a6ded056dea79b805f785a6c9f5e5d8a158ec9107abc310a0dc960be2fb9b3e75469df68bd2b75d54587ea0d180eb6167a840745cfcd3536e2735d763185f32f78e26f015351cc8abc65b437e8d2856c6e3acad5640165784391e2e067ccbf7c18a0b21bb55b2a9893b45c7f028bfec1736cd0c58803ccc2941435734359eba418036664d005f9f56bdc6d45de90985f97f2015ce0a512de6fa13a3f134a348eb422acd18117427776a3748f93da09686ea0a06d0f18fd424c9ef749c20076933431f02525c5a2391b6e91a3f1b645a59e974f0113b662c699a9f68d545f5ce2166509811b12b7081b4728bdb3ed198388fe4c63d0e228b72d486b69cccd470e9b2658c4a4ccbbc1f383a70f19465385d67668acd8ccc68f0d44e00726ad9511feea2cd39a10cf617e8bacd8bb259474b2a1c34bf4a002e8adaf64d5d6b4c5be8f039e9921994440a5902dccf9149b7041a2cc7241a170eecd031f2653ade57a3b260bc9ece46f18f12a3edb60ecb41f0859dbf2d25885a9e1091431a14a7122a9ec3f3befdfd318a2a563521e68de9f14b9ce60d035858d6fe8174c5a2ce69d31e99ad4f22d1e55bd5fe50a1079cc28e2e2f8ae72453ecbe527d04947d167359877e57df9665bb0ed246e62cf9df2656198c41c88fa4a05a7c74cf500ac02d719ca83dcb912fdbeecf6f46132191b76649934d3a751f13838c7dac7ed994ae94e07ad4cf01fcbfdb92f34347e19a80b5c1cbf9e5cafd80c0b99046458e013bba2a66b151bf2b19949152e149445fd9140244c43a6914a5af8e94e8c9026d858d4f21b54a5bd7a56747fb81a4f0da45dcd240eae5a04ae5831a3c18bc870ac4d1f2a3b1456640ee7466aadf00d74766e9242c28ecbe25e83a4dc58a3d43a07a4b91018e6bbd20e60855f68222232612d4c2fd763d061539cc438ab23a8ca85be0a8bf68da779249c474167a8272e6cf7db76f0f8520bf7e31427b90a886959cf86cd66394c3544b8617de93d67325a416f206ad624ceabbc0404ab2996d2273d7de7eac61f670ee9d802d2ecdd80441ca1f8b6dabb23a867524491fc48116fd7bee7ed64bc8961e1051150f9a5d5b8f209693fc46496abc3f9aa58c72aa989ad3cfed3a3b96c53b277ec83b40a99a11900f82fb5dd7dd095acd613159babc51d216d7b6ffa89abd515f2e5e471a145b7280505381be3f1d742a8f18fe005293d3b938bb37530745708c594f9af68060443ee950363cab2d96f222360acf019751f6a72b9c8bd19cebb6d55af6d62b6af978dcd8767584cfc7d6fe1f1dca76f8f3c97350daffb9bf47e63bb7ca9f61c64ec810c728a2fcc453296741a943d9f60d8d05734c8200acbc7498d7d20f6bd65242d7e0c1c544f6cd531901b165e0e91bf3c678a4d65ae8787a09d6e7a8c5e7b263c4c86f5954af5f5ac87b0995ba85c7848cf2e495497c32c7473344f782af903190ac5dbd8f46cba2707777ed5034a8dccceeffa0b4a8daec16f756e4b4d08f8d2ac23f5ceec73ef2793d7dbc9240cb3f3f895cbd0823abc934e0f01b69060f3e82313aa9993ff75a4a90afcce4868c98284e5347e4096247a916d84d01c693a50d92e79cb872a25ebc9c65ff1eb7a666fc11f0c990b758ff5be49d00bb67ce4bc9679256b5b12038e073b8de32b9e69d68a321f3fff9e96fc087d6a43ac96515b24553e35cc453fee3840bd3a966d98abf351f54a09f857109ca2f65cd3487de87c506f0c4573e76b6ea6e83149f9f7252e5313fd7cba32245fdfab08a600d0611693fdcfe0f3f9b47b936b350fa2ec87cd035c6c8ee547a481e5a7fa3fc847cc54eaf45e6d18b76f1aab9ca1a10a498eef055738543ead7fd679ea959fe3e65bc04c3e8c07c5511c2e1226ccba404ed47ce25aa48cd323666c970017886cf31f6f0bd4d992f3f853cc5a82a8e6db0f34910744c3e6738baa8913a807ad16e849a6c263bf8611598030018e055acbfedabd691f12a57f68cf4cbe225f82bbc1316c82ff65fc8a04b2cb2d97f630db6f414de2fe2448c1fd160c1964b5b2c7dfb1a50a54b43f2296eefef83112d108415f4ead77ecec71c76cc2d447ef71776d0da9d0276ce48a5ed3bd771605a8ed387779b773c9a4ede8d6db9ef3f04e83f43cf8aa41b5322944bb035921eb3dea891af6ef8144a8d7b092bd50d7b579bd1c7b222bc87c190d82ac9b751c18d7960ddc65ed195eadadafd834c73a8badddb7a258ffc522300db541c848e5695c8b29669fbe97568d9871b13c4c2a565501ca55a2c067a01af85268d574cfeda21b46c3874eee605eba153e818a692a470a7aa0b2a724f1f2f9a8928e7aded840cbad1105a8e70672c1da880c9c8e19994ec9bb0f0954f3ecb684540477d5af81229fe824b9c26597d2483bac5859a74cfb59ea65fe35fa2565206421d2511351cc83a7f58e3160c3f397bf3608791d2ae332a9b45c4c35c435a745fa95d32be9bfda1ac38ca810a1fe6d7ece31a3f397b4306de9a9b1d9215121d8fd7902ee40235199bc0eda87ac9d8d66d4f895f37579c72b42a2d7d0e0ccab9dcee5679b5e041d20ab479f9d4f41ae991ccb667a23cfbbc59b8dcfede761e2d5c8a634620905d3328bca3923fda571ce6306f36c109cf97c998d6a94cb1057373e9f7c70509828a9b0e933fae4170452b92d7566d6463d3b03a92bfde5bc2588d31a542663ffd39c778d791a06cbafa8238170ddd5df0beaee22bcbfe86694557233d2f0a1c097bceaa410e4f9f20baf5146f35b582e2644a672b24ff23d7efac0c837416b398d5f132990bde592abcfa5024a9409f1a5ad1f14f0fa941b62acb402f12d53b4735e48984a7acbd05464411cee6a197fdf9339e35671a21b94d1dbd2b5bd347dcc988638a8cf908ab708fd2b999bd71fcc6d7b3a324f561f1373d915bfee9dc3ecec4261ec1a5e9aac26f1547c0868073f53fa9ac1bde3c5d8852d81c9e8bcf5742f11095c1bf6fcf929592be0ca1e81221f996a10022e07573bcbcf9d4968f22324f7c4c87e2dacdceb35ef3ea12a1603cb8bd4f8f77b40a78db2c5d3a2476dea3897bc08d34ab5a4415bcb4f93e09a5f0b3b3fb707d77f14348b5898cc56a82d1c80d9773f0651802457628000c549b69ec486f97379e3af2607603efdac6323ad115a33056327cecc44a6f1a5ba5568c1e1e4efb8f33063a53ac5928d70322d8b43f67438c151d3a812390df1f38a6358e93cde670c6f6a11483950f3287bc31df5bee1d6a5eb54a185707b124527ecdb71da17fa1f5c4093a01859b0365bd99ef88c30c4df4373b3c9e8b1b18443306112ed5b08d745a2563683ec4ca3d7982276a17c49ae039866f0044a46835932a2bdd23c02e7ee4f0c65da97dc78b4b4f98fb7054c463e9158b3a0bc79d5ab33156bd91c7ee0bce3697dcf53fd937ff4fd9958312235fff918dd9847d280bc196915025526f819b32b811c1cb071f0c3113a1426a1427972a89e2e0ab7ea5c723dae409e21c4d0db07cfb2014bf9d5661d29513ba9f7a6eafd59a57bde6dfd3a9e98885c2e230fbde2e700cac44cbd91730ce76747b938be30aacb9628c4eaeed6f4affe341c8c03b2fafbd48996168b408309bdc554317b372a1bc686ffd4b847a93ce89a42369fda6fc883ad40ff225c57174bf1245356a1a792a325d276cf49b1f676efa96d80476f33d4a134f4b8f657888733624807003f88ed49cb15c1202538fdb3d379e639b96c3f25b9d2ece93288c8f5d35b460d278c50e539a71c07ecc2558a6e87ddd7ce5004c430a6cca8cb24a5a378e4b9f7a8d9a6ef6d917edb0d4b6ba187ea63a4ef814be1477f18b7ff8723799090827f6bfb0e156572d73abf73d9eb8eebe623a58e8555e0f444ed032772c9da12f1d864fad66e66c63239a38cece1670af96f55c457a5a1576361d4152d474edce5c334829e3c675c188315e23ec580652c4c46947af4c65434b8f97455ea3cbf3967546d6058bf71ad91b6a5e5b623eb5e80151de75114314d6e14e9e10b0338847aa4307c0f5ee6cfcadb9384bc84e851fdc16b193a61349067d354fe93f9ecd68162ebe6850b149ea1a6c67dc1fd5f79133331b9bf8bc2b94d60a034795d7461623ca77d8265a3446c00e3fd9958b2f2bc788d6c236ad0ecb198c4709043c2df8cfb290de6c702df4bb0c235909a0004130e032eb3d12b02c3ec93c9d082011de37b61434c7baa79b4a3ac4fcb3dc53bc897152a16be390a3aecb76a2ba4a6db6b31e7547e334edaafeac6e7ec4d7867aca79797beaea47f3987f9c0e23c8d06b6e1869fb8fea2d7a15d9ecf67381256e1b947a07c7aa125a55558d1a3930f4a72668c533e88c412d1a11e3aa7999b8a65308b099f69da6d5c2d68a49b16b3075292d77ebab18499f08487ef69f4bae5f08c45ae11752c9be4c2c592b48068298c5683a519510c81f5ec71350b6ef8f6da3662f13fa0ef9ba2b3235b17c65b6faf98b7c7a1bf6f410df5027114964d80e3e4590a4eebaa6ff460f00ef66706cd594f35c8cb7900bf494c0487706d7afb5e9a44b3c364fae0f59954c560813f48f3951ada13e98f14b46358c607e3f4cd999a6df552432479606b9e98edd8ff407abe9d38d0214c1a040a3b0c3f232afea84696406f8883068b7f2d18608280185272cf77167b997c7b11beb65af2016bab139c7ef63be575ab249b33ab595140a7522baec86f5ae47c45ff48e496d344cef3b523a1844eeea1b56769c6f5669e18a13733b61033c7723e15721700b98eee52136381c1f2f0f68df90c91a9b58e1a01036395f4f8f6017c80ab7b465ceafe804887283dafb8bbcb197ea493706392653f23418e5bf18c418dc17829cc2a1836c6e99c39cc7b72e917115cca8fcf750fa18650e4b9d095513b8310b52467dfae1fe539d0fb4aeb11ef8d7bcbd1b725089416e78d978c9f6c66f93262a5ec29684cf55a5556eb4588ac1d2c08acea877ec05018f12f42ccdb85e25c2968270dcdc06648dfe4a1cc9371686a21940d07fcd8347c810aaf6910a9ab44f056a15b867954ba48f90f562352fc64ac7f00bf9a1cbeb943e5b8fd656b7ec11ddbf84fd35b5298c4040d67c25d5d06c1a9446a68bffaf5189ea8fa99dcdac3112692aa63c72fa496abf529482ea0172035854c30ca0885b73fabe91d70bcc387b2c64a9f5afab89788c9ea6a4223def2dfbfba62b2908775c5f8e694a24f444ef3709a78b778384602db0e8d54d777a4463929aaa4d9a29a1ae670f99d64cd6263c945808ec2e3aa36d8993544bd9524601b34e2d407f359e2283b4ca85e6f2000f93aafbcb371a5a40dc8ace1a2445ad75151e4ff63ff8854485a7219c1314798e9634e0ef9f729fa2bfe7fbf0e3caff2e43d435b0c44e900d715a5bbf9cb7cbd26ba6ca08b5312eab6e16524acc3c8f4e0b12b53ab0387836a99aa891245e1f24810ede65bff4bff23f359dfd7395e5a2888bcbdd0cfabeb281c17604fb2d81b6f036830a656254d8bc9fd3e0212890476e8e6eb3eba9285d00a496b68183735e5769f357ffd802f7b6e43875ee61a175f6cb8a7702b230a8ae78a74a9041e25556a3d6daac5b0a7f21f956041a671c57c673380edc281be47f7d6514593fbea7ffc62eb90d181909c25312c8c110cfbf27feef04cb23a36dd54c6ba1aed227f3bc0ea464a0df03c1203bbe286c56c93feae8c4dfb784533934f57cccb3b5437e0f872159e1e671433fd05cbe386806a98b8e8254d5392f4770fd042f7fa8a8c8c028d14dab9087a96eef22384078714dff5ca05163f04cf629beb0f193ddf149bfdf0793e0138a35d0cfa690f95cd705a1fa66d02917bac1346299f83656ee6680b2ea77451e9568b069b03ec8c1c8b0bc4e000137eff89bd9661e58bb37a563be6cffe250e0ce1dbcd876f5f899ba5cefdebb72eafae25446b9b672abfc7f8e0f12ce1382216a46d833ed8dd80f298950bab122200bc4d1397d83bc096d9fd4ff18d4b44d02abf876eed331990bedb36887eaf87c777a6432e4612439f9b845e02c565104c30f6cfa8a8eab530ca3c205d8e72b079a621ca047e8b71730d7bf6c2e5d2df126411180dc3446f6cf66899d0efda1d1a7bbca8362fe08dfc76092fd7176937de080828b9394f6ea9ebbce3266bda52b47339e9dac8d9a79e045501a23411c9da97a130f49efa348b5821b966a506fd1fc9c3d3a42602f826ea57f968dbc07acd03f22587416802748d830e4b3be2625a2792aef0936d541ce62989b66905766a7fe70e3b7de40d196dca9ae0b5d2751240543f0d25b916b8be2f28c1dd1126e7996359e69619f9cf6d6d817fdb24f7e7de4ba383d10bdfb6134161ce16020b4c4241d62f4f5ab95b235b74512467be23344c5225729d97aba25cb982fa2920ecab9e2b2ff6810a4b5adfa59e290e5147a8fec5bfb54d48896402f78a7214a05c366a46be16c6b97f08170ec39da48ef7e861c01d271fb75dd98b1c4546875bc1e429de3565e006308bd6c306f9c77c806967af2bfcc06634e400a517b82378749ec2c200f9cfab3a818052d52c6001297a73e71ee22ad2d7bfafc8b52df89beea8a0eebc6244c8bbc5119fd3acfc16b57db6c22da7a8637c14f3de73b270cd086e0ee7212ee69eafdcb9c62be37ce77307b13c5676771daedc7e235a0621b3e64349d7257c561b96fea3812fbfc7d4c11f8f006412fbbdcf0582cb257f744df83ae5495efb48faa1d6e95895f9ab7840dc62b27438c797d047dd48c064f5f4be3156536311d55c0c12a262a782d225d7ea9d4b4a8f327d7d016bbb3850067609062226cb27bcbd82b30c7896c9fabcd2581aaa9089269c07e82c2bdbe293336a9625fdbc9e00efad0c48b81aab7a9b26bb24d07579cb6dd252267c90ac0d16885152b2111a4c49ae204430a791737019a6294c5f050c24496ea6fd28ce1509748d568fbe7ac11d254e769abb4f9cf47e687ca1c46aceede6d5add462c7f75fa504cbb45334ab2e73237fc10286341f6c4a7f4b1c7386736ca2a9264acbb0d350e4fed187151d335ebc27e14e06bc3528e4566843a79e2d24b3215b2282c6ca95bd9693883e5876757f9cf256755a92795572e190efd339c4d9f255192b2cb442df06c579a904cbbb36d9b9e2b3e2510900bb3ed5119b18e8d609cf6f238a466e241628d1999f001f3dcf1c19a3394c9103e34763397040688a1fa6db06818090c8ad97e690da3f98ffa5ed07facc03a08920dd904f51d62f744188960172d4017fc51a7d640ef372e3b007a3cbe37af213577f77a259e76af5d31371412555a88a58458592bc3784f02425f2e98047dd1b0a75fa3ed58b9f87c4fbbce6ae7348721da8c89c1c8117f21c8c2bea10f302ec10f2654cc84ccf730bd74c0e33ee8ef0ce7deadcbe9233df37a0cc9a743ffd0c8ce9bae44b9e0dbb1824a64ec475394b0e513cd2a25638e4c7f08f38364638272f0cfc0e4b11b6b7f015919b942f0b3fd93d722ffc91b04e0c48c30e61d880c0664a88dad2e8eb51a455c095bb16f6fb2ac371538ff6b729d11a18a7e975f569589931b8d052dd9790b6464c295516fedbb4a6f20b9e3ffe8e91e3dd47783123b327bece57189c6f9f0be48ecf85a17c9f91eb5a2dc2e60b7b2171457bf8861796dedc879389448a491763f0c1a88b46b9fa83441908903c5b4355b43fa68de6a8d862b4a406a4f3341aaf3a4fb5d5b8902d81bd1d355d9bf93a78d38bac58f4f7bf38360d2f35eb68b75935ee40bd5091329f78656a8ebcf0554ddbae290bd36f33b6a07244f9d94035c01a91a9269be35f54c65826cc49af3173bd7709a001049d5e01403f0aa5726e744e3e7ff1c2746d7000bdd05f101208f42274ee4085a939bcf8231134cd273e3fb12d5ab2cb4209288ea1d4e52f56ab4a6ae40c4b423f75d2aed321ec9ba68dacd8559b151799cbb7f31dc028dd67ee4b90b27edface623d90da17961b6993d299cd71cbeafeca702006c2a1e1059047c99e7d564d89e57f8c73925645207a6ac22e7c3219a61d6110365b01e3f1d1a3b59ddefa174a84de8fdea9320968161af7d740e0a9c041756503cbde341b08273c3585cec4a658454aa019b7aa08cdf6798f25327862f5c9167e263d045eb3acd5493e3a9a4ddbdfad7d5e775c0fdeed73490257189107536c27a24855af843e2caf3a88d4113ff64dca2bfdf5bd79190994bed5fffc4bb00be2b48694e9adda214c32bcb2483f66b1186a1dbf0c0486bdf8d1f810c11a1b1172160ce037314c9e4c979d8e7968691e17b8b59e859bcb7030c6d6a6d6a5d3d11edbd5f08ed2d9ef18b5dfc5131af31aeaad240330e5680d720a4483d58ff7c49a363cf28923d76d1c088ca82a14ce7f9fa7a9e249e3c29ce4d8c7e527a33538d2f903aefb5290c1a2fef4ca5f2f966a185cf2d745363a0b5af396c12929843d9f7e73d07091054766e96c50d99105d58497105544848a42fb69dee4e910c9d137a431639fecc42cf640f822acea737b74980715cd158b572ed920de2aa4b224ab7c3d523d8c6d7313b731f366e807771633c33ec092f309635a17682cb001746616685fa7fc904edeb1dc447e2671849c6cd6d05c2a1081ed27df50277099e892da9ce95a7e7c19eb98c1bec6b9b9055a6234169dec818f3ba2ed5faf95aa13b23379fafe3c13ef43d1c840a8986f3c0b5fecff51023737ba1b1c0dd7a4c87fcc8857c19a8bc63cd1d01c52ff219368981158a23403cff249dfecad60d334802f14c455d866a2f41423584aacd8b25008f6a1fb1ae236dbc5d9ac6e3729175961e4c5f0267ba0a3cd7a8a4b05b39fdee7e7c8379be2db727c2ac4b73ff1549bc874dcb6788d33af4b2f27cc965e8d70fa5c4e918b08e12e30cc60f7b75cb115996444af669d2c91ca2c38b667d26bc8de60b34399f788d2178427eb7e32add8e55670f8dddbb3558c445ec9b413a667f908bc2589388c796585b81c172f47fd9aca07986cd6e68114fef3506f5cfbf8ecd275fcdeefbd747679c8a3b0fb2ddaaeb877bd7b2dc65c255f2c98290c28fd7e3dd66acdb47a1e14729c72bdef173f03b4cf39563c07820a97ae650461d7c23e0de41e73027b3d09cb0ef284e9281ddd3c586f329db96c9dae9d9386303d4ca73afe40787d87931470b3659bb6d68ca668f8066bea9c1c674766b4f7a10235adcd0fc421434d1a2c0a7ce422ed89ed12628c218a7641fe582411b2dd80f6df517839aa0cebe173a48033ce3a22297a7ea0c579a67cd5d7b0b1defbaa6616db02b6564bd4dbad92459e11a8ec7316614f22146dbad3c64c91eca452c1ede3b9fafc68b2969ca5db61b9c00476568fb213baf42f07a162da74a1e384dbcc155fb137126d71bdc0bd4c9561a0f2abfb2e7b349b6250266b6c51ec6c8dbc5954f13fd584fc0c18155496acf80ea191a051cce8eeeb4c0900d12fda169376d722297b46356ad35fccab3f2db4a87191c39eccbaf9a3fca63b766558dde913bc6da85ca00c1a11d8ce933583987a2f9f626aca926cf5e7f01c22226db2e82b57d15995b2bcfbba69876b09103de04fdabd11f6e17341fe100ef6cbf3327bb4b3c25feb058aca424cc6627da02b34bf659b622c7c50797455e904299889c3d5e34be5d5885cc295acb7931507e64a2615a21f1c0ed541365f7c56b877077378731f8065e42751a46bbcc5c007f48fd3b32f60b0cc9abfdcaad311de1e119b21c5a60b0d77b0498468f96080468ac40e45518e31481ec8e7cfdfe4c90a9ebd92897fdda5e82df23556db4503ef2afef41d915a9b1afb974ab589f4b6fbca5f87b7e78abc25573f48d3a4f043776fba6d308566a3d51ba3af5c9a7883bee71398d3d00ae31fc9f8f9a2482a37223bd8203986c6136f96339d9f0ff5fb6abf01078c1349ac6c5a8d26b614c368cc6ce97527d1b92f7aeea47f19d3e188b818b97c0af9ac70ebb467926483c76889986f88dbbe9cc25c19deec0b04b92538d6276b33f765faac896b0cfbef34cd5a30fb2c0d522514a141d89525294bec2581c00a1597b50baf806647bc53d728dbcc70ab884dfd065974a11f7c4092cf7003e2b0df97a1dd028e0a42846f1692ea22385294aa488735b9b02c43c44a3746d36d320db5c0810a5651bd430fa1cc8fb098d18bc3b01fc32a442122ffb86e821af9be099e2b4d20b8394a041db5fb3353abdac4ce2151886f1aa8493f5fcf49750eafb91fcbcb93064616952333eeb27dc6c4a83193ff2a1fba51630e27a4be3e74020ff00eeee2536606868484031b069cd745b21ed5320c8071c9447e044eabf43dbb691f08188b00598bde70da70c150c52ff13e6838177fdedc0e0ab8fe5febcdcdd1b2efcaad85d23bddbc9095c38b85ddfb1f286631220232c1c7d7f0c2987d47c8575af9e70a496947a31c901bdfbafbd4e886707137c062adc212612509a486b2e8fd7e9798e51c0dc65078fd7892ef84ba4d35c9451426483205551416fa08bea96fe8d8cab6fd7c6301b1031af430f6dc0e0fac85fd14a4e660d0dbee865134a6721f231295fa7654dac24ed4b963dbc67ec28c2c84a8f4c8e164ee1b6351a075c362a276d6c356a87ffc42a42bd865286b98692e1c4e0d654aaa08988284b28d4a257df1a78bb6235deed783284de2f9ba087de09c566964d436af8f13406d278358047e0d457fc6f4c40fdf7ea985770f96bbba00abc942a6f64e1a03f17631e2091dc9428710a4f9ce18409f5d14b651f3893ada8bcb00b08632dadd004363acfd1a432531866ad3d3a642126fbc91d22f0356ec1158a9075934046608b7d17bb981d8fe99352d19568cbcbc48e43a903d95d5ccc16386b1e15f1c1263dcc342263a86f403dd77815fa694a50e74bac3a53588d3d01cece6f045ac1d3809e550e77aa1a811b259df12c9644a0cee10b2d778e84ff697b390d3ab56ea3d3158f4882fb6644344d19a65ff819a6016b8b8527e04652b1f75218dcd49933745f553ba204464718ba4604fc706d414f8df077f910082d4386ac835294ff238c52ffdd180fbf2ff68025312f9946d09552f750344c685ed7e5c2bfce1e18f39b3542ab85847393cfabe9af6f9747555d546b5a8c6126f286b65087e4c3f23da3f69480d63219e4397cb13fad7c9704d4026aba78960087643bc2fc265f561bc40f7a918615d7082092d8b9d5dbee832f090dcae997a2ba44b10220987b99f6a1e3cd94e79c03ee3384e1d7569ae7a222a40fa1ffabc150cd965dfa51a627fc4518ad31c4f34c0a5bc0497b50267de0d9ec978dc607a57a6d84deb28d85dd89b7b65a2252042db8ac7cf438ff6cb3333a594ebc3e6e4391695f50a4d48ed81af770e6ffda772f54df24a187aee2657a49f01f213683833b7a70ca39b578e70503c531c2358d4e112f603c87075ee87662aa3f205134b2951f598a84519bd7c1b5039cc3899fc4d4d5498c8323dd708b5b4d5c14783cf186e497a8cb5f20d342ad85e15c9a27dd520f11ddd44f2efece8ddb990639d9bab953d41d953cf176cde2cb7e5016e1dbb03e7970dd1152a576b0fd4a3595f75e72eeb3a748756fe6069b0cdb3d3632402245ae6a7061efe2074bbe9a2ba088e85a14a8503765494ba456c45912a6696ca2f270a318024dd7fcacd223325354da64761ce0d2357064a74076800d66a23757c02cb4b54f55e5f1fee14f7e12910ba586d63f1f9b35c1c00cac19a36a7ce885c48d2f76fe8fa6e3aac193f6ead66f7ad7367c3dd53015f0a61daf508f7f11c7267aa78022b07d601102217bbe66adeb3c991349c5e1e30e81615c6bbec7a860475946b350888cbd201939e04f9bae09ccda705cb17e7ba29fbd8810a37fc8b83fb4a7e49fff53a3d765b88180fde21778f33bff548995bbfd67c50d55af42bf08da80499c5895c024856176b98d9486320b990f433a14258f7d3ab2b74626b2902d9a9f23d3e407ed5ed7b3ae6c56c6743a664310a52eff91208398000bff90190b8f7dcc171a71395a9a1fd66f221686d480d802d00be550ece5d30192706835d1a22043fa3b7a47859d9eac2ab0330bb4117f10801243ff25d9d145dee2855330a671fbcd522e449d704912fce6ef0433b603b6636717416d0e6c7a6f3c24018479c2e96d0a6251e3a8297ec7ce50bf291d811a108e08f20b686083132ede8ef974f087d02f7264e364da82505a7f2f146333a9006038bf7e7d454c851f192f25c87cdd855eb1b6e9b2da7c753c335901259db171f6259ac836a1b31960e4d9dcaf7026da163c6fefcb8e362e34725d6ae8060f057546b8785b8a5db6163287d660375abe8b14de3331f413ab95205f57cd01fa69d5b65800b38a77b4d5610db59808759baa606abe36662b02ec7b9c4833eb4b5c550f8d71d3c1144ff1c2fa2ee877131629dd35638c07d6a6064febf9747d1d0b74aa1ab698447127626dba9dd0c169f7311b4d38e3b6994d8fd922b0ad1e3f0e9fb60d0577c72670d5b69902813dad51f71a6570312ac74bc77c031fac429fc1a6a9cf8a4b77948e25f7f9839ad3c8125ae8a555ef349e786ae54d936f7b228f5ded7731c3a544c709ae14ab874882cfb5f9496b308d6b2226f605b39ebfe4b95a33f8ac132b46f28bf34518cd59de191c431f93deb8e2419dd3e0c48452c70b2c6bc389cd65633d45ddcfe0a235cf80b556c4b1a06c35d2a9e9aba25d8acb7745a2dfcf4cb4493dfb72b9b1d121a0f555acba1045e104f81a159dfd9f22f676e2b5494519e892183ca91b56bda768e55396ef25b902c46ceaa152ce0d037833d5e3c4a55a30b29fe07c14ffbf3cac20222f46679fcb07b423aaae9b9a70f983c21471580203e8414bb119355e823e4ef0c3d066be569efc8eacc3f65286bdfa0e6ccee5315974acbf2415413089beaabec168aaf8aba692b7f35915d0fd7e9a750524ca43c91f8fb4412b5538cb9278da347a0d20e4ffa79f4b141e398498e8d1c4371d83f5ff33f0dfa9464857aa06da2ab22265cdac22ccbb5bdd93c914447032672cdc414484b53f4d5b8152e7283f95b8fd9326ade96161304883da3d28a9d77cf7562d55b1ae754c3eaeb5b5ba38ea3c80f61efb4eea86c1ec1fd92e5b376bdefb186e2d8b543c8c327b1c44991c6119dc2fdecbf0a47cb5c14153b0bd2d0ce8ac3384dc245ac0b1f8e1f3fef9dfda07ffb90153d80ecf5b3bc558ab115265084320d016a7deb7b37c15eca7d9a34d82175c9a57bdc224e20a1268df75d2126cf6b75c6a885c3fa8ce71933ce49eed00bfb21e9ff9716d0ac7343ff44afb8d12c45757107688ce1552bd40444d3c855368fd1e2adeb7df2cf70ce3aeab8b1f625eb47d50a75a8195cf13f40be93a120a5ba5ba2c5fb600597a3dcf2421cf139adeb0bbabdc80ebb66e66cb2e7954fac273b264c5620ff97d1b5ab2c4165556b4a786a920e5558e325e5a690016a4aeceffc934bcf1face53e91371349b794d3119175f9235b722ac6ca85bc51ee4c3ba0b970be13ff0b52746bbda2509d3e5fac726b642af3cd47ff94bc3afdea7bc29e6a56b065c2369f414cf108b96ab818d9b2ba8b33194b5e36c166e1f10a94dc5ea43c7326054a3502d79f165d6658c3f0cb5e686c2fe86e1db3828d53d1e822be3619431a3d7d5cae5457b9a7fa5de9d52ed91f67f4aaeaf3f74d0198b8a27176b841370a90dfd65040867beb5bcb46061f50b5720679dd1a421150e74e19f6efeedc0ae498eecf6eff2351109ea2a7155bfcfbc0bcb7e99cdde5e1a1243e060f35d82f805ca1178a63db75236497ef8dc0e2292bebcce9f3bc2494ceb0676bfd0589c1444394f424bd32fe9732e97a919ee8f199663503f13dafa185fccec94a91f668256aa0bde325727a8925fe92793e129b02f671b32011c9350bfc477a257949631cf12d133591a8edcedfbc2239c1e0dbbe32b07c0c076a06a7787febd78cfa208d37b3726026cd8acc41a860e423f71713369b615f20b9348077c5136244ba89dd8fa9b625d643949870ad59d23f06c7023fd9f3887a37c0a49a26624dbf991b83156abceca7c781a471672fac4cffaa48fb74d519ac60ed92b419f6b6bd42a11f49cd2666641b308b6cad3c07cac9c69a26c56036b9b513f511395431e687c448640ab4116445d0e5b856c8d7ab2d0eb25867a551848c4e568ca71302b0c8f064e2c3fb6d7d419a1533af27df77c92eff91aefea495ab14496b9ecfcbea222c8c83d1711245f9769dd0d093ce7a7cc8f7fb972603c9db3bc51f698d2039a3800372a5a643edf5a2ae8ad701ea7488dd2c1c91bf34b1db6e70daf20716f518e5c6fe3d08d404b5afe913e1fd259798d1f64adc11d51b3246d5d15a6135a474c3ba7c906ab2f0177339c1429167983fbaedcb75043014fcbcd3280b952cd8d10bfbac38efbf28c67767dbb64be65305d85043cc8eaaefc26f241c990ad094247d9d7c308c93ed5f218812dc2284c13c3804da183ea40d32fbbea13d9830959b9875da7f691197ef8665b51bf68ab543a78a8c403364a0ffe118339c24dd327a8b6e4122a180ca9380b40b475df70d362226ee0b7055916f33acd214bfbee1b3952d143c51351fb2f407ecec15e1be2189664d05c23bbb7cfdd9767661a341e0e5037c8e467a19e9ade6eabef0b613282d64b0712ce6e5bd51968e4232bd21e746332a9a62f25a6564f1c3f30de998f4b44a05a8ba34d00b2e19ab2407c1dd30646d565d71ddd0eea0b2f6f9280b584693c1b72e1b90909351ddb8e6d760569137954e6e5120037bbabd4d9905ce9f579d22caa31ea5f97bb6030cf5e8b06ccfb0b53b8cb3f4698e2556947cbe7b2316d3b7af52f88b976c4c58680d2841be79daa0a40bae318b98f409e2fb8a00797c2dfa43dc97f27300cd80fa27104c48aac71d742d084c8f3cc8b33aafc5445389a2792a215a4581582c13c5780df30813372ba60c6d70e3484026afffc0693926402447629fb4065056e17b484e84fa567187f1f3fde9be755f033397dd584882004c9f2d25616f13a753c4a61e2d00c62b30bd4215777ea34b29c3b8fcdad464b21cf74986a79b10296c6a2cfae77c54e52ac9ed4661c4a70668c76d8d96877b70c44b85ed7d0243ece0eb75d8265266b7bccf2298bf095316cb69d822b3474e1080ab8da4184192db2913513cec33f6e3d1003ab6839b6faaf6a174bd97b6a0a352ec5504ff0d9dd60f08bec2067012d01a2dfd0e8ecba7ea580651b9c3665a356b619a244241ca0cb8ac66a843e0535bd0b260849210903ae8d8c5bbd0ed3281e25c15ad17753961e2512a0a829816a5ccfa2a9dad02b83b9500f832e2e2bf4efb1367d7f4962b8e50cd6e68ba7d1abf76a961ca93d20e3bfce9e46ccafc560a5116e038dfc5425f262deefcc01783ebfb8574f2f56098732b8c13340ec6ffd5e6a500f65520204dcbd4b533f2aa0fab5b4995a378845fc89716dec52490baaf01042470b94abc61df2fefd5f7c0f6d022be36809aebd0eb1e4539bacd389d67e6a514294e23e311c232327cf444db340cf56e7f33070a2bf4f3ebb6297ebb53a5969bf1ab73b658b7a5fe339f14e6b4113017bf44b0a355f7cc684d65fd648e7ec0455f4d252ce6eb74873b1789859daf3faf628161db110602a5f02c6f8c75d1aa2b3b734c558399e095917296ba8b8c74035c7c2d0e302dbde27515961c0818f8e8aad7ebc736f44418a24aa7253fa43db00ba40d8f16ef03b0c8803d4a75850db89d19d0c7d82639a7cb08240f74bc17073fc7fad384171c02c5c5c11804f7521cd902eb2ad5f07e3d96f09de0ff5a4055f6374cceff87fffba550e3558e3753383425f172686df849c16a535d78dc1c64d96c51adac75e346e599c4c4dba79f32f80b1c0b65a2354085bb07cba9154a9cd353372459e161eb741fb77a8a6f3ff566b72b09699a3957c32794f95d6576ac5563238c04754b5e5303c26bc892ae05c315ab117d6b334579a27fd952892600420dc4cd00f6702bc8b0cb8550d7a24b02cd6556da1d06b6d683d2c5217ca965ff2d22fc95e33e4f73b6eb87a797ffa5cc9e958d024d05277c7fe9c8477823a8599d0bf5e4ab3d93b3a091f1aada48457fa9add57ddf4cdf134e29b4fa604647e60826a6bc1d2f948b6ecc05c00fe723a54c0661c264b2ff7a1fc3162ccc965a43d7ca75e4b0b099553ff052b3859eb8499e7801cce894eaa12b3fb3c9fad523139177c792e5272712b89e82f5be2d3201ad3e1c73be329ee4a9a9619c8b64b97c72aa7f4c17ac96e1416997b4b98429a9d6a5aa6a19e13d403083f0be76cffbd6a34986fe810a8fdfaeae958177ddac7de7dc13f454245bd8f4c2d4f449df5c7217abd202cff3e8a0dff375b2d364ecd96703f7eaac9cf5c2b00fa87499998175620fadc65f4ed4d96726fd5371f8547828be5ca6416e353bec87364c1c13431a51d353795f941561e32310793711828c9acffc13aea98a2890aac07c845b725ca48556fce4b705fedb9545f05123aeaf2a06c98abb226b6328fca5e5baa8e3e684b64250027b4c75bab86fea3d140ec99a1c3e387a71bf48b336ec99291e2609b82920211f42018266b181b8b753dbd4c47c746ce91098b7ad7899161aa0da709a188ee8ef6562ce504e6b4239cc5388df1e024d41bd9d991c94d5b8cd7e39765a06055b6ccfee58cbdb7f17ccd1944bdd0df80e68bdd4b502d00c9b2d4e73d69289288a2814021248f45d06e1e8447db988c3167843bb755c629e56d0b7b84b956e5b0dc1dcaa6524da5de90f5848c8f194dde867be1acf59d90060776ad20bad24a15b3257620ba299a144d1f28d1f62200b5214bfc8da3d089e5075e95b8b17be6edf29120cd7d8409412010537acffcdb2acd17b95805eb935629d323018e48e2ce4629b3ebb3e0c994f0f4a89bcfb94a603d0763a563bdf69a30d4194446256aaa5468367eec8f5592e1d9042e42c5ce47568cd59bcaf2860eb73654cd4a1499423dfdd27b3751bfe24112156923367b064273714c1b80413d42e53c9ae0eb028e6010574fff82dc83e7122956a77d941b941685f6f23040f5afbc459fe7f1da18c694f393f9e985e9b4c8a7b1f4a621e9348cf56319c9f7118396ea22540946e5d4a552ee6af675eaa22fc335ca85957570d968168d5c30f1561af36b9bac40e90475f4147cf82b9edbf531b5986f8b89e2fd3c2a21310a3d427de5543cf435e7cc42341c807be29ae73574b79eecbf929c49150112d6cd787324189951c9ca3bfe5299e6ab1cc1e80dceef3230a20eba00bbd559a67f2824b490591c264179845a58c2d9b7802de4d10aafa884d6c7e5f17c3ea0e50a39a15c981fdcf9850c9f50f047e057f27d241c65252cb8320602ec138c14b3f4ff8066d9afd4b094faaf35b2338a3b57beb11fe7b5023270fe7a11633d9b4dde65d889e157aba1672e7f3a22c1faa44183aba6ca6c7bdc98e4a9974fae2f2fcdb7128f9b27bc2d427076c147fb6accfad8120fc2afa940a6be436aba8c5b221d0df0e5491bbeceda34e25130a937382fb24f3bb1380af2ca1cbc903398edf9dcde424eae2b43097d9797759422becbffe6a83227a4b36aab433704048c0a2f558133dbde081cfe6b530c830c6897b2033bfc8178a6f103c4c245bf86e025d12be9c448576a2e730b1c67be420d102efa7fb91c3baad746ceb0d63d56dae96fbef6794030491865120794d54495689b5dd99cd892b631c1c2138aa85b47e954d16a72a632d049a6499cc0848ad95f2b1dba494a79b9957953aa00283eb4f415554caa9fa07153b070d83d6c5aa855877177c8a00feecf1668297594c8e68b840e4fddb34bab2d5d64a0558879d1fe4f8f533e0595bd75a342129eefd8a69baa39a8a8a39464d105189bb369b56de846fcecfb65a868d94a42f85c5e4f164ec1a7ae8455906d1c3e248f8f57b0f48bd7fd379855593d624abd68243f7575addd1d6aad6392ab48795aca01b52363513d69c77db0a6a90b1212a29fcd813460d6fc1e832c81fd0829c637cfb8df138096528522a9f843394769f8501ceebc35cf955829894b18ba5f33691179a1c080eeb7c33f995c075220f0dc5e53e17f3c0b4fbf628de11bcbf11e1eb71db489004de02f53346db1c782390349573623e5a70829e047203bb6f45ec0684bb286bce970ee9d1ae00c79e5c1482406f6b9ba0de914bb5c6ca31d87fba02f75a7f35bca74e1028f9ffb449f9fbde86094ed2a3ec993a2f06d2d96577dceb2eae2cd22597295aaaf68745e3adf2da9b034d4a1b757f7b172de0992cdbb8e32a685c7b88ec1f3c511eced8c70ce1a43cf7b55fdcd01ac1f7d5449dc40061f66ae52f5a273627d3a8c07493dfad1ea445eaf61bf55fc479dfd09880aa21051ac5a81787f170218b24b521e52f445068a7a329fb75cf92f7a4cd455b9b31081b2de2fc907de988f1a6dc91a6cf5c114a9c8fd5a57fdb3c0fdb2c3be2aa4447cb43787dc55c3524c3c604c784d9a83f0b4bab110abe98c294dfb801111573509853a623c775008c9056b190c22a13025b40f510107533966ceec9c6b925fd5320b622896f7f8abbfdd412fe99053bb5ec97bf263baa0696a99c4a530cac3f3ab435161e9e626798faeec72bb421a6ec4fcdd40970a86fd01208d44c9eda472a24bc2f80012e1c83739c9b893830cfcf54b566cc3112e978a3bb7a37380c8c4e15eb07e142899a22cd99a64690507a8e287e6334d1bea700756bf25fff2a2c16afaa2e7ed25a4725cbaa51849f2d41a67c546809972613cc0aa64b16131ec1b5e112f4b77c04baab13f1dca1dff340a65d307c64625998f189732592f8dc69bfe63ad3923b4e46261027bcaa18a33a5901662483327565b5fea08bbd350d6d2071c3f688e038e2ce5e581c5c74eafb4771425d986186fcb65c73b7d4d364efbdf944c14fa114051f402a4bfec1facccb295575c3249a14fb890f4eb27c4e1f72c9f0721d8fae3dc13563ffc40dd329815586db14f6f9f1a426be51c916de14741307da0c71bb8ec64f322843a94d7a18bb00b2cf71ebe035147e1c3a1dc679a89a9aa82316ea694160e06937b7cfca4536f8421575d0e31feee500d6de896632f88849de52fd3f8dc8354635ed4589039974ff36d36cc64a4fdd3705e0fb2ac0a720dc5fa8ff66d42d52cd5bb3740e540e49a8fe31229c4b3522aa05d795d0d971cecc64354d4e90bb5ca73846e9df2bdd931d2a2c29f5280e7dc1b673276782ead024a7f73bae30505e357b20312992bb3a01c0790471bba4589cd45c5683b48c4904022a57eed83fc8916d480575a2d12690754e1b53b15a36c2e3049316040fcb2cd8487ba0f799a5aa7833ee06ce0e450614b736ce2af65e12b960675b73a7343c99a62b32a24429a66412bcc43bebdb218512bdd4cfe67d3ee9d569849641b024220d17443e21ebb6aa4685d340324e5e5dce8d9a2f3d2ad0db0706c05e49ae39254d289ed238793a6fa794666c8634deb2b8de59f59ab76f4aa6997059d13c9df209621e6ed8d3254ca430c0fe31961c85f3646698ca7f8b85b2b112c5b7a180cca1f15e26904bb45156609a0e1e287c8d1f78290516fcf4acc49573f6541547aaa8d5777d8dd12c501b64490acd68364cc8a2c16f220e68c950c6478e7804c916e2204e9bd993c4dc9a7bdf97ea7b72804a355bf6aaafde0a63aec34e17d45cc480848dfc8a1226bb68105b3806caf5956a013bbf966acd94ead1dbdc9be18100b15b078beb96db5946760992e3281bd8f14dac95040de6b7e9f062875f29ef8a0ddc3811fd4b9ffd5160e91366fa31a5560369ee087cf008cb513304ae78b600809679a1ff94424b4cbe28b746484335123f725de44f32d4bc74989ded1ae626180765cef519c212d6072c29e446be94729b71822df69294e6b39f0fd5451f8c104b74b5b4f752fab625aa1f58872fd55421d15320e84034442c7969abe3d8b29d471fec425e22095a45f76964166c010ec2526fa1f9399bbe9fc056d2cbed4014216e8128426dc4e258bbd68d40ffc8974ae120c60d68f678a3a30972be654b5716f3aef5b472e7af0043d7dcc2145d251737f5bf55810bf7b85cdce0782f635fba8064018cff0c1307c7109658e135e5d6f42d6d73dcb0aff31211a14de49547be73e1785c347ea595a4a88920f0b68fab480d9dea68d25d4f85bff7901cf1220c7579e07f65bd5d25da0c5236fa57ea814826b1ec68e21c3ba0af2cb5c9124775a47f83d70a194df5508c0077d41c47e1603ed9b7d99ebe352f7ffae4f3dc0db0e99798adbe6bab345d8185c7e67614689e2ace913e75fca3b45f670b370626eade7c6a1d0b6fd4983c646f54d906b8b53e8d92fa0459373b1425ea3803f6bd1e3809ead6d9b7149190f2513c6de17f915ae3e09b88fcc9de97a73abc80e77669f65de8f4d3c3e48707ed032e6c00ec00864ec083d45ff229464cb8b24f00f4a9b81b15ae0b8690bd5c0f6d54933663678bcc8ea1ae48c323a7436d31495256750eafd69a603f96e9792a8e83499b99018fc4d61f4557e1b29007f01ba72176349d22d1d65d3baa33b505faf5d4cdd13cc3db145deb5d67e3a30080ecaf7f4e53ee17f1499359beed642c587f35251fb5cc0dbcd55de88302ab9f8e371323f4e4328ed8b3b69cfb9a91982bdd01320110fea2507bc4ac068f12d2fe241e79688b1f6228e5db6b4f829117c4239ca124cdd9a2cad328aadb4774c5214308ee3ac7e5edfa44ccc718aba3134009a1770d19d0602cdc90ae48dd6fe5c15140c09e5eb300a715ae8d2b6e6c4e1e541df1aabaee5be6163ee2d5a9f6fcb436c9a9eadc633c9aefa67d5e1e3be2965ee5b607e40201e62848ed9e7a0e21a26ca56a1a59c79e5d70f7f810efd28bfd5f06e97baea15f86d37a4249cc72285857aaaf07485b17698ee34c0dc589f86fbe00ea32716cb709ecf8e71f84db2b54c15316ed406d7341187dd9a04c860de186ff765f6b32c494d86c8d6aa2fd596ab57965ddc9f3fb2280fb0fe1a5919ea406013afc32124e96a843108919a609070c5c06f38faf6d522f64a4c654b30079f727541cae525525818a4731b7eb35159ba218bb08f15f0665cb456faa0dcc1f7efaf6ec7a1f36597abb9a8d05df03457cf8580a1c92a81e1027fd9a577d0e9f8c270653a527908a330c42225558824a3d71db0987e50f275e78e6097a7a2b1daf0e03ef3f92dbcac290bc17de31d71aab41b63e5767bc56a3d15fc214e6523d03a03e2a2f6f8329151e2c28ebe1546492ad0d04526c85dd43906552e73ad0a601438d4c95a37da2262289f7386345c154845e467542e08ba2704b36006520805babbb744ab4bb65217e14d10f0700237e919a9a870e3ae91226340711bea316f762c3ab8617a7de6d46c9dee6172977ed85a7d22ee390c2cc17f52f9a30ef71f8cc896895c0968016be4dd0e2b9cc4ec177dacd9b9c633cfe198ca850c336d4b4acb0b87d66b17e753456b500075d7ca4a84f8f4980f3acfda887d034ac958fe31feb8032c24c7edd91fd2e0bb12043951afaa65af2fd2fbcc0f11d7086154933e52476c6f703cb401e0dbccec24e97cd52ebf84bf8f17a13ac413c8ed35a0a98878e0fc847fde01cd294e21ca008e1dae18d384b836dedc372538ae9017bb94155efacf42be354f002dff4813db4221b385ed6467228e9642c6b41ca1fe0029dee2fc751f43332e6a57e1a1ff26c72d8063e808562626153114d16b6b346d59d0460f1a86dc66af33d565660c7c5b8f9971f0772794ebc2ea30031dd392430f2a5e01058fe01dbbf956c4f269c55061a6db8b1ba2bedcdf2bbb64b71f0d28360695f739b19d25ba6d4a826c9f81d6cbea4ed6d64607b49a74e3828a22af5863f982c7c60d3b70ee5155c6c8c06cfdf10766ddc402cd6e2a17eb29e7208f202a49f3309608ef0b4dc14d37a777187620bc2d70bbb8c8870506e1eed043130b2252fe884c7e2dfc7f9b3039f4c4fed849063858d404c9cff8bef147e0970303e2f3292e46a1e3162a652907be1fe7fda6add1d2bec2bb2c7de67811797c5bd59fbb84b1c1676f7123ae3f6633b94d42fad62302b6b5031d36dad5b3133400d946ff1f4ee1f0c2aabd56e5fe1438f552f5f05ed9aaecab9f97ed72b386da075125a4401b31a527f645f947161adb67cda8017aff82c405684a5b7e8755db253125bd955da515f04a8bf70024c00624a881e36aac8385483b993bf9627cdc9096e9811d20ffdbd494590b5164c1c10a4a450023ad0275d18ed199bfcde369da6418f463394d8c6cdfa849a9400dbde87b1d2ff1baf9796a41713ede51ae88e867e6542031b0e63e2688922945673d26bd393e82023a87052a4aafbce6f4789065c56f38f397feeaddd0784c8455c8eebac4a514adc342f3e01edf1381f6936bb4951ccb52b5651b81bd971a1894f070d83c99b0e94074a13fd13e21005f3a7a1e82aef0776a94d9c2913875831ee74e6c145f6eb013a6235b74b20a4331d7348ff5adc43e5a52de4840aa17f7d3f7a2951e5e620d2bf81f39f545689c49449b230ae474a182375667702a61120c039575b66a2f4967f0516f77977131cac74179b508affa3d1c341c8628261384c679824a987b74c558665976613d8d8fb0daf2a7efba72b7f5035290cea20ad151222ad67b33cdc817eceb172c5264fc5b48ad98755801d49180ee2d67fc0895d60482c070833dcc14f70b225d46f20a217c6f53cfb4857c584390e4bba5a43943cd9b562c69693300345000c23d9e3459dbee2b24bf41f9c286a2476fee0411fca394b22de2d35d502dbfc06da605f66b868ccb2b4e0ba89a650c6c3f5f8685aecdbfdb9684e88cbf47d1863e8ca122f08c28256a0de29b126b91df0d6bec17f9083829c0d6ee2e161dbcf90618763490c7fe60d12d9b73195bf467647741c965748aa9f5db8f041767eeed21c24e88e24903ffac0dd858bbdf8d1225a65af737b8ec08d4beb099e4c064694d28970e46d862c2f945dae0d0080676f0c502d9f89a98c3429e2ee6e35e78bfb9fe6ef470514dd25562a37672e1cad4d461777da15f50627c1e1e7d92f1c7ba38d1781b2cd25854656a0cddd1554efd999f02f262287b3161bbf4ec40a8e1fce0b556154a83997cdfec900f013c884c7b4bba70f927459166700633315042e737127ba43fa1ddb1693eeb35452635bf89ae4aceb2ec730a22f9d68510f4266d5010a835cef668e11f1ef6caeed238d1109d4a04099134f6de87621456efbe8f10df4018b6a304438644a85778d929d67bf9ec05d47ee32bbe7d3e786d9a959ca784fc5bfc15b9169f25789e6886a6be281fca5c8f9a1fb8a169449ae1f95c73da86abdadcdc319cfc7a7f92d9b64562e59050b5ef5b6d99d4f1f7617905058718d4c2db10bc0aa43b53f3167a293a81ff276a7683132ce90e7608a85b551f2af9e9ae8618f6530d11d232b75d7ac8c414d3541521655251c20783c8426094c6489f7906321abe934d8b4f341c4df11f562c35b58a0efc379cc584c82faf3103c94beaa79d1463f9c7b0cdc2597961ff78dbac11f25ee2b130657b0c9cbeb7bc8b36e1572ca3ee9cc256797a6a242fc8019228576a084c4f9221525a19e62c5deb17e98d923699ed8a64c3afb9f3bf3014ae8ee5521644be78b57ec1a3dd908d26574dcc25546af6ac22afc1304457f2eb4084455d457a0f73712136e8d907a1e05ae180b3ff053465457d9610ab587b50aeee6ca61319fdb3d4b3c0d53180a087f4d09c34c3861338309b961245be3f02b72d31cf310d74e0144f4a943a3f04420eb2cd51dd27d1fdf46abe61634e24252fef409f7d4baa8d053ad5da6f23de0e54d4fa996466c57c2f5e9ac97762d91cd69030015b4ff7ec0a9e80ea3d86621cf52f0041f40204815fc51e89938dfbcc45f328f6855c0e51cddd196374dedeb1a21e72a7b335662da8f87b4d3a9c35fb39d571098d43f186dd23dcce2ab8d05459408ac42f845447e63204b187c406e050e60ecc17ba96943ce4754503043e2bc4d1a2d09d0834c71c85f3de0898099912461289df1b51cac070ca316fb4b60287408273c09e44eefc6439da70214352207e5a05337dae9012813f6318528c49dfa40e1e0e0f660886dc4fb504de327e6abd8d35cc123638941b98ca6d5cc3888e3a77f97b3813874705a17c5c4271323f26f893868cd63499f17637fb12959731aa82b7b688cbf30064976b142677c3459b2cfc5428d55eea7cff1d86769e3189e257528a43e6e7cf59c0fa49d078d00ccaafdb0f9906a50cd7bc03fba790bb3e442f0e4003c053c288c356ff404b6a4225c49a664089431eb66439e110404edac7b48ef86bc5578767414a0200527fff8bb38d969a418582d7a0044ec43aa41cc585f6ef64172fe4b516897796d68587bf65aef890b3bb1a0f09319edd8fb43e4b33bfeea4e2b1b4f1ca4097b21c954a0d702ab1723aa9f0dfebc3f69d62813d27b4c707af004691e62a1f4bd558708663d500afcd93d2d4db8abd6f909501da8e807b5a53b46a788bda76ec5c72f84b8163e753aa05fc66916a84715aa0f9212307efa2f4adc18c1ca04f82359bf63ff7a24e7f0fe796f4832663bf368362eea905b5ed73457bac0a9292855c7a190fb21247bbee1e97b1ab5977ae0ebdf818749953989af9761245869ba2d42d4814f34027c24cb748000ce10489cc7eff440ec6b33cad14118f01dd5a80465b6891b5b8b2ff0949105182ce15df799df35f0a310f87b1bd15b4b2a64eb9a8aa54433c83c462366298447574bb462564b6e501103e75ccd899e81d514366e0e854c79059e6f047f19514c16dfd2470913ee53a04df7104e80cd81b259b0d77a6e5930de247dd92f79b102a61f34f557444028c1ef53829ec7cc175d78b10de67c781c3d7fdc19daabe9670e91447a14e10b161fb06d4fa8109a7571fd745204ea17fba0673556de22d0548e6475cf35e06b8e28a14bfddf3c0cd1d5de76503d8d33d0a7a52342179cb3d68b200aa5fd130829ad2def2be7281dda16c7f941aa0129707e906244a112149a822081f3c6b81c283f672174f09c5e2542660a0db50ef2f0e097ba6a5dd7a68362a201d2899327ffe6e1cbc29edf452f389ac4d9a993cfb5d5fa48e18ef334871659516af62efdcf6e9e132ebf98d3738c9f01c221ffa6eb72b32cb7b0a4ca2ea1e6a2179c47b2d8d9473473a11d459a91808f87da88eb484e0fe065e2a9a8ffe5b191fe085a491cbae21b41988692cdba16328c735c078eadd8935426c9d662a0e6fbb9d53610ebbfff401add3f232fb2f5a9fbaeade6266f1a0b26af865540f6a0d64361027f4893aa51fb9ca3cea837fee057393dd9708aa7f9516fd09fadeab95ac02df5deae0d5e31d3f35d841322f0c7be7c20560ae15c7e842a4eacae5557aad862a1033d1ec9102baa0c1a5d1b9ccd9921695278f30703b885ad1a854ef2a104b6d9c0538ba43d2776436ab02b08a78af53cc09964e46d63555485461269c7ceaa3297a0964f1e95deae10659b3555c03888babc2f88dc459a2595fff598674bc3cd9cd938515ffd5408d944c93836c70af02b10b47f03fdb4b6a9e638da293663593fba222cc39ec4cb2da767bd58b1771fb01a9d77a0aee8f96c22dfe5ba09b4c085e05d24cf0ef506ec00ead536846aadaf4339b2ac111eb01984b1493fedfac6a09191b24a136d3647aad83e216fa17bdd3c3a858804a13bef2e04b3624c9fee50acbb0c3667811da35e32c248ef6ba94b2343d4647c7fe76f81c79657e6924fb22de126b1f49cf54de545745495ace11ecdc8454fbf9377827c690d331ef5e4e75be11575809798f485147d0b6cd61388a712c931f73b0d4f0539088045301396c7ada9ce102ec5991aa572ee6e2058ea80b5af551deec3dae9214e2b9e8b46039168eed98e33fd7f8ff29e81400ab642acec522b3681a721a232e464255f2203bf19d4471c65e515b70c33e97df977b8f3e9cf71e2a633f8761b16d963d85ffa663c9788b792621f02103f22c380d380637f61bf0cc32cfb06f5e38221a70f4893441ce141b179c2fedf8f6767902ebd093091fae4fd796f37ad2afd98256cdfe72e43a48090e7e6f6746d8e9ed47d7896e77fd91b27d97722f6c16f6f338bd41472f289505f49bf47ee47babbe8bb5700d5ed3edea701f60f68debe985783fc2308148e00b35e5e2673aed714a500e8ef5a040c9395c3643e5282684bb4c595ca34f58070a25498c3d440696bac87a810e01656ceeaa95b55a85c45ee48843df299cbfcc539903ec92e2636c96dc8e2b085dc3942f4ef4e36d83fb7817e88b544aaf2075902fb623a6d34bbfa556327bf4f1e60ee82e1e3803fd5cb4e7d52f3c7c7de74d5b8a49003f1431a4bf7ffd2059b40c61b0beda1302898a8799495b56af413bb6fa5768103bcd1952afa603c8e41e0221871f90260674ff0bd0bc621ccbebff64a4ef89c324dd52f0cdaf0e0789157edc253ce0d82e2a54b0ffb47f012612c2cc027652925bbba399067dae656f149735fe1f9fa7ff92d5c5b1b86319c1585b47981f027996132bf66e5b1405b9cd3b9ad889dd5f0855fefce209d4352ca96a58ef463103630d43961c8762e02bd9d7c0ad579077a91cec1a4cefbde80ba680574af6daee07f9d1b73e9b615e980952d4a44976ce66443e4596c03384d6fab2bff56244e4d966094e8f68ce935bc25723a87f30ec72a9a8427d6da02306c6c4211081f27c72deff6ba96f87972b17e5c1408535475f60f94d2f5081efb329b4b27d25caea1647f609dd3aef4f830c30b6889aa1526721bbb42e43d0992a5b04d15d2cbd9a6079e52bcfedec2325cd60cf13b4b0d33f3ef36f971f664205f69eb9ed6f62deefcba93bce5d026e8328aac90a83c29e7f098eef5732261f5b7412a0c1d138e190aa3d0e768e8254c588bdf9522d50886bb1aab0aee07da9323c450b3a8f756e1e28573f4880fb422844c3e50c8448cf01455301b55b300f510fceb11169fd4029fbdeaa1644816598ef7988fecca932fa2d7289544e12577834d194aeff40dc5d0b02592c18bdf6383144267a109cf99cfd5f3beb30acd38d1970fb9fed829746f94166b1baabaf85281d23bbf32dc7f60148e8feb59884d4b786afcfddedf1a057dd88f0ed7dbf7c72791c6406a45ec96dd8607edf66d2505e3b432a7e627829f9717ea1cba9d9714e6700bb24faaa022ad92d53f9834bbe9d7c092f3065babba84a0f00d93a6e6393a1246b873a93190225e8d01f130f0660fab562a2699c73e56cb26e58cf441b4492982b5c82bd8fecdfeb1d05ff58d85e58e841e09205a168fa421fec11725452767a7472d446a2cd381d100b1e1ed76d2b6fec3f16d3e49dbcca5bc457426d6bb4bdbb1a1fc87c569e87f1be3931e16395f710e776cfa491cea9302450c38bd568df1b7ea21ca4b57d23e8fd8becf1442680dc6546ce2157c9e23f044129bb0a6494de70a183dd26bc602d3066b534cda75bb414d0fe70cc70739dd977d361b5d8a347f7f7e48ba194dcd0db78c2d08bad79aa79d813a7e5dc51b27baa4bee2d0cac5711cbf995a9fb56e88d718c36363345cef47fa6fbad420fd1f11646945f0aefdd345f2543f832988594370095babdb088751e244fec81c6bd5112ed131b633e2549cc6a09c011bcd9c67a7ee9d0a171c1c380ae539ef2b6671521d55b127959cfa285433d394653fee11e80f4c04892742a5db8e51cc1843a0dcbe0ce7e75f60754fdacd935610318decd37cef98f33d29e42e0b0f15d561eb9814ff3a77e55b1090f52fa7286e44f3f26e4e05cbea30e1c667f2fe6411f78357449a4299f863ab3a333ac749cf79f74cebff7e54d958cb7a03031a7e0538c60ab6442873cd63bcbc68432c49274e76fe37e0bc2706c713c2a8518b12523993e29362d0ff50544bcbbcb0049dc005b8575ab11a01f8c447a1c2fd0687a6100b54c41cbb9fc8e030a6a47823bb34ecc8d012f7850d3c0826e8ae3ac99c25e67b3cdea9968ab8ec46c35c7d2946f2027af73666d1b3698cf201510213c584621fed127bcfeabe9d990ba4892be4bb9868d31b0f7293fc50af8c427101d4a54613b8a85e6eb5c2d88b2f2a6055c7b05db52176a4b8e5c7d24cec3d0216f08f8c35bc19c9fb11e702502924dc91555439a0ca16f05244abff173c6c30b4fdcbd5638c0db9ea9aad29cef86582cd7bf154b4dfbea38eae15e7a2b65669c26431cbd932d9056034415d49c7ec14d4909b0b6aa1c4fe78d7e894b77286cc065c608097d317b7b5560c7fe5a26135d02a5ad69c39806eec10ff5927489dbe8e9aaab4a857bbdf4de05e95261824a61429b44438dadfd232a9d62cea04db129e11d469437d142a3b0d3ab0e881deda831085f7878227931f2266f3b2832fb4949c8bae41107a7d418e33c4ab63667a16775b26c2314f67fa3f791c412a0fe35cea69d2ad60d696ef3a1a799ae0adeb73f2b3f1b8a09d1e37d43ac436c4fd3eebb569936968e7181c20d9d38452e1ffaaca291118d44578c41e30e229937445cefc8a2d1c99ce7ae756024818a3a14e420fc9900b39522394d6a7e4ac627e1816792d522251cdc248b6515bc1964c3532ff0dc38e6eb03ac1e5d1f8e6019668db30bf1c5e9aa2b893f716dd46f26bb8c4c2582b66ecef3c177d7998d92e03a61f7dadeaee0204c0108b8c0c7e18e1393f2becae5f6437a1ac26490d77696315a2f3e6a0dfa59766d2675f59e88ad9c271b46d81981b2537fb6ceb5550b8d74a4d86b26315a2a55d5b6fc9c8c32a72a8aff37e6692d1f5b9669c9c6537a6485e9f3e357455925f2174050c6c59c3fdf48c22bb5b66b558ba2344a7650fa526dfbfed7dfb5a4a317eb7ad9d6e94839abdbcd511983038e5debee62f94c8e99435ec86411ecec395a06752855a40bce81c01962de0fbe51fb8b4ed93376ac96dd1e93a7980ea34929b6f6fe202485e27c19a02f9033db42a72835e8646472108f340d3376d0fece2ed4f003c276d10a839731b46d97dd921d4901861578362eb2d0eb49def5144911538df6c99cf610113d712d7a7bfcf628243dbd2a24c0b9876fdb2fec2329b2fda4f66dd8f49d5acebcce55e4b855bea12dc6d2bf2cd112740f041d765ea2605dfa81f1e3bc37d7d041ddacb3acd67481a544ea680f68e32f807f1f732941b1145927670a0957d5fd2a78a80f092d289a9d79b4dd74880cabbd6d838a26c40ca012c045be44f9561c90a4f6b9ff1bc62039cd07623db22e7df64a34c826031acebe8d2991a41adfd449f9f1b4fa95de9416c54abf7b71900542d0f78787f53dd9c9cf0fdf343ed001af9432f4ccd7d45c0f45749a4a49e39f6bc441769f5b348ec8659ab6b50835ab6378b3c1faca2b09e5d4f78a6263cd7ed9e948ef8bfa05e90bfa90ec2038eb6ab9b3b812065677e33f41d332ce915ff2d93782003b62f0a701d447db23b4f2c6cc0464dfe8e5cdef9f59aba8930a87f8ac147ea1d274d793144a96ce7b9bac56094f972a479d3fdbe817a168e982fb1602018ef2f09bbd698be3bf6dfa3bcc0dbddad094c5d7c14f8319b231631da4bb48d75f64e84c0d944579d9d38536a52c2a71a6829a36e7ca19f59a9249003f1b1f271e7fe64423a0246b8c075f504cebfb1ad9d4295bb692b7e4b0b5391669ed882ebf40d349573043534d67b94cd862ba7a5ab7ea70d06a5c8623ebb57aa2fff5673ef3f65537342ab61c1758e967f48dc6317ce18dfa5b8dab9cd4093c31fed73ac5d192039ffdb60d7922172d7079338da769599735bb07032454f0c485d736439b8d6ef6b08f923e32cccaae2f92477f23ca1cf00c9b796059bd6765ba145b6e8bf0cbeb93478c988146c83ec7c29e6cf82fffe8582a90f1272f4ad5d30a5a945f45fd62819b35b64d882ebec5941e9fc5b8475a1cae52b659f67a512759c8f8891a36f9a1bd4de476b0e4dfb04d7763be813044e3a3c56bd9823fc808fd5a0aa60bd6c0c8b18e916b73020c39e194f027a0cd5bed67ac80b59a4727e11e1efd6866da66a4a0b04995d8d539854f40d649c354f30b9be5ccf3fc388e05f08aa49334f678b1a7c4e66947cab1115a2cadfe0ad67dca73041c5b64690846841a9bc55f9a7cbb9330bd8aba8931a7231dbf06698aa637fd53df0cbbb1dd9b5f7055f0d94ef8f1d8de7d680e97673c8af7e45b752232bb35facf4bdbe44da3af87d01d0cf46bbec8c0bda2cab04f76e3f0099e809cd327c7ad46d11c5a88890846d1debf6d5ab4781a6f87998bff2f7a92f912da8e4627491a8f4f9285895148f90afbac8f3bbfd2900b069b8062412a213ad1eb718f9afbeab5139377fba3c4d7281c052e58135b55f263778f0cc26ff57c72944f71bab25e951d491e796cfbc5def508af9109754838243599c6b60ad5c2bce78dfa6cbae28b312d930f84eaa22fc39502348f4ca2f9ea343ee75baf9ce781f0996acc8dbba40f528c44507cc840a10ed8de5a4fc1f1ad2b75545e894360b184629258e38337ba261884fecbe25be65034f1d14d2c298f290b56ab2965897007b89f0037270c88a2397e82a40f2115b20627b49496edffa87b3cef040f47058b7a75515f10ed8f5d567bf5b0fc400f212c5a6980b0f85579bf4f5ca9ed6922179ca97522870c971f415508b1303ac5598ef40bbf40ee0fdefddb91f0ebb68c736193934fbf745b52e4047d880744cf540b7a4cb4727cc96b4a82f5b393d76a7d543a48c968d7d76e965b3bbde0fab7175b24d924abc99ba7be6c8c95b195f52180d0b4f0ad92e244adad2b4d9aa916672986de1d62165cccb115d6599991e6371a30bb5a5bbf4a66add1aec5d9017341ccc42fab9d6ff11a9ff1f89eca7597d165fe7b0e75eea06ada2acc7674abadeb284034281ab5a54b604dfd95e1070932927df67ba82c7525cab89ff700246bfe78346c6351fa516b0cd10117cc3a22c1bdc9be29258a1e8afee28c99650563b19cf1a502db87538338df54898dc62b7f918decdecbde0c2a5597aefa5813eb714175a9a22ee41502f272123beb3260300f0ea805be1b3eeef4fae0669c3bdf6072e354f373c03b4ea63d62d9daa6fdf230269155f4915a051b6770d2366770214a437f3148effda0c4bd72d6e317e133d198196f4d65c63b9e8fd4bf9bf8219317974f8d3c81f95dc48232c118f7f5dbb8006048446d10556bc6353a511f67bb142aa3ef78f28114f0b3c8d96a07f1998cf544ba1ad8cf70af387660db130803ab58362529c0efbf652a06513073d2e95db4d5a94dcc0e376bb934d1129362ab0bbc2393500621411d5fa04d757cb084fd7fc66d609627c16aba91e0fc6e69e70ef95e4870c42764ef532c16e6541794296218991a569a1d4ef82816ae67eb3b74e1597bb283bf74a20b5b08e37087d15fad228102d4a32471938342ef3e13316d8257273fbabfef6de42a95106a3d4295a461300cfa801ce9d4b1ca3ac51a1aee6531c7fcb8d5946b2b10e541b28414e50e32756deeccb55344b01cb6456abe17a56e439d3b8c0beece2860568297069458ef731bc25f38a5f91471d87da0787244bc1eaa115ed42176c2c7b037f3e4ea4a1834088313597cf291a46547e2f7ce86781d597b59e1317a6089485c6ce9413ef9a517cb7ace275b34385868a194167a14044b301fce44d6fd7dbc0eea8661fb52128e132f5fcf2c64191b99081852f64f3ca6fbec8832b0daff0ef2e263a36d2aabef2ced5e8f5581fa4a38cba9bf60a1791f50b8854683a37bc20f331c1b8c8dba3b7fece60250fc42593954c94638712be8accc84ea1cacea7e2fd272e048acb8817809434b723d5d02f3644e71031790401a81479304479c58629a9a9dee9f5c6be137aa47341f9aa58b86b53993ff6cb90d97ac56f51838c2e3023a95ceaedf1627462ff37b226ae1401a6f6716bc77439ab81ad2e0770be2930b0dac3e46a4bc4a8f13d8de2f3113f4e4fa040dd191cdd69e9a17957c37fb96227d56b57d4e4621276f5c01636a0fc2b1cd8aa9a536ec3139ae6f045f2e9ec82fb17d1a276eacd9d9c75bfb9658e9de37c65d557095e5e68a6146a51ef8bcdbbe525928d87657ec84a4ebc4fbe98532751d348e9b26f64d7c110879caaaa17cd35f82a8bf90774d139d083290c3ff51f2517dc88debab521ebbda785a32d530c1efec0c727b797db6fe733065839c09089726307bb4b93708aafc665cc89b47a86e6a321aa2edfb2ed96d6d0a61004c001c6780a4dccf52da3a4623f6c2eb55d63646c0a1dec50036d4bd6f89920286c56d52e8902229faee5198a4566568b557380242ba51080fb082a6c91948f33d2fb2145bb45c1fce79fe2064c2f57cc4acaf837da4e85ec745e67c085578a8eaa02df32b3ca362e61c38e5d263b6d7b54424dbeed921fb03832da7ca129a545aea86ee63a573d500df32fc932fef6974a4fc9457e2da7ef4b798d7e4b3d841849da903e57990e9b768abbfb3c1f2bb6c66b715d7e60e80fbeb7f41c7cff3cbcd03c5d3935731bfd7345c5b035f3e9e7d8713e5daa89cdfb63d4727712f73e659eb84df26ea97f6179a6ae1eaa945ebe89bfcd58fee1b1d0d2d55e9a7df4464891ce607843844c006f77bc7be49a1bef4c8852f1177a5fa35f78131259a58cf6ed49519e4c3cbcda15315094f3c3689d2dcb8f59caf0ce8ad57103c3d789173c8f1a71a0ba99fc2d25a271324092e94e460a207675c874bd175fa5b5290e7a533e085d268474ff3159dd0489965379ca7e27c0bdea1f23c78852d225ee174fd30cff8811421a39be4be6e896f5d4ca338af687114de95222b577fe7bd4b75056debc724f9c5660b8d2b16c7314368893e8bb241f45342e54a7ced1ae2aed0e8c2f4bad9130952a3cf08e300caada90066be187e2dbdd2a669f484106d094cbd968a8df8cf6129aa060f05746b3bede526bc458eddafb02c04d40664248cd1981f03175ce75d84de035d4263fc6ca20e715c4ebfd4f762def97b55ccb1ba1fc0efbc5493054f64af293e804aaa560952ca09c20758067cc176e5176bf0b3dbac1e84a6be28dfee13e422ef0499b156b86647df9074b50879970bc0a2780e4f7ee859fc9c54fb3e5c472acb86f4f7f95b9c15307ee83d2253e186200c7ea2c115ad5394b908e2de0cc8fdff4e309a3397edda37e8ad68162431ce0ca821446967b5064488fbba4504ac199d1d90e70e2421ffa075788e9182122e49e63f2dcca8839c31bc8ed4102cf4dfa0d95939e20324c87851dbb4d356fee8b3f871bc409c5c5a67f5a890e5c2d0be1c8a0024635287d29e125886cb507bdf714e9313d499708c11bd41bc18e723cebf273971dcd0e87317920e4a0f5eb50496bd2b261f9639c62c8d1dab24fd55d1eb7ddffd0bf721208a9036ab78fbf77550d28a499385a912d8daaf6088170a38c6676b2cb25dc22347e58e36e61ce764c170cdf180e16fe5565864438fa5cba2ce3ac0ac010aec8c2a3cb6e54a6ddd04f22020eeaa791b88ea5fe8fb6aeb026ff40313a9460d59f70a421e0137e6c74883d356fac2818e98636fc7cc75d66665670043b9f3dba83dc10783d22d301d812fbd93d7cd21261f0d64004dbd8793eb036a7214e86882c57a4ba217f673a5839957197dcdec03a63c50c15177137f01514013702f5f8f5995f9c31f0d43ae6ec3bbc338693a9545e68378b2b6159cf8e9d8183dc356fc69d28e418942c0e79570f9c0a8d6cda7b0878169bd7ed2eb278e81074155aca59c59975e58536e08947cb7dce0b6029a9375852e4df7593b82459a9959f504f5a27ba2d0c5f6646f5194d390b61ee10b57249bd36c96e03101bea71b6d95e40992f6bd9d17db9f31e630b35fa304431a6c82422865c9ce63523ee679d4ed9bf05ec631b6284bfdd0ff0dc60f2b8a68b93a1a9590790773f15820f35066e6cbf6b4bf99e64406137f92eb16faf2e5a58ba17b40feee8f214ffc138a41f093896ed54215169d6a36e7f55582af7f80a02de306d664f8d1add5ef48cbd36e75e3b4294b89ea2c06a43f6827b0c29d6b9d3530321ee928e8a98c677750480247b730f505959aa540af9bd1af2b6cd66b6467f899e516f2136e0c30df37a4679d78c9d341a3ab82891cc6c0149261fb7b59fbf00b50559bec4049a179c07eeef91aea0896d372e2ee2039bf5e45265e7882b8554a4bed011e138837ceac2dd909939d2232fc1ea6a5efed47a35149db6865e0d38d7325695754028fe81e5a04e88cf650b6a0049b8f8b657b81a2f718187e38e5f044999b18a2d2265d241088334cd55f3dfde5932e675548aa0d67381e06a3fe242becb62988e6dce94e278c813696fc32192ae99e214dd87dc21c425f7a11dc27e53c332c6a28cfaab2e9ffd5fbb035dde5d8ec2858bbf81cb1e01abadedc47e43295f8b00d8d5ab28d1221a76dac7f8ee11fad8726d73b70f4815f3d0cbe66c74f7e92e4ec5032c9ac39ba4aa2f23000d87ee70e0dfba7e44b6d9250a96831f5975addc0650bb4b046ae4d906205a2ae62d1732703aa0e147bddfbd1a7d202f02e743d57bffc49a387915dd8f1b3fcabd8b37fb089de82fc5339075fdaa69b6f2de3132e5b282f65fb357023a69bdb306cbf4ecf04ec3eaec60772be5e5c92bfc08abe6eef0d8b9c1fef2ac1e83b386fd21117f09f0d9e0541577f635d58d535b82ec4e09701472c2ab4d136cdf3ac13adfc2606535ed656926be40c389038c6640ba48f860e84705055d56108ea78f210c6133836d6a12ecb40dd325d1d7e6762b2966787d03898a6829bc5d9a7521787edd4cbc83bdd2462ce0ff8083c9df9d1505fea6aa7b852c419bbaf36e1840794091d903f01408e9ed6489fd75e4a3d5a54381dbb891a92d705132c5892f2092f7ce79dfe165c10aaaf3304e023b277fb2b0316d355d5561f9822d727703b584ff9bbc7e50c46ccc7e508c6b6c718e4496d04ef913eb2b728fde763e1ab24385bdfb1ad31917eab7431fd78ba96c589843e1f3841a20741d392a6493de6a387aa76b1d52cd8c614c1da0affbe928b31c0eb623fb6047e9c7a6db748f8c1acfbbb68ce991c98724e3548da0d67a85453f855a96ad8e852c8c0db2901b841b02a7ec3f874234f4505eef8772361a27afe4883341d9904817739cb6fa2a254379aa069d23b36ffac7f51d66723e0dc3d407fdfbfb92f0746bfa7d44cc08416d590d5b13a80e7183e896969a8f08d20be743eb9e3aa46ed4c39219b108871f11366afb7c83800c56dc7efea8c9266662abca7e53783352f078ae0e73d140a7cfece32c30f668885177144851055cafd3886c90e8b001504d001eccd9bdf9700852f03f4ff0afaf64daab164f5a8b15abfa5fc86e7052cd5629fb4054da164fabf9c9607607f5f017901acd7f005cbad087152342d971a00a27c65eae123777671edd0c8b2599dfe27cdc8604572fdff694cd3f6364a49b357f50c429cb557827de4be0b5c7420dc90283375136a8c9b136b9af90db1a5d7bd05af6d2e0431711c9ed6b0774ab3588471dce31bec0dd822424e5c028535375fb8125dc0d41200ed16bedbb044a647ffe19f8375ab7a985b669ffe2682002ea73eb0284482824949cf31020ebabe48dc53902f058d82a9f60431d89eff1b8a620674fcf4595bf60bb8add71c0a52974a71afc77885f996cc0a94d22759705b1e016557579b9f5e1f9745e790d32d72cf06bb81b9450116f2355b1399704a13d2d63dc116a46526a5d2e63feff159be7f4c8d63d52274c709dca37cc5b2bf4f64c4dd45fe1a8f5823ef190f01d230cbcc438942bc736fba7eea6032d5c05b9f08e3aecd6cf3bbacd3e7ab2218ede36217bd5879b95b98e3d51321e68e3f62bd80d654ab370f29d280021f81c3149ed75fea395aa611c9ea3563cf6526d915c79de9903153a523eb4c7ed1787e44e6c9983bf05fb0269bd49869c6cf47c3c6f1cac50ce2fa13b5c413bb4e8409749effa000f9719e0ae62de48b369d83e0f4e31d6488d84c759eff8ef0ecd27abe3f9bbd3862057b2f3b7df163503b49bc0ff2e56a055321adf314272a0b5dc8c84ef6529ce93e7a3a67ecdd6060d637d3f36a15b60c3fc6b4889444706a173212d840c40e35d681cbbc615a46e9b960a59e84b87ddc26eababe567b3ddca5d143b3f23dc84286226c80110a7c7fdc57430286da1cc7ba7c4015dc17c8ed295caf545ab8d4311a36ae4456b10db37f1748e87b2d84883cc2beb97eea0bf6c4bbca966bdf7be5a26a6399c5fa3010f0e37fd6ce08e846370670af5d6cd68e57024b28631df3783c452dc09e4cfd64e1ac0e98d4ece40dcf765975e5e688425f51f57b25fc195c09d92b3db2a14b2d7f0f5ec7ca9a782dc16a2a868128e969b905bea585798d4caa9d388e152fa64536019e7c751e3dd9cd2d5ceb3e76673e1bc9b7e379bef41bfe38313af11ea0f74c9534e177431e45c085a31196d1adee40ed47c9bdc84270b84706333ffc3ea10f000217912b4e76587a21a472932bf99141d428aa7fe6fe23967dfdb1bf416b18985dfc7de356700f49d2c79693ce6c5e0c8ebe96c6759dc929c71c33b17e5f67fb5eedad970f6c57fb2e6675fe9dffa372691b7cd8dba668b36f181d0c0278355c3fa13c0ce20cff5dcacdf307b9a04fb44819b4b3a738de7ca1bdfca37e88ee261ef2b21cd5838e93cdff6ae62963dd903189eea986de53c26c55018141c01693c40bffc39bc96dbc3ab9e3adfa1496f78c415d632e37a2243e7cc5d2296c79a7c7f2c7433ef06adcdaa56152df732f22f6a45a6a79ac81ee2745403eb03616b87c2f970dde2979a33bee8b8d2b9118e1ea0112373f63fd99bcda577791b593fed5656b11d46d3c282232b7e06e01a14c1e27bed9b78a5ac4ed782e29b0650cb2819e7b5f4c1d288d9f5a1052b775e09a074be160a6e520387afc973b926e53d6a48c2c4e8ad86fb3abe1e30ad3a4f67cd0f7d4531d05524e9eb65e9a52fe911bd43571c8882e9ae0959230a804bca638cf7c56400032ea4b7520da674f565e21678c12394392a3fe914c4b30e97c0de44df655d1c69b46f83123ff9f1fb42ef0f100a55607046cb557ec9f12e102515714fc29eb8dc45ef9f7a92ca1cc0a4e8370477afe5a5fa42a0222d40efd1a77de7ad3b7b8f199cb3934e56ffefa10e81ee51d0733934d88091dfabd07339be5134bf353e637fa9ddb884da7024449e3628848aabaa5e1848e163fddb1ec2ddd8162ff0e675d943b64ca984f437694f0ca35153f09ecf624210f8f7aa2dd5933061b926378bd6de1e61a6e57ffbdba8fb2770f7c687912a81272b06064a7f971e38b03a628f20631a885b3415461539d22610fcbac89372fea09f6fcd7642c3c64e79ba5debcf8ce12dee60442d2327a1551ef391f53915b6fc7977585026bbe373aee2bb39e487f680101f77ea2178bfa0bd1f2acbd0827098b0bcb2cdc973a744380a23dccccdf9090106a397e14f58ba2638dac52b6e43ea87ec10a29a89627153d60deb4b5c3a4e8af332ad5dd736f921f8752aec95a97ed29a76b4e20c8e33634d3a7b390a0025d080df2632f77ea78a06fa6d1f33e05d5249408d8c404c08af26a9ce70772997c7368a3bf890f57636b3a3a24ffb22423653fab86a595b902748b165b08a5c28b7fb1bf4c0e834b857d38e13f68f26b8e4b93eda9807f50dd35b0e8666a8329ccbc6a49765aca2e785011b7004e9cfd86985412ad462e2a54010b4f306abd10260918d2335bdec5fad6c6277d8a785126b56c7b885d2dd17757bf703a4b13e1dff461f2eaa3a7774295b25ca9ba29cd79f7203fc0f6b0a864b01dc9e2a28de5565021275bbfcc7e5438cfd15cea913053acc3f3bb1d1697e07a4c8b02b1685e4cef53591919ce875d17d302188d47c4a1a8f38d9865b3162623146ef85893e697ed26600be6f3b60a3c0a2a2daf3f6a739807ebe44076c521d4d733c431a8827ed58759f27cfd240f90564098b57a57dbf2ef91afbc1b48918606329000201539f7a892092d19c841f663732f8939791246408f2ab3615d5c62146fdc06180a7503d48f55e8410aaf08dd2627627029e4666b1aec01af04e678b426ebb5767bb391ea33d2a82fb7efbd26192b97e24c898c48ac8324a9566195abc31d09cf761f781116cbddb9c4a5021665f8403aa68c0fba974c109fc688878938e1de98f80032344f9ece91cc8c30fb9d0c6151aa5a8a2f655b3189692d083f0f2dd40f9414ce99ebaa49c21e157d3c1809688e6b619bc1ea5f5c22efadf1e47dfb5397f65f9bb7245e31e17fb4212cb89646ad0576ee8594086aaeacf7563005eb0c7c22232733f47ce597b90dde4df32f384d8b5b277d71714dcccff3b09e1ae6a3c6c8fcc3b39211e025ebaf856056e4e59ef91db372cd196594528d03214e44803e3a74a14756c5054ef753beb00a75fc9901122c8361ca47e1770f521a9f9c223059a37ca90879d4e6db364a32b9c118d0119686a3d65fff4fba63e3733cca7debe7d9091107cce1e704ca2c4c529c65c7ccb60338d30063f87f49bc1024779a983eb119f9e7b9da9f93c33754afc511d58045e86c9b51ac057bd615f6a8ce784482fc0d9139339b38af07391b5765283d3046b65453edf5b769aaee068276c17962d3006b463eda05ffcd745947f586b9d35482827cb11242e021bf9d053991cbc52faa34fe249d630a78d8cac096b6aadf770be9a099312bfce3b7ecf58a52bcd5e24f2fdc117d97e71239d39183e15430a97b420e79b38ef3695df1420d74e658727f00a03ac095ae2a3943c0e41e47091b31d12f171a2137568b55b2e7803af0e07a2611ae087098daa029cba158e9570440cc1f7bc4e2951d03e0dd526e8ddbdf275a5a397eef67715219b3f0437d4b118df778b01b94c3f03e6dd094af027206738e72eda533ddbce0e4aeba30442017c76cace20cdf7c0ba2b7d23be8b4f4a6e691091a4245fbc65b26b6b50e2a4ff4477557459be9d8586bb545f2350e92ef6855f596820b14504e0406e28ca9e9ca245d779a10d5c650a63756913aff5c539bf0f764919fb08b14cbe42ef1f4900115b41b340d7ca638307006a2cf06917dfa8d313c3eaf90c593b1ab7aff06c6bc8ec2a7f21e608110a56a4a04fbcfb0b75091c8c5184323b72ed8e57b2bf9ca272075c34f66a3f9ca02c6b78e2f3282bad59934a74170ba154d2975a02479f847b1108f7a4178de20b9da3cc85931cd9c83188a5c1242bde8a347d6c85627a068382b1c894299a906312edf6dc9984e262af8fb123c86092c98ed58e33b9ac37e49b1adeaadab839acc7feb1810f458f4d3d8ed4a1ecbe206f2613c3da69a62e2eb653154e429ab15b41a437c3cdea69db1e476a062d9ebfbdb7a0aade7dc2250c95912ec3d34f1bbe432c63cb1af2c72426b5fd0925748fc0f593414135e18fee07c9c9faab8fafed26c68f43e23235987ac91649b8363d63f1415ad9aff7b049492cee4c9d7ea617c148d61e2c4ec9818cbe7c581be6d7d1cc9b7f01bd6e2421e1f08e35eb70ca4833e30f496a00b0b0e70455e1a840edbdb8b47cc52107c31eeb588c1421799eae23f51ab2615d6439b5c923e9c7fc99abcd1aae373ccc71b8b6c88fe27fe732cfc8bb8ea499b73e47f389ad5309bc6c62eabf7d774fa92e270ed7c8790036c6ac2d3128604013522a0377f3e3917f9244aa1a80dc77bc00d112d172a753b5689becc3dd99e6abf804efffd57e76f5a340329b7ade7d1a36f1c32df7c91b1c4b78089f819912630c2de1095335db84f9745417cf6f056f25679904b539352142287b2a18dd5831837ba5cb1b3fbf95624f14b392ee33f43c8618bdfd69128f129ad49aaa38d285ef4628d883ae8a38060f105f2a2643478c4d249f32f6293e6db892a4b47a5dff46ffdca84be121fca087713583cd39e4b6aef4f999e35e349d369011ac4364dbc68e6ac93d7031f5f76f88252a6d6242d8c9a5150e11cbff18f5adbff8c569ece10d07870f9e1b6d131adcdad92484a3247f9fe8fbe00358c1d611958f4463a3341dc645df352867b9313136fef05580d26aa5d3332487852d61c1d8f0f9d736e7eee7ca0b0a909851fa9cb378b7f4d3de8b8c1e5df6523d61cd37709d40feebe72596a81b30b671e59e782158c9d1b7a34ad7a625977f3cb2ff5cc9148bf4c7bd04ba22318f25a6dd311af07c65ee590962f0adf42cf9cbb9b3f8aa849693cc54c2bef30415e34fd8df482ff2564b7be1f60b42cf504699a4ca0e4d53b9c41c22e62b335d82f62047add1e2d3ff8861fe2b9a481cc1d9a4bfc846d82aa987f88075719412e830f0cde9d970cacb24a947d036fd2f26b0e5a512bfb258aff18a57c0cc5491fc1f67fdc9a2e98ee7cdf6c62970dfe5b6677023c9bf5be686b34ab9695d48cd33a19cdd60806cfc502f10e575cfa49a74a0e81eda44ed1a6c291df0b73be0be45df8f02ff050189c2b30e758320fedb6b20e079b327553f671bf397af24ad3621074e52f829fb12160be9964ffb3c732a850edd34ef25912c3de11b79de18b73b826e03cd1c4feefb61c441a8fee301c00c2a215c76b719a21fb3f56bb41011fd491acee96dca678b52088b33e88f49c526dbea934b697dd7a529cf69d0f8b3649dd396e04dd20ac1edb22b9eaa573528c5f9dda0dc188ac1d29611bcd39f8955be2e70725a20b9913ebb7417f5674378e24132ed3264a00d711ba58085025253c03f916f2adbc8b38ad242852902ea94acf6b25df5fb540f90c9199c40e6f8492144ca235145b1045db1d0f35376a68b7884e603c3828d2fa0a14e2d6a4f9e15db2741b0a468d295303f7e91508fb8ae425d7b93e821dfd2c861520766bb86a68d7665b5dca62eb5db3dc9a03e5b92c89759916376a2855637f886ecd7969a876b68c3833d5606c0b2b5c6df611db1900a6ba2df289efed8bbe32e92270ac4a1ebf506799a9b398007cb78551bc3e5efa1f46590f61fde578cbdeb322a22b8706285d9c8432732da035c0f0c58a97f044d03423a0c204fbaad2b1b73fc3fa942df591d0efa44d32b69882c3ebcfad663dca1ddf16ac61edc730c08414583ba91fc93431f72993e79d5446a5b75c7dec4b57ada28641bd198a920a4cbc70f2212476d4f8a34c69d3898254c9f694b073fa70db4002fc6e77e4907d9bc08494fede3e165aa1651b605da70903dd2c092c4b6b08333e1af5524f94c75e5a8847fdf28af102be72bf7b0f9faace22d09c8e7a0ff1aec5bb17e70017a53dc6a848bcdb2aaaf76cff628b986c41d5eaa399ec05039102678b13983a49afd494946c0e4ab6c9b699b8c9fc27b15e5fe61b6e8705f99f4bdcff6cf1d5ff482ff39e6f8a5a974c095963a5143fcc3eb8546942ee41d57286ca2cf259825d47bb734662a2f4491328df60b36f754a5d46a1c7908b0c06c6ccf5a15a31fd45d59a9c0d71ac0949cc55ece0af43ca5d8c092575b168b01998ae40c1ac555147e0b72ba187ac6bd0f85ff1e54c80d23cac8d465227a7dfaf7888e707657de67cf12a236abde9ceffc09ce79fe40eb9d89b169ec847a1d9f6bcfe4061e8d979957163a7cabbc7dae3403038b44ba540a7288833106665aed25d5f0a5847ef9405ec9cd8d1df656abed3f93eeaeec9a38cc70a2dab290ad60f7f7f1c7458cf1e0fac86cc29f45834b5b35a579a737191dbe5c3c1aa44b7a585c94a924697199bea9ab9dd3a68c957120bf10b0479bcb767f79d159691051521212cb730042291b5802d76cbe025330798813eaa970a785adc6f2480a34321c0aef15966bf750a0a3644acb72405ffa8a7eba5ef31eaff62b159d95d22804f22b8537c28c0839bda1e5ae722d5c3140831a57aaf05b0f34cf4d8ec77f5286af7c6d0ae95f346bc15b6b3af09fd184e5e6ceabae46aa0a240b65066371c144e172ac33dfe91ae3754c416736d9842f64f48eb32ac3472a7bd7608310c1d28a42ef66f0fcb693d8d5a9ca56e522a7ba3926523d621afd9f9d201662e1b761fecbf2e310111e87752786c9f46b442055e8a69e8b93c44180297a3ec2de95eee5e5094878ab0e8af759e7bd1ba4a7f7b9a546fc9b7dc549907ebd2d0f1ab7e2abfd6ed891afe40941f5d41aa8742f5c610d4eaa5d255c7ae93446132c88d991df90392e8a04eaed5c566dcd32e1baf179fff5c9042fe4db4a4092a5cacd82fc6d1c7d93e39f5b6780a75f197af947722da89ce1744346f72de67ebe252f98ab323d77a5a813a3eb99dadcbcee7a1fb1fd84326131c9433d421409798de9ed884eea487a3c8a97558e5b9a0697c0f3713d3f009180109a638b1a03050e13cdfb7017b04e2b0c229b72a2102e718ab77df4a0c9603e29190a1a77dd42d6f36f11214144af23449fe74f2e0145c1892f02f6ec5d65299fc04d4ece9346a3da841835e5af67e6e133f178dea354f0a29ac54910cc8a18582d81565821735b44a70bc16ff9e6aec13d047ada2b970c5d2655c363dcb2590a0e37a97e34b9c733ab509f265d4f5f3d21b90a06bd6dd0fda750bebe02473caa2a5a5dc7f1b6587257482bd683d294ba25a8abac6686f03a5a9dbfea0ffbe7ae45afe90b6e51e8c2d568f5d0a031abb79284e63ccfc1129e8ea06bd644b9c4553e98a4e1066adcf67c7f9480891321bedf01d4464b28033f9a07c3ba4718e326e5038249d33f61f8038b208cf39d497e0142730bd7d96e65c0403d4fa0a377799b0a8961e4cdb5590e2c954bef0f060953f88fd6e3978debf1c68f4ade213ce54127422b89db9977760ea3478d0dfa44af83d7d187f8ae0dd212a903b3233b13629fc28ef61b473de6320b17c2adca1b5875b0c5016d827d681badc93a8726328085b20a39f5672602afcb31d00c8a82c6a83182f0773cbe49e9153312bcd7bc795c3a3a3ac09b94a897836c8a613c32cba64dc20287f7ef8c25cb29c6852b60bfb6ca06dac93ac1d2b049b5f2553abb900814328b98ddec133125b889227ebb2b6d25d056af34d1d4ef6877fc255a5f062d9caa4005444176761656fd931c6a98c4cd293e4871b5182ed3abbc8ff3d039cb4aeaa178c5993bf2cec5def9bb7307e552e766c64b6c6b39e327aaf3ab4ef112888c162e72723728dcd2b840fa3f33b21aeda9a4e475a4227dd10e1ead0cf7e8be2a1078ec5e3b8f730f446df26700e1dfb3982c7b6bda2036dea0e9820ca6f295a03a445f96340cf4f0f2558f02b56a87b787bdfb21f200514ef52a25f4036ba7545647df29f5afb7a1e852958cd9b6b5fdcbd9c74c393471cf71eec9aa81bb17829f6c228450067b0e7743ac54a56fe3b3007e5fc6beddf53f6abb68e00f5d67735791b330fbb351becb786dfeb58a2bd55f7f1e4ac1e0db41619651d580dd50506f365983be7e2e04f04bed39128ba3ddd7c891016fc8703748b9bcb83cbd6526be2b506cbe6b91c96819a492111147c6f1095fc49576170687815155361135ed6b5fe7de85a84f2ff84884e108f73320c486cac64f89ef8860a1b94be45c2c53f87d09f8c755a24166ab0f623aca23fb0770b0f1f6144299dde93ccc1bec54ff7bc0c3be6030b3322a24cb252358707dcff85618bbe0e54f63d48aabefbf3a2fbd9618296b95889ebd9f5913da437bdc25a421efcafb081ab6d2ec79e72e4f72e9c4f08d581fffdac2681907f594ee04116178becd5b89808ee3c838b8c4c37de04c7617871661af2fa15310f47cf65a3073bdafbd5eeb627692986ce77432465d6a5588fc1674cb5dcab512ef231f63aa996945257ff06e21d6eab1d5dc3c96608cc29ad15f2666da5f3b1761a1eee0d2bf3088e3341d8d8ad8550c6e8682795f48d8184d50c9119108dcbd24b38ca0648f6745de29eed6a3005d34ca7ed397bc0cd456941ad9be66871920e78617d28643b0c45430e630161b51a3845eec3dd2081053e77a60aabfaf5e842fc7d0d8137d9326cd3bccfa8c8a69718732aa6914384e26ff38f73088010c5d2ce6a77f8518047bab9fe1e5ab46cfa25ec93dedc1df29899344f75600b11f824543e4897265ccfe62c4d325cbc7e34cb5e61ecca9ebad40571c0e737fa5603e19b898f6529e27967dd49964d4a61746b91c0106b3047134b18be617af07435ef457c2e61a174a9ae8466d6fb4df6141fc2c890cc76ee44d8411db27c48db3363fe2141886a40199eae18b85f018e3f008c08094530d549d1f8d0ce58a5da6fe03026c2a7b63e80487d068452e9c08f9a72256904bc18bcec2989b7187f3cf939392815a88c79d3d6d048b3d3ce32eaec3d7eafb80bace8f26619d2379ecffa5aa9b28d0ebabd1cb84a7821d84258786ddf848ddbe1967ddb468a1b46069be93afcfda5954347da7bb2f7f08e3bd437c4a5624ff0be33ec8b686a921d321c965e4ab07e83360e5162e9c32dc5c61ee90b574fc11c0aefd4275d4276191550946f4c82f987dddd196010bc4cf1c1845916b39243306c6671f3d108defa5ea21e1b6d7740baf792a94a3423f966d0c2266a7991b3d0281e0f09f4b54f4fa3b5c65e7c1f83ad37ded6524e2e01d074456bcf454bd58a7d9f8710028cc2365121847d66a79e9bad113425945ace77d6a10e4b220eff291baef1e5835e5740bf28f9fc77b4e349d6acb1d2f91ad3b92f48c8f77db3108a7c433b82e7a160116302388b728f6916ed695159a8eb3a09003df09746eb82798d2b58165764914caeb19849fd735a448bbc96e853af30f2814dc104abadd45d33bdd81eecf9b7e0235269d1a89b56ac66427b4e264101a0a942c2c45e9cb8217a65da0c456b6f2336149f4ca6c62318b0386a55ffd3ebc4bea11c70b200039b42b61f8ceba9961b83a4741d93368132a0b8a3b5b1f65d8e44d1b4e551b7d76eb3f0df2d9934588c89454f457d607e585b94c591442d871ad6ab758ea16e027fcb6df1ebbcee98f2f9ba3ea93c2433c6adbf514182d0a4437db7716cb3215a3455d3d86eebf1faae631e5024b0ec53e6cdcfa2c6b42143cf180da25fcfea94065583d80255bd604bd138f88cbfbc55ac6309394b6e023bd4ec912c5fd80cd4df01f4977a87a1dfdd544f5322b9809704d99ff3e0aa039691742e41ea79d32a6ffceb255e3db080c979d88a7a86f66c8de3bffe91536e41d46136b896f0145469dd641d5a68763a27d022f0996ba771ecbf8c5211c3ed483e382bac09a4ad9ebe1025f85908ce18145f71cc65f0cda7d5ffa9e5d541c84b6a6e5549946cc940aa3ec5e9af9157fad35038c3e83a61a946aff3cd1e6587a06ff9dcec6528a790e4748d82db8d912354f7737654a3cc04c7672929d354ea65e5353bb0365ffab26470cbdcc7a18bb39fa9fa35b4641a10508743cd9f7737180e51f66190810354dc5ece5d58e7a3a0bf14350eb0dcff39eb2dd8948c354a410fd4f26a2de476d97bd72a29cd6fb61540941064721079afe70d1dce456f891015cbd14349ecd7ec7b8cbb475fc0578ea815f48448aa0755a399cb1528bc20ed17fc8acd8d3b22d0560dd4599065b9cf54daf8ada041292ef7aa995da2166eafaf10681ba25a58e84c5259c999631221556bfc238c40007361c296ffc696adc6ee20188c6c6413f4a6d89b644028022f8eb24a4062ed183e100fc6b761e832d3d0861b14227a517e58391e0ff10ab78cb1dbe08e8e7d9d740b9daacb9d2ca779ba2f5171a5e6b359843139849a8e699ba9c5283e77cea42c1d12cf7a6a49ad89c8d135c2b32a9b2e90a9f8b61fcafb5198e3cc25daa2743a976a16d374f31bb4e1183a749eb5c559c3fea5f9007b3bf6bceaf7f4b64e70d779deb669f4a32ef897b8dd74e87790c14115c13f412bd7dd1302fd91f0ea1922a61e1c28f3b2654078648188cb86f53dd7b9a0024994e351c43afdf6e6d98a117b617f8360c513e49278e153413d0972b8ed7b3f0a905e83ceffbd75f781bca7e1975ec01710c439fe9b19b5fe311364c3125c00f65cddba494c5509eacfae5ec01d21c1af1bc5a15ab9eaf3fce82935ea44597759661df973e01f3ba8ad5483fe00384250fbd4f6448463ec6e990d5e9d787eabccc20b0c937e4cd4f194235d27c2ece1048453ee9e165d5a459b6b84e0077374c984977313c3c7b84e27887ebfab29a857f4ce147b87d9e8b82837dc4b88789b4b6590730c80adc41b4e083fe9b9cc71d8aedae0521b54b8eb0d856364fa914b8a17595f6b31a2b0b86d61859e0dba4e38bdfc8fc3414116840705566f8a7c73a6352c8f68f2242c6d802f24f25f9c4ca9453baf9e5143faaaabad2cebf1915a728b7b5f92c3762e15fafe2a63c69d79024bbbb385482b24c3a2b8a160c3df3da549ea2869835abc2c77419349875d8b8f5d284b59148ece92189255639431eb020dbfff425192acdf283a91615acf91aa5a0575b875a1cede4dfbd69cde3a564250228ead956600d8b7599391a85d314b9359d8ac319d7e61731c5ce9114e36f679abb8799af6e5ef85325096b0ceb9cf39b05313c8315d7507a63336dbd2c34a5c2e6780e1ee07f577283e78d03fb93a389230d95c9e91147d1ab6d34e22b4d0f266fc779c4e6d488f265303bb945b65f78d864910c49b5a423ef644bdf82bd3f9f7bf83685f04295f48c0c50bc1655828c82386a55308e93e99be63969e5530a90687cc32a92ed758bbfacde4ca79b1b0ef82eb91b91e388d5c4e8d880b87ede5e1bad61b66d8cbfd7e0d4efc181f726ddb7c27820ef14393328ecf7cef2d77723f3aed4f1e1159391507768bf338144450eabaf07987eccc619a74e633653ab259da596bb1d2582035e37e0257c215500687e626457d7a72a07f3f1e118b52d582e16abfdca77b487b7d8e652c4e6469330746618d56d78a0f89d063b79b0eb47b416c0ac582686ed28e5fd89548a1729712a49ac36a55a206cc9820ac88bdaa881f169ace561f180f1b9aeb1b6cb192114773967ff542b2b79c1a616045b96ecb42fb89b48a4e0a1cf32a7a337b827f005c6e9335c504d5b60961a237762488c3863af0ef26835815a10ac69bd8c159fcc6877370bf4c8ffe40aad9202ecaf58974cb5425de723454f6ad5bbb752104f9419eedfadeefeb1f32162c9a0dfd04904368358e1e0088d6c5a92e2a9566d6e5ad145ffa700967d78b5430cf82e4e4c3fc9084be119cc2b206eb2a4abb1127eaa4ead9444de32d3740f0b59a9c8efa4f010fcea6efcc5e5614a5119070a1e10b82239e4b98893759f0bb25f027a9eaa62ff23ebf7ae291494b84b9ab85e772aa706e500ad3a72d88027d454a2076aa2a1581e856374dc49395213d9e7a7363f415a508d85a1316df58fc69725de1035a0055cd1c0c895a5ee308859e94e2d1628a86ed4014832ae67a9728edb3f84cb0a8e6fc7f5a6e6419cd6487589262d286f4cd50cdc7710479a8363ab4f9dc74c906105623c804f8ccad7737bb196aa7f9a2c669916e1debd7cf55dabbdaedf14afa87856f46fe1debd5306abb9718050c6c19d2ac583f34f7b15ecdff7d3b3814b2fad42ee35e06c6f314b34f1af9f1877d222aaab85902c745307321d0ddebd60a5025db0e7292d711402a080ba1f04881469fb13c256e3914d4d045c01439a0a0dba8598ab933b621c7539e819828ee13a2162ed486dae06f7b668f4a876d5e7ba56b18f081d0a577783c994b7bb5357fe3532d2436a7851347316dbdb7cc7e9281cdb4f7e6551ea6e3cf12240d1ecf2a4d3f0107fdf6e2322cc8f9bb5276784d1e2f191facef393f1ad97ef67f050cdbd618919d5b9552a115fd9f9027f4abc68ac00f00b07d368a09d04a4a4ffc093a18c7b6ef53a24593aba8585f33856946d717b39419377f21625e5cd8c328d0853c41d40c6cefdc5d6d62830bcc71f32ecfd2f4ccfe6bf2cab48cecc8057c510c84ff5d56684d547114616ea3cd5ce12eaf06d81c6f036e638530288ee9dd7e61dae7aa0f0943f225b4e0184bbda2067ee6b132ed7ac4638d725b9722f477bc1131ebff05fad644062f395589224195036515e37889746dd3c880e672ff7ee6b0af98f0a68bde4137c82ecd147469754199c20cfe019a9eaa7f1d916f4bff9227b7161edb64da0b727bf901d0a85bb2b7a5680ec9889e2a98322d24fad313599b103a22d8db11671e75d54f4ce0f71699aed2eba2c7f60142803d21d55ce7c5b2f2580152ac295f46d38f4569447871075f43b4a3038294efa4559df566034f1fb1b0a9cf514550b53f949adb5b412de6adc3dc3fc6e15acb04db048ac688a398b7a310b2912e48559ee955ea22059cd5767842e870cc0e9a49704af13f03edcd41a96cf90309d30e59e68100c86c5f7fa52b562fd3f71f882bfb61a5a6d2ddc5a0398c1a523c56aa37f648b401041a5216bf189a8056c96b3b133dcc35c58389f4ded8466505ee86fbd839ffb16923bf42c2e09451c0933a34a8cd30ae9865878d78dedebda222e42938629c8477e3d77984904748d134cca4068a44007b72926c2ed328590369bf974e0abadae4b671539d4a3081feee213e536f6b370fafb530033404c91305c778a3b1b87570e4d8ff6bd1c8c61d75c14999750be8c4f0e5c8f965263af0a17b440d629a64a03695ca0b927b956d990860a0ff45f5ddbc7ca0ef6a6806373fd6258a1e2b17f9678440e5f74a53f85f71d42b28bd30108b7e4e7a6e56880f12c51a89cf9503a9657846eca75c9c0458a349d1d6c5a17cdf7238f35426fc74bc779b626364996402988878c746dcaf9237ae60f332b184f2f6715662d32b30cf1755eed59c8ac7e4ba96d39b0a0ffd42c3a8ba3c6ada0862efc22ba880fffb7a89116f53bfe2a2390eca45f3029cf030bea57f7e3edef1dbe6e8f4300bef10483bc662b26f2d8ec7098c629bc7b1341fc0dd905a614e174f7fec8a09d33e108a20f9b92d786b934f953a002258d890c65bf129baec4d8ba8c36c7cdac958111369e11ecc23e01d54330378d9445a38dba8c17965d092ccc62c3ef74487cb80c6b637cc67cd7e7b1d922e4148bc779206e66d3cfeebac40c6163318470506e6d22cd7c6af9e4d435c2c4a44c737c63dd627530548472a13a459fac3adbfc62a0a4afc8d96b1c80b2c3931fddb1cf9aa0b3722e168ce709bffa49f57d8604f11d500ac1f44161617f5edf4f173827f0aba1bf830f8d44ac06268173309350aa3d1710be6f31337e4c068e0f146910003fc26e30b985b4ab255dcbd4e28afede46b9e862a6cb41ed308a4442ac3b5c9cff4c53a0e88dee8de96e254ed4405fd0e9b0ace3d43b4c865557cdd744de0e96d74dce6a3564441405cc8aaa51c84ac5f32e153bd43d56e426763f1af01ee96085117ab373713fbc6a35d432364ca89da7f8b652597b6c4901ad73b9ca32fe4122aeda6078d0284e82ab1a4befb448b66aed9e84f46500059960c01e027d41eb006f2b03e6b84cca990c48331ff5cd6a938535b237cf69716a3641b415230f2727508ecb710bb98cd5a2d03930daed8f3fc354cac4a3003babe76f2313fc4f6e8776a9118339e25bc31e65cf0995fd3d6faa58e64815c2a4b2df2c8818b10b411ef2fe0f6991b647b7225d9cbbd6cd4953873fcde874cb490d6d62d61d2b76255faf7cc2ec49e0ef6b1549e3369392471b8bb948892b1773b601a41efbbda829567ab8175239ae3c7cd3c316e6dc073893ab83e33d8e867503022f262957655677c95b2b82bce1cb46aee14fad426183e90d85ae8eb21caafe74115cae0b2ad363a12c4f6c3d3ef1119dd039ad4bc494de90626d14754e23b9f5c5e69831b05e4b73521cfb190e00624e9a8c7ea102a948ed9821401f0131d1b7261abdd28d026e5cce1cc636d62ac7da684df0d95d4fc7b1a8c875b02b5481ee5049f3d235a33104709ec546652a743331f2cae12958366c35dc0d763f70cc5bf1a2e3d6b8dbad89266f5a5bb6ce7ab99347a518603ba26041418ced6d3fe9dffc489f1d5abfcc5c14b01953a1229583a9cc0013cb386540b1d3dd8947a0ac9ebb3b58ffd1fd6de4b8b952c52868e9c7c0494d97267ae9c76917fba8ad5d488a93a2a6c76d0f829e7ff576678113e998fdf5546c80022062ae37a94ea572902fd35b7628892156349b078e4f3ff6c9f013c4a347e391b540a3090e679a9a898e2c9a36d4bad7ee9191a2c26321ae7dd0f115e66840e02a4b3f8d852e07eeb83327daee49355c7fc75ca66a304ddb81780237507f6bb50c09d61671e7bcec90d3f2534a3ed08bfc7e044c61d1c858e75be37dec50379960b87c6d84fc4ae37f094a6312b58fd2a1d791e23d12c5be7329daff2975ca8402e82d4c13837e80f8b4d629cfe2b094a5c5a5cdd609452750cf5e823588794d92107f6668e467d3924cae630c79879d461f29afcdbd6653a641c7c008c057f72eade19cc25965db111a7faf8ee6d14a78bf89fd36f1dda465c97fc039015905b6d24ffe691bea4d413c8773c3a95a7d5de654abc6cb5f10562bf800a6b38fa33c508a8bba465c92416591632a28527de4554e56e2f6af6433fba39263dce1a77dfb3842509600a221e66797ffb6aaa69229e6a5400f4c757f6c92f8cf744614f1bbb1b6c1fbbf5481ff6d601f59d61c20d0060435b3e769a2a7ce763072cc30311d90ad5a24d326d2277160a0bc4ff1916f8356790e4cb8707ba9153f85a7c76b0c21c956ea2a4a112091ce0748670c7f57fd84789eb1aabd287c7b334a3eb64f84e23528ee29db683d49ad48a05182f82f019f079683e4b17790346d8c6e2fbc730796ffa164e4295b95d32163de4bdc63738af103031d66082afbe4ba643c288f3a593336609ca1cb9f3c0931e36611b6612dabff57e3bb992639d9c4f33745cb24aee811371bf49509c61de7ce3394ef03a7e77d087bb9b8884e43bf0ae4026ea902b72715e8a8c1253c23026029f77709d6b3a55f6dbc52c035993878dc8193233562a8d1d827a9772683839fc073ed67b991ad66f1f8094242fe78514a90e87c91745ae210dd956d20db07a47d59528d40a3a65dd700893aeed3a2529901e845d57766076bed0e9aa1b6527eb27183537f3e26190d97c702800eab5d88a36cc5a46a28f44cc99b3f698bb70f16eb7ed2a4811c7b4f312c46949861e7e189fea0a1597d22ee83599f1c64bd90b82f6d98eaf18356348737be5021112e0d1d47818214fd75fec4c8402c78636d23f911c38a43a79565e01146fc06f9d6ab95af896fd525d4a2c6acdfadbf39d1e17f91821beece896f34d646d740a583f5ac387b83b6a206f05f60debd09c9c0e0ab1d2077c68ed48128bfd68fadcb697dedc06bcd2e1eba431786f9cc8a270f4ce76d075615f2f2a56ffd43ed53faceb24418c7521b21e8e1ddd78ccb822c379f60cff6457ef5888b8f2b60458ced194dc7b3ed2c43f7dcabd1c6f3d0f86305ea37db5109f8a7ec8dc0e30b54e733c52620ffe9babcb4819c4ab12429ec50a38f27160dd2f0408fd1cc1cd93c95f64ddc4e49bb46ae1ccd4e03b804a1fc34790cedf8598507df14157745f48f047bb4cb4abcc75d6326f4b8a6de50d00ca510bff4ab3e03cd0a42b2c8d298a260887179b885741157cc93585fce2dbe550d74147a873a9b16badf32b8d120183505f397f3ea4944bb407765db56064746290a8d3a3d5d9482ade38736b949af1bb8255f36c2178dd2bf6cd663cdf11bda35c0eb5b0472dce7525a08953ac4c8bc114e5e717d7a2aab82cb81ad1a45cb13af7868ebaea4748778f46b43b3944959d1e4eaf3ec55a3f47e07bf7a5f30402826b948e964c72908be8ead8baf7c24b5662acf548cf3768822a592837937646eec306a35ea8a7f866fdb30a3db75a6638da2fc8bdc915a84ea319a8cf1386c6f926a89480ac5aa2aa267a12222658bb6ca65cbbd2cd492c5288c2a819e15715f7284206be441f603d60357dc78a64a63db9ee9fd0fd41580fcb783cf3f91b06652136428cf6b7127f9df7f54fe13538ad138939d6dbef95b3db70a419748c104282dea16e6fd01e0dce93044073d50ea16e1f4f7dfac388e437485502dc40470de2e37c6b15f4899ef58f6448572831c6d769b52874a19253d4cdfffdc5aec546893d5636c97a2955b37b2de60ded4c0fbbeb08fccd7b1c0ee2d35492a6475ade46f3ea2d5d5afa030db2df16dbed60146e232d0909abb4a7b77d2d128ccc11f877fbe866a93a4050d349f2befb6a76cc7ee0d71d0f115504334b4f5aad87c9e71c159676c05f94576758662142240009b71c59538d866b82dc61f236487a8137f4f87ac445abca222c81857987ce8a2523c12a2f32417c621aaac236d1adcecdcf3fc4237ddb49f8cc41f7802c3f2eb2a897f957e69bbe45988f3edbfed8ef9d87c929cc22a16460c8a5eec8cbf267ebfa87038092139058a63222a111418d19cfb86f835896d1a6fab27d1baab90689154df19c86072eae5236b3b8ed7acaa91a271d4d8131c036aebd9ecd3f097f1903128cad21bb908b4d823f8d8a75eb0ea0612059221f7723cc20964cfc1901888fa49a95c359822c28df0afb8b24b1c47ecd7c877211cd7f4ee8502d30b7fe7d308706f71085b5b71aac6ccb00f90c8201de3d010da6d78fbd933fe5a656eaf8cdd809539a19b0750b19c56fb5fdb0c74e0f0dc1f4b6502ecf7eb9db4fb3e5af4f25b0d7589ea3c73cf3db707b06ff53ac8aec2c1e41777f3fae0ba6bb5847195bad344d3796da52f1df3479faf2f3e1e4ad20029c5b8ad28ffd3fadd4d5e15a304fc74c5a0d20958f31e90e9683a57d93b3c57411f1b50b7e4ccdd783c1e399c919adb602ac42d5e84fdcf0be88c1226d58571aad5f67089205ff0fca4b603d5d39eaa8d8eadc44cf6598fd602c4d28fca03b12f77cd5e16b224c20ab7508bdfae60ebcbe87da0fbc4a03613b276d1a0362ff09a4034f2b103a741d4dd857c7b72141c28498620c6e81895011056cc03fdd88695c4714398604ed558e8b61d7ab858cd4c5680889484b5cff0c482b16caf0add832b691343965cad38acb6fb7f61c53f54798f6a98a3e02344cc56b43ef7d41cadcd14cf6c745effe48cfdca85923336b917cb477036afcce506623edebe9c7c3412d6187da6cc820df4515f5487cba0f4dd63ce9763fec3e0286432a6993a4321e2c14f0ae86b2f6ddd28868cbcfa34721423eac4d0cda37b20d2ceb532886d5c03768486eb82d26e17c58094056502c18b99de8f1fb1a2f68857567f980dad88a8970b3c215e003ce295746c3d91779044e3ac5032dd11becff516e359edf2cc5ec7d181ad90faef5f0339daf79f5dec45ef1f55753bdd4a87ad7af9155a79143ca22b3b07e6b9c990626141f8230b43932716ccd8a65c3c43ee3e8b8f1075ed9217b91a2b751b7761975ce0b9741d4346a37e4c6c4eba017ceee5a11f9513431e240fe9d6780f0c8503b9443552e4ee371771be716846477cb10cc0671ef4d1d975a80bb70d83182a8d2d3a50b176bec896b6f3899a0c115b96ba97c1d1e5d048807329b0d55527db02047873aecb509e467b122ecdd4ee2bb1ab662f24ffc5440325eeba333dd85c48534ff3cf21e0e90d31d36fd6b094ab8dc7236c7d69c6f097d13ee449ddd694729228c416c74afa70e37f0714cbc93583f7b6a4d85877b4e7b9c1606e88e8b7c54b89126047b28c8dc3115bfd0ed236056610d84bc32d8884e90f71519512eb1f62131129e8f56d28cd3645cf855bbb824b75f3143007678a17ccd20b23b3f461dcf1a88019377202754d2c039e050ecad4525808ee307f90528c09f83f82c000b6fec5f9b4cae98c0a35f2d7603bd148db29293d6d05a5849037c839815c5e1a9e6b5ece8023bc7930f55fcfc6870b5ed2e15bfa4899b8360f2af031275acd14eb4bbdd4c1cab17f436d2bd2f903ba0c4a9f46072975c062e41200d689c2ee9c17a3ea58326e53ed8f1e741673db7656fdde29ac7f1ab7c49011d1b4c216d678b9297c0275ee650892cb21b9e3fdd8b66a607b87ba7bb870aeedc0a6c6d47b8e31c63bc82cdbb492042d9c26bc2a6e4b678cab340cbe63e529d5478e94eef4a23022cca6571aa0f419032ad185333a8547d123314eca5e455814abc5bf3cb8ed63099f25a7172c4353cd281510c79a0a046966acaad4282b291825682c5b9265812d84ea6efbc8681c6f453fc04e7ecab551406259fcb1ab85a4817d93c28529cdd8f21b8a16135fbf5cc4f2faafdfb5b446628ec645f1fd5ab8177e5b3a9072cd38d34b6dad9495eaa032f50f311f56052f75801a74aa91c4d60063cd1a4e8992be652bc67efd4de096c5cdf9cfcf65eba73bf190c4b1cd5180ce707f83416669bb99390040f2509d06cc152c39e93f033a65bf3894bda5be7404dbc58bf41990ae8dd9888b4fb431b6fd09bc52855ce0763efe9ddc154437821fcbc6895417ec3b179f363b6b2bd5c762fd4a3c26af78b2384a2a0cd03cc9ab84494fca47902b613792c638cacb0e297d90531ab99948b7a116e7322ba9a89e02bd33d753f7508b07b838f8e6b41e7a0085b57e7b728d22dd8a1e8028e33435c6cdf76a27f17a5b3439480a10db61a78cea89b42dbcae5020279f197f1738c57e2c2ca98beb3f44f763f79722f0f53ee2aa0a6618b1a65b2ae912e6982906f2bd0f9b6e848b8ad4b582436250670840e76aa57e590d324d1420cb93127aa1d25e19cb0d7b7e604ad0df418ed709426d7cd18741dd7a4c103942d1bfe2a898115d9d1b4447ce4ae237bfcc159c389c1065693992dfe3d10b07d9dcc0296a55701d9414f19650930f158e7f41c6e9b66ce88fad2141c06ac7d7612f0d684345eded0f2b0d966998a20bb54a5370ac11968ab2be473482fcaefc466a3eac95457999b6b913a22380653f5d5da98767cbf6255ac3b9cda4bca871b5d4405435df7b0334c19d4758b6ff848fad7cb978a86dd68239eb09d602ecd60d5f545fafb07a1a3a5209ca4d5ec30b3e7af6ef5ef37ee3f1f9ffa6f42576af1e5e5d5cd63110974eecf1a25abcbc704f66886d22bfc72e4669088a6c358fc36212ad8dd5877923f6c67f00ac4e736b94c0e2c3e3ee1c8aee697bfc13cc533fba32376f7ffd0165fc61a9a442b4629e50e1ff71dffd9c38b86a174114a1201cc815a6bb4a926b075e7fa163652f5e228af03c0a92e6e348940cdb00a005b93bc9ae688b78119a77b5e24d436fcb793110d587e423749a205fe3a7ca90f620d4e4387881644874d63c123beb04f4facb99e1fea2cf91446b3144bcecbf4583a0b52d20771784373369ae97059b88fcea816143129a6b3c4e37b9b50f76c718fedb8e25b2481f02a68f621c6c353ad8f81368a28d931a8bcabf8caef62676b4fc04aecf4e7cd8a5cc28894076c0d4450211123d6a09a0bf3c261105e6e467dce093b254595f94b4f07cb85941d8be56154656d8e65dab0b0c61b530436816c47dab26b62915d3e876029a8e3c3b46040b9ce9e207c9faaec77269477bb6ff8610d8e478058d6cee92b4f8d0d0a2c573b8439dcd72ee67e89afc624aa7b75273e2799cca0cb53b5a8639ef7f8e6fe50f02f4915ab9f19d74135d315080aeea8a3dc1430106ef1642c267d58af874ef5fb7e26bb150c84d2fdb2de1fdbaf924e4517619e170544cdde44249f5049e3dee7e59272ac0f462be27c6696be7b1e409065cae6a2cd508492332e74989bbd4071b0d2916836c97fc5dd6be8cac3994d3d8048ae2abc4797bdc9192b86ed68549eb5923d7e2565c606ce28320345bbf2361c9d256cc8fd538b4a525c3a56b0e636880a6dd77ebbefcec0154dbf565266c2916c84a114e876f8f9af9941ca32d2c26a8dba6af74eb8e9cfc7d827a0ea7b234d517ab03713715e170eacc6d5f19a96d6900d31869ee1741df09367e4671a747abc8d355ff8eff437cecea6a1fc8c62aa19c7a8e2dfc88257c59c69f0cf4e88d0e89bb96ff8dbfccbf5d619e8367deb727571a73d243b460e57fd696bb3db13b4c3c3025287c43f271048e21476e90dedb6c5d3e2562b34492713692d49295b654c574577cf6a86af8e9c20baff15650a2ae261c61d5d39e56ccab0a1b71ff1795f576c0c6e81217b6a60ee19adc14e88812e8a99fb9a72392be927f343bf1c1eafdd78bfe38259a3491380c0db8d4b75fc19cf4898b8b78da46143e40230abe42d6a100ed487bd4ff0a46c1f628879fbbcfacc28477f0abe19f317dbc9fc954590e6330fcab1c613830ec908dcb2016504c62ce56d86a579a7eb9abc3d224c04210f51c87267db2a85c77938d5c4bac13d89f16aed74bea36109534bf89cedc70cc9c171aeac72fc23bea25555ea0c6ba134277a1ec918f54e979cef66ba0ebf1159a2f935cd5b904ffbf6642596b65eb7471abb51c16ed1f320ed19c5952b4aac51330cbc5c366185f1b96bed66ef0eefbd1f6813f3cd19fa1e5b8b17566f689a96897f45bec1ce78d1264f4e4bb81ad5a31422e353c96f0f895093208d0242343a1c2bc0dbb22bf051c1a260551050103b828456e28f1505137ed32d38ffc624180a379c855d0ad0f7c38ac89dd862372fdf8a2e20b88ba491054eaca2839321ea6c0a73bd3d6934b0c8cdcdb3247f5e512d6796cb0f0073cdac1da8cdfc15e04a0bc1e5472a467746c1784022c98d5c5a5a320973c8e04c0acd0fbdf3231c8e730457c19ce0b89389be095a6d585272e69ef8e52ac64422a5504154cf9836383b636b1ba05081e509438e42ecc68c9fabc21653a5d5ae4361578cac907c14d6d64fa756107cc04d3b5b567f482009ab6bf2ad479b360870e113e0593939177787183c43484adf87514fed63ca345f75b9aade141c0b77b72e4ba9403596cf57c75f7001659069c36928c6bcabbd845e2f6ebd660516cffa3ec4c9041c026ce1709a6e6b77a81c0305172b0363e68009de02b1e261acbce092dbcff439fce1af174c86ed175ba902228274d9e5bf648fd4d49121ff53f9bc70ab24ad7bd3f938260c8b915d4bd48a7219248323d20dff25f0a15f14ef37ba4fac62c73ce015a2b4934c38afe3f8f3dc1a3acff439e4d3155032538616469db8e10882927ae5d898070679db0dc9f84c05b21baf06b12b31117741fec988d85ed3b57c01e4b45133e03f3fc0f247a6bd13850654acb58aadbb7fc8258ce58300ac2df97504006d1cb041a436663c0c41f56bc67b1dd3bb6dd597373d968298e27b54a842a6c5c4915a0fb4a23c1c949a6740abaad36a6a2b05440640988d71d01d848fe3adb46851f7a0618cb387d1bab4107594412811c0045a4f97d322369575600873b5a2519cde7d416252dace9ec85c9997b9d17e0e827a0a93a3bf94edbb792a02fcadec06bfbd4e8cbbbe2c2b06f3e9b9db0a4560335d68c4fa61245a1cbed72ef9e3327a58531d950a818f9fb74ade058dc5c7a5ed7953b7277d0e91a16e3a5f68d8d93469df1b5f4e2b71251566d7fdbad1efefeba4437e429bf2c8e563b922fb3d2c2843b49246b5169836694a42a4e1df6cc4713de2fdd68594a009b47a25cdb507c8498044d94e18b291d00d598108a2ec29dd23ae4d8d66523730a979e1f619a81d70973f172f3e53d4c141d3f09ba44a48fc37a2c39ad75f383a15a1f0a5b5a17dc63bbee309ff43cd870c313a7a631eca2561f533f07a6a6f1eff1b075cb9108650ff7a3b31b1c080848e461354b3e890255f3581d5dfb5987c1f8b2a71ea43dfc3950431a9c4909c444d00db0df162ce9afc381e96670ea2185fb608ab2f30a4094c89804306f9680f6b50045d4fb6c997418723b725e59d1c36800f8d325bad007260543e613a3e1cad5e5e77ae44a7f135db56208f875893be588e4bf975f0831f30c316180f649897dfa304b0f6c3f29a548b840443ac0c7b623f632987e078e8858f0d13056fcfb844d1081322cf5e17e2b7b83f639fec270260020b0855968c356758cc77b0afa705f03a71ded48e6a42fa0bea6a7aa5ad640d59abd9517d752b34680cd669069f0a0b38a71a5fbc320a8d3b4a57dd76b8d5bcac2fabae6f378f46d9f9e8b62da3abb7d37f73a00ebc9a01f61df46cbbbf90ba8830d209a6cae1f56d5f40eef9bd5d601de1b2ca0ca65573e7765923a2e2f0ef2d4e739f74bfac9b0371c402fd0210447dbcd516d22d0d49d70e62e94490c62a0907ff63064dce5b1d9ef230766a2275f01e1eeed392f2b88cdc9a61e5ba4a4e62b7373d7dd50c446b7b7836f537ee7193d13e474f7e95f4475a853e0b2097f592ba347e95dcf37b563614553343f8d9fcf9df63b76c159006b71e7180f305f7df0f42dbaa09a416edd48989ec51d455a1fc267d59acc5b844b22dced8f95742ad198d37acf80c8d4307e696e095c963b9ed801c8fd7a2debe8bef3df326915fba4503b26b339e16ff187f3c625317349a64ab6065f8ad1b05e1b1449804a069d2415c9c456b3e02a191ad5c65f18bd10042dd24f05ba3cb2677d4ab5273e6bdfb8f15d6fed8473ddf94e0aea6e12d1a7f1b28d75e4e8873ff295a455b1071b3bf7487d7e85dd1679dfbd23f74f915c2d62a99df8066c2d32b028b39e4dfb9f3fd0c39b125e43b0f5bde9d3c282482488103dcf69e7f54c543919bfae7122546eb06500f23b6c1152ca920fd81dd2b07222b39e2eab10ea2efd16b93c5cf2160ad72ba54a9469b14e9041a109f8259acf61073419881f197e679be53b47ccc4205e97693270431792701d1706464eaf8b0bd6899b266b0e6f9236a3e47208021be206cb551fbfa3cd37da0769530cee4dc4fd4b0ec4dfe8a451869024bc9edd8eb15fdb79448df0c24d8c9f788e44eb4ec2cfba55aac83d6af40badd3c43e2f7b8eb735ce88a845b7a8925cc879ddf38079ff7860a5fd06a865ea5b9647011353e3973c73fc2e1711a370bf20a2ef1ef40c25076eaf2e587f64dab9d0b1d80948af579f787fef85830e9168ded842fc2ec3e9d72979d27af8c1eeb1e1897c95d1f9dcbd8ffeb9a2ed3b6d6747b9fd0ebf5aeb6b32a4791b62f30d8a550ded5501231ef56c5a5ed3a038feca34a66d84cd4e2cef4c34b751a9319d7fc23d8bd01a6b377847b8b3649181877047a21ac5cf50122b6922f0ff40c0c1adfd913938b40d03da7a24eb5518b1ff9133a6354c4c8e1588c08897a88fc035f0812e42141e3f153e3a63d6080a3eeb282bff9f4e87ccdf506d1157b6dce230d4ea9374b2e5fe674a52921eb319f4b05d7bffc5868566c93765f3cc76bb026ec7fc99f24ac46b5d32dcbcfe8d3e5b1f61f2f3d76647fca4c972398a4ca75f4e7fe9dc70458001f23906a0b2063eaa2925a22dcf3d2cb82d5180dcb36bb5d62db7b0ccbf71310e5f81ef8b8e7a04d2f2a9bbb07a813e6cb7a601406cdd6f937adf70a34cb086a6bc3b127b92054024b5f89f6ce19d386133da7aa9a11b6adc9a2811380e80dac68b255a56a34b8e737c6e50c1a45a406288b0ce8ee18b63ae1fdad262c0c7cf060378d569562638aea3255fb9b92e2eae3fa2e5101830cd33ee8cd8d841897c1207ee8017634e551320c3de2618255be0a9d40068b06176116438c9259976e21c1bd0f4adf1e82a5ad12d1ddc7beb09ea5eddf9bf028fd9ebef603d7891fea1d50ced33cef416d645151d3316c9c5eb3b0ea816c5478c79f8835f27a8a13fa51bb8df7d2563904395b904b95c3b3cba29ef9749851397f705a0fd7891fb1657cfed1eb9b6b1a80b55b86b42169588c39740353c1e66f033f78963ac1df7da437bb4c0940e6a92b74af5c665710de3ee1b52fb6648669d5765eac5bd15166a1cdde76a85b4528e59ae949df7f1a41b57b92e9defc5b706ea544b58b30f35642b9175764f2afddf18387e2f6d92f217645237084bc3266baa3507c0bd013634be300ee7083ff8ef0f60a3076e3640384a5d66e749f93d0483c7cddaf2476640561ccc199a0b7b5cfc10fc8312622e2feb765f4c5dab5636adbcf3a708999dcf6bcf5a868dbdf6687e9223cd57ba5fc3b6aa7e7dc0b347ef07626aa5ede00db1fc5f6439e180d54e5115259df7fb5cd5afa3a66f5727169a9f4e1d733d8a6d7dc878ef88d7865f18c8a748f5e667b8117ba3e36ae86c5d6c574cc0909a0d09aa539f1e95f10092075ee946dfda4808df959adbb6dfec6d5644a7fdd7fa64d145a100ee6b5d86944177f583a1117aa3eff5b7867d5bb9991a320273aee89daeecae0df0c2dcf5f0f4bcb7c82557ea506c7a34de477c87972cd290437e9c665fc566048442e402dde97fb420937a37b05f570b91b35e242fe2bf7e3b199136a4f937f5d04dad6ea0feb279c110001fc84f8392ff9f40fcf393ca249c5c0fff67a725bc46cd3d121c93bc44b32d352fc90cfadaab1f49e5f06f7254f87223b9e1bd4f99be741e102d361b9c53a6984a29e6e7469270b6c40e08d25efc53e94ef07d45ca77615455ad6bab021f2c37bb80e19845304e74dd8ec64250d69f51b59f071b22bcd6ba6a64f11285ce8dc9eb3254bc7c6f78b40b9041322a58e35401cc0debb450457902d3266c95093f83cc4d39c417551afc59489e0eecbb64b18afad642230329ffe91ae1278255b0615df037c1508d25627c2f5ed80850027132b86b69e3dc34495bdca3e16ee6f6c9e484797f0dade7e982e3ea7fe7b0b1794763187e4862e108085b0531eadc016a80dad1d7ba65f26adabf85ddf08d2db1cc72a2b8a995bcdf319c0d321b5714a4e36fccbe0cb227905a52a394c60a6739e8b3ae6d0563a8c062073ff17a79a02f5a3d9f7cfdc233313e1333d606d5ee6ebd4e05f2ef3f62971b4c5451248b9f4e16d6d5f3e85d896d1c6d2d620801661abfb51abfe4d439f9463148ef71e4ae29acd07fdd5cafac47bb55c307405a2bfb8e9caca68c628bcbd58cfebe0fc7ecfd6eda408c54996854fa6d8337ff3ad88caff054d553277d854be29a90f8907c50209351f08be41f1e3fcccc11f704f49f68c9862e44b5cb44ac6ea2fa9c6c0a484e66e2b199498917343cc2c701dd365bf65bd360d68cc1386a80febf099e553b0ebc3ce4d64491cadd25582b1f90644232a91ad837b6fbf81e25e5b4a89f154b57e2ac476fc879328ae478b0706f5e40aac05c6d9f44c6b23c2cd94a2db48717eaeb963b39fff805f2a4a38ab0a980a6a869005ab8e1986a6677b4d9f08e17f01bf50cb303bc71c05954fe755eeb6feac5084e5e3f7c93afa3920b7ded9cff8c13715f5e900f02a835e6dc469d93e0152769c4b7b123008a29514a4da3f1d658545faf2149891780a8db932c1764e9edb95a529c88869b8c1478754d4f3585f70c2d4d86b250a7dd6cc93847469d07aa6c45745f488ce9decd46c37bebb8808a47dc772e441d8373006fc652604dbcba34b94157bd3285942a5e6c3d6a92aff87639c58ca8196e6173ae92cf9f6e5253adf2ddae8058845c2fc0ce2861108af447a24861b4a70fcaf976043600a2d4d1d5f3dfea9c7b01c0c3be62e28fc8e6bb7471c8b0d886b289fd807f40e6e077f9c7039d5acc3d5d1d37244340dc43bf3a77e41eb118a9dc9bac56b2e0d6e90e643343ccd83b5c04f355b4a60c8c725f5c6c6892e2c9fe00f7ff0f122e9708fe0f31f9459dfeba4fcbf0c15a8defc578ddb81bdee46569f16c73e74087c2c56c3bfef0dd2b118ec1f10e4fc44eba562b8ae214678f9441f72f8c8b21b9b22e5d35e21d4e4a61943c53c2eb5eb73f0c023306c1d19ca279fcb961987d1924d0f48307ecc42e7b542b7140638cf6cdf80c493603ac9a5fa92108f3a17f7e258ee8b378dc29588bb939dd3ce5a1c4081a6bfd26ffdb07b4d65cb354120ae290df116828b6fc207d4c5f154b0ad5b12ff28dbd8cf9b413876b2130fd13d977d7e2238649b3c245d003ac9d8d2942eae741457ffe56acaea11a045feb9d94c4e4f82bd779fc13b8258ffd4498e6f12548d4b6fd91d99dcbeefe4af344f9c6ebc803f9d228e269089b600beb0c51c6d0a6f702db10c66119fc37f3520ea5fa14bb67d47e1fd4d2ec2673de6cdebb81290786ec1b5ad503b7350831062ffd8ea267d62cc86dccb381729db50cc0edc1aba2ba748456b12f26af3a79c99d9ced760cb0f52e79e2e4e5c3b6d708f2950696597cdec79960ac38c38582ff55213ac1a2e22dea5a4e75a6b8bf7eaf0358ae0ac0afa09fba8dcea92816d08ac49a2131cb7d483386f50a59774210412ac9779e5e1a6ec5d19093634c38e44b191f5f2cc097c64171c30c7b3ea7117375117958c038ea667bbe81347d97dbc74079db84ac9d289e910e524af00a8e4b42137741bdf5d889483ac91104e074d4eea4a7c0b2581ffc9ae7807fb151bf8cc2060bb83b45a86c30c58e0ce9219999ed558b61c7f4475687d8c5257f556898f74984c03444c7dd5a18980cc7964f37ceb9b5a49104c7a1e32c8c3f7eb87ea31e8c4cd5485924c4f961832faf31ca70615b2c8a8ce98b6d2f92682f775d06632e9b1c39608a3136a777d667a4a874f20c86f40d32e091fb67afd4d07be9f5e6494ae951a8b6c53a715e76a4cc74949384161ccdd9d4b42327902d1d328edc0c8e05ffd79661c9dda2684788241bc8527f9037fededd481cdcd1f63ce3a521bc6d7e56963002f4ffb3ff40dc39c832030cc17cb738ff33d409730a2d328b13bb022c96fb5831743243f69d831dfad4b5eb44d0fc2a8aad124047afd07df49e3d0861d62f9a6959f5da7934a137641576527efa7d624449f7100951456bfa26f8fc5752bb958c58efc9f0a19e38576e0854e915210cb4426f7156d4b15fdb62d804e3b40dffcbe61bb7ba44056b77fdc808956123634177d444c577208fac6681ab7a4ede313c08a16ff7f228d4f49b0c3d6a413231c74ddbacd4b748e297bfbb0ef18894f2b5cb09be52f6f3bd3dc73e01a15231f816096d9db90cd8be2cf53b8afd76c543473f8318bb615e418a4d752dffb8945d3f43f96197c413e75728bd4790ae188e0d08f8c40d51c340a7047aa5961e75435f253d92bd886acb1314e4cfbec4b699dd2620d05bb2d2a790d1d4cf5ef7e2cc384f68a58074121fcd492617dc3dc688d34c09829b55795c7533d7ba71b078efaa0b8179f4f6796963f8ad7aa09c9d540c02d6b2c1ba1024a714e78ffd3126bad395b04c5edbd1d00034dc8dd691db8cc3234a9f9fcad3754311119424b0769a7b2e4256f77c964043e5c7d15b3dc9d456ff997dfeb7b9b623b2c8b7818f873d37bb2fc6d15e9daba70b97c8f2ca551ae8b03c42a2f47c69d98a156c19d659299e4c8aa0c7e084e3e02bd63d9b14ff9673f50b7e4dc7963036013fe5e4e1aefa0e555021fe2f62c9d4bd5d971b55aae0ebd8e30cfa0090adf32332d65791dd23aa9d09eb8d1d6a153776081baba419aadda63bd64b048a8637134a2da9702d88b508d0f2ede64c2f4d2eca2254a35cd7bee1e29ac2511218d32fa5ebf14f87619d3b26cce5fe8adaf68df47f691d057315b4e463a629085dd44a7095ac6cdca3d0a17c3dcd75b549001ccd0dee757a9b53f601b0f27af7ac3e16a2f1b13e687e4bab1fc5d9d147095866a2939e2223b02eb78445f6feac0dfd80a38ad303d251428d95f608f8764e7254061c6d31832e0fe77ab8d82693815205c074c58c196718a46074b06e0426c3877d37baafc543c1961843e3d3b65b59d13a9f7ced62cc31f13e686665d9e3fa48f59a626c20440de2c14bf919bc08ad9a47b3c0667a1809e71211722b10985f112bf7195f4adedcd12c7295d1826593b1f3acb2472c6caec856559338171e1529de73a8829dd43ef1f14d135600106d527069df22a5c1d9d341da50fff9f54aa0ce2b63c38fa4b917143aa81395988118e2981becca7f003e7114c5eebf19710d2f2e4a806bbcb3c120b375b7ad8159277b9e82b23cde34696bcbf1fd5b2d969a7de8aa634a08f28bd28a673e3fea299b8deda6058b26f57fee1d122231a533a31ad1df8542623fc4bd1039c471266f4e817a51ba7bbe2a81fa0a764ae73647f1796de3388738f38678eda33fab224874300acb7b6045a668cb0578f6a7252002b2acddeadd032b06649cc6cb10694e7759aaf3c3e417acb934075df321b15db3f2373d57a218d0ad229c7d88d4ee520415515478df891499e703ae1179c4ed651c3d0c0ca25bab93be44b691b1753c1c801f16d313c83032ae0f246e6877c112560a1d73fca73d27973fbb6d55ac077262723b73558bb42d102a18b42314aa15658eda72c58dcb3cfba16236324419baa33d84eea7b3cade9ae50a5762696f69e2d3dd10335d3321f4f4695f5082a07f5d5c0bc66f21150d2324ebb30ae4e5c2212bf9d19c5a3aac1f687f18c560bf5bd59cf6b0cb9ea2b91a51e931e4026cb5e78202f4787cc02dd98ac1e02f5dc87d4500a4ab096d0c669f4aa15a185b8e6e60144b56af9b9dab2739b5f5d26df7f5c20c65621fb0433162edc0ec71852356ea718a0fda7a4bf5496935f7f79897bf607ead04e6d230eb42078e193d63e176a6ea311d806d72e6f3f999a0ea81b7af5af4c0de6bf9f598a557a6a93d72120997e0f21b11f0673d9f8105818045e3d900534d72431d8c65d4c6e19b3b7ecf4ce27505a8f2bac3b51ef8eba3d676018644d3c42c9e8de9d041ee4bbee8323e0073076cc671e424ad07b1ef3d345c45a395f199371abc90026471b08cff8ea38ba17abb4e8074d459b5acf657fafa2d28aa2fa38c882e442192936475594563417ecc91612f1c6fb70bbd83ffbc61407756f99febe04f6600e85dbfd87d0749735a2a1348da7b28df09f2b671d99157f0924b9a2b94c8a2de1a87cd7bd318851c401e5ad52a20e84f48a52248cac525323993e0d09f7029937f4107e97e28462ffc5fc5e01edf90a0ed6dd94ff43476a84d2aa9cce6c292fcfc343f3eecdd9520e9472a7f367949bc126d6e07c8e51d7bfbb4c61bc3fdde325054a8adb2249db6498cce54e464e4e1e4f7036f1a65b43d3645da8842c84a806d876884609f54c3769cc78321d186c60db7710f95a6167c9f2f09304b31f1c8c09c4171dfe1db323f63bc9622718bcdd5cdbd330b6633d702118e4663d9e2d9e18ceb8a5368b3a4494995a220dbeb70b67a70c66a054c597f64fb7ffcf61e26c9187bc9345096277805baa9913a792e42a68fab4031c67620b3429fa96855831fb4bb0589668747e6c1ceb2880b593df93f6b49d2185f7d77cd55cff4d3e0c42bdab4be023be5e03cfe428e32090ba605457391adccade1f3ad5dccc086f4dce4730d8e653ca9d62530a1301de1832bfc5069e7fa2161dee99f288fe924492f130b694b51fb0685b7a9cc6a91b80904a7d731e14d0177c15ae5ed4fe4225040582357130d344fdb7ea755ae0a4cbb84c2b75a1b9d8556119e7fa3d645c67c3f90314617f40a82d4f3eaf786ac3c8616e6e0d0f15710664c0949d06339620a66379aaed59ef580282a00cf9c3bceb23d7f47c10017cc77de8a89f06e2e480ef825664fbda17775d435b1c2c1c26ee6bd68cfc5717d9729bc71ed7448acade895f65110faa877064e14d4dcc939c477aaca94cda3d39b979245b35d81aa3bb4243b237efd9471cedcc2163b417032248b80511a2bace3f01b79204956a2d1c38abde5dd64cc58459ccdca38d303ae4aabda39c84a5259c1c470d2a9525c5799d2559865c43b8af60c5e92a4875eb807e3de418c11415a74bb3795edacd16e748c83c3a30d834220ef889023ac8f1cacba1a1f2413f75dd7d8fb07884572b102c70341619c707b0065598a2320532193c135501d5518c6c6253892f63221ab3c163f17702f7c3b8863a6236dbe35620ef55ff49d4218229c270984c4c0fc0f72887f9bd58016a83bd1361cfae60c25e4d5bf5edf81d2d7572e91c04f51b5ee89c2bfb849d80df333719b06659a05faaf6fe1595d50278df28fee823da77cfca8d66bbcdd917cb7ff7166b5616524a9baa1b67b2c71895f343bafa2372c125dff19e7320f50faec77dec130125df1f428e0a6220ae7375e1e4ed4aea04129816cfe867e267f6a5ab116132575a7ab19cf5c85645fc71cc8ddaadd8a46144afe9ee6825ebfacd72513621ee2460299bfdbf3a94eb9e842442a59d25465cfd9dcd9bc7cb3f8fc3645d9a408223bd7ba3ce0413d1dc899cdace1b8e74c5a6c2386f26579974250869c9e49606b0f2cefa5796a1950197b348792151549fefa296fc8c84a77b0084f8113602a8ecc66a8e612fe27a54c3a7b0581a206e2a565bc154a120f052b56b982d5d8a70666afadaea1e081bd174703dc3a801878cd70f38137816c163f73cb0bcd0883cd8526aaec0a42e88c24ab5e1ec450de195ae47abd35fea225c532433dc563fcaeb908fff4a8a38e1b797dd0d4f5c27066d90d5c2e23c6f3701a08c8748548e553255661413d825dc77ec496fb2df0d48881b20bd55fc2ef6939f1f11c69fc995566dfa8d1ec2e190f1b49ed43f3ef56c7bd0bab474256e5b32b0b11c2b17179398a2971d9518e09be09136c3ce5fdf20274132751f12dcc0ad9eeabad01fe4810b38b093bb4922cab899dac66edf282aa13be2754e1dfa93aefefeb50c47abec60e68290729a61738bd653a33dbdf8e8f1414e91922dc71125694cbe5206e9da2304549bf4f4c28e88c05ccbd80a886902517325aa591bf296849eba09df0e8e8d3ae91a74a6b8aba17b0a875d8966e50e693d57023b2a5cd923a40b4598a39e54d3d43930a5cbbf8ddceeff59118e4a243491e0ff15ef82e9732aabe749ff07c2977d50d6788ad2a5a38f24cd218575d5c6647d6a2d7a14c954263f9926c7ddac219d8ddf2926f7b6687999ea0a72c63076f6caecebf7de7eb0a04332eee4bd38d1d783be687212d2b49d994475216bc5ce748a9d5ad3f38bbc8a13c2dad4b20181326239fd38e00af10d3aca2e284db97cc1de2f2028a2a7286e6bf52e1432ebf32bacb3ee510a945194947c3727ae30ee21129fdf5c799b3d148e9f2a54fb87239c64c23f53a82da7544ee41bca71c61554ffca5bc0e1ef4510179654f02d2e8d0531e1ec0ae25091a070ef2a3e7a3920e07b042f146ff56c73861c28448d9af87d7052b954cfb5f36f7e064e665fa33fc8e815bdb27c1c0e5e8d27be66586836fb22604ae8f1ff3cb72c0c9af139cdc1ebf7b7eba70c9e81ee0226e5e485dffcf1e8cb4cb8e0fd51aca535ccac254612ce7915a3ea04bfde9e3a4ef4b130e4b89c2f165c232f2b36a62db15227691ae3337c9c2ffbfbae263a07222cd10aeea2073d1f27e7ff142533df715cbc7ec802cb10c3a6ec357d04ea2d9efc5fc69796fc4babd6418e4424c828b85d87cf7c864d795119ba32aa03cdaf47950926c76cb9ec18f59d0fcb26b684c24426226b33e2cd3a18ffb46dcf4ca489d65cc67e26a060732863597c48b9bf38c118ca54f18a441335acbe29cdf50fdc3c9f11b550aaab1000836a5277c7a024f2a4b7a3b0e5592cd32f1a2be49b030ac8799cd85f6f5f2002d5f9b0720bda81b040ce6769dbd18637260aaabf8ea602ce878313acf6b7af18a2f7b4ac1eaa320393f72a493c2bf52e6b39a3fa2fa2776f37b0fd9a397682dfe26298ff4d33d1f3fe892cde6056b16410960b3fbd5228c5d6224af91d69d5e4a09420996ca20215e03aa51ce5566941e642eb66983c60f739fca259181e8f7d203a3620d8a52cdde7fe67afffe3b6d504c1940815526b47beb52698d1b1342dc83f3e2844519cc2275b0df6c1d1f676402d4b088bb0f91e621d41311b62e6baa31d8d48e6c07c8aad655fc4f851c117f98019523a795045056e3fab07328c7019d6d39fa4de996883ff03eb8041b4a2ac33e95fcce33cd850e0c7e03ffed80775b0c597fc90d116859102f25777e7e6ebc5831133bbaecce4df483f424a9c4a140e4a0b2c23f2b71e35197b9fc4d7d99c10218ade57dbee29e027b621e8f76ada4adda0e23b1462b9a348fe44aee09b97e38e924e11b1973ed6f63a8cc8352a416d499c9dfddb213e45624be9e5da8586f79bc1f635c978ac52f15e720e4a11382cea4adb206b10c4f4247da2cd5444b43891f8712118fe4f6d6bb6b557ae381301fc3995a27f30925ca70a6100af16167282f1c197d02b4bcb80846fde92fbc1f6506cf19969be1049d33e28978eff36a43e27699ff065fb99771edd21013f9cf59568b2f15b758464464acb6b565b94058e7ccb45203ee45c4fae4ffacafaa243bd37bf9cdfd039ee7c9097d6e9739d71888b0bef0919b17d10f66e991db6c0e26f8662d906172991a054414b7aa0137ba516b449a47ca4daf6481e8ce014ffb913265128fd094b341189323f5ecef666fd0a4b4522ec4587b530372f80faeb369c567ca8199132b2cc70e995723decaf7c2d66dedcae0505df8438e5a73be68f580d43c8caa5c6068446728580e4f326aa3f9b559afe936b46ece03a8d24663cb6c8a5c202a1a65dd61d1a54bbd0df18967eb48b5762c98a126bb15fcd330ad822949f20e4a019e4f24e6e9d02d562d28e4a2a12309a213a04f09b8e0cb195bb37cf46d9d1f802850d8b52a60aef530b855d51fa08b4d2710e0a9c84260f51c7c196bbfd74c551a1a5e38265e3b544f6c004dc008ca929417418c3352ec09a58a7954c18644c5c6242ead2ba2e9c6632542b523d2d94c3d3d9f42db9879f82ccc9a5d2bdf3bd07140e93799d8f4b22a4485753d8ea93083cf3245ab3c218ac8eecc8e45eb9f1166bec356a21955669c380e2f26baf83d5325e85417ce30a96cd0c6543dedaefee3d90a08bd699612eb6778bcbff3e487aca173769bc7aa258c94eeeda08e0e45971d6e12a7182028e12614539e07ec7497eaeba3fdb047eea6f4edf4ddb7b0d0d69cc77554b30a7b1a2e39d71c5850aec6dec1d1e27840f938308cb984e0c98321e1a461c9e92c2c89d26474da6219f05f6536f8b832e302afc8430527f7c999033846d04c390b9b3fc823ff5ff341e486cca1aacc2315339b9fe7286317511d5d742dbce595ed619e087948ccd4d483a55fb9ec08996cc3e898e1e5fb51a9d6e66434da6a0fe32968cb154b6ce30dc5ae279c6010cf06fe27d78e838082b615d83193cf8f46480c08d3d0713f99f6436ca50031ea03b4d6584ac9b2b6aa0730c6b4a9ca3e7230fa6930f59a2b9bbe89e32258351ad1f40a52f2fe9bfe1dff055d4f80bafa2dcde7c02f863a22992f27ba692a1e4928a2ace4fae563bca2dd5db64cd152f3abda1ca451bb4aa288f90a836d752c7bb6ff430e40e20d50c680539f9463c8b06ded0949fd38efeca1a824fa30efbe174af834d62a37c52409540f53d5bc1e05c1ebfbff80ecb4ad20fee8838a9ff8f0a13e019ac3e02e20639f0f39fa0bf8e1e6a47248cfb0622afdc1aadbdb2bfe5ad5007bc601fd24aa0df5f2d8e9e35199d1cb26573539da0f3ed429f7d22d83bd6cb88d32626dbd39fa949b0ea0bfbbc7324ce22d92488a4aa595a12bb3fb436d4f0d4471fbe7017cca68298b2d12150f966d7054b4ea29ac12649c8af6e64a464e3ede0a24badf804ba44a8ec2d121643f52107271a951228edefa17d2e4d6560039be72322c5586c6845f8c6ac42663b39262bb6387cc009ab28d853f36248981dcee8ec27e0cb0fa71dbc1d2e32a0eeb72a5e940e32e2dda99f298c232b3f8c69ca6cb8a3631c482261bf58794e3c49cb9a80cab75198e8756572202ec5a31818712bb3020acf96992849631972294d405ecd867e06800efdf1b6d54efdd6fcb46b14c9956e957be42950e9bb5635ab1c913039f2d5572394f569fe1e267177fe470e9288f1c5bc77175b3c800d9f5a3a157e11822729a025cbb3bbd6a7cf9fd15e955c9f4dd6e91255dbdd41f329e22083b3970af07c5ec7df9cb1af355c03e00a34e394ca1dcfce8b00de8bf17f8a22c96eb984a1e0ed0a2729c6cddf52cd8afded883041d6acee3aa5ffebef37949b8e8c6126b6708756122cf6abef71a5d6d64007456ffa988a143dd50413c0d24ff7d379d7216a8a0cdcdc4861e1823fbd0d55123da7be34dbb3359ab00afd1c40c4965f3139289146307ef09b2533da33dcce1ea001082614335e30400c5a6e0cb64cd365d48e7eaf5601fc5fa6c1de012222d63b4cadccab8e19085c3b03813730dda1e3e4723d89b5d1a7af2b9121741e10b935359d2b54680e66af765db81d4f24fb84863653abeef572699da19afd532162c80523eacd90f74c66ed122fa4c2d24f8972e990b6e456d4b9fbbd68de2cb551058e1621d2a4cae432df61cda7b3d9e12142d70effafb744992dd3339fceb5f9f08825c1a78d829ecd258f8e32dc2fa544612400b69de2702ab1309b8fbfe0c6501edb4c62b206fd0178370d6c62d0b5efb418c8ce572c34c4273edeca71d23adaa9bbe28df9000aab57eb1ef749c7f51ad272d655129455bbf0fb0703e90b94a9fb3feb549931bb3bd67456ae5a82754dbc2d38dffaf6f7aaa58ebd12cf8967f4967bfb683023c4626118478d5f2c508ed1d1038e6c269059bd7c0c8f7b101b865d75e94acddf5d5d55c8d75cb91c1411585db14fbb77945950e43d43ba88171ab6c52c76b0e901d2c40be2238d7d3c16a825ef8df59ff15a3f816147803bcb3aaa2d85b2bad1a4aae8ebe47f8c984351e0237c9f68f5fdfc29d423b615b48347850dd84937bd785f93224d3d892d730a1ae417fff48f6e3d65ae4d82f8765b2d108fef6c0044dbab90c76a1291111223a703adbb4dbb5ff36971dcb5222bcc7f7af4fd14a34fe6446c3af58210edf42f8fcf8a288bbb7ca44a867cae1bb9d77302ded10db5d693de0637070bd2985b274745e2665f1eb4b3b49f866746f0f0aa60157886b09307c892d1462ed9d669ef0c71245ac396e337dbb5093bad30fa6db2eaaa79309c55fe64b5d6ab64c6470237b3799ba3dfd708f06c4fee14104c86b745b60e37867cde915e15ffbf9bbb0f153c969b994008274fff7c3a991785375303e0c24b132c131362417f806722ee337eda0df4977050060d0a5a7df615ce4a4019ff8bcacd3980e1028ba5c1cf689af83ed78dbdce96b0bbb47e274cfdda38762a3db9ffe95ae4f8f65f921d8666b088aa7cac86ec5ccf5649cfeaf8bf72cc970debe4475d3b4e812e9181481d1a206eaf5da87ee141c4c5c7b1efcca42aa258d6df8eb07165e6264866bd6f727d529b278eb321cb3b5322c792ffd7d16f976e8d1944c3b908f4d47651b57d6cc89cb5dc7886a28ebe5c17afecd7dbdccd8162a7714be3edc9f54cd5652f8d2614090993ca0be54f9ad164d6bd7c0b0e541b8318d24ef184e51f8ce24ba8dc8f5a74df902f4f331b8236c59af84cc4a7e736bcfd69938a01d6a3662fad33c859f9272ee4eb0dcbf81690de281c25b061d590b75afa50952befdb3eed093daf56696db5849e7a158594ae46c39f60b3b37842b6f1d3e9fa10a0bcd8ab5095bc60c5074e835a654c3eef090c8bad23112ee3caab007714f15550b769a09ee0db326f706afdd5ef97fd18a3c5b02adca1b1d37bb50613326cf2978e2d42955e8b74dabcd19316c65e342dc19a188c5bdbe8b46e1e9f71555b4386b79ea9882030f5a76cb72edf564b73232ec89d1467b6778053b0ed64ee73048d43b0eb0baa5b7f7f8fb10dcb2e2a967391fa66d733387f8826cfa4fcf3f42b8058af27d435f67b4828d4320aadd0e63ef5835cabb191109f31a14e8621fc967cba4b063850c614fb37b9c0e3a8b2a31e1fa3b52c59faae87b0d3953a0ca08f450d61fb3729fb8d97a7beb9fbd32ebc40c7f5bac24b69e2a8fad90c51ed998681c6e0fe8ea59f9218366bec9248434550242af885a94c7162af7f945d53ef76dca6807464603c93d30cfa64cab88e82b35c51eb74c436ecc90f05d89d0a46a08ed5f691820fa770c813cd5e5b458ddec021350757dc9756ed518d9919711c58ce55ffc848e9e7448ce573332455b772045ff0971e37d9a3363a6a26cc8ff7f7ee15154adc70b24563d752f7ee5f135de3a19b7fd6a1e33d55c386459eef91476d88efbe3ffce628a8e27e5be1b81c8407722b1e3d7c0ab16c47c2419f6dd0b6004cb4f828cc1b8a692f0f23a33867a2d3764773ba22582bb2641624160db122e14e9009a973eacc645b08517930236fd9cac2963329e117cbcbe02c7b783321306acc5fc1a4c20fa54b423165b898bb2bce167e7581630ff8acb223a909bc58c94cc87dc2270af0b9d02f8d6083e086797c77344f9dc2b48dc035f5f8cbd9b6f5af45fca82ebe911e081315ce9ad6a463b06b89369bf17fa567584fdd9f6bb74919e287637c295a0d3b8f171c844ce10fad8b9b09e2f1afe4ff68117d6cc80fc79ef47742686e84cb8f9704c8b80d6f10534d4dbc2a78d24e6b2a89554506c9f75ad9a80654c1fb3509cbe166750945bf340b998428e1c63c333f0193abedbfd6c3c954c8919bfdd451987226fb12c156596c15d457ff36b9655bcac96885982b22ca1ea393f1af6a0c89494fc15ebe94ec639f7fb14af21b0b861838a7364570f02dee4d4daa2f579a5d3312d71dea22bcb23fb8c97caf1a98f730376d424f30efaae0b84076f10e32c0bc3ad8adf326a037cfc4022a1c073505209e416abd6c210f0c3145bc1d2a919798aeac5b6cfcb9439d1860f1c4b6b4f5b52b1b740ed33b13a24f12e72623f08b3b84086540d09d09dd056b7ee83b4bdd317a756c1f3056080536318aaf151666e7f970e56779dbf3708164cf2f96ca7ce2734d694e6567fc12511d96dd5ed5c9dedf318064e75cc3b6eb2594db6c1c2200de69a5eae44f767beaff6d69ebfa40065732624a391bee27c35a9556f9d3129f19068ff986fb51864a495aab85ef83097289b0e6ca25f6f6068421f783a13d5d7d15fc5b5b8153e4c1b260426e658e6678d4cb112bd4274e2215d840ae3e933497514f6f24dbbcd14f63208dde1891296a3fe1693acee6ec7916d3aaf4960c790ba7ad9ca820d78daa2beebb2650910e85eef3fd78e37d500bc9455da8d6c9fd80418de48d6dd102b38ddf3122378a91851caf31a8053330f8717b3dd26f6bacffa1be51f5b91ad4bf5e6c0769eaf20869a7ca0be9c2ac45a979fa6bd94292e47d7a24f8783971f4503493cab6798f15af3539d7c505928bd4ace3a737645921d5e27764ebdfa4ea5788108f614f35b3774b36efef8ad0fb2f1ad0e03187dbbfe66b277c121e89c4fb7547f8e9e141a8896487640e931a66d8fc672256501f4130e7e5224416affcb03d45ec4d99c7fb558f8306c8f12e685eabe6258d12ce290f422314b13dd29384ef223b6ad5bb677483b91d5bd2fd62378f45d40be1f29a9c0d3e7a449dff060b2a87286aeade476882706eabbb59596839d7905e0c6c103ef78ee109a7ec00cc97a5a981b9c7f7bc7c02b6903a267c12c9124261460950b9e9a1932b1eb6a81662bf0764d2892a6f3242cc5a77e32741c873dc2194ac2973323789867fa0efedd37b04035c4f29ab03ea51d7e6ff689886abb8ffe5d5a461a29f9ce4020fb4f69de6a4f9b8fa23f4d6e3c4996c524416eb972dd223fd50776dee197efdadccb8fc5d1e788b75f700cec04c7f828841273289b018484b6fbb30b5a34dfb7186153fcf76e29336c0104e4814fe616985410b0e991dbbbb4c273342dafb97bb79d4f550b34461a78ef76f0463c89710866d92ff9af1be10857c7a4f369644f1cd45140c50fae04af82e1081944730b5e27bd3f9076b74f8cdc88aaa571d44e0d7cd29c5c595d348356c49683c7ce61bdced8dc3db63ecec4cb6794bb0789d018fcab31f796f672f3e938115e990f61c404314e051a92730f4e094f016c02385830254aef88122434c6125c05e4357e2573363934c96dc827a22948e534298a05fe3d0ef78a090c81489866dc4cb7234cee64c4b90604eb73f737549aea074d2c4ef68b1fb97679d1acdccec156e098d57ace1bcc922f9152807cc4b9f738e0f312d82b6e20e95792b90a37b30c816009d54d129034526a99dd4e4bfa6bdb647301a449dfeb90811bbabe8bd1d76e50fb032b2fcf8d7cbd4370883e2f9eb61945d62217cb1e38d8fee6e54564e24a8c82a1de8dde7e7d7a55fa98881e3fdd4647679ae79d6f07fb2021e102b34ccb195982e1febd801fca1d4a01aca2790a8edcab3b1f442ef772fdaaa2d40ece2068b5d4eef5281550458db36e20afb54ea8d6c6ce0e96e5aca601fc3547a65f78db39eab8da470437e6f2e5a4be9813268764c19f1ea2d29e983edf694c9b8477bae53cb8e5498d1986f12d9fbccffad105e81078a8f899de0e746202695aa0a0238fd9af4db43df0abe4d9d82f3a0d804d5e4f3c2047a9a9b7a0eb984f3951c3fdaa8c63b4c5b1b99589c9e389bcef8490c5345b41203729dd87aa0e5262df6b3753088d8753f57d11ae300f1e84edb25148056ac19a31e0d0b227d03ef42e67a437431c58ffab171713784ad82a7c69334531cfd5a2bb47b78928a0a08a598cdbbd453dd37fa35a01e2120790106c7c369bd84bc6906ec9f929cd103296246aed3bedc08f87abb224b8e72dfcb9f8e8ee36128284f01c6f2f7ada0236ffef89703ca5f7d05c7d5e038e7c962863071ba38581690cea47f467c6e0578e30bf6e63c2ec1bc7793b1a6621b33e85a336785eb7fb82529c57e310c3c68c58133403b39c4125936cbda9809d067cbbe58278dd8c778e78eea54bd01daa84d8d8d218c68a228d2937eae82859a223489ea3feb02a181c9e821e930b9a738fa4f08741910a61cb1d2e3871fb288ab195f15562eb4fffe6888d0176aff45b95cfe1f886e8b5c6ada1d2e17db0e4ff8c143a85888ff172ef84a5e21b258b9b8d24fe5000177e9d43efcb1c27220182669ca321ec2758c7c77617128328d5af12c3931622a2d090d4535d303690f0892aacfd61744f3393a48bb836b03e0395abf96d16b6430ff357ea19f9a341ce56ac149c2f35abb0028b636e34b49038a9ba065c0e30f55851b39a22d3fb0dfbe8a27224ec86cb9ab9d2c786364c724f75ee05553d9813d133c32d860c88297f47f0706561017d6fa0def98c85696374d1957e7068ebf63d39e71cf17a1e4e8b6831000a88cc2dc0c6ff9ea79ef4990408c8bade6c141faa8bcbb9d7e5fc9e34cf6f26d6fd88fba141b07c494684286e169ffcb6b3b119cb2a6a502c04bd74dde00b48a8e0bb704dd05f1663c2dd3d834ab64876bfcd46269b041ef140af00d98e34533b1df1fdc65d715998f7c1c1f9aedd06ec5dc809aa9d57f957168f5dc506b09b59053fb678196d40b441131c02ac85a0c7a7a1f45c8ed994a534e4d14ff5db6fdbd0a715d046b92064b6525f070370fa9efd2f69044fe02311e92447c4c0b48988e6691cc7a61aa4eb98fb59ef106cc5ebda09c1619aa864762bb20d3134162f1dd7b4537ef08f9dc481d7f9962e91817de73dc54999ffd38eae7b023a9ba33f2ec78bea22f0b3492e02816da1e18fdfc5bb6ced19be8e363b0e22594a61e7313ad399e632dbcd4f0c2a1f95443a683e598b4c019ffa3fb9b00b1ee9d367f29174ae0b17b32798c572c483930699506f424f51c7dfaf0dab31447014aba68b7a90483d5a7c5728794daf9f675924a1f505231ce185d17afac129da677a4e6d0e6de7a353ee571088a4816f68cdf906a2c352604afaf07e5efa52115969cdf8b2ef05ad6472bc461c2e0abbc18e3d57b359bee24ff511834be880bd4a7e7a460feeac4814c11903cb3f777bd955d88a74ad94251df7b950b33758ca081e581e756ce1fca994a7c9d8f3b7bb420b4bf8ed9b582d655931c528e1972bd0b993439e409999455c0f8ec1746b1bacf16b648040ade566c70b758fab267ad8f665d11996926f7fdcc12e59b1d571928d91dbde4649eb0ced77f8f336607c42f54c6191ac3330870e19039509152448adc52dd81b6ab95baa247f9441e694f8f0ceb8b4788d2daaa9449cf564e6ce70473a01dd4d52a5aa04befb419f8fb9c0567217a13b40195bfdaa7198c46c295abe4354883c2f143250cbc9c50e429adcbdcc8e34940f082af9197f9ad2393f6f8141355f393d680a751147230fc6f880b7cd921085f7c71f95cf545009b6881b947bffef2db115cc2ba89d74be4fba5a6b6602753fa8402ce7d7163c38e12c0bd60a36e7adc0b3e8c89b86cda4ddb6ebe92e1b498008cd4ac26e7119b78be529556434ea5b0f40e633986da34e5c735bfd3d13360282b2cf9c200f543cde7aff15e434570b59abb9a811130714735f9a7c5c6888d844a73392e618b76c139c6af1dbba22877633f5a7bfbcf8a6ab0399db4180968b31fa416438c46d46cbd5b89f4d874d6c6fc05198b8b21392ddbf1b590810a10a35b7099224153af238b77b19aead6d76aafa4edebc01ba58dc40c8562d14c6a93e39f984548bcd4dffa128662df8869d9f8cda15ecc9c1d086f4e67538dfe8d1f7a75406aae1733229be4c012c82f5a17559035dc7d107880321225d460bbeabfa567ee2d5122f45b92889f374453fb014e22e695e9fb0728d9c0ddbe74de8f995efa3e82851ae1c531b7db1a1b674972a912e38747713ba2dc4dd7503eab6ca93dc5ed79800b4a1d690180e27f9609476ff0a07af67b62c3093c12297c146a8434182f1f9088bfba1f4f23f801d63cd249e2026fcb7ebac39d31d74a88c3a127906761b248fa5420cb15a085edeeae4fc2b05d2f4bc86bc698d1527667dd456fb9a10567cc1f7ef767eebfb910dec9651eed2d7dc0e0f5341ae73f916bb973d83fbbd51f5140ce5a6b1477d301d45e56173bcfacbe668c7ec151110167715e98ae1cd96dc53dee44a9a158f4b4c5d4e27f10e51dd751621c37a470d05b891e1ec52662ce138147a6741bff9bff28d829b8fdf2a27ace7dbdd0ae1bc04f169a2a400f6108bf39ba34c3fdf4d627a0aa54fc2b32b84d9365f447f49e1f44f21e86f1513a7bd2b9d5698c6b21f7678e1ff59aea862705725054a6b187596c19b713c904121783d13e486d752a3bd6dbdb0ab4d30bab7a97ef8fb31c6adf74fb9de14e4a501befb68763b451253799a6b9c1559d712797c8bdcf26890398dcaa658733f2ba410792efe5bee4e5f96ed3f779a6a072ce7c031cf5e61e9d632ed4e76fede4bcd814d80868388ae5918b497e86c2c3d2236d469fe7e278c07e5119f663672be30df82016257feb427f0ba31fb6b7908637864b38500118a68159c1dc79b9d9efee8248393f81d4ac800b3ab987fc4380f82e38446457696cf11532213d287dc4fcc50a8002dfdc457b782ed31b0fe51253c70d51877caf1c6faf0f4fdf7e8c3f8115df5a0615adf4117311e1f219d837ee162155507691df4e7fd396e9faf6c07b986e3a8459ba221ee21384e975f0b4a70c8ef06a85bf38ffd32f05ed2bebe55e1267894cba5df360de55213b57a5d26add493336d33f78b13e303b7ebd47438873ccc4df74a6c4b8e97d1035ba8da4d979596cc6b6d0f0ae341c387e206a33318286c5f98898beca8888339243c8b04c22a0a150f75c4b859a41a5383d449265085df9982c3ee473f2751bfd267c36a927a4b911c17bd4acf8090fa1563a5a00c5f1da326916dfae3e55b942fbe499fd35b71d176f960c36719f24008848c8a452cbfc02e0170fb7c99cc431ea3d8c030c261af7d2ed8f9786280122722c6f165a1c43f2d8b85ae8573db9404cb933308b22be5bb52278879e2553994ace28c6a181dd24d18d9aa8cd535e15be62474463a041f02e8ac87d4c0d4e696d4e3e84d7d77cd02aa7d027d21a8a9879d8adba2277d3a18e0cb77d6d963169cfe9c2e560570f4aecd34dcf61335fc12b2f0d9100a4f05ff0ab596b4bdb39a40854b2c359fa0ad301fde26c168becd4a880484a0867359c1f3b09387de923e532589404e9877912f8cfbd17d694c3fa6c26a9197592b09655657c103dfd10340c3672d712ef923ee9148e06a4d7fd13b50fa9a17a08ad43bbe54c542f88e02fe4a74c399be4f5b</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">有东西被加密了, 请输入密码查看。</summary>
    
    
    
    <category term="诗和远方" scheme="https://blog.cancin.cn/categories/%E8%AF%97%E5%92%8C%E8%BF%9C%E6%96%B9/"/>
    
    
    <category term="情感" scheme="https://blog.cancin.cn/tags/%E6%83%85%E6%84%9F/"/>
    
  </entry>
  
  <entry>
    <title>简约风格音乐外挂标签</title>
    <link href="https://blog.cancin.cn/post/a3bac35.html"/>
    <id>https://blog.cancin.cn/post/a3bac35.html</id>
    <published>2024-06-29T05:32:30.000Z</published>
    <updated>2025-03-07T06:57:20.000Z</updated>
    
    <content type="html"><![CDATA[<h2 id="简述"><a href="#简述" class="headerlink" title="简述"></a>简述</h2><ul><li>结构简单，功能简单，支持播放、暂停、播放进度控制。</li><li>每个音频单独播放，互不影响，且与控制中心的 Aplayer 相互独立。</li><li>如果喜欢该音频，可以点击右侧加号按钮添加至 Aplayer 歌单列表，实现全局播放，同时可使用 Aplayer 的桌面歌词功能。</li></ul><h2 id="格式"><a href="#格式" class="headerlink" title="格式"></a>格式</h2><figure class="highlight markdown"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;% music 标题,作者,链接,封面,歌词 %&#125;</span><br></pre></td></tr></table></figure><blockquote class="orange"><p>【注】参数两端不可使用引号；各参数间以英文逗号为分割，故参数不可携带英文逗号。</p></blockquote><h2 id="预览"><a href="#预览" class="headerlink" title="预览"></a>预览</h2><center><figure id="mc-贫道" class="music-card">        <div class="player">            <audio class="audio" preload="metadata"></audio>        </div>        <div class="content">            <div class="mc-progress" onclick="setProgress(event, 'mc-贫道')">                <div class="mc-progressbar"></div>            </div>            <div class="cover">                <img src="https://p2.music.126.net/vCtY0DD0Z9PEmiCvn0Dxig==/109951166557423224.jpg?param=300y300" alt="cover">                <div class="play" onclick="ctrl.mcToggleMusic('mc-贫道', 'https://music.163.com/song/media/outer/url?id=1889956929.mp3')">                    <i class="blogfont icon-play-circle"></i>                </div>            </div>            <div class="text-info">                <span class="title">贫道</span>                <span class="author">刘心</span>                <span class="time">--:--&nbsp;/&nbsp;--:--</span>            </div>            <div class="add" onclick="ctrl.addMusicToList('贫道','刘心','https://music.163.com/song/media/outer/url?id=1889956929.mp3','https://p2.music.126.net/vCtY0DD0Z9PEmiCvn0Dxig==/109951166557423224.jpg?param=300y300','https://metingjs.cancin.cn/api?server=netease&type=lrc&id=1889956929&auth=158b99e6dfca74bb034069a1d60aa1a9b95775ca')">                <i class="blogfont icon-add"></i>            </div>        </div>        <script>            function mcAddListener(id) {                const mc = document.getElementById(id)                if (mc) {                    const mc_audio = mc.querySelector('.audio')                    const mc_play = mc.querySelector(".play i")                    let intervalId;                    mc_audio.addEventListener('play', function() {                        mc_play.classList.remove("icon-play-circle")                        mc_play.classList.add("icon-pause-circle")                        intervalId = setInterval(function() {                            ctrl.mcRefreshTime(id)                        }, 500);                    })                    mc_audio.addEventListener('pause', function() {                        mc_play.classList.remove("icon-pause-circle")                        mc_play.classList.add("icon-play-circle")                        clearInterval(intervalId)                    })                }            }                        function setProgress(e, id) {                const mc = document.getElementById(id)                if (mc && mc.querySelector(".content").classList.contains("canplay")) {                    const progressBar = mc.querySelector('.mc-progressbar')                    const audio = mc.querySelector('.audio')                    const clickX = e.clientX - mc.getBoundingClientRect().left                    const width = clickX / mc.offsetWidth                    progressBar.style.transform = 'translateX(-' + (1 - width) * 100 + '%)'                    audio.currentTime = width * audio.duration                    ctrl.mcRefreshTime(id)                }            }            mcAddListener('mc-贫道')        </script>    </figure></center><h2 id="音源"><a href="#音源" class="headerlink" title="音源"></a>音源</h2><p>我主要使用网易云的音乐资源，在音乐单曲界面按F12可获取封面链接，页面网址则包含了该歌曲的id，而音频链接格式如下：</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">`https://music.163.com/song/media/outer/url?id=<span class="subst">$&#123;id&#125;</span>.mp3`</span></span><br></pre></td></tr></table></figure><p>除此之外也可以通过 Meting API 获取相关资源。</p><h2 id="实现"><a href="#实现" class="headerlink" title="实现"></a>实现</h2><p>新建 <code>themes\butterfly\scripts\tag\music.js</code></p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">&#x27;use strict&#x27;</span></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">music</span>(<span class="params">args</span>) &#123;</span><br><span class="line">    args = args.<span class="title function_">join</span>(<span class="string">&#x27; &#x27;</span>).<span class="title function_">split</span>(<span class="string">&#x27;,&#x27;</span>)</span><br><span class="line">    <span class="keyword">let</span> title = (args[<span class="number">0</span>] || <span class="string">&#x27;未知&#x27;</span>).<span class="title function_">trim</span>()</span><br><span class="line">    <span class="keyword">let</span> author = (args[<span class="number">1</span>] || <span class="string">&#x27;未知&#x27;</span>).<span class="title function_">trim</span>()</span><br><span class="line">    <span class="keyword">let</span> url = (args[<span class="number">2</span>] || <span class="string">&#x27;&#x27;</span>).<span class="title function_">trim</span>()</span><br><span class="line">    <span class="keyword">let</span> pic = (args[<span class="number">3</span>] || <span class="string">&#x27;&#x27;</span>).<span class="title function_">trim</span>()</span><br><span class="line">    <span class="keyword">let</span> lrc = (args[<span class="number">4</span>] || <span class="string">&#x27;&#x27;</span>).<span class="title function_">trim</span>()</span><br><span class="line">    <span class="keyword">return</span> <span class="string">`&lt;center&gt;&lt;figure id=&quot;mc-<span class="subst">$&#123;title&#125;</span>&quot; class=&quot;music-card&quot;&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;player&quot;&gt;</span></span><br><span class="line"><span class="string">            &lt;audio class=&quot;audio&quot; preload=&quot;metadata&quot;&gt;&lt;/audio&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;div class=&quot;content&quot;&gt;</span></span><br><span class="line"><span class="string">            &lt;div class=&quot;mc-progress&quot; onclick=&quot;setProgress(event, &#x27;mc-<span class="subst">$&#123;title&#125;</span>&#x27;)&quot;&gt;</span></span><br><span class="line"><span class="string">                &lt;div class=&quot;mc-progressbar&quot;&gt;&lt;/div&gt;</span></span><br><span class="line"><span class="string">            &lt;/div&gt;</span></span><br><span class="line"><span class="string">            &lt;div class=&quot;cover&quot;&gt;</span></span><br><span class="line"><span class="string">                &lt;img src=&quot;<span class="subst">$&#123;pic&#125;</span>&quot;&gt;</span></span><br><span class="line"><span class="string">                &lt;div class=&quot;play&quot; onclick=&quot;ctrl.mcToggleMusic(&#x27;mc-<span class="subst">$&#123;title&#125;</span>&#x27;, &#x27;<span class="subst">$&#123;url&#125;</span>&#x27;)&quot;&gt;</span></span><br><span class="line"><span class="string">                    &lt;i class=&quot;blogfont icon-play-circle&quot;&gt;&lt;/i&gt;</span></span><br><span class="line"><span class="string">                &lt;/div&gt;</span></span><br><span class="line"><span class="string">            &lt;/div&gt;</span></span><br><span class="line"><span class="string">            &lt;div class=&quot;text-info&quot;&gt;</span></span><br><span class="line"><span class="string">                &lt;span class=&quot;title&quot;&gt;<span class="subst">$&#123;title&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">                &lt;span class=&quot;author&quot;&gt;<span class="subst">$&#123;author&#125;</span>&lt;/span&gt;</span></span><br><span class="line"><span class="string">                &lt;span class=&quot;time&quot;&gt;--:--&amp;nbsp;/&amp;nbsp;--:--&lt;/span&gt;</span></span><br><span class="line"><span class="string">            &lt;/div&gt;</span></span><br><span class="line"><span class="string">            &lt;div class=&quot;add&quot; onclick=&quot;ctrl.addMusicToList(&#x27;<span class="subst">$&#123;title&#125;</span>&#x27;,&#x27;<span class="subst">$&#123;author&#125;</span>&#x27;,&#x27;<span class="subst">$&#123;url&#125;</span>&#x27;,&#x27;<span class="subst">$&#123;pic&#125;</span>&#x27;,&#x27;<span class="subst">$&#123;lrc&#125;</span>&#x27;)&quot;&gt;</span></span><br><span class="line"><span class="string">                &lt;i class=&quot;blogfont icon-add&quot;&gt;&lt;/i&gt;</span></span><br><span class="line"><span class="string">            &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;/div&gt;</span></span><br><span class="line"><span class="string">        &lt;script&gt;</span></span><br><span class="line"><span class="string">            function mcAddListener(id) &#123;</span></span><br><span class="line"><span class="string">                const mc = document.getElementById(id)</span></span><br><span class="line"><span class="string">                if (mc) &#123;</span></span><br><span class="line"><span class="string">                    const mc_audio = mc.querySelector(&#x27;.audio&#x27;)</span></span><br><span class="line"><span class="string">                    const mc_play = mc.querySelector(&quot;.play i&quot;)</span></span><br><span class="line"><span class="string">                    let intervalId;</span></span><br><span class="line"><span class="string">                    mc_audio.addEventListener(&#x27;play&#x27;, function() &#123;</span></span><br><span class="line"><span class="string">                        mc_play.classList.remove(&quot;icon-play-circle&quot;)</span></span><br><span class="line"><span class="string">                        mc_play.classList.add(&quot;icon-pause-circle&quot;)</span></span><br><span class="line"><span class="string">                        intervalId = setInterval(function() &#123;</span></span><br><span class="line"><span class="string">                            ctrl.mcRefreshTime(id)</span></span><br><span class="line"><span class="string">                        &#125;, 500);</span></span><br><span class="line"><span class="string">                    &#125;)</span></span><br><span class="line"><span class="string">                    mc_audio.addEventListener(&#x27;pause&#x27;, function() &#123;</span></span><br><span class="line"><span class="string">                        mc_play.classList.remove(&quot;icon-pause-circle&quot;)</span></span><br><span class="line"><span class="string">                        mc_play.classList.add(&quot;icon-play-circle&quot;)</span></span><br><span class="line"><span class="string">                        clearInterval(intervalId)</span></span><br><span class="line"><span class="string">                    &#125;)</span></span><br><span class="line"><span class="string">                &#125;</span></span><br><span class="line"><span class="string">            &#125;</span></span><br><span class="line"><span class="string">            function setProgress(e, id) &#123;</span></span><br><span class="line"><span class="string">                const mc = document.getElementById(id)</span></span><br><span class="line"><span class="string">                if (mc &amp;&amp; mc.querySelector(&quot;.content&quot;).classList.contains(&quot;canplay&quot;)) &#123;</span></span><br><span class="line"><span class="string">                    const progressBar = mc.querySelector(&#x27;.mc-progressbar&#x27;)</span></span><br><span class="line"><span class="string">                    const audio = mc.querySelector(&#x27;.audio&#x27;)</span></span><br><span class="line"><span class="string">                    const clickX = e.clientX - mc.getBoundingClientRect().left</span></span><br><span class="line"><span class="string">                    const width = clickX / mc.offsetWidth</span></span><br><span class="line"><span class="string">                    progressBar.style.transform = &#x27;translateX(-&#x27; + (1 - width) * 100 + &#x27;%)&#x27;</span></span><br><span class="line"><span class="string">                    audio.currentTime = width * audio.duration</span></span><br><span class="line"><span class="string">                    ctrl.mcRefreshTime(id)</span></span><br><span class="line"><span class="string">                &#125;</span></span><br><span class="line"><span class="string">            &#125;</span></span><br><span class="line"><span class="string">            mcAddListener(&#x27;mc-<span class="subst">$&#123;title&#125;</span>&#x27;)</span></span><br><span class="line"><span class="string">        &lt;/script&gt;</span></span><br><span class="line"><span class="string">    &lt;/figure&gt;&lt;/center&gt;`</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">tag</span>.<span class="title function_">register</span>(<span class="string">&#x27;music&#x27;</span>, music, &#123; <span class="attr">ends</span>: <span class="literal">false</span> &#125;)</span><br></pre></td></tr></table></figure><p>新建 <code>themes\butterfly\source\css\/_tags\music.styl</code></p><figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-class">.music-card</span></span><br><span class="line">    <span class="attribute">border-radius</span>: <span class="number">21px</span></span><br><span class="line">    <span class="attribute">border</span>: <span class="number">1px</span> solid <span class="built_in">var</span>(--gavin-border-color)</span><br><span class="line">    <span class="attribute">background-color</span>: <span class="built_in">var</span>(--gavin-widget-bg1)</span><br><span class="line">    <span class="attribute">box-shadow</span>: <span class="built_in">var</span>(--gavin-shadow-<span class="number">1</span>)</span><br><span class="line">    <span class="attribute">height</span>: <span class="number">80px</span></span><br><span class="line">    <span class="attribute">width</span>: <span class="number">100%</span></span><br><span class="line">    <span class="attribute">max-width</span>: <span class="number">350px</span></span><br><span class="line">    <span class="attribute">margin</span>: <span class="number">1em</span> <span class="number">0</span></span><br><span class="line">    <span class="attribute">overflow</span>: hidden</span><br><span class="line"></span><br><span class="line">    <span class="selector-class">.content</span></span><br><span class="line">        <span class="attribute">position</span>: relative</span><br><span class="line">        <span class="attribute">display</span>: flex</span><br><span class="line">        <span class="attribute">align-items</span>: center</span><br><span class="line">        <span class="attribute">width</span>: <span class="number">100%</span></span><br><span class="line">        <span class="attribute">height</span>: <span class="number">100%</span></span><br><span class="line"></span><br><span class="line">        <span class="selector-class">.mc-progress</span></span><br><span class="line">            <span class="attribute">width</span>: <span class="number">100%</span></span><br><span class="line">            <span class="attribute">height</span>: <span class="number">100%</span></span><br><span class="line">            <span class="attribute">z-index</span>: <span class="number">10</span></span><br><span class="line">            <span class="attribute">display</span>: flex</span><br><span class="line">            <span class="attribute">justify-content</span>: left</span><br><span class="line"></span><br><span class="line">            <span class="selector-class">.mc-progressbar</span></span><br><span class="line">                <span class="attribute">height</span>: <span class="number">100%</span></span><br><span class="line">                <span class="attribute">width</span>: <span class="number">100%</span></span><br><span class="line">                <span class="attribute">transform</span>: <span class="built_in">translateX</span>(-<span class="number">100%</span>)</span><br><span class="line">                <span class="attribute">background-color</span>: <span class="built_in">var</span>(--gavin-highlight-op-<span class="number">1</span>)</span><br><span class="line"></span><br><span class="line">        <span class="selector-class">.cover</span></span><br><span class="line">            <span class="attribute">position</span>: absolute</span><br><span class="line">            <span class="attribute">left</span>: <span class="number">10px</span></span><br><span class="line">            <span class="attribute">top</span>: <span class="number">10px</span></span><br><span class="line">            <span class="attribute">width</span>: <span class="number">60px</span></span><br><span class="line">            <span class="attribute">height</span>: <span class="number">60px</span></span><br><span class="line">            <span class="attribute">background-color</span>: <span class="built_in">var</span>(--gavin-secondbg)</span><br><span class="line">            <span class="attribute">border</span>: <span class="number">1px</span> solid <span class="built_in">var</span>(--gavin-border-color)</span><br><span class="line">            <span class="attribute">border-radius</span>: <span class="number">10px</span></span><br><span class="line">            <span class="attribute">overflow</span>: hidden</span><br><span class="line">            <span class="attribute">z-index</span>: <span class="number">11</span></span><br><span class="line"></span><br><span class="line">            <span class="selector-class">.play</span></span><br><span class="line">                <span class="attribute">position</span>: absolute</span><br><span class="line">                <span class="attribute">top</span>: <span class="number">0</span></span><br><span class="line">                <span class="attribute">width</span>: <span class="number">100%</span></span><br><span class="line">                <span class="attribute">height</span>: <span class="number">100%</span></span><br><span class="line">                <span class="attribute">display</span>: flex</span><br><span class="line">                <span class="attribute">align-items</span>: center</span><br><span class="line">                <span class="attribute">justify-content</span>: center</span><br><span class="line">                <span class="attribute">cursor</span>: pointer</span><br><span class="line">                <span class="attribute">opacity</span>: <span class="number">0</span></span><br><span class="line"></span><br><span class="line">                <span class="selector-tag">i</span></span><br><span class="line">                    <span class="attribute">display</span>: flex</span><br><span class="line">                    <span class="attribute">align-items</span>: center</span><br><span class="line">                    <span class="attribute">justify-content</span>: center</span><br><span class="line">                    <span class="attribute">font-size</span>: <span class="number">35px</span></span><br><span class="line">                    <span class="attribute">color</span>: <span class="built_in">rgba</span>(<span class="number">255</span>,<span class="number">255</span>,<span class="number">255</span>,.<span class="number">8</span>)</span><br><span class="line"></span><br><span class="line">        <span class="selector-pseudo">&amp;:hover</span></span><br><span class="line">            <span class="selector-class">.play</span></span><br><span class="line">                <span class="attribute">opacity</span>: <span class="number">1</span></span><br><span class="line"></span><br><span class="line">        &amp;<span class="selector-class">.canplay</span></span><br><span class="line">            <span class="selector-tag">a</span></span><br><span class="line">                <span class="selector-tag">img</span></span><br><span class="line">                    <span class="attribute">filter</span>: <span class="built_in">brightness</span>(<span class="number">0.8</span>) <span class="meta">!important</span></span><br><span class="line"></span><br><span class="line">            <span class="selector-class">.play</span></span><br><span class="line">                <span class="attribute">opacity</span>: <span class="number">1</span></span><br><span class="line"></span><br><span class="line">        <span class="selector-class">.text-info</span></span><br><span class="line">            <span class="attribute">position</span>: absolute</span><br><span class="line">            <span class="attribute">left</span>: <span class="number">80px</span></span><br><span class="line">            <span class="attribute">max-width</span>: <span class="built_in">calc</span>(<span class="number">100%</span> - <span class="number">150px</span>)</span><br><span class="line">            <span class="attribute">display</span>: flex</span><br><span class="line">            <span class="attribute">flex-direction</span>: column</span><br><span class="line">            <span class="attribute">text-align</span>: left</span><br><span class="line">            <span class="attribute">z-index</span>: <span class="number">9</span></span><br><span class="line"></span><br><span class="line">            <span class="selector-class">.title</span></span><br><span class="line">                <span class="attribute">font-size</span>: <span class="number">16px</span></span><br><span class="line">                <span class="attribute">line-height</span>: <span class="number">1.3</span></span><br><span class="line">                <span class="attribute">display</span>: -webkit-box</span><br><span class="line">                <span class="attribute">overflow</span>: hidden</span><br><span class="line">                -webkit-box-orient: vertical</span><br><span class="line">                -webkit-line-clamp: <span class="number">1</span></span><br><span class="line"></span><br><span class="line">            <span class="selector-class">.author</span></span><br><span class="line">                <span class="attribute">font-size</span>: <span class="number">13px</span></span><br><span class="line">                <span class="attribute">line-height</span>: <span class="number">1.3</span></span><br><span class="line">                <span class="attribute">opacity</span>: .<span class="number">8</span></span><br><span class="line">                <span class="attribute">display</span>: -webkit-box</span><br><span class="line">                <span class="attribute">overflow</span>: hidden</span><br><span class="line">                -webkit-box-orient: vertical</span><br><span class="line">                -webkit-line-clamp: <span class="number">1</span></span><br><span class="line"></span><br><span class="line">            <span class="selector-class">.time</span></span><br><span class="line">                <span class="attribute">font-size</span>: <span class="number">10px</span></span><br><span class="line">                <span class="attribute">line-height</span>: <span class="number">1.4</span></span><br><span class="line">                <span class="attribute">display</span>: -webkit-box</span><br><span class="line">                <span class="attribute">overflow</span>: hidden</span><br><span class="line">                -webkit-box-orient: vertical</span><br><span class="line">                -webkit-line-clamp: <span class="number">1</span></span><br><span class="line">                <span class="attribute">opacity</span>: .<span class="number">6</span></span><br><span class="line"></span><br><span class="line">        <span class="selector-class">.add</span></span><br><span class="line">            <span class="attribute">position</span>: absolute</span><br><span class="line">            <span class="attribute">right</span>: <span class="number">20px</span></span><br><span class="line">            <span class="attribute">top</span>: <span class="number">20px</span></span><br><span class="line">            <span class="attribute">width</span>: <span class="number">40px</span></span><br><span class="line">            <span class="attribute">height</span>: <span class="number">40px</span></span><br><span class="line">            <span class="attribute">border-radius</span>: <span class="number">50%</span></span><br><span class="line">            <span class="attribute">background-color</span>: <span class="built_in">var</span>(--gavin-op-dis-<span class="number">05</span>)</span><br><span class="line">            <span class="attribute">display</span>: flex</span><br><span class="line">            <span class="attribute">align-items</span>: center</span><br><span class="line">            <span class="attribute">justify-content</span>: center</span><br><span class="line">            <span class="attribute">cursor</span>: pointer</span><br><span class="line">            <span class="attribute">z-index</span>: <span class="number">11</span></span><br><span class="line"></span><br><span class="line">            <span class="selector-pseudo">&amp;:hover</span></span><br><span class="line">                <span class="attribute">background-color</span>: <span class="built_in">var</span>(--gavin-op-dis-<span class="number">1</span>)</span><br><span class="line"></span><br><span class="line">            <span class="selector-tag">i</span></span><br><span class="line">                <span class="attribute">display</span>: flex</span><br><span class="line">                <span class="attribute">align-items</span>: center</span><br><span class="line">                <span class="attribute">justify-content</span>: center</span><br><span class="line">                <span class="attribute">font-size</span>: <span class="number">21px</span></span><br></pre></td></tr></table></figure><p>自定义 custom.js 中加入以下代码。</p><figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> ctrl = &#123;</span><br><span class="line">    <span class="title function_">clearConsoleMusicList</span>(<span class="params"></span>) &#123;</span><br><span class="line">        <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(<span class="string">&quot;console-music-list&quot;</span>).<span class="property">innerHTML</span> = <span class="string">&#x27;&#x27;</span></span><br><span class="line">    &#125;,</span><br><span class="line"></span><br><span class="line">    <span class="title function_">addMusicToList</span>(<span class="params">title, author, url, pic, lrc</span>) &#123;</span><br><span class="line">        <span class="keyword">var</span> ap = <span class="variable language_">document</span>.<span class="title function_">querySelector</span>(<span class="string">&quot;meting-js.global-music&quot;</span>).<span class="property">aplayer</span>;</span><br><span class="line">        ctrl.<span class="title function_">clearConsoleMusicList</span>();</span><br><span class="line">        <span class="comment">// ap.list.clear();</span></span><br><span class="line">        ap.<span class="property">list</span>.<span class="title function_">add</span>([&#123;<span class="string">&quot;title&quot;</span>: title, <span class="string">&quot;author&quot;</span>: author, <span class="string">&quot;url&quot;</span>: url, <span class="string">&quot;pic&quot;</span>: pic, <span class="string">&quot;lrc&quot;</span>: lrc&#125;]);</span><br><span class="line">        ap.<span class="property">list</span>.<span class="title function_">switch</span>(ap.<span class="property">list</span>.<span class="property">audios</span>.<span class="property">length</span> - <span class="number">1</span>)</span><br><span class="line">    &#125;,</span><br><span class="line"></span><br><span class="line">    <span class="title function_">mcToggleMusic</span>(<span class="params">id, url</span>) &#123;</span><br><span class="line">        <span class="keyword">const</span> mc = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(id)</span><br><span class="line">        <span class="keyword">if</span> (mc) &#123;</span><br><span class="line">            <span class="keyword">const</span> c = mc.<span class="title function_">querySelector</span>(<span class="string">&quot;.content&quot;</span>)</span><br><span class="line">            <span class="keyword">if</span> (!c.<span class="property">classList</span>.<span class="title function_">contains</span>(<span class="string">&quot;canplay&quot;</span>)) &#123;</span><br><span class="line">                <span class="keyword">const</span> a = mc.<span class="title function_">querySelector</span>(<span class="string">&quot;.audio&quot;</span>)</span><br><span class="line">                a.<span class="property">src</span> = url</span><br><span class="line">                a.<span class="title function_">addEventListener</span>(<span class="string">&#x27;loadeddata&#x27;</span>, <span class="keyword">function</span> <span class="title function_">f</span>(<span class="params"></span>) &#123;</span><br><span class="line">                    c.<span class="property">classList</span>.<span class="title function_">add</span>(<span class="string">&quot;canplay&quot;</span>)</span><br><span class="line">                    a.<span class="title function_">removeEventListener</span>(<span class="string">&#x27;loadeddata&#x27;</span>, f)</span><br><span class="line">                &#125;);</span><br><span class="line">            &#125;</span><br><span class="line">            <span class="keyword">const</span> mc_audio = mc.<span class="title function_">querySelector</span>(<span class="string">&quot;.audio&quot;</span>)</span><br><span class="line">            <span class="keyword">if</span> (mc_audio.<span class="property">paused</span>) &#123;</span><br><span class="line">                mc_audio.<span class="title function_">play</span>()</span><br><span class="line">            &#125; <span class="keyword">else</span> &#123;</span><br><span class="line">                mc_audio.<span class="title function_">pause</span>()</span><br><span class="line">            &#125;</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;,</span><br><span class="line"></span><br><span class="line">    <span class="title function_">mcRefreshTime</span>(<span class="params">id</span>) &#123;</span><br><span class="line">        <span class="keyword">var</span> mc = <span class="variable language_">document</span>.<span class="title function_">getElementById</span>(id)</span><br><span class="line">        <span class="keyword">if</span> (mc) &#123;</span><br><span class="line">            <span class="keyword">var</span> mc_audio = mc.<span class="title function_">querySelector</span>(<span class="string">&quot;.audio&quot;</span>)</span><br><span class="line">            <span class="keyword">var</span> t0 = mc_audio.<span class="property">currentTime</span> + <span class="number">0.5</span></span><br><span class="line">            <span class="keyword">var</span> t1 = mc_audio.<span class="property">duration</span></span><br><span class="line">            <span class="keyword">var</span> _t0 = tools.<span class="title function_">secToTime</span>(t0)</span><br><span class="line">            <span class="keyword">var</span> _t1 = tools.<span class="title function_">secToTime</span>(t1)</span><br><span class="line">            mc.<span class="title function_">querySelector</span>(<span class="string">&quot;.time&quot;</span>).<span class="property">innerHTML</span> = <span class="string">`<span class="subst">$&#123;_t0&#125;</span>&amp;nbsp;/&amp;nbsp;<span class="subst">$&#123;_t1&#125;</span>`</span></span><br><span class="line">            mc.<span class="title function_">querySelector</span>(<span class="string">&quot;.mc-progressbar&quot;</span>).<span class="property">style</span>.<span class="property">transform</span> = <span class="string">&quot;translateX(-&quot;</span> + ((<span class="number">1</span> - (t0 / t1)) * <span class="number">100</span>) + <span class="string">&quot;%)&quot;</span></span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> tools = &#123;</span><br><span class="line">    <span class="title function_">secToTime</span>(<span class="params">s</span>) &#123;</span><br><span class="line">        <span class="keyword">if</span> (<span class="built_in">isNaN</span>(s)) s = <span class="number">0</span>;</span><br><span class="line">        <span class="keyword">var</span> min = <span class="title class_">Math</span>.<span class="title function_">floor</span>(s / <span class="number">60</span>);</span><br><span class="line">        <span class="keyword">var</span> sec = <span class="title class_">Math</span>.<span class="title function_">floor</span>(s % <span class="number">60</span>);</span><br><span class="line">        <span class="keyword">var</span> t = min.<span class="title function_">toString</span>().<span class="title function_">padStart</span>(<span class="number">2</span>, <span class="string">&#x27;0&#x27;</span>) + <span class="string">&quot;:&quot;</span> + sec.<span class="title function_">toString</span>().<span class="title function_">padStart</span>(<span class="number">2</span>, <span class="string">&#x27;0&#x27;</span>);</span><br><span class="line">        <span class="keyword">return</span> t;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">自用音乐标签，支持单击进度调节</summary>
    
    
    
    <category term="博客魔改" scheme="https://blog.cancin.cn/categories/%E5%8D%9A%E5%AE%A2%E9%AD%94%E6%94%B9/"/>
    
    
    <category term="APlayer" scheme="https://blog.cancin.cn/tags/APlayer/"/>
    
    <category term="Butterfly" scheme="https://blog.cancin.cn/tags/Butterfly/"/>
    
  </entry>
  
  <entry>
    <title>数字电子技术基础（7）——脉冲波形的产生和整形</title>
    <link href="https://blog.cancin.cn/post/bb918626.html"/>
    <id>https://blog.cancin.cn/post/bb918626.html</id>
    <published>2024-01-07T01:48:20.000Z</published>
    <updated>2025-01-07T12:40:32.000Z</updated>
    
    <content type="html"><![CDATA[<h2 id="施密特触发器"><a href="#施密特触发器" class="headerlink" title="施密特触发器"></a>施密特触发器</h2><p>施密特触发器具有2个稳态，主要应用有：<strong>波形变换</strong>、<strong>脉冲整形</strong>、<strong>鉴幅</strong>。</p><p>门电路构成的施密特触发器如图所示，电路中2个CMOS反相器串接，从$v_o$输出即为同相输出，从$v_o&#39;$输出即为反相输出。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071016184.webp" alt="门电路构成的施密特触发器"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071020215.webp" alt="同相（左）反相（右）逻辑符号"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071023002.webp" alt="同相（左）反相（右）电压传输特性"></p><p>假设COMS反相器的阈值电压<script type="math/tex">V_{TH}≈\frac{1}{2}V_{DD}</script>，<script type="math/tex">R_1<R_2</script>，则正向阈值电压为：</p><script type="math/tex; mode=display">V_{T+}=(1+\frac{R_1}{R_2})V_{TH}</script><p>负向阈值电压为：</p><script type="math/tex; mode=display">V_{T-}=(1-\frac{R_1}{R_2})V_{TH}</script><p>回差电压为：</p><script type="math/tex; mode=display">△V_T=V_{T+}-V_{T-}≈2\frac{R_1}{R_2}V_{TH}</script><p>施密特触发器的应用：</p><ol><li><p>波形变换</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071025743.webp" alt="波形变换"></p></li><li><p>脉冲整形</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071026955.webp" alt="脉冲整形"></p></li><li><p>鉴幅</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071027926.webp" alt="鉴幅"></p></li></ol><h2 id="单稳态触发器"><a href="#单稳态触发器" class="headerlink" title="单稳态触发器"></a>单稳态触发器</h2><p>单稳态触发器有1个稳态、1个暂稳态，主要应用有：<strong>脉冲整形</strong>、<strong>延时</strong>、<strong>定时</strong>。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071038028.webp" alt="门电路构成的微分型单稳态触发器"></p><p>单稳态触发器的暂稳态持续时间（脉宽）与R、C有关：</p><script type="math/tex; mode=display">t_W=RCln2≈0.69RC</script><h2 id="多谐振荡器"><a href="#多谐振荡器" class="headerlink" title="多谐振荡器"></a>多谐振荡器</h2><p>多谐振荡器没有稳态。多谐振荡器在接通电源后无需外加触发信号，即可自动产生富含高次谐波的矩形脉冲（自激）。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071046039.webp" alt="施密特触发器构成多谐振荡器"></p><h2 id="555定时器"><a href="#555定时器" class="headerlink" title="555定时器"></a>555定时器</h2><p>555定时器外接少量电阻电容可以构成施密特触发器、单稳态触发器、多谐振荡器。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071051393.webp" alt="555定时器电路结构"></p><h3 id="555定时器构成施密特触发器"><a href="#555定时器构成施密特触发器" class="headerlink" title="555定时器构成施密特触发器"></a>555定时器构成施密特触发器</h3><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071146246.webp" alt="555定时器构成施密特触发器"></p><p>如果参考电压由外接$V_{CO}$提供：</p><script type="math/tex; mode=display">V_{T+}=V_{CO}</script><script type="math/tex; mode=display">V_{T-}=\frac{1}{2}V_{CO}</script><script type="math/tex; mode=display">△V_T=\frac{1}{2}V_{CO}</script><p>如果没有外接$V_{CO}$：</p><script type="math/tex; mode=display">V_{T+}=\frac{2}{3}V_{CC}</script><script type="math/tex; mode=display">V_{T-}=\frac{1}{3}V_{CC}</script><script type="math/tex; mode=display">△V_T=\frac{1}{3}V_{CC}</script><h3 id="555定时器构成单稳态触发器"><a href="#555定时器构成单稳态触发器" class="headerlink" title="555定时器构成单稳态触发器"></a>555定时器构成单稳态触发器</h3><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071153479.webp" alt="555定时器构成单稳态触发器"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401072036622.webp" alt="工作波形"></p><script type="math/tex; mode=display">t_W=RCln\frac{V_{CC}}{V_{CC}-\frac{2}{3}V_{CC}}</script><script type="math/tex; mode=display">=RCln3≈1.1RC</script><h3 id="555定时器构成多谐振荡器"><a href="#555定时器构成多谐振荡器" class="headerlink" title="555定时器构成多谐振荡器"></a>555定时器构成多谐振荡器</h3><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071148704.webp" alt="555定时器构成多谐振荡器"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401072035321.webp" alt="工作波形"></p><p>C充电时：</p><script type="math/tex; mode=display">t_{W_1}=0.7(R_1+R_2)C</script><p>C放电时：</p><script type="math/tex; mode=display">t_{W_2}=0.7R_2C</script><p>振荡周期：</p><script type="math/tex; mode=display">T=t_{W_1}+t_{W_2}=0.7(R_1+2R_2)C</script><p>占空比：</p><script type="math/tex; mode=display">q=\frac{t_{W_1}}{T}=\frac{R_1+R_2}{R_1+2R_2}</script>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;施密特触发器&quot;&gt;&lt;a href=&quot;#施密特触发器&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="硬件知识" scheme="https://blog.cancin.cn/categories/%E7%A1%AC%E4%BB%B6%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="数电" scheme="https://blog.cancin.cn/tags/%E6%95%B0%E7%94%B5/"/>
    
  </entry>
  
  <entry>
    <title>数字电子技术基础（6）——门电路、存储器</title>
    <link href="https://blog.cancin.cn/post/f9e8bc9c.html"/>
    <id>https://blog.cancin.cn/post/f9e8bc9c.html</id>
    <published>2024-01-07T01:03:10.000Z</published>
    <updated>2025-01-07T12:40:32.000Z</updated>
    
    <content type="html"><![CDATA[<h2 id="MOS晶体管"><a href="#MOS晶体管" class="headerlink" title="MOS晶体管"></a>MOS晶体管</h2><p>MOS管是金属-氧化物-半导体场效应晶体管的简称，它有3个电极——源极S（Source）、栅极G（Gate）、漏极D（Drain），衬底一般与源极相连  。它是电压控制器件，以栅极电压控制漏极电流。</p><p>MOS管根据导电沟道的不同可以分为PMOS和NMOS，按形成沟道的工作方式不同可以分为增强型和耗尽型。故共有4种构型：增强型NMOS、增强型PMOS、耗尽型NMOS、耗尽型PMOS。数字电路中多采用增强型MOS管作为开关管。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071355633.webp" alt="增强型NOS、增强型PMOS、耗尽型NMOS、耗尽型PMOS"></p><p>符号助记：增强型-三个短横；耗尽型-一个长横。N-箭头朝内；P-箭头朝外。</p><p>MOS管有3个工作区：截止区、恒流区（饱和区）、可变电阻区（非饱和区）。MOS管的开关时间，取决于负载电容的充放电时间。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071604286.webp" alt="增强型NMOS管输出特性曲线"></p><h2 id="CMOS逻辑门电路"><a href="#CMOS逻辑门电路" class="headerlink" title="CMOS逻辑门电路"></a>CMOS逻辑门电路</h2><p><strong>CMOS反相器</strong>、<strong>CMOS传输门</strong>，是CMOS逻辑电路的2种基本模块。</p><ol><li><p>CMOS反相器</p><p>CMOS<strong>反相器</strong>构成：增强型PMOS（负载管，上）、增强型NMOS（驱动管，下）串联。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071609909.webp" alt="CMOS反相器"></p></li><li><p>CMOS与非门</p><p>CMOS<strong>与非门</strong>是由2个并联的PMOS管和2个串联的NMOS管构成。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071706132.webp" alt="CMOS与非门"></p></li><li><p>CMOS或非门</p><p>CMOS<strong>或非门</strong>是由2个并联的NMOS管和2个串联的PMOS管构成。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071707343.webp" alt="CMOS或非门"></p></li><li><p>CMOS传输门</p><p>CMOS传输门由一个增强型PMOS和一个增强型NMOS并联互补组成。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071718904.webp" alt="CMOS传输门"></p><p>传输门的信号可以双向传输。用CMOS传输门和CMOS反相器可以组成双向<strong>模拟开关</strong>，还可以构成各种复杂的逻辑模块，比如<strong>同或门</strong>等。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071723744.webp" alt="CMOS双向模拟开关"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071722819.webp" alt="CMOS同或门"></p></li><li><p>OD门、OC门</p><p>CMOS集成电路有3种输出结构：推挽输出、三态输出、漏极开路输出。</p><p>普通推挽输出的CMOS门电路输出端<strong>不能并联</strong>使用。</p><p>三态输出：高电平、低电平、高阻态。三态门可以实现数据双向传输，所以它可以实现<strong>总线</strong>结构。三态门的结构有2种，一种是低电平控制，一种是高电平控制。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071755760.webp" alt="低电平控制CMOS三态门"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071756867.webp" alt="高电平控制CMOS三态门"></p><p>漏极开路输出可以实现<strong>线与</strong>，例如CMOS的<strong>OD门</strong>、TTL的<strong>OC门</strong>。其中TTL的OC门使用时必须外接负载电阻到VCC（1-2.5K）。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071759277.webp" alt="开漏输出的与非门"></p></li></ol><h2 id="双极型晶体管"><a href="#双极型晶体管" class="headerlink" title="双极型晶体管"></a>双极型晶体管</h2><ol><li><p>二极管与门</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071735652.webp" alt="二极管与门"></p></li><li><p>二极管或门</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071737975.webp" alt="二极管或门"></p></li><li><p>三极管非门（反相器）</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401071739585.webp" alt="三极管非门"></p></li></ol><h2 id="CMOS、TTL总结"><a href="#CMOS、TTL总结" class="headerlink" title="CMOS、TTL总结"></a>CMOS、TTL总结</h2><p>CMOS集成电路的优点是<strong>静态功耗</strong>很低，同时存在动态功耗，与工作频率成正比。</p><p>TTL速度高、抗干扰能力强，逻辑电平摆幅大。CMOS速度较TTL低，功耗低，抗干扰能力、带负载能力强，电源利用率高。</p><p>TTL与门：多余闲置端接1、和使用端并联、悬空；TTL或门：多余闲置端接0、和使用端并联；</p><p>CMOS：不能悬空！TTL悬空是接1。CMOS或非门接小电阻（510）到地，相当于接低电平0。</p><p>TTL与非门的灌电流负载发生在输出 <strong>低电平(0)</strong> 情况下，拉电流负载发生在输出 <strong>高电平(1)</strong> 情况下。</p><h2 id="存储器的分类"><a href="#存储器的分类" class="headerlink" title="存储器的分类"></a>存储器的分类</h2><p>按制造工艺可以分为双极型和MOS型存储器。双极型速度快，功耗大，价格高，工艺复杂；MOS型速度相对慢一点，但功耗低，集成度高，成本低。</p><p>按照应用角度分为随机存储器（RAM）和只读存储器（ROM）。RAM是可读可写存储器，但断电后数据会丢失。RAM又分静态存储器（SRAM）和动态存储器（DRAM），DRAM结构简单、集成度高、速度慢，SRAM相反。ROM只能读取不能写入，断电后信息不会丢失。</p><p>除此之外还有多种存储器：</p><ul><li>掩模ROM，不可修改；</li><li>PROM，可修改1次；</li><li>EPROM，可通过光擦写（紫外线）多次修改（耗时长）；</li><li>E²PROM，可通过电擦写多次修改。</li></ul><h2 id="存储器的应用"><a href="#存储器的应用" class="headerlink" title="存储器的应用"></a>存储器的应用</h2><p>固定ROM的基本结构如图所示，其中A为n条地址输入线，W为$2^n$条字线，D为m条位线，存储容量就是$2^n×m$bit。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401062319659.webp" alt="固定ROM的基本结构"></p><p>ROM的地址译码器是与逻辑阵列，位线和字线的逻辑关系是或逻辑关系，所以使用ROM可以实现逻辑函数：</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401070924105.webp" alt="ROM实现逻辑函数"></p><h2 id="存储器的扩展"><a href="#存储器的扩展" class="headerlink" title="存储器的扩展"></a>存储器的扩展</h2><ol><li><p>位扩展</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401070940334.webp" alt="1K×1扩展为1K×4"></p></li><li><p>字扩展</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401070941966.webp" alt="8K×8扩展为32K×8"></p></li><li><p>位和字扩展</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401070942775.webp" alt="1K×4扩展为2K×8"></p></li></ol>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;MOS晶体管&quot;&gt;&lt;a href=&quot;#MOS晶体管&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="硬件知识" scheme="https://blog.cancin.cn/categories/%E7%A1%AC%E4%BB%B6%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="数电" scheme="https://blog.cancin.cn/tags/%E6%95%B0%E7%94%B5/"/>
    
  </entry>
  
  <entry>
    <title>数字电子技术基础（5）——时序逻辑电路</title>
    <link href="https://blog.cancin.cn/post/93e8f639.html"/>
    <id>https://blog.cancin.cn/post/93e8f639.html</id>
    <published>2024-01-06T11:51:07.000Z</published>
    <updated>2025-01-07T12:40:32.000Z</updated>
    
    <content type="html"><![CDATA[<h2 id="概念"><a href="#概念" class="headerlink" title="概念"></a>概念</h2><ol><li><p>特点</p><p>时序电路任意时刻的输出信号不仅取决于当时的输入信号，还与初始状态及以前的输入有关。时序电路通常包括组合电路和存储电路两部分，另外包含输出到输入的反馈回路。</p></li><li><p>分类</p><p>时序电路根据时钟不同，可以分为同步时序电路和异步时序电路，根据输出信号的特点，可以分为米利型（Meely）和摩尔型（Moore）。</p><ul><li>米利型：F(X,Q)，输出信号取决于状态和输入；</li><li>摩尔型：F(Q)，输出信号仅取决于状态。</li></ul></li><li><p>表示方法</p><p>逻辑方程（驱动方程、状态转移方程、输出方程）、状态转移表、状态转移图、时序图等。</p></li></ol><h2 id="一般时序逻辑电路的分析与设计"><a href="#一般时序逻辑电路的分析与设计" class="headerlink" title="一般时序逻辑电路的分析与设计"></a>一般时序逻辑电路的分析与设计</h2><h3 id="同步与异步"><a href="#同步与异步" class="headerlink" title="同步与异步"></a>同步与异步</h3><p>同步和异步的概念是指电路的变化与时钟脉冲是否同步。</p><h3 id="时序逻辑电路的分析"><a href="#时序逻辑电路的分析" class="headerlink" title="时序逻辑电路的分析"></a>时序逻辑电路的分析</h3><p>同步时序逻辑电路的分析步骤如下：</p><ol><li>列出各级触发器的驱动方程；</li><li>将驱动方程代入触发器特性方程，得到转移方程；</li><li>列出输出方程；</li><li>由输出方程和状态转移方程，列出状态转移表，画出状态转移图和波形图；</li><li>总结概括电路的逻辑功能。</li></ol><p>异步时序逻辑电路的分析需要注意各级触发器的CP时钟源。</p><h3 id="自启动"><a href="#自启动" class="headerlink" title="自启动"></a>自启动</h3><p>若偏离态能在脉冲信号作用下自动转入到有效序列，则电路可以自启动，否则不能自启动。</p><h3 id="时序逻辑电路的设计"><a href="#时序逻辑电路的设计" class="headerlink" title="时序逻辑电路的设计"></a>时序逻辑电路的设计</h3><p>同步时序逻辑电路的设计步骤如下：</p><ol><li>根据实际需要建立状态转移图和状态转移表；</li><li>原始状态化简；</li><li>状态编码；</li><li>选择触发器类型；</li><li>检查电路自启动，绘制电路图。</li></ol><p>异步时序逻辑电路的设计需要注意触发器时钟信号的选择，选取原则：</p><ol><li>触发器状态需要翻转的时候，必须要有时钟信号输入；</li><li>触发器状态不需要翻转的时候，多余的时钟信号越少越好。</li></ol><h2 id="常用时序逻辑电路"><a href="#常用时序逻辑电路" class="headerlink" title="常用时序逻辑电路"></a>常用时序逻辑电路</h2><h3 id="计数器"><a href="#计数器" class="headerlink" title="计数器"></a>计数器</h3><p>计数器有多种实用功能，如计数、分频、定时、产生节拍脉冲、脉冲序列和数字运算等，故又称分频器。最大计数称为计数器的<strong>模</strong>，符号N。</p><p>计数器的分类：</p><ul><li>根据脉冲方式分为：同步计数器、异步计数器；</li><li>根据逻辑功能分为：加法计数器、减法计数器、可逆计数器；</li><li>根据模值划分。</li></ul><p>生活中常用集成计数器，主要有可逆计数、预置、清零、进位等功能。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401052324341.webp" alt="常见集成计数器"></p><h4 id="74LS161"><a href="#74LS161" class="headerlink" title="74LS161"></a>74LS161</h4><p>74LS161是4位同步二进制计数器，模为16。<script type="math/tex">\overline{LD}</script>为同步预置数控制端，<script type="math/tex">\overline{R_D}</script>为异步清零端，CO为进位输出端。EP和ET为工作状态控制端，当EP为0，ET为任意态，CO保持；当ET为0，EP为任意态，CO为0。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401060945407.webp" alt="逻辑符号图"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401060947197.webp" alt="功能表"></p><h4 id="计数器的扩展"><a href="#计数器的扩展" class="headerlink" title="计数器的扩展"></a>计数器的扩展</h4><p>设需要设计的模值为M，已有计数器模值为N。</p><p>当N&gt;M时，可利用同步预置取M个状态（N-M到N-1），或者利用异步清零，取M+1（0到M，其中M是瞬间出现而后消失）。需要注意的是，对于异步清零法的设计，为了提高清零信号的可靠性，通常需要在清零信号前加一个基本RS触发器，如下所示：</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401060948315.webp" alt="改进电路"></p><p>在改进后的电路中，由基本RS触发器的R&#39;端接计数器的清零端，R端作为进位输出端。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401060955821.webp" alt="置数法实现模8计数的2种思路"></p><p>当N&lt;M时，需要多片计数器级联。在设计任意模值计数器前，不妨试着分析已有的计数器级联电路。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061019003.webp" alt="清零法构成29进制计数器"></p><p>由图可知，当片1输出为1001（9）且片2输出为0010（2）时，2片计数器同时异步清零，74LS160为模10计数，故整体电路模值为10×2+(9-1+1)=29。加1是因为0到n，计数n+1次；减1是因为异步清零，末态瞬间消失，所以这里最好也加上一个基本RS触发器，或者改用置数法实现。如下图所示（10×2+(8+1)=29）。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061028799.webp" alt="置数法法构成29进制计数器"></p><h3 id="寄存器和移位寄存器"><a href="#寄存器和移位寄存器" class="headerlink" title="寄存器和移位寄存器"></a>寄存器和移位寄存器</h3><p>寄存器分为基本寄存器和移位寄存器，基本寄存器只能并入并出，移位寄存器可以在移位脉冲作用下依次逐位右移或左移，数据可以并入并出、并入串出、串入串出、串入并出。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061612101.webp" alt="串入并出"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061613174.webp" alt="串入串出"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061614731.webp" alt="模4环形计数器"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061615855.webp" alt="模8扭环形计数器"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061616584.webp" alt="并入串出"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061617704.webp" alt="并入并出"></p><p>一般来说，规定左为低位、右为高位，即<script type="math/tex">D_0D_1D_2D_3</script>，此时左移右移直观可见。</p><h4 id="74LS194"><a href="#74LS194" class="headerlink" title="74LS194"></a>74LS194</h4><p>74LS194是一款常见的集成式4位双向移位寄存器。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061621005.webp" alt="74LS194逻辑符号图"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061622567.webp" alt="74LS194功能表"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061655769.webp" alt="2片74LS194级联实现8位移位寄存器"></p><h4 id="74LS195"><a href="#74LS195" class="headerlink" title="74LS195"></a>74LS195</h4><p>74LS195具有JK输入，只能进行右移操作，<script type="math/tex">Q_0</script>端补位值遵循<script type="math/tex">Q^*=J\overline{Q}+\overline{K}Q</script>。</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061653962.webp" alt="74LS195逻辑符号图"></p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061654483.webp" alt="74LS195功能表"></p><p>一般n位移位寄存器可以实现模值n的环形计数器及模值2n的扭环形计数器。</p><h3 id="序列信号发生器"><a href="#序列信号发生器" class="headerlink" title="序列信号发生器"></a>序列信号发生器</h3><p>一般分为移存型序列信号发生器和计数型序列信号发生器。</p><h4 id="移存型序列信号发生器"><a href="#移存型序列信号发生器" class="headerlink" title="移存型序列信号发生器"></a>移存型序列信号发生器</h4><p>移存型序列信号发生器一般由移位寄存器和组合反馈电路构成，设计方法：</p><ol><li>首先根据序列信号长度，确定最少触发器数目n，对于计数型序列信号发生器，须满足：<script type="math/tex">2^{n-1}<M≤2^n</script></li><li>通过分组，验证n是否满足需要（若分组中有重复的，则需要验证n+1个触发器）</li><li>按编码编写状态转移表，状态转移表最后一列即为反馈信号D</li><li>求反馈函数D并化简</li><li>检查电路自启动，画出逻辑图。</li></ol><h4 id="计数型序列信号发生器"><a href="#计数型序列信号发生器" class="headerlink" title="计数型序列信号发生器"></a>计数型序列信号发生器</h4><p>计数型序列信号发生器的输出位于组合输出电路，另外不用验证自启动，其最大的优点是可以同时产生多个序列。</p><p>例如下图，可以产生10101、11011两种序列：</p><p><img src="https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/202401061949824.webp" alt="image-20240106194940608"></p>]]></content>
    
    
      
      
        
        
    <summary type="html">&lt;h2 id=&quot;概念&quot;&gt;&lt;a href=&quot;#概念&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="硬件知识" scheme="https://blog.cancin.cn/categories/%E7%A1%AC%E4%BB%B6%E7%9F%A5%E8%AF%86/"/>
    
    
    <category term="数电" scheme="https://blog.cancin.cn/tags/%E6%95%B0%E7%94%B5/"/>
    
  </entry>
  
  <entry>
    <title>2024年记事</title>
    <link href="https://blog.cancin.cn/post/e29d0882.html"/>
    <id>https://blog.cancin.cn/post/e29d0882.html</id>
    <published>2024-01-06T01:55:13.000Z</published>
    <updated>2025-07-21T02:23:45.445Z</updated>
    
    <content type="html"><![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉, 这个密码看着不太对, 请再试试。" data-whm="抱歉, 这个文章不能被校验, 不过您还是能看看解密后的内容。">  <script id="hbeData" type="hbeData" data-hmacdigest="6516ea9442f5fefc8ebb34559f4f83f327286a80ca13d5779d58cc10d6136675">ced864f45009da4e5537372f52405f701b2b12280a593c81454e16d3b18bc1412e02e3bd371913bb1f189f942f68124325cef2c927ffe6585779306e09c18ef49b01827c5e5eae093e3af230a55ad8c0556e403e39cd56c2db214d87eebe9d310a7a8f4d7c77d383cd130cbe661425e7ad9fe9632ff84b4ffdd52b6156217b71fdcc22844d4c32225fbca695559636aa8af9d66a5d50a3f38d8daa67502e2cefd20daa8e4223eb23097aa3b34739dbe0ff9879e971ab9f45a0de420d2ce7db6b03583b90d80e8e20a9759306b49ea70ffb0aa3eaf9fafdb8c5b60f6078d7844782d4b36f8654b6dd22a3b94fe4903e071f021062bf95439b93978a6d54f3aa8076333821ced9b984092da2e3b75cd6f7c41886fe5bdc50870cf8a644bc75498c6e78a794bd4e897761b21761082cdb4262aefae05d4edec587d21b07f8a4941693563bda89ba5762776fde533682af6aa1394e6195b60ac46101651cfd7a708689c5d312d21d57e819ee4a5d6c61950bd938868d87b1d4f29d3348f6e79999244bae95e7e834cef3e0cbf3a943e3244d7d5ee482f6b523a5180529aeecefaaa4e6fe60038c9434e14af07a17362ee9face2df8c7d6a35936a75057ca3159725efc14b44d05b38ba15132cf3a5410edcb26bf18ab2e9c5f2e91cb968b8c569d29223def6e0ccb6c86247e9344825b54dbe336e992bae0bb11cbc0f9cdf407d1a3118af8f0aab51f464f3f09dc9f3cb61f95c5dfbf02335f9594351159f5aa0dfb40114fc8f8f0ca5d12925fb1ebe957c03cdedc3e89214a5be47f26dcdc16563e932bffce76b404918229f7668a99f54099085f833f0f7fb68801b616aec3a8f47a058f4724fe7898f4093f275e511c9220331f52fe3213d367c9a26f66005ed0b8d2eb8bcb0e4420ff323cc2d1e6b1c85b9aaf7a12e14e398e44ff49e9f25198341fd57897211a38881515a453cf6296c41cead408989312ba10fd748bb7ae7e0fe8d2578a20303537d3f4a3193b55ff219504f62fe379e5661da511d9daac2afc217e0d052e0e325c02f0e10137ca032700fb3832b574031cbec6230c6d5abaa7ba0a7901f8245aedf651a32bcdfb3cbe36eeb041f3a5b4c3a77295bd966523a6df10e1be6558c3a23fabe8485d9133d424d092928492ebe529e398a3ee03975f35babd59dc80146789b03f54d1a064ea3fc33abbe9e9709a1e00b71779929b9f5bd773c6867cc8fe8a4d53ea76e1d96f76dd2028f195f3234430e7f6020f6c4c39fae8a196ffe5566df580a49d5f3fc42308fb7114f7654a21006555580795e24f79f8fc48c9990b2f237978579eb85ba5d07d757b22d15b95d92f6d1c56c0fa25e41fb2a32f6f9c1df08a921c2f29af97a66f980e7dfef26ef40a9bf6f280c7fba3ff57bd70b77ab2fdceb6a897466e4af8c82b8c54cb77238c37984e06d01c51198812a76769f8af78749037c5f2bbaa906a3aed4d9903969eb12c8fa880b02106d5ee2b81385efdfbe14c1b93429ecff4af7c90d5bd2d2b7deefccd1187f1458c2df75646a85ce786b6043ea5ec2ea7c9e478e5d103acb9bd405b712bb9b34e0ba14b301500bc68e71a55e98881091ea0cc66d0c76056467de643efd543cfaafc9126dba32f4eed5330c885658189b33df450b75e8bb84431868f686285626711e9f06334013e4a46ba7e5184f37204a629ba91300c9d14fab1d466744dc136d1fbf0ea6e6609645a1398aabd02ec1ca3a212b413d5505c2fabf594a729f57fc52ba6b587b5fb9a231a4c81a8b9238036066cda4df443ba8482c2890c8ca20c7234f1566867def7e0c642c1e51ad43c03a208a3941210f8479dea413ce39f2ae41e7288c8de6cf99d0bb30c1dfabceaa47b9e2fc805a802b815ba745e370f34f513dad102937708f880dd3700ca8f9bfbe140289089846a9372355da055eb5e9236999d320312c79c3f6c31de85c5d2e9cae5aef54499f68e3050c1f8c2f5bebfea2585031d6373f09297ff72863459cecdb17fe0aef23f3bbfd0be64f674ab86ea4bedbb5bc02e62b421cf816948d4a553f45aeff31a1368e95a7b7f8393d8ad84733f8567d02fcdf6aeb841d55e3c4550efcb489061cdcc0246542122474162bbead5554c2e22948c4228084cc923156800730e283eaed4e957232593873dead50a8027214c735cd213aa3ac1b3cd94664214395d8608b75084a86b53bd1732f30c602a19456e5f834e830c7ecdf098cabf12adc7c3498ca64a5727566191f3b76185b2a00384dd0688991ef7feb801a58388398298b3da91b0c9f447de67ce5e321d2bc8f415901e7909609c841f318881fb9fcd93727059cb519b1ad9f7040ec39d7b314d6401a59ba6dcc32f3c34f1607e06333b41f5890daa39a7a36f2ef696bf67aeb712a52cfebee8898432c0bc15fdaafb762b0f45b04a359386791871ed9e53a23389872de90a84cf860ef3840729911cd52d02863724e285458e1533f6c0efaaa9963d9922ca94b21cfd80eabbd858d381522c42ba24977b03419bc985e893e14cffe590d05e0146514140f806e05cf3941355cc82aa1eed643ebf84789420c4d7f4171686851c8f9be62a41e76c0e046f7112e4b151ed55bdff37baeae1bd84c1149443ed46222c363024132d3f5e7b133e8a0b77448d34c41cdb3f9c4d525cbeb31f72fc3396c6d223f72a8c1ddceb2f4a31e8a68cded8247538c298fd6d0c5904662168aa37a11ca7c38fe37762ac02273d77ac35578ec3bb824f7fd3cda30eaadec4e48736a94c72bd8003da34e8aa1be97d3468c62a51a1d84fbd0c8452cedaf0bdfab056a9857aad57e12179c44e0529a9ee364c2f0d56e259cb415cb921f8a30ef65c099fe95dbcb55f4186b646c23fa00eabf0ec292bf1d666653917c45b32c907582b1c6c390e91470f0639604e45002625c7cbeff54106a02ace210e63b6593a78793c96d9d17fa07d3e2c246a6b8584b6bb6a0e038d26b7b45afa93ead98ced5265d4e75b6dc73342d699c41d6939763a81d82d80a60cba095a5cc234675f4cab2f5d40c6932544af1a2df0515e482e8713eff24f98a79b52467608777e357c30d02ef6afd62e1f586a0dcac2da2c6797e7c3bd8dfd1d11d6938c62b3e314b788c90dbc9dcda9de432bbb42e4bfcac4071cb55abc2a58980aa88dc19764a988e6ea6d0577fe55357e0ae3478c474e0c2d55f70fb15f607317ee0a918393d68006588a91b3275659eb64ad71a722ddacde6ed663fbc96130575f9032911c3804eae1266d5c0735e62f72ee07c3fca88ba50e654ba6a4be90631b4421171b5257676824b48ff3befb30ae508f43996dd1c48eed25a489bd534b5e3361f8282abee00dc2ee6bac2cb2c3100af41c0a8008af5ef7ef3d23b9b54f57b26bcb50c741734d394ad554b41cd00b48c3366fb9e5100827b8870e15fac9b553652d756ac4d768abcb188bb05b323f8fb4d49f7530bc679d2dd7bb4d2390f46d20bcc7245b0123bd8f3781a4b8e480f616d23f1c165aefaf2de37e311c4573a48498c688ad5053586c08902ba9044b9d0dda60c3871064ef77aab528e79ba96add39f68c63bcf4b91f2de6c1b6e91b0a3a3682c7362cf6b0e66cee79ac6b10f2c1d63fd36792cd99dcb845c6019e1367ed7f1969db2be44a7c5d31dd5978c65eb970476ff02378ea4c9d6f977e0186162823200388939353f440da87e1aa2d24735c76e370f84dbd77c0061f27ba29311b2e6f02ce0b536fdb9731289cbe64dd737b85ca8dc48e22bc54ccc861ee843ec9a6309cc96ee0da722f506c8c41d2abe1a6804035aaaa1ea4ab153615351a98c35fa1498d8cb6a9073c10213f176c566b12ed12d161630be8cbe1eb6d5be71b30678cee5508a49bcfeaaed79443995630e7b3bf0a1ae72c18a80137166c04c09ad880361f0955cbe4d24a4f581bdfd1361757f7b2cc45905a8dc035451e844bec3aa22e04199c59a73bb65aa83b9d81e5ec52d4fef9dcdb2746214f9b91d9006b6a34dd3a0c63f2baf78b469111dff6713b3088e17e251d085496152815e9f6c4242efe9e2afc1e251a21a6a923348d2bf6a8079c4e3fb3623ec4b7751c0d27b5bf4057187fc23146cf44ec7630f6f472a1a27f24aef5b816f23509d3070c8b6b1f35b58d7b1190f8544461e167eef371a3ce723fe9a6f0cca49f32e20b9bd8168acf2f21b5077a47175b7f6ae18b2661426ab004f9d7d8c65ede7114be97a0aae480c39ed90499cb64c2800043da53f6af31c3bd6a88b23770652c2c3eb05394049119417ea8ff01a96280a2eb397c678b14cdff2aac56674e23a2a7d8ddeebe884db965c28595412e648bdbb24872914da2812a65471225674f7aa271e5a6e0b4259fdf72fb9bf88f94faeec36b6d4bd8e080547909b8e8012f134f0baacfcd24105c367b125f80e5934b7884db900be59bba5ae230c95a1b5df1868ef8b2f51d61a3b9ca614d0dd8ce534221db755c499940da0cb19989f494d407f7b252eb75f709dcd52bb7932ae9f402d307258ceb53ef0d2664bf46db0426ed5ca862b3c08de3475ffcc0997fd384c25fba26040a24bf5279521782ed11d9faa5eb25486e3749d29732eb21853c8d638d2d73d89ce7511ac11fd8826bbf21bdd718403486d1e1df97ef06d53074ff609defaf637d16f2386515c9ea8b5b1bb08b85308e13df037c522ecbfd05472f128e65f1a2306eec14753280cd8e2a0ba5fc7520f51f0e29a8504b49cc0062aed4e87225f1dabdc1360d2323eb1ed11c2881578c3b71601ec185cab21c400cc27b3466b73a628bf19cb96026bb9f6835e78b4385355257f4f2d248019dc868e0708121996c5b48f17b350a1227de1bbad1ba8657c6704ea8b329e4af6836c5ac54003b896de3cb331714d6598741d886d500d68357c07cee8fac5faf4e9d71aeaa5d7165d50cb0139a2946e8acbadff0c891a03db843d790b49dbad8b8c703676d181fa0bdc037ee349987d8038dd0f3d5569b621bfdbd47e1dbe94c91e9f6d4009d6e1d832805f39706201a81a34d654e5d49258cb15c1d5ff79faccfb391640fbfc7b84ce793e05c73046cb3aff2a0f5565ee449053e6c06ecc2565a18d6171e7b2f9b726c85991659d823c8b8d48e10102b086a907433bb8b0288317f5d1c35f9c44d5d895abc71021479ed1f9431feb94af7b903d78458066fbd04e2129e39e96e35761695685024c03d7bc6d251ed39dacf879d601ec9b0698dc4236b724a99dd74f3562559571d7df5e72a48fe78fd92c9003d45a60275cdcad02c08a19b1201c0017e6cb56791bc443f9e114cfd3c8a9077f3fea6f371af4b3848d7254e0fac85883fabd1167c3caeca0b518c4119302e81949382942eeffa470d1930086aba6e99cc727454345d49c53845b59d8e87d553d4d1990907a3122d15eceaac6cff4b15f7530f1c5fd74fab9aef0752d9bf2af56ab0e5d30c20d630eb200e64331c218505b6f7c1bb645ae0cdf1676c38be9b7bcbf87dee66ececa8a7bc3f4198fcf02346ee8fa36dc2d7b0ed428eb635dc5aa1853f7f07a8d4a3edc9e2c2413564318341c31d68a4ae5075792c249d186eb474b6146bc2ab511b30ff2a6a3fe31bb509bb35338789d0dc4c64198bc49817e9d285afefec43d6aca2953ccd4aeb0fd1d6d4c47a1d2aa20a61f27738a5e9de5baff9f8ffb8455d8c967ada045353d2da72bf6cd7fd53aaec41383be8ab6c06ceff77da0484d9cd857fb6949493de5e2d199766914d800e05ab38618ffa9c4e64579f4501cd16dda8f66fa39e1c8f40bf5f7ca925578d83a9337a00bf52a07bd1a225372a0cc3f69b1a7a374366d5b89410969d2d6c7428f13224ae07e4358c4b5e0045f19ae08ecddcf474ba9ce225eb740b503550c2685856a27932b9e111f86101c867526c1587342ded0714c0529576e12f362cbe1e059fd7c8b03cc5f047989c477848085ba3ba036823368b380308fb995e6232ff4960c6b6b1c6abc4f962e3bed8aa59487cefc963434b9230cf2d31ee210f5ee5904d566dca72313594a971138e6d0d8762db261d88f003a3ecb3f927bc063144699aeea80baf0cb211e675e309a5daab09031ddb2a2cbb8a3b49c4e76934aedad6c7dbbf73837c5f338f7d26f3a96c6f534ea49651885ecc5b090413439d9899205f6aec807ed4b2a549c5bbd77a8c6295fd82b486d354ad5eeeda48cd67ab39a61aa978d037013a07db6a96a4bf7b1fd52a6950fb8a6c900fddbc0eca8003b3f88cab203d6d10489cf17f71b43f4398a3dbac10d66be1776fa0defcc5644e53d3cbea55f874cd6a96da495ad022ae5d1c2578e9a59401265881b311b7fe98926a52a6004a3a8c386ae5851f3052f50a97deb2d616132912b1fdc48eb1c9aa0b888d0ccaf4ffc818bf8ca0dba43b5751d72ed97e4172a7252d43efb9fb8bd8620d9528ed2c976b420725b69272cbf31590924ef8bd8d19cc67d4d6d3303bd0c9dbd036f819537961fa3489252f4a2d44f4472014da9cb5a7c9b632b798559e259db914c259b1f1665d6561289635163737da5f52d2f20ab2b2999d6ae876e3fc0cd41a7e815ac6457f6af75ea29a2e264cce649434c5899a5e034fd1b94fd1a93a8cf7886931b21f1809a6cd16846af37bc699967a3eb183099ee5a03cc0bbad0bf6b377bf3dcbe6fff0a4f808c337d995d0cf97dc52bd2ecc80c1f6b8799437136079ec0011c2ca98ad042455a5dfc3988d3aea317aaf78708ec8b9185b59fdca0669a645bcbc104bf461c61ec1579ebad19a9a7680a1c1d72fff4924de63984696923ad59d0fd625fa3cc0c34b0b698399516ed854a269387d949880c58ae9a1f2ce4708a25119405556677e2701dc38a4db02e65f13dd7d54c6aaed53bfc2973f80d1b6e411ebf94301ded23bf53152cdfa46df1585f2068effc32440603907794598b9df282cc6113d217e3fbd2673117e7f0e694d62e642abe01f448043e4572b82989c8a272e97a9b14ddc230a8bd4a9350e8f72a4b9efa0296c9c639868d1dcfb2c196d05a9f5ae5df54df021d9924340f998db494cdc77453d7f9b0f3437f33fa5f9ae4bbd4808e85fdcfa2e0ba50c6051d9b51dbf94f84aa55e7bb7915c19c2c71d191be3fdfeb42e63471f7198739c6ecf8ceb45d32b61e908202d4d74a51c53c30c7f10031c5f595c4a6741ae4aec9ecff0bc91fafd97272c08a41ba3373b7f23858e9ab452725656a7bb22d41a5725cc64291760c6927e5f44c02713139f3b2903a1a0b55ae94e822030d759fde190d0ec1f49375d6c198aa9d7a7dfa4015a4050119ff52feb8d919ea0aa6b74be96c041e66d8375146c9adaf3c6c2ae64df989e21c31d70b47a238089b765bd8b3d7aa40a2c5fbc208ad04b67e0cfec3b33656f2126edbb5d27913ab26adf2539624c9fc4655734d2cb3aaecac6ad56bb31a7392f6cf474632e42993619d46fadb4de2bbc545149f2e30e1f37a8a0397828e5bb3fd8dd7c8b41032d6073a42b54670a05f4f9f4eb85329bf108e66e635373a1739f10cde3d75453c9a5458fab7adcad22128d41fcb9374579de433c655c1f38d7f52a1ded7c63a01da0be54911f19c1d65d2fd3e358d1f75a0d1719ea9c583f96fd721f8ae2135e23fa4aaeb6144ee00d55f3908be76d782c9c089aa334fdab716626ae04c46c5df55e1edc6e1a20e672428089065b8424b9307461b1d22535800f4ab454cd2fd5d5d3153eab0c2966ac5649ba960145231edcee8d2c0bef90191f00336ffed3653e01a976990ea8e130737fafdaded27ab9b13f1d23c2aeaed265a797f4cbf9cb07e1935c921143fac508e5aad4c388a7a84d9ef622a4b5d62a6e0f39418bcf96fb4ac0fb85386271e90bb719fe69fdae1f7cba50c0d6086a9c3faf588c93d53de64d5a091adfd044dadd9b80befddc608ef511e085af4753b5707920f97eab1cab51162be0cce067b3cfdd315d10a1c42d8ea2e2f3d40749fdc46388c58c84f754f61b5f63e0a173f1a319b59977dbfcc446428e217c958647036a7e7e9b7dd5ab00609960d90540f2e7bbc7bb559fcdff42f7ba6a13ad2014227cf41018ede47d36515b50f34c124cdd799cc7ae5b2ca7f13a6bc233b76a11a06cdf695eef612b7d8c28dbc3336c1d7a598142f8b6a7de356eadf177826a8fa23b61d9de7dd274b1417f521ddfb51286cea3d2c1335ee0e3b3701dbbe8ae7e9ff9b6dd0b1f3732f7f400fdecc94682bab900efdc2a0ad9dd56f1df7b88058dd8cb0d27ebbf0eb56d5b501515f555e5a07b54fa982071d0dab16ed6bb656564fb746f8f81b5b29ca19c5398f8d1bc529c815647bc9cfe8b146cebb9d99711f6f614621e82868fb97af89f7739679b573a13e8a7487b7e47f6b9861a26e6d8e56c45fb27ad3a910e5f8484648f5aba5b476e6a5a22c2851f3d425fa5d0db595c2b3d039c5c111dfdc1a5ddcb449fdfb406a6cb3a7563aa46e7464646bb6041ff4b4c98126435f47520aa81d36f91187097062ba1294f205b0bb82727b2f50eea6a7baf9671886cc5e2032f6be9ad68247177aa77739420186ebab6c02597695a93b83fb08f4ea2e2643c96db3e224c20979d262a7cd71bbc6ed3e03ef34bdf601475231c96aeedbda8d1f152b056768d8337b91e1053d2f1668ace48cd648b56d9f6c5596f19fb770f36877add30264a908cfc5e649b92d83b36ac67969d6cc2c2a2f5b7eb697d544b1ef30be17eac4eb4fe312a6e244b2de4d50085390c1c1b8350ca5b0f9400054e90c4f85014c999e49de08992290f4f9b1b148550c157347b046e4ca86f65dc5009bc8280bb692b9a6dfa5f07a616235b4836a3707cd721e1fd2fcc66698ec4c50472949debddbe20262b388acc954b2be33762d3b784e9f37d3fcd3cb9d10842fbffd87c239774561afbc3186a1a3952417f0a3d3f78ff8ca32309124716246f3581fa479795dab239ca1e1f65f4ea8d527b689e18369df1d4639b0403ce7666ca6de3b9ff35180567e8aa6542e38ccb6c80c9ff65a0ce27edad00d22ef701bcc26309c3606d1c4c9b9834117db9470fc8d79396bb9a6ca52e4adb5b4c3f089287cd4df8b9520962a0e83ee2d189d89749a8a89912b60ad0eff949d60f131f65623b7920967409c94ecdcdb5dc1beee9884942239570696a84f5a613babcf00dd5c7b294d4850355cab5ffe7852a929cb4ac987a222d6aee2f6e32d0399cc48ddfc091f0db53548e6a779a1d59845f2c714c2078954149675323acdfd67d5bf3118e7a9cae55396561c20c904ee830f8cf94db6ee78ad644c6b0a62490753fd8d1b416137456320065f2eb1a11b3d71ffe516e3264f44ce869cad8cfe606ccf85c4f21997f155ca4f15d13afe84600d2df6ab447c0916b66bc4a8fecac5c0cb7c16165c53857d5bd50a0175d436d99206a4a1691bbfe113bb2fba192e8c207aa58f989a7a410dc01f0b9cf1943edea3ff46976b8dead7ea3e972cc4f7aad6b9d5c971707817195ef50e8bc1d48311e6a76708ababc0165e924c14a1961b18a546746372e254d46a4c99a96f6345f73caddebe037dc2beec820dcfa495368915b770062c8b1e7bc0c48f27b27d07e386c4ea349039d63ddbf24939449c07494e1f17696cd22b2a17dc1db90ea3838c5b958d30b1ce255abe44f09ee2ee55f92c600ed2a542ce86de8625b15834c1744fe9175897bce6207dbb62e997a89e785eb776d600dd871bcd9ca9b63e0ae76f752c2b1449b39683d326f632dc23e43b3e2ecf9961bb9cddd0a2679162cbf2154a0629d53f2ab98d3b3ef147aad9478542f8801c6c55b0e9161b32acc31c040ef84f81c2bbe5cd54cad72fcab5c4a1e5e09d3efd982b8bc931826f5eb4efbf0b1fc17f218ec63cc2433e61a45192880017762b78864f0e25cdba1187ccf454117046834ad7ed21405432ae3c438938a4ded6ae6e2b9c5297178f496c8f0b88ccbfbaee7261afef1203b63c021160555b161999eb7a10888792b596c9ce09c0fd9e9de8d72043e9f61e4e9de88366c0a03e61018897b0a9d044053cb41cc23371293b079abfe1f3d1c71b96c71400f1f66af11a504db0a2533b3f93fed7d9fb29a239787cdffcc9bbe3799feafc5b71c980f3b6303e97946b9b328e493ffdb7b58da16b862faf7b29ceb6c6c95bddda15e62f56c96de79d214e07a8f1420f7fbccd8cd36716eaa394cccc196dd1e0b7b165e06475a94a34a660437788119042bc39e1f4526c8cf9a0890aef15e172a2e4c64233790941cca38992e0231df23fc13779d4fa349f875e408860309edc0a59e3a69993f5fae02252ade8d25eb2601ce0b0e7b8ffb7ea24c82fab3f170dcfdd466a5dc8d6332683197c20679fa8a707c8f9af40e5e38c4336d5a3f268c4cedd691e90d40eca421d69283cebb41467349bd9d0fc1f8e112a4643a3242d420cbb8cdc22e46ead5b9a85cab99066dad5185edcd9ae73dea02b953d257617f87a8d603e456a75b7c501976061ce333136f74717455a3f97933681a40985bd2f8db03dca2ae9041bc5700a4070d13a182d9d9bf2ed344f01c0bf72b14225c783597159b7b7684f3814f0dfb66229359e3a65ada4564f702bc4d05ecabfaf4dd75a1bb14ec943ff689264825c0606b63483c404b42ab6d748e57be0bfa5d9bb9b06339a7795f23eb55172857689b3235b6e52e6d1ce5db3cd8754b1cb08b585f1d5978772b6f389013c9b0f0c7ce23cb99d7f3e3d75cb018d36ea76f3f43b692ab2c367f54ad4c269955e70fb48b3eb44a1482c6d066d53b56275c1349aa242dfecbfee7f4c14aea9ce270db840b07687602bf44da9e70a7fcd16da8a6a3272fac23f98ec3f067aab055719e5ddf9e6bc0c13fd461a2632c752a264d7b13a56ffa42e7fd503c72dfdca700124f8c2357a48cf7768d1fe572956fec5ce8c6b4d6adaa1268dd1d58700d597244fdbf69bf44dd93f3ed018844ce58c3262b2419225b9cf0916837fe356b32e781cce68c9338b4149b2a97c31ffc602e7f3d6600b7efcf235a826bbe10f40c00769067ba664461ec18303639fca61c62aed8354d7c5991db40d66016b4e24c676536e3db08fbdbe5375bdbb24a30c939c3305bc621c463f806dcb0f0aa5e286386a0cd8d62831377cadb80bb1a934f3334308466a7b500e9d0386d6ecb696af6397e8ef62c9d88409f540d545d81b9077ae2ef09fdc8f52e65661bb6c71d78063113649786941da5cb5a325fc80481b98b5516900584ccf60f3d5260932aafaf3f559431c5ffaa00672d740415afa443ef0e2df151534cd41083e30cb9cb63202ec595f8c2fb4c3bb759e8db22924f579c35e8bc7bade6137cb64f9e336e074d3ce2b0145c9ac0a7ac38859e8fb856c3dc9e3c6211552d1ba453e42892c17f9a070b60cab2778a0d3974fe06e01e92f5bf873537a77fd1a59e3f4639069549710a73be16f1a7c79c4f1087111a606ccc94bb3769ee8675824c9105275287d219627d22e74a625b2223a2887a22f3c5565d6289a94c0cef60ffab04e2b2e6f20004f7ce3c80b43b0d4ed7c51218a3b04e00404519184af2ca8f71de28e4405369397acac72b96def1de179a6a0481305989107d6c748b11ab9fc9e6f2c5184721bd2c3d55fbf345bbc0dcf4db72484af424f0998b619cbb2aaa445427dced774170a3feacc846153717a17a8f9f799cf621277c2fb3969ade7f345f7dedd98e7e303f1a28dc8d5667b5957aee2b1003720ae60c07290082ed973dd44ce4515c130779b80778f662e1e9e2eb96332f4a56788ae86c181638b339634dc666f6efb3fa284e071501f49fd8f17d8a65a5720391eed8b55219bbc4d9ad5c4b0194fa9c02b367b05f957d0725e4b2452c01e6198f90998bb9981d90abda1bc300b01b62931fbbfcd649d8ee2799c5e4c8c8a9239a6c71f4a280d9c04d2bb96f9b05fa2a20d1140cf618fe1acc0492e88e0b4d138f877caae20d35aeed441e2be4a7d91018fd44308abad91371f2bb311f81a6d5e36b549daec338dd685a31829567afcd2651d3f128e47ac2f975b1cd36b29531070cc34e08ee390721899d5c0f2d1bcb3713da68a856bb17879e91d5bdeff59b1fa8717dacd04a2997bed7befd4bcf31269c5bd99b64457463211cc82be63a5102e4760bfc32e0d3f1fbd15e9c95576466c65d681621cbcc619b9d59f3f6cbd9d48fdf966b85e5a0673420c2dcccb061ecc09ae21fa145a6271e491113aa4ca2e7640e70049c1020beef9de95c68cd5968ebfb6376af7cd64d72257056929b92ba3dea3bf0d7b5bb97bba6a61cd9a9b9c8832a7314175d0d9ce638f02598c5e69677f32a2f85a283dbe1864134843e91f1dbc179f660c59050ad6a057ad8137c16e0e7746bd1fb5410d5007355cdffcc181c0d811c214f43330f28db79b51e6ed8a180598792a07ee29afb8464bd1197eb6fddbbfbfdb4d518eb2985cf71bb6a46a8f6799d7a800ffabb02ac265c4ebeb2a79a460d2fc536c3bbec1f73172ffb0b558e92ec399f12d7ba9e3335f1425bac3981f9627edd7e79e079183d6d612d2ec8d9262b25dc1aa007f386fd674379176161f37451c7ef04dccd7d33adc4b4a0983e3b518d5ce0067d9e32263cb2eaf905c8487de27dc15316340f6c252c7de864229f52c9f810b27d17afd07a67691cb4c1bf3191849a69047189673eafe717593349765b944f7b900e3c79c804625330384943e2d4cc996372d3663b26043409b44041d92a49d7f19fad766cc361c28cef7191631bf42ec6e72b13f5da00368f17a4c87aad03846cb1723f560f76c1ebb730f079f24970247c9e05e7756bca62375ddf84d7b18f6a054fb5398fcd2bdcbf9f44bc29f4c5c2b644c3131aa5b63c814d5095bd05cbb75c6010e4145e560a2e5d9563e6a95cfbd3c505193e4d6c8c23d853d1ffd4bae9a5202aa426aeabeda77f19162f40cacc9178e0131e04a6d936b0f19791cff46fb2ea81681e6d42bacc968325aa1e62f46b656978562409b9f8340247acffc94eff3c8c4b69a89e63f64a38806d0caf88104e066ce23a58ca96cf21fd1ae2a779db832033bcf6ac188c3251adb45971a7bd6b763c93d1a1807ff85a3b4550218bd47004b04b6f0f5901c77ca1f6df6e8669fe64437e39cfe36f91d78df4851fb7d35f67c3696a07a425357fb3715b5d5b8a45abeaa604a6afa8fe8ea4718b5b56c4dd6088bbcc5341ea587bc2dde1cc165f3e6ba177a6ca518d2d471a2f9801081d1198540168f5408386a45a99a7ed0bdc8fc7189cba3ec490ac571fdf7cfa6e9219fd84e1dd6ded6ac202348cc2dfb8fdbcdb05be2fbbb78f4be824d95f64c2cbed04a033b3e999b227d91a758aff2980d082bddc85a3645e1fa5c0cf3342dc41d85b14b5714f0057d27f2d08688efe1004191403dcbd50443abc02a047a7bafd88d22444294836cb1e793e3a2b717d715482db1d0e91bf376ef93208fbe647cda8fcf9ca1d56e7e6f18b6c71d63190daff6ec70b2578f63d47ed3d7b0728dcd601db12f563cefbc5461ff9770d706b4e6f844fd020f643f76a279cc87c2d8a3cc1f56140d19b4472aa6a94d01164276466a7ecc84fca17fd71df10dc31ddba2b0d405f3bfee71b2f46c5e39fe62891df82fa60b151b2abd57985550ce2e4cfb04ef45f777d647885ed6e24687a74f4400a0e2e2ac64ac45cf696ea4fae54c1c2c7edcf5b3b200b416a461ddc103ba0678156000042748b7e90aaf217808841062f67b6eff32368b81151f478a68d458b8ac4b6885d4b74a9744df1def6df2308dc8a391018867d8dfb85374ec8ce86c392a99b0dfb7f3362a772be12b8a32d19025070083d9b0801603463b0f12bc24d89c8deb52887c667cc0d24b7ac19ee044fc514656fd506ff8aa0d5713c5476e66e7e890eb69ff8c7bf70c5784f00a6639a11455756224a0be06965f0b8bd6cbc8694d6e5a3ef77b6631d6c1f17211db58d02d0182cb93c21cffc15ecb87b3ae8ba78f847ed1c0e77c80780484235f38824d15e5a5f8323c12deb8f2747276de6acfb408f1cae1e54e5de8c45ee5ca47c6885df6a9608177fb24a30b9aaf368a801d2c32e82019301da088a04b9267fab8f332fa7e9ebda617805847aef9d7b220982df8a85751f82d4a21345fd16e8fdfb3248cc222cf27643ffefbf19d55da948265efad2e9eed18df84d5795a6f6cc8cdf9312b6ae8b60b0d67fc81b0b47a17eb1a0eac62eb8349b250d3e02db6e50674e5ac4bc9cc691c52f82c6b5de0f69ea3eb3fae37948cbbebab8c5122dce090ecb8794cd4169591cfad27bc8b50173834c9e8f849ea2e0bc5007775ae9288ccf3f47ddd7f5b786571174ac84239e49e59f452b33b80c24f8f906510d5ea57ec26ac0571b898d7700248ffd8d3a95bfa1371995952c7aaab9d4c9bcc2e9637461362bcefb18e488b257d4603cee2f533c4dea583b6f363a177c018334f662613f0df40dd930f36ea10c5bce14c6c5bb019ce73a07d1fc362795d6afe882bc2e0be2abbe433ca29cd909a1be13bc637a3500df2716441bf844af836436512e1b04dbe062e9af51243292899314d7cbb99b2fa6d84ab7649dc57eb6da311ade2db86967defb08faa3e7411a47eef5feec2a973dd7489856ecae368d8e5f7976a39ad717241d054ca8e10faac482abe023149a74b37939e8a3a19c3f87c64e173643428b81fa0c79fc6e645c867c4d04c849ffb3972ccb3e69ccb7f0b336725f798816aa0ea9372e7e932a18284ffc43fd0d4106c79b030c888df1f25af53aafd6bd463cbd3e0fae24f14fe57aa2e90fad9d7f0283239ccf42e0e455c1a46d1f42245418ebeee6494b8c742cd7e717356721b37af38b7e27f6b2259ed4f45137890181d899f670b2932f5eb1e217d21f998d11568c533148e7ad8d56adbbdb5a0a1b119cc5dac753b5580afb24395e67aa182a34689d467d28ebc380d079ec61a0480c8574235de608c9b82c234040e8b4bf4d5c3bbc902037334fe24e113313c2c2ee18e2fa6dad85d2840d61a7753dd9aaf16f0fcdf3125d18beef4045aad502a85d9c1bcf32327b2541c6d0b8518be70a70ee378858b58da9facfe003a5fb923f988bc56fe1bccb526c748402047c880eba28daf0522eca46fd5c8a595f537f0943f1eceaa439ba647f9376fe66651cbdcbcf30894cceef2aa01560ff68303f58b7118a0b5a772c776b3f51cb716cb95324a6ad8ee39495945a4150a9e1731c3c2e5dbb6cd86ba134bd13a4b4114a92243cbd2f84e87214a2e1d4094beabbde4514ae1c8b0845860f58dc83707365a7d977606833eab906e7cc5bcd151a193b076a84e40eeba4815734917c810c3ea269465aa453f396221bb3b5703754abfce27db783b4d79b39914bc888cc46f0b8b92bd911f6d301cf4aa4e90e83d5725b155c852c5ef388aba28fea3e62bba44d585ede1c58f2db6cb4148d3a20eaa28392f595a2786158816681453ee44e73d5ebdaf4fdb2b4605211bebd0f52f71b0cb1e173f03e71c84ad0295efaf7f5fd6302c72f648bc171ff553b689cc7d65769521035c5b8eeb373d0d5e6f5efa7a0811df91e5dde0825a544f166292635460f358239712bb18fb6df147e18594c2d657fa9a770181a129a03ae5fc264c8ff53fec569d4615815bf56cae152919ef8d4bd036e4fd5ddbb4c1720b878e1085b16399351cc443e1beffa58b6efffc30392348cd5205610e88e2acd589cdd00192ae6bfb9740ca5aa3b222496dc25a7e842fdc9e33e17838129c9b77e8c07c99eccfa2b7bb426e8c25e8f3115888d629c11f99019c851dbffdcf196d043258ccd0887fea58ecf8a441719617304984c4539076d21f836a95fc1378e3094f74a173c6d33cc16772bb3e7c90c53e74f79ca34ea20207b708022df9d309436312e0014c68cdffe174e13347e922fcd50e82ab475235858861850551c531f275f19e439d2b08a19ab6c64b414df1e49869f26f0d24d29d480267f29a630b929fc67901ad62dc185abc8bc9a6c79a128dee6d2794b3f5b2573c07df4cd1a323d84627a3da1b4024bdf433705cf3897a99b2b118d4b5888dcc9ff98671d9657a43d0a68e2c6edaac40eb1bf497fcb149e3aedd3fb6dec50fa80b099c12084acaa84beaf7177e4bce1a304f8308911ebf16bf42982ac4f92b0fbd22b3c6785b6d157fc130bba4e0e2bab8c8f9d768f7b64a796bd05729c1fe0e426df78a4ccbcd23cf496131b2ff7e7d66725c6b168b2a5b94c8c573b3886e66d423efa56786b4b0d90df9d779deef0788051635fe1ec08db722e993744e74c9831b490b8c5583a03ce7a72647c76fbc5aecbd8201bdecd11eb635e2ceff4150a6716d2f27653314d6e0bc7758ce38923b6c35fc133a4b816e283da3fca037a72bc3bcc2ba4d86bd74db6816fcbe352b016cb2c684cd6b97317bc76154f8eaf028b3af4aebfd6de24065b7fa9d1eaa982485331f206c45850c0554aa2922dd868554ddebbb5921fc8dc42c1d98e91c3e55a778ce1712a667024220786a3681a542575578995d896f4f88dacd76c55af6915aff394d5d2b2ac97c2572301ba9d99a3a7ace7c7093b1a2e6cfca5483f7357d40d9e014284e78a231e4942ac3bf798ef23ae704cd4359d3ab20642a0b86a5a0cc9074ccba578518ac5cc8ae561d1f3a50496fa853f2fe28dbce339be7cbd43d8b263350e683d8cd09d87cd946fd30de169d42b49f1553f481688021803997dbb743941abb625878be4fc82a32e7d9ff7fb19ca52ccbeda3a4bdf18eb052014ded7155db148f17a37b9795af6f14860a2cc2340abc8f3b6a753f98c3b7c29b33d3f969f449af4ad9db9be3bf6a37b0b83ed4a3c01768b908c0f5d98cfb5de8574d73ffd1a7ef02bd2b8964f7f89e388676394f25ccc21256b482bb827b885cb3404bf794d81a7c62052dd084797f521d45272d78efbe008e072516c759480432c5e3dbfa3a44d6d4ce8069113f5bb070314d6c523ba063b269362315d9e23bfd195d9d5df0ed7d345d4b71365f192309320744b098b124d82872211f463f9c48932b61f794bf9c7eceb5dcf83631d42f403675fdcf0862794935930d4f3a2e73dbb514a42f12f2bc521c628f2a61c490582f684e1b7f76e4a5007674653316f0e93879cc9af767df113905dbe88c7faf47118e0482fe58fb402f9361f878e7b64e396937d47690d4061ef809798f28c2167caeae218c8afd21f349f8af49ca9fbeb4065274c9076a7a6adb03cfcd873f09b7ddf69436f9e699300509aa070ca2f7554ac9dd883abcea8aad866b3b54cfcb47f837481d742f9b7534b596d2559a770227ad75a1a65135fbcae74904c6c974d909058671998c429fc65bf59eb367261dabe27b44e5b20cf66ec8a6ea97a4b6f3e421023a30bb044b6dd4aa78cca0ebd30d02c56401bd1c9a9bb01beb55b70382a6de5f35a32a3848a65cd4c1c537a93d3838ca4e33e5bef7b61a9aaefb1f3c8e2eec7d94f075cf86cdef24f4b30c20f72b365aec0deb7bbfc0f41d21bd862f503ff686313916a116b423e80298a4f0ed7c52a856f9c9e5f58173d07cda9151d3db30091f1143bd92b2c69a43634a7a001e31b63923fc40d8e37c1324788b20f2bcadbc1c5727b3d9bd90e633d1e66ca744829e1665bcc85ca74a63b680267b97792c3aaea3e15e26b2f31b6328ef3e51ce18e16cb1492bc2c728d02ebc708c65af9cccc3f963ae52bd30463cc5eecd22d950c000d142fbf968970a031a99347eb0034080fcf4b7834e6b231f855008eb48e98b3c3c5805101f7a7dc8508bb9c6f2bf54035464b3e68216f2285f890aa88f6e458a7172aba5a31413145b1b70750a18054606d97e8b174ece706f99870191c9b7c72e3c0a5f69e7a16600cb9461539e87e7bb59155400620ce4ad927fa863ca855608ca6b15fc36dc9531c5dfa4fc1d790abaf1bad5d83dd0ac487bb40f005f8c04843829417731bee46336ebd7aa1d98227a6435029bc5027735bc63ed5658c9557b345d798abc2cbe5268364928fe27074c81278632516632ea21822754b0d1b991fd642e303903f87ad9b63060b968938b6af7d9686aefc24ecd309b19f47de87dc9edec3b5d5fc37d28c4822a453717f0707c1fffd3592a0d0e9335f0b8c74fed025a518cbd53b1ea76b9b0bc889541d1ab80f01c494f3243c923240d5a8d8977708580fa03cfae7f857a65248cb8fb602a866674b08d6d7efaeac56e9ed8d345f41e4e64733b1a9964968a13ecbd0caaf9d28d84832585f747f060c49d67563dd2b15c92b65ea4c9b14c3fa5abc467cd702b8b646070e7c186c32963f5fe33ea3dd5c82ad05a37f1213c55a745b0dbc3a79b3c0efe43a0fe8dfac60d96a09851129b7c417f70d9546234117dc7a2652d43c9743dc87e86d9d796f2fb553efe68b390bf18044b96d5a5244c0cf728d76ab538b73fb10e02f244e5c50eb1fc204c8b25f8255109c2e5caae20fe0154b48fbfe74afc7a913399d12955eb7773a357651f39e732c7916cfe3a8265e147a98c73768929676e982059c416953d88f12bbf7d51035440e3cde9b8c5fade3c897e0fd0bcbf0fd6735ff110a462c73c210e32338746458db21392558e537974eee3650c4762704c671abd5864fa4e5c435c58cc342dc858c826a635f7644875e5a555188cf1087ff931bfd48ccfaa5aad51f544e6bb54e5eeccff93ccd5d7bce473a5ddce2ad97c100ac9b6a5e3de600a7428ce6b9678a852fde166260de50b0be99850d643a78c5ba7e295fc52ed303d7daa4ceda1c93c9824f4e7e023502aad4724d9a883e19314ece6f7e9512caa6d92df3a6e1f30ded8911c317a3e91d9312c13eddc0c61a8ce33063800bc4226d4547a5f30453ef3a65576049dcaa4a9a356d62d29252d86516dbcb02d0afcccc39391dbd6266327cba98e8f6fac397c953a750acf266264e208ad8368bd78bf6f12cf6c69c7b4b30db2241ca4dab118e9ae35bac34524ebc5bcb8a503016a30d2f52843f2d41b16fe11b1d3085d26885c5e0283d8411a7c176602f4935ed85b67f9245449354040423bbd1ed4bbb829283684aaa10d82946d99f527fb0cf7eb7cae5e8b33212d2353735a5682dd1a68dca58330d434f1cf05a77b447aef9147cd488232f27a0044bac5467e32ab38a6c5d989cb6d93dca9c9388042646e44ad437820979632f939e38bb963b4e28b0c2f52aa498f0736550af5ab85e9d6265457ccecb48c63231ed5a7eb718b5ad4f3299c8e0b9ae65723c3bdab1745ae4933bee69920b94575d4a641bbc659b38d6c121dccedb2850cd46331cdd8c7839242a724147bed985d3e5bc38d4d12d39a7e861e0f95063117817b18d6a7cd4ff2d43bdb55cc3043bba6d8f5414079a914808c8d908ff0d0a9dc10bdd2e43bb9b9ae57b58c6d47ef84086351701f921c0b5b8dbbe18fc0c91bee1a731348e4ca3f8bcf6333feb7078fd27181e96221630da4c3fd1cb045fb4d5837d41f6a08c1ff4e32f7e6f9bc7e307331ee371bba215ebf5a870a47ed216fb9e44d848967613afc43e03251daf6c36edbbe61429d48a6c25a8daa6c8615c5aeadcae2b0ceb096e9e676d315e1a255c0b349990e32979c0063b59141429b66f5cd0e7fa6d002406d49d3ddfb05e257da9d26c82a2e151389c6a7772b01fd0af22c0c8b92a8dac2a025e07a0ce8d5a2caee76e9ac43ff402b2c9f61d4fc631524d92114e0bc70b8c3fab9390613baee3860027df4050e23f834a7ddce52baf7ba98557b2ed1fbdd453f82dccbecd73dea750d1f0ddb6f2c35f8a46d82ad666cc59272f83f10292f20e25d534c30a88317812dcfa04b621ce0beb11a77629a133e3b7bca1c71400729f5c3e9dd246b998bcb171c95b54f4fad96f8849499b6938166288b68b02e625b06fedb374104043e2793b5b4d42381bae8ffdc8a3a2139bb8c0e49eb190d7323c0b05f31b8e8958806ce2458d579987f4e848ac01db857898e778a3436af9856604143cb1f1324be462f205ebb0fe21bd79ba11808fe16d80c051ccd4983f064a331ce31c68552a6dfd5f9693caf3c86c567ebe22b912268c75a8a1dbf99ee38e2a3234408714409a163328972ba1a9f2bccab85f711463c9cad9008ebeddd1e7e006917e3568daeab450ae5d862bcadf3525b9243896982d59bd218f103e758fca93eeb079aabdff50fdc2cad7249ae174a08ccea3bb775023e804fa4a6e02637310fe9ade71e24d231090323624869d7a86619a06ff48c20796702de855bba0e65dc4d789d2604154285c86b9e5e1d4cccfcd39c9b1135a104ec9bd0ef2dde90e292d2a7deb05d2c3dd199b27132688819053e93ade575581c15b2ef1b9a75e86a1cdf7fb898a21030340f9ee431db09cbe56867acfc097b3d5fca23eaa761fbcbdd2e02c48609ba621321b41ce03f9c592146f2bfdc4ea0dd7a22a1f54362a9f115742aeb0871abfc39cebf24530ba589219ca14e1f08fca194e41334ef160e2f1bb6519b15f2a2bab87d090f5d7a5a2569c14210e7c089f5cfb1335cfc493d5d64568dd1a18acd5925f9bf862e6f47beaa7ac3915463b08b39cda0e2f73c5baab4305060fed9159e4bc0a1d933dd9c3a473de57e5e72b8c5effaf6b5ede1702edcf43587a7867273ed8adac5bd314a5fa53e15340dca2e9723215e1efa8296b15fca4f0348b334cd7da5a7f5a688f0f098d3c813d671493be614d2b1040e0d1a636c72b42bc5ca659a4fe3bc7f68f3316b25a6a1b609565a18498d2b1b6824a4b11fe6de7002813a9921fab9baa166b327e98c9170e61d8e65fa9069c9d74578391abeeb7b7727530613ce84d1662b86a5141c03c698604504328476bfbd1e259790bdb8ae9e31cab55f1a0969f950ee325419a59352ce2e086281cb81c3e77cab48acf812964b0ccf60b7e9faf291b9f79ac31a192e6aa8b736c77fb14f268cbc7b1042fec1712f96679dac30af9eb936cf243ad7cc6d8c4004a610cad95d9c4e7856bb78a243df6e1eaa69515f17b23871e6e17709dfa29c2bc3ed886729693d6757d211655373d6a07c0e89c13bfa38bede61dd31eada8a60ceda50b814510ff804a25da3ac303f9e943a0c4d8140355e26f15d2df6ccf3cf250a99c6d8719371e9f308c04082fe17835265039e6ae5908e5d55b503280d42ea16a9ea2320f6c60466e6fd67028f20af21703c0d8b6797f6d4c0b1bcd80459bab4b8381cc54cc482eb7b27602ba60b2f19765d2b173c175ae702a478714c2f4aa9bbdfc83b6d4b5aa32ef973eb4f3c6ac0c3ef1ea23f00b2bf06ae0ce9f7e978088c881df8feba9697c369052d2abf812a10d7762161475c470dff729542db4f7b6832aa1dde2b6447f88f11757656f58040258d209e8feda9a6f4b2402a407e5c9195a00058b00d951678b9001f4a78ea50185a0b21ffae79f965ee99951bfabb467438f0e9b9ffd2c5c10c58631305ec100bdae9e22d55fb0db32ace620b934c9ef13a5dafb12b24a16a1782041c14a5a9a9dc621b8a45be7ac75c00e5cbc72690d2f4fdfdd71de7189c81a858183bd821fa96154cfdad6e4b3bad2eae66db7d94c34e368a853da0deeddb54c3fe0ce76cf52ea85ef74543ba7ddd81efd37c1d1337a07e08b7328fba403f73ca95ffade7a45e9692e392d3cd99a0a105ed67fcd7f666689a15d6b4a18d056f7433ea0eafbfe114e4d2d8bd76b191cc76705042a6d9312a36bf985854424d7f96d9e0ed761341c9bddb4d2d2e5e88ca19a6e0115e1423360f256e237139c1b16fc1dd7ce6deb1b90775195cd09c090865b1c450a34b1e630dab5e596f3259242f73b02b32317849015cd9367a0d7b0e34e74661b8f4499e1283e6ed9a69a5dfdf1e1dd52ef193acbeec4dc32c78812f762d3acacd338300a67128706063478adf74e0bfbd6dd4c25b0724d79478f56857b0cb6e30584882f89289528b542ebac98d2e709b144e782eae6e6b6808aea4e4af95275ba7d30b7ace95d6c33ae18470f8fc39535476bbd0e504e43f6f9ddb069b0c479e34e11f039f2a2adca553af79399cc087465255ff6f238df7fd190bdcfafb3edaf9513d718fde2b6fc796a283d0a72ed048287ca89b14016af51fbfb8a18c454442637e52416af257004c5ede60b724394a832b9ec2dd06c4d1fde5fcf21102a27991d00035a4de1dc36c8199026835bde6006324558255e7befdf85dddb58223bb40cb13ddf1378a67929bd79c39fc9277afc15083404548b2007e912db598a4b726698e161ec45f24891379dcac8c220c693ad4cb70c99fd3691d7570783247e56cd3128e4e9ae1e3c1d86c26d6766afdcab67f73f0c448edef08e784c7c1f47bf53e82d16d1eff8b299b25c716e913dff32bf352b07a0c0e60b501a61fb91e88cbbb3a4e1a53b4403fb59a5d4360649a7ffd46510c3491deef7e1109e99cee0f7c692ea4cfeb9f45e8ce6a8f67d64faf7a5bbd9e734544fc623a5e8eb71f944e21b2cadfee739212ab378c0ee86824459b810c4fe1565b2782921135977f2e3d72441bede8c0d66374782281e6e18251262c64be95e885f805bb57f02e4a8a8edf17290a69c981d94377b539c5d05b22aa9b71d446c23c2b5b838cd9c259b73be82aefdc4ed40b10d76ad0cc8a545db44855ba45682178552237d7e7316649b4e289014f86a84d08fa0b6af6ce1be640e1d55eeea382dbcb04b9c68eea1290a8380af9fbe97ac8a1d0672eb0ac3ab1685b41f8cc95f8a659f96b212e056c48eee769e8f4b093b1372ff552d73bb4a745577aec0f0558a5e60670dbe4c4591a4c637112e4f4d178655451cbfbbbad3bb731a939cdfef9e32b4a4d688ab7d969b6e593f7baf65f3cf593d1c74f0f6c7942a867ee346699218fa38abc48bbac51a380d1c9dd65f9bf9911d7aad79864f94e1338049710e657b831b983987a8065444377adb91c1f65851c188d61ff13e52cac1889cf572bffe129236a3f9b0c8021b73613eafa83c840e1c3638b9e4b295ce420661a9761afe404c53002da33f4f464137cf0e91e2cc28120234749e603f0b58be1d9223520662a9c08db32068786eb219625b1edcec8893b3159f92300f7a372676a4b520622ecd7f36dcf6d0fac3a70af338481cefd4640e92475ca45fcc593bba48d4d4a6365f9524819f975085cec4a49303fd5e1c0116e7d9677dc683e56d692ef7c08808de73c808a083f619b4483cd41052ce90ca9b6ec50b730bf70083d6e182bae215bd2624ce446d034981b4ca9259b2ba7d4baeeb701d94cde34c62bc8ce26da1e307bfe271e8a4de47836c6ccfaa2d9bb369e947cd09c27c7915a0dc2335d67af9b6194deef3ffe97b32fe3473ab3b8e1de622fb4251ee6a42ce9b9c5d53e6fcfd031ffa03adbd8b2b5bfe76f19504a45f5fefb1896b4fd35574934a9f6197dc778c8233f0ea9e4b92e0bdae61c3f6a39f0470a09195aad6fe3073ea2faf3d79f0ab801404242b2a0da47bfdbb80112e45adfa88794028f7e7277972c8a290ed09060e92db62085100d7f6294c5214db7c5a7d2d3cd6ff936be5195958665de6150167c56bb3255df426d4661d06f2a2640aca0fc4bb6d47ab63d959495f4c6cb1d759c347c1aa53d8c845dbcbc6b253c70d7c64cad4e45c16a2ffcdb8f92097c56577d459c16c07a04cc41b50292f295685fd912b5e2d9f60e55ff3826df866a662fd33b7491b2b2e87a808b1b42eea444bbbd3ef04f539aab37c86674b24b678ac005f7a66cf48e1b5918a03ca37c308a6c34c4d3b1f6ca1c04051ab86dde724742cffe244980313d6c4266bc68e5515b4daf070642f71663d894a3d97182b07417748d202e3fe31d94c9710f9bb8b89eb4a03e9155f7931019a7beb06c7a4be9f7079c804544c37063b3693050add60f79d9ee04ae20fcff87434e4e51cadab1232cb38255cc553beab923dbdada7a8dba114cd355caf323f2f978562072f8be401aa9d477b0e8e5365ea1ecab0b64fc6e3b4ef412af3eec59d8e65e9587b8c07b64b63116df697e1458240934bf098b2c7d2c8232b0778cd6747c92babfab411e32c8830b854dd1088775d124e41cc88e6d6871ec425c45c416f4e8e8a81546713a79760abd32969bfc46c4ad2c5a78bf9eda9a65f5c12bcf91622e23f569b5d20c4581eae018bdbafe5c708d5a10a75e2d11d832ea9c1d358242ac10d67d08310b58badaaccac9250b7a1f3a7a6d9286a277dab8f028fc6bd5bb57b7930304486536be3a211f6c7e155e5d6bd7636cef66ca686ba34038addd94a7eb803ebc30f7cd58621a82b902fa2d1453f8d08c7b8b063a73b479b19f72445b908aefa4dc26e693de041a2728a178f87383d86fb08845290fd723cdc2fff5b422606288e2f1e511ef72d0b479b9855edc4acf66f426efbe64714b5031a276dbc68251a11f072e6dd07b102b2b4719682a9f88d0b8ce0f28387f50be45e11f16ada2535560c48a39033adf5bc0608c6b1dc3813d45eb9f321739cb09476331f94b1f80baeabe592dc07493bf852711b5620380aa80c9adbc2bd3279095ee7a587d82efdc8999443c5551d4d3e0505737f4e290225cfade1d672f2516cbe1e1bc68aa3314f263df6464474fefb9f4ba5f101ab793507be92eff78144eccbcf580a42b70a447100c1b26578125cade20c5bc95df0390a255ffe96bca78e5c4c772c0a948e9f8e63513f452af9d446b58430b5551b7e97c3da3a8f4c3e074288115f7104b4a170a4863964e007902c1bf0806928ced6af85bc385abb6eaed7c8e6bcecd35d2cb050eea7f761cad44eba9ed60ed2536915589b87523a0c74b8a03e9e3de23cc89c550ea7bd1c719c304ea18142f4716e49862f45a525db3f3db37066416cf17cb620122b7002c61db2a72715a89c01655c0b2a52db0afe7ca104edfd6399e3dd0c60d9631bc43225d39f5f4b83405a9a461849e7f95e2f07f41e6311c6a4d3df8e353b7f7e923466d746f936a02ef32ff4577b4ae5174892c02b629b9639aad1ad47d6d73a3fce344147f573e811c3e4b176ff23c429b2c8efec104d0780576360641c0e00af1681b00748288b82aa8c210abb358f965bbb5078efeccad5456c02d71659137c4af98e3cbe7da33378d5cb332e0e04860448adfbca947c5d17d7af99f4e17ce3f2ef736ee33d0828b9aaef9cb453befdef0ca53e9b8c71da65363852346d175a65e6633491b8b32c22e4e95638f6b07d1bf36d6083a060d874e4e260f2d2becebed4d4ef9a9f02c7c9ea645a8f215cf4c45fabe3726b0f819f46e5b57dcb6978cbf4682452781fd6f08df7fef5b8e183eee76a2367338b9407aa7a29080cd68d86f6415cac34706946dd50b5b7e5f9468aa3d9588f3e356d8eccebe48a24b714ba755f5481d349479aa5423302bed5ecff94e55e05a662eaa2a1d2a62ef71035d7e32df263160e602140a309d4bf15bb0410c0cec3f4dccc0b4c2c68be7c0e716ead2e0a5b7d2d842f2f03c34c16cbea9570766977505cb3d88c09befe44c072fdd0f4df0a89778d4dbe555ae39c4360a237fab8bd133bc19e8027b4f344895a4dde1f9f15c83bff7b0832cd6f72ca955e91297ff046a17aa951e6c067903c7cfa73a292d4eaaf8ac8c90317e629b78524cb27b53cc83c8a8816ace745c23a98cefd843d849510b35074ef50f67b46c68046a45a0f89066d51266e094fa4d1249cb8121908da4951636ae6bb2a03f7b6efd3b6ba7df48d5e5fa408d917bbce4ecfcace78826c22e47b2a3bddaf8d1a0c6c4fc4bf057a1d75d23bb090c04fa2f0f7fa49d3eb65b9a0dd44d2a9d9e47d252821728a379b1d56fd6c3776d80d1718031c485f45c9ef28093509e5e989cc1644c9020b3e109bd072dd75e43d9704503a3f0d1a7e76d1c46635369c3a058b46488b5b8f029e6ad603bc5805fb6327dcdedcfd4e10a2bb59a46eb0b76143e62573aebb4234924f725e76f1363424374df7eac9bfee656e387a3591f0a36638b5d06a41661f3a1e3014abcf7a857e7b3dde8afa8b94884a06e2b52f7991a9d7e43577c974c640965617a32b4e5f0e5cb43bf5641bfe0300080c3f4e507b4b2528a54555c219e88b14b9193f748d1289b31f4f0116b014a86d83a9250ce19f1488fa3635c28ea4700af03d87ba3cbd1e6a531c59d4bd54ac76b06296c3614d195282e4b6843d48ea11a1f5f23616e0dc8f37e21805aff19931d510e49cf9f443c7fca9a314408370b86c0bd1c6d530155a6258a407a1f75787a6fa25c8b4f2ba79c6d7230849936904c0cca884a976151c073e9d3aac08a3d2cf0bb45864367b41ec138c8e24988cba627964d2a5899f7fbedebb20cb63e353fb64a1232f751924d681ae657a4618f66a5e2b04a78f60df6acce23564b5ade8d37978bf258763467c3687067eb48648c0f26e55afb278a974c0b0e8678f16167b44b5df3c08397b378736569692eb1d9a61ff82085b7cc9e9501d4e7fd95bc4489f4313d242eee64e04c700c2c3926165be00985597b592f524a956c865c426d6dbcc1f4352fd425d04c52f4c787afef81324b2cf6a5a618e1894ab973dc75ae59247c52bc39c5692a88ad38141766b4f464e0c26ed2f6d1413fd42ab8ad0f6bf0310685f3627f76005126f7ecac51510cbf97c38468e6ac38fabf9619f8097e1f0e81a1d8ca9ccb8c32c2180dbb99a6bb88a088f4b6f72831e423b3d38bdab5ab8868332a5e6c7c1e11262bdcbe656b06c2341db5153727679d45866ce8dea3683c6ae5716e4286cc52cd3dde4938745c78ffe89ca6b03d7ac68f071b9fc49b0593cb01ac714e38eeb97276f0cca9be72741f3b11b9922247491f85c4eca48e2577b4261dc82b8c1aad38209501fdf47ee5d78a2b19b9d79c06fe43332df2f8958da3f1a6d813d3cafc6bc4e61cac9ed9003a3c675b9bb0b64584e1c79c0980903e2c78a4ffbbfeb8eaaf2b8f9bb1b7f9a44b2b35c304c88a010571844bc412bdd1db92b63844275b7c0329cc30f416f145f23e0df9de81da9fb4cbba0c5e1f5cf43be5cd14985ac4041276c4803ca8c8f529627ca1bb430b22ab7607972dee239494daefe1a8852c825837706b785033850b2e9d1342e6930d84f08349f7fb5760194bd1e25edd685ef2882c50ca37f178d1ce144c931fee553763630a102e136743c5723ecec6ec694f7d3ac1db9dbaab903cd54a4e202f8f8e864afadd530f10733c593b2d3817913c628af8dd15e168e9c5cfeb6abb6532e62e61e0fe6daf008c9df669442d28e6e61605ebcd4814a781e4a1b464f00dc361c2b0d2ab58fd36069cc93e7e3b9e2e497488a1345f9c95432f21886fee1f01808f0b0791752b961c6cc10bc9fa89207251e06d10760a889c74cba2b4423e2be8f1a4e6b678bbf16b65cd1f42bd505eb25e54228652b5a09bada401cda305525b94a838687c61976bde0d231f00cd5a4a9721ad7ebb2aec8457b96ca7f595f3ee204079fedca88eec55cbffaab28e3d2971196fef4e08486192d8941f2816deb63c4cb7748a7fd122cfca5cb6e1ed1cfdb7dd2294ba6d6709a03b1e91ae05eaa389066149cbc2b4980a88db0368bd2d0ce0b41c305c4629ae6e5cb81e768d69f416eff309ab99c141f42f6f23d708f82bb23bcc4a79ebf2dc9263eb7f691da4789d5398897b848bed788bd70869f979dd1b79579262f7d05f8ee0dd07003c46ff4f2b89f8db88d8e09380ef1b8f51adbb76a81af0f3da546415a89ed7c0e87cacf486d000dde399f18836bb458861fe0e42d41bb93ae24d34b3a9930f22c29504955901cf74e75e3dcb0ff6734d690c132ba78ef3e0b52a4c4c0a473ddc839576345eb41edba6b1adcf07a476c986f44329d01c2e1354bb890b5885aa0e79ce05b282a188a9198149f472f1f815558205ca1fa4a7ce11c707e5c149ffef7fe01e118a7f11758a45f696160d6fcc7b4284766578966b5eebe768b86b64cd68ec940896ca1e435c271b74fbfe5f6e93c2f8a41e3ca46a19305b68ad0f8fabc95e34a717906fc5ba1be078a090b27a3b2ac28fe36186a76b404e80536b6f5a521222d92250015dfcf351bb2761c719663c8825abb5e7b7de89d730763059ef65608be8542a74348e075578f7ff9a1b94d2e1ae84ad88fc4822f6a0b74c52b52cd136547a33e38bbbe43eb88ada1e8c99b6a0ebca0b41e7763d5f12ab76480d7e41ac8e56dff258c5a4255c17180abda671f79577a7b3c6ecd2401dff561779ef4762f0c3e1cd60916c56106a4c9876cfdc1c9189078f7b152ab9ed72a3f9a394f45b4829592d464b984a927e90188bca837ddf0849d61138adf520bb62fed6abe2226f560c44c4d25ad0dddcf857c6c1871ddaccd36b5f2e416bf3dedca41537e8c73c308373f6f3574a69f25799540baf235a809c833c99c6193bda3d73b53c11fb297ef4a380d10b65dd149e2009f66a2e8006ad6608cd2c438876c929d1d73540386e098ba46aebcf7110324b1f3ac82bd45789c0f49d259bddfe9949b28c02cedc8ff983f0831bcb462317985fe4d70152ece134ed2eeff648cbcde9b913cab0a4f931f0886e3b1e939baddfaade1935d89ba937a8cd5da5a37013637311c5176487c656d93684cc6b7ed05a7b41b636d1d68bc83158ea4baf59c21b31b03011a1a5971a5d09a70ecff18e9a8e0824dcedd12d99055b0dbcf5ecd85e0ee88407601fb1e1c435ecf7ab1df04b3f72858c9d69b81dee54a48ab173cb7d44fa43dfd0eebe38ef59eae55363b2326fc5130c5ede418e4e1ad4c80bb0dd5875ada50009a359f151322d0140a07605166c1b8de157607a91ff1af6059b8491c7706d7b0434523b3168d86a6396a1a40137b8af4901db9214b076330acec8e60cadd4a52dcfa63abfb91bb676331c70b6c72af8c97e7b7c4cdcc9e5474969d8539dbbbd0ae6dceff9d61bbea6818520896b9b18f94f0c44bd4d6c72654c04ce138ec383b5e65a932c0fc3d6a15566a6a20b9315419c4f2cf2a3d9678891522661e9cfd4c7c1ec54545d6b4b3dbcdc878bbf07fa09a1bf046a6e3a6cb6f4eddcf2230a5dff2b7d5570f6b5a3546572650dbff4509deb240482b9fa5538f33dcbcf909c6aa41f2246f8ea78975be1dcbbbaf30a17b08daf0d84bb7b5cf387e1fdc15356429725fa1c6e998f8990f582826f08fe984b8e12ab4c5367c0d4a4fdcd55208b97b2a6973d19c40ef38951b307c5dad03a185eb375acf47d351d8bf04cf1f10d4049ed87be3f9190775e4ccd2442887791c24bb6fa64d7d8bda50a65314b915a0e6223caf665104d5a367bd2739c3a7241dd6727bb41bdb87dc588709f7aa84ce4d66e005ebbcbe05dae73b3860e7f1fceede844be62a7f13675cb06f59e9691134845336e9812485ed9a0e924b742df5fe798770c7afaa1314167dce30af0f557a9e8542e76d6888a0ae66c911ce6135332768f065a4a19d51a53f77b87ca7698501789536526f60ca4d6ada2d1ba1951b66ec0c9331fad8328ceac791c0047bca3de409b6dbb82747f36b972885afcfff4c0b5fb6104511fbc93e9e2ad8e5f3faecd8a2396605695ce55c3d372b7cf289e514456babf6d8f1ffb2968e7ccba549323ed62af48b23f435cfbaa3ef1943d2e39417bff26a9a02919722b739d84faa2aa434f0b524f6836b54a0e9483eaca0fac2f2ba1be6749b9967c9ed95791402cc1196237184583d86b514117b62d976f10468e41136e63e3262d7958f27da6e0c85b034e19793fd66c83201cfedf85588218d038995cc1d9254b3be7d8d0b4831916112bc4d25f6d315fe87d213053ed6d94e0cebdd65bb93b5b0cfa8b4d8bf488d1a3b9c897150c93bf2b56fbf08df80942a424027fdf6a1ca9ed479cf65237dd63509c0a8ee0460bdc57529b34c082f2cb0099286c0ce912dc3d30437a0d41ea769a7183d2f609cb0a358f09bea541b0363f5175ce88628a2cd4af7fa1e6f5612d8566b74b1e62e0763496408c201058853908e8f6ce9c5339c1ff3e6c321c506b00552f41a59ec88a644d8a6b1f3132e6cfb63346302c0b643a5a356e00f18d338a35f8ee131c05acc3591873494a8af6f4c512d45397d170009694142201e38937bdea13e39e5e2cb9f2cecb71b353f226b90017222f5eb4ab06053955ada0976db4607c5d56a989684889ba5e2e5cf33c41f492860ddb2b2085e6e678e3f35e899683287424a9653a98aa6e39c93a00f56d0c2804849628160a2c65236fae660383efa06a8c1b4978260b090cec4da6eeae945752fd4f6fb0b54d91c3c80f68ec13a1eac75d3f9afe14cac9416caa3a3166bef014b741488441875bfcb661408fefa7fe165bf6109c743af60ed22a605425d1b4de3e5a09c6eb35190442abd2d9f47a39eca572001ce542853e778be7e7961ea14d6cff340961deee5d7d8bbb4782eb34a50ae7aa66a4fb340ff41c213ee18427952203a22075bb6be2882d6c885ed914e78db073dd5036d13f02122cb8435bba8cb53a1cd346aff1ed19c7490839b7cc0f12b61641807f1066a4b174fd8380ceb16211186b6a5d82b82505d87d0a1a861c72afc01f83ed46510531cce15ccb1edc3a19650138be6e7a0122e2a9b08cf21e8a005d989bd8d25c547d7a5e1723ca20b946bcc8bfd2eb2f25e8b4f657c4f100a56bd1ddfad06146f950ba6486f7b5282f40e6dca543e2407371e05b20cdf72919067c816f0043da17d99cc2926fa0bd5b539511ec22facac263d8d3c3adbdcadfcc2bc9898c92dcb8e4a16f440742f3a5818dd40a20455708f701328e68ff9753c5ccc2a31a7b7198d2aea267504f411d249259263552a62e904a2a559b26ac3db0b8f061d6ef10aa222d96265d62df480bf4f51ae06b0c50912a7f022cfdea20da7e4b3c40612097e39d37ebe6a2c49de54b0ad36b7c587572d1918cd2cea09319cd61eaf1909ee4e4d0b80c2b3518acb15e2e485c9f6b1ca91bcc8343661c3fc0c0ddb2d671be593f4410a7f0e2fe33a49bbb2927b2956f11c0fe961e3ca14326676fba751aec6efd947b64e58d87e40f0857f16f773e6b31ee32a02b9447f9a782048794141cadc5e381433624abb5940cb8402dc8359d9809b6188b3163aacce5bda603fa3541b7868234c32ae105715d0a5e974c9779c490d7cc467b5624e9ab76b005a64793da959071a8d2872274d554b1716ba18314c07f7d2fca980c36b434aa76e5c5da52de39eae11560465cf12f2255bfa74afad565b57a268381bcfd2d7b0b1cae1155db4bfcb59633ddfe06bb9454784c62a673708f00bcf3cab014840f9cc3cf512208a2164412b4dd83dc181ff9d53ad4a19ca666e61417e0642a9130b1799b276cf9dc52a5054ac2f787fe9b916f287ecec493aba3003ef9c21496fb9a8b320c8d4d58c884cadeb34b38a4ae9b2bf2b7aa9575ec8bcdd157d899a6448b0430ab46db5e26247d8647013ccb60a4a358671b4cb3a68561ea7881e54e59045551e929d90a8def36a8781524b990c1f71072e22003a1328c2d7d72711fc118c2b1023b5275277bb916ce315eff1cbe99602b157053ab4438a4f6f581aa1f22f1f81b5b592ddf785d1a480362c61c6ed8fa2e578f2ff47726b2f18ce2658223ecfeb565baebb45d9429cce2ee91f9fcc36a4f8ed453324f6c59d84f8d3d6cf29d3646e4c600eb900e55d62399308ae03e256ed7825ef78fcf23dcd5bdf8138d12148e23b60b8cc8a23233b56115c4d85793583399bd367f2309a01d8a7457f653a8405fb0b472e02efaa4a089e4bc42d56317c4e02f31ea409432998929f420e809112be7d45a2918cad1298037c4384cb5e0169e97a3c5d1847042a5d673317b8c657cfdf378268a45b63580440dab75f96d7c9eadfd5152654091801ef23ea6f05627bdc46c2f7c88ba4a2e1199be25606f4be4337005ac25dc37bb70040eb2f4bb4a02236227b22fa408a2d84f565b8855d00d39dcb22e119a8bd645e74d6daaf272d79c134126d3f9b2d2ce4e0c3358946dda901c88d7de72922106dfa38c9ed8f09cf14285bd21478274a70022ef8fb1894b2bc20c470f18467fcf5ae332e6085e793531d09d049ac6fcedf63024dfd31875cc24ede7dc805604da2483d38bfd86c0e93a5ed5fdcb767f92c3a0c4ccac3991e15039c1f6ccaea9ecd7b20de9a546e861fc2b9cc22e46d12d657a9d2d259258545a0ce65e056b4c8c542a9e806ad3c7069ff2b94224dba24142b9fc96cfc5781bd0e3c647a2d89a0316d4bf05b453c90779d300ef6b27d4dc74acf0d03076b3dc7e568720082924310786c08959c364b65ed44c11992a0311f51414a74f1bbf6ec23be9b01c832b3e754b244fc6158f383cae70a756b6e7d4878291083026295649bd50a503ef7f025d4626f6778fe4e5c46f61aa5712ba67f01501ab98fc7fe4fc16a88b1f5bf51c5c3962e1f383fd7688914df4468e0d69ddce1e935503a60b8796c94dafa7c5fd2688ae4f328cdc587ad72f7728fd1d2839899e931f6ad8af49a6a5d8d5dd9fefba2dc30652ec906bac56daa71c85bd9daa436b08ae4a19e2a5ef18402db8c0bdad3e091d92a1651f5ad4930189d4ae433f9831e7f0413a5de1d32cd000624be836b9bbf7bfd65f4394bf734f23ba84050b712e16ae175abfbb3150a1cc3380ad24bc82ba802e7696a199982492928e90f2dca8fcf2789b4d9598ad515219712bb0cdcd691ca4a2e076c81d34dc6871781c965ded4fa6662c4e5a396c8bede3e84dc728015af8224cc2024f04fd20b3a658c1c58c834e99cdce6d13e6e2b50b9268452bc1bc40d536ae073810eb2de1ed0bfdba37c7954173745dd62f7866a36079f30f2cf51b4579bf032f32c533f87d0adf45d176255ad7246e3d2570f2d7d68f0e55334f4272f90b6dfa590052d6d2c3370906c379b351be34d3a351b769570cd38c7dee62837a7afe5898122951d03bb11e84d8636501d9d98a543e501df7af7d9f8cf6d28c8b04ee9727b12f2cbf386df61d961c2139915ba5d5cd1db2bf0792563b0944c603e517d829eb53f19ba8a95a7c94d0d294c88c318178d17a2530c3e30b281f76d66ba89307b82933bc81d06e6ccbd06e33e759ae68438a763b67983abe4fa9bab688c35cb2e98762abed15bf4d149d909ff961d6353b9cc68621de4902d7e2123892b43c57ba9071d5de4ad78b8564e1be6c82b75370b58c176aeb1c8ed173cf606532fe045bc233e9719edd99ea3a9a4c8a23c2f79adf4b21509e433df03c4efb412160da273b71e7b85aea5795d097b7b662b3ab1a9a33d8854c3de17821f8b246ebfd33733c7cbd82be074d5b660d910b228ec5459c534cf8c98ed4cb6a2bdbb5fbab4a97a9cfffbb1175af1a9587247e3a5fc72983a2a1ffc7b8d48693c639766f0f3e03b1e8fd239ac13968bfa6bb56153c6021aac3c68ea1031426379ccf0a7b41bf07b93edf937d5f46958d4ce60c1f02b76d175d61503958e621cec53ada884d9d12ef82480b8accd804cb16536129f2473fb44f858f855021628504dbce22eae4bda3e4450965fe292cde361b86d0d2b53c2b4f52daa2c23191bacdf8b3f508c82a4b5d88cbec5c5613ee632287af891f0085a9ad384ecd476d87d2715892d92a9f93c1de7af9091e2b18ece38a0ecef71090e11e29fc173db15e00337eddeabc5f25aadbae3616ae44f791506f6ebe132affe788495e5eb9c2fd359f270a14056cef2e2eb53e82d003602d26fff9988b649e67352e624d25c8b52cf296d28fe9a4dcb1d631f4d9fcb6c9b8358324430b5d69e0023f9e984c8f08fbd511803804bd7556a41389ec25941dd6c9b54d0f00d138fba173b56c6657d6e494ecbd1098b6540463b0d2f4fc18b85468b827326a2179c0fa60faf4f98fa3b511283e932fbf2507e7dae9b8db45be23281fc48e60db4fd988a3712c060098451e002bd2fac3433d9d90055963d49cad3fe4cd84d80990995fcbf536bb5ee2a4967fbeba346fe5c51f9e5424c94484644dae15ee5a5624e13e16c9231968ee86b6e42cc3115360695e433c6b9b31c4179831a49d7b696ee2e5b4663ed4f13591241af3449aae8e340eca9da9954904d1c9c8cfce006001329ed0a3c05cb8180d27b8ba82e5d581d8cc2cce11e50f9b9d10c303cbcbeb01099fe409530b81e95d5ea52c2069dd3ed42194b6bfe446975c2a9e660d715e03590d9acccae5978cd4d77e3c65e95f8d2b117a706681d43209a36b7b237a617d266879fb1bf7f536e2d05a18ba5bef2e580df51ce5a51c0cecf0a7a5f985f737b44a4ed6aeb14a2221999c6648be2730dc01a803447fdae42400ae77457f679070eb1dcbbdafea660c7ff8563fb6c3a2d83670a3c198b98dcb86b29917101e4a2ac98372d76d2af62abc945ad9cdb8a616e704d35df470324a51e132b0c1bd06a9cd36c2a83caca17d4f928071f6be8b49e4b114cf0ff2abfa1a19e93db46273854d27a5563303a6dbe3ccbec253f2f7b161b357c32a5c577818291b3aa3ebe5ec925864795b5713f6b73d2a6a03f84e621e7ff00189c23b10c21dc2e4ae1a94767123b68cb152db92dbdafbc0fe8bb9ed4718fe8716092d1004b9133e00f33c9437dcc8b33e1d849c080e0c6251cbb7d496560f039bfdc292f10201f91529be6ee4ea6d5d4a39bb3799b777a1715391e9b05aa72c0e2220c452c9fd878170f4d8d9cbb0e9813293701f97efccf41040527b03a4fbcf9f4f2bbdba22f30709c4a117bf9057d2da68e581ef91cb81c22321337b870fb1396b39bfebca55c7e8de1e55ef0bcb1a2bdeb57dcc75509182e167529bba0d777728ec74f7921a716f73c004c33f5b7eea0cb50a613ec8b750b9df4d0405f7ec260390afc75b4721089b666a71e670091689108a438e9d70dbcb770968bb9cc7c68e84a3c66d36e1ca6d10e9fc4b41dd2d8401fd911ce0da7445db341c738bba791e7fb2ef5ddb695ac6ed39633e0cca7887cecc6d8756e605ceb58fa02a98134d8f68b74dd15484aaf126e204eede1244c2989edabd8b719f93dbed938900c2321c35e37562b1a2a7fee82a42e6a9a9563e410cef61abaf7db1c95d58dc8ca83679644dc8c522df6cd8a2edebc1026a35c272d0b4e77494b3b35ec8dff49f10cd20f9e874c70b8148ebdce12350f4b7424ec107b58f02bbb1006aa84442f568e4df5e296414206e5c9686a1885ee7a8b68ee6b732577aa23c2a01242bb79b3f6cae96c447af8e18404a9c0e62643b8bb62e93fa1ddf4d4153323e3798d3e8950147e31df380ed7939f2cf5080dcef1ccb8cb29aef1037ee348bcebc3fd487802321e3ab148995957da1cc7e68e7dc9892f0dff9c248f00faad5f3f53530785475ab73168c6d7edb309243d806d4b8beec8e75fa317593e594ef018c9d67341ccf909e95a93adb50d171166bd2bb48b177c4baea1e6241ec3cf1fc48b7816732e41c337ee0541578f4441a1a3c8b8b5fd96d09da395e99fee304f34b3e40db6433868bd473e7fd0639336b0783a69157076343556b40e0a12a191387315eec0ad6d0843f754d60f6979228ff19bf38b8c458f00d19f491a218ef3982a7552daa5e21cd557dd9a1c79f0283b22c15d83cb7e35d5e14b19df85c26d39845d87a21351179c51717e6e1b75aff28f332a7d4eb8246ff5aec9fa067ccaa9c74c1843ceadf73e166bbe5c7a0272eb94bf3c2b6d333ffe8d538d99920966420128cc1879588f7cefd1e72b638521826f45b5d462d27e170b8255c0f335d81cc01bdf85325b4592d504c39ce2b4f0aed1320d833e0d0992f29d55b1f20da628dbb3a3b4732adeb6398b30197485a37ae178d3a37ea8c2685e791a289408c20a999136876665c5a96bc05832b9f2fb99f0aa8275a68ed32b898c5785c515edfda18a9fead9a9d1c2fbf1decb585f5e6e5925f28e8f156a98977937d79177640d5a6778f637a29b10b52f93ebffde0c6b5455d2c9e1509eb5970a1def8c6b8fac37a285d94317c7eba1588bc67a19c7ddc0bbdaaa493515fdf1f68f11c17da97ff4d6a009faf788a5141d09293fcf4918d58c9d6a534852b6a13ca2127a3c9bfc3b4d02e322ce7ceff21a3bff1ebe00c8edca0bb1120456e2fbed63b4b33c16508dc71945dcc114421a568b20130e263bb5b46daab6860523b5c05c76c561c1a710ad94cab6dd6065c223e15ae20248e92b0a1c5a2d14cf7e71b9fd65654f548a16458c14a80d6771180cc16e74624eb4bc53913ee83e51a420dffd62a6ad5eec43ea27a034d56c51f4131c76cfb180fab5d0ca30d400b8a4c282e6f02aea00f2a015c5dba7006410115cff023152b110ae8345dd48f9e372c34200947147284e99743f2401e031913175eea2e88f22938a3da6e35902b35c8bb5915c4aee144e71bf0a10890ae455a25b5782a5d9821667f460e20ebd7ff059d124116ec62d80980fa4d832317aac26bb26fdf2cc0b3a2bee429229eb3e9e65190ea8fd1d987433f18e429dd020da0857264057698859427f567481d0d9895daccc257eda1d16d3aa23445679d310250d4c31ab27b4e654250a816ebcd89888f89ef4492bc6aa148729c0e6150236c201cb0e52573b105c524b2df1409fa95d5a71932f7073678452f7ffa20dab18090a11c889f241648c87ec1eb7d3a33097e43b4fb3f7ae71ea25247b0783b3ea63374ff9f731a693628e1e96f0d4700e627e9830f8c6d39ed9740515388629e522bc532ae912046e3a054f3a3ca32fa4ea50ccedcd4dd0f987b3d82d415f57ba9a005500a261e18240d366a685c9e55b2c25bad4a584ce979ab5ef8049784600b3195f434e8b71bf8960ec01b8ad29dff28c617bbd749884cbf337075a0da5f0d5f9bab66cfce2cc16b9e76d3ae5b8824ef6cbebead9722003fadfa8bf68f73c2be0d10fd5c5a6d111be31a67a7363cce3b1a59c36576f4126306777f536829d34685b228c95643392bbbf26f60221ae657ca5189eaa6a1dc95a2bcfba11c320566f7f5f4c5260b5ef7a82d20f050a7c9eb03b2bee5225fb8636cfd6fb3bd44ff06860220cbf50b32b5c0036462b36668ba8701938def7e187f3ee30a90e12517d6117726db72ea48b51ff07ec920a1da7922dc5b0287c0123d6e2b94966c6fb6d47408958adb4aaba79b65f0c133789c8e5b2611914e68841bd599f9cb974e0255e362fee4c778fa692a5b1a4493895424d35e935ef4fff85588012fa79bd57cdbdc5c6553a0d91ae31020e38cd638594cc15eea4194a0bedfa9649935837ce8cbcffd2de6fbe70cd3299e1eac864651d2326d06a658ec7e8e338f6e3872975d134176d00decab9cd731fe7d9553753e0c6f9205b5d90b99d264eba46e2878d60866ccc5e0e117559bd9e1200adea17b576cedf6fc119cc9d1e932ef6bad9708a5db87cb951bb3afba8265849a1263844474ea0411f9050e1617c63ac00ec5672211e823d6ea825c1068a640fc38a60d15a6a7f6e82655f73fb34d86a8441707d02460e51eeec6186d6746a6b81b544012a69e031326141a25d5dc8615758e5f35ac4762fabf3276cea3291561b01cc400a0deb2c362a163e841b02cb9422e843fe63333524640697453f3f48f875b0b10c43c93d21628db2f27a6f51b4f1ed51a75ceb3ecf7e7c4503a169d045e1c913e51ee4434d5df4466682ce4515bb6727174b242025b7967d009ab01cdd4ec2d31a9594cabc643916412a39635d9636ce9a3b00e7765936c8584a6c6ae206e47667f242e0d02225efa4b5c14ed926926b371844979bdd9b1ee5d8b2266dab0f221736fe3cd6738037c993c960551b96f3775d6b31e857e6396c9d132e47b722227a187e3b1b83de7b26d9dc357cbe65ab37cc270437460b8b8e173aafb7b7454609007e6bcee0bf5d38045f915a1fc57ec48ba521af4e95ab192610caeb094ee865483b0ed0a89310107938f9b399b4e1b633baf80c8d2809237bdf5c4bf4d921bd0d01b21d784a029a53343306cfe3b55cc7b8c3c3880be1c610a18be24e7c497321dd59fe314b865363fc3d2059feb98246badb5e393bdc42fb1c0eb2d813011c5eefecc75d987d590c23a05af48166763eaf8490db30e047d3583fab5535789519ee5153fef7569a3e5ea67575240edd32d21bc79667c5f8fb8463c25c893c5a88d0bf3b66916f94a735869f7afb6ca4799e3a23d63f4f68a462da824d2367f951a89a9bb19912054c50b06b1f6fd2fbe4dadb0dca107aa60eea742648f24349f74ddcaa70a0aa891f9676a82659fa6ce6ebc393ce991e2b14b06f546060c2045e853494395a8667dc974b215664e45e1c7d6e424ca403e0b0d52f708b6d3bbb443048e40ec08f44be9ca34a963c9edb482802c0c96d810272854e0005dadf405817821c3f9ee92fdee9282d637305f07b69332ca8028db4c2216f578a6916a1696744b517ce0b42a918b7ba6ee05990965079f09d5b58629adf9c488d07d726823ca59ce2b7297a807ad2e24020d3d44a58de7f6d0404dacce871557cdec45368f5a24d1095aacc87c15f67687f72f13f1ca8e41ff1a3f907de7b8268864ae3d028d429757b13f305822f6d537b9bf1b6754223af50d769c26e67fb685aff683dac9b6f579371d8de8f5b9f3b8259158e95b089ee04050752c1743cf3ef1fa9da8ddc9a238da4871218e9db13d2f2dd00d80644b69215fa26cf59078a5401ed2a6881f9dc6f5af3f9407e0e2b3348ebaf17d4c04bfb6422eb90075f53b7247045b06d5d683e65b1fcad3e63b531e3541a7eb6c5483cfc2bc8cec4e877104fb7eebd30718035b207d46256ca08de2d50f2ad5e88f7c152da05ceeaa40a84b17691acb812edcd7ab2a2bc55129af69e44f2183afd281c42eba54b42262fae6c4d35c60076fab90fae4c6128d8b4fe4fa9b96a3bedf4edacb70633a473f8b23cf89ab0c90536475ddee30f540b46b88f1dc8c54b0e0fa15400ad1c8589781d44e7d09ef9c58733e28be0859d7a203c52f1f88c2dfa20a603bef4c0bec922619e9958c386f62baebb3dc7612a1b84f40c56641bc58494d5b52ff79d22663164b1fc708c632a54f320380a6440f424532f9f95ba8c9f0c4540701b1e1b46d2ca7479eb537cfe22a5837a3b97b266832ec0b87e0e12afab57123720dd1f233bafcb534ce3d3e421da9f9ea8f494980169099399160d25c6b95482716b7fbeac66387917ed806292828b3089a263b5c8b272a2d6b0d5c0e95f28b541aca4412f932241082a7dbcf0c77839a6432298fa4a4eeaa638bf6ad17654864a0e3d24b5e3092a55c158994005e1479eee736807e2c5bb180f94715fb3dd25950975a6868810a5a9ffda1ce07a0c1bc1be5cb75534fb0d181124dd74fe118beef6e0f4e33acc20de37b76ed84246f671020b5dffe517d38dca5befa5a5340336cb9e43cbf1adf74ddfef6019e70dc9d69eaed6de5a2ca1ac954b59120fea558adf07014d187ffacfeeecae059adc8e3a591883f5e92f344f17ca0c320c16e2bdc88373b35526d7347acd8f92f6c25584c0b252cc0bbe28c339c8baa02a6055cc894f1bca3c067a155369123739688d386332b4291c7f9efb4b4281051fa85b0b8d25244e91d579b003efe530d576653fb30ba50d5af67b06433eeb2e64509d81c4c0677f46ba11504f7becb9a3f9015874ea651ee839844022d581f62654ecbf75cdf669ec4146f071d0d95acb334878e7f791c03ff7b5f6b96a529e49dc888a9ca1d1e21eddcee4709654a345057cfd0a1740b02d6adca1f6f9afdaf875367cdf0608949193ca5a14f08f274048605b3bf4da2831cb908185f734295b947c81658047c1ede66bd9ecca713a0e791789099a43f7c13dacb3733cfea0e7c705e2662519477bc12bc31cb19a6ff2d9ba5883a448482424f6ae36b2907589bc0c096855e5d9089d048370fe8fa8548fc30226e5d78c34d581899d7ff6ef694add5e22bded6cda4d24f7e43c3b67ec5c950fd06b77cc7ada8a9d8e09698f39a98151ae3cdc3b6030ce6bf1a93062d9f2ab15d454398e97956d9610e8b9328ff22329d7aaf788644587c31f4851ba21fb26c09faa2d28adec1f404d5b9e008e7c97b01fb512e6367ed3a3301c03d98baabcb6aed2dffa60a16163638c231316b1f653c706ced8698c421b06425d271b6b9984a80093ca5c2a59fa3e0f1aab92d8343dcea912ec6e1e2100125fce89e9f38983cbc611997d557379282fac002d808460e8d0b2e7193d6e40d289dc39df12599b70d72934323733807450e99bdf58b2d6938065ec2d84f4696c95801a92d9b0c6f62ef47801308f74e1f90d8e50044ebd675c366055246cab695f32c9dc38fc08a23ee9ed55d3005cde5787bda486bd46dbc8cef06d1085e9875981e49debf3bbb0802cfed9853de9fde6d74edd3e29bdb4333d5aef4923cc85fe1bad52fbe98c7b552fcbc9776a7fa8446fdf4145fcfd885366914ce3006a107e62aaa5cf7a8ae0996ab1fc3ec09f73e45e1b2c75335ae4c4fe7fa0883fd9ecdf51c1c4403a3ae153dc4a8946f4368977d9e747c848016a78506ae2093ad9a55478f3e7d00b7c1f7f72afec8b84ccc41f2b0225d5a08557d697b915a053338e3b3c9851abff1c6e7ae0d658421522a42dfe7e587667efb1b96b461f04faa682cc06d73b0adc026031f8c066b27fc77bfe589dbaef06f5cd9e3a7a9d49393e3253862ec24f8088f942f169e89119faedef6f03076b9a690a4cad7d0e45d26c7dc155a9f7ec9d1c61ebe5da0c832128bf42ef0aa7e347dd8251a960679cfd7ad1fcc98d6443cc306e01fd7bfd6d5af176c12f19d2ac042f31ec03950b60ff08340aba87ad5f17bb6dea12613950ef181cdd477777441e2110e7bc0a30f3830e829876e958ba6df50675468ea83c487dda2f6db924c6b15c99fbdd495bd41e33218fbdebfeb04411fe5c1b0dc4d43978ecac5c77af21d5d1801838f581801a8c31290cc8799a4334785057adc9a55918f22c6947657545e7ef1769b21f7bbe207103d48be3b58c15ecf807a8773506102dabd1e19f54c72febeefb5c84fc50c13d3666918aa0ff8f0743447230297e4b6cda32a53d2abfae434a4181c107d1a33e213e9497d1c5d166acb15a5a31cbe512c40392a0ed7206f5adf1668bab63adcbfe9b20e45f4f825f204febfd7abb5e6fb37cd8d797495dbf5f22480ca084ac670b70117f85ed51f010d1f53e7b0a264599690eed8b93a7055ee384679f7b9058d9090c857418a380367a2a227e07d5af5e075181286a7183df1d40c413f92504149aed08f0c14ac2a15bbe3f2354208cb7d3a0253307589974316c74be97ecda68ba3713840c2758a601c5e7d1ebcfb9d0e9fcd92e5bbcaa6b6f696abcbb3a2188f8d08a023f1fc0baddc3981eac289ee1e0cb9a147286c136f3fcf2c7891625398eb72c52ca60a37f09c545e4ee42ab9b18ece3586744a3b45c72a4edbc46b6876c402179dd8ba2bd9a16e478c7e1b50af46c22de050b0ae304c58c27bf7f103b6fb2b78391336fcaa9850afe093e0e57d6179e4e845af7c958a9f6cd1ed410a0d90114b12e232b5442c3797e08561edec12a836a43450617f7e04a0d153d9dd7c99761b265cfda4210acc31c2d3f7137e29246c795995f481dd5391583bde7615313bb48c675b7dbab109a2aec2e462a05449c473c41012c71ccc4da509ee663cd383914e1596d566aa0d64d17c445b88ad4721597b17fef1042ecafeea52a321a6721a87ce5097f4f8682798cd1125a1e45f74365fc07ab7ff9b0b44eba7a24f043821cb7ccb4b673bf4d62672fe43ebe6d3c8c03c2d7e9f2e3b81c792b95c399b18229d41c0c7f96e0ee7b45e911464ecdcacb8caf549bdb8e0a783645b670919aad0af96830582b9f60a9d1b6d4ff7d4958a9d068bf551881db05061b79f4fc627a3ca1729a1e2d1f4e010376e6f80bd3b4182397dd535f8f4f03aa131f44715c882016a5ddb3aaee4bc59a22c90be5308ee9cff57793731a733960288bdd70ea3106a82e3d4aa881b77ccbe1d975f6c6452fbef948f65f9a24a17940d0caae7b7abb8c19b3ebdc9ea5c8ead0abecd5c094a339416f1e0aba5b4985b2cd92401017b7047b759068eb65031aab86c365912e1cfa8376de7574c9324d675287b803ba5f0f5769ef62e17e3f2a0b7dc6d4a66dd883751d94d3b527eaeb7cd58ce57e06ea5d36a98fa58c580b6935401aa4072aaf8de137a9274209a67076badda7a2c42c9551086e742935859cc36364e01bd5805787ff0256ea4e3aa0d32972d4e7218d35cb122e35bf333139dabb21f698702571a29883a07675cac82cf99a5412a0069dc135d87e8251cd7825ddf3fc07c0760873d02f53f58178bf2d912e743178efcc3c9bdb125457be943d98ae19ba97f5e25fea2d8f6a8e2a2bdfde873ddf560de3b0e17414ecd5ca852170b9935a38a25433683285a9b8671917361a41e12ddf2c28091a6d702b9344371743f0337836b250e5ba05632513df82cb2233e2a16cd3be37fe93bf57a85065c76ebc4551c7629bf8f5751e3178ed1376113625d55cc24e955a598ad0fdc8625fb074278d4040af3ebc2abb8f002464214f58a0c26fe4c0c75e87e1648fdab1fdf208d69134b179856a290cf763fd41e747c5c2136094ac72733b2afea03ad94165859941b6c3aa0d7adb5f47161299df7771d26315f7c40171aabaf12ea7a91b343e87cd460c0af60d74b53a26f58f9df8bf6f44bcde6ebd37785c214f70cc31116be7a9e666ff954052338a55e1384f22213ea2cb8a8d3c0326d4d105bb4b8f9dbc6f10b812a151bb3ee0c7ba94a242c744fde81158c69e6911a9ee6c9fe75fa223ae7fac5605feeea521e265ad78a57b27a6f2c83f6a2d5bf1ff5a017b12daa3ee6b7401f5b24f4d5f044a86c506267237e3ae3e8544f3f5ee2843e036a2e00999d0c41d4c64a701cde67028c8569eded28f1e9f1e3622f8a0defc4a9f6a4c11df7be08013993d93b94ba4ae84d0274c407b095403df3faa0feb60621f3df9f5b0dc9ff3fb234f8d938028a1dab937f0429ee93372110a64a395e55c48f50d6f39a0a8b9c637c028b83b92c33a2532add3464b8949058c2328249a034d3a1ad7450e5cb533dced871b66b5273aee904ebc2fefc46ba7190945560f07fe929253ba45f0296d76b1e9a83e23cc26fd5aa674a519828cfbf6652a24eabed0c88948bb69b1af317c9cbe1d03853b3b90af018083f889479f179c004910b891e8c936174dd66a116cabd884bf84e12e9736c8186ce98d7fb405d9e0c9e2e5bdf988fe6e0854478b62ddf09a3101bb4b135c8cbd81557cbacb8bc3d39e8ccfb47a1971c2f124d3352202ba3aedb921ef49d651a073f3bc04dd6836f656269a9f12f22d4c8b128a39cd30572bb4c9c86a9c98ae915e8c9bf356b653b9f25b4f7b6bdb9f03d21978b67ca60f9db7c04d78f785ac688de20623299cac99a3c891e9be8c81ab698a796f66a7c67891808b5c8568a8ae93c2fcbb7eb1609154bff46dfe606628c36900e863d244051c14afd57b0ac4b5ba4ad8e16476fe92d482934ecb07010c93eda9adb5dcbc3a6b3213ee9e8ae94a905c055a865cabc5ef9c4d46376f6e637b363e3ef32deb8fe713d895a4c6ae43055226f37af5ff35bce056601239890d560d7b0386a68dcbba488a6fd66d6787a8c026cd3f3fb1c1bd1f451609021403ed337c5fcbacdad60d16c73314d065f26accb7a286d272bb1acaf22b3dd74bf7d05a61838f52e0a16e109a1c6c36aaac0520c07e28e199420e4da00d0a7779a40aed11e39d40a089c634e2a3d6a5f678bd81a4cd4639e82a6445f3355f61bd878588cb5ffcc177c49c6eac5aaf5e44a6b5fffee3360d21d0413eea851236ed79b3d54e3a8038c9266758061293a617a61cb6c0968fb4f7153777df1c8b01d657eb2c3661354c6c012fe4321afecca9a35c43cdd07ab7bb2223b4b9baaaffc68f0bccafdb7914bddda01bfd50c689ff27bd839c809be8d6beb8992ac21c16381ba824daf342c051190a42d44a40c3e8f60d37eb558d8702b42d5251b7dd1440126bbb09179623c408a77a6baff4f6f6794c79cb24e67d8a7f6ef80ee5ec719f3862f63b8606beba05d8a6f9e592a2a29bc0aa8031766b9dd323c561bba38f9bfe6537ae89dc0678cdb5b27143bc5b92c1d64ee55f61ec425435d1747e88a4d68d2811ce3651482147b2712c5a98658b9fd3960b3a5542df92f23cad4fa4aca9d11c3c451e7a7394b9559f2845d60860fe6b1a8cf829cbd3b231bdfd5567e23e9cbc41a1a121454e5d8b8bffd921932e9c51edf29196babb10ea33ee6d5e4f1a5561f11b46901266f5347cf11565deacf9c0d13d499a4048ad4ef8d584cda447414e27733ee6df8f2406250cbeadaa2cd8cd061adc3828588468b8030030578a15648fc54f835732e0b8ecd8b625caeaeca8f5ade5694902335851df508e5ab0f41cf826fa31af1c1194801f0a9556304b213ef057e1a0d50fdc8652aea29a1e3cdd4868a19339979507a4117ad2631987d37c9790840842744ae045565d346cbb0d2113dda9aa8db373a81851cde129f6dc8711ee0987714640b4ff8591b09f5a8b207c1548d97c8623e0bc542bad7b6b8e643f26b371d1c1a6d7e7ea00affcd5d143500440f60d410b3fc179d1303fe5b3f3efb2cc64808cf0b68ec262fa51c1d6aebb1f62b9df1e5d0597a4143d9bddb00eeaa77692dbc812d52c4775367d0103109bcf8e1c650d4b9cab82d3425ed005f95f0610a51846fb36a14080631b1adf8ee36da178a5eed82a93aeb7b3fb69c27bb03c167c211d96796f987374280b531cd26232193052f666803b0a3f528a7bed371b9ba36eee1cd57691114e6d5135ac800dfa1b3dacdd13d308c199d8f01ff672cbccea9f4ceab00653655d7f8b8889a6f1f4c9473c78cb4b749dce45fd088d8d9ddeba37835109a65562a65c7441f2c380c558a98f5b810402baab08faa07575d9c60d0886e91f8df007a100ac42b833f46ffeddc1c82cc912aee7fe4bc03caaf8c7680e5bdba813a0cac6bdb95ffcb98d8b06b28853dffb11b8af5cf6587ce62477c7201d66cc5c698de7df0d16b3351e24259dde2570fa9fc6714cdafec21a5549c163cdfb275923fdf4a1d49e6510daef7898cdd35d3e8a9ef75072c25687c306ac402cd8ea6e0a34f9052c65ed4e6380c512de3717871ce2e2c59225b2474ad4c45e4181a231479b2b440563880f5c1df9066be3c32946ac1a6a5a45b78758f84be769e1da864e007cf8d4617f2f16afeea1a29210b8fe8c53c2e0d0ab0720e724be02d7e5bcfea17b45cf1947c7f077849f273d7ecaef4a9ca81ed9957e6f494adc2251a830255c64226d7e173e7b574ad9e3ab668a52257b1fa4b423eba7ec571e5bbf794f582e6a98937aab2dd8b4b81b6d3ca7b73ac95cc902f6990187e6d0e61ced69e41812eb4005748270cb25a347bb64ef21735d736a740c3506db4f42f8445dd9219cc25aed2d8dd40c19fa3e43b6896f7856b1330aadd28f6f202638b32b37fe216f556ca5c63c68ec838730e162d9f6e86d7abf1696c85d4bfbe8ab08b03edf963ac74a0e7b5a707e769f877f7be66bb77fe826196cdc3825fce5e7b7fbfe36994573540dcabf63482c216ec0edc0a72188238459f2cc856f74a6a611f732302f58077e29a0db459ef623071fae0a896844f3ec5cf3762fa2abfcc5beb6754cbc173946e3e142f011e536f4934864199d2dc76b96386e038511851d9cb613c8e63ca8534a6c63101cc745f1c5d0797f22bba905fb7f308ef50d770867d05b6d79c07dd613f9c935c0da2592aeb11e8c1e4ec948a9713030f16b53b12abef12e9ed8f60a7181c916caa8de722d658b22e0a9db2f28d6063a084ab5660a395aa1f0c6a2ee56696096cf14d683f294568b33f424836d64d11fd27d140c0e15e73894a42dbd6d96b93e50ea8fdc673462d4e060f786dcc9bb240771eabe701a4d73f128be21e0143c89d34a9edf6f2a2a06215fa6f4da53a05651694b176f51301d870434a4c86a7356bcd5c96f1c6d86bfb8631b0f238dfc2d2d480c94058d6f508af9f5f1be24eca5faa36c1c267a224570274b591876b127ec40e5de073a1a8e1e15065692f8692f96351f6aa4814a62c4e1ac3806b148909a1a8470bcaf07300602e866df63bdd8638df9f040fcc92f1bd75345a48f03a7899d23f8f6d3331de2b9ffbd43ca1cf0b8b3a2d567002b390222a55aabcf72817bba59f926d33664b1c56fc12d5c30a89c893fc973ae2ef4784f52dd9225834a2ba91d6c5ab94cfbd2c18899a6076088552d19fb11f4c9d54f40a9bbb85e13db378015aaef1d803ce3d4dfd9156f05b88b89a57d5a2e818d17ba12af5ebe27901665295a5881bed6a5c9b47276209422b206d7b687839995adb8a759a7b4d8e6dd15730772ee84527f09162cc6e94a90167a2ce9ed83cf608b5800b86ede4a22c09de71a201524d2acd4e1bd6f060d1227997fd6153e2575071698e6eea9174a6d7ebefeb36bca11cf60c1e51fe785e8471c05f3d4f0f59a2ac1cfad0dacab70411c1891e792b62e4c8c5ed11eab97677e0acca0f5742a3402e495a5dc6d4ffd9da97c193ec7feb5f0ea2bfb4e8944d6f166e305e72d398dbb60f7bf18e917ed73966777abf867ad5723a6ca7f58b02da4e99da689f5021a933d340ea47d908f8d0b3f6292fc8b631235b17c8572c4558dc031768f36b0e8044314c79b8f1c41adee4311019950c7687aaec8e34c195caf7f671855684075f8e08c17aab87c4825e71c094c4b2cba38f4d3bf75314987675d103a49863db51ffb776837b13185fd1b0ac2dba8252ed061325268bb48f4019cef91f030f188a7b5202db359f8e099e0aa4e57120f4e5c019a10d9e6e6cfffa78e7377f9849552e4c172cc4ce4187213e303757664f17eb4620636aae84ce67970f6da784041f43caf68696b20aced6c5cd27060cc76b1e5b7b315d1ab483b4e88afd86dc35d2612b03ce011146b918a2b5d992b1700ed0f02403e895968eeed7ca1d87258c712cdb7077e5b5250242987271bff25e1928fafe20cf14cf48667e61011e3e4bd39e1e317d61186cd4af2817ddf2d67df51f689a1efd1aa4e8a4a89787163152764b4784a5172eef788a71d55f4f933119e2b2f225954f30683f15c6eaba549f8c1eacf8357270f85ecbcbe81d6d855c68ab2b7b2af17bde50f6b1b9aeca039c4708590118eba0d924076284e2a6c055bd9313639025d6d7be91020d598648a707806423bf03a57aea75c9ec964f17b006bb4c4dca501b67d51abc76ed1e606d37564cf22379b2c58abd979a1e221c38d4fa849f00137deac3f44ca90d2f19bbf8b95ccdaffec0c5df769fa9f7085231cb7d668aff1b53d7fe634d3b033436bd662e0c220f595f6255c9232e4221ec6846193a6101ca32c1070e6b0d2117d3e21b935d9d7235b02fca4e9eab96305e8d7a72580fb55793e9285bb06c25defa4ca8150ffe4952db91e55cdcb93e02f9e7d87a947e2e6572f4f4e083deacf40f9b057302ad8fa06d00e5bae1d20f1550c523da57cf89884d69c0fd887609d86dbd77aeaa14e5aadf0be5f8322c22eb61a5b0a6875a3dd13b511e1ef0c155eda92a5df9bff577c587f6171c2800f1643f3f72be642ddba391c09ffb9ca0e74c1d967a2ec30d49e626a42140ec87a294541d646f7966e568b6515784d0b3d626653e357fc3c0195d8581101750fb5b212e143363c1e33f298d0715b8874be51edcf78bb36ea8269118a57df95358e323353c46db381d912ad97e699d24ebe7668037fb294cb8046f1b40bcb618ea22acbfbe7d332f1b0b3b6d8de88ed7bd0619a1e847fb32f5ea203df8cee9561e02226cb155f4a6647aef25e76caf6a92f2e3f395bba0c3e8b068d3b0fc7417f6fc371a6446dc7ca3d462cb9a34898e3a7cccf0dd939a907ab15d7dd75145b040ee48927b516c8dc19bfbbc17649804057646616a6e5f39ace7f31cc93a73d3b99f9e49f3cf6ae6230e70b563d9ec0e9ceb85860b2938e8b57eee5d51e95bbe57f77aabe23b0e6fc9ad83f3ee38279b85fc8bbba94f0ac75f87ba1dee74644c7b0ac0773f8437aaae625d7b60b32967260151a1dc36eccd1d7c3c1d2fe9a3a4341282bfeb09a6d84ff5978692b6b4d96b51f73868e9361bb92b0de597fd6a0e1f647037c2aa44f3db2d0d6d4cf4ad271bbbf88ef1f2c1463a2cfd91ed897e1f41a5bdf4ab44abc03646cac4114a11a5f1d6a8b21ae153c34fa887598e99668aea60a9651d30384d7b175dd7eebaefc673c4fabd05cbb5eb3db40ab86db90dcc86703192197b80490b653be557230cc8033e740e6e87804e3078d2442088e8787980fae452c792a4012c67acebf4f45efc41d07bd48bc7a481b499ddc44c2597e79d66dd3d445d20b6d6630c041fb260fa01342e220337a64dd519d1f82ffcf085399f51a9842a62b751be21f8c90ffe423e74013180ffeb7e9a8f7fe1d2cf79fa3c28c242601342a31be4045dd13fa2b2a325c1906ad8718b86d9336c15ed2daffa535d7e38fca3114c9d8ea47583554589f9a7e0201a711ec158540f1f41fa5651229af3dfcd6ec5c7696588d0a4a75488193adedc7afcc000c424b06bc3cfb5064bb6d7c955171d38a6d505b49d2dd01c8771e834f1cc0c75b04b5e2c58fb087eb935be58c2e3033ea8822aaf83df6f04cb158b128266c0394ea981ff1d959fb6300bd1e7ec14c594207c78937bc84fff0697174e19353dd63cbc9b0d2676b54e7b786579c44c12eea9f962bdb16df2953628884a178b8c5df78de720b513258ee1bc691313cf54bba9417ffc9d17456cdc27c9020fe8a64f8b48225bf546f66062ae84967334809385d1abde06e4a002e0684ceced3f798362b1e52e225aff367b42aea18883ca58e138fa6c4bf06f4fd2bb04a17a811973788c8984a97399f976f47a189de31ff61172ee5a809205e46e093bbed735f64d3fa21664c2cdb36a077a388bd2403667a2a62dc6c615e3e059848cb243d1d647876a0bcb40352106e5f8df0169fd7554fb76083c318568e52fc1509dcec565efb4fc28fd6753bb1d1da1615d25aa1d079c76476d10cb6a0b03c3c603ead3a01ed570e0740adba89a4755398d71deddec92c06aa7b95c57ff3f3d1cbd84d65e886bdebc9e2445a47a87f7d49fdbac5dde1cbfefb979f291eae394d49796b80c0acced1ef3c8130c4b83673de64ac6ed2056df966d8dbe9132fb53a50a38ba3a781a791647a99b03d94faced51a2cac4792395b952e1fdc16ca466e18e5ded5c2e26567cee47c1540f115f1501d4aee05e64d732bb61960f0576f934a887015d37e500335a82b6c3ee498b495087bf4c5fd583306bd611184f361d09a93365786cce2fa0c692ec64d8841ffb3bdf3e768639baf9f2d9a7dc8be864a8d9355e19f8960c6e51c5b9297b9cc0abf165514ebb15b393bc7d3d5962da402ba10166d58abcbfd02663e824ae35ca0bdbaf17f0da87d6708f2f67e29acff7c2067749ff746d4080a4413d222a6abbc14b03df1e4a1983d5da249f069ec6a5595ecc9e2ff3b0e61589167e311610fd930dad5396b94ff348ca3770b44ace3387e6c6d137e82f80e93ceaa61e076c670a9ba02b1f9a35878d6fe9a973897ee3ae744537cf05c076f41b444dc371c7e7b4284eb6bbec7a264172d8138d788e8e75ab495044c93b4ad5f6ca941532add63a40b2e46ea20861d93047cc2fcc2c6b3ed641b75dd2e576d1a00bf604e8f7327740ab3459bec54e126d17cd65ba0f6c619e1e81dd00cf1891dc1cf6731070a084cfb1abba4668fbca2471858d78d84a2026df385555cbcaa390e3202592c19d5450cd8f1899b483cd844a16e81751a0578c377eb81f4994b35c43f5f9dbf4791a47ab900e1d935ddd151c0e9e5d7943aaddf4a0aeb003c7bfbde2323b38f8a01203cc59ec9a68f61620df91b5589b10e112cb6cd8a44b16916f47ac8985041364acaf1612061c6b92d0c2477240d4288211d37b8c26c3da09b4f93e411095be6df4a2d518f7513f3a7e8ff76b0cf1c9545799aba8ce12576c795004f9d3d9ec77ddae7e01f67d1d69e36c6cc1ecaf02ccba4d8a00c3f0709b64682fc1a348090c4b889918728a87a0055b3b7d3931f3729d1e840d52a84fd9a652e60f482e6ba1c843e6494c7f6de570adf3b8e26da4034c00e71efd8263d4426481e1a74cb07b3458e085bc13e43d91d367d1d3b3bd440181fdc776371bbb6a8d59d35c641aa39306bbbc9753236f4baf285cbbc72ea5c926c6b4cf0617bc46abc4ef06b86c632f9667e159c0d0f9656b6baf31e2eb177433760de71302c816e2675f0c5996f720733a6a06ddde5aee490ff9c4d45d25b3f625b915ed77bd79df18f55a53750aa00aca0c34f494ceb16ffae099679669d8735d09a7d8361b46a0dfe0b43ac01fc87161b83b6443b79af1ad2347e8255e546466c6c9134a14a2b9909a0d991afd6b6f9caa6a4d13055a52e3773206b2b5ca93698caab358caa4d7b61fbd54fc9e4915da32b9e0fe00b1dd9e4c2a0164501f95892b5b32cf0b3e5d7af2315bef8c10ecca651645cde08f08da159f8311f99a8103368690820b6eb0b35783e1a084d59fa055f25452a116568a4a231256ac2386f77a7a86c4d0442273e460ebcab83beae381aa7a938ee8805bdf829bd200f7da8efccbf558695f0ea488d58fb0362ffb20baf3897b6e3107b26f73a16b5fe5cdabeb9cf1b76cbbbc6a333fdeb72e3b6b495c0f06c6b03566131c05434d382440f73142e289b6af271171095bb7bceaeefeda67121821adcdf50c993c868b1a55c8263446a3def3c7c8c578875084f3079bc6789a5a403866e3cd86174857698350cd86d567d6e8b04d5ac7a19f6d6572eba040da593882fad4476ca2d72cafb029b9da96ea9015ebd27826a9a2da7c6c572db253db623e14570b3ec59ce0bf6d1292c11587d26ab8f7f5782d3e4cabc1c605741992e729e953aebf7209db7caa4defff45325c520e110c29adacf22dcf13bc5935b746e07bbc0c63f64ff594582e482048f272ec2f3fb04c751e79a2e9f8c09441460ecc089838144bcd37315deb2308c52cefa90a0fb96e69e174d65e1dbb6dc06349d2d97edd4d6e47a1750ee819831427f06e63ae5140e7900d5e737e5b5012277c8d5df2e27417030744ff5aac1b141aa4038660b1b287db378c09b3371393fd0de51ca3cd138ba88b9c194c4af55bccf7ff8142784fb5a152ee8be03f48970d28c9c7216cf02c0fc24f7b16ef5a047e4c3dfe05edc05881e17cea29443a02028738ae3c8d9e90f6ab14f23db5a497e77ed7253263bc11d38ea96db6001005e7a92984aa8ee21ed0fc63484341d2db9f57180f035a1aaec8a780501638d42039f481574ffa31474a512e849c297258cd89e4e1e39d7bd63141b96dfb7372304220f3659a5f0eaab02653e9b0ffd3b80ff63078beabacb4b950501aaaf1e9d87eefbf63d137d44d5922fdc4df82889e19feffc0bc891b51b078bcfae92b6a0f2c4704d3387360cfba03a89d956d0cd51a012e08cf4086cf78324624071f77ad739ae50e9fa1b30c27649a3f3a57f550c99d7a548359c1e6ea6584a273b754d69433b3014c11099ae4de6016a050f767c09fc7571a8bb5d80fda274e3fff6e1ddeca634f60f34e6d1bbe0e5a50a9d9d9aef5076e8dfe9fee190fb624fa002ba9129113b69f4499087edb19ebed20869d6950f327d6a611e96d1c9b519732c7c07d03b683ef57b70560e1fd4fda8a95735904551b1a0dc4dab902a86f7cbc62634239efffd66c0742af4bcacaac761738733f234b3c7a65d1bf35173c00c75bc0a22b19a9b365e0de4c196e1f62f82e525dacc1404b264acf222ace90971fc1741ed0887d9f17f5e55601ca3055170861b650acdd4a72d6944a66312f5d395319af64b7e1ef54b4d112a198de4b62d6fee01c1f23843cd226ff8969db5b9f680149a19fb635b89b5d6cd328e6f3088096b25240648673fc2a436e07e9c9be8be7dd2dbee91f90077542f8567ab35e3ed58e8d3243d0abbcfd1b8906d3feaf27fa50c87be5a2e73861832828b6c6c6c8963aee5d66766f92bc7304cb52bd9f837f767bd700247e4cebce8c1cf198a46165fdf7f69ae15613caef17104fd0908494971ab59fd7cd076a0a5fb92256f08b22af48c3df078e230e118803073bf0a6ad24c96baebc3e9bdf1e92097c8b59f97ab49dd926dd31690f9a8044c1d1e688a4ec68bb68aa77a33852b87f2d544cc5b3b90d8ca45735aea48741e00d6ef657cc3da75db9abe5e2102a3cb0f7c5b68be5ca2522ec015b823a44d3bcf5e9174a4b60cbb05b79c036cb30d09a84c8301744985e8a97699690ac041e861235e26f62a18e307fa4824c10a5bf5dec26cab86ed24f6d15389336bf308f89e9f59d6530a96bb12178f1f963297260526fe57916ad29e464204d4806ffce86d81bbb063637e95c6f01eba10c230074c280bfd0960b75a744724b049d2b0fe99fb9c2a8816459cdd5c81ca86d92c46b4a5095b1d524514b58171726bf26c51f73c992310b62619d49ddb1dfc42b4f503fe216aa8f4abe4eb7798dbf4763f66b4b28df9d6c6f8dc3eaf1774d9c3ea810bb8ad731b94f376dd8881166b7ba9e0b19102f7865873e7e163a3c122b943aabb77e8824af04e7ef9949d114934a3e49448c20a66067684185f367da8876f63ab48c1079c38f6b287409b9442a383aa624bd3f510a40caee7d780813c361c025363f5ac52f85969b5babcfe02ef8294dbffce493f83d2267370ef73b3d508d8c22cefd3219f21ee880705fcceb4d628e9a0ef629988cf7131d051608c70ec524d72655bb6df99416a0fa395215cc44cfd8f9e8c0d0155444e27763dbf0684168887d974a4563a4b2cfdfe689fd28ec297e3d9b93dc7f7038648bafe6e3d8cb213be7fa2244824dc3a59c6184f6c88fdeb5a66e7a781b3bc9b6595fc790921db28710bdaef03ee3f9ee693eae2d728976ce0678decd27844239a90222237f11db2883318e34b230c9b1e329b8a46c49c2d8a783873cad76c14a5c92271a94187cb0edb173393db694c534ac252b27378e0625516fce8a245c40954d5a2668059b37742a9716ff5c6910ee51cbf64660039d1198ff2be028cbe9ec703a37de51257fa99ee797d5112ae56a2519aae2c4feb2e5c2364f7bca5d460e6016f9ec4443be197d895487c85e3a9295e708c6eaf777ecf566b950a4205c4c41faf1adda2d38cbc9cbdc5e0fd6e26a87011ccf25baf5a6815f1a67b905237ea29977e24941b974e66226ac6ade6ce9aa974b76c9738ea9adf487a95415f79a7d7a75cff838d9648eeacef2c4e65599f16b8fcfe2f7205cb703d4b3a7c5b331aa6a545b864352be4f30bab16a8b58d13046487e88f9052e3c5bab4c6bf746a0ae9b485944afb4f3f1ca1e4d52c62dade2a01c5caa9c4c66fab90beac25c5d3fc1e58e3b6e1db893ec852ded3700816ef5b362d39fe7eaff7920f746c6673e6241c7c8bc198a25d352a6cada8a2f38c63dcaad51cdf6bb5fe6d42a9af53fae7515c1781cd2c3c05594b4d07192f6c3a4c9b4f89fe8182c8addf014b00bb22a417ca12feb2b2f55bd4075fba42490ec0117c0b229d7674e3b7b6db96258b8281c1466232206fa0308ca6c62e3139d8bb2ba115bc13936fda12bdbd8dccdc6ff11957d6e6b63b170136f5b5a6d610bc740692801f27e46dbb148679121d14d0cda62004e375321950acfed12db2ac1ca0787ccd88d2f41400c733d155946cd95d369c4af8283f6001ee00d08871bf3ac4a21a78ea71d8cb3ecb3d234a813886ab228297d1973b76d39e627890dd47030e58c13b62f6e66af0e7f6939c5f5ab06a9e2b7144c29ca0689ff8994ca548795402348dbaffd38100c1934e5e82cc227683069dd7cc5b1a5be093d729bc0d1113495dc41acbce8fe0b29b1b6953b516a84b7096330913cb7858be9bbf9535064509fca76b5a44de2638b1a02bed21b951e96a9f3e22248c7c364a51c80ef3682368f4c700fb61900d8f18b66a2b3814945ea4329e898a943d65fd15716de33fc97cd9c97429f07f98ba65b62bee19a7bc2762c58e22cadb5135689cf9eaf7ac4e1d8dc39836903a12b176ebb0035d0f1ba975b6f80f093cea198d44374b4f39c5eeaf72e5ed02097a388cb08b796371bc5cb528c0ed582d6f0b7fc885270181df264de517b1de6aed19bfbcd9a0aee429cf9fbf1141ce3cbe4aea60df64eed00a8d8ee8d29332d6b0a5fdf8122228f7d10be74de147d24a468cc3683dbcba75172f5912ab7f0b07bc54f94adf3c3bb06776945d6894758e639bc715f1aa57e064ddeb4610190b360d2a0a66fb95039e398315f4e57760d5a8d5204da9433383ed48946e1f6b42155d4b5e6d81fc1d18705b37d134e74b32d14a64f3ccee7a9f6c4b7b2ee65a72b9373c5d33c0fe279fbbed911eb0b52596d18ebf74788c7d834f1928b149441398cd254d184abd9b8341ae20bb29f75df8c4ea98c2bc91e67e3d300d9219caef7856aaf6f89e98f733369168e00d3384cd798f73e4ddc28d7cbdc9c953203c797ef100d3cf3bc7ac25a42715de84e089e557c50ad3306a5a81a11551aa6fd3d10a829633325713a0df3ab28db4007f8c16d0c0a8a0a6364af76eed3af305a37ae1decb638718ed7fe0f3e1b288f9b6ddb3851b361d3c182e3cdbaff9415e052802874ca52a6d9e832540c4042abd283b7682e9ac4ee06c088f63abf88726bbf62453cac89e7de6bb3390e2cfc4ddd7e1119734b650621fe893c0b5d09ccd185047ee4962f9f43caaf84ace105b76206cd6cab59f44d7e58d269939f64b1fbc0965a68ae7d6b453efe8033d0872e5fe1b53748d8fa95d23c14e1e5032ee53358d68e3b32c5a5548450944a16d7c99d6ae459743f912460f893481acff50ab54f93282af0a3cca11b9cdfcad80a5b4a60de39291e1eba95af7e79a441ed361d60df71cd2adaabb45f6ba9f831a7551b2c1b9a8cf8acc6a5847fb969b1f9629c830bb0171ef114128070a9a37043545ba4284d5418ac5c8baed9c7091179dde5b8680cb79441b10dcd4a6bd91856a48bd34fb19850a348f79cc9228f0356210405558d2bd89dcf526ba191d0518de9e6175710e1bcfcd3cb4f24f497f9dae656bcbebde26459cf9be015c4c64a0bf8a20728ad928db26d54b1150978b1f0d052a6f4e455c2225528f2152d8375567f6eedb68bdadd823bfcc150ea01dc737d33e25f35a3269a7764fce69f310d795d0701deda2aac94f89acfdf08c471053c355296b27af76de2ccd4f844f144ec1ffba0f613bd38c2535fee78e7911d28970612e09980ae0f87d2f5370533943b6485473d97199ad7ab2533c6d07da50ece970bcca00def0eeeff07fb10932407b9d857178638b73e9bfd80b185310df83f2b34655bd4655a70ffc5ef2712117681fe71d696f7275ba5252774da496d563e3f04334e3ce30a310d31449bbf8293721e831067eada6440cb527c1154dc303f2c81feaa835ce603f6baa87a3b6c4367d41fd82d75470ddd7d5991124a9f96e4c2ac23b2dea8033afdae5da0b76d5393ddfd0cd26221cbc126549ac46c8725312ac3ec286d0fe539f1eb39ab846571d571295fa94833e8959f6e08987aee2b219e6702a6779f5c8587e65ddc7787420d56737a4e0f12bb1bab8943797d8146524ab23efa0f64bf1c04b10cda00977498d287d872e92dc231afb6d3840f7320bd6581449d1a977151496f39c24d43fac94fcd50742ad159507169d5add1ef871c8a5725024da17120b8627c13fabbca46ede1fd02d4feaa3e289cde318e074662978da29b7cb88cd5dc9c46212c252636b68e13c952fda0bc07d0e1eeca8e3f0737d50bcf0f68c7c09cc81d507087e9d8e0a99aeeec17b7f75ba70838112de48bab6ce99e01a96322b11534473ab741062e68f663e7cedd6df2cacee206865f2ed43deadf0c2ece01887bdd562d9a2407658bc392865b9221db64f5afd5ff6ebda1121d0950bd443fc2ad327a14b95497e98e6046b8fb41ba6d5aa81080e128106251f93f6b9ea24fb7cc8c73b8523f8184947df89af5019f4f06397ae6178d7afc3f9bd867593bfffa99df38e4640e0f1c98fa8b340517c88821853829fbebbabfefba3082d278724fe451940a51ee3e7715ca950c4e314a668a3899efc56f9a0672421af7acad2d4d457c3620c01983953d9edbca7f87ed44c40114a676f91c1bd155bf2fac469d848b3f65be42d5dd49caed6bb1437f67cf7725c78ea33e0b8d9b1c6d4d1211c350ee7a68a4d357e1062fca09842a52c2b6e3fb28af7dcf4a65b4886b06016357b7b9688821d81ce01c3785888710cda62fd8aef26884eed75e4172a01f935d29eafce9027103060353c76c96398cebe4eec1c151396f0d09d560a4f03522d9cd8971d9387aca0fe3c409e49b3116cb53968d13aa417270a2f667f371a4208a76617c9c752a981fe7577d95e9b24c09074139efd96841b678a803737f98cc3ec77f6a908b20d07bae1378eab8db4e4e61e5e5ff1237ae6ca8646228d71da8889b6f2ef99d5d1852b6b1aa82c29bd764b28a0e84b05db28f6bf146d11b20ec94f96205d2fc025a0c56f0af53c5b2ce69c32ae6d1b32a327b2122f86e4a47673067d7e74a7984f83bdc75f3da11234dea666acfbb5afd93324dc67fd0bb193455145f828161ee212d778fb9f4c052d80e904e7c31cf61a67ac876bd1d2046a3d5e7f4f2518f6f971bdd38fab4861a55cf11e706ac5e5545b647fae29f7c4ccf5a6c0cf827aed70468ad180de4bd811e903cdb96fff63fb781831e176a90847e4e4538b752dbaf55cf60de087194cbaab37004666a7e0d408a820a996d273bd42c7523ad0c2219f554922aa942088a6ab47bd8f8e01d8cc6efc165f953c1ff3b75aa38fa00eda2a9380fbeda9bdfa7ab0660ead4500bb8ec25126ebc8c9b8533af79641feb4c7447dc59a9e6f2d998d0ce389eef374bca8775405b7060c28b35c2ef53710a42cecee2ce127769e0b42f0928b36347b13b20fef6d2ed4501e00f34661d26af3b5c4aa9745d565c83df86b134819b79079e07ce897a45527db39be9be94c83443c5dca0f94c4dd10edb2a2813fa05bf1acceed5b0daab3fbdd402e65b2ce179f4263bc860ff12b46902037c48f9c1b91836f4e2ce9fbae307d16e36f362f2b7123e4ee93f49eefa7755e0f5227d6fcca6142685fbaf162d8150bd3c1f05193b89067070aa860a0c52ec6a4ca254813e5692e86710ffe110a6203ee64b2c286765944c94a6d5cfffbe9457c1d3800fe0fd87472af50a36d47945e1b8ae68f71de2622f948eae4ae0db69ac19308782fed79e3ff2fc4d994b372194e3f4bce79aad559b5aa65fecb9a31828df482814638a55b891f1c337ea1180ad889a329e65adcf41134abe56c4ab0770186aaea8c9b20e3998824e0c85971530580df6a7fa902526fc1d99733a9ff0ce3ff2fff72b8c5245c771d412de31e6306b7e22ff951e88d45b1eedf7fea4c5169b77811ebe8fbd35ee9595bb8545a2a273e56591ca713c34f893ca0418bb26cccc137dd7f54b15de9722fde3894837bf172314df5a270267ec7b85ac5363cc7de3f52d3b5493ef0c48d705b01993a690aaae3c15271684afcc71ad42222bd22a9733d6c71c1f90584a0317ed89fe2e93f24d489c20ac8129680793a3ba11d48bf4391d18b1bba96c7b424dad7df50b6ce43e6cf239fa8abde500fbe59c08f85d2ea4a0d8b17a71bd153611a2296e21d51c4581e8742197b135b635bcb3182adc683457e05f7fb8b5c6a43578e946905d084e1803705d82b1d6abe42df124e9a5bccae325dfec617ac7b44862be90940688585f5da30ac5a49a03414039755c4a9178855ab872165b906b334b862fd60aef102dd464f400f1bbf6ffde73278043c399d825f58b70bcfeec44b44d544e8bb80621a396a9f21ef491fcc6780edecbd5a84ae789a74b53430860d95f3fbda507e68762006e93b124fd0246aa6d4c0c59b77a8be8dbb6119833cf2380a6471808e0b292f676c223a87cbc99841d941e10dd3dd2b8213a646f4412b9bc031ed9bc8000ee0ddc8db1f0122f0f99c231334cba682ddf775c45040f988b90328c89f1e9da57a2c3183f8e09ebf31609ce7d706139d3c091deaa98644caf3af347787e57f12d23c5c2592a68068356abf1dff41085fceee213cef932b39374856e043e7c7884bfbe015822012d60d96bfae3a03f053658477b001043af7b5fd22b4b6d37c39aa399c5301489d8214c9aa57cbdbab2669a7ea02eb9c7c1a7d90551f3b1258bdf8a1a556611f0b8b4d7d321f16fd514724954c0a24eb76491ebcb502c46f14b915cb1b076ee795aa94d779a446adc24f4921e566cb0eb82dde3f83691fc2577e878905ba2c3493bbb1ec2cb65c583ea4326a713759901f9edfcb53af99016282b1d62456daf2eaaa0141e27c3af71e227160e187ce19993cb0439e09be7ce960e6c74f651725a1d2f076dfef6af148c62afdf56547a12c6dc00fe124c5a87dcaaf32fe68f7810d0d0385a744c293ca1dd96f4b2da2ecadca3389bf2c37aa19187cc90c9ede10b2b3e3648631851b004b137bf04167ec83baf118a3ed404741f700e2a81bd7792c05b48857d027fa30950320f82c6f77ec60febc50e733a729bdfc1e4275645e9b09a50cd93e0da90fe522b82d15acc7d0d301d86c47b7ea1f3ceaf4142106005b5c9e01437ffb4e53ea83d452dac6f41b4a92639fd674b574ab1c2dc4ea2481c16dcb9efde29f6ae47000338524b02a88e26fdf86cbcea162315824640e4f3786d855759341d1babcd3e15ebc488ba702bad038bdb714394556b941d0b62f322cd8a399309236a1f478cac79b1d56782e807f3044e49647a0b498fdec14c653be35456697b8227b8592ca3001aea0831b387006653fc52b301b15c0b7e64614e0bc15fe63beb2cb4f2c62b5c26b540d9f5982fd3e3938ace5cebc8717f7c5827ef61c84f911d5d527af11af4518b8bac5fbca130aadcf8d6bd1c488acbcb9d14a13d5627069d251a5860863b0254294d0c6bfd77361f77d208924f84982a2d0c4c4ec931e73e89bd42c0df79b75cce1d30932fee2d4cde032e68c2c7f1201248aa2495f297df56a520546b6d98d3aaa6729ebc7e88c2bcf014fe327ae1855257c62ff1dcc397c07d9f2aa7a549b740cab4d18770f27efc2f2b5dec80d8d41b79a04459325caf13c426d8f3f647069c06ab09cc6db74fe2dde55bb83a683fa12eff73adca1a2604483bd5de2b85cb84431dad93ea7a5da10d4622df6d6f61b9a85074689c00a59fb3915bc6c69fdf8dbdf09f8d177c7e4e5e4e59be777437485f076df5a8b506650298b798953c56183e891919b7a4eb75a07d6ed41b0fe9e6a7d6e5edeb32ac32333d1c605c98e29271eb867fd4aa0bc136344a0868a32d68414e2693eb4f51ad65556c1440cabb872e690b19ae41d9c3446e895d1952ec450e9f94e268737974ad0f36795ed8c6e22140447aa59e73c4ee09ce4c8c037e803263ea3fc581d365282a1a435cfc189b1c94431539618bf744ff719f7b3029cfa6c8353dc4ccfff3a46d3673c8e9cc920c52e92bee653315cd6159e8098d96f97ee18d1c55edb385c645e9c06408888ba52d05a9f2f45cd711d185cf062cd91ba488dfc4521e2db6d8601bf9f7b1ec5d649ae55cef12d74fbb148c8d776f32adbea988503959c6d138ecd670af3e67a3e38c16ffbf3e1831b831d1ef03613ded03277ddbf37a8e93a5c51e32b39e249665447d12b8eb52dd5835541a3cb893392291de5501556249a6e6159efe480e47ff9c3f3cacca73dcf0fc3ba9cd037acd18f42df9c52612b205e7e3ea8cab0c2815799e15ea9e5fdd9b2e64abeabc4e4d7f941936d0e2c3244a5ce3f581136985bda0df1e32dd0d9d193a1ea292119984feca9abad8adad85f17c80d4a7cbc834adec00f65584369fd7a9a83c42845ba0c27af6eac374e23651d7145e46d178f38090310bb508f74892aa184a13770db4df5130bfdc5215f7c99c30c3515d13419626a0bb244486d6809db9f0cab04ef4bb647d1e4192a469cd87f9d869b3fe6f5ab5b1602421819cf9538ed87922710abc55edfb6e6102ed7e8e977d1f47e3267bc69ea7c6d13398076a35031e24a22aef7b006d870612d9d2ffc6963a20bd5bbb114897884a49c77bae2361cd790570353b42e9bceadaa9e28e45509ae77ded9c748201a146a58fb71c9e7549f3ef2d47f892dd3a34fece37654ac03daa5c1c581134b73abcc0019c29694abb0e737da3683a1fb6498cfc5f8a4f716f15a1c39eeeb792aed8d2e9fde5dd5218bc8a5a6690610b206f7aba8ad836b3a51fd3ed187b00a2a3b2c854e82cc6d134f797a5c8d5a192639e9de2c5f1f06843e250ba94efde53c1eb8bfc6988946bcaa80d3b8dd521cc5246ed282dd6457a312190410ba965c0c3c225188bd96275ae83c6b23acea6ffd91e3e91d7be5ec2e8720c5ea5758e68091b47cf83b6367a0ca74f3b0be89df513d77cb935ac54036c28b09f35b4b6454f018e2fa480fda03e8b1daa697f46f679d51986aeca8d7fe1b628443a4fb21b51495352c9b075099e0322b0040f6e26258020ff04bf8387f838a988ce1d30db224bfb34ec292a0caad1a6230750fcf0a67a73543a6be8fee45c8a4637a5d828b58ee5d5a8796726fcc7c1438b65964a746bc1fcc1fc5ed9e1517d2494cc424c3d1be66536bc4f50fd6167ca5b4ced9853466b435c941753ebe9d9d211d1b5cc2b6626434e82dd2ba45c13d9e3845306f5b1addbad35517e11b8d7eb0cb0c3cd8d679d1c05760a428ce6a1ecf5d303007162d6c3754b4cc9f031d90b269e4191aaf21f4896661c53cbd8cde1c07a19273a6d181bc8b51f8f0e87677bc1ecd105cde5778849e8a1974a2759f9df1d89654036a53809a2636957688ef30ea06663c9ab2cebe37652560d0f395947a7171fa8acf53f77d9683f01c278a3958c9406ae03918155560e4103451126169a75eac86ff65b67156c443bf2084c0fb84b81ecf88a893c9292fdb844092e40c59d26fa10d3e3c78e94091c56cff52c6c3084a0fea590eaca1990bbc3340b7061f93e0d5845af895cf9c704e6966e69c9292219552812f932f96b7669e89d310dd36b44c2ab6fe913437601e4e3ff3a7687eb26fbff9d188fba4fb297d194a29bb3da3302218f33dea4d0bb322d6ed6e2b05d83ba458147000deef0d846aa626b74bf57af6409ea0f7fef328c46801dcc8fabba1191135794aa2e8453d7fc283d2c27cbe22588b5fe22a3cb2b7eb6061aed617126bd1095bfab22806804aed097f45b290a3bc102fe325ee2f956870beb39abbea77043a01b301da3f13827d98c1aa9844dc6328107caf05d878af94353e1adae24dbda46acab89034618d1d87f71563870d3f0cdc36957c17ba2dc73ecbc0194e8966496ecdfbe86ed58063f6edfe237f7cc4c25b6ac0a28840c61a02cf86be3e09bf9daa09b22bbbf778590833d39f10c6df5636847047dcf1c0a455e80474d5f9b08e32529437efe04ec4e71f6532b4cd3fb0f709c46901ddc3696c8add5cc9c9a6e640da40c8de633e5e4ad2ede36b706ff04b61ef5abdc06695f24c026ee5d5cdf1432383c869d115283e3f8cc84095bb80ca871f46cfbf1ba5ab9b9dea8e8406f60a530b89ec55c9728c862a09217f44c763bafdb49c4772dcec2b643faefe2cd0e9774bbe10ab660d3503f25edff9465b42eaa1c0fed4e62d99c4d51b87ecdbf6721e8f90d2f68634b42f7e5969bef4206854f5f52ccb02e2bb513f17fe9ba50aa1ed9ad578f867f24a787da104038d8c6322a5183a0a7b4f5a2a392e17f1f37d37194387f8118dcc695fd3035de266041c16a91d5d3a6bcfdc11b18177e68eb094a042982b39453031fec7bf397ae3ae38ff115e0733cb0db45de0e9882eb485e99908798b8d0d159667ee3779656a14243fcb94f7fd7b86618e821f0909b764e1b717f1f07c009cfabd3e7aad6245376e552677f4c7e7965dc5d6c93412e995c86ce258d8cee70e86bb4b487d2d3c6a2f5089d1465bdebeee64aac911af86cdfacd07d38e466188bc599df7f25f85dfcbc733206cccef60d334b60b1f974a52f518fb59829eebdb997041460f209e02722f149dc8de45262853816507ead5b76d8ccf671723711342061924d0bb02d244f5c487b6d77b4e45f9da675be7b118f12f80e08543b727faca6ad80d5d9fa6af10ab5f2d378cf2973409fb8e0fa20cbf1d096dc5ef8cf1c2e531302cd6462dd32e13796689a4dfb26994b85e1d7938f313668922d3b7cf4b2f64de94c53b5d2cc0456196c35c67a9f229d24eda07a8621ab44592dad9cadc2c69789b1a29fb03217072c137ee4af0c029e8ed1cc2e12bf26a808d102d52ae535d2d6633ddf42c89f0ba1ba08d39e7c7fa027ffefd8c38530306cde343d8b2ecfadf3f3b8ecc9c86ea681f29b71acded872e297f6beac65f77351ad2f85a690f50ab7495c545209741788e6609de87069982da38bb2e9e10c6e57666c4281406660c75f3d2b4edbd2327df5650647ea6e704b95ce47eac5dbddcbd125c3fd2a52cea9dd2ba3b612501cdde1d5759c218c2104a2d06981a98d7b9ee8902fc199993b789d17cca7f1ec25412c362dd3f99908a35ba1016fbf4bf63c2f49a143727b99e04dd4dc45ab036616b2fd6b2f9d1f0dc41c30f2606d4aa0e2f22526a3b25bae354d92680beebeb874c8119bb230d6ed387838d65fc8242656cd98ee16fb451c0577258ee4760a19ba6354380418f0035a3edf9f8b54dbf8cfc1daf64f3926bdfe7a5198478dc1a188b94daea23cd938c05032a229382dab373616c137a2f683188b738b6863f03c3be9719c498634e2de3e3d7d951134be0bad634788539256449b4aeed8011c23b86fdbfab1cf72f9f20d7d8c47e38f53e90e8fa284af5bbff1325777b7c7e3aaf7a750832cbee6a031297aaa61f414c39528a92be91ee02843ce0fb279bacc11e6d80ee1ff712467a246c6c1e86f0ec1bdbe15021baa28ff63432fed841a52d82f9028fc8ee1fddb6129bbbb5b9d195609179ab6300c2ab5c0db12c49b5e7eaba329f0b288223edc3759a97349f4acc2293d0228125db5081080cb0effde6590f1c5522fd8f2ff40a90b2583d4bb63a195420fec282e4281c24e2b863f96251399ba4be2b8010237877e7a74268c1737f667b499f2ff9fd809334d23121ba0a0c70941ac93451764b5d6c8aeda6a4c7abff87ecf6e56ade95a795fb2e9f6019f391513c560cb3ebd2b1aca45babc8f343edf6dd8d10d5481ff3a295f4cb4f95baba5f8dad0d7d8d0e6f44049ceabf2b849071e179b5e8945138a286866cb0b7628e0398dbef7af3f36f77e0203a4b288c6af75b92d8a6fe4e95a80f790e799068eea787cbaaa46c0b127180f6e0853311ff879df2fd78ca50a5f42ed31b4735f769e5a91a1dc1047b2d1c67e7c563c128ff92024114e28ad91a64fdbbaf064de6debef82e4d7fdafc120a0d416a13f42fe71f2ba6b1db51a21e22ecac1a0bf34b0c786a4f94da50d34f571fa53e3c4a3688f7e0d9a00e7e12edcc98f03c522e28d9e0afe5b87481fb3013dd99869a36eac1407e82b2d476ed8f17765f906e35afe3d3f0a6c0f69843815d7895be77e5cf2858a379b1c64697fe4f851ab579fcf76717806a38339ca09372bf6c78cdc9b18c16b8adc7ea14ba972dc983f487dc7716b49ac65d1cf69395030621ba42a056eda6493065d70335b7ad939c8a72825be24923ed71c9a49e33602f374b250b320f079ffb4c3e6a8977ac01117202f64e3099eeb824ef6f966d9338afa6092d6144159272764fa16fb5334c80117d9710ac7844fe4dfccb2954f9e6130ba2fb6ada8d7afdfea0b1a813e59f0ac3a71e90bea8541aacfb3251b28e8f48c35bc01d2298de5f37a710f7fef06afc66d9e2bf1ec4553d1de6b2116360e0edc30df416c0fd4d9d09efe60f456e5dd9789cf2436410b668f40ada098a7b0c56261561b8a8e3c5e0e95ac88d71538e775c90d2a0531e83c075d2a23c67b67c17f4d96716fb0af6e93c417cdafa358be6c02ca5fe132eebe0eaff19d0b14e4b1640553a19322ed8518cb5c9bb627d67c3db2f3c31b0590fae1a23ef5f4e2212fbec48d30519ad831e7db2aab7d46ddbf1b867904cbcce3f0c5383e0bde8d664fd8b2230ad89c4970aa0493b875723c6b13019de3e4c94cda04f6a0180fe7f4997dfab5fbf4e3ae8b9c41ddac46e83bc56a5d7d160073a0e6d9711d13f2c2cc6b256a0245730ab78828cec491a58b1efb7e47ac2fb378762ae675461651321e7960bfb56c0367c066d474f291e57c5753f6a04ec038fdf7ef641e781f1a5a275c086b451181e79136eb8997e6a35736411621ac0c450fdaa859017c4f328e1822b9df6c271f3c9175618d44fd0890eb08dd3808c6f9194ba3895d08dc22f570c8562c1e689a155037595a80358dcd562c41f107e35d66950c13ce60cc6d3a289a4294906434d97ac3b65fb07e5f9184bf779083d211af7195cb5209226cf1ba0832ceeb9a6d61e6abed53e90a3733cbcaf4b0d1af0d4d5e8293086b829949039046f7447bd372b0e7634b68543010c147854b6d32f350d47c3673f44ce4e49d16e5a2d6e411492c9a261de24d93d43cc7c5bd7ef3f0546852513309c2bec96121b4c22b3f8b0716a54f746e894e36b116e423c6078b6ba93d7a6c469c6e34f5092d24a06d03f2e0514358123b190f70437d26845de486bd69bd35a4e9a5d0f8796b398fa3201167abe9e7c648b6aa2209e26fd5f03a84bce96500f01bfeaf1d4465db8ee04ee9b7df70176db98356e38c67b415470f84011d49d09791ca04fcdb07d29960a953bedeb3889b53f80032e38a3325e08d227ab602a5a73744984ff7446195cba660a00dfe179ef4f61d632296911a6c0a89589be3f0feebb30d089e943f375e87763e8348ae2350276663dfbc72a5149673093c6129b56bffcafc4032fecbbc8ed0dfd0945d8fd9bdde36f96a9072ddba4b4953aa96a3660ce3afce6888e432635fab5aa7d253c104748a524005a83f0799e6aa25237edc5a4a3ea850fd4bf6a606b44316c596b035db9aea43b25e2fc2e8b38dbd7e362829ab628f5206fd8ec70634860eabf27026027fe1cd2e1e5571a0137f1f68364b09c4d06e21c6adb0d66ee890e55d0625e5a5382e4fc434203e7e7d1d8e42b112a44fd93e4ab0859f91401f397c8d15af2572d03c6e717013e6412a9535e0dc533b74f454c171760e7e12c878feb29c8b1e1d5f967953e4ea5d76bc6a1e4fd71ed2c0380b6bd80b9b395a9aff52de3a9d69f8faad651ce4871f6fb6129a91f3578357e69616e9fda5f3910c735276f00d0720baad0f70566a23d934f5db39d3347d8d040a25a508a68dc69e5994633d3bec521a0e4ea1040b448c56c5c02bb5da7ee95970729e086db35610f6a603f11434b2d69bca40043a269a0c9e6ab1c1bbb9fa5d1c3a19232b4a7303dd441d295c31a5363a848d095defc65a38fdc2781819ed819b25d04d5a9cb7ba5e721ca080316ab8c48adf952a7c1a9bcdf1ad2f96996b99837e0fb7523c219dbb5a313884e81092ffb9e5a6b742a9db3ec9b6d2c7fc1cf502910c87df37b75e5885ac689812a384e2ae9a434d51adabd8dbaabf4465e8c52efba254e22d40d9898c30d0c6fbf6cdb6ff202166ab79c4ee3015649e207960deb30b052556abe59ec59342c6a8ab2015b6cfe237af77fad82befa116fc91ca1a7c632b00d9bea13cbd2b856758bfe0602bf0c6f3b5d064bf9c53c8b63a397db61c887e93060a007491d47b88e8029b2679b388f64413abbbff81e7d8b838e0aacb50d468877413f5b790bb5834d58c743e22f108a18c0aaeea93fc6c9db2483fce2f25fb95d226163a884b927c069ca0ec54e6667963f47bf06546f96403038a16cdab4e7138e7c8a1017203215d73db6911af49a817c7c3f46714b49aee2a7b82189a75b5f08f766eda2c775f7450f7c62cab295444d92ec47ee72bcaf86243c6594d4997ff5aef2fbc60280fcb789bcd1c4f4af8e670319009c1376a4745bc7106aec5f146a528e1fe44018fe237990263b63638f9a941010c90ee24027e567fc4e9a808f04725f736c087f7751bbd05ef8d6def2c6e1d473321bf34a987657fc6898ffdffe741c7d139fcb66b2d0677c0f2b1ee2a05f10e7c2797d91fee0198812cd5f6d60cf43eeb14b8cf4274e211abb317c44b4edd17ec09336cd7bf592eb8920715cd011cad2cc5bd3d29fe9b680a7cfa7b8c9091a4bb7179b08523836d4ab2e44f7949efb6e7df2e52c7c9dd8317dbee228a0f0af028383474e82b42d26103f34846f499905f12aa33e29d2981846f70325a14d62a0e50e11a5d452820aacbc39b24c7ddb5ec50044acfb53bb936507275515957256c72cd08279a6682c2fe03765818c8b3b7fc06cb19c7b2ebf146b33c11999cf02b18080014c9ae784ccf077922a827c1ca29c8f4a0bcb952f0df6d0f72afff48092eed43f6562ae76ea8163056d1f3b1484a1ffeba5927bf4a7d5e88dfff84c08eeb3ca51668c0f57f425bbd5831611ff2b449b37bc3876faac22a4828e45ba28f82f27682c3ab11415a77a745dc709b38893db2af3fee42bdc934a92d0d62439caddea97adb9a9d5f1d5fd1c977a7a621e7397a09ccc3e559169f247221bb7f498a9e8d14c3c3f2fde1ec57a3cbc88f19ba1c9c59cb1654baacaefef9ddc315094d12ec17dff2d7960e63dd0532163eba227138f1bdc03222aadd369a886408b4988ac433d9836ea37d239af484203fffcf29def0dc7523a99928c518e7d55925373fc586cc98b3f899cdb3fb63c8b1a344f259fd23cbb0844ddf6700c8b2f1f636604415f5d39cbec8a335d869b8c5fc5b0280836b5513ace8e0c41230afe8d275e5e2d030303982a84b19d7a4cdb37fa771d634421bff629ecb78ff28ddf89c3eb3f1cf91d53d3ba9d5bfc578a2c15c8d5c27e39022a1abe626459a4d18064f5f776f981f6fc05335bad9149c441422e08e562bb3908a9f3a2c7b8e8cb51963e08738fcd9262c18d6b9130afe0a74ce0b9d822fdc7cf69d0c3e6c47577d7bf2e498aaea1aa73ffaefa4e9d08f8ab307391cecaab7520a74ebf805bb6610fde7c0f16d96045ab54612d4cdfda4e2647cb33b55ae4914aa7e3ec6d1e58b1b1ef394a35053e061c0821584bed75e4ea531625bdd58134a998b400996cba30836b89238c07db6664132bde582c9fc940696ca4079490f9aa78468a130ef66c5bb1a08a25657534716ecb5f46cd0c891a3c9bd2798a95d961be136df56d812fee38f17e00298e09453eadfe8e61aa40287ac65932fad10d9ed11954451f251bef6053dc85604ca7ce841c3eae8dfaa93a08d1be333aabe45b0a745c11ccfc2c52baf23a1d3dbaa595a8ba5c3bf1d1e23656fca9229711e09fdfc87f5928f91b09234a95695c9179cf89876efe38f07d51d886c8c1f349821c17142be409755608725dd9f45b204aaef28aaeeb961a519c151d74e538d3848ebf07ec97bdc1534bf842a9972ec576d51b27dcb0043a9f6bc16182d67191b1e37c479c3118eab6c05d9be31e8bebaf6e3c188ba2dbed3c9edcd401d5c540e9615dae3deeab3f8d3cf2b677d42a6f2a95fb86697377b383b63f503bb5eac2e4eea96912eca1a332371410fc1ba3d3f0821c3f0704b2db1c1f5ba9b8ed64a2976396fbcf42ce33694ed6fe560f0b39381c5bf295354c2827efb653de0a472f32436582d81011fccda237019e1a7f4ef6cd4bd4236fad6d16211736c48da5d58a658709776e9e3c141a8b0ab5d264eb4eeb5993b6167446a4b31bfad563cce7fa6d2aabf3e0c1bc258a8bfe2476c507575ef71a46d5e886002b811eb197cb198e80560583db10948ed12dc1eec09ab5c2cdf15a891738bf843201824c4aa4cae6dfb8c8e4fe07f2a54fdf43de855dbba5b31b3671d29836e983a3d0d554c4d49fef4f47b6aa5b40b72d0ab28ab5573e9349e6c7e95051dc99f70d68612a1903ca3a54082a35336aea9530b4d07d12d76da4e4a35f8ea5b41d381e9f41ce58bbf610b8ff00e4eab43a0ffef2eb306230852f0e9b7b883d62e3d2e218a664fcd6878dbb5dd17d0366c0b7aff046e5e90c0b410196e5feff286d19899e2998622a2f9e21b90b66c3c65c068b22f9b7718ccb4cb91facd55af148565a6b0cab2b27efcc5334af1e362caea19c65d5e5a01452b080f5d897d6018029de0b025ab7a9472eb4fb7ef4f8be57daaaae797be5138ef717fc9965d14b09a94215f49dbbde1de86b299f1bd4688cf20caf219ddf8a831b867e626449fa07ff12423c20552d81f653f7aa7944401e2afe038ba89ac7065bd0e2d9f29fbd27313b4efe7706abdeaedd383d434dc947189a981c7365710497b95c120b875727519740bf471480ad4e22257a1e1ef319a89bc93545d07fbf3ce4664388cfa962e7cd7cd905dceb0fdcd96309444d180983e032bbc52f30b60d81e02321cab429c0641191ab0f01264d912f180de9ba6daec9d39746d9114dbd320572aa33c2998721a1409e6590c407cdd7e4fe746ab818d65ae47abb1e17ec95cef2e8f31b5e5991fbc85c370c9b0b32ef012d255647d21eaa795a7c6302157fc2e392c848f7f1816848bf69a1832a9771b47515b99dc676bfb4df852fb94bca0172157275a8ef745d9e53ff5f8ca6fcad841d4b45475bdbade7da27afcfbce0ff2d833660e47973bb2e9c152018cfc8c366dc37b204c4d076cf19cc28f9b494ba6f53c615fce9e00c1f346438d25b62a5118872f4166d64af7fe9c93f5e3389c689b68e62e4e22fc3b8de0c1ddb16e54e7ea5c0fe972c6f1e68abdf3690be71f988bb4a2106f5b9326e458bf32390345403c21611b03fbfaa4bdaf4b461ad2b6ae28045369de56881f15c1d6c0476885766edffee9f501bf7f5f93806f9d1a91c55ebdcb415df1a14dd8dca1939eef32ddc63ae7f5708009ff05c2a105eb1575d1e0586e2a259d871644dbbdae4738b6e290eed0c28a4ec9a7def01174333fd5777c36bd70292b0120f2de72e6991ba35308dba04239fed1d29e619939debab06faf0a3af83d913da6b29b995d41bf2fd0787a05d221fc132c6bf7c0b6ac766fe13ac3ab4aff293674f5870ec1bbd42cc32b27e6a127fd5aec93db56e2e17438cf4c7d31c247cb64bc50ce38a4bfb3173b2ca7766bb2da8903d9f409665dead73912507a3c51284f6ae85603e95d7468a611568964ffe7341102489f377468b937f3520bcbd89eb981d65c1a7cf851c009ead7c096b5dde2a47a2ac856e53bccdc3b8217bdafddf0a0443fe61a5653851ae99aa311c7f5577b2cfe1e6ccf1879102df3e1e4bc44a5eb40bbbf11d75f9af3a28b537d8a54096c88d44657a61e5dc2ca31bbadf9a381c74d50831609cdb212ffa6fca23030e9aefdbfdf99aede6d76c8e78143ca2a846ac5eba331f1bb0c66d74b490aa1eda099e395341a998254331f4cef7e459426961a47eaed98a8129e17c0c3f352b9b52842245a67e630910867c19d4e74e975ee35e0d41dd7fad8ada6618a11d9a99ea0758853e0dee43ff2da14f2dffecbde53970339a006176e6d817bd71f9f3c32775d16d8fdeb14d149f9d25d9a29fdb27b9b60d3f29165505e4537228e8ca56e97be734e3f65ac2e7c7bbc48d89df08db74a9573ab0bcc965d44ea73474284db1b0cfb2954715806ef2928f87caffad9f8285cf87b9936d21a5ad8f218a225456129bcd00d8e156ff47c452ccd5a8242932373ea92df0360d7d35ee03e6b5e250b4e9c14887d5386381e59d017373b31efc1f70ec9b086015c0c0639cfd6b2d39b8d72c7f285f597e4dc938cca4772a166ca08513ae583a943adb62212c6764d7bb136e818d0cf8da45d373b38e514e09b5de7197843c7109af65ba6614dae4d7a99b3b2baf51d92ced990e78e5fac270ed2ef9b5b8ffbce6e7d8781bc00af157925d23fa76fb78f8210b8b3d53946e792e26222c855217b22b36f5f08670e0b02fb631e19f6a9a15b64286f1dc940bb98fede4cb67323a20ad1350003440d940d0303f8997f440c7e7ab8c26c33209994b5a0b125a6b1c02e99876aff5e29704818dd5846a1ad5a2ebf3dde6b949345e8c36b8a6daf377bccdeccab6d1935229bfcee0b87c14117159dc515a34395b702e66c427ec241415c33dc00c03bf51f036aa542b78f3f937b935aab564edfaeaef93f2993122e40f85a770596e702347614ad69ff032df7dbfc737b88d41749743828622526797127504600d1e5c67710d6b8064ddd9477a4769234f41e8700337e5e2e54817ea9260e7f64d14c2f093176bab521b64daca4e0b90eed79f65403a31854c8b6f27fa31173f5c3bbd26ea4e41fa465622a3289287ba6617222f58473797734d27023469d70b30dea67f66e78149b4a40bc47f05920d01b85c7ec934d6224fe76688cb3f2513b112178211e13d919c9abdbf6c820e44cae722729b7f6e079a228b02fc60d0448e7c74b85ee9a9f2cd00e3ef77a2c68d54231dc7fe4e27fb67f23e38129b726f6d815c3c8270a6f997f42ee0546e5c3b75af5bca985a1fd4d368d6b7887751e86588e20d398ee67eaaeb011c0532b44a6a06db64ff45451c6e1a71c6c72fcb5ef3e46181d2f2dae4ade5833039c6b8a1da7ee7318f59b64c3c0025cbb188984bbc36db8f6edfe50420817fcbcf3c8c83aea390b858b8396f2382d337f0428fd5630d10bc9bfa43659d70790e2a2fb59734e177407c3f1edf41e455c3f9f6b26d755bb4911245ca1a1fa48555221e42bc38586c27df36a8b18320b4190a67aefc986ba235a5c5dc573ccf4a0ea91daa5d6cb8edac24353809d4938fc2c0a99c5f7fb9d3d3b278d09ba8bae2ffdfeafaeb3890c6314c6c627da3daaf84f96d6501f519de4bb8ba044ece3a8a32b02b25361135ce3130abeca33b73501796fe093b6106df88f8ee22f8051b8cf81386a30e15e87515826270fb1df919355f26a8fe1fb4e241e3f140b48e716ce320c57c62610af33db994501241130898aaae6346fe648f358044cdeee47d56ff0184f10f3258a4f3496d398e7f81fde8f6be7579c83cfca77cb4aa4547c7a1cf39211946cb6f1d4cf0c06b6890069c2cf2f4c1a6956f36b4494975fd287f6863ab96464744f5e62d6b6dfbad3d79b36c1233e077628a488bd430c5d9edb3cbbd724b735f7adc218584dd3016573c551c062593e7c53028990128bdd85b5f0b8fffef0f9218ab3ee7fee38c518f25f9fb06404aff11bd7485ddcbef31393d4d0e1ddfb6f84e49e0031dbdc07cde09e79b8bff69b25f2b8e3a03703780c2edca989deef4f9bd080dd7658ab49a0b5205a392fd5cedb3987a854f9b34eccb53f7c0d68b8a36002ccd89650f7a1552c3d24245a6102f9fc97c354ca2739e3c0e69d040372e8ac59e38e4a7b1d52900096237aa16ce9f90af6b3a1e1e582ac61b97e1f7a64273956dc1f26fea814c480e4f360e6eed4f11920c209b2d099f355889efeddf7253acad7036f0dc9599ee234fb27fcf508e56e7e25cdd256d4f23c4715848eeb749ade9696a0fcc15d8bfccd2b47b8c71dfa7a5040f718cae787efdd8772d3c2a60381da43e725488bc14cee6d3f08ecc304a714867150b62451d4d65d3435875152e0e660cfccf5aa925b47e65b168fae60f09998a8eae38f530a5069eeddf0ee1fa11265ef73817721672426f9093dfb66343bc7c56944fa1600def20157a219599b55418378afb35cf000dc6bbc45b94115d00534eaf3eed1122a8ebdeba0a18fa59b59e5cd74f6fdeb8bfbd21290cab6f570f1f7c09027571526d8e92988c0b9da9cd641f492acef95ce54f7a917983a94384350095382ef4e48eb301df9f8a109e3b85e4240dc8b17311740db1c7c707b94350286d65816a865bddc5defc1e47522ec80c7ce5b59d0138bb34b771f2d18e37bf014652f1c90d47acba094d95b07ef21e86075f78037dfb8e3914bb55b45c3d8131cb7e46b686678f59b4e286b6d380170be5ce740a4b23464ded98f2352b8b2fc821a0239ee6762e2c6850a41f7a133ab385c02ca9c9ae09238cd769d9ab6a68b467535765b3739b1f29a936a7ad66016a1e9e8ef25524a81ee0c29b2e58655795cb9aab68eb3f48582b939e7ef1d222e312f905477e6b911562ddbfcbcbbf0d83ed27351fcbf44ef989fba626df4958877795c308cd25cd738a2e674f1f00bd2c77479ff614cfc53dcc0a3f38f3037d9197119919320d896bfbaa4fba9246300296ed0346f8c575b17196e0349cc2c7bad2ab5e5d3a3405ef670ff1bdc9507ca001c8bba2ee4a8bb4d5a9dfc1133e9c3eb67b90b5a53e62d954d31d1c91900211285a2bbf1a93f5243f63184c2e4886a62ec20eee85c4c5d3006e85f288190200bc0835a6cc8a40543b4814685947b21596b469ab96bc262c2158b9309f3ef951993a636755fba65f178cc8d6bf4a280b6292317ba96b1a98a6d9eb01e8a7619ac54fa856829b9c1a644333d5d977264bdb295d7ffee1d517f99491f812f9630f9fa0538156a74378a96829f08525803bb54c4e3031132ee06fd92786df0053851c914296f45b1483720a001656503a92991dc213f5658b0c7fa3586fe9591da2c20c690146c2fea0867caf232d8bee0cf87c253fc4cf8aae5b55a72c100f85bf436ee426d61cc8c2233d05bcea193518ca8161aef2246b207ea4a5eb77863d4f3fe72cec78ff5ab7dac83039a6626101fb2727de5d9a61fe37dc0dcd2204e8a332c78f22c9fae6bf19ba66edec3ef84e452c1b95222ebb179e8b9bfd20ed0acbb4dd130824cab7ee0ee2e3605e6926cbb3db7e96d2983bc5866c02e3b5dc34de36f549bff35ab19906954df216f92fc4fe591e5d997b4e277fca8021cbd3016573d5a48c4aa0ed48a7e318cbc403ac19e9432aeea9e8e52462bc916db5f2f93dac94003d4bc9a4c6902d4d5d5c568bd19dbd4a35c2d8e98c3fc30953510f01c700776280efae3a037f9db98e7b6d7d1a5a4e1f0c529709b5618e022875584052c8b06e7a952fd97c577bcbd884e444aa4cb53aec720a2f044279fcc0b9427617933cbeadc4d0668fbf9b819749ab2fca43598d3ce33830586bec9f1b738e735e742024d0761af40530566b71077bf21ce4dbefa184ba0800dcbf105d67c078f0516f7b6063d9223ce9f7320fd66cdda664cedd94a76ac69a82cb2bd4390b986d461a7033fe0f1c869c3b48c9bff51c275e882baf50fb9b409854535ee985ce5b99be26aef526377bac370d1a6a96b9e47551faf27002a2825f0b96316baf2f30281bb1109c83c76af1f9c22ddc540ef6c1894e9add687d316f6b4e3ef74fd4873c3c17669047209226344cd60b4395f1f119f50330e4a9ed1c061a1495810dcc1d326ba57272a597e9209dea43b284f838d1b2c8a780ce16b32d7348c3c40d138fe502188ce55f983a16b6a4f83d4c67ab0a929dc6a4e1d1b2eeba33c760a36aea5be418bb5454e980946597e6e3ba4bc382106818566d7289a60aa84133981a7dfdf2db2eb919859830502f95a476242f207ff7ed6f2cfe95de6ea73b48788130dd6e937b76c40f3bcef7e909c2881f5090caf0b24060d35e5144090be83760fd4c88827ff5070e0b0cc291d780a7243e505c17e14e0dcdd35688487f35d2dae5071eea78e2f8507cbbe320d93c4b41868959d59bff3434cecd41cc03cc9107d34940f33cc9118bf1c34253440f1ab38a3ca59120319bc697c67fd836058ec3fe6fec7e4071287193b0255e834a0d92b49e13881bfe43365b4f3c19d9ad4ad4e45c1f1590fee76d1116afdb8ff11d00bc0a01da735eba552e4cdaf9075df988e8cd9593888c1c8dd165bfe99d43fb83b502fb139675708ee53426809120a43c621dd573fd2a36edc142486a54a08a772e19ef8d98b2f3afc309a9ff55773edd1a80e841b661e7a836728c998f9773e78186ee3a212a5fe635199fcf42645ca7c82d75d9fbe635b242ddd05e1e9dc6bf7f8b5e1ca92a00b9e05b08f4b87cc0c75cf10a8e1f6494664b491a5d05b54aaf19b11c77821bfba81a99ef056c36bb8721f46bf0789af9fab4097e1845f57f34e49503cb5535f85143b92dce4459acbe6099b85723c481bbe38e87d63f897a8ba5abeac7464018190a27d36edfff9d0616884798c72956806d974a1a0ef173ae45a83714a02ca3207a6258cd53829e2722f7ba8806e71a5a25346ab44c58e027d663d4924a5c27724ab248872a562138420f05f0f69dd995115fc8d82f99c00c9ff83412b54a93177fce3bf5edbfb6dc8a6e8f16936393d0385b7a7513902825c7e33a413d34c26c88a964c5980893d891991c2f95559a1ea1ed87610e498f8eb4c0fdb2df9ae2700bc8401c711a6c1f8358fb0d276fe6dec36ed5f10bce641b3c3c0ed82c8bbe404e79e60b06657b2aa378155cfd78ed6b53ede1a896f7d229c87be099ee48fb95cf39026a28a27c63b97171f1f346831713982f2dda5b5980e72ce7deceb2eaf184594449d28db46cf1545368050a0ba7d54f66843a1c0b7ffd2aefc18ae8310521d76fa3420d1f4efc6ca2971216a2ce464e798ed46249907fd9de3e86fbbbf32a86862ca17970803d671123303dd80b928343373ec1b6eaf0f76873dfc6618f6ff93e7b06842e1aefde95e7a85e466a829f38df79c7c87c03b92dd9d2eee32b07cb16dcd8124d79ce118e08764fe3e37d7c7b4f9caab3b09ff4d21f663a89b0e28905a7782a5e373fd431acf313832139e61f9d384be85f238c5e97a0164606964a0861bde5be1a25dccfffc266bb8fd57b2d3ef478aee5237da871878da7f37e51960a63e560517dcc479a966990bfcafeb1d020baa58ac9bd3c76a6c931d1805d7beda4335250b60abb52b4f02a2b6724d36cc752c4847f944556f91f714fb7c77e1a44ee35d51b72b324a7c0c1b437ae93f55145afbb3c7331e3281b577f9c20cab8d7dccf599534f521f46428cc0ab1d8cbbacfca903b352d5e7ef90fd2c82c2090f2c2435504734bf0b8d72dc2fe57f462af3499c536a4fee7e497485e900abf743786a6b44b7c96f75ccb7f80d310f4249fe766519c2b44a11ffa42db5ac9ff8b8fb2ae88ab717200ade0ce60d7054a8943ab7788862b6397bb234e093f0f84cccc2d9aee8efe1898b0a2ba090551ca75dfca3abdf993ac0c60431cf004461cbdb0918484601d8f1cb22438a3784b648f56c34a7bb8511c27be2cee2b3e79c8e176ffdca1cf9766e067fdda4ccb084a1fbc013db91d6cecfbed2933046515b74fa4bfe13ba1533768f490f26a4f5ee5fb63c3326a22b270a9bae161dc425891a1c7704064ba1914382979e14f14419724d143bb1aba4180a99f92840de9d7e633a0606e15fd749df095c3456595f2d261fecaaa8edb0352ab83a1e94df4fc17a663141085c1b7e666e08177cacb2a30feed8d28ff90f3e720dbf001b83e5f83a16e3e7372f783ff619fc58ea767a955861d4288e943ff161f24f7a9069139d8afc87bacc52f90eb958690d6a26404c06663f29b410a1925c37e410180f141e90cabe0a48c7a6af1fc0d552c7880de7555482c0e23e18db92671f448fe27a1c32ad241994ad770278f644411d8e6ed25bef67172134420b51764eda94eda97cdb4f460062c3451baeb2933de74e1734dd74ac0e55fac3a077118036ce4b7692ff3199ead73560016747eadc17ab389ae7b3702be1fa0eb44f0659914401b8c7756e041af32f935583a3f5cd2413ca4239d5106fd79e8c6d001d2398cdd3e719a7332f611d2c764d874615f415f74783ba35ad14427d12f8c2081181f0635d2e74a1edcb69ca84cc33fe66426ad25c11f5aedbf57dc9e49f15e0f35e31eb1a677f8bbbbc9e0f001c2c501941d77bd2f42b1a1c547888f2bdb2f3df8fd64adbd84101b5cf262464c41bd9d02e7ac61625991c22912e2fc1a8bbf531ebd835bfc40a6ba6de4c4b3986f2fb1e494ead7b3bf2a99c4aa0e204ca33f6da564364d223fb3310f029e679b376f31764936c8655b160f555f42e587ab2139f0f80e71540c846742b026d9ed541385fed157b0c34e1b155f5a950645a604f6ee764c0fa26527eeea0c416a719125174916baf5f5a330a633e4280ef4da563eda775bee3ef57cbf8e3d82636a4d22e8c9cb516264c0b170e54c7c79d8545de528a004b22e2812acee602247a9ea12a7eaa3d6690617c7446afc8889c921608fcac121b563df75b7ef16a36253660e76df1e8c36340cf89c257e38b3afb510717795245f7c53f398eb573b747d75623eb9e220b86b249c3d4288cc19e5a3e25c98c895997799c15f6f9ec69e878c437efee4e574ad42aff5a342687c23665242c878b22318598fef459df4be405f850d6c8f9385afb954c2d5d431f6afa9811c18215472f5698a514ec0f1d60cd06bf8717b90a3562253b0967658f39ac32eaeb5d5d3eba13c983b266a56af194af27004bcb3f6bd9c5eb9c7834a581ade791f8359cbb7caeed757403c822d7fd92c5f5c692cee74bd95ce87dac9ef87f46da7c8c2d6362da8d04fb7a148f4f8d42ae5d916cdc9c0be4302bf88c6fe842f0a53f6425fdfecfb2391332e8b520292d7e3367dc32286b07fef9d9981c6a378e9f19d415ec90e7045ca19c4ebb26f0f81b6939fd5b1ff119110450fa3d469937d501f3d9d71e7bc78be033295bb3d5ec64c99564ee3e8ebee54115aa45fe0a18f205bdd45b369ffc0a430157f0d910a4cbd883818e48718df391ca049323dc0027b71dbff4615e94b3186820cceaec626bdeba5591194b569b393c760228d453e8b60f9e37edce0aa10fd0615fb451decf343b95a01e9132bfc62b65d9327f43ae302d335da9c856e4e5edef19e57e0c9d3824a4cd97fa4a4a6c1a13b730ff1e37672a3f168880d9b0b36a398e9b64a2b1512c3decbbf0b66505a0de71278e1d3c520e9a188533ec6b4971796686487cff3c55c37f6dc489659aeeef7e8887635018bf742145dc6c791bba9b169ac390051eb0215978429e00b87784208e8503daa834f593bb06e6b020fa91ad785310b3b8d793b3b1fb7acb13317b0f6d1e396aa645e48352e6344e68ff4ac0abd4432eef1a4be8f184aeea7eee852665c1eaa358de97bfceaca35bb2f06e388d1a5a46ed28864a6363f12f1a9c95895761cff65f14f0122721677b322e3f9bcfb376174292f4565c7b0e31f519eb91ca1c12bb4792768b2edc053125d43d5651c1a55e6b34cf7acfc496f96831c60c0a219109b887c12ed41425205e034d424f7bf2217acddbb9bd44c46619c15b6c554236ee7962824a003d22cb9c09c366e6f718afea44061ccb721dce121726334d33fe4f28153365f60d379c74724a9e098d15044628690f5257bc58ba3b7896085cc6c3ab24f552e2b4290182fb4adf53c6e475a315724eb5d07df5d1f65248f1cad667ab8fd774201f49d32741ce8243ce07e5950b36930aadac65e2f5e366bb4e0cc87083fe9ef34d6199df2b66f9981e617aa29781bccf25acd35fabbe0b4701efcde293819312124eb097fe1b066ebf865ea305ec39fbdfdcab1f1d15a83157b8859ebda3053b409393f1c9b67e3c14892f1c3aeed8ef98f3b58924117f1063e33e6a3fab29d6caf5c3ddb0d36ced4e4ad0d3817532a8ea79972ab0def7c0b1db7e41f43396d988035148c5c7942c027d6faf17b1afd68fea0c68860e675792de30b7855b5b787a6396424879c187f12cadac0a78fc3e86c13e5a76c5eb74ebfa384be8b2c7aa6b0c1e78a5f59a96fcdf30c31ebea00a2ff0eacfa572b72badea2d66b08bb9562235a4021491fc9810c9b4544acc22c5f40ede623ff25e83be54035c4e7e0c99b42a7772a526ff567e4c91363896594c6d49ad7f9a0dd0cc7ffc603e1f729db89b4ae874c201f763262449b15c42232d0641e7b25530ccdd5d2626297bb2f57335674986f47def8a575404684ac3300901c639abf9c613490f157a304ea170831542092f8908c5f7b7e98472e39238e453081b54d81088645f053238768877ba4ac29b3ff4c03b254ec6be6d94c5fb6319116596b116a68834d8a751ab4e85c93e522c00d8a47cde4b2762029f265d02ee2253668d2fd42dd9c636ed1152b55f2cad39741f5681110f6c1726cc585fc676e7a2c38d3201521d620243d39430c80a879c848d98d046489efde3dc4281df6e4c8488e675f31ac781f11654ab6285cd486d68c9e0d35c129715adec50f86861657a6273a01101026ab0295abafe586b0be01601477520d4828db9fc19e17514494eafdf7cb7d29debe668f0efaf5c814e92f4de0c7c9023883e5c02eddf2c628d1fc7769b119e6ddce8e6ee86ed1844f11fd338a0e1533ffd176ae72fd20e5734a4f95402c70f6785c70f6b4e531680ecd404108bca74993ca40835349ca3f9b4ddadb27c78f78693ba1335d2294396fb9d2c60f46b958627577c46f7081b51662f8ba4b73514e581c29ddce5fd94cb7ef2290b7504102b49ba3c7612a4496942eff421f133032fc42aa1c83f19219bc7060ad51267945b743279bedead09dfaf502b8e71865a1571109182d12a8f4f2a023b873b3b5bb49733cdcd1a432bece8d89308ee9b49e34326f378c3ec7a5d2748ef366775055b47c89b8a2e4f2bbff2db3ae6b4b77dbc60777220e10396be02f5699e30345df060b67e86322a92f4bbbd95e844a80fc275260aa446e30394c2f86bda2dba524d80981ee5d02b1dc11b9104362bc81b7b4ecd8f4c798147f11468adbc656fe51ef55060466d46e9f2b22a2c63e3dc1e28d0f6ee5469a118043e76f81b3ba427aa5d0a66dceab71ce33df4b4b4aa94990d77634f04ff05c6f3529471a07415791215fd526438c2781614b398db1fc565ab2234358a65466d0876152d9632bcd1ea871b269bd0a844f49b15000e9977d63bbe6b8f7a200da070caf6338cf46765264e3de9d4c494838323f7510a637e1ceb5ee92f0eb19ff86903ae75b554482a89560459bc8caf6738b75e9dceeac2a530a3414b5272d80892a967b851ffd0722e6d5735d5b29a0a17be7969c8a164d791c4df4db4dfa80793618509d9a0b85594411601c61496b9e1c33c3ed997d43e28a8efef70964c9e4595867c3ef988f78428caa33d8da23e08c28d94a6847ae4bb6fd245b7e2586a864db1527a179ff23b6ca8f85058ae3ef39d015b9ffc71531e5b6a9289a295cf524fc362eb0f54e30b03baa4297e7e274cae81d8c7aa6f6daf2606757e5083b0742f5bf7496d56d23cb9bddbd4c31d3065af07610f61c9ca62cbff36cd7afad4f9df3118c02aa7c53953ec8e4aea01280a679d0abaf52c04d19fbf40789dd3dceda9eb66941cc2d718f1a9b1c05d3824282881197cc92811d0bb80e07dbd39205b40b4902d537afdd34fa7a123e8b60d0774fc994c84350f484d97b5d3fba749d33b241368dbd5a94ea9b36cd2430fb646fabfba4e426ec9852b2b4c08d80b14ffa7c0ed0430e6cfad1d58fcdd43c33327e863bc4ec2e3165bf4bd41bbe5d52f7f978f6d4d76e945769eb75dec8a83d2721b9b30c562df6dd41b39c06fc2b33a8d67a303bdb519a2755de11f20daf88117c5dd09a97077e582ace42f3e3bbc72272bc5328decd4edbb117de7ebd7cc4b7a5d1364ef84e47734223feac0f0f5c05a13abcf0dc326ba6babeeb0dad765d318fe988b24afd97b0d603491e10911fd3030805ad1f6b53ae9940e80cc90c9eaa6ce615e18f68453696e9d395f9d4adee5b97ee80f992256c7549fa387023574f8c99e3e392bdba18f131a249ad0c0ccc53cf9c0863e39c790236993b5f2259b6239235fe9f7f7893ad4bada18e28fd3da6715a18c65d3d891c8f5c87b4eea3f7f5633615d0919dab9568154d7becb49b5e5bd26bea3ad384e3c968158c9592bb0627bae131c45f040dc4dc15629a5c0b7fd5f4ac069cb34eac1f2899fc8545ab950053e718debfe93019e4c1d3763323bca77c016a008555677f864520a8b489d551c59058bcd404ac6ec420ae30b33961a00e0d19e462e83d5a93ca5e88b879ab872cd6ad29688f013bf7f148304603d038b048025df2a4e63107f9acb322c025409c4f607ef985bbe804c373f167591ea77f24479e249dd6de73a77caef5cff7ba9201f94c6c86f0d56635a73cb86542d2b37fa7babf0a35278867e4b74280b0442df71b31081fb0c01faeb6cd650188405455cdc5d2a5ddedf9216f11f139efb86e0229c6c5c5ff3c2c46aa60914b7c521f21c7a483a7492df0065f604672e9d24e32c68e4725bdbe943848b431a025a9b0ae08eb31707a0784a4f52f64c4fdf2ed713eb59a6ba25a23991bf3247b973c5b8cdb8167307b6e1315941728a80bfabb269f07ff05e1d49361e9075e5af15335440b3bd16c618d771655547b26e72330f88683744dec53c4540be467b9ee3bba770f6d0f7c091eefec88e4e34d981be26b55bb0a2343cff37282bfa4ae0cea0406724d53dfffa49d843433d97dc419d42e21b7f957f5095cb2beab704dab6e2d0006af9d3a647ad5c9685246cfa45b0879feae9827ec282c9999c18cbe3bdd9d0fb45d5bf42df90cc7e3149a0826cc26d8b8da7e8e4e9fec60be7ef05ba797df268b627b2f366eea55184b547390360934553c9ed157460cc9644d1fd26f29ba443c5e4586a3d609beb5620ecec4747f6510bbc2c11dbc736d1804d1bdef6003162fbb423e9c81c32afafb8fa42a49886ce5a4a1ac6ddc0d4cb4f0b7e0fa9d8017ac34804a2c7662e2e6a658b6a7008d5430affd2810832fe2bdebe53ffb4fbb1a9fdd9f2634fec1ec93b2b34e3b930852a83c68db0517c25726ff2bca9bad8921d604cb43770b1c732295e858672360dc6993499ca3ad6dbb9966bb49ad89fe3d1f402789f905452606bb3c980be4aeaa5ab3fb773e698bb8060529a44748ce99c516466770e91e49a61b70027f806daf9dea78a56efb3d6d6918f61e73430d3c34bc7c28331f095cd9c1aee8308eb7c4935a83ca02ace3b97fbd8573d7c0b8f7b9e52198fe2c9fc41c352f96ea06c808fe04801cca04643e2c3157cbba3ff71dd6418e324ddf1fb39110ca4a968ccd60279746f2f4f90912f64bdbd8c2889c6e249dd1165f4f9a4496dd1b8e70ddfaba6a1d811812b81384dfeb28161788fd5623ee152f4a923240e765acc67c0092f5c01840f1d04864cb604a0fce23888dae48019280d49f8dc14d98fa195a12015d3ca7ef3f31a90b62c036f3e7add5d75d7032a41d68598c38ce6ee51a3a875149d599057db90a90a44e5e254565799f1ccf026bb66441939dc0ef27b50d67664d48432f10e06127c3cc212621c64bf8882e70f2c6e9625dc9cd06a7a16d38129038ece391f1450abda792218561b8e3954e95279911c1bb57b3b551ced88a3ea008ada405bab4ca519877044cba6e9f02e04cf5d34487a8d699293357b740e23a1d1f376f2e71328941925b63ff6cccf8ddfa857152b65276c92dee3cdb59b9745b08b4e5028ee031b817133d5778edc7372cfcdb216e6a3770e6d05673b13d594b4899b65dd5ec55204f5f8720300fd8121a9e8a09d379c53ea7bf12cb4dbbd576e59d81b859245acfd86c46815f803dd9ac4fa2fee49f983b45233b9fcab7cd02f7cff5e9a3e30a0d96b19ce892d97dc572f99338738a81ead38413601e28232298e5633b0bdfa0e49e9c7174c052d7a3398b8822d135c1ce15fe2af6bff2e8ea6f010820eb6965981f193f2eab07e9cfe0ad9b16504fc7296bfb93584ba7e966f8a08c0ee131ac612bac01fe5d0420966b84d87b3dd79b59916d782fc952cc821438f4f145a2dbfd3d5f9d93da25468da074cd61d6a55068b718752b323d8eb5aa86ce9cc8da09880d11ff361a66065c805687890967898c02a75f979867c9d6d3ab6ee3fc579d347a7a066f70fed2a28142685bcf9c04aad5bb04a1a10fb1723c553f5d962438dae454130cfd0bfbc261eb4a94070612baeaaae440dadeebc55dd9e536327b9a8b98c70bbff3385a7298aaf588c792bc312a7cde6e777bfdca07aca77e2877bcc3ffc063d2d79c3c66b9d81f98d954e68c5487ee702df4d248b50d514355ed40935b31dbd89148ec9c494ab175e124c0da64e8a1a597471c9db666b9978874b5c047ec314b93b574e6d0e72e77126ba71689f93c302a895bee2f28cbd7da36038bad6b97c5594e19afadbd7b38cf2469ea72571851e37f906a5cfc87d997a9b8d3845bb2fa26cd35b21424310adcbf4ff4072e73d67e106fa0f55c2b1e4575e2bbddf6dde6fb5624290a5bee221da42477f1e6fbcc94f0bd89676e7aefa1378b23f87fc18abfdf095ca1a251d8aba4baf9832f87e88b1032b94eb832bd56cdedf3397b290bc767d70f8396091ecb6c73827e3e53249ea88c407dbedfd4a2caeef9fc68fa0818c46a58ce571b8810b3b8291476c9a9a54d816438c4458e43378fc3fbdb35fddd6988e8d21886939288dfc5c9f0c556b09e167c507aaca8e4668aadc18601adc8e49cfba7469d7aa4307afb4b58388e5325c5c0b1d4c184ff75445c0ae4f9ace111cb806e6cdbd08599483b344ec47e90be75b5533bb9c1d9d211402fdc61f1aa6d2b1e5719eacd93bcd30fd84a054f92782c2de974817951bc4ca7d3f49bc47fb88d5e8d2c04d150ab8063eb45b05399a292d582dae50867000c4707b820d20b0395850d5f9aaec53188855e625b3adfdfd55a0f066acfdb810f12f6a2a303a36306f653d5540740e344e5ab05a606562ee6c79dfb68b7626509db88a5caf6686c9219270606f1b99d86814b86f1da2e9c746f9c07004b694d5c59e48cc12d1641b1580d87e6f95725b4e022607903ad958279f9856d283531795f90fe373c7794479afacedf7be22e82f14738708722510ac082512bf8b0c31d78fc54dc8785959d6eae4ca6d3cc608df4da0e473fb969032045bbe579b157d67901e714a83b0d672420d8ab82b80933c72dd760e2edbc8b44c716dc2e835f9698582a4cd1ec29d511272241d1c61ed3a77fc70425be8668a6136956395500110d8646f22fdcfead5c606baac1f1e52a4b59a046ff66f292ac384f87252d895d929bff7346210d5d18ff63767aac845990ba9f04c8b92f5eda6a65b0159ecf08d25c7852066ed17ed1b515407db4b652a95345013c337212a99b08489491d8c7eabc4bdbaf8ec4b51c14dfa538f4ef6b695a84bbd33997767d14ece47d0c58e7268847b1a90297a1b88f1e762194d6d3fbf531856301304afb578c3689eed5682dc555df3dc842413efe36d86636e1b418a3ee8d75f86ef53c52df3b5632ee7ece6c45c461fbacb623f22b266eda47c62578cc2a897828255715c53b9729676b6427ceca547589d5847e7aa521410148526232fbde0ac105638162c635736f86deedbb3f293352fce7bf55152d2e2bbb57b9b742062649748d624a829f162d680d3e1e07aa004b75f30378428eaf55cb8aa0ca9a61ed076504d87c3ba32e19d34a666fa8314a54393944493e519f264747b9f80018699457dbd9fd910cf44c08c9996201ad0473670561acd9f41295118d7e8efb5053bf684698ebbd789bcb36fc9f386d9ca7d0402d4bcce943ca0dae832e605ba42b024ad3dd795f5fd5567bf990e9a0ae3885e60e4ca723794b17eb129960dc517a5a6f12464797a664432da72807d3f6af9db4ad6854ff9f6b9f90af8ed98fbfce7ff1a11bf553892bd024ab32ae563ed7d844271170d456abde89d0c8ed0814ba59514b41bd8f3fbadd8a588ee16bd4ec65ecbb4609168b38c60228db78308a16c68e78c33cd9776c8e83d025096f8d8020eeb0463a7552f7decaad356a012fa00dd4dfa8156d67141060c49f327a439522940a6b464c2307d95cc272fbda4aae0434a2a1d25105f4e766d04dd5fa72407ef1dfca47e34ab432d07690a3f6e12a6be7b5e2587739a1e2d9ad96217de3956de7744891714f4d05797c0b9f23f6089ea18987571c073d1fbec36be03c883bba24a1d96adbc410c0c6c0d9dfe27f458fb0da29a0761621079f03b9d570f45a1fb596a77b92f0da4f006560e7d67e173b34dba96993a97ccae7ce09b37955b84a6076c7087eaacd62eacb3c154a6b6bd481ff8045e81101fb72ddcffc0d500c6bf4a74a4587c5b68e7d5c175d92662efb658d97f074195d833ef4d10ba35cfc5108549a98f7407cd44276eeaf5139cacf791a1d252f9b66589625c55d930f89513a8c325703e9b8cff7de8d6f2f4ac46784795622d3a1830122f8fd276cae7f870d1c4da4817da925ec69d573c719ade93dcc59eb92d57e200b26aa56ab4acbfcb6a1e43fa6540d273a7969cd1878040dd35cf46d5193be5a375c613f09a9ff5153bcb693e4c1464e34fe4157925be7adcbc5e33c9408067f561622013110409ac15dbae92b0bcad5ccb1508971dcd4e2bbbbde6993339ca44fa36b7335f4e9acf36b9a26f1f51fcedac0107360c0241c6dbd804ab996199ce957efdd5c26acf83f6bcadbce53eed72ee58816968ccf7fda8933390226c41b5436d819eb88d5958b59af7585976bc03493fe7b1544d89403a387d0b3117430bc369786056e4f336708b4a299b0dafc41638be95492b94641c740c7e4cfb6d3e3397c9ba3401a4b4c129b7a2486cff3e9a0ba2337bce410c9a4f755143d73c8061ad0253de50e464829fc42a8e4aa557e0770a2b9e82e90f201c54ead112190b39c69cb03e8a79fa48a0f9f0e2a391b99acfe7ff845aeec0af2ff44f71af5227bdfcc6248e51296dc1be796d4a16c6f4d85b7186ef40ec6821cfb5209f5c95ef2fff2895aa866ef254915b244ff6a62f2b65c73dce5d6d5ccbfd908aeb2a6ae680688714932493f14f04c7a0363643a4f1c5ee1b9d01652fadd32f0186ab578e523bedc27d3c7251075fdc95652a72a60b955843dfc9377739a3d52fb5e52e00d79bddde33f6dcf34c9c682686b389a2e70c37423d34896b9f2b6b099bc51981c76e2d24a455025dbfec01ae15f9fb4f079b4d6ca92b11b4ccaee4ba29dc649f344c5eeb2de79b31d8f10d6f896e5e6aa416ab4d45a9e94683971e2d472eb79c338f30b23e3f37f265e56467313caf1de3fcc9b6d1074c26c80fb50589dbcb1a86908acab9640e5b6877ffc53710ede31d106bbfa61eaaf15121e07d1169dbd009b3c536b360866277725e4012b02f4f33bfb46658253b6c0a6791f38c522501908ec1cfa92a25835f6279b4bb18650fd1f24c7a4d681e554c45bcc3c7802d54597381957402f28c2b600d54ea3ebb81621873aa9a5ac41ee394850ea6fe287481b2bc0b9e78c7babbd8bef0c4f72df94decba854ea0c5bb3307ed9779de716c0234d1e08f40940ba10253aa18e493795e66eb3a3a93fced22640abbaadb1d76ad1d74f3caaba658c806f3957cfdc56a93471600d2d838b9447f83b651b9dc9bacf1f229d7108b64a2621728d9234b78641603a9359c8e9cbb6b240f180a11c6ffdf34359c63fc6037b2ce17040e1b520bd604752725672e83f05e763593da38b0a450038bfd74a008542a8098ceaff912ec9b37edc35543b044914ff1fb64d98ba2d745c4138c368d2dcaa22808bad1ff4f344b636b4703dc22f598ae52a6c064df2ade11791c41efc2890a1a1cdffc1005ff1b1e1b49a27839410cac9b90755e415ce8b1a04fbc24c8ffb2800e03435a202866fe094d9cf2e18b473fd9292c27fb38b7970734489416f1a61cd6dfe6e6c7e21edadc0e2f6df79b617eaeb5565e687d02864820a7c0a6cce41d2b16917f95ae9d996f3c7eea8a9fedba78de9657cba0d75f97014d64dec0b2b6272651a534ab066b5e0a5e57bf28d366cd11f43f53903559c7a2a3b6deba6b906894144b305743ad9e5e9df448bd116ea7cacb46694cba9feace2555891f3dc72e7a8da719329b91381b2605eea640c29360b2cad41895ecfcd9c54a5cfa36435205a30b61d63423c07dbe7f311ae7d3cf06e03441795c225227ce22a8ed5ea742d510af240726ac9eb96c4377c6bd3abf12d9989448015e2106b581c5d3f43010f54edbd26ed99231e8a16c1447a45480c65720e6412e06524b90129f83380d2c8550b10df7b096effd8aa74ed9f61c3ff7c9943e59d6b56d9d7782e4f91a31ac445abbdf0e4d8be5951210a0d84d4b696f4a237f75731fa0c2bf88bf7762c91636906d8e6a26faa1740130255b4ff4a6a8c31715170af469ac449232b476b52356fe2e9e78f5079789107f2886ca209fae3d4b8b24d8df3f528a594de373947eb2b814b8dac2ccb22fc388f6859743141f98a24fa32284495657e94169c12a8e1b6952143380fa6bd7973460dbe0b8e42f3a0d43b9d0cded05e0a7e1502156178a06da330c24aa8793b991bca96488128c84ed477afac2b326a7270a73ac33283903e692848e217fee740158b8ec4d9184465195b0c610f4dd5f34dc610270573d15f5475cc54c6c0891190423ef5f9a539966bf7670325badf45deea843617e2f50c520060a6f5f81f7537c60c904d429eaf1f2e64b328c89f88114fc8dad625b21ff2f039820c6ebc631807920e1a0d911269b98e4dbd96bbea55c93885457fc832e6b0e164d72d2bbb12a1e505f957490aa0baddddf8ce39054910aaf5e711bd0fd45de3049ec308e7082bacc5d6d99f016071d42f7e17e05e4029e1ec22acdbc2e83a4d40036e4026dbcfa12909e40bc2b0d1829eeb480beb276895f61b97f8debc7461260b0d66749190db46a09530940492f810c41dcd082a6357ee61b056078d1bce97d61bd974e5de96aa9f5131ffce982d5df681375d8d1ea66e4c9ee9aa6c2474aa7c0ad371d7a0767c54a2511ba24694a2b14589bab752408430257852ffe38d00192cb4795a3aeb5f603d6a066cc00933a1cd0abbb7c909d7c293184b9e5a5e9ce904a82f30d081f1ecc8c14db0551d5bf359116de18b59bf39ceb0b90f945b948eab3196cd3b4390c595903007d475cabc304f134d2a0b98a10d944c3094b1f754a0873322f68468176c4c78c8b9bab0d415bb8f8587dba92aac1a38b3a943dcb63651b97dd097894910ec24b7e6aa5b04c7e7b3c4f7186db2c0429f85078ecd030271382255e179478ee00ec6bf69346743d4fa9ab3f7b0121e10b135915a85105e41a0347503e9cd62d8657abfdc43862733e73a39052251ce117f7b32dcd9df8bb301b61ca9ab14e8ec7ec921029fdffbbdab4cf69527a18f20f6f3f280a1388d336ea0253760e4d873a00db9ff3dc2ed0855302520cc50a608a8677fcfc6a26079a35708c1bd4426cdf27e2100b60a74ed074bfdd12dae0d0c122ff760cb8f833327d5fbb4488aaf620f20f203036dd4c57078129b696cb7d03f2a317ba11b91c43cb703de1e89988adac29ee74f2a3b3816a28e895f3e70863820427208e0d3ce94408f6e9a304ce82daf395c83cbb3f916e12c501080109be6ee7b6dc709dec623b2c544853a14fd50cf637a3684e4118d5f664671d8e053eca3c02c718866165ca046abd6e3ce365699964e24130122cce1d1749147ba34cc6fe2b8835e609f6007889ccba68b748eada865cf910a2cea36fe8ff1fb8e4162cc64b17c9777389c2d7351686fea8e95fa0dcf2da692e0e0df77fb3da8520a84678188e985105d274fbb41589d46fca8a9ed7501ffec289e848aeaeac759399fcdab9580ee737183bd666d956f278bb14228186ba906f5af8ac986c87a1834869ac0326df26d822cec49708c280709abb31d38d7372755c08fdab41dc5e2b9446a93ad3c65393c9d3c711e2d1e2d8de42d2c41a55ec81d20881311a1c4414ff446f6219dd1be49c992fffd9e7bac95f20c44dba6f9b297688cce2df0c0375f9699ac0d2d345f34f476ba275af1b4c38333c1353a7860c370487aa14a60bcdba61ccfd21f0f4d5e368520b8b9e7a17dedda1a4ad5779388e86330292167dd84a4751f18dd10a5c7dbdafdc1e35be3a2cdde57c99e76aed5aacf6f083ccd5b76d5b6b0c8d7662501f93d74efa5d4d3f8edaa216c0bc703caefebaafac9480b12f8415647a0ea47e0413dcbaa655753e0632cc8ea3470830edd58efb451095fe66eb100dd430413a016e1d48368e633be3281713371058b68f2a8feb0c5f8d24b7e41c955badbeda68161dd832e2e957d4d79d212a0e6918336d34bebefea4bb8e878ad371cb5628aab0a3747a391cf6bdc58935975232188c313f0b877186860150b64e7f1a38ca311377410842919fd1d81fbbefe20ad283abfb61c857f5739714ecd98a8d948f654c48cbdc8528f495c1880f4330ecd40e6cfd000264bd2922e7b5e119762fdcb7caef32aec0f0532a55dd483a42de21760f87d0cf67cad489664a3030bb729ad4997a95bf55ff851902626ca2cf7d471e1074986aa9851c5662f043d4513b895f24d3b74a908b5996c7fb3a4398732c455ded2f238f40ed7a0ad5a640d2c0ef4591b77422428cffc43e68b76567deb5ae62154bfc014ad92fade622eb9400774d3279f5e78bd9ddf20651ce389014512bb3e454ef3aa5ab1b4ea1051f4dc24e8e41b7367051d93044945ad387b08340e7d26f3c25b1a4cb850355c1c5820592c0d3c7495c5c6e31c33c7b271023f4597b57dfc6b90b988121996a3b19fe01600fd33343f52a868a7f705bb4fa5e78d212a5d46cecad94c8316a26eaec2f68c40ede07a74fc2213149cc0c9f8727b07d3cb0c6fcfe2119797a768d377f10a8794bc07767d44023d16dee898c82002e10721b36c8d65cc1b2a951dfef67fcb77bb12d298f617778b5634137fe561817892373251064bbb6d0c235c8ea76ab830f365c6a9d92363cf6e7b487271a7c69c199fdbb4edbc5fc846c263171aa5d4ca5528c87afca3d4d8330baafd446ccb6b3182273ff8a3eec430ef51327c0fa53e2afa2f6ee2b03fbddf03f7637aa8cd43206848895b61a1d26fd60f1c92e4b2d879c7614e81ef44e3c3fa85140e0f4739264fc960fff73bcaba024ffc797410d13ab75314b110e44e8d666e84b105f06aaca8dfc5938b6ea8965deb510bf991f0f62a64363c249d8654c19f19d1cb2b762b358200a55eaae13b7e38612e24550dee49533e0fa352eb0d3f72b96055413ee871d79bff5e695cf68d08a99684578301aea7e09652d1817250c490907c1c570469c9047863c2072c16a1f74383c993bd1b4212275368b8a8e28b7fb9fa3cf65ea0dd830b2fcb22aca0bd0fcac06cc23f0b29ba82ce2c1052f55f16a81973507baa2e0a414bc8fecdfa673af8e275e29fefa50622f196084d98ab5f3ccd6025a9dcb392e2e43355f18aed30aa6385b39f9d9395af04978bf75f9182ed26ea41ee5ea63868c92dcc32af242c59a98cd79579da27dc2d9702a1c4acd792573df226d8b940b5f7e46f17dfac9ffd5665a31de855492a9b8345c4c9c2e6f0dd85b021fb7c7f42a0dcb21f492800e37c5fe446139474dd4a21c08283403162d147efed50dd3dfc270a5a65117cd9f76d3cb10051157770254c5287550e34f29c9c247d255762d0e5f8853e5a9f6bad8a2190e13d6bf7bc6283c05ce6a64424aaf553d5159710b40461cca73be0614291680a282291f4d3693bf59ea45a0fce5fad4a76c4bc4ee4d0b3064b8eece5c702654c730f7f63732fff12b963a6a663a4551281c36489a9af87680d2b977571ace6e7053b41f772b247625ae1314292a1b61a3791810c28f8d96d09c7ec7073cb57cd63eb0b7bed98cb07721118ef6f453969021a4091b8a49793db5a83827041b24082f260b3ace614990f4908813beb4200cea81a92c88887dde950a87a168189d6950d6a2857a93b35f6784ef10a268e2255aa7970730d9a71ed1cda1bd0f4dc19d317415c0a437be11f92b4d7b09c8ace4f4f411b1df6e8025018d68d66014ab704574f3943dda657ff8109ab2b092c273fba668c123938afa9314325c006606483568bd21f854fc68c2c02b09fe43bb6595c4de792fb9ce09a9831bd9a21213685fa965c99c7ceca259eb9210f9d611fba948f29110f9c603a47dfd21bd4a3128b9c7342241554d4da34ebdebe9b0f1639196bcafdf269d2c176f21f4bc9238d01e9b2c30ec4e20baa502db727a5fdbc240a0d314c8b96ee64492076bd8ccfb7f5d69e693ee11b29de39e311be3ccf09cd512166d3b96f4c7807db50c707ccd688bf3b2eed996095a390e5e9d73d1b51146b47161ea33b3dcc84f5c63ea03de152045ac1bfe27f5aa2603ce7f237d3977b1b6190753f74889a1929ce68a4c20c031d0ee98c6e7bcb44868a3bc4c6057d0d298e6fac153c051c35fb73afcce85fb3263b70e1104f8fafcc7f2bf1b9da6eb83bf8aa2b7fde4a72169213af331adf61699f3503ac316e00dfcd1dcaa3c9efb24b567fc437338d9f610064f5ea22b57124c7a5635857b2f82abfc7a5ec8eeb8cbb903ad981e6fd7e96e869685c0643743a4119b0be8f82fa55e214a74c17243c3147cc66744534dd814e001365bcbe6912a4b25b1507e7454508518993701e3063d57027ac6155dbba7aefc71d49b63198e5f48d01ccf0707f3808b7f73242f9182ba5cc693a45cd351653380a362867acb601e51aa2a17d4a6c93f052fd9d7b3cce1a814ade28f4e2379dd1a90488d66087791fbe60271d8e2c92919477e43758ea13978934646a4019ce6863e93965091fae8d40f773065fc1c6f52cba4a51552190ebb4102597d7413d5c223b0f28bd57c83be06d8344e69fe54b033fd866b3e93725478ee4560eab153b53883e4d58f8caa964a92e0d5817f6acffa4a2c54bb2d76d6bb4ba6f4067d8a50703595cdf5f9ff62713d552a61ab7709b43d71a6ee9ec0edea3fbbb1867e00b406f428f0414319b75d4626fe8952ce7eae16e9fc8730c35b38c3cc38d926dceb592ab51ffa3a25ebcaca276617c90fb08a162d48be975ce8df150c3770249e896ab03c8460438b9421b12ef5d08cde2ba330eb11bf14f0399d5c302d689250127cd1c81d9ecdf6ab1c309127603fbaef606a908e1893a47a69adf4b34ec963ef97b1d1b66ad508b0b6650969596c9f245c55657063a1f81f08cc1c7f6f0391be9993049f4b8f9d192934117cdb8537922b4a3dae840d23f81e8dd7b496948e766126851ee1349d2ff73fd624882a0b6b7dba4bb5dfed616994b354e03b841325316bfd25f2fa265f4891bc126b78812508c23873ed0583462bddb1986b03aad97a721722d2b888d7a505d8a8d32938f8216d5936f0183b5c9f9a402176e1f19d8cc17ee9c1cecac38c94aed4e87402bd269bb5d2d8ecc7268b435bf553610ea5fa9ccc5130c09e7faef157ee951d5b9ad3acf5c27798396f99fff4917e9483328075edc3367478ac92ab26970edb6e9b9504a77fd28308ca87509be500dbdc237785f489f697711a2da4067ec2969ecc8198d9a5066b7ec7332f8b7290dad52356ef93780500ad5b4d1b3792645c7da1640ffa2407132fb9004adf2734a539ec51307cda45bb1c851fe98d0ecdc879ca683e1645daa42b18ff64100b74908e67293959a30968a75608d549b898a15ec9465d1902796e6195a1bae63b8aee4d19be1bdfe3bf5876afbed46ffa74b735cc8c266fdb31bc00090543d239e99f0afe28ffe8e6472a86a4d17db663438da70dc6422985cdbbb946804f19628958c89c8ccd250b197c8bfe72cbd47d9766781ce9de864701311fe69c17e00bff9a0e8098ec087906adc764ffe9bfad0c93fedd58581e1a4bdffb1c46fa63c5c1e66371fbbefba0b35a6d4a17fbadd1c3b0ec2009760327ed588857ba1c9a152fc06ae9a3213859e04d247e359f18a89a357dec572cbe00faa1575a34fa4d8244972f6f126a90cd14860354828dc49567a1858464bc026e3176592aa8725c00a8275f1d290b81440619f81a183527ab2e3f8ff2a4424944c6f11666dcaa77d5e85fefa1b8eba01f127533d5b24d685d6eb7b83a7b690b05b2d124b4edaf508929624581468dfca5751da47a07ba91c9b5fbfdbf051378e43966b1118b9e47fee5b1fdb58f0267b7c8807ecb954c6c477f99b7e7c8a897afb8224ed93f31731dfa606b18bbb8a9e361fc07a139adf6ec60943f75ca1f4a7795519cbb5142700b6da3a318f53a4541c386a1a7bbad1d150947456c2ea1da539df653babf61ee769c36d3fbd7ea9059e9e603a81e595c4c7a1008415e1fc5d1df77140ee9b66ace876b5c1d7bd1a2921227be0e1ff2f45e4e0613eb4d2b8a7f45da7f37cac60e729a00cecec5a4fe9ec0724b568815b6a66f46aeb868e582ee8a5d04b56e6b693c069ddaced7163ac4d202e4908981d61a38398fcc270c7b3b66cb072d018e1282c187875a6497a08d5210be93f7113735b31ed679258f39f3bd30db1c95d22b399aa7ac88e67ef597ba4fde3a8c4ae1f39ae26613f77ab84383043b2924ebfe7694f904a685e373c7ded06067fdff9f04095df3f28ad2b8de4b1ca2afe65d692a9157c47cd9a2b90c5cc791ffaec9650110b847c3a3370b18a16c801a8583c750b6e6cb098fdee624477ab61d09cfeb1afa981dc0f23bcc19407276ea5ee78ba8ca104854c786b4cf0fc56502d91ad10128d1fa0ea46ee13d61c868795f69d9d819f3b74cdbb8534cc51ecedf0d630dd18fa2eb3b7a22ea353e1374912f448ae39236efa110b2545ec1fcc42ea095bcc866ede11413d97cbbb9a2bcc2131c054d6df1f2505d623ae37aed73434d68e26884b1c5f3240271328e7be733a7556a0f084b3781fbb984bb9c24f642f130228154632f19ee1c741609ffd6866d26fc707c02ccc71dc67ef3ffd11dbbe7a0f90c2851425f46638159d0b32df9fa6f376e3a83a8244e2f4d32ee58661430d8538a612d2d25e852adfb2adc219a76cf967ee521d40a4de045ede15fb02d9e197130e562a4363f6ef329f3b09e407b53fe70b6fbfdecb9e3a53feb08ebadc35eff3c567acad6aadabe8bb8724423a38641b9063dff2bcccb28fdbb33872a675313f719e7001b7cfa05763d06e4edeeca9baaee687e39eb0269515de204f28ba338e0d1cf49bc71879d757b0299207e0b0796c6d63a4878916f3027f381359c351e52f3caea84874a9baf95c9f90764f1bb1b5c87aaac9ecc8efadd20c96a9bd20b249bf15351341907457d3db3e6de0d92bdda6f502ce8657899a74fc405db0bce2bb98a4113cf68b6390f0f9fbf1f41b6bdceeb4d34e5ffbcf9a5a3cd23fb6956aad0b5784b50309579660ea7e83ea3ae3481c0cb7008c827149c4829a2d7a51292d1ca51bf37010f54187ebcdd6fda404a63a3636d0ce23057c7a122d4dee7d3316e202a5e801657b2e775ebc54614fe9a72513ab314df37cea5b95a5baa985d7dc7818d906596d5a7387648bc6b547cad91fcc7b7f8be1c3f10a03efdb5c968ea233f8a6db34d80cfbcaea60e0bc5c1cc8883c3bfc8d2945403966e97ad49e291a33d147ccfc676992ef0b628656eebdbe234164988733ff6329fe7e836337b36db1855aa6130663c9908ef3e7938f7bc36fe0a6995be029dfc5808091d46583962da34d99b1989e2a606dd6addbb0d7ffa61c53673f7f9204018da15a840290449a984914ca97ef26d501cb69086f92fb44383422a9fc6de838e7ebef3a4bad3d2514fd9972b662986e8c884dfa8f920c9334f92a0ac1088987228d47e2b4a3fa760c8b5ae13ec956a6bc78712137b7f535dffcd4b6ae0bd9508023788a665d0ecceda935428324ea6bd117cfba48b2ea49ef3f63e07a16a821e52976ed8f79ebd888038d1e6403bc8ccba78249cf142543c77ee792332c6c3efb18f4de1123cf17c3bb7879109d4c06a1b5b9898f43dc7d185deb8f9a2332cc7be335dec3dbf3e357ea1e398b04827d2acf2a666d4ecd945e9e05ec28d5d0264c2148de8dcfa984d2e0f4ad99fbd38e921ddc742085da5967b160b350894ab55310996391b1619453d6cbe3af05fed35684a5f2a03d84faaa048ee3d8c09d7c325cc95120291ca14171b99bb661a9c465c76c70ffa2af0253014b4e4280e592c1ade696c96d9f98355cb31d57cecbbd80bc59701212847df126b2cec2c79a3f84c3dfb48baeb6e9d17b7e67751b88009fca8df57346b5d0e470d4a8ae4bd22b037da531d03c4fbf8b500f7277b3281132d87496efe5146c7711e703bf6390e8adb26dd02700f20f47c4b943f05792615b0511945398a50a4bf0a5df14a9d30a5b84945560071baf8b43f9a39420c084c53fd687738b7e0b294ca2b5ca761d8e328e54ecda0ad3c128f7b84da02c11ce875f6fdf0f92190bc08a2e56a51ddd6728468fc449d9a0e5bd1f413e58e8cf81250dee73681908ed0e0299bb15c9dac5dad0bda32c34c6af2a6cd948d97d9d632d8b1419368c4979976895481090ebad8daa2aa7023f9d0655f6cb046f0530d580bbc2ad83b0310e4b36476f884cb4fe7f031b934f72ac14918a016488e1afc0491653743ca18883ca60abc4bef8780706dc314aae89b6c05ce1fec5c2c217fd92f9196f22eda3c5d28a8437af26f27be7204018c9ebc8fb3c9a829cbb8ad2dd5c36216236d8b4a7ffaa3dfc444c195deef649421dad8d2cfbcb84f009722120c9b14e9174cf33b3cceeee62d0be54ce1600e6ec73a5f0c5000d1d6e663f249cdfd00ac7ffcb9fa630e5fb4af57dee8accedc31693baa03c96cbe0c0a09e89c3e260d5df57a5ca847a1b29859c4b63a4ffa89adfc6bab5d1ee7cf5f1e915221b9ba1a751b88d4718ce6b9c955859d585adbb6404590647f753f08938cf78c7d86c3cbdb480e6ab57aea825800bba74073d37505cb99e70e56dfa2687cadaf6a7f9867bb157a18136484c805c424c8fdddb5d68d79932d9bb78dcaede4d2c4ce3f4c1a31c3b9856cfe6dfcd4e09c902f173356a0e1c777c5b44c245f97a0f8361d043799419ddd48c1b996748bd425edb0ad711b476f48d2c1a50a66b828424cc082abee3550f78e2a1b7e8deabffb84c0227a415ee9db0b3809988a46654aaf8dda73d0885c9082e035145ea0685a41d2cc13ed6f254b05fb1adb06696c14facbf0c8bc74e695f93dfebe60c56ba28bea911021b7ed617621055a7a8f2ba095f382eb924d1e43e40de81b385c14002679a50ef8115a55aef79b42507e60308c3733ebc7ea77370bff185ee6b18732031edd4489fcafbd9f3a4d59c2bb3fa173534fc294c03c909f1228fe1dd4a42b0357a2ea377806d43731e49efda59bac0f1a6c048aa7728024044faec94e79b6a6ce10a00a71297ba140a378e1b2e96a3d2c94bd82388a692c35ecdd49e2fc71bda6913f4e7679b9225fa040156184d4b68866cfb244460966f5042c448f9a2d3a83d730b7aaded36d119a3b774777ae839d34218b7289fff160610cdd754bcce1c801f767031c3990b9c5bae1f037fcc09509aefe60ffceefe38412c786f40c94c65acf861585c5c6cc989f4e414108509b33f509591638cda0b87723b57c869c7f7f5a2fd660eacb97422a25dfcffeffbf89f087803f2a4b2fd06c0eed4f4993c8ddf7aec425da7297e2b98cef0946f53ea4e56ab2e7943b0e6f04aafeb85525b3a10e822487e3dffe8442edc4f55882a620fec3baffbc57cadab10331845b5f710db8efb733c4254a09a6709af0ef38022e8791bc2691d5193c1bd8292986546b22ebfd8697b9b2d2dac7dcffd81addd1f314083eee94a949fea276afc342dca22a3c64e9d9b6fb4a6f9d616305bf1d6f5d2efcf82bb03274be4e95f6077137c49cf165870708b702dfb668168201ff6960f9f78efd2b99e3f14e349e29a7de4f7ff8bf6f2700267db8973c71762dcb72e50f9e9bf91c709ad2613465f35aee62cb04fe3320d7120e5c6d26538728c3634814411cb6b97dc81bc6c49d32fa1606d84212aff51cd476534017dd3e0e77a3ee60621fdbec91aaf1f39ebdbe20cb1022793e3e0e386fd3aff7a31b08b1462c0948e9651a99dc775f2eff02a055f3e18a61b93452a8b230c654ef34b878b3d871acc03e6fc02370ea96d287e8b9e58c6f1886feae7f973ab8b481ad1f77af5fec52d8eed1a83d51fbd53d233cc1b04bf54bccc9560170482b09127133975d6df0db32b975a8834af9d82f4d7742fb8e53a8aefa383d38390fe88e08a3db6516d1b2659100e55c6a69c4594522326563443821a42a32bfbeef1635ab2906278727d90b5a6cc379483df2b0b9de2bcaff553e2ed32186823c4846082e667a4bd269949af54ee14a57b5f8b6d2d1dfdf072fd3e070a9128d92f5fe54a1e2b1ca1a4fd05b659efbfcb5c8e716b30761d6d0fa21a2f3a208863fb6a091d361e3b983c11b0e80ae5b0682a4ab0c2db1e6726df6550751b77e24df5026a46c7356505d2fdde85506aba1680a620809c4a1c1fc1cd3ac39c798e968665ecf08a1a6b1edd6cec6f8f6c94806e068fe6606195128852546e3ade1ed081df170d0af36366569cc57f25b001150b4f0559d1bd2dcd858d13fb33a9721c2f59b48ad4f8ce7da8d2fcb11f1f3056d1984c31322912784d7ed054d2fa585ba0520db4c220d8b8666f056d9d640a50d7cf23122bee80a8f28de2315a86444137df1b6d59580faaf5fa4ba100d6b5944133b32b4af0f9fe95d18af62d6ae26dd98eaab2f5aede43e5efa146e6fe82886b607d18c1e17ec34318f58a4ce2b43849196cf6569e2c48a976cc47886a319e852a6cf12719e3f83c9013e7b77b37e32c471bfff1623ef23cee2dd39b8045c6d5260763c790e459cd51c0c5fe06edde91e784e531235e90a22c8fb36e77297fcf78ccc5e86afa789144765cf2ade2ceba2fd2364fdad444f64ac1be2250c91aa2ef62776ad7b8e07fc3d20e9d3439fe4fa3b3c98434fd4293b995b668324911f29d0d2d09cf069510ca04a8eea4aa6a7e064651ccd1ac4a69f1ad0e81503a378040d4585e6e832f122bec8efb427a181fce8c313f40438917d35b3ff8fa00745be84540aec12a30e25130767abbb53b96339525c32d026ad6e55c749fcb35c896eba2f58899cb03f2cfbbf3279338fcd538ea98d6f1eda31b7bd6b1d614bf923f12e4e584ea17a5882adb8af022c25a695c5090f2c225a65ae4f8bf521cddecf1f5fcc95df7b81a27d96c320d7c422eaae0c2a6b63d2f7f7416df52e184ba41f489004bf466d1544b773368126039ed5125c2eebf0b62f623044effd8f156df990bacd4c08f9963e83c51fcdf0c72073703edc1300076c277acceaacdad8f86b985771c4462a0a94e913e0a01b4e183328b4f6ff900c1c2de896e7313b22f6fcd26a8129a8e8d626d5e3d55f25d12d39d00cb3a102ca08f67437ecb11be9cc0bb55af9fcb8609604920be6aa8fa29f87360158afe12c5c7df527532efbfe76e7980fa533403b5d9035f84e1cc45165d6f925c1d911123f8f704d883cae59f07994a691beca545384b5a005537601ac72edbc295527340447eba2950dc2744b140b1d5996ce7a8adffe5707d8de0f8a313b470b814f25ccc1818c77384670c1c4f7e4c95ceaa052406d2c95ddec53973d80db25a6698e89fa0f9327e2736b7f97d010c0332f2c61e89a506dae6734c2b13146a81497db219aa10ad52402700b2e56145b00f9dcd0e4b59ab53346bfa058d6673a7082e1a3a9cd39e3e0348174cefb5099555910d56cc8ae6348a21d0c5a8faf980b04dcd2494d1b9911277959df50a05c5ffee5deb82b7f3675b34700a2f7940cde2c6f883f2c1e571734fc3d447f78b6186839037c403054c33e655605db9cc6d86f750cc0371bb0c2f2ef269c7d5c4af8c40f1043d36b53eee233669284f8925b3c7b92c39d8331e1e048abb1849fc837695dad15a1b88f57faaed33ea77f297e72e6977b813a20de67b2106cc6fad2a27e78a348e3fe3397f4560435185a8af0dead188f794ab556aa3c07809cd4086ff580e095d1f5f17ce886a75160c88663a001b344c0a3e05fab473288c94929384f59ea430c84859b8eaa0fab6af923a0321382beb4812224ad6c7db03d1aba9dab8d242778c17ef8d7a6adc8a0b3d76c98936fa942ec9855e50c355ff72a9b9c159ec6102c706fba569af817ad87e630e23c4b1a4d3899e72ba15220bc3db002da6586979bd18f57cffa7e6075d5b5b6b17536e7536741e10202d07078d83c5bdd7b8586ff5562ad0c5a8499a5466117577151074b7dd98672ab9d381a7b1297898218d249cd35250927520225374d51442c16a5c1083bab8c147295c90da2d5d8c4cdcc4698ad5f1b13d0e73f3c3d5bd1a561610aa502d6f2e876250fbbe135f7dc360da501040c438287a9577c434aa5e7ff95524a10b27bcaa22ecadfa68e2ae10d8f6b969bdb718c28380b017310a2b94b74f42627614f0032aac2523669155b3ee00d1a401d452f656fc80adb65d855b210a5e61105d9984fcd5157f6c79c25ae791d879a2e63106a573a9e65830366d89976867111020f36882c6d3c08c4d2813dc28f14eccdffc45854ffdc26c4460714f90b2618499985560f5736041ce97b022be4fc337e9281450e8b52c3dee2b4d52ffb1c793cdec2df1323402872970e466c3c5e1697976fa0c7b671c0da49baf78a75eb5da1c20e90e7eb2e842e018b1773913d6e820c007ac31740bc023b5717aa7575aacf49f55a76bcdf92aadfc81f2b2fda35440ac6acd2d7850056a872e4e4a22d5b4141c41419e31c66763ec7ae1a92cab294ef57890d9d76109fd6abfad84f1ec9548572d77b93ad6e91cd732ef5b15b66146105bd3f2314f4cbe70bbf65eb47f740de6934ca1ddb73df3fdd42160934228bfdbbf899b8f167dcaa25e171445c11f895747fbc674423836b8ab795c68e296f4ecbd718bcfea798c1cbbd22532fc582f40bb6867fb3a51de4fc84e646246182b44ebe21083050ce11ef2c3d55421ec3306a628b8cf944c5e5c03cf229ea19b067bfce9f95246c40044d77f5b5d2d69ef7480d94067949f5c33c56011958aa7f56aa527c1f6e456b4034e9bb2bd8789749a07d0f03250fde3bb03693cb4d50840d7a041cb92e464a5ab6ae9cf76482a34eed1029b3eb85a8825408be16ccfcf1ad8fad2f005ec1493a9f6754cdc8bccdbbae43d9ece6c75cbf34ab1477ad1e4edbd02c05c31aa280df5607e0b5e45a8380da88dd2c8a578cfc48b2aaaa50a7e2106074475fbfab85e9d9631200d0a970e80b95054543984f36daf4639307a8d9ee2a0863340fcc4b5cd8dfd00c7522f99e5a38043e6c898d4887164a270e6b0398ddd115aac3b945f80f73131cb6e80cef05c9687808472b1be3e14cebae6d2d4a2c6cca07ca782815d9cee88e6b81a2d686b63ce9af777b2db08a2dacd96808929e22b0eb91b700152e27a5fb7872493c3fc42b26d9124f55933428e0f2182cd7ac7f968dff23a3f1cf72fa711a268aacffe68a305e6143266bd397d4650e674a21d87385e9f366946a7816fe5caf710a70507ad542ed7caeaf2f6b9d05841982be4745ad3054c78148b9aae7f483394dd6f3b54795ade339ead70b054c66a42299ec43adaa6e22164103269df20c62e64341705b279877354081e813ca9654eeb4c65abb6917fda91751eaa5d970c550490b1087d8b721a74cd43c1ae5e9ccc2f08f51a73b3269e4946c439d9582018b50ae88be47e2bb590bfe6b764955d50efbfa4760cb1c128810978e4e2e60061e9c762b2953d3ac14c0072ca3bb3db6668918e580552c208e71fb04b93ca098608cf178cf1152e2b494907b2d0686d68d82eeba853c16c5949f69baecad3b7ad67c421863dd2854bfdc222bcf292168ec95bd150a898fe63d6f6d63585457f2b99ce382460b6df96fb7cadb2e403070f05db28ba7f72bfc96339c525d2d0224b80238f2a89119370cd164cca491a5223390e990704c56b74ea4a476aa469d264dfb191e81d386e5115b8d8cfaaaad60616fdf7723fa357849c733f1f89f3930035fe230034bdf12f2c527ff852a1b86239be3593424027a0df23b576c51aadcb8ac633016ed11c537a8a0d200ea0163d92bf5a8c82a2582ddf0a26f28d5edfa6a29aa4b7820f48cbb7c29b8d7033dc3fbbdb348945e460fb77bd7ea99fe9727975840d690c359fcf46ab4ea043f954f63c0fda389a68794c73a769b6f0139d2026395274e49d1fe12258d7b4bae38cc63362400a33714e5e9e45b9929d9cecec03963e984c0d622460b62c7770c8ad3fdf9ac7997738c696ea3c12329c8466687307b18927c15f3bd8af5bb5483f24a6b1e109a37babd25a532760bbeff81317e68dd31de4d573762e8636f59b08867ee6b11f7a857e0d220a1bc53d34b675931cafda6dba6500d360eae061e4a288a608f8b554bd39e8bba8cfe6fc402786720dd4046dc9e7bf3399efe0f974ea349e38726776f62fbd9164a7ef89a13e984cdb5a14d7856b358cf06008ee03d38768633be463c42abe473edf4972fbe11293eaab358123ccb44635e5119bc19ecd3a82118f6e60910e14596cb8b6671b3fffbd812fc3ef6d8c2b9ded0330240fd31f2d93ca83cc33d5a5234d26b2fed74f9a1f8d752fe2a503719cfd2ddc955bac2e788913972f0af01ebffa32c589f7f72a8f143d6478cd2bbb4dd63ae5caeae1510a8e78801c5a496769ad4d951a6a04da3f2ef370fc30432edcce1b20fc590a3f7549a44944eaa3f6eea4d891ac617c94451c1eb9a5a51b899230bcfe8162e865296c00021bb8f46c2bcddbeefab39efea593e19bdd27092944e02c9909ee5a313888cb835b25866e8ff694d32de014931da10cb87b8c09be679a2644b453bef6bcdc5b13fb3e2a6ba3033fa102e3a71655c7d97a0adc2337e2beff11ac63ac2fc68a5721d46ce79557c77af39f87164bcf78291b8e53ccb59f62b4dee89975faae4bb6ce056760eb2a254e3a8089762ba9edcaa30927420d647188857f25bf7a8fca52e1890254005db1afd09ea7645594f4f3611f5f468724406ab587b8c9b2d478c2c2a6e98a948fd0e53e77f08d4feddff90688546db25ba1c75ac3dd082b0f488e28e55c2efe115c98edab37dd0032de65dd5d482e69a34bec1951bbfbfd03efc25283e13c8eec541721dbda560330782c63cd0209775da8b8937a6ef94bab851237c619fa4050c4308e378bf4614680982f26f5262ad1487895c9bc238725c913464674bd83e743fb9f520e10c4b6e3f8c21a4c2e1fc9568f33e3dc74d6813a61d23ee4ec24c88d4bbfbfb4cd2571ca1902491839d1e138088690825a5c680ae5cb9b885e82cf80604f38fe96a4c522342a7e49d89a4ae81830fc7f3d5e33bc2f433493a11be37683c48b2a1043688752c1b647264efb94ae39342b80b2068c77a82e9a077586d0fac4b0d466e23543418a3a1ef48d13164a515834fb3e0342e92b10bc1755dd2778140e9d7beff8eeef98829efa25becded27b2090b38f525456dc3449828d0380210d1446c935d7ad11c6d3d926455f6adec2938e691cb904075dc1f2a58c4c2448cea45a09c28829e4b491637386f08f6015fb37799238c848f86f4cce0b15a0d4c0340f08b208ffc895cfff018c3847f565603cd505187a86d7a34a0b819506a0845fc293eb8fdbc00dc1f82a142b2f39eb923700cae333f5c58f85802529d2f3b72d206f1a188d2300f07b9e7db4817eb6cbf793bf353c39a243cde8b632ef0896f2b3b702b019d09d705175949094d48c5cf5ce7fd6110e2f4ba6667cecce29683066832f7b279945e82a0651946e2fdeb2e05ebe8fc76ef1aeae82da930cf5030ffca7501969ecfb200bb429b0b1730e47cdce23632281e0fa5ce4f25130be4a518d4054b4a2c3b69f764faeccfbacfdcc1c16bac6002b5ac878552bd6cb9421f8449044b4f8f5e1448130a5da9489a39dac3e70e609aeaf93fa29249931cfa30a658a435f36ecc2dd78ba041e60a6154b0c3c48a199e1136b3c70a7a8ea22b06f343804d25356cc489528247414bb7da50eb0faa73a37739b1fb320d8cd1ef604562e6daee6d3ac0cb1c5d9ec635c2ad06950b40d5d849da7cd529a19698852ca09128a7434e562975ef9513f1925829e3785a497e64b410391373b0d37456c85e7ac8cfb0721343828665ee58c203a3838c553d3ad5bad9e3cd42167a57d3f56b44a8cbe97b58943c8e1b565b1cd01e1cdaeef6806db5d0339b4faa77006c3646bf4daf1c7489bdd9e9a0f604fde3ec2ea9d7f7a37ef91b161bdbcb2d71bf05671d17f8cb0765b8f2ef6d323cbdaa53566f07812f99ce63bfbca44396c514a19365c84679308d09b71c95ae7e72c8d332ce742c915ae25a53daea72879d1e3eb15d4b2348b60ccd7abcdb3ccf283bf4f97f277ce6e322945c52e20355a9ed04d462277303221d64cbbfc117dce0379f89ee154c005c139956c9644420b30ba3fe68df043e9a582e3e22300eea82f335a12605d3d139e5666079f9821512fa25e1c0ccf40c431a803b531c2623616363d7a9cccaa7499021ff89d62c4939501934e96cdd353a6fc3ee5e6b53120bc491df37c71c0da278a6a4d551c7d53b0447193dbeb14dbdc2baf8dd040cd2c5ae0ea1c41e490643a3b199e82302548b95eec55ca516f6cb90c89101a9980aecdb72d5b69a18bb4661aaf70090603f765eef01aa247ada875be8d812f2de35f6704b73b7ff0434d779bb36b717b06c0db8b93a0144ecfff0c75c7dc7c22f597e825dc1b2617cff12b01b890181798f207f338345e8204abf198bb370414d9510fc10afd910b5851ae4c99d6287669cbba6679f9df597257e371d5059ea662c1e71aa02b50ee94e272d7089ea09057a31a139ac9ce4c83c7788f4935d9da16c70076ae00a8421587ccc16504a2f1c3a00ec03047efdc22f893f417a811e001438b500c18df75f753af22999e68ccbf838797ba4cbb53af83c8b4e1949e748ff7828ff48553997a9bdac8d7bf0fa151520cffd069c2248f8604d487822c69d9e3aa253d33cb8e5ead6a0e852fb695d60eb657fd11277408cf7fda6e32611a6611b5431883678068fb3063744c1572ec1b4e7becd1a65a315638062c6804c251df221b461814fe965802dda0ac0c16fd8f63b7692bd8798d113799c03b0743767c160fc131d7b01373c70e9d272ebdb715a9aec4e023da787ddcb6e6622f0088726d4f013368205baaa3d7f61de402bce7f0987a47fbb0556e9027f6f079a28cad118ca6cd97a11826661bab7772b774086bb686bb98c498d3106ba36997ff39f25eb0b02bfa5bca7d85d48dbbf024ecbdd068393eb4be21d35419d1706b082e528738d5cdb2a2be93d8be29e9936bdd5f1d9667e2a9e92ec8b998ee5f433e5b95e9d062428cd7f23f5edba0d32ec90a044c6f30609f38fa9c26286fe78001addc4abafb73df8056a8a5e24bd467031127cd24fba188e860fc01fb45af39a084126b8604d5f4a38394e6e84e4b09d316c476aee46c3c99d9ff8bc14edc0ac00d877b4d96554180dd1c51ccc44f3282b2b38837d607442b90626d272abe72daafb75fc9f925e46c889161a26b9db0b16fb4e363ab58b797150544e4ce7dc4e6121fd1e63129009f0a97f072f199a320c40a516206f7c25cc236b671d4bed880ce8eb3d909467447f13f895bd9d87ec72f3a8e87f63f647da3768ba6cce19b992b2b8196feb1a05f88150fd0a4e85e44a46dc2305f2cc07706fa1299b9523779f9463903a043eb4645fe99992ad03ac68164000d0c196d8459b039fc6aded0f7309a5ff0b88236f2f2e60ca56a76625f4a9a0050dc38732d29357a18e1eed3de2da2af0c038d184e8605eb13e9ae35a59bf91e9635d27363b28a7c0deaa4d50d1c482dd9bf88279f34d2af6832ad6179736865274ddc00394d97182d12a712dfc349faad06b73cdd5dae448acc40239f4990c3291395c5f188bf2fdbb0efaa3a54a93ad76f6b931249e0c063910177d020fd7d0d08e8efe24485a5df8adbf8136fab9282861c409ded2ade508319be619f9a1d00dafabf1dfa7afd5e2b094c64e07d967dec2e3879e7326928e536be973a3788c9ea840c1d1a8db6e748e329ab720501329a9a3dc00ed46d8de5ef0ccffec3bf9b4120d7ec3df173bf83aa05a319e388cbcd9787a923ede19ab03eb9a82f16e54047a86318c77051c5151018e088bfe1030a8f847084a34f2582be7e3a98ca2f9b024b92b093ee8ab516fbc5b859d46182d58a03dee35d7c0deecc723951c792598aeae15992a2f232f1c6f851a11949d82ef647a8931fa61e6d4743ad7715155e13ef30058a7f4363d316de9a8812c50771486f4056f51f3f4f3d51862749ef006b64bf3c17680bcbe2b0a50a842986b2ec13f2e5dff365c10697ab300934929a67e6cd8a06888a7babeed4fe3b9f2c795efd71fa41b8896f26ebe259aa32b52aa674f9b16b09bdd397225557ddd031c62b230894ec1e6a16780bde95886191a6bfe59dcbf12e8bc6409ca958e72f9ed07dfd3ed2e3f4d939a92826624a34aed004b35ff213289c89f60ab2d047416ae5b4f8d5121b397970668a561cd3d8665f7b6ec4ee75a9976ac814b5ed9108331ccd78096ffc4eff3f41b3d7318fd0eb7e3a621d5deb2b195791e9c5752b9119c3e02ca53d17f92b0386eb996953ef045a2ed3f937b90c096ca4c82892e905d98423ee6c1de57ead1ec30d16c7b3833635bc56481347ba78a91b8a24469aa9310446cf80f0dc9526d231ffc32e7549f0dda65055246e1a02a4c03110bdb50b03a91ab4349f0fe8ab88911e56d7cef0500465fb7d485825f0f3145bec14ec5b6deb331537bdc367bc74eb59f2cc57d4bd6f935c9daed95f46587b8d3922f3efec993a5fdb3edcca527ef291828f139b1bbb1f66482a4b12bf76981480961e375194d9e3d7ec405fd3da1c6b3139925e61fa4c9cf16f89c45c242508e84141cd082df807f09c28f6cd04c26446f7c482899fb770590f0680f5e4254a11e2a4192e23b9595d5f36c52723d4da0bfc7122b5ee39a0897e67b6ce8a47ee71b1e4d8cfdc9211441f93ee59b0434341af2be1001f31b53930d2fdd213b2611afbf5f3553d4817a0132077b52211fe7eea967ab7e90e26d8faddd8e4f8225ecacd34ef121afc1598f0fa0ce71e2151db76d5f6a1fe015adb056adcae0c79cc6882a7e1e495de266abe69a3f9edc4f08e25a5bcd21136fb87b19af5e6b72300d63154268ba3d7b447bae038d54c08be2ebd2a510902199cd0a2674bedb2c449dac3ac8b3f406220b5ddf54cb035701e3324933d4040cac37ec0d3ab49012a2a6c9d04ab22f66ff18cbce53be9fb59268ca1c257dec3dbe8ce0f838b627c594fbd09f3ba2257a2bb0c273200c8737cc5cdb6706c3f43183c5123776e67e48bd5100b118a79d90ed9628aec24033dd94e15245bf3f2529ba7641a9415407de82f42921eaba1a865008ce8e2cb5427764607e49f248f16bc5bf069b2e3f73d36d7f34701270501e470cd3589e305c7845caf5106282a8c1636207edfc83fb728459ddd3b8e52d58d1666749704cee32263d1cd1bf4df406ffd4a26d781f479ea67343cf4b368685bb3961a10a05c008ad16ded4d919b81af2c5fea96852a81f11c3f447311c4fcd4c0315d8f0e54e58150cc8c298e146ba2107b8cde101b0c8424bf8254fce08d3511404d4d12766a86347be747b1ee7d750d9578ef4865dd284384b2ba73521f3897325fa2aab66837f076dd300f4182244251eafcf713faeeb245e33255344e349e0aa56431e8eb9d98bfddf0b19f8f2daf27fd7e68b736f8308154141dad015653b8023283194aedcdccd493c7ce4f04eb96e186fa1fc9a511c58b39a2588e9b4a4dfa655b11c8e8d09fc1e13d3fe3774c610c3aff2476bfa3560a315b344934761d33fe410ced80455603ec7153083df5335a1eb3952c6ecfba269fb211ee90c77b9e495debd29b14227ba17425af738b219395d781aced5abbf2cf7dfdc962c94fb1591961ddfb9198a3d816185014b6924fef55b0fccea9e12802bfa2cc734f1d04539479f31b3537bbbcbe38fecc828cd351fcbc4ef07d19892d6f7f3028ca3147c396d3badbad1f1ec15c28ebc1d1c950c9bd65a4d1eeec23235021f516c866cf2b5fdc213e680e0b4489c578d4825b308daf3511fce9feaa477ea4fa82c6bc6a5420dd60be494e545863b0205ba0f58ca49455a6659b4f1b9a03cf4b70dddb6e2a244191c2ecf35ce777d1480e85140fb6454e06c9ab92fa73a29fda72106e9aa2b003a70cd2167c0a3aaae9992211286e338fea6877b4612e9095dc875689d1a9cca3cc5149f5877b33452f73d7bd24bec46757f090e0a20e4737315ff8cf3d9a0f21d38eb9f8bd35130f2789d4ef322d36d279fd0a6c08284314af482267a472932b266394d7185f189a4d0caf6ea96905016f0305de18bfd21c649e39e1947f51464502af2ef2b20af3bd130ef298be7d5fca0f6854e2e6a3ab8e539f535781949d138bfec42080426dacaebc957fdacc033c7c75c2712e8ba3a74d6b32cd4501efa5dd964f400fe61163ca67aba92a1bbb685dbd2aa81596be3c68d33b3837965ecd141e6fdd0192eb25ff7bc14a2456cd0b1856aeca5e34295c83a56d172694d97a8dd1dcc2ce5d1ed17c61e115b69b2e875585d953b331d8584af5eaaeef9c16d4d1fd4396d518c66bdf7c52dd56cc35d16f54a878f95487a48cb4d848bb9a1374dafc44e0765d1b8325201953c005d56027b06a8c0a7aabd5cb712420e6b36356f262aad6ad13377f1602e425a00e7feecd49845cd77b1b5be2502e8277034f19dd971e1124b64ca983374491abbb1d9344c4bc6c99ca3e8b0b2f5db7075f07baacd4239cd4b3cb822ad5a1b67c0cb4a8c66593f0f9d77082d5709960e6e86f2d64babcf0762a8a00c9fa54b670c0ee57a6fe223cdca1ebf634567a741fddafd18e63796a70f038ef4da9ccb4f3466720f3b3fdb7d49f59b0a457ff623f69874cf0e74af2a28544d8e3f155249e0773c406fac8373665d1e3cec3f83f357daa42de51f9ecbc84b4871b98a1f1a27cde33212d39ad53060c548a6afc3af1c4b61d5af9fd9df5609829856375f09f027c16983ff73f56c4a7837495492fef0d59227d6c1265c7f96a16eef597be3b27d1aff2d01c1e3eb3d16968e92d69c964346ff4e881425569d710d0316206eb94911e87acaa83d4b8c53efc1f2778520ff4f3f0e4642973976dac4922de7c3c668b47d3e72e5ab7b95dddc07176ceb6050d3aefea0736388715fc6576bd7689b65565a0a88dbc97e93ca1b5cd0937ee7c242ed6f3ce29a569b312ec91f3a2caf8f0a714484a4e2efa74468b36bff5ee9441479be1fa6100b5057dd628328548c4c90bef19503103a9ab2d0908f8d74967f5259aede88bc6c5c3c406a0e44123d188f7840a29c0b1284e5fae01cd8defd5dff34567d34bd1f1f619524ab934bec3723a1cbf071896ee6c665465e88602c90cec29ca14f527156f583f73157625ec2307a704eba676a1ac834a42f9d24486d9ce36aaf80e3e5bffc9009c341f04e7edeb95c61f6238665309cb77e5e91228da0d5e4d23d7b6321916369697e4db19c034c45f285fee211f2c058e27647d5b775ab8f812de5f686583c8744b7ac006b3d54697eafc569b7fe5e2c19ca54be2c652d52b15d633cb35b599e3fce4318fe5136869fd4b180b62b86c933adf2744904287ae8de84341875167c507f010970c3d988dc5e96fb15e72c0d645e84e73d9ca7e9f3ee17753eb4c9b69045d867652bb0984b5efea31a00efaf7bbeb8771e1a8337a4a54292f0e876805b40057d3fab84b0268cccc2b3f3d8c83181c1f5d8dbaa259e3dabde51df96088dd3ef4aec524de8595a3db8a49272ab42be3ad57e872b33f70450b7fce2dc7cb0a4d7c39fb1ed0a81d16bc1ee3cd564b6fd931aa9fbe3decc90c58b77f4894a31ec5600e6b1896fe6b2f5a947ee1d70e6e64f85799fd1f90ce36c475726ccb6732d7605a1fec7637e864f15fb788f0263c2d883b613805ca338fbde16b62a1c5fd8051044bedd3a552a2a1d6c9581b48f0b84ac23b738e555e2c2ae2b12fc159465dffe55a18de02fd34f618047881ec518c088dd2f0d46c411a28c8b4c65b808e5594b84254d62c5c9f99caac052b1f3084541481974fcb6d141ce8e41ed8655a2e86e5a14bec9053be6361123588c3c634a317d30181803d8e252ebc0595cf3e32cee5ac4c050e3e0fc5195dbbb5a13ec64927fea2eb994fa5f7e226361666cd319cf2dd2ebf312556eb71d37a8e39cae48d0c71d51277e9b5febcfe64cd88ba9996941ff0ae26e01a5a37df6bb9f75fb1b012d559d8be06f1f4de4fafe8580895ce4cde2a645bdb16c0769e47c0435ec2907808a23cabb6dd8bdcf8824e2c88dd2dd7521f95e3731edb314647d733955594a3cc06229e828dc9a420acd0dbc8e45367630cfb29e5766e7a81ef1188b18d8105c9bb00fafeec0c1ec1b5b5fd36b405afa80c672ecb7407b66981eb1e8fc30f5eb563f65fa689a941ae8a9314ac2680b7a321f056821a6b7a908810d1f0c7d62a4873a9444d554661356c0d0efda92576f1265f244ec6d0fe7cc9d7f63257de94f1c9418481157128ae51ca6f5cecded98878938bbf35f657c0ec48b95894c847d08810898ca986667ac182885888bb5779a8be82f0a9c903b6c1f2680ae89796134cd122d3469266022bf8e7bd1f8b36d1a0c520d5afeb8dc2f946621f02d9ca5087a888d64a5e67c885667c0ec673e870203b70381c3532b22a224fdcf12c9026248f1921074e18dafb94ae5e19b99989317e28eea1e7d5a1039c8b3bd248743e01bedc85cb4c649d988c43b6369c09a25dc4b15eccbc61b3471ae913b056777c80de0d0d57b9544efbe91ebad6568a888a7f88f765ee25c4fdf364e5b5e06e3574642c347347a358613032a6da333877d4bde5b9ab36373a47b3781a6c8594adbd35a3bde72abe37d151d45a9841d96f9ade17010737e27560b87bb654c29f06778ba0b9bfdeece4d3655d464dd140dc2f1d4b141aca41c04cffc79229d7c8c056c7a7a545cd08ed9c054fc4bd298274da9d0e5c2879551f9395d3ea158ab5e2da0dadd305a6250c72052548c0d6256ad4f8c38b0e27697e936d57dd71376afae3c9568c8fb56d492b26aecedf3ad9ae8667a9e5b2f94633bac9b3002bbf0f7afefebf5a318625e12571d19c49e98065743bba5e5bc0943528fcf8555f6f59f4faf4184cf593df93cbcaa3a4ecc223d2df06122d9d71e7d360a0e97061e160f936b294bf0800ef52245a4e7ad00ecee8497d3b5b3e95abe50ae51bd04e3c8c155fdbd3b6d1b5d7c15b58f8754faac47e8404820ea38c037ac825abfcfaeb618b21df838a95dd0c6a651e7357399605b5972c039e366bef918cd948dfba0181122f25f50c96fa43c45dd72d733d9ed27d2e03f9022353bdec0a4466a38ba76b225a45e304f65172aefd5e644c16b3fd87a1d5589177908324aa14028f435f372b653fa9cbd24380116c50b70b93e83a4caaaa5d74fd3cdb25c42aba8cc33c6f6fc92c2fad92f6563434063de5d41679dd37dfd38d96215888637c0bcf32f154c3caf889017867617e9e4781b2c89b456b20aa92bbed173402d310dd0e0b17827009da3d41194cc6f14a9cab3240f60e10159b192e76e464c6fc4947b1883810c12eff33ce9bdb255588db169169d9a4dcf3f05e7a971155a1f3fc8f6ff281d40c467fe2f843827206a69459b8b3e88a8ad72057ca74a39ee2d3247e85c11aa5347f6ee49f01baccc1026c4fd85b70203d29d2198bdd7e690223b288163150cb14cba7a9c40789878eb4259d708edcd19b5aa0193d5be1f747af9a2b21f2a3ad54f665fd37a1d1ca52bf8ba1c29ce84d53123aa352793380ed73627b83cc5e723c2cd54781c9f1a8f1585f3351afc42ff357594963c5b5fd7724053af53801c52afc6a40c511fabc4b01bf82d8791c21ada6433353c676ce0a9f81b03c7fc90b239b3312eecab6b18f1ea7a6ce40813517518e45343f9709e0394f793af7a43f796066d557330c37930a76fe00f1dce77da52c8b1e0e31274aea352c3ec56a7a3b369f0a3c5ed4367216eb30514fa36280cd69dfadb055cbf11d2eb97ff5b8001141f88eab5ac318b0097aa84adc04ebfda683a21e083ae281fe314cb052938196f7794774f78b78f86679151b374c9794515b81828f97f5b83e9d296415d0a1ac9fa224d92e0b4d514631e7e27794b631b7085a2b8d697e4b56205d268a163e8912f85def674b6daf8c557bcda46a6f234042eb730c4c34ff3623259e68bd907f2c838cf8631072cb496994dfc5aa11774f3a87602cf5442845a4ae93c33c221097980be2e3553cf3ca1791549870fe1e93f88198fa39300aa4275deaa93a4cac938e86de3223fb3ae75cbc709969d8a9a54dc81ca4bc5f77bb7175f39a1abb3fa12acd731fd1e1b0a70e54653fe256e20466c51a93e09ebf6ff8eff76f4f8b037cdd48468cf45f06cf9d06452f621f1abcfdab3ea92e6a05c68d8542e51a962b873378f0e31ccce8c191ed710391fad62195b281f24ed183d8fb87728c5bf5c33fd6c2e372cff28f736ae54a039d86539703331d9fc221c9d22aa74634bf3031f1f73fc2a0a7ecc807c111063e7b7e0f28520bb5bf2d729e9653d0f1b76d7075eb51fbc83bd17b763b50a194957c307424eb30cdbe673cec7c3b29d14da49e62deee813b77d59f013d197c8a4f84ac62f27ad44a6183e9a9a728ece43283446c07a51a0015a910b0af10046d01b7788b44f8a5ec5665e875241a0beb22d77fdaa5293c196c959968adb8c5abab45aa8bb6b42dbaa92f53676c2d01b49a0f5c7569d07092edbf7384c699a3d7b6e5af067cfbf55fbb4247a5de691e1a4873ce900795a4de7e2cd17dd139f3515410c2f856fc533da843d42b167c3d488801ccef858cbaeffb893904fd6c7315fd78cdf4d4fe0daa58ec29a8062965ec9640776735cb3dd566e22a9def69aa35344bfde83d51126bddeeb74ea714ab88fd0a2954441a1a350c95d96727eb13fffdeaa97b14827b3c90b642bc11aace6c7c8d07bfda4dce4c6e0af0f40a5e960d908ed56037ebb5dd1683d800dd663073a6940471208280536e9cd38a97c79f2719cc7840fc7fbac2bd764e7108e92dd2962a93229e318cc3b9457886eca903318f853d4af2adc14124b4224827f4a1ab49045e801bc743f88c0c54e7b22563169bf9cdd7457984878547ca64bf0f1ba8d8aa19a09bb4c0cdb8471b9ad7a3ffe6c7e159e8508397320cd92366afa4b69cd6c84347a317192e96bc5b465364c0e73e514bf3ddf453551f4cbc95932b09cd83bf82b2da6cc28b48e5ddd3ad5648ae777cecff47e33054ffcbef01e00f838a46ef664c7185e895fc3176bdc363db393af8db23ffae425574041c22f2ba6e6d3a4dfff1b7deb95740d554e1540d9bb2a1aa508f450d9f3a9797ce02c711c45d4fd7b2cfce910cd7188ab01321375e6883f129dd37c7f5e7584f0aa22e4184b81fc5ded1a6c88373446a61b69fc7e44ac3718728d61dfe0f01dd97314542fa4cd93665d2bd01d2bf1cfa0d11172842b06038373a0b594502028b6029e50f15b122f832cc88cd11305555ea96cf7333d3e090cbf4ecfa43a56e31dac9a9f4083084bacd557f3a3f943fd00211c8731fac2f18358d6b93356733099f63fa22cd08dcda41242a224f171e07e09abc974451eeaa0dbd6397b635a5824e04bd1dd4cac21140468787e40e61fc373388a48ec418c29b535389d0f409515a47eee80b5ad0c5bf0a4b7eaed3c5f605cbc89ae0838accce28cf31aa0d9998fb2ed2023b56167145cef67087d9f75df6791e55f724e9817a4f90dcda64b2cd0dd5338da665e052f2dce0749a2bdade207c12ba91850c9235f614f34e2f737d50d60aacc369ce9c1fde59b065351063361d4d1ca5303915445d3864a27e04a8a0eb12c782317e60e4aef226d8d2c0bda510d2f343e12617f8d818c205ba3ca9e42644f3a0d4bbd3dacf9396a4c0ee4bada611463789d4538e79a11ca4c39a34b1ea81f557f21da7cfda6581d24ca93fde2470c9a6dc96350e1b6f5c7fb5e71c08f5f07bf689b1db6e9768f5fc6819f82fed4aefad802d44eb578ce96ce5559736b3d388caa461e09fe5a6f276dc860cd8f571cacbb3bc48bf0e8d594899059c213672dec007fbba8000f423a4ba8d57efa845edf9831a54bb47642e5c470c317d057255a01cae4a8ae020cee5f9b30f19b27fda4c0c4a4f8d6dbd711481eb9cba55b73f4e5fb2f9e1820a950560cf13ff1252632a64dfafe630756ab487818664dff489c20234da4d5bc7d53ee2749f06f361c15b4ef477707bb2304aebaf6d5c2367622a58488f101cfc96489fec59cb4d18cb922c09e95d9e041ed56198b4e00048fcc2239b245c5c3958efad50d07e4208c1039099ec98e64df7019fbf625968960f7c324b7c79e9da255ebfcbeebf625c852ade63ff3215c9a37f214110735c2715379e44fb6a9e530d7e03eeac82da3bd06dc59bad0df0d3425507aa51ee755fb5f3cb149f3a1863a2a739c844090c0385c26305de4d8c3cac0aabb896e7e746a5ef60920ea60bb46c2500feaf02fbd92b2427caf1211c0644633b561bfed2e19ab398d9c98e73399322c10e7e76d8d40e78dd6dddf1c4e53a9f0e548144a9d0d5a04c3452c867e89f0e0ded1cb549c150b3d812a55cf76c2be8c2bb2ee69506746ef99e494aa884ddf5b3562b7ac2822402b612b500583df5107086e17abc81ee1f19d30e85817de0140a3111c545d02528f8f3c0a3b59c7f8173fe8a82fd0fde85995d787d163dc41ab64310a38f4622fe1ae23c29156088f4ca8f1bfcdaf70bbe9f06bed3017102c722e662cb30b36473ea7d0afd03ae5fd9d8934c510eb12a5f89b1e597d35a64fdd42e2000092576e37a3b5c1a73484c9d63fb2836797ebbda057121006ae31fe742aae8df2629ea2aa7e23db739359a84a56a76bdeacf95bf1ddc55011384176deaf1a8f3ad28099db520f852ecd72f7be20301c0aa51b670fad56941963786ec8246ba67190cf0ffb2916dc114cf95a9443d042dd8ac9a9f0ebea33dc433fc22bbea538665c989ad5d38c504f8bcb3a225642e2bbf990bfbb7e8a75e977969ab64465df7e5f6cadc2c96b17185f177fb6bc63d793419fa03bdc0773658fc0a7facba293739f658e0b27fcd1f72beece9e2d79fe5945215543cb53832b945c8a3296e7b862ec785e6f54df9081e505f7ecaa2de8129db292c2613c7919fe4e4cfbffc7d3ab6ae5bc59078da70c7cb1ea4add87b9d6a6b86ee21593d8e4a3ca6b4f7aae1727dabf90c1725431a71ac04cc51f89818bac04353c63b930077946d4502464afa7dc88a4e55a7959dfabe52f1a63d9afa4e593357dff7e8bc122ae3fc0166418e8ac9f6af3b00e511368a3fcee1a8679609ae462d660a9e0863a5ee939f17a6908df3dc749a6ad6e563ad5614e90b6a6c474482907b9c88931c87e350de2db2830324439a528c23659516af83f62471e1e4e0c8af55cf5e48b4722e3f433527d9986098c9e6883e081fe5bec46e84ad110d6b1cd43fd0e703c41c50d34d6fc054a391b1273dd96933c6d9109fceb8ffc56186b389265d3c9d9260ff704e7d89be1c3aacb48b1fe60fbb29752acc0e69e3e1aff23f48b4a0976644b4d55df679b6e6d6d7fe816c54995f03b855fe0d7437c4e622f7e446abba0b0066aa7d0a89273140b28d9b3889b2219b5fea459e9495bd03618ba5ffaa646fc5f62c3e7e08e4a6899be6c0f9f6d6c7c88a01f1a8035afa6e6d36f604a6e47d3e28f83962db11013062540daad97a0391e65c496e1ea92f68666790d9b4e26b0dd717d5fb6e30673db5e9fd675ec8694e050d41d25e8775f74297bb38af688df4964ef3a42dcad5b7edd6e67bfa0b27c7396e75760c698c83ce99c5c2de1874e6e14ed506da8b37b22240e200ffcb3111ebed60c723ce85fdcd8a2a434441c801b145e7d4daa99b46dabe5d074c8a7b6493b6314ea0b0ede1fdd241cb45f521a700f76dd0e29c385af14cb287308a8ff653e043687cf54359a39b50be82c727964f3102a58e7f30c73930e9b5abe88cab7c86a4fa7ebe8b2a8915b0315785018939d6fb4a4d903966a6843486b056b901ab1a9543861baaec67c024cd91c39e081fc42e0cbd1ede038ffe7d9539df77d5393d2b7809c25e68e68e1ce5adfb0f0386133ca159c775c2e4c1daea029f0552f0e87e5fad5c13746b7d6b79fdb515791793917f98885a7c64979a61303514c41c34ad6922cd435653bf6e11905fffb23adc4d5601fcd6d981137c62316d32a37b0bb21965d93ba7c8acaef844b170a05790409842d7905d522d994dee350ded59c123744a8c5d6682e9e3e91c78923c907aa7af4ee5fe3cb06c92fc9af9d12df83649ea66339808871a5889c8c25721abb6a6c633d8bc70dccb63d109a50152a04ab9505a4af149cfa84b90334a020773b4d65adc861b890bfec1ecf466b3f37b50de99588b5864e714c2cb312a82a7bc18ddac9dacef2ebe0baa8eccaf1068984788b5ddefd425134e83db28a662bc6c7063ba9bee26fec575e1c9af6afc6ea8a56d307a80d108bb055d1177c140c53c3452ea2da2a7fa090d8d44decb5358c0eebd03c085d5430390d38d8adf272807576fd21ac98a3508e74d9f676d138e78d4afddbf0bbbcf7d4a522aa55c53e5bf9ed3edcf5d42db06ae34dd6fc73a277ab92c1d74d6733c937a15420e3811cfb94ed64002ecaeb175d6d128487274c89fea793cae54fcb3dfee6f80d237095448456d13126e889b4f5ba58b9d08c439bc434884dcf70fca1ba7204aed00a049ae905f4b107d2eabca28fb9be63b955a909140ccddd4cefaf8d1e4d8c6450012a1051422cf2d0aed68655935254f268fd446b0eb3089c5533d49537a07e5e9bcd75a5de7cff6139133a04e2c4ce3dfc011e71d7973564ca518e8f20ac3fa746642957860d651e51821c0b8af449ea831142730f6a489eab24331ab4b6dbf75b93f76b34d9202d747114e2ef1ceb461a2ecfba7d35476275d48b47824299b83ae9346226c191d3aa8c3723bcee03c30a05cbc4ddfc26d659bf27a5934596fef3ff4186b5356c655520c37cf5c74ad7faa4b008db22a5aaf626752bfe37715f3010a5b5f383ab65092c9a8609fac540633e2150f50df6158ee5d93bb6f15d79ed6af8faec622a6272eb338a2bca5fba82f29a42017d387449e43a6e7b32d6fed16506c39095bb5a3ad3f70939d52770fb844f99e6cc36cd3662dcb1147fbfe1760a50287af53ba2a2caa3329ff753d9a253378620ea9eb0cb78dce1c07b9041c6d60866c123de13a7b01c4246c416ee4712d4c456584ffe1b1a62e6d2a564e4650afb83d2721e0ada8dee78cf3969109ee5f9f65c73a4603a373d1fdff524eb903c273847f3a46d829eec5324bbb27ffce0c78925a5ca15c0777cbf4b10100e65866a90887838ff950f88b12f56d702566a9e8ad64e39f801f0d150a485cb77e979ab5b72d7d5bcdea4ee7b45c3a5ea35040520a9807ec0f9807a59ef74979a288cbf5f3f80e54307d13b6fd2ccb8cb407a23d5959a756d1f780b38856c41550a771643233eb57415f08be79e22464915eb2b9674904366d22069ec3fc7ca40f25560b4885a442b66bd01f594514295a7692b1b11863e46da1c48f10ffd15d4a156306480bab71439e943e28d2c804cdec1fa2f0c2436b624ebbe1c062f6a3ab06b0b126239cd4ca21f14144fcee41e89de431523e529c7ae1c1cb4974afafc429ce9673b869e79cd5ead3c4dd8b9d205285609c08de6543aee873284bc7a5b97fa5918f8abc8fcbc34dcb44d85459252bb07c54ac163c73c82e793fde22f2adff4ac16cb3f6dde093df8f57ac61a63ebae122e84572ffb3fea0c7735172d2d05b26f3d98a9b228291fff9eb3edd5a6e919588ceb84a526ec94946f6c5ce13a3339d605153723df30f75cff7e381c48b33eda56f598d4ae37e83b0351663d63ebcf148ca2d84cf9806721e29625f8fa8f32172885a67ec32a3f341184dfef84b802d21a9bb6d160b5e5f9c52806de64a79603d3e99d147b792f49f4aac6f75f22b4708a355c7df861537eea2ddb39cd068b46efd2791ab08624f224a5a8fe68a37d304bf8ebdbb198ac62e476a0fe9328146aed8d3aa3ffcf44c0132896ae9e613f142770d592b3fff84f4ab9d1d1e020de1a3ee1396f98b9b8d71bdee9ec02d7886c3a3771dbcf73c30e5ffb1ee8b4a898f8bbc4d07a83adc78890fbf6a101e07bacf6e213dde7169bbac4d78caaf2d892c93fec29ae22e68958542e111abce7cb1cb22a2404e1a19ced4d4f4674573224cc60d9f3902c49c52cd573aa2559d80e3770c1e41ec3dab8b843126e61f1706254ae49b512dd320f3707db2e2f1c9124c952f81dfc91af5dc61c99f81b711b624ddcf719df44ef4577c2257f70a019756940e502224c4f86fb11c7f6c46b197c3a191b0dbe976299c00727552808ef097b2c361c48b8c9fd98c3de0a1807a559aeb420131d35f4255ab5c6cb6594960514a97bb41443ea40c57bd2909ae322169d5800f579e4e69e6a320887bdac8b8d7703aee898931d03918ae57d827b9ecbbd1fd3eca2d9c15293d05f4249793b7aef2d25046de06c2b3289dc134e97049faebb709111b2960142901eb20402ac80d978affb289b2ae2fb5607a903e8ac8cce3a7fcde638fa8eeae969f848128b85666158d62bb26f3e4b824d9255ee9cdba3b41f9d553d5c1adbb5da1574694a8d54cba6873f8e781ca40add2f86262f42b6353a86dd3db651ca1a5a80922aa6cb63b8159b5cf5960e65cc67e04d0c593b6fb493ef22dc7a315320e77439628c63e096a1904e76b21a1e5a14d5bc08b22f742882c7ae5d7facb1e4bb640581e9bb0752b09b7524ae59bdb5d1b5da9c6f87f1fc0ecaa1d68cd619470c92f7b2051785783c163133d77da91470acf5350a86cb215a917e885c6536100eed575bad8b00b42c9336708d567696e14a1fde96a8508831c57d7ae5582a85143c69a718ba3eb51fcebb27ad4fd8a59968abac5723632a8fe258209856d5a69a84ce15d4de0b630b696e11686ff35bef4c2bb26d53752092ecc0445bd91ad97e81aa7e0d647b350f7135f10d88b6891f7542d08b5759ab70cc5ae754379db4b7f642227dbfc9695f504878c4a882144aa34702d65e3dfb847da4fad8b258f5e2ee2f285e020859ce6e2784101d5f701b785ccb08aca43bd44fbe6cfc82f8196e345fb685aa9c082f2cc4f027037c0e71db2f3bdb0969bd224dd208486651ed8fc1527951ecedfe800ef3a92c35b39c0fe0c12ac8cbeb0c9e7cdb31ce4f66e15d549b5b615632ab30372a26200c1dd842c9d6b1f892107a29a5b947dadb0d964517b75edd610f0bc39ae54c2ac5306523f0d64ea766897407e49051687ed540bd33a503e5df6996ea2f3e7c54fc53e2010e19ef1bfc98d5780887c41b59981ce5a5e92608d3c06fb342fa1ae64f380a8267dcd22496f629eed961c9e6ae38a706a253aa35bbb6cbc91e468d20d1f88b11cc41d7b86f447ca57b336513a5351339d294937d3863539b3e2eb6a24ec6d84a83a10c8af9636c2889cb40acfcf2e8bc8285150510306a07a6e31d2d04ab332b0663669cd982c8cf4970928b3cdd9fad8cbafc84e4c67b69f7f9e9dd177e56cc2598a9e6a6dbb494fe339e630634e890bff5072515c3376d08e914c68ca8f35d14e84bdc15d01c2c14eb06f1c7e60ef0af639a0cbe714376a760dd7caa92f0f1183f0241d49e0f63413c572427af8eb80d620d78b0d112dcd632777a09e426e3ff514ee4a5dce50eb87d968d024a349a8f1eb98add5be33d22cfaa235ec6f59ebbbfaea76df760d6bb4067c2ef07f35df8d53687578d157c9586c3a197c586d97e7854463747c8bba0e23faf211a13bf10db49beedad8b1cf3b291354eb8f7be655286482021d072e386daf273ea18a5b90d06a618e7bcaea698b0932f385ff590822a37aadb31cbfbd7f920a3f65b2dea78a580c21013c15f84e1cfccee466526fb0d5bbf5e9447c0aa48d634aca9d4de9f622ee45775e016b04206341319021b346b6d5f9c9481fffdd51d3706f89befa3045e591072f088ec2768b7e79243448021d90aca6897d3875bb8264dd4e6f3cb504d200caf74729c4b7064738732484614e82c8947186dd0040757a488935f14a9401d10ee9d07eaa2224c15e84bf478ef579baac6be7eeb17502cea552681865b77272122bb75bc338cb2c53c9f4bc1ccd654a1f22bca33fa79debe9e0763c8c2dc26b304fa0a3a523604f8bb9fecc5ccc636112db4aa8461e327512a69f2ef4fe039a71f27d775535c2339b2e29840a1958274a1fe57c36187c38ebce2415190f71ed90c75e56220b867f61656dd2f001bb95a22d01f17dc5becacaf3aad7a55a1934f644e8356baf3ff2f8092a1d89bdfb889120018a69eebb4ad2a754d95fcd1656cb8df1a04bafbece5c4af42d6c48e784890cd4e10049ad2e43d7f69b158477d401e2d3322e3af16f794c29ff8ef178e2a964c4a9980f5c3c353e6ec5d5b4eb1072ac9574d9c23f4888bfab1d637ba771d9a686af70e1ed1b65cc25d3cc36ac4ed9813abeeca878d611f9b1b628c852364794b53b0a37dc618b1adb418a48eb8d877a01bd30066a6f99a715423f643c59fc437280f55400871431819828c2ba73b43d60786426a03abd8715d8b3d80f7a44bbfd3737a11d3c75885262c1817e5a5ecf349d942b6becb211237b1a28ac56c58719d5e4b63145e1c3dd01763458fe90ebffb43103feca874d77520bd48fb8330e6fc4effb06a85b6e1bf1be3cf53e9a140d025046c569aeb5bd098b7aedcb7778589119daee41e21dbc1783eb46cbafdcc654b66563e77efd38ea0fb211fc6611b03024a8dc173c4d3c724a3ec7a92e8c0bbc7f6bfda641c532ef5a3375b92567a107a78fa7c5fb63be42571c0d4b79e87131f2bb87b86bf3ceabba81751a8911ecc1ea6a080bc5839f98444c687c9db1d7a7d7909972369840b32a5851f94a5d19ab12a4ee6bf36a2b9c6aa7dbcfd20abbad70fdca3a7cca7866a16160f20764fc5e638b1ee8b16835771dc511ec140d408acb544d256932b482c5f7a9401284ddcc5d3f0c0286489c65752833c5127daf0f67bac166ca2f7bdc506f49754b10dbf6cea1ad946f303e52ef0365aac6ed24fd5a0e1545fabb749aeef26dde7a77c4e7c0d2c4ea1bef3e307d6cb08ae22cb4d9e2d1b30ba634f6b5f132ff469f2885ceaa3d7b9f2600342e4a5545fa34c612a4f30e7ab4c6dbeae48aacd0e2c5db0614e97bb58f968397d7f733df7082bdcf9ba7ddc647d1b3b16879886fca33cedbf6ace65fe53e5fa5be9ad38b3505449c62b2446d9ce132eb5440831bade5446e2d3dee6289de6563ab7ec04b6d42abca08ced8da17a22f6abdf12d14779c787f564f2e7b196e28d377a31c9d09bd5e5b99fb1e80f4aac6716d9e76b30f97f6e689c77e2e668b20b7cd9a016e75ff55ef0c5a3b6c1bb75e2419ff8f94644d9c7f91b49c6285ef707963db1dce7860b4ee7307df2d3969b2f81aed05252042250e560573f95d313cb9cd766e8b230816b15fe7ce64b8d41d3452ecc3e0bd122e8b057af9941d3a4b6d596df5c091883e118123a7e4091bf502282ed8894260efca11ff75d66c561897ee895588b2fd0c46cdf42889a39305e1190884f6f661f4c9577dca891e7df6e41d3300785311d2d59da651dd1a16f4b40ad538b4992c5e9f6d15e60fe4f5fdbcdcdec0d7806ee1a5a47c2a504bc71d4ffdfdd1f7d210b8e8c44365678e64eac2c2988e1202d6258069706b6cd9cb75b8d2ca69ac4f8468f5d2b91a5112dbef0d571c0d2ac73fe2ef310d696d769d006ab15c2cb193e5f39209ec3d2b7cd6effe5aba9eba7b5187ed717ee76a03773503e57d288b1ae70e86a2e38de63753b370c2536e8188988c6ed946ed072a351fff0abd2e0c82bf9c36894a2723402c47c4c6187dafc7596ba6eee8e6d93c82b7c06c94cf019cbc9a81f40bff22e734c59f1ff46537b56908b60daa4e4aeb97424d51b4f826fea6c0ddc8dce105dd5e8a5761bf05c4b12efb55b61c5b5a37de4a69d8d9e5e8358c46157fabdc67a540dd2d42d389dae36bb5aaa4d7b6d554a5ddf221cd8b9b957ab40f06f1be0bd2135c6c1a92a5c5353859e0afd1bcbaba055083431dd1c888d410b4c553059b5eb7576c9a417bbce0678a39d9f4fef68bab6ac716114b023061a7cf81f0b7ccef8db4cefbd593cfb59db73002f53e658d179707b5930207431aa073c44a2ed49dfbe38bf6616a4c077740d9350da031a631cc852725398de231a3c40416fe8136302b6752f78177ad77ddd523ea7edb25b34201f2fffe0280aa12f826d0b19be39430adb6d67d65312b4bafa405f3ab63c99f4031fd8b762b02d33f08725b6ace455be0d51da68fe3661e91d1ed2c7543565db5923f630e7987482e161cee6a4b4e34b7d680fb126d2144c1b7867250015b89773a97c5ce5bcc1524477cfdb0a48c53ccac763acfb4039dec1f8463638144b1694858846d2978d9ba5c38feef8692d2e24c098aaafdf94af60dbcb84b51a961886ba1f3ae966d0cbf4020358f28140ac8c511fcde4d6c94e8d1c9b808d24bd964955755a6ccc984c17402811b5b8906245d83badc12584362ce6d6194ea3f2efdbfb371fd8e0a488ee7e57be2b48c67f4812085eb7b0c8034b15ee624a5fc15fa99d7cb7914558df0b5a97d98be68df1c8b81709d79d990c3ad485b119474d13104a0bfec64be68500573c4ca0a5e3abf7d3052ab39a77a0ed5c669a2969caef46996867f1548d05e1d03613cbc6c96565284759ba82e47cd28a5d141a540d19f1030748165c03295ac76c6e3d3d0d6deda8a1078ccd03beeb74d06ea97cf5dce5227cbfb2959188fc5bca33501b754225116b04483bfecc227f94355432bae7f7d9ee8f846b637b67a39d0c80344d71ce2358bd5ed61ed2398684c98a4a698ed17a2205341af7db526d0ae8cc00921dc2b9eda5f208669ac145e09027b291c5f5f73b2f8dc1d4f85ae04e5d4ac44721eda114400b666afb2e532a4279567d0d3b186d9da62dce2aa884ac311c8d68734be5828572cdeefb45623d3d4a55bbf3c27455334657000195edd9827242e71af192bc39b9d2be23916e350813cccadce2e7b5504ed79362c815b2261f6de5115b721bf3dfa1ba8b04e7a0863c82e655b7b357b5b623fee5bfd612f51622017c525cd688644ba318198f5acebf01abb7ba22a7a7d1dcd3066280cdd556b1bc76885f33d2aafeaae4593ab8675e4343a75860c62286edab29bfdccce7413637de746b8f4129ee3a96314e767b025428f7e9df6fa971aa3c41e80df2aa24af21b34da32281740a0aa82a70d95085c32814857a1b079fc9f450b2d3d92e99bb83a8bf786ec729155bf23f49206bfe653a4997525ddceda085dbbbc2f0973a7bbc47e72208e2a5fefd03910c8375875ff96fc6fe6ba8b7d738bdc1e4157d3a5379957cd4561bbaea49eeed099ea6648d1ef8a11e7bbca96664a57caf6e0d2ae2129e4b14be00e5ebce09024fa257b5d615493eacff66683ddbeeee5bf0cbeb4d8e2ef23ea6ffe85209184828bce46bd9828e89146e19b7d9d136ce26a6d25a94a690a42e23f0e0981546a4c7fbb29c26c3b9f9625ef591d7c4c3d3a0e1e87001e0a8ee5ec1c80ba02e7f48de08aba48de889b1fb48554863f3bd3fe88914ea90137d041e3ad8ff968608587247b64f735c22a23c62fd410d59d4ec041b848e4b1d0c5a1c07ada95c92ba6f3e7221b4f119b6f71980b7f504106e4737cd1b56b0f715f5a3b024653560d5e4f6fd518a31549cf2af7af97b9b29589205aa41cee88ab68dfab91fcde1e72685db995a1eda72ef7342a06e14b3f16eea9af06004efdd4cf4f002ac8fa992e649201d16593737bed8570486b4318a57c4ed45671f7ef4669fffb80bd3593b1832491865ab8edae5388693b80bdc790ba47813660ddf9eff27f034ac723c11506473d63cc49e38167de17af99e9876f6af4fae22d8bd6cb97977b95aa5676a5ff1a25fae712b5e98d2772087295fe9fc2e3aca1aa657d6ec871e0111efb0d10dd422de976a23f63ec0abf74a394eba085d38d2fe8d6389b77c24106cebfa917de70e75571882b7c34f53a26dba10df6da12e65ecdf6df510e031f090dc90fc74457ee7876fc54c821bf7979e8051ab0ee80ac39eb99b3693844c368c93f9865456edee36abd432d354cc469d97255f1f666b9bac8310f7f98e0f5070b8bbed5c33d2ad027d5f580588600eadba36088064764683151fb0061e8060159f9dd0f2a4901db28d5831b773731feb2f12b82723a28489c90d7bcfe3014992a6de0895358cc92f0c8854b3a298ca4d832ab19bf6f49a17a8f9860d7a6efb34b1f653639eccc872562d1bbc64bb626abbb599333121ec403bac0060a9afb43ee21e6793f86ab1bd1901484fc97364939768a086962d4a4c678de22d0735a664b41722b466e0fc1faf59719700b3fc029bd2d8650b7362305c01fe9b67cc40d71065384950bff8433810e25fdba5d82e580866effeefb7e5c5138bfa6293505e223b585b1757803485140f2bb645fd7f2f0575b2974fd3ffd4aa2d2fc7122a7f917d8de8c8bc9014d18669d5a91b25ca3862648237df9c03b97c8bbee6d1c65b9c799be05ef3714932db075c7623ae61b49245cb9400a168f466943c0f8feca0947449a295a58be48a3de42c01973c0b4c9095db43f9d39636a4eef632b145b49da846a605f098eded30dbe1bc919c6a7c9c86e53535a5339d3fa36e959eb89a31b798e1f80cbece9d0fdb3f778b86df8332d9b6ca5618a7ec70bca9b2dfd06bf4519e63f04e57e19077e6fdf693ada0eb2326356655636f868814a6d3f19ea13b0dc900d67338e35d512d7fc28016d5eac3a10417c17e26e9b772602842a23a3f48bac16b2755704d4f8c386a21e7de4c63cd7cb84cd9c09cbd64206fb22e704a5e94fff7127086978a4e822bbb4155f5083baa2f7ba00f28584c4af6bead8431b347128fff11c1868539fc23e1ea61c61af94ae38603d4224d37e6f0647aa4207c3294de5ace70d164ba80f8d781b02f9818bc0216a0f756114d51abe907c026f82e16a65708c23c47a0ffc32f6af7d5a3d7fb993d522aa28444ac824f18ca3d56b6493f461881b0b747f70e9a07a459a917cd14799758fba30a1253d6af5aadfdfbf51fc32a7643104f2aac396c1a8a3344b1172ccc2b573a900460375e522eed39fbda5c701b3bdeaecef018855074d70e9d1145853975cf3286f2a7eb88980138c736df1db94b8daddd5a4c24ab7f73ff8f4db84dd5279f641ce6f620ff76d6027ffc4006d6998a4ddcba478757181e4f264b811bd2483f3b9ea887f364ba5b539f110611a65396742df29cbe263b0c826ca740fcf6b2fc54cd466c83c92a7fa0e085b5410c97b667ba9e3f84271f5cdb1dfea0bdde3881634cc85e0672b4da8971977290e45108356059109c838a964cc1ffc8e32ea479b67b98b5c0ed4f77909f1f8ee93d7534dbf3a754aa7b53df4d2edb3f061e8fb9ecc2306e21fa2309deeecc173f86688fe04767acdaaa94965a042987af600fc130bfa86a1778175e4ee7060ed163fcec2ae66fc1465bede69868c2ddbab5edac0dcbacc70df1da7fbf3a3dcd6ccc135d2af2abbf82ae5877b4dedf7bbf234f9fac1db948a86ef371783a8407eb18d0fd48deed3d00201ddecfd1b682047d9c5ee2366d561f829001dac929fdb4dce9cc8fddd72c9ebce05f68cfb56c2738440ea219ebc7568bf70067b0241ccb41035d3d612e6806aebfdc8acc31480db191bcbe269db861e5b27843b1b69390299c11d126f993c3579c9a0b90b6ea30f6ecb88a153a9ad751d5c5ce6bbb0fdd0fe3ee8e5f8a5a1bd33cf47fc78c4320de75400c195b3f69d4ed7705e579a0a4e2fc8c5ce0ee49b80314657e48d94c4e1c1acf62e932e02ec245f6ea0a1832342a016ea22f6ce5af72d2a7954127e2560ea958ff9ba46a7ea39f9e1125974c3e7cdfd088fe0b8afeb85f429252bc2e71137d54a3f38c37024178ed51bbb4f6b0a9faa92f293461c5a8831bd7870999cd98161e05ae5ee260b63afb91c3b25cb43973e2473f3cf8cafeb65fc5b8f7a0cb59539807c21237e8b70123c5a7b074671e4ea02afcd05ea532e2d7b51542286c7234f615b8d640707f9813933dfd3947b5b6a87af1b939a9f56014828daeedf4e2195a5d243a49969f085b5b27598610cf5a03b581d3854b46d36ae07a7ad95de3fa3008c209b638117481cec5561964503b2354525061dacdc83ba6052c8a6ffac49f023d333ce613fec85d5d2b77f1a798bd9f2f70048b648e944a71d9cc5ce5316426217f490b38fd6f671adfc5f0d2ca6c534b1c8fb7fc36e6dc590e2dc6c1bf116a972e17cd057d0076e8b2cefebbf33ea7d812f2e4c76cc4bdcddfcef7d6f449c25d072567d9faad98c61868d84fcd9427040d813b530ddccba8b91f5abd4e86e3419e3610e90a5dd0c63b8519a90294168322e920e0b382c61e756bdedd26f0413838a3ab37178b49f31731c4f1f2cf52b1e6b8eeefe690a85e32ce9dd17bc7f6620a940e6dfb35e757b623e8c30c241d30ba7774cf12ea1e1a7751b6bbb10875b2b045bab6a731487042c4e569835f1d47ce6e42a62360bbb8d7821877f4e847bceb91daf8cbee1080c64e529195c097fc092b97984a74b7c58e1781f458b8f4206827adcee4b35a29462b04bcee653ec4cd7fb870cb304b9607bd397e072e6f66111c793ef00d990d0aec5b443f8bee061c542526d3bbf0d1e289dcdef26ad75706e5672be6fb7cb6e62f7d927d3f0d514921132c501e010f99e638ea7563887f960bcd33b3ba7f213b268ed05543bc6d2aafa130052f4ee089794480255a34c2236fe53236893a3cca234df15609f19f84ba8b0f6366e43ada36e952526a82ce81c6def6b306854351936b6ac94868a49f92d59c060391ded4d86c47385b61f1b0420667614719d452b10104e1c16eef842ea9a55ba6503bed4bbe5ff2883ef79ead401adffe52c019f281d6d01fcbae1e24465b38d91e0f710000d19dd0d675e9fa1e2dd8e3255a167312d224890c1bcf47f946496a97fc14783f2ce4d6c9f68ade7bbdeaddbdf60c26c8c739b62c2cbf700657d18ce0ab85a60a1c4028bcff98d7eedf1a4e5d3ef182a61552ffc4249295eeb38fcf407d740b72920f57c24176cac54169cc456b12d70b26085065eeefc659d175d27b7454d5ac9f01de03b4512db282a11c4f8e503dba038eb0722affdb9c6d49d76eb2711592c3af440913b6d33641ff15da3499dbf75cfc00cb2230d61846022f4e23b2b5b4f6312a836514ff139751735b63a2afdc3f9c3851be06669089369f4c3845b14a58b2eabe231e786c761f6498fda0e8d8e75e1c9aab194f6d160c0aef4c0a3195ca7c069197e08ecf465b53e2977f733d769960643f2ab7c804b63566615d55dfddd52a70f035e28ceedddaac9fdb6d6408ad7b3a698cdbe8360935d99cee42a0309949670537ae74cd842263c67a9881f246e9fb5acf5822a45b3788dc9f1d6ddef2d33aa3731fb35bd0fb2d76439837728ddd06597bed47dd400d20b0f6c26973dbcff6b9690c910b5dc092e336f080b366578738418735b83aedd0e7d3765990aea4a2fd7a90014d64eda74840ef1fb7e99bd2a1b8771b9cc00f553e5f48a338cc523922520c3e084be82cdc07d399f02c18b256a5caec13fb584305543165ef5d029dcf47d7ff5cbfe3bf75e14234112897b41b0358f801ae3288759d48c2ca1f1f2d01dcad100e083434ea602fb11dfec2f547aa0a3671e0311ea561a5a1accd6c7b44aa4100c7d2bfad8d7011f345a833790ccad424d91df2937943b029347982b2a5e57ba020add356f404feee3f013dd53947ed3844ec6396d5805cc2fbbbc930b4646d4ba5aad6460584657fdd18664df656b6df8abea82171e10916e99c42ea5479140304063fb7e4b06ecf5cb3f849007cfd65cfb345f5911b8f85161dd1126fe4075e301c0057893cc12aee569f1ab0102e8504f27eebfd0495c1e10230c2b1506e2ecf5c732fafe929443abb482f8a4307ec17260c2f645485cb386e3f6e18d88c6feda128882f13408dc6b7a470dfe2c4d2b76c8df05f25e540da8720807be25c4b3a98cdaaa08403cc139c79602a21bda22d5d031b74d0f042d3845b972e1f35466cdcf02793ece4e7320c64d5fe8a45e1fedd2e505622fc5e38001264f88bbf3a187563766d7cb27688ab45bcb480ce6351277b3cd58aca864472c18fab653f904553dc1795356f30bb363d20c0a057e6c6a38d7c04eb9c11c07b7bdc5fb7ccfe11f1cade924241a6dd8da4ec3d897971e29ea5e91c64e14b8b276cfab94ebd27fb3ca6798c6cd6c1c87d17d5a9d3e36235771f6234b9709d35cd745bdea130eb3acf20dc4500961b4a0e5bfa569cd439f42961d88d34321b32e4a13261dfe822c7ccf785e25ad8b3d3328f2000e2bbbb9672c0ed65596de781b62b11f9aa7c89644a7af57398aca91e531db67635db0889ac0874971e4aae989fc90895de4ab794d51acaa9710aba893d055dc140cf715682cc8e6505354299a74b63d94cdba574cf2448ac6c4e1205040ad5c5e55608b3a2246167b9036d3fd9214be8967c7a504c58bac0b894884ded619a6f7382e35982727f86bc4bb8416ee7e98df5bba285451ec56efdfcdb2968327b1bebd08a2cdf1c3bf8ad6ad9b520891754a93e45985f6b7aff012215140f865bc543df3590d75aa2da099a9642fdb2db7808e8d2f0340477a1ddfcf684bdcd60312432182cf666eeb6fdc42928d842d1144fd7b155b32f8758acea4cbbbd5a973199c8c29b352957229dc06034393b5c915993706f12950817e7e410444bc1aea3ebdd9666030855e859d60097ec71bed0d7242b1b613ce9edfa6417278bcc4c7f51596bbd1e3f24058b14ad2329f419dd7970a3ddce8ba4d68369160ee1a78c7fc2008ef248644ba9be29e34db36cfed576dfdd8c3cbf564993a359300e4f395d06aef8979b120cc9cd6ac166d23c00de9819ed434ee20710c580af333c88c74d47bb5c87bf8a6933d86f2525c945c98097abf4e49bdc173e2e83e2f86f32fe69ef7e11ddfc1f6690842f847ea72d251f344addb12adf38a0a2e99ca4d55a4b816e867ea661285db8a2e47f7b57e697c1026191a86711754f310c9108d3fd825358e748378c4926f83d1defe19025a5de21c13ac5274823dc744cf4b8c9196d08c9716802f470002b88ac9f7be214d7a101e5451fb0f32a4ab26412bcc19e693dca6caaf0ca2aa8284e453790b9dea8fc653933c0103e1376725ff0608c0a99d2d40289939ba5a4f1fdd9cf91287ea6a83c566d0b81024bf702cd8aea73ca75fc1e99197e8bf259eb65612403e149277d4cbc67bfbf446534a8ae098f8e687cdaf8f31dacfcbd53ac1f4405addba4ce142fe6e4b6f5b2f38600e854061cff1e6437605d80f969097af9e558e66aff333b7124364dbe0a214f5ce64fa1e2f316e453c9e736c1e4352dae046dd8e0733126551075d862db019a3ec643d98e7f21b2c4804515e3f808084a29e0f6b3a1afc2485897d13ac8c0d23e67903475fb04d10fa8e5d820107e6b7f0fdc0779d4bab981144dd56b5784c7ecf07a2900750cdec78e757c18e5a5b50913d79549f120e60a857a240dfa83184dfea1cb1670896c18cce4033c21b83cfc91d4cc00574ec0d20c54e1a01e8b63beb2e1f7da3caf92f638bc3b5990b7b1aa65b16f6e892df7edd8b4bc561ead150f2270db88843aa8e892b9dc9bda52b23214dc458c0baa9542fde9e3148547369d41a7f89c38ae984ad9be8ecff6606fabae13fd05feb15061a592f3bf30965d3e4161f54615b9918f634e7eff38194fc2f12188808cd0f4fb848c859f5333cd1bba78351b9f2e7a782522872990dc31cc901ab9cb112d01f1f3dff06f9b2597fb99f04a1d144c23557e60df588676460a16a3b5288d4e0160561e54270ff18946f15b64194e5454c9f8ca83591192c6c47f8fd17d1f60eeb74aa68aa6ad3de129e9c320d71f0f0fd495b8e54ba6cd1de721d4dcc092c6f4a8a079fee5530ed98a432ac6820956b33ba165a58acf847ce5c4535f231931c7842c5ae6618759004ea0bca8a3f1e14c2380b9d5748c74a173340023717952819d92652aaf8f29d15b1bc0973f2a4fc123c37be06caab2638f6beec2b7b65db8de348523aadffca0a19e3572eed86c9aed464bd117bfed4dd3453ac11369931a66a89ee04a08f5ed107e609157f508be1268b170cf98b7e4cbde7a60393ecd2f3e14818f29d2596010f2b0e9762377d3e5a996231a5fd81519d12247a0b3e2a19195bfe6ed974959653a14b9ac765e414eb9117513fdceae4a52996efc40e24a43a0b3c5e332feb6361c4520485bd24c5f036fd0d952b82bf4859fa4db5fb3e21161f1460ab7e570e25aa119bda4ee1649c1d3e9425d8f4b92c8fdb2b043db806c91dd5346eeba0ccde27da1da8cf30c108519d688b288a9851dd2ba783d8567b7596e7373949dd83b39826349f55d12c8e3fcd969692ffad984dde2c0f3fb5a56704f9020424a6c8edc079591699390ab496901daacc91cdb9e0102ee0c5efd27b97d63a1cf61f8196958cf185b63325232037962f6acc2994a01daffdc93cf008ae2f156fc1361660007ef2ae9fcb602ad5fdc86614f28e7f532a41eeca9b2b83e706b75ec176bbcc8efcd59a5577ad9a23a61595f76c0e0f42e568902091b230a3613b8d85c2867e15f458e298cb0c80d01adc71cdafd3c4365886e53f6049cc5225ad7bd9e913115ed8b824da2dfa1508b535775a020d9c67e69d4353f14c43699d9ceadd43700a664f70508f5deb8a1176115bcb77c7950bad65dea0c25468a929ab5acf6f139e1dbbf6be17e67275be8c9c84f823bfb994c10c372b16ff2d65677e867313bfb34eeb9c19a267e9be1b3b1856ec3ad76172fd1693fb9427edc3cd827d7fdc16bf66407975d93eb0cbeb2f79d389728e72c23d81b8ff9ec33d9f5461ea7a0c272ef939eaf416d258b0c7dd99d2140398313e2f9885d139cdfc0123f47a8a7cdecc774b4a3fcc399c4446206d764f31d806831670ed23ae9b8cbd8edb0e548a1664461549a7ab17f3e497dc4fd188f263e8b4dae7afc33ef52d320ae99157d6d51771fc05660485fa957f3ca88c7b34f2f48e71167b7c02147c74c6f3cbd92ceddedc5b74f5ec36c003753c54adeb766179450f117d00874f22fa63f6b0366496f21d7b43c9bfbc9c95794d49c914c7946e730cef6b977bb550ae2ae794ade2832a7f30b175fdb2bbe4b8834ac77247ffee6f4278053f957d8e2f5a191940aea46f32be98506a78cc44504dde826beb63b337d44baabcaa71f3bcaf2f5b0bb37dba742543a9ed5bd2574928e801a249b07c02b31941920d75df468225a08bd557053d2833e46eb705a68c776280d5a87f4543ae5e8789a95f61fea64be3974070019bcc69cd01588f0ba4c3e80155137186dd6c0b454b2fb0c4c701201698b54294776c40c1debfdd206d36ce1b4c09debcaa2acdfb966b18ca087851618330246e72a19ac143fe883fee55264ff2e3ad1c25ae9f1ab00ebe8dae78f50f8acf098d94c79f1d380ac0ac15218fbe9dee05c79031802e04787d81e940ca9851d8a319b91d5e64242573ad8f6ad59f9cbc8346179c16b6b0d916e5d155a2859e14f7f8c6e4ecf0b9d73bcaff8c69518c2bc57d6f94d54f713e17ba68ff57019afc083dac88ca3099f67be624d92930e8e9cc8d5e736e4471b638857dcebd1dc09b4df2172d3e5db296005707dd2faba80c42c5135e230b786f1437ef66cf6881047818bfa2b62a6a02b12bb2149821290901cb7d913954a4b7393081885df415631f28cd5e2ea30189b8e1f77a133d7f70a8049a3b7b17e76b16e38a2bca03f3c1e564890b50b611e5181a375bc47f443a403e23d8b6794496ca47ba0db8dca602e1779999904e21295e2c326b694bfe5438bf9f81e97604e73fcd9753dd69f2481637957f55a0ec861fa661ead8cfcf8dabae4e0b6b5d426e2ae7cf934492353aa6b9525dbcc41944bd591f332ebaad2aec55a1ea0595a4d085007bd102c37f48858070b609a2399d18342f1ca63b73d8ef59324e5ff1321416bd2c7fb592a5d56560c227c433ce0cd8aaae30223f0617a12a9f835a7b84772cb694449c05a992801f141d014b920eea41deb1bac391b51b5d494c825ec2a458fe5cb7c512023d2b4002da36e71d5a508da748a494bd7fc11e0797aad157c2c4a7f697c09267460670fb092ad52237eaa80cf9e715e2f6d27c1fbf526286bd3651442d51bff987008b2d0a2cc0edbf0082f105d932d6097cc3b89d478dbe77afa696e3ffc082d955194e1442b144c1c5371dd9c29c9e03d8298903e4fce5605b56e63c897fe9ac949a79cb2033202bd83ff88f6c6785c87f5c9ceea76d7d28a9ffb15b25acd984d48a76ed7d6975b51e0f1235edd7ebb098771c4128d8c7425f55784f70fb9e8998d54913b7195e079052b68f6b3b529a24f5080b26c974aa098f636ccddca21d148f73eea1e26c2cfde624b638e778398ab560dba89c7671e81caea2113736d629d0a97f299f4a2c86e0529f74ebc4efccf086763705d97e27aa31b3ac02fb855d6b91cc5ad4a9782cd06cb8c73de728d6880d01a50e15e50fa947df868487bd785549447ee3a103c19b3eb031728c282cc12cd5bf178441daf31314462ffe532d0f118c24c412287362608729ecb5a557c0dbe7f2b622f7468853eb7439a80260cebcf92fda1c41ac98ce6cf5bae4aa4bd990006435bf43b81076e9f7ef8cd96230dbc1524a4bbc3189683140afdef89ab6afe6bfa3ae595a69c59378c1cfe19ff1213b69a85f73579e9c1d1057aba09202dd2b53e1eecc6a4855f5c57629a1d33686df1a8f95503166340872bab682e57df53f78736c66b6e32542154ba1621ab04e7b68141f4ae062ccd4d2508d690a142321887285d58355433054cc04cffd1eb38d03af2045700a747fb9f8407e731ef534bf432d87119ea66b48285b5db1edf08a7859eb34dfbbba7fe7bbe6c4735a0993da0794dd1fd35413aaa1fbce2018006b8d0313f4a7f393089e8d781d085328c58c72f90d1c3eacc960ba1814814590ac572d12d753d6757883ad7421e7cebaa2c9cbe64173da3ad31ea7a9d9c958b2494fcbc923efe491d19e12e4a90683d0ba2a606dfb6dd0c429167a5887027e5b6a281f1de9d589fcb383c2e812b92008483f50438e2b4ac50d1e32242358baa394bad3241264536355513e9eb8ae7fb6d3c323141cfd407865cc121d0c2a75c0f925c633aa7f1dbf69d429b3a7f141ef3b2307dfe8c9f889ee23d1a82455e0c971a9e7a38393b3bd6e473188b386645108b1a7b96985de74ddc1fc004bd4f1e796c9a47381d20fb21d256da39046d671988b106e4f366c2021b80641927e326664e3c0335e406e931866e252b24c30bddce2eac60141cd0829cededad71419f6c30c2d0ea8185790fe519e4d677b4b5c9209bec090fefa32a1d30764df6a3fd3c1aef9e6a529cd26cd6e061ce07039f0f784095da21f18d66f5409659967a32e457352228b8350240298992fee2514c4e074b3eb0e4e91993e4f23264136e12677ce647c0e142c55aedb4c246af122690cda544ceb79935a45b1980a7acd7cff14db0103b2f98c623ab2676a7d8aa746ee540b20dcb20f0b0e5f2ccb5bf7cd02cda416ce98a3e7f663d4882ab4b07b1ee5127839334fd127c287f1ccee71831a8f473963bf337f77f1b39bef20fb5698f7af67fd9b59cc8b51cbc1ea73747dfa65a97cc7e822e1e3508c3655f4ecaac88d6128821ee6f259da09de09a72b6bf8582c9e9c92bdd383cbb2a26a278b572349c06cf99df9bdcfecb38a328b6e686aab78deb8eb8525c1b7567acf11260216cec7ae876d6de69f921e17e45c8eaeb9f4a5cb3a00e8c45d8a898d71b1ae5a426c3204f181d08b3ddb2dbe5b96c3fd895975670c856040eb5aaf89d2f752dcdbd77fc94f3a63bf051608a1380ced583c1c9e85cec314d5d5a296afae4782de0c99a27ade56fc66aaf713569fe64d318a8abe2630eec84ddf0defda9d69f4fb1b93bfc062f259b25dd123e6e434d1403ec0efedbc0263c012561944b8add55e98b8e05fd829bbf1e72acaef639420c9eebf0a5f2cbf0b86640ed74d8c2b70c11c5001c9faea2faa944174cdd9b2ba2bcb8ae32e17abf1871b64bdca129247f8762efdd1b2c2db4a94531ea41d86e3bf73543e6f2d11e93e6596d7272cbb4c67100f19772a026a4bc29cead65f540b66c52ac7f02878a59e127ccf3e36a53771fbe2f55fa240dc3ad61cb8e034241af1799e66196da98b306e196816f8bf3273fb91bcd439e0d3c272977b9f70ce71a9040b66bb77a9a09aafcd5d03e64c00b5216850abc9bdd43b121f40c7a58fcf78629a6b1a22bcfa6946f93897ab94a5acd1c803d7e4783befb80bcc1cb76c34bd17943c3dc01a74f0959fcaaec022dec94014e6da4e76fc3d6e560310bc83a2418fbafb1d8bd7ccc9f075dedb04d3107e360e048a11279f3e394658ea46396ca696ce95a520fb5bf28ae81b288c3202c26af837dd5326317752f576e43b49d575f62a8af99975256035ccd57fd2c7f26c768fc04c68490be5a1be0bd899ff3166c6998bcdf875d7acede0f608e8416f25ecbb00795695f1c38f375882790a9b1793f9a53b4b20569b2f6bf52ad0d95591a431471bbfb856967863cf52f1a6124dd57e33adf828bbaefa739d493d20b38797ba7a93a246ced5a5d978158dd2db26170e62e5fcc8c8eb5255af64b00a58254a39c2d53e286d7fb85e7418a3a81a3bcf81ef7e0b9ea0808266d5bf25142e3f4c0aa4b2325f3e1d9894e205a986c0f3a42a2179914bf62e6440d685228724f7edac18fa6d148e6b60ca59ab64c771e55196739cec7b3fb626dba16257ce5afacbcf7518f571376c62ac98b3358f3fcf3635e13b98608193bd58d4b24d0c9f65eb8cf9b24a8a9cc7735584c8e1b491c9312a5d6ce67282ffcdbb0731115dff930c8982b02316f9bc9846e793ab8f247eb51e5acfdc278031d0106f5b7a1152cb9495f57447143a1383d5890ba8f5a2a6790e6730ea3c116a77d3a65f2331f3ba176d4871a9b19209fb97cf754a8907f0962477901d8d2a1326cf558e5f9c0a984354e4ecd102faebc584dbc9360452c7f586c3d5e2aa930d6fab1ec08770379813fa4d1653181e779f2c661187294c7f7938126706d606f60bf4f3d71baec1bb510c8dc443433fbea5e98763467d1cd7b82efc7c1850bc5f25b548e9004a9ca289b3f014136a31040af611a5acf7ae3ffadbe3e31562430731819d495f7d065b428352abd5b4b6960d99612a40ab6a1061a8f74d5fb1e4b9ae17aae3967dfcbfa6f55e8ef03d70ab29612cf25517d42cebf9b6ec7feede69d7e4286bd5ace79249aad14228a17db92d3a9d7459c45481dfbdd4536757554ddf4868a10d3c2f1e67305865c8bd71c229d7ebed125b4cfed769dde7c8281b07ef41a0c8f1b7a7907679a880a9d8343a1129bf7f46bdd5460ef4dfdf0b151d6c88c00983cd113d091378a4c62258960bdecc969dbfb8d9de535e7eeaf1634f59e46a3e4d22df270b6ecf94744cb1279de384d68df503336f30e0c8653533bfdfac8659751a7db2778b5d27012265e48450bb6d6330c7473477377bd3f3278df1ce361a2cbc411f2675b0c21207f0dd0397e6e90ebf1ff85f6e92233d34963a4a2277590537c74aa03e612fc0939ea64a4a5821ca06efd9dfb6883cfee017bcbd3a14f902e4c0e0874813983380c3be57a9e72fd2a01688efe0194bc85f218b09508e2e4415df3455e7c125780ddc3d0293a2967b208b0f6bc1a04c997e3ffbcd878f4a739a668b6c27b2e639ebb13dc47cc8281ac75f02acc12aa3c7f6267db1af1940607f2891dad1e6678d651bc9a6ec7dae9117fb5997ae83fa32810e7d3952cdf31a7ea352d8de594e55b68c9d2690dfa6f9e82bf61eb3e6ea4d258471280fcdecb1ef5e4e15683177ef9ffb9685aef4b703ab186beb2bc4b1db56fedc0bf5aae2be9079bd5134410d9725a45e8c543e177deab454ce5c4d82d40f3bb47994e57d20c303cac7595b86028ee8c3457d0a0bcfb1616f5a337e6aedef8efcf84aff3dd34687b8fdafcc332f3f03f08b69302f8307b65a6550dd775f5137b42af415f42d0e47fcf8a5378b1a5d132ba645d37ef4ebf712073d7f423407afce8a4671b771469e3c2d195d3a5c035d38915735393bfcd91a475d482407fcf81d4e32c3f7a24745ae8e7fb38f30432eca29392c3e70bb0692f3e1f573fb3b3fe49e29d1b0c87596618b17766774c042f3a9679e8177f84c2a1f455fca634c706213494f9193f8246a2e16abc6ddce1ef85775c3a72bc1d650d851352f6a2607acde40eed810da4bf5758d6cbcc533e4d48f8e738885eaf9cf764ef2d912e3aac4e5377e3852c946914605e1cfc4940a4ff0158861ab9d912504b7e092a8fce9279555f629eb0b46499662507330766b89119f6ac84165420a3fe7ea238f9a25010aca165ed2f9627676155aeb823005ac39fdab85eb3d8b9857fbac31375de7f9a49887ecdff85a57a19ad9ebc652dc19d6b99c4a45390a8c28d087eee6a0feb860d0c79a2ac8a9766362e206a0cc11f4eaad95a33bf20562a2185330f1a8219703c24cbd4ce73469173e8cf7b01b425d2b85cd64bb9155ea23e3c894c5ad37589fb911d221980ef5e49c9bede12afd4d83b2ba8f6ea8a692a8b1e2293ce0f6c4a03568630641945af8a8acdab4cf6f5043085bd0f89ca3cc228cfa9f89aab0a7ce0b155816bf5100ecbc93e4340b8e6697b8e4228a9da56961956810338dc5bf94ff8e18f0241d0104a7b4a0a735062f337f25e292fc686940cfeb1cc5a0f7d911d142f85db51eac091daf2c5fd0cbd5177a01236213bb9e8c85893ab9f37f946bd9822d176bf4263641948d863ed1284a4b1b0d6bd881fcbc298642d61b62fca740a4c7af23d260caf5de3bc962bd3b550e59a2fffd38a9895b66bcf8179be892d530b6e9a2997f2d175181d138b2705bec1531813ab7829981889b2b72d87b1a115785fb1614aeb83a7239d376f545dd5a049c432bf28c20d91eb237d906945108c4bb21c57b66be3276156889f747c52757aa09c93283769df21ac681187675278bda0303700ff761201856836f6044a6a853819908371f7216a49fcd106ca2c7fc9e7a192c217a6aed919c3f44f78f502a6847cdcfce2c63c38e8c8babd00db93e6d1210cea072bab1e6197972a37fb3383ba62c6580beaa8dae0faf3a6eaaff04342e3fe6f80188aa8ad1fb24dc43d7b867d087af1a84b85a4eb3e3e2a14053b5b4f982c4e6b77a49e621a9832777512e021c56d8768c3799c55fcd5a65f4fd2153bb155a0e25d002f0be234bc694906ec909db725de53eb72a99aec207ba2b6a008442f65da6e77b270ce64ee6d2eee8a7d8faef918a72c8842f1ab87ba46e60757a8f7399bcd6191dc2910cacdaa79567dcd15f594304d18ddef26f867b7414d9731026d9f9503cc64d50d4e53dd45de56740bfbd544cf0a42ff69b465e68902b8497006636cf8b29cb06767097b321d01b489ee8af6714d003d32eccda4b162a2f07104edc28eaa5452a9e57b180b949b27350b19d8e16600c61699b942c59ff9ce29a6861bf705f74de73f32e89a9dff8da3fd83d547ac03d2286678cfdf5f751180906f93356f729204456fc32456098bed2f6cb6983649d837bfa3056d8ee16d69f1bacb38704c1354184d579cb9f53c90d6fe6d71b33fc88fd3743733cec0d10e20181a1be051041e062aeb9df0a1a81b855b96bb5c9c10ecef0db7f9b010c76e56132721a3289acbf6054e1548f79f12dec450b361f07bc0cd2ef8cb7eb3c6a4a69c932665ebe50adff7605aa7522d30c61d37ded7bb872dfdd514e971b764f04899c6b9b4199371a48bb1b5c4448fbf87bcd48340f7aaab17692d0fd86f638c1126e24d8356ccb68619de7c3417be2956ebbdd8a6e5532b310d5b826e142d33590341fc32980e06942daf28f9682c4c26aaf0ed511231a156349bdf6d6b96cac37c294ce0cb06ae620eac558fc8c2f9ed19be47e8c6285069eaa6b0916300a6b9bec5f9676b4f709674663300a3778a1278225c68fe830cc4dcdf8c4202104efeb60f47313ceec91a4ba4d469fa18e460ece9bf881ee8664a0dec9b27e13f82154d8e0cb9e1b74eb8ca81aadd90e455c2b57262621c8062d3a39617a1531e153216d8d6115a83b7998b47640777b41ac613040ae209d202176be3d2fc3d2560e4640b95ce38847defe7f824d4010cc201516375f7181b705b2bcdf5c22eb5be39f6cb58eb277dfc94412c40218d22e8c1b5947c86b75d0e7cb0a0099cbd277a0b75c18a6c0b6f027b3188c88ef15c2039dbcd69580998bf32024e3ac0c4ebfb949b02b84c186481e3b6ab4f53009d648ebc1aafec5ed6339b6ffa9a22aa279df11e2ef53c4063880fe3556c700ed1911b8cae79ce725813508c1b42a79cef73a3081b0ee830adf14a13dbf26255e3f31d142c69101f256280bfa1e42ba8d7e2c671355c0c7a0987497810bef129c9dfbdbbd0ff3eec4e75c61b072e46f718f79ee767ecbf5e5ee2f3ad299e5e5c7434b5c7acea9cc644d35b3d08f616090028a4552db26a96a12fddade49d832fcc9ef784646d4c3d92223745ecab12f2d32f6cc501217201375f50bd9f81c293a28404b642d03a8a5923ecfdb2691f099deb403bf48f307de4384e9c3fd71ceb19c23a4be8ece4f9d487c5dd7ffb943935e15e6b595965d79fa415a60f4af22bd030f6c0f9ebe0265360f76fb9fe1f346bd3d55e93e22e8bae61cf886877a979ecc2c42f35c6ceed94862a6b77ecc286e4b2dbd97446921c8975e39426bca25d73049f47e3d19520ff288300824b083377c2cd6b3ea88a511a12ccbf04e16622a19cd7554dda2816c7f833ac284f6174b3290229e7f34f235daf05e42ba352e11a5acf0f3d4cacfeb493ff8f306337309f39600579d75441c32af6a26d0c1ebfc3e738b263aa61b7b3983568b920a63a6e4d9f7ff9db23e7becf9b83db023234533f5c96d4592af66dc56f41a18d1666f13a438ce929c195d93db46b26197b85694a7532c848f5d79d18e859000b3d24962c05edc35c12731bbcc63623f101ba5d7329113a54c2fe9db71e77f3f83b1f6fc45111a15a0b42e02f84bcd425f4586949815e11ee8037c98ba7f0b7577b96f867e8005266a249a1208f5f43b1e5e887f70c55f6e73818b05233e4f18e223969a73a5b960c0aa66b53c8aad215dbdd3f43736b9b0bbba324d91245e02a74fe4ef5b9ca9e301892a45d0e2f1658036326037bb3df8b5a17577ec3acec2a5567eacbb734dcb879d5f96cdab4eccb7f7b0e602fb3e97a0adeb691e15cef8c63ea978917dff210d2b52cdd8d453a727f84cdeb2ab530834813f398654be820acc8b4e60379c0a716df4f684d89e53f0381be2ab5cd245d687d7b3df9e3f26f0c72b96e6983898e4731a734ec46be9a8a5d12f6bf8e62d4f83a8ccacff3126485e4c90556d8b0d4530e19fb6b8d1088a5ba4f5f60b723f95759d09d6fa6b69ff077c03484d78acaef1b007d3722857dbba530e717ebeb477fa0d5acf8197f2f04f5591ef4cdc867993dcd88b8ad9490b951060cd7e8c5080790189a901b00dd6d7267a9c4ed41e3320f4e049cb76d6d125735441948805868e3da02b00ea6eab4adfb397e17ba8d69b25a93d41eb07d9112e3458f5308396b7ca6f018309b9634bfbe523a329a37f295a1e94f25fe682416e27c4177fbe0b4c1d0fc33e69a75a8f3e90bf7523732bd222d9489997fc26dab1194b1474d2db7538aca9ca215e85a48fb6cb77489aa634491f6002e37486f77a349c100ecd3ce48a7dbfba55ba1e5453890ed91c5709d77c38ec65bd837fe287a7ee3c16de74d6b0a93a7acf3ac66605e4b366c8733eea1bedfeecbe2dcc72617daeb533df62a6b72ac83544b2ec223ef8abaa4d43340c748ba59d6e2e0641da3215cccb453a296a2d176d9919a1eb0ebbaa47a580ef53e3e5230c660f56b86b3bae346d8f9779a274a9ad161d98b8c55a0775077ff802b148a9df2a38d34bc1142cc7031e350618f57bc10538a25564740b8195c6a93970cf921cab5fd0059d0a3a38471fd6005f41e096fc35e481d4719608f9fd985e60b324a76832270258526d094371b1fe92f62e1e0a324e3b21340d3d175b97f93d671156db7a09a35f0a9d3eef9036e4df53e91dfad48c3bdc738d9edd7ca5610b81180eb55b35f98992572da8c090e630be927d0b16bac002ac9926d1ac01aa6a6666e7ad537f74bbfed1b1bef5f1406056dcf818ea1474826d5ca06d785939ff55472ead14ae71807eb4681720d2ce326e4bdd27443dda1dbc4297d5b0f8c241ab32033605c0aae7a6a1c7df2c7175b3735a027698d50f1115458722c7c4d29b1e0520f53f34fee403fb239cffcb599a6793e8633ac28a11ad541fc3086730ac8452846a1c250e3fca7c365ec06de6e6bff7156d0e187060a726bcb442a2aef371de51e3e19a6ccb25c1189f8a9003bfbca27492a998036c1fcea7087e45f4b867f31e1bf87a1f26357ff7c85564216ad09b463aa1e7a40621b514a9dcc27ebb56d753ba6eac4b72a015a466af8ad153009b93f59a9d302a81a4f8a20150c02f24b7120258f5c4be7610051cec8e174d8fae9c0288e4c2cf6062eb36cd062c5e8d0807d57f43a8081c73d0329a0a1b891727f6ef5742a637eb6c90bab0aa2b698fad6ad0577a52829ab6004961cc43b018a299df408bd9a26f41fc1300ef91252d436442467c5886e8e4b0531b6e20c47d3090d347d02bbe2ae35367f79f67bb741ce7401033c59bc00519f2a61d3a59abf5cafb08da5a55de3f37f7ff38bf3f5cc08d051739bc336d36f23ecce48a96c119fed113a85cf4c63940cea9439da69f325d990df6611894d825c59cddbe1d579ab890d1aa61cae41d65efd9b977070750526e849406c4cfe5aa8bd8f4d9e56f240f8631b32415caca7ad2f659e46cc4ee7b1264c4b98dbab63e4566e64d5f3f5ba3365e655bb2d1a1834cbf05009165ab4845c740f76324266b34d0acfc994903663c86508daf37f494cecc1f532c955dde8223365aa8abed87b031d915cb865dbae62d21be241da5be240046a3a8ce9853f1f3e8636c7ce1b488d851ce96689e7c59158ce9dc556c0cc41199b715b4e3016395bff10f52796f75ba289dfef3fefcfeef00d2aacbe4c01586e383c9a8b7ab8168f8074921909a3091b5141ff025aa4cd0aba55be896b0e129d937cd79e66fff601e597e578f221324962257e82fc6dcd9bd40463edf4b7a71bdcb28e20e0e516bda8f0f0216611f0b463685d5fe04d6ad9c3fc461c46f942e8cc14209fd6ef207e8f50ac6ca32ecc0a25ef87233ff264c44e0c81f9e10f54fdb2eaab93b7b9750ca2dc87232250eaf9dddd8a3774ded842dda5f66ce465d7ffd49351d33a836386e8de823509b625fb0d20a37ed370a1b9ed2dff0f8a928b7cddd21d5d22053b35dc34520d428ac2f0e4f36bc338528154dea30aaae5603a1cb819b62ade9140d2aeb9aaa5fb279864f146e81b8cff9653d054ff90777d172ff7659b17ddf55254e9e2843c7083fbf26c36516be226ae3c6fb896af6a988c081febc5e3d7a2a0fba7e1625f05b7d1b94d79a7c7d1cf272e3dcea249619854e8782569247d7bb6ce269fa169485e6cb2fb0ee245e7c29591677d60eff308410b0ecbccdba93e88bb99894db61cc6707c8a9716cad2d87f1514b08579c311038f3b61d446c30f27e8aa4519a6f13aa32f4d042a799013a81efceeae0cdbb801ff6d00c4243ac71972853c91ae9d5cd6df7b51ff41eaad1fd706a4e2d1da720d5b674e85c11b7f8d307be27805efb1687dd637a658143836919b39c5ca72cd23765d777626f3b5bace827ddee0c86620a8a8e931675b8bb76222e74582bde0bb7794dc8f1946b61bc6b342c689d3ba2acf30a35be7924b8df8075bb4c7d478c8a084d0c9b06684a28d1d3a783994f5fad9225bce564ff30680e6660c0157478ed9fa039b7ebae5c7358dc8397d2538bced4a1f5f67f97dfe9ed7893a5a6fc30a58f744800c31cdbcddce4f8fd3875a98c2fee3106e948620e3b7e2c78a8ec468e6d978cd86e133aa22e1d67d2d78887ad084023bc56452cf93407f4a4c83859e4b7f844c175c0ea85a8e84e7afa5f9d058d4f21ba442449bc2489cbf06dea29daf8e81510b2c4b88a6304c6b73f0e2f0a89f7eb4ab87182b78f759157126f565da16587f2f83ff164849a2710d3a85717f58ee1550dadb62bf814cf1ca95c77a4f533af12916429bf4bbb1208a0774bdb2d0e8091b0e86ccc9ce8d8ec28891b9312895d4d30b12214d5f952d2a03c4f04efc60c68ef6eef5d4f918c4103949d71ba60afdae1028efabaa87221d53ca7e4f58db3d007ee53dabbdc7e6951da64384192cd3e0ef2789e22cddcec7e85231df7fc95894b2f1e0861674ffd6be95b9eea70dd74909581ad7e6c9a7dca184c02e03615a5df2de73426ef13ce6ab5e84d0c1bb685fccdc9d6740196540090fa2357f357fa3e04cf6d5e4e8b18f32ca948270446bd94db5d02c8afeaa9c0064a209db060337e6a74702c11b8d456d60848a9b781391cb06c56f17c8ad5dad89239eb41346cfc6650d91a2825e8f4957977dd6f37d7e96c88d3895d50d81f80378305dedfbdc23948543b4d0d3643d99a226260951422293b84814c5cbca120447fc12aea2c5a51b123e3317a4874fdf77deb5872931fe9b2a3f30eb2fe86959cc8a78298935bace6ea7487e3ac9c5d479fd446707febc8f9a225279d3b7530046e65dfd1ea5ffb3c114bf2b0b859ef1f7317b0287a1097c50874b7e931cffe4e0aad9068848830bf548ef1c370ecf1b86d3d1f92e1240f0b6017cbeb510a8a028a82a479b3b254833b3a28bbee9bf061bd041a2438228b6411c26d35c0fa2dd74858ecf0142c72140b18e915848d1fa8a8d28d9e672de0ece3f3d31f1939be675d75c0b1de0a6134ab4738aed9f93f1be202d8e71d06ec001246439335cbfc870c6358054863d02224e54f11f10fc15d58dee97f2a13c07ff667e029a5baf1ebfd7778445f6e73154836f5014a32319c34901c31c1ee218b230b2efb0c8c45cf206b3662bd0cb0f77a1f485cc2a4d5d708db9282d65c81d6697332d6c2f1525667de613bd181c9ef84623afba4ab5631a1e2b550e05d4a1ade1b70eda17b45ef22d4a87daf2b4d335980be12f5ddf9ee691af5d993a34a0dce1a8bc9869e4d59cf56f7bc10ad4564313023b1324e9bc9db3b0ceb8cab59babc2a0cdd38dd1861b3f94a2be0435788a27ebf0ac64e3db3df7ee2e0f01ff2fa37823529d57639768ad0700acf710e7bcb1d1fe7bed0f755aee555448929e84b2e4dd6b981abeca5f122592d462d0ac6a32d960cf2f6316fd938c13f888b345ae1742d63670461d4050b0e437e484e9b1431264118983d2ba28c1caeed86ea6869e11ba12bb3e0bb45b7b7913b8583e749de00d3aae8eb0b545a15b2889aef5e637eabc5e825718cd441d0c746e542422858b79e879e2143a79a4885a48e96e6f6a70416b50a239da6c1b7da4bab3d0cc42967341171081e7ad52828e9d529ad57916be811240c7865786c6181a77d955810c8e549da257b7b6d5190297f472cd077aae63dbaec00774b03036afaeabd50724e02fdd40bbe3a157d850bd4bdc604e71c25503b39149a5373c4aa1cbdc6db6e103596fd509da729aa099c38f5f1682cfc5eec07e2daeb8e8770f17121fbaca8258238578fea85d0037b8860d1b0b9202a8f491abe928fd6500da4296a1d98d97c967972c9ae85728349ad33ae571e31944008160a3da57fa3f867e80bb1f7e198a5a8833fd3f552d4d86501bb846bff82606553a65b549cd00a692889f08b7bd85c5580e4e7425683e6ec865f834895a46f570272be1fc39073abcd146f7a6830e5fc30ee725d00dace2c96065e09ef1ce996ccfbe525adaba4a8630cdf7fce2d20b244fb8586b59f34e84868cefe3df1c948c9f49e3e65c21fafe860c0e59ccc978e982f5341b5407cc13b0e331d42f0fb0e89e8bdfe32f24af42445e219a1e721c0278e98d73151e81686c15327134dc228e62f4448f24dc0f9b8e884f02258c3f66692f9cab2d3222c70a8cb1e34d5fbee1f7404677d55d668b09df2d5a977d13e92a679057ce75ad5199e7ca08aa93b16759aa7d8940151690e652a6abb85490e1ef72a54a4da764bae06d63d9a94173aa61094aaf0689f70a7cc80ded1e4dbcebd6c8959280aaedf4b16d79a051a4e14e50d4ee73f4b9918dc03481bc9297129376fef5961f5ccc527493928e9c764bbdaf995b1c15e9ffe24ebd43842d33da75504c52ed15a524c07753e5be15907a775c7f49cf9b636bdeef009cb0176879063e314a3cdfb124271a0eb7ee128a775f92935a672a24507db7d89471698aa67b4be7aedc82a221c8ed7b4a6b04466bbcb1d900d7d6a2daa85662d0ca0b6d88a47dcac8293b5d87f996a97b8b793d18ddb86e15bff6b333bff467450ff9dd98e0923f9428622edf1f076a99a3175e6c6b8f99875d1ffa361901070040962fcce43d46a9e1bbb9d802ef31ad5118f501f42a43e88e571430138744f3895f0126528a8873273ce2ee2ace6aeb7417a3f9286e75ca06e7aea7eb7374d9d2f90f30cbb04b5162e84e188c2852f579d45a44f64c6100de9528fa4dca3411ebcabf26f07b1896c30f8af4f7b8414b06f90a764c6e0a1d026e2e22d1ab067fce1d6a3564707dc66d0f538bfcbed99978923f906241515359bef2ca7ca82d533d8d14c86afae2f1dbd70299658ee469501503fc48ae8f4b5a57c908f1f67d66f07dacab52a9978b8afa4a1f8d0874accde5079e7a99756827046f6f15bdc941a8c7fdced4361212ec331f0b722f410389ac62980fffd3189ac84e94fa7afbe04b151921de78b9792780cc5445996e9181b59c9a67b7a263af3f6a46581fd4beddecd511948645d6612cea3c7580778e00fabf28ba185761dccce92be01fee4ca2cea8d1cd86f6d2cd9e03c1663e7e6dc4480151c514605c65929f16027c8b3853217ce9eb176ec5e10fb8eeebc1ba602995ce8028e29cfdac782bd68588c0c3fcc661218c457ca16fc96aeb66cce41f75e6a4030ee527e6e26468740856c46a7462fdde0aa77333034069ac7377c593c88d3ab7d3b28f274b473551ddab178ba3fa8a05e84809988bb4c0e7bb339d64625af606ce693f4f7b9ef646b140720e8994c3bfdaeb057c6b90e4d9a6acf1b42867aa337f5de39d42bc4c423cd34ab014549e3b9e9d4e1047105b0195c62cca9b31bd91774868f7169c7803d3f607cf37852c5d572ca1f0b77ba98f42d6f3659781c3a375cb614d3eec0f10a36d08dfdaf11f3c8a28983bdb019bd5712aa6dad1840797593389abfc767efaee0a451af3913a489c552cc5c61bd53faaa85719c3e8b119aea2e632cae47cc5026a7e753c464a7bc21b77a9e7f0a7c85160a382c3875790a0ef8c57f3a116e2625ac19af6ba5739ac2372b60b54667f99c848fd920820a18b95b69140475538860a8e8034c2ab7e0f38a011edc2c38c07092d6eada0ee36740352e2f58d5f3fc73f00b7c6ccdc491417b82d7fd76726c5094cf65bf7005bb9f92c46315b1b420c467e1dd736ee2f7a3da7636ad225fe68fc0b1e518d6ff41860423aa3e820e4f8029a3f08ab65f8eca81941a6e67e14005abc508010013186b2f431b2fc95bd1bed4249a31f7d80757c98d2f0066248bd555af31e0d738c02ac00a15fc6371a80565cf5585ff1d953074295fb50b9812ad6f26935d80c2e3d3165b01d7e4b84e4b80e31ff2b6c5aa3b11777715ba80751e3e5b717ff0b53f4e79bb76ed2f716317dc7505e29d30455708b6b4ee13105782d1af6bf8b34868390355ec37e17307f4e3a626862dc28f34be4d2335a5c40590b683c2e6593e3c1f8fc5c786689e47ecdd22b20de48ab6c364e47b516b2fdfe99c1777de77e5c938b3e4072a8738e444d8c48c660b4caea5bcc4ee97432845a62fee135b22ea94073826be1f6d48bb7a9a08ba3344700cdccd49e9558e5a068e95312f4f7ee1c9fc614f02e4c52de625e0dd6fa6ea60665f05025ba7755a4783c9c6562fcd8b03468c27677677b5ecc2463787a9d5e1a4683d5b28bd1016ecbc243875ecf8c9572444f51030926075c2ed341a1df0e3e39115e895e3c4ad8e5aa4675f5693d0d1ec7e937303838b5f381e65a6d570751a70effcf3bebfb76e6f8bd888423edab52d5920708265881e10147afe0c2dbf5383503ed08e35d0e2c56f4265f58e8775e2c5e453fb1854c53a56f706b26ea466c1f8fd908309ab207e6cea796c7f15bb56cb31f0495bfa8aa9c1d282b6732a7059827960aeb5f50cc5339beb7b44c1c70588fc0c8a5201226068dcc9052cedf25bbca3d3a4a86e941c023edc65b33366b46d2c478f22b4f6b2d341784b61ddf122d9891a0dd48eb94b51f2f189d5d8bfcbc16ff2ab924d80e9009a81bbe33e7feef7922bce96924ab727a1c518591828efcf0213fa5bded6c328ba56c8ce10b4064a503e5a690af9c4f0acaf7ff62eb066e3ba58414af12ae94935d2db1c8e9091f8fc12e6fdb9c80d184b72020eeebb4f52b0352507a67331dbb8d672dad937d1963e397868f0721817535b17c2e1e265b3727f914d39ea0e80167252de53e17f3df2b5fd7c758a3c39a9fdd2d73b18e87c77860375690edcc578390877711afb5338871abb9d264279bf513326fca967c8e56c713d4df29087eb056eaa9b40f95b9d88311cd13288150b65bdfae8d670f04deba48d27de0e4fbd2739168a287838c187e628df7a4ef33646ff07e18db4e073816b999ccd2e20215e0124fd7cb05e696768e021c263d79a8c59e11e43f197a0a7a33129dfa13c36f236ab6ab474192a2007ea1c035f75cdd647f42c12545c1435b9557dee82dd37df5cc0c9531b0db17880a8f7e9d4f2bb96626d2cec9b75ad2bcccde2a4e8b8f40751a9ae3f413f080b4464888f16695d841ae81f1cad79abcce571fef8e3896d18ea276c3a46462bd58384cc4700d568f14576e4be952ce557eb7e1d64715d31f04edfb2e9f075fac23ab7be76f31cda1fa8d4f00f61a5357298c9ece959d3b0ac1487d89d234cdeb0782481d133652a8b166c794e8d800e02cc472eb2e7ff85df30dbde6b08fd6c4d906d592bd57d3ab220f60f7488f991c6a82894699d191efcd734372c4659d8f1e07446281e04267c8ade324cb15e420ce39d7b9f98999ef123460946bf27e0dbfd5adf8506ecf7c6552df4682af68d66aa7aaf95345cdb5909e60fb9c2d0c4a68e4d47da123a07d36ba05d907eccfd51bff73a4f3c91349071096ed84f88421bcb421294627cabddb7fe650b9a9c26f962400fa48513622608a15567ec86dc67066de137c396c4f58e674d654016ecf479105d603d04de247c668308013496ed19eb6d37dc386ec4f68e72d5bc4039bacbf9818eab9d297ec5fde7b12bcda86851cdc1f899bf22e7e033f8aa43ee7136e12159650c89663ef593226a9bc09edebf89cb29f61121db73de4eb80f7c7cc2cb70b1f2024fbd059d404a1e931b8afacf298a105e6954f24220a699be63f19cfe5237b53fbd9cebb40f6a09dd42e7e3367fc0fd85d0ecd2e0a403d0039ec787eab00902916cfb5575d854dd032e7bb72071890fb475d2426222a73c3259b909d9e28141b87fb110be4b1d15c9a7910dc9db25a5eb9891be6066ccd6154845c2e8ae81dfef6b1a61c0a95b1c7981d5823ddc6f6adbe600742d893818e63450aa6a7ce61d1409d6a0708d705c7054fca9f6be893bbc4079967be1401861db2a0809397ff0f9b143dd9917ab91e131078ee3d00fb007b9348c6f4dd7113af119e841094d3034eec2eb3b61c5fb9d7f5f5f90918d1f7038e14a8f7d81de85087a53b97405cfd6043d8fe38bcbdf184d623185ec16b12863cd4c8425878989642cdcf2e8973a4b12398a21a0c70bf56c1368d5694585e4e457c754a74abae6a36c65617e2f220d8ae0f4b399fbab51d1aead0cb4be49acb7f6af786dade2297f9ba77e239e945d1761a1df8254c6aec6398bb53eb69e98edffb5346dfbde7fec24475aef90c9689fca04bd327e0844e09e8b7e2c84efd2fe4087706681bd87933d9cbbd7dc15fc1a3ff5c123b73d852cdf84e540ef47867883ace18d5f481e1e8e57366df93f8c8d6b77ac4e856f96938ea7309e67ddb42470072c963ac529190112250ed169292da88babe24125b1d32a8bd6820675e9ca7127c5c5ec14d84c0a7ac744e7dd55fe33f5e3dfdacaa412af2a8a0cdee79afb575742fc4d40d870bf82980888b897088a882600fabab6fad11ca9c40e261dbc789b379f0e447caa33a8f9814bd494fa623e42510709beef91e8fcd3b5cae38f5e2e85b77a9f6093191cfa583abdbce3f122ca611feaf929eab441ece451a71f1b23062cb95ec75d56955ce9dfe107a41d632989b969f33bfcd0422a018e965ea6c593d7cc1ef0b8461f3dcbced764ffceccf4235d66fe32a8b11e2386901741c54b53c23b33e14e8ccae787e826fdd9d1ee308313a6a2d7571e4cc8caacc11498a45d98fd10945d377c0f086c76251e28722e7fefb6b8d5c22fd50760bf404b5865fcf14f771bdefa013c5d510712adc5e6d8154a9d1ddfe7cb713f7f31b9fdfedc7b8a372534f1f022b48afbe44cc51da1ad8207b655c4cf2e292ad8b15565f99a904503b55f8ea65feffa135a375c780ae3b995f2dee8f7bf1914b7bab348696063730fa04f02038e170fb868e95582d839c84d4b0e07b37572360eebff9610a1db4e3d3f5e21e7c53e6d4ecdf138a1ac6da1f079663e552878320ccb6f2be8832363848ced527a7ef6317e4060e0978e2b9a2b9f66413921110c77050a145d373d46f55b5ca9fe07a3e359670c2501600b3d45c47af11bcff5ac149e0c8f129255be4cce601fa96acc09ae9b68d165ca6995172648b43ede6f07ad0f1937986256679bdd07ae929d90cdf5e525df19931ef96d8fb0cc8af610a3c8a1bd0e28c666c7ae6be62462fff4671993bbf6e92aa6d1aa945c67fc18c628d3c6bbee913f1c19c7e6a71644cf8cda00bc75f30be9d281994f9e1821fef068317e8a0dee98b15c19d3af3fa5b5d3eab1d68f35e5b3ca08aea8d1b39f638dc024387e677bf9df1b45f042e87cf614f5356749bd57d74d2f54f8a8983c61f599e5d591a3a1edbe67e2c77e23d9ea8af4ecdfd67fe390328a2d7967a2d9c8be80305ae21ba3834eb215bfb558c94461941a6ba6944250d2d87daa927ca0acf34f757e7b2051844d9b6b2efacd85a2f89078184a65446c749791fb6eab3f3c2b788491e2c188e270fe3da031d75432d91d64d508589a7debab21080f1f5ece4aa93c450679516262136ebebffed9265eb125b998d7652081e1263db63de099dd318f201aca1fa869b56cb7b259882c2ecd70e94b928cb1315cd4554d2b5e8d17bef5f4fef1f2bece614ed131d602c8a584e6f3ad21ef03796db1d1ab60bca06dc9b3a847b5d9cd3895384fce89a562e9a550aeb393d0cf5a300105d7bf4f53974e67bfc0b7cf947e84ee2b56fb63318d082c9f85478a8d59b05b736f9ac97f3d46beca0cce5900c708a8bb24b681d80a23c656ba88fa0062aa2608f2770a9ec5e3cc4bce6567f1d15ae9b923874acd18bf8bda461329c2a4a245faac33cedcde6b111bb67ea4a760349ede9d3fd39746422448453d4594c5dcaced2cbbac72bd4e3ecd4669614830f1e94d12e449118c9f64efeef9d1c9e061e113012daf5563ca203e211698510f8af7635a66bee2636d0fbf71c716e770db74c6cfb8acf02c59befd883f8122a3adb01a2b73477fa973fc443cc50d42c369c6dc15281be16715cce617afb5f85e8a5318e96406fcc53f68530c32d5b404f0fcf25985f3fbe540bc6fe7316d7d8af8b225c09f21b11d324137004638eb646d9164b62ee9e56076006197506c5cf5eac43311ea4ea718290b103c2673fcc332b970c1cf1b495692e95da63a1f5ca0b5140a9f06f8386082b5f23bf1f27163391ab03031f40e7d3cd2a4c26441aa79db2e33da3a6485db01125c99fded7f48d3d9b9de95720cce28d1e8fb3321fe945e4f30d4578a3880ff45c68bf6d385758f3b76e8c14c9929674feec70ed4c0ab45bd370cd6149990c53e5fd904fab68a1e92b7c23dd55659112a2fd18d2ddbcf7a538fcfa16b7ae65dd8041b4bd71c4d3054380e41e3ed3c855ad0c77d777d229febeefda3f7785ed24d7d288f84e31f2ebe1984fa3a5623f7a8165cdb2b6ba51330f5d64df06d44808c6eeb254836659509cc91ea50c746ec5e9c68934bf991acf420044730f3d8c8ef75ea2d69d67ba49f0e0ff0544c1b86a1c7bbf96dff64f2b2f6c6ab8f1452b89ca379a47d6533aca70946a27e818594fed83e2a09e63a6f8148ca437d28898a32f228d3000d4432fbb965266cea4b609e59de2e5c638f24aa84d58e7b9eedc617c28a0e6a2d620f553567caa9acc1b9ee84a02433231f533522c981306de6d516b2c2dd15f542abd7672d5f6741df0f28225cc3767e5b498dbf42861bfde85d224c4da5704cf460c024d2dfceeb5dc60e09fd8633cb22e077a933d6e520da7c08cffd22a4b416b4a4798e80cfb76a1e21d1b2452654bd631cc7f385d59492e2e210192c49903786a0b137f123c882a3fb715314a2860069559248600b64264d84b07fd3c721941e8d13d843371020351fea142d5ddc768399fb1001c268574e8a663a599fe9bbbd63bd3e479a946514d18b269a2945eba8bf868b391c50e41ee98403ab04cd51be128fa3c920d5f6a811959b7d44fb29c6155bfd75cb88915c060556ec140634d725071fdf93853cd8f6704c5dd07a5a72692809a56d539244f9f81b2f564c05ec241bb6450c13cae541d6bb5db3b1018320744fac912842c6682a1d15199c132277aff0e9a61a7ab11fd962432aacef7bc0e38dfdbf1a72a27258fd8c3bc25ed62e52dc07dbb242ac03cf7ab3d19c97cff9f09963cbd04af454fec251d57aa127cc81a0689ff3f8d40e9f3c0c71ca8f3cbc5cb4163a8bbb8c33ef4f93d64a0692fbb99bf9601e7c0ee989b2f2d7e3c4dc5748d9497277862fc413eee32ee6d7faabba012a35478ef25d4714b57fca8057679a9635b8f295fed5a7213a49d0b9521b5c4446b829eacfc314a723f4d152b2ad1214b4170efc40c75de7a73ead93acb9d60909c6bcc6c8b586bcc310ea6a3f08f63cb0961c7bcb09b57497ba8a162ae5767537476945270c53c390e365c09af608ef2e154db1265c69eba600c5b5458d49cbbc3c09b28b735fac1503ccc56b0a5b26af38a91beb158958bd671a06009cdc98c8130a847a3c82787bf470bd03b26c5af5e10c5633561555b6ddfa44d25a63c0172fbb9328214bfe73f17423a15ae5561ec8ae052ed0a006b231cbb12ce45ed5486a660395e043becba21b343e11c21940328bfd73b47efa31214b9354dbed7db42ffb2adb5e43bc455d56788a15dd73b01c9bc6d7e07de47b7ab46909f44fa974c45f310bd174374bbf02d2cb668a070b2db8e4ce20ef8023a2496d90976a1947a79dae5de884b8ba44f1b7a20258abe97efc0e941e7413c9b753d2630eaa1f32eb6c96b4c91e73456cc2947b7bc7e222a4bfc6ec334978b47364d124a02d00f3ee8178aba8d74211ea88892b6ecadd776b1e9d9741229a3ebfd6e3dd3be8da39abe33cc2e2df7c0ec440e9587e5af09600f9738cb31ac8b40758f6a342ac8b8ce5833cae589802e7a06e55a5e98152675d204cca01f0b9ca396bd3a2b3be91612dbd6a8d89f62e732e6d18374b24b8246a04e9efff2dc3c50e796a957260263489c2e9381da977227ab2e412fd65d394cda41e5ce20bf0ae40af1d38a54a717bd4fd34fc9bd4a4a073055c1a7863f5635c38c4278a4c685a8d8dc9adae32834c56ffe05ea18e9149012b845e64d41604687e09c6f230a86fad3a73970955705163c32c1408e0121ed2910588d1e78d378070aef95b6cbeb4da6ea1853eb7a7641d7113df5aebf883be564a045dcdfab66e35cefb9803f1d5032897f714c1d08e44728d977caee80624202ebe9e6c9b8c21a3399676e2157aa32efc66946f573ca94ad769835ad342f15b5021885d71ef1cc1d8690e0ea2ff3e79a10efdb4a9581db118ff8d63f5e048b95a7be0d76946e390001c3930c7990d76502baf526619548c43035ed91a976613f409d841c21a0b8dd1c631507e31e8fbbe4d7f8968f269d5e34984125c8bb241630f20b3d4d8b83d500a2eecac81eff4dc89dbd2735771099dbb0fab748d372e82358f7459bb33beb49dceb252d39f0ab2ceeb8399569e5bd3225df972f9ce4850681f8261def9ec5c744c58a1efafdd1fe744b68da1c49ff22a6a048c68249638ecbb65e0f57fc5456391c86bda6246afd8f7a89b4ae5f913a29c2c72fd6b7ded65d4ea047434fa8c5fb6d0cb6b9ef776d59a31a7484c5f81d783a6ef9136570629c3e2c3aff3608892c43e3a30a33a66014c655f328ef63e8a9502e6eb55011e9b430c36856b5e42a7574cd21091b49f8c676e189f457fbc614a8502785dc291bf530fb330fb93f030b21bd217bd1eb0edb97996236af75af86bc607a92a0c2d5fe4a7c438d09e3b99a050763d1ffaf0929f7737e539a7fbf006ad9041a23c1bae0edbd5b2aed255e0e4eb955b6bc23297627205e6ab3a3d41304c37923377b67e9c7c0c8442f7830756f74f7502b7cbab8d8d54ea4e97e807903e2a7bc3228e1fe9abe14ddbca6975f451c7175a6178d054f67397b4a5d9d39b13ceb8806c36c0c21a8b3f43468758de1b6a7b9fa50b27c83ade0dfdc55b712049628f77a2573db7de3ed97ac0e87b1b800471150e26aacd7b23f5c156fdc7dc622ef17387a9d9654928eb7d543fd94669522d0840041e37868a6e86f772924978c162b203aa5142eab1643f3ee6386f5889f8b3f6f85c8e7a31f44dfd1cfed79eff8ba0b0e42fcd8c1c18e4e9893a821c1a9fe4b6cf37132cfde46f1245b94acbddc54db789d647fb2f4fa902fb6d389c27dcdcb5df575ec8cd4d34a88e35e47c28ffd7f25fd929c4412dd63191a2b794c4d4e50144516a14b0f843f44e5194e4068a37a8aea38ddd0d0dee862bd39085fd295d980f6e2a2fcc5ad4ebffb8fa47e935239a2c29869ab07a7e5d0c8dba5010be08703f725a27044474b7fc3104045fcb9d180810e48e2386b9ada77c5628df32c9d671d1ebc7917859912322bcc86f8d887c44935aa732f93f8f55a20613185a54fbd5a659d61954a93b51ee64f66c5f89d1853a5b98c18f1923f6fca406498d5b724c5216cea1ada103a68e717494210fa1a1fdb65910db63f61f2a62b2c32804b5dcfd33949e0daa451dee088d07a542326c93c260390f2e07933b20c50b6737179ba7e7ed3c777f64abfef2b4bcfc506ad61ed1d5088091a1f5f76ad929d4be47a4c44fb004439feb26abae13a7ae278be257edbb0ec065e2ae2eba34accafca9a903a72493745b58084cf3d0ecf0005dd734b6e40139acdbcfa13bed426c089ef8c4ebb009a16f6a08caf7035296be088d0876b59014b3810ebea2c2ad79bf397afc9ece7023bb7e5dc6613b143f49813be2494a851bf3ddadc74649eee38baa12858e6da1f329ab81f69a7efc4d7b8fa9832889215f83a53b7b1a814f8a46145c520868ffd592983d790af56c4ea53c89387b970ad5e744f903a8941c40797aff797eab1652febc125dd0e2849743798cb46a57d103ccb4dd91fd9a0b6c3c7114c549fd0554b27b929c4b91249143d3e0512c2cf9a8da07d78f43bff90a1312bc415f35cc18b841b61c88bba9b8f9616eeb9268b6cbd4d880b774c7b1de10e370bacd2d55c59a5753e0b3fe1ca6898eb421592ea1d4d0fd12042e2047f07a91cac79837a47b8d29a0628450d91d54b2c7e84cd23e16fb174b250b749fa938c219b5350568b479497a725bb8095f26e5aaab86779b9066e1253d70f303dee8a80b2c9aa955f6b39e8271ccbb858ef735950ccf27cc85e674db244ea7ee5aefbab252e20201d65e6618f73e63546ce48822df0869dc49b78ffc46b33ba0429bda18414c0bf9801850f8a768494447470d17aca83249fd8a0ec93ca295591e14d3751247990baa1400409662510a427efead293c51bbe93e7f9536080f89d06f58dbcd55dfd2e169f4cf4af3a63d8183fb493eb355cafea4ab60420b0f563baa1bc301a617b1dde2e2b9dab0c5fadc62d31919dfa63f0732ba39d2476140aaca773637c544a47536a0b7860ea10edd565089790d9b59dcbd112fbeba4f1e6de82175a26825f2df5bbcc5cfc407e2df6bd459e3881ebf17551e4894bf9bb60c5b8880f62ac836f41b4adababcfa1d42a4cecd52feaf056ea5307617b421aebaaea90eb9f69c4bdef84e8223d5d2cb0baaec948dfe641c7c07ee48578c0987ffd2b69cca2db49c91e69ce0743e8998a326a5226ad92cf69af38767e7f6cb5f3f9e70532978d82a7b2f9628efb08fe85cc3080fefbd55eec06540ab00049da91e72279ebcfda6462145ea6a99e3f10cb537b669f2b670de40262a2616123f23fe6623c95a9677527d3cbf833f3407a01baabb3fbbdb20cbce816d0c3694046948fcb6c39a5d700a825f7e25d8f8471d5e482b2434322b2222d36067378ef2c8fc103e5c8043a635926cc5cb10a80fa67e690003532fb0fd8170284d6b30e5cbcf357adbf3ae143b27b122007a89b2beb0201abb28fd70b804b9ca47714706b0a37701107369eda7b7aafe9024b1f3ac27241785222e299f05ed5e3b2491facd59b850ffa3f35977dcddaf0a64fa70fd19495776a01fec99d4456c7c83bd26aed3118cc30411109f19afc591df78502d7539f38cd06d89632565b2b34642648c260ba74fb17b5fd8e4d874f9a5cf7e9315449ef5225bc3ba9a12392e74e9a1c224ead892d5bcce997086ee131a816e8940613f1b4afc47bd9a6b457effc8282384a521f609893cd4dbb75e7280f53be7e06810c911879106ebe4c16f7f6df22ecdb848b5c7ac34c2be56099fd27b3287881f2170aa184dc2d1077a9a3281046e4e578137bf43e61677c896e0f17c0ec9572d368dcb89eb47c98f2305043cc1216e95450d081bf8dc82e0f5c126721274a930f9798fedd1f957f59d670e79e9a67281b26638d35d0cc1c9f4c9e3f7ab73e4453d581026bc62f6ccb26d23c96c23ddb59bfc834d2ee21b0403992815bd03c0d8e24f48906822e30d1f826bb5d2c97f3315314dadd37b0a9f082f1224e739e4e392d0e39219432ca4293d2a30d829c2f2e46cbee46ade19a27134f0ecb48710380883516fd26aa17c83d429fbb41d5ab6086c3748eb36b1f84a8e4f2cf5e26bfd0f7d7383519d1a0114e35e9db8a17f2bb360b2301d31b321363a4ba6fbf71793c4c9a52fd2cd6679bb8d4d66e2e900c44bbf8eec511c1d08323a38da5478d7fe09d6ffe23843588515938f0734f4178878094e6f18aaee2192fd8397488cf583ceab326e50393123bd6a10e51e222485e0031d503ce908ac8359034c079161231175a05b28974bb554ff1c5c4980a0771998223d32574d283f6f4e7370c239a77ecfc155fd0d0324d2662532141636c7fb34fc0f9f2fecc76a416408e0af58e670086975b1eea60a878e9486d8dcadd9e937a44c281aefe75419771f6c5483c1388f65f1206b3097caa24807407deb9730651c1138d109af4980c2ab7be53d07a9e482d522c4dba1916d2e63cd96ecabb26e74977f328bb8dfa654405c1be165b81009b190e4273305a8569931325a65d55a6ad8482187f607ad99bbea066a32c7b5ac0f6f7ab6d7db2b54d7da969ccdf75c36c867a71b67b5822e7ab7bf606530fc69b1d47f3f09edd039b383b81b06005b6dd1fbbefa13747d4baab2b6bd8eb40578accba585038303c6de92bfc027ac20d2110c9a38e895b698f9f09bc363cf3b6f2d886c655f0d7f81395a436a455271368b7918fb56dfc0cae0288814e6315fe850c24c83dc29820e29602cd7ac83f2e68335229c221ded7e8de647405e59f4826d6e7595a16a80eada6d4e1d5aefc34928bd9f21d92e08dfa418c2a8024827c75d8005a4b890cb8c2b8b8862130d8345d7854664c8f59c9514dd318be13dc1b7c8600b79d4ca15fba61728c8d8e37fe1bd2f23835ce72849cec3325aaf2623bb172f3c3f1e7f007c0a6da5c7778b25fdd9ce9494bfc1451d276e0ca2fc065eccf218ff5b1c0b730f8162bb7a778ae3a5884d0692d8f7b755c7f35fdc2396175e364e30705889fcb412a42ff1a5cefd1dbd09cb1fcb3233cd68395b86d85cb5979de3d2e27c5a919b1963dff56b1d9e48f96d0dbde2b03f4f8fc3e88ca35faa736d2b9b83b975955422150e131f6251b9f91ffeabb6011120ed3815611dc4cf2641c0f48dc8b50f5955b28abc85669edab980ab6ae81c0651137903d79f2eebb5ab5f78bdad0ff5d63d7f2d51552f8e5cf7c29b990f0686f87ad70a08e1ff957cc2b8c284f6b06b2cad3b81296ff3acb71e8be61337e3acf3b4ee494ec4af2a9b1ccc02db09c0255786bea88f7959381ec8104dc110bfba146b97c7f252bd2a2bade5b97e168ea212d5bb0d504676f7bddf946c0db441effd128f6eb0dc438fe7e4319826afab85c22a9ae89186908d0a5a77590d925dc7bcf9dfca7ad90d8c5df16c7ae69d36c510353f82347bfb4a5fdac6f4670722292465a9540bdcccdfab4f8c6d2c2f5eeecf14960f82aeae11e3b8592a03ede2a9894e393f4ceb46c778ad5b37fa69f873a8f273e16a10161d5187ee9f4f0b6c5f366e7d3e751f7ac0c569fb58c15f7fd3c6813953bbf474cb1f975455dcd7ca4cfdbbd72109c680039cc9df794128520974a79b7d2c6a5ec8df38c545e8620808175a06a5028c7b0a477fdea62468c4b660dbc3262cbf8e58825d56673026682b98ce83255b1ed538804fee44634c604da09706d36d6ed174fd83bd1be3eb642c257920f10d3c9e0af2a58f3528aea02b3b72ba0be677ab6fb83c080c81bb9fdc01763c0ed8a9b8b131987534fa83b92f4afd61ace8cdf41133fc3ef131bc67e71f321c90a02c696d6fb09ecdd96ee0f2dd9f30ee45e88245446cf1e0e84ff422b6aa5bb35c8ccd08b498be2ada98254b557e451c8bb80dbdc8ed6bbe474c6d1a2862561f1931fee1bf2b50097da168bf1a8cdd60a5dc3071f889067fbaa5a13041f5ed8210d0691fa943c1f53d9750dcd3c1befb0a06cab34a361a3fb82f0630edadfa2b754afce64abf0256af704175a3e13e0ef1d5bc796b810773b657fb7461f463a928365be3d05ac8d0dc759a57b9b48cfe8cfe14a1a57789271a1614f7a2325821cdc79210d44ac55acff595e601bed3ad1a24fe2af9889b1db31b567e59cf2f95ea3210b0a33b41bf91403f1d17667bd76da0580f53825b5a7fe5771dcd36696b2d155e4d78a5611ee9399fc2d314b7fe89b6d9cf3b472a286d21bac88c998401dce500fda30c92aafa6f90584949c29f2f71feb9772cdce9bc4d5db8b302861463f27c730461e153409333a2e3bae9c4b7d14917f8d1d671ab4003a54de904e0251a0c41446400cda6827b6eeec8b04afdc7d3d7ec083d488f22987c71f41b924004293d323c3be7a1be277056a5ebf9ebd343012a4ea08fc80e908e13ffed1a8ac9ef8a463c859759206872b3ee45a19562b8db1fae21a08aafb1229be400cd59fb525070df8d9bcf3b7f5c434b24e421a3de39df9039503334c0ea32e2352eb2486b579ba7ca196169728e4917195e8e435257c830578b92ee35f0a20fda7d83097360a951d95dae406c0aeaaff53d9dedeeb26472ebd8db33a1f15c67d75a591b6dd2d5db71f794cc455c2771e56273d88310603742e0b61ffdc047564c0ad8bc2bc2081d272233b856b6459786cba6373a3ed8ed26a92ad8427eb68bc81b9a2a72f0291117e57a77d8859d8d3d5f17324b4ec7b90a03e242847146d4b70c3f180121a8a16ada6d729f7515f53568d4d780754f919b1957d3c3b1387fbce29460c6af24f7f92037e9347cd3b60ba935ffd77bd7efe4ec00fb1e9712138d80ea4b2f353337012e2657c347bf1df9345e55992017f75fe9e754fe0d62e36fa73d3f3af34003440d89ffd1a537983eba6421cecd52e7b3a1ef84dce235342bf261765278502deee97a0d5cab0847155d17043d1e9d72c08d7b66ca2b9adf9c383f55ad7e8865bf7cdd77d52c8293d2a2a48763caba0314d1400d4c03462ca4895dad126c2fc8368a6a363dd0fa3a06007818c7795011246f0631f33832b531183cd030e4fb53e93641a05a3cc2b13c97f3eb7a2f7f60ed107d43c416f1351f5322b14d57167b5c17f188d6ae2e538639363e12da7d247dc365fd80cc23cddd477a1512ac0f4dbb167652efcdabacdde5efaf694e0e32e331438e018a68566cd3bbda7d942e80d40499b46c42effd57a09706f9d1d4e9b15572d6b689b5170afe253f8a0f5f9abe56e08d5f6108938a154ff1f03e3483dca0298fbd3dfa030df963f90e08deb8bbda67619b8c95a7fb0064e03609fd2485402f672a74911cd6761f36cbecfe83867ed5bda366ac9fe535b02a1b82c6394e5d285740739f089b881e57224127f71c64ed52a6b7ea652f97714ac1f52231358208ea3e8aa30faa27a2a93b2975cb284df071cc97c67109aafaf5f160f5cca82259bdbe7f0cea6338cdb82ea86bb50f45bfd58f456fff8f74580c157d20523d433d98052399e82c7c0a6b116845ee294beb4810c411990ee4ce04a298ef923e80044cab2561d61ae1410a5231ce777d65d8ee31a37245f5b3019bb578a3d099e84ab16ee5c293b0427e2c0375a50dae20bf409a80f29f496abe1fe1bede6d43233bfde5635868647c387f765b998bee90656ba40719e7c2bb4015ee08413f31738e36fc6ae7edd27efa3cc718f9189961482e7ccbfee54d087e970264fe87c872f79569f6772f3e9d15153c590d137ab2b3cce37506be8ef3d22f8edfdd3dc5fad8ee810726f59c0835fb6ab7dd2c2f2b046c9d983cf195451470b1820244f16e5a0cb23e8e0b1e005cce9dbdd06a1dc5832e90e8fa2f2858465529a3d3878a4d8a24a8b659647c4023cc99e81f6bd4d110e643654bf437fc439d707bfe94ccdde6df03a10e32e4009f150949fc2b3102eebfc28f1088cce10a7eaf011580f52a94b5df85b0174da3aa29dd8ffb9d54b69df9fa998b61484c1ea0e3ef60ba8a3480224ec36292e8da665bda341aa1c26980cbf1d0186e5d7c1bad3066ab9b88783e9ac51b7a6362bc134730e523d81ac17e8f542aee0796473fd591ac654a5fd020cb0e3fca9d9fc26d29ae7f392542e4335cd695c6886925f123cc67e4b57d4d2ed47c5418e2aeb02d18d63ee4a5b690318e32fd7c4a645350b80987bab39fcc147d884dc8dd8cde6a0a498c371f5d5aef95ee474d718a15dcbf3cac5b61e5cb7b8fc15eeb7367c9bdba6fc476f419f8a064d79c12387d66cc45a2af512d9e0fbacc8e293699987f921ea99e1ede7f0d1c48a3bc5c3b7e90d15b134e74d76c48e16b712afea326cce64e9302e63617eb95c3489f28e2072d72f2fae6df615cff1ac40500b65cde31eab373c449cd3ac1373818e596cbe83a296bef59febe2abb1b6a6fc5c63309063f8f9549b71b0526c003b75bef4d81a82700aca4a6b7ce0c829063acf395dd448a22a071834d558e9e347abd7d4b99c481593245993345a36d03a8e579d08d83b235ec20aafb93ffd82348c1fb2eaf7a30306d41b91b129ecf544923dc313f324dfafbd33c9afbc8ebd19a26fdce2873811bc121ddef813067d8bd044caca056da89304d06ef4a6617d273853c370455e3dba3e276e48aabbf3244c0e394ad9b410a9dff2c50e7a00cc07dade5a855987af24f04df6bd40182e0c991aa408387eba8d888119c132583020c7e9eee10ca259e84a9699d712edeb2aa7e7c39c37adb450faa655f685c5a8b59e134be7918cfb34aee67df1cc41d282c0c31c5929c8dfbb802e76b4960e9b79df1e09dcf166616c09be96f746814968c4740b6f2a42e7a7f587075c788ddef329d82c556e4278a98fff463781ebb38da18ac42128d1a9748967ff9fefdf3b1e9ab34ff143c1b593dc4ef50dfae808f90e95f71906519a036a8c6d7369ee898c62f36c546639cf6db037f75334e19fbf5b1329d1dd3ac7b0e1d66089ffa2b121dc903fcbc7040ba97ae7b2ad2d8dc7eb544c68e5a06c72000602d74049b73b6d96cee0cd0d4e00f6988b4ac382421a4f71a57c8687041cd33f67d2be127ffd753b9e8ca59151ab9ff2cd3563358b3fd0f2d5f41d798991d4ff227ba886a4cc03e84f2e4c9a011a19ed56b93580c5b9f341c622e1b2573a58bca8cc13865f58f26e31f9d4cd329884e6f5c00e48991d2e7575eacb10b43fe6f1e89c561b7676b7c1d466122ebda56083aa1055353339fcace6fccd505b3ec81f05fcbfc8ef03a60c335b708f97a3ea964ebf210c74bc357f99a26fef0eb4506c68817fc245c8a6b4fe29f36822e063e9f5ccc7ab715ce8bad14224b099311827ad67bf1af505bfbc065c1a53884d037cd1707ef90fc0750cd8b1c001a224be97efcef1a20ed9be6b1fff85363347908ee6c1325b60453cac2021b261fec64f2a35b94f2e75dffaf72b888a0113bc904d7d8546304b359c3b6868619ba93ce188767b62663b667d42c63cb14fba54de0bfcdf07cb502cca4f8ea4f3ba4776bd85944af2041a23e37822bfb2a3de1cb20f15a23e83d8b23d656131ae33444079c5b229ef35ec79626bac31d388b14f6d8274fe3c6a952e8b85f3494fedfe26ebf68004b7f3d7f9c3fa3aeadf20cd62326eb3681259f66e3f7b508fa06d1b843c6463d008b5029b1396c6e9bdff18eeaf2f6b0e362de853757d9bbcd4db4fb1b675d7ea4aedb3e718da556c3a8365f8e1a2eed52e9010a57943e5f371e6ee31535e2fbffb7161ebb940a9b04e7d98927e2c9b7834fdefaeb8e5369fcfe5084d06094723b67e62f5c4ed9ea7999e33e685e0b0f6512d896eedd1c278fbe0fe588325192577144e1275ff283ef1c5d805be062a44fe5847dad186d410347ee4fb630102d75a28b9fdc4b42e1b65401b70bcf0947e60f4348453020dc1fe41b5c39582ad1c2d76e9dfb0addf12bb8f8f15f3426e183d01b94bededff4a561c0edb571e4e0e6e2dbf0820a577cdf558d6ca68f15f37b7cc352ac5f1cda2773d2d15e1490fd9d7edfd568e45b862f060756b9cd323c6aa75e75e9bec95d8e67641315588520fbaf8275e94b52bc7d0e7c55dbad2e3ebec606edba11eb06bb6783ee4a4eea7371fae1ebbcbd3603f3a3c9538e8a64c936fadcdc1e1f933a109d5ac1bf27966c278af3d6680af2f766762ba38dcd51c68692b5b47c8496b25be3f3e112093139a218d68a299b314665234d6683c4c455f5b6623b7d246bb893400e73534897161f02908d2aad02a1c881e9281b2c3b738b82bf17b2ccf13dc908218be82d63004f8de80c13c24cb8adeb2cbba3e607835965d00cc76041b259526448d9b82a9624a5669b8707b7524abe5aea2044cc5e87aa9d21c155712a71629a96880e1ce977e69afb7d804415d4b9d9f83d30d3fefd978e3a6320e53ac3f9ac8733ade304d6d8c308c9238d6785a5b328f8f83eb78c6ad42c33ee9e1177b173fa90bff1a622d5aff52e42146a86135d141a440543411affbf03d6e70ea2724137e38b247f1bb5f4d2408c6ff13577697ff01b90716acb00fb513232f128005f56d70766917e8ebe36d7fcc3120a93afc3635fff080ecc80cbf307e412b0e95adbeb56dc8833628ea3526db5234f4fb369df4a7ca91aeb27308ef3301f64149bd125aef442bcdf7f9e892c2531bdbdd904a3776f2e079fa38ae8f85887087c8683e9a7429c0f4c9d0c0f92b167e0397f7d92a2a0d831016d18272f67ce560062129ff73940c2dabc8b46ce11b1db0ec790cd42073a08c45826ea1c05107407972ff9303d35c6da15cbb11571aeb4bc6c380307eef30f4e202c2adb4da6b6daad55e46968b91d616fb396a671ddcaa09020033de3423cbd45240120f4f6a0fc3fadaee1b387c5c4ac01080738371cd9adaca801d106b6f98ddb95e35a5fc2a493b579671fbb07d74f6d2d3cbbfedb5bfcde11c8c9e77d6d86a6fef2415e8783bda6027df0eff2095f94e9b5ece32118e36bb26825423e7d84b237e9aadcc1764d59e9dcce569dc56a454ea449fbbee235000443e16e354cfaf2b133d23f3a18dd96e7a4eb9a71eb810913dc0eac5cd444434917fd9e4b174c78837818fd0bc753c25862218b332b6beb7547afe99e815919f5399bf70fec0aa2a6aa186410cf82a9d8fa9cee1779526b20c31a68effc04e1da1bab38d9aee980b86fe02e2b566df6c795a7e83ee271372827fd8ccdbef711e0590a8bee215c0f9b2572f82e48a84e7d2e44142523cf07e8adbed65ef22ff3452a4147dd9b1b2ba00a56a185fbc6dcb4a06f370bffb74a4077887bcf09ae0d9432b84015ee0a24c712d04d64ea09549f2afa7797cfc4ce6de51e495451609fd8b3dd96bd8a886edd7126799111116af90552d49b390f8f46decd48d6d7a59fb27cbc099c2da9fa02d0a6ab52bc06f0fd8b22945e7a2889ea3160a83cd0b62f75ea8e2623cfbbd0648af127fa97a7e31336bcd098545a90027848948e642db771c55c70e8000f4e6eb4d8c72a526295799047509b9d6d994611f3f4a54a8c14ee587b0c236f9916d5bfcd692133363ce49ae28929af84f70c4a93399c3993d4e43dc9f207f1959c35bd4d02dd1c560da33e546126e6661e2cf335cc31e773b4af9575d395d15ba8f3e0126a8090cf826bee000a8f227ae00a23ed9e66512881a4e464a86cdb5d266b615fc1ddf1802a7b825c17c28a5d9a0f70464d1a0bdba192bbf90e1b67d9d07edc988bf1ea40e67391d3fa00997a41d0d237d9bfedf4687815a8edd143a22142c323b42af0c59da89beb50ac2b0250c69476fd0f9397148bc66bf73989db0d83febbfbfbd2c90c3c69ef96197465f5d572b6b746f158399ff2c580ef5f7aa282e5002558ffd133e17f2c5912cff06d1033e72a97ac0c51efc4b6dee29cbee6db0f9b0ae135ba3d64e17763e59f0025d7d611d7ca0f23150b49baa461ac1f138a219c0b4e22795bed0475569b8352bcdc3264315500529348ae9eae815ceaffaeca86898b64217108aad63c367d7c6c20e33a9ff7c91c30258bb8a19b015547a308c7d70013a15b05df05cbb25ff61d3aa515da11d180c4d95315c4318e849a12260bb87042df29171aacce302416fad4581eb21bdd7fd117625f042f5c5be215141ca598885bf727710250488d37da9123be0baacace4717b2440829130e017c00aaa66c11b7dfd6f7d89b6baccda01af64356e2cd74fc1452d098a3c31e2a5af4adb4e0610fd82bb8d59836f22dc59d3c664000ab837134cd5ae3edb7fe47f673c4f9f02f2dcfab573cdcffe8f4703f1db4a2a71e0c344ff4739b4fbc52eb2cd474f66e39209d39a4dbce15d8d1519d04c4bb9ea462037beeb0adeb2702b9db26fe2d09d657f26f14bc0e41e3fd3f0a078a42bcfe2bb3967c0670c2872add11659f4fa2238560473f40586ea30172fb736308414259b5da44fa0601c09f61c637302580b0861ab067e941839f5f1fcf075d8ad6c3b838f9436b32a8fc9a728552ac375e798de82566a7c16d1f0ec953b862d363a4db4ebd153f1754c898693ebc82d8685b8eba7599e7a512564ab298701c9355aca847f6f88ff546fbbe714fc64580b3e6eb97cd37f2abc7cdc55c3a7266a09f67b8a028e3bbd5b2421a4d8a66edb053641529170cfa6f4e4468ce374ecb5a3ec2a6aa4e359b7afeef8860be346b7f34c4beee5e463ba20a6d86e4fbfc4d082709497898272715b5c417a709b73b5e6afbd4bfb58b01f9d11da0de0200dcdb469d813faa47ba3341c5e2dca4bff520e731c2240bdae39b53b7c7667c63e90f3c4bac7332db3bef52b8639d006740b4254f9e466d2096f0ace659f0db01edf16b3b2e28366cc4bf53dcb2716d12eca211c9212237d18e642a25d733f48862e85ea6cd9e42a3a8eac447f61622c6f7d57effe3656129e761e4f35d2a25dbc3c867e781f0b08c6429a3a93834633a421282f0a72b8ef80212b2bd68e43c048658429992500cd68396a2630f7e3a1ae538f311cef7b1005b8c387b4b16caabe2a77f4f858d1591c11e6b354f4782aa82e03824ae746633b369c8cb5c710653880a83a72dc166feb0dc581b49f2cce7c8fb045c4d55d6227d354c55f5429a987162fd7452a735e212c937d63cbc02ecac563391daf3f06f50c1c500bd7cc330b7fdc83d2658317e01913bbc3d28c9baefbe80bdc9dd1f5d0fc3eccb6fdadd5c308f6369c0f066f387e692e18cd2ab44cf4bf131900022a4e3bd556169bc9e1aea9d02d8c575f0854e1c7a25089be86e5840e0f5bbca1e86e7e14b00271840d51192b4bbfd803516ab5268dd97203bc8966082b04715ca956fd3b487f1d6a8710e7795e3f4cb49c615fd090da577a2562ff371cb0167e5cfe8fb30308f42acb443b1bce67904cec021285d5e72b257eaa817e009f1415983955013e18f98203d3b896373f00d14a31debb1d43026eb5538f5b0e0f0f6e03a02295c3252c27ac83990271b7fc71c846563adbfd20a47f011d820516b4324fd72d7f5b45119e2d672e8536daa24411a2f4b9233f3631f8bd25b56b0be7c9821e532eba8eda6d5c56d7828de92b9fe70a7554f5c60dbfe2c6d5d7fb31bab54694751a983635a0686d49043d2ec1335ea50ce2074c3aa31afd5564c8d7641b5b540d33e6dd1d0fcded0b51da391fd0c4f3d19ab1b3e6fcf647679c5bed3c14779cda5faee83f40c700fc7a0af25d2a4745149d1a40fb8ddf91f750ea93cd9af1c22d0e9809b08dbc9bae5bab1e6627a88efe3d302bd44a165a5b59f9d79587e86bfd79d161b9c1c5bd8627e292db6ce6eca0ba715107b44385fa92e05a5a2153c860100de13d5fb3d1441cf4f3294c8917305a03ad5d910135f4cb8ae32c981e16e85e8b182f45d72af79d322239e0e3c7f90a00e5cc2f81b04ac012b8edc53fa9d67772fdac8052cc6266c333058546856b3b12b97c8fd37a42aa806f39d72eb78fa638642a0328fdb359afbcc0aa39555424df793aabfef3f564be51d8446cd4ca26f10e6ac65a461cf9400b4a5d56af850b9aa754c8091bb15010b5dfaa922b6657fd76082c24fbc824e8cb014da92848287ed4cc0b6daa6cb4c798eb1503ed92f7df880a009a9827428a399e95c14bd22b6eb51fc4502bbcf529c352f56407454e6fbe82a45f2061b4ec73016bdbe79122207ea63e276896f59b89a1a61ff83324b89a5ad8c417850a09c55bee91606f9d606643ebc00baaa6494cb440b9d6f38fd5e7763826da270d2841d691fed734566b50dd819e6a94605e5ae43bdb00450aa0144faded37dc2f6433cb372db030629a732a66dd4c06bb20e59cc36f9e090aca356305bd0434d635003a305e073e21f82c26312d548b8459137e71c56e27bfcef3dea9bbf987d85150991a6af295383ab29c28624d829613f8dbdc1fcd93a867a07f3c6b79ea0386775e6d8d6ed63e7347ca862cc97b649a1400bfe5bbda751b0d844105f400d201aba1cb939f9d80af1d716f7cb9b8c8aa8994703bb51b3c178aaa14b2053f6d8c36c8524138c1d5e2bf72466fc70ed2e8989a8cb74cd040e93dcf7e94cff9740009758b7fca4e04e1c1ff897ee4da8cd3d8513cbcc89ef1643dc7f159fdb1ab311de5a8ea20e4efbf845a0b26ee2443af97e4d92d9fd1f8cec284357de53c680eb39a3c4c815a11ec66b5220808d2570d42db87f8c537bf58dbf024f350e3a88bceac0d5daf3422fd13e6682b0deceea00d9043b78baafd7f9bd79708fa62451a02fc9f2b2b0255774e1562a200cb780cd12407f663386b4c836065d3d5813121d89bad32ca937d08cfad5994d1e5b116c8d51195f11b7f40b02c08d8f31fd36b3cfbe9d111300ec43d96f7aef49a8f57eb04d98a55cae8ffcdb82640bf01889a750af116a4cb4ba8f59de7a5d649bdafc2eed71b2b932e8134f0e115fd6f20782eb54e8f55c4ce80cf77862ba3edf3538821f6ec911f08e8a197fa3fc4e8c7af8ff555ca7a9a2390b3ed53adb4a67aedbd3c48e9b0f952f3a5345cc4a76972ceec9f1c1e29f271a95efd7ff3d38d003cfd04555c24355f0bcadcf8ff6fee7255a2cf1f7a30020284f39e57523a6fcd21f87f489b92917994daac7bb0a34f9e4135d5eb1fc096fdc1d02bba70454c3981fe4a3ca3b86469bbf85a5a63e110234a853b78d40b18c913e9e43e2cd99bed9335325e7a6bf28daeb4e324b06e48d1913939774ba5e08e1829851b9e18d760b0f19136104bf08a4b82a2fa3bd0c29a4da7e159c86fb287880d4a713b5b7bde9665f65373697b4899cbb5e2cab192cc0675406cc14011bfe72b404a068ccd77e2c2e607d35e1c2e783887e86e3307e9c297dea1f6d27776a831a8b24b7ffa5bb252e0c2fe813b04f0aa197ad67bb4d5a33fdd3eb9b6c915d2057c07868c2be32992662c7842748750c3b5c83796e0391d31b9bff6064609c22b6c815526e3231f0dffdeb6f69e497419922fab5d64a13d4674cfa5a06934772b0fb533b4f4e54ade19f00810318865cb6ca9fbd720c509bfc4195187b02ad9c8acc288a4935e26bbcc3ed6654491f40dd3b0fd3017ec365450d1b301908d91c1e977309f0a25bb677fde2e9a00b831e3a35a70b953bead9c7c569d39211f82435c3e47209a7c2cd90d412ed4e0b57d18fdcd8cade2ac65666ffe6a0d510768f10aed89226ed821ed0f52c2267529cee14ad764ae7d3ac4280e5e14031c12beda93f83c59e47f846a161edbd3d909de4b84604d87684ddb3befed3af175b4e71183e067d3171dbc33fa25b4392ebb48eb02713a9e5358d1de7ccabaaf236697cfd939cb2e9c0b63833a49881672d75e5a1a7e0f53b5ea20154ea887d8faac4e21e8052a0a169e7f9ca0128e17f07b739f0330dfd49a076906123e997902356d77bff713ae55b75e65aee8c3f3c93d63018f879f719dfd96bd967e6f3a9e0bb8fb3796f7b94f0180df51530d1365a34cd42e78cab1bd63a0874cb3e043b1aa9da4f2c68ef79f1bdc7f3fde2a6d1fb086ea72009bcc2c836f78c4347fd8c5fc2f091d274689b09dcd98001a2d84a9d0023aec0b26b8640f4b08bc4610cd540f723127c8aecedd3cddfbc0f0ce8e90cb98398b8d2c2678594fba42c522b9faaaf845ae1db7fc2d89b88c5003738f967aebf60a8d76793bebc6e9209749e9cc233ef7efcb51dfcf50275f4b4ca06a79055377766fa7324cbbd01cd9952c322a45b6f3a37d7ff2e3603efa70db196788ad3b85ae11c4077575dd6a619da8bbb098198407956a79ff5def1f2225eb0213db8ba34cce6186f65d7c766adb2578fd9cd1899b0fbec1535b78f930722ae24e4319ae057832feae3a7ec6a83be2d2c9ee2c5940568cc14833d29ba7468fb9afa6c6996e566a2b69b215ee450b00176d0ec7a2c2eecdb42df4827e5823a40568692d50f71e714710e92c1f243138b0504f254ba06c50a32c1de4be7333c86ed34b6c16860d8acf4899b29d97cfd4a4ca9e113fdc9fc92108a546ed808ce93265c85980a60092802afe4ea196395ef34030216a59562d9876a6e5c4b1bbbd308e51ed6f02151b6f914856954dcec8dc3f1737b11d9697e7a5cde2e6080cde127c26afab039445a44e65507e171e6c8d7b3afaf10e95eeb79428df4d73ca3014086fc299146e7f3d5566d4ae31a5324563a1a69cc86d5603a69a0936966927b35a4d86fa68d60ee050baf52e68510679e6b438974fb47fecbe632d3a8903f497902779dde6add7fedb21962a2ed6b253cb37aa5d06ed88ba35a08b1d51f3ea694601470f36f92e970b78e6cbdc87aff56657b4eb6786f451999c6113237126b4b6b2d85c574fad21b4622a42dcd809d232e8273d62fa8b4f2d8f5c6726a1b9ae46c616cb774a1c3baa6c3967b2c64b0da92aede2b403af0523e9d2deafb199bfce9412a26dc6ba4cd323e984fffc26fc907baa1c4ef95871fc7be73363ba1258a4ea86bcc2f9247b2cccacbaaa1b3c8dd361214bfbe3e6eb48917d8c5310abf63ce21cbdf47ff8b121aada99c16d62c7e78c1500bff1e61744fc892b7a04b81138608ac3f9641bb3adab2157d44e2096722107506f2812519c15e0628e828f1e180e8aef9335cdf84ce9188a09dbeb27f0922df96e84e14666e928c35f7980f8d362c03757862082d2933d8d15d1bae5f32af0f6ad3a0a1a7dcce0d78794ef039b804a0288332a87523260b5bca90c851d9bfdf0ee0963412e446fb1a1b78b83284ca2b1e73f8252519ca338d6c58556fe7c057c6f7a520f2a4aa58900a094b898697ecd18b4d8841fcde4e2f114de0ed109036f55f7c6c37ec2e9a6062a96375a990c59538480de11f0970924eb6db4bd28274b7c8ee473fb0abbdf242c4e2684a4b399791660413e91a5ae7bff568e0369e6acf8b139e28fd78e6ea426b81c5a4ab53f197cc7b03a34d49f86a77db398499e229bb57e987ce57cfa3d4afea8cb620d543cb22b73f187499fdb94a340087cf39bdd65e3279245768d8a55a41ba036a38fb90a6fd8ba9e14f46829859c63fc05786f7f5aa054b876327838c8c1ec84e8b2895a82fafd6c110a46cd36016e7a06cb85548af2911e0fcf4da118aefd341bceba4f65373e97c6edb974c58b379a47689ae78d6e295193f70918c2aa652e655d49a194c1449debf48a9058fe4945e2b982d770f14a069d13d0359631311b2d0690f9332933177cb2409879f30a09bea240f021e691a53b9fce7eb73ba784a3c88e4ae5ea39a30e6b7b6927a45b9960366abbc00e3d81641f807c2a67eeb5a1bea620dd9a67abcede8b822fa271cc708493101f0de8ce079c075bc34d0ac090c8705f989292e417f7264db7d0128032757c51538c3f9f46672d45245d03eb72551ed524b2423672c43e6566de764bf5c9aad47fd97997cf71e8a7fe9ced321342fe4080f760b977ef314045929029724579adec8ad3308c02e5fc08cf88722aa960a75ce440cb85ea565fa8435cf8a92764b294b41b7d61b91b2825f46e00da5e5cd8d38de2d5a9bc17b5542b2e2f0e4055c4a3c0ba575b3d492c0f5e75d67211c40d85b81c07505e0f84ced8b70a4ea54ce5930d1f0857439d1e7546f2ae45e40016b8b6eb487d406dfcfcbfd96182531a7c004f4a452a87c1dbf9802c37819997827d2beff5d8c2a3a5f21784ec324102b733c8ab386ae7b60715013fc4cd20dfbf7e01e7c14d8770ad0aedf36c9b81afc8da5bbf9b78a899d591effdd721f81ea05341dab46161516aea29866fecca463ea9b0908f24d56f8f1bd8893dd422e0a9c658bc7d6a96c188c6138cb3f5ca520c2f5d884e49ada13d8d843df45addbc2b43d600c2958d495b3373064f34547529eca853d0231e91d180869ee4b5d94d588fd8b3fb301df165155ec34c2d8af5d699924ccc9efed5c85e42d6e4fd5876bd0b8510685382545d72dac81ab509d8759573c9052f885513d6f474bbffc994837d37397a82edfe18a73c8596bb61ec73ac9036c6314b6fe04f6f1a918102127269d8a8736227bb75f2d3e7b4897beea841ee0426d35718e07647d28ac973b711dc4ce50e7a1044df95c722e7aae5da7afb525b9d0ff0db58e6e2d7af57ffe9bf5f66ecd346619775b62ca6e1f89b807fddde92a24ee4c2a06412032ea2d88e5eaee3a0f5a1c9c921efa164c4ae68e294069c5d499d298f75c107ff10c2d5c62989df2ef729ff3524036a538c9d2aaefaa666b18efbddc438383943dbd06b08623c26cce80b6ea04b4e2523c47b27dea1fd14a0a8b64c3ceb13cd7c6cc809740a2aab4eb07b2d1195623364277b0686b129a39be4fff5a439ab2689fde147075be83efd37f4b089315fe2e403bdc3af6468e79275c810c1412c6134e9819185614c69cf10130ab97f4d76b18af9dea94445eaad7f2e8fb0cfeccc6128e41d3cb2744c69881e90ac6c0d4c024d73e9ecf9d7305e86d1b5240f003e33225adf31a453924a195ce5e74b4400753f8675f78d38dc07375abada59525d457655872a825c51824b43a642ea242f091a5e7866431dee0b232e4509c7da6a09a5ef53774a3a656788d76b83e96c78e3d3201be73494cd8a093bc0aa2063e0366e4de03acd985e7421aa551ef41aaad9802bf9a71de5f3347bf23ea18a45e64f7fc39ae022864a299f2c15f9d03bc46400631c2fecba4937f03d3899a91205070f2ac4815bfba0d0c4f251945a33ee63afc5576cb2eadaf67716f9fce8d2c4cd30f9b9e3e0bd639cc0aff4c3bcd250d97071e93c53203ecec6fb383383873a05604fbe2156febeafe6607e05a3926a4dec480b51685138f95f193ee0ee6ae7b450a063f9ffa4929ef91b9391c13a60c9fedf4a6f743f36c822e76bb83e722f371663c5222e83e61b34829846b47e150f081c14ca4650b456efcacdd4b4a6af8f434745c32c1416c63a7ceb75b71d2bba305e059384c4bcbfecf2ffd5becedff68e469a47c9c308dafd24f19c9f61bf098bdcd45bd00f30c3aaaad72bc384f960d76bc993c9db4c263b9c3c1843c8dad4465edd22cf696addb53de61a4a55ed06b0225a9f30f8834bc5ba9fc7c0de78ce1987b404ca22ae814b16b2da727d1ff397ab0ec1c957cc310f444ae38ab5e40829a752c7e3cb1bbf2ad40f2efca69906e97b2718c511fec053c44c25fb2349d6529b71701efb9f8e334c78ebe315e46d9e70f991e8ef39bec9521adb695c18beb762f9fa84da9b4f7bdb85c545a82079b8dd09ffbf3b84e2ec88afca164855cb0c5b22a0fbd82b31d49428933ce7c2fe2575810a78854e839450ef0489f47d420e865cd84589b5681d684ef03e6249c4d9d728c60cc76bb69baa6041c1f881797ae00ced2125ccc39df2b5fd81d698ede6cbb746a4265914aeba1973bd2bc7a356951ac06d96614485c48dc6544d1c745ebc26d518631c5f438e8f6025e588d6d2560883381644932036daa429495bffa223ac015fecb1c59974f88a49c2f7de185afe0cae9cc6853c54a78a200aacce13b58e0e62b3cb35a8d33dbbeeb085082de4997e86517c63de6a60d078f84a98be30d5cd3c0d3d55588d091bd6fcfc8de22c54ab5ee0fbc13d4d0a015edbd54e7b02fdbfc19de66e85741304993b1c499a424da03d2b64cfd6acc192c245e8423f8d4a050a1196c46f3675da0b68774469cd244a7d61cd0180f5a650083edd842cd2555bb115c422bfacf2c98d0c97675f7c0acd49b26765509613e4c2c0a271f9255005cdd9f1bf78e7a0cbed745c2cc0c3567429da1235ae7cc107479832da15b07a2a9d2bb1974554a2673b2a1a4c7d3703e1b31001c8f46ae8719ae5cfb90f6d25af9313eb3904537028965fa51313c64ce1d665df503f1323642dce10ceafc8ee01f0353a2df09a9e0bff1dab2aa554a912b63bd097909c54a25fb4a410eb1f7e03fed2b4528eead34bb98d57922ce77d5126679fabfe0dac4b7c526644f5d021faf69c916419344f6b253ee824a4780abcaa4bbea0c12abd2fb8296b5f8482758d81a66a082906ba83ca776fef9f68090c0924eb9b68a12f07e315282ca0afc2bef834384e942c3cc9f1970a58211433c56ff78a130f45d0e0c74990762429f1478a051b43f0bd78df61120a8d0693cba37c396943790be76616ab7bb6e646a6e4032ddcdccc6079bd892136669a57646cd416b763640edca06c2a92ef21a593587d5a24593da6377c1a6598d890e5b0369cef40e44540e6012e093059a78d6a7a5b33b3e760b57dc2dc06f88c0df2b27c00b1da6620455901b7f9777cb89e1d9e01ec36378e53b5ee202e638a9be227a266fed7993e603c85d6303f2ef38c0b7b069419754bbe1b0e94f5acca1fcc243dffc9f118b5190e2ec8667adeeb073ebff4560decd06d45892e2f967fd9168ab5eb4577614e2ae944d7fe202ef08263979f1992bb6617118a7505fd42eaf3b228f2ecfa5136b7f69d7fc0be66de8cd1ec063989b20b4e40bc8f9a1e005bd062bb831955a2b698a03f1f1c9e7d832ce910e06358db24e769ea4d33305e4053087e5d540c544b557655c69c034d3961459b7aedb8dc19ae2d8c642f953da56f82933b364681da0a69f7e4b31f45d1265e4c41c98588b175d863efbb986c909a032c0023e84639a067c3c5035936b8f397c3901da5c7412897807617a8adeddecbc503db4d2cd58d9888be3f1ab094dc0b7fcb78190bb0fa685de18621cac4bdf3e17a99d99071fd13eb2cdef011420ce2db0430b35e43357efcad7abea417cfd9c31fce0b3d4a84d1780c56de15001b9c90759573e3fa6ed18181b535e6277177a9beb8ae500a2e1840d014cd7f4466831546379e0b871f852ececb0ad8191b5ea60f260e939e3f8cd98f6f5ff6a894dcd63188ce66a04f9e1332d53682589140e8fab32c511579016f20bf6f2e46b07dad2618ef0289063c809c01c58a4abb10bc218e7e4ed3ffc43095a925f70c924719b534d569311c0ed71f15dbed4f57b77268a875232b88f6aaa65cb4fad32acf812e53eea55855bba9392c8fce6f297ec748d5ff139d6960b5dfa00a7ba3446c8b25f3b767ca9135ba1fa1e9e9c99d0a2eb8dd0f85878181e2cab86a61723476fb04ecb907ec43db4a7a76beb9dab23917e0d2bedc667a8b0fae146a65ea1eecd2dcd6b2b5a96f0d21841f98577d2b09014fb41b70f0d6a8d5f0bf11b3bcd5d97993e93cd0964ec891e2fce1b30b3499b8d396c7477aa103fd2512e6c56afe1b595bca065df8ea007d39f86a02c71ba0c83608e0b34bbc948cac1d4c3f9209bf07286dc2563c3b6b86c11723a15e30edf98cce7a2ed48c84f72e7888d3b1f29e7f4b0b2ecced6d519f1f4fe365d7ca959a2c3923064cb269a219d5df9d4dac0f6364e15a4878b755f70ea319ca980fc94cd754b0e204d2c1237754feac8199ad7ae7676feafd5f187dd982f42df24153a5a124f28826dadb81f057318ac44d752b9e13577a2504262d8488adf6aedd2eec95f41f6d12f3920492e882a7acf36db555891cabbcd597bc97878917e24f205557adb02ff986254504962e6ae05c0fefc111671e717555b69895a0c2563c3810e250d34303f178369abd30cf4bf4741601cd4b560f0d0949607f8d34cac043acfc483818fe9bbc5ea79a4cfb4c8b9061a61ed60a659fe3922339f1b4b8a1f6c7efc1f68a46a3a7e71ad2a896fc45028dc43fe5a099b1f9d6db5532c2afdd1b80973e323806c27f48f6f653305c347b02c918553d22ce21357e01711252c44a3a56c25d39a7af2b87cf7fab12ac8cf49e1a5da29b71855230caec1fd2438f28ac53a00ab3fa2054b8bd4d53b8b9f6d637001f1aa54fc0463cc6cd5e96222f30ed8500d3b2595b5a6d1146f6718ec7d8a0610380fc8ce9fbe88255ec957aee545fd17550ca61eae0c6903bc027956d9a5427889ec0ed6ea92623246c574e95442921062a7a4a2208b6e1a396f80424893b1abb683784508f2c7c624617d66ad5743eb43e85630dbf8cb92a1bfa56830a1576a965693779ee6ebe46f62fb665e8ce5f22f72fc2cc620747b3c60bf42d87043fa47ad9a68c4c05c186dd9d1e1bd854e3eaedf103d7214d104ed9e668f38bff16385c6edcf8f449ca128a15aac13328058b46e479cc827c9c8f8a3bfa7cd448cceffa9b5ce239c4b075c2b03892260624c5fd7565d46912f4ff517d7903de5e1ac33eb8684399e1e99e91be414a715b31e5626fedb210566ede6e60e9288eae68913250fa53b7aa14b138fb43019504429a2fbb632e6a37ed6c2899f592c96d84519fe114a1884aaeb09c113468dcd9fc8f1a82e1de1eb38643223eda82d705b80b8272103a2ffbc9a8a2d14b263f9816af918bb519651497bcf19295467627fa0d9e9c483ce22aacaf228dbb8dfb16ec53fbc260dba697094d071383cad5e9250667e04eb8555f7b0473de8d1f1aeef3c16a5920cb9a0c559ef39461a4fe800a16eddfbd8b401549d65b9d068d9d38b953cc336a77eeb16bb266bee764af78250b5b9b1a7e869300c6b194552d8e4c1362949801a17dc605761a1c4c40eb37fa9401ce0d6e2b04ce218ae3fbe3dac58a84c8e5de9e211a32147b177ce861f8dbbe99b67c7ea8b69598d6832163123287ff8f55652a69b0ed74f2518d5988e30efc98f0bb347d8fc97ab2855279fedc3316adf6fb9719dd2f1778630c3d12349c1ee4603c4d27f09422f3c134b9c3195182b32bfd51cf33e44e0ff3ad9f3e255d6599fe6fffa61ee7aea64e14e2f913a26ba56856bc20d54b3608fd23f287fa0e72840015cff2837fa80796780e49ce71e7338c9b0e2eba836819dece58d2db5307d74b2eb0d6ffc16231ebfa70bfa068ddf5ee9afc0f082f16450b5201ff54a506d7d37d4c2a0a3daee1f452e6ba960d23e484a5daf61501942315223a83be0392cb4b6f5999f90800a29dde3f1733c82c9a49d2b621fb64807856ad80db309b707b96480dc866c2a2aeb69244675e46fd33c2eb2b274cfc588f7c26bdaace24d9dffeb5567ca80beb65503a2086e58304dbe0b65c0c147577723e9ef517e622632d88ba28f9d3853bc3d85eab3d3e0500f719dbb626eab483d7395b16a6fb5d6448d65c02c3f8580b79b4dd8eb712c33fbcb321a1eb7efc558a20e3c0fc54a8286cce7bbb6575b3c5146ccfc24ad07e851a8885335bd9977b2cab5eb7b7e5b6ec52e6517b4d18c729b6b1e8a6debf620b795fe2e16bc5288252c5317f47ec3c9af24e15976b3bcb7609461de3daf647541b8e022d8725475d08238a19ad15f304466126dd0ec7e7601701bd5c44e0ffa18aba83217a2490d571a6cfca166c1333488d10a68bd47a1ed967f10ce8780082f61e5de714dc7059559acff947afe908aaae341b13d7a8ba0634687f134a0791d358a509bde13d00be5f593aac0686e0f27badc56d82adf77c82e4dadb2cc01b6400062655fd1bfeb6b40009302365031f04ec33d36e6894be0c2d8ec4d8d416018dc91da40245df52c254511eb22c607ef0eced49a1dfd9bfd74e12fdfe6f1090dfd3a910dac49c01ca04015874b324895ae0a8536eec83d114790be8f49e1b35c70e4dbe93a0bf0ef18171fb8ba066d1db884ead62476e4f5f5ef25efee9a2da3849a19a1c976132844fcbe096a428eb82357e5ed3e0f6c55158b9284a2a0b6719a994afe2c8bc949c95b415ac45a241685edf0196eb822012fb037635db7a9d17fff544e475d3892ee1272a7b67fb6627c653fba180317f78d3cf09a688cf9b47c8f913de1df8394c4898165ba7ff98a33b3992ff4d496e710b1a93e2ad5da2ffe2ac835dc4498849b91736fd9a1759513e8d4694389cae8d0bfdf1d167668f65932a8958128d2c8d941e57ec30d5b2dfad3612247798c75f7ca87a6b5f2d60c1b017905ec70e620356462be2328f34f60c876a142fc252aae9d1607c76b6d6ceea70a7b73613a3d9287ec0589703701569915033766ceda0429c9fba1396533566fdc63761b78a1b9c9d5000d826c3b012eac83525d88308f90fd0ddfb1cbeae7ff0826abb975e90953fb854a5b25f1551956ade63fbcd3fa7c6311b72e6818a579924b64b9bb85501c636b55bde8f3250f0873ca40e83e69a03155a2ffbf9f58dfa3efc46a62d0e36d6aa0f8b4729da1e57fd6f79a4084da137a3c26a31e5e522a1e075f7b5572d81975c7dd5bbc3755120ab870dc77e55df5ff8f4528bbb47099c33bdebd7fa360d2312b756b4f800aa3ad40078643b529af3d1732aa04efd3b6c6ff28ef7886d0542be1cd3a4dcbb74c965518a18cef00df3c2392643d7b8671182c7bfb5521d6d56e067f8b035fae56d0d5973b878b225520059d80568c910ceeaa075e77dbaf9ee9119376be35613a29908919c1d2ea23e95d5e2cf60ced618b19cc85a099d20e0803817715aed10cb214e161e6a4b8b3ab5d814bd4734a0acf54a8fe00178e5a7e390593392e42905b59c9264b16d8d2bbedec1d0bab392b58915bb75b5267d14bf2960c690c8e92691c224c0f3117bb19a455426168a742ed8556832ec0a5005d63edbfb8c346d4c50d28a2c81a00daa7ea5ce92ba98c9a8c79e44cf37376396c91512113877e1901e3179fc18f4556158385ae31935856e7839f1b770f18cd51d7cab78f8ce7cb7aefb5b1d6ec4aa858c3fea327b4ca1867fd68d8487a0c73cdf2303e8cfcb43d7bba76a425a6e30d1496bcd4ecbd3976d1563e09254158fa81c06c36bb1421e2040d1c19e5795d5e0e8a01ffc052311e3e14e727bacd1170ceaa6ce9a631e4bf7d8b97512bd4beb20c28a9ff1fd9661e9c27d7527dd7c7b3f2e87f6ad9b66bc53d851f70b58f23910067f7081cd21f843b375bca4c4a662f09731bd934800534bd27468e76a062b6253dbd25946d3f1beb8fd66cc33ac71c4db3652d654b4be1b2242115cd5cf940bb3890240db10558b4adb288d509edbe16244e0b4289562227047182244d7c60b49933684361b628f49bfe75f9a0d5bfae0d1e2428bcae694356559b79d2789a62c7825621388f305598d63e01f3660fcb8d6bbf0f8492c74668ccaa7c38f1e5c629c8b94c2772a243f71f5659fb8a4c6c7afffdaaa6ee890feb73a7a4a09e83397f64155d5778fa59f863924644d0f335b845a40c78f57e118aaa912e58b2993ae4faa4d9d67d33c118a60330188a3fbd41d470b2d236034643f906cbe617cd4469930c1d3964abb72cdf7af77613f2ae46a42bb346e0b7b80d12927ab3ccecf4b2330f9ccc988377b9c38ce2a7316d1c02f654c4fe51bb1f39350339b223af3be0e1fa566896e305285b44cf1f3300f5712460168f3e5d95fa20885ed7e21d40d7a951bb845265d73d2a15df4e0b7e7c085e27770f57a23034108de686fc9e719debed1f3af37f63273cf6dabfa92fe2538457f2db69b552c363960a9122fc31ea6dbdf3dfac83005cf2d4d200fb7418f0ae2da25cf0da04c41d2e3384e61258b752656ca060b8b178aa56ea112c5f98c915d3daf753ab93cae90d4031ca3bb77fd003bc0e6e984e0a2bb8e00c62dfe1042d8f5fd827e258ab5b459fd8e49417910ac31afa06d49c2a4e77d96404cb0b35a27bafe50bad6d69ddd9e7c8e4bf329d4fb5f41688b317b89aa78963c14cc294a655ab53ef670a5be09f6633923f4852776995408f4b6f1a47d18485eb6bf6263285db5e278c63276c7f3c9fdfa83338f8992721175031095ff07353c233e82171fd13fdd76fa29cb417091ba7a4dd9a349e8f090e1bc37efb156a180b6714dd273e27f132ecbb46231171029d352659285272539539696e22a8594069f148d6998f9ad0e6f49eece073d575b646a67b44f0fdda2df7deaf25299e1ac6d39c577508cb8c28f60ff4e824f6e8bdf901de90c484da2dc60a78acd32d4bac881d24df885397937a24f1adcb9ba9d1e57eda4accab17448420c8b8a9e8bd270ecb51f97f450ab59a9ab255203520cc5ed0b330b78ba04a3fa6ad667005f02f556e1d9e3365ec393b3403156c9896889cf7450db085cbf6290bc91f97b8c5ea1702ce0d17ca1e260afd2b19ba11bd782039dd87ca61206ebb5e652703e5c4fadb3041745f3567c2d8204b214b06b0b496c07fb6e95f7a01031f3241f0a3b9cec3873292c78e859aa48a18fa07c0af84bd1aa7d390a9a3b63385daf86d9a64eae0f2e90d23606d9f1df4b3baf95732d65417357d40638975a19c5203e8c9969f887be09c81862aa9a36a603b80c480e6068a08b90d68c2b44853d7454f52ecc29cceb988c8fccd8747dc10559a74567924fc8df0f92fe9465a33d22370bd514abf7a066be9075292d238483094e878f25d2ec12da5281950a0297f1ff168bb3f0e817d158674c7a98d3e8f5603f3318e5e34cb498eef6a866e173aa275ed40be7b6d356403415c715440e0c89ea7705fb067f2fc31ab1e3acb31122bb3f51490b2202adce0898a8ed6859caf1258d9836ac0f13e878b6cd9348ff1ddf418780eb72a6e8ebd724ae590d15dcd4e993ba3d275ab1b3d297de09085be3f986308473f567a824d7bb832aaefb2bd3e9feb9e682fd429c760987c736ef758e2b0ab47cc98c52f95eb00141e48f8a102a43844d5d4c3a5ed01ab307898d5d645fca1f3c76a3e11686dbaa11b3ea32f0bda7b8cb032adad8d8a95655e4454102a1117ade8ef887126384388ee83234e744d3fa51a4a2a92c75fd89e0411ee9a22c0734353e182a42ac6926b7e53a316f4f717d34b9d2d2150216990c39f6a691bf58dcebdd85c083f474c6bfecc6aef7d21d9ad98c5ebc118a4d56c2f13fdd8aa02f06f228af6170a7e1311fc01ea399423c2b54c0bcd0c72d66e3d94bde77e42a9cdd9405827728f2de95fc1faaa01e0e9dd91422cea47a24fcfe9a24e2714661b5612ec43237ed8525f72e67172c7e41f34c8d3530974caab6cb3c0b1e7f29cb253cf6d0fa5248ceb60ca2f55674eab1458fba6da918efedd02a08a9f3d348d478016186a57877018314459c35ef47638dbec9d84f90b8b00b420e6be7ade2784627f89adb107b8a5bcf38995dc61444daa949497ba05608519bdd79b0eeec0b20b0682e06964a7bf9a0019304851fb698a02a9f0df051a676ea13115ac4c796f2421f57be67b21475a82f99159fdfc1e5b2ebb557168a8562a84fd3cda1415b2572ffc4bbfa2e6c0b73b120dc85b5a27ff0309c8ec97454c81f8751afceda0ca002ee3b66a07c8681633cf0a67e9a5e295f8a0a7b2e370e259af0bd7623d8a5d43c140f1cd9636056e4af1b25a5e9544295055bb3e5bd3704fdf5bc8b7849f47064db6f4dfe31cbc6183d2277c8eb2d668cb4bfb1b5fbc96b29dfadfcd65f708ca71c400479f644d819659d20827db9c9fa8eef6701c562449ad156d6cc5b0371f50273d5d72ad3129996f010d1da073bf08259f8ad9c2126659a7e5f019ac746a83ceb7631a35d6422719f88ddbc2fb34761e36351442b1ffb1d3549d2c354ae30afb416eb35ae167780f1b39ab85840b027e81aef257255988ff03597445730a74df8116ea1f98235a3be8fc6efa9a2753ca38aeff25147e5a60120ddccf3a723167ea82d430350bd780963225269f057619ec3728606d88d132d1eb63048506c61ebeee41c2275a324d0a386d1ce8465f4ecc23a868068af0993cf9f84f9cd8a5c633457a30982c1e9f7775d57447d84a989e4718c7e3c68e78279008bba3dad2c9ba6a64a186fdeae3d81cff1db00daca09218089c6d4c3a0891f06669eea7d47c3d3a54ebd497abac856d92ca642dcb028483080be5f0efd839f9e377fb0ebcd59995f2ac695a95853f5082bfae86b820f63d674a407c838f8a73b1712e4088f1f13a09067740b48643a9d992517fb3a00d0baa469214f7cea0a034ac58847548b170b4ecb132b191516c6a52d3615fcacd0988757e5aebb58aa4cba576a526ff972e90ff7872332ea3235c60398a33b767a9f4def1598f1e8e3a20882c6f13b655ed1e93cf331a99601629e48407644bfcdda8a71b00b79980af817a54af271960e9aded88d0b78c3bcfb9bfe9ecb1e6ffa6401b2db0076450faf2a6a7e040c6847f1d2f5657d092311d647b80f78c7b74dbacefc91260e96de8c08910a90e4e9eb93cf12dc239d887e8522ca44caa18d883e12f4d77e0d3e89b17dc6ae5fb5b69c97402530f2cf3b8b7d9e552d7eaa2b3d9a11b1598e003ac31967d225338fddfe92d5349985700ddd07cd963a28415b19cfeae8e4cf6c2d75f1a4b5413762b0e1e0102444424b56a9e8f27af523f0243313a81c941bb01da8cddb4bb90acdcf97d47e6cfa35acc1ac6b4ace6ba7a80fb4c7389962d515f6ae3db8baf1013a517568a8219d254bc89a860aa64e86e31aab2a7a42a61ca2678eae0a59c098be7cab675f93d450df060aca79377764af43e4a9d8e4cca0d33d8fd067e96ce04d75313d05e63d91a9b0621787b078ffe9335f3a2c68d7da344e1ee1011c53b516fb6afd7bb06e932bd69fcfab7f887804b6ed8900d28bc038298c4a25ba40d830cfbee3ada3e74f63f18c4fd6db984d98ace09ea93af5edc57f36f6bb05402af2885fbe7f56701bae59829aa8f1901418d9ddfb86b43c956a96144040a34107742a204bff7f5b61a67d7c9398c688e7b6b81ef44d888f7d43a97f351f8bf23a2f0255cedcd3d2a147ed18ca1f70da5becfef86727210b5130e0fd4142cf1cad08772c959e7a6cb1fac0bb7e9061e2f08a50280b21e74275e6580d64fbcacb871e4d63909a45faa66eb741ecad3a1e4a5c1a35b999548fcd8d01fb7e470aebbc83991c4693f348b6ee7cff1b994d33e22f91ce8ce4eb9d3302d80ef57bf8540d9bf3c21ac03987ef5828a4f13752ff48fc5e99645869f9c687096fa12b357255f6a1fc5ec337a62873c29f24290b97e2cb24fa4626b93d3c80323895b37b8def709ab5f8ef4fc8fb3b54a7295135811bfbf5376963a3c37eaf06062b99bfb3350810c358908dca21b9f9e64656d8fa4b5d6369d15b5cc75136e470178500363c310f686e827ef26f45a28386db75d960a13a02024d5960009764eed4e346eae5a564355d55a5b29bbf4c1f3c6ea313b7970700c64887f5063d5236650a7996777fdc4f25579580e8fb4ba0f5137a1e99fee490b2a174f1403616308d6d70a10dde315cef6cc0cfa900e583616351f2c6d695998a12be5bddcdc2c30287c1e085827e684a2787ec78f2816084dbab3bbc5484e4360777f584b85efbd99c0462e2e7efa9114a7acb81ea596b1d9fac0f054fa93e9641fdfb2f89869cca9e84c339570cc5f90364e6f475be7a47e07820458eafaf6d03bc8008b6410c526fdfcb3ffcfdb68b3580ccb5dcc23eb75351a424cee81b8d0457a50d9726b204d1cf23196637a766ed538f5b1b9a0126d232d17a2d30d511e7d699a62986b1756c38b6fdef0a6896225829295073724bca9f03db8039e13764f8476ebe28c85ccd7b687e99799983542c742c3b87091f1e83e0a77604f615f890ffe10c79456184d1daaf9f874203f668156dfe8612fff4c9948f6b8b83e0fb175797d4142af8e17f6ce523dfaaba3245b2d58577d81faa9545f4710800e7770b07565a9650c5007baaec045f5baccc13aeed6e7c9ec876688ffdcd9adfa4ed94fd04374a9c3f995847046b89301a5e2bec14faeb942f339ceb602cbb9a218d0c877851d9ed9f8013e7c466a32396667c6d82830785369deb8229369bac5920c3f774f8c77a21e31c74bb4c29572c0209c6befb908bb23e3c9217cd65ee11e6c5dd99332de48fb45e2204d7430c6425fdbe47b6d863eb2bb476b983758e46252e37901f7501bace16b22f20bbd74c91ef6cdc1fcf4cd09b84563ead150a50fc28aa2884f278a6ee33d4450cd5bfe2da586e37725d898356b253f32827576e3b5b6f8cb5aba97974d3b176719db7d2196456c5487d2de997bb5b6d8435674a416f9821600f78a9f90d1e8e02cd1b852456f96649220c24c52a5e7a81a8733c55ef5c3bf5242bed7f8f06d96a03b805f1e818640f3b9de70ca4510820c44b0e6d33fa844f6d1b11e8acc0362f017befababa4d5801cb757f5fa96ef38fd42f05385c21e9d51a6e2dfc1e9c9e3d0653b7e7b68048da1720ee271b47e9448afc5a48c36900f607aaa1a098e1aade0d2a4b5bb31c0a3b277637b901af4159062dd02fe94a264727bbe553983c5a8d541e33514f452bad0c89a0187b10017c528c277c697823920ebf1e1032f7c123cd09e5f57a0313f45c120e62f677f39fc35e72348cf01d5841fad9e9bb5bb1ee91b62692f2b07aad1c0d668c66861f8d7a36dc3437cd08a1c9c6135d66a2f70946297050ea0baeb803bf5c77de83d02db3189b3aed833a0fa147a233e19f224687dda886b842f38d8f9cf3eb6e106e7e2142074f46dd72c8edb39c95a42634fea6fcaf580921d75a411ba5176fb461e52c2070cc275566516605481dee9e809a8d0cb6a97e68fe15d44ba0d6b22ff5506d92e860bb25aac66ec7ee8eab0cb2faf5cf5088ce1bef69ef1b5173c190e9dd8a750b3a9004045b9cd3788a0c7475043e7d40eaf21e9e1d7faf26692b5b163546ba99f848cec8d16c95c0ff62dac6196fe0423a94e042a8792d63712a99318621e9b942efdf3d6dbccbc2a76d55db9e18f0399e764e4561fe79184cfcda6cc66c9b9dc70c7fd86cf7ff5325954f955871a2e87909cdf09d467f4a867cd82c6d7e06d38653b02957dbf95269dba183de0d7ebfa3989c2fa8ce6227eb9dd31da270b02f58b3b0a765a0244e2c54fd6374dc578e2fee990fb6dd2225ae933cda11e7e219e475b0d610f19154f394859796ecdc51fd9d88081035ba3341454c01ec5c9f34127d23162de1d4da008ef7b1877f2df624206c4445768e5d1aefed89f3d0449d0d68d0db49460376acfa93fd5dac5e4ce43a0ef5673ccb646a63263e4a422e81a011facee27f100bdd1b843c685d5fefbedf366587e52edeb93f45e4359fa68529792dfbd0b562002cc56717cf1c1e3feb248571c7d296f450db4dc239e6b10c508ca9efb91470cbd53109140ceaacaa41685114f485af987509f04329ad49da66c99d28901aad6e08333d9282d6bbfe750f640001883dc4bf4925d64f400b37e042d2d618a2ce106c7a837723a57be1635b5e27c6de59650ad2b1e13c8a634ab0cc134946dda50a316c0162d8c095ec1c005c7fa6a24a2bc3355eef2310ec2b991a03bf6d6b1cfaafa8f92809e8ac3416eeac7c0e91eea12d492090f169482ea8624ca0aa079dfc0eaefd877f29ec2a9de21cea10012eba96add9124a8079f34d7d3dbb42c23bf03c5ff84d4d74351c3aa5a9c52149491570ee2f7c580669f986fae9c0058328bb0eb90624cb1e1b495b53af5fc492cae48c135b9b2f191084c3d3e3c334eae824c717db4ba00ed0b6104d42c914e79ae0b49c630499e87eefd5bdb1ffe52db384a2b37c26a18a0d4f8ef7258852548eef9829a9fbc2375a2240aaf97a08c926f18b5eaf6b39571af9b3c0e0e755fc9535e59eb530be137557bf9811611219d0e5812134762aa180be54e84a5306c8ba77e2f173a9516cd8b0565f9d6fdea4b9d6804a5bd2e93574296fae855d73c7b48636770fb948db9e8329625b12ca929139247a498de1e88038e35a3876f59708991542597063be6ab1bfa10a12b9982e5fe77fa15199a9c48f4874a5152ef799fbcc72806a6e5382d9a270d53c59bf094703d6d66c3fbe04062d2dc24cf014540a51a3c51d76cea0f103ce99de2dffeb99a2a2c6324fd657a179440f7c731b01a1efacdcbe544a8a35da2bcad6eb07c2019485464f37d4b10c84498fc0a72def0f53d267e8b9d8de45cf21286d100fcf9a06af17fc32a1bc6c490eb20a4ee325e7a21063a3ed1db7cf1e1c8767325a650012a4265ecca9508f79d1bcf48e2c48d75ec9271e2462246a62b4501d88a3ed48819b4b0052b5078ec97173dd18050e0f3e01c54f9baeeef62c8949c9881773d3d6de75b49254888e46e8552c305c84a5bd51c5605d599bedfe720e1cd6ed7b9952a64f5111b66585f0d3eb293d59ce72747b2394a098fdd986315b2e2644b991a7cfe99d8494e971452cf291c7ed87eb352729ca49e4d110681a1d5028b4773c79fdf07cc5283ccbba79e3c0ca637855c7692a9c5d55dd2af059fc91bc9b01149817da6c9f2ef845e6f5ff0ca20454704a4139ab1c39181fc63d894c49f9cf1ba3a4eeaad0bcbd17a6817e9f15e15d496296ad4cde86909b0e596d18402a6833986a17ebf30542af3340f43a3c3e14093b68a00bc498cdaa5ac9beb7c672117d4aab8c53c5c149b1e38421fa2de0fab18708e5aa766dc9726515349bc626b9fc4055931765b529fd47f73f1699aa4f503edc68c188eab8ff6725498ae5022f60c45a7bbb0d80f56416b3a922b8951a89a65c60b83adfd62398dc8062223da1c39c6110162d80bb333fbc6a173acac290536820d2d3cea816218600a0793c5cf795bbebe3c1446fe574034137ebb608500c54e051afcda190dc9353065c1e845b25d05cb5d6237183e19a4dce6eedb47dbe26682a87cd1e5c0d3348e45ec38cb6fbb48965a5c4467b421921ccb696e5bc22c21caa06a77570a62a335f0a7dfac6849d84bf7b5ff337e4d0fd1e95305f98f65121c8a62bd14a0e1d55188aa633660666eb9ac4ede579561d6808f9aeb1f1703d957fa43fbb447cdb95196da56e441baa9e77703b5e583d5a6c5ffa3fec3d3b2f9ff8c73aa803f81a5290f470af886c5e20c9fe983963683b1874a0c0fec543adb718dd0a1a5d78d8bfc3dcada9f13b24e3c3dbf51d84d89bb3721e21ec2681e272a2cd2608c5feec1651327dcd536b276d30cabbf4aaa6d1a3a13bc55dfa5cc20d2982e2e6fc6fa2c30e2840d905fb55ce3af42220c771693aa2640a9ec4be8805b2926e33f2db2e8016ad249bc623cabfb41027163cd051bf8f3a19acfd38484947ac2399655472d4dc4c5d5260e594e02694ab6639eff55b98b85385651b1af6942557795a2b4e1a7cef321a1744b4374ae94759dbf35841d4ae14bc1c8a7ea33e452d2392ea820c7a635cfbe08c92dbe2720280f1a2f3365ee0d73a24e1eb121e97137dbed6e2a53c1ffab38d6f4dbfd3e435689b4543ff14b29bd0117e095fee10d2f219d7e063dbdb7b437a81aa9f24096432233858792387784162caa01017c6a79fb71f321de3fef593227e148fc2584ecf9425b1217b6ce49c2d19dc37cfde48ec4cc31f2a480f2b47f9577412b907dc65059dd6ec185fa119b0b9f626eb13705b4d5b9b7c96edae27eb9cd81264c97d418b87a66664c84b7ec965fc4444eb006eccd59b967ef65ac5f7343bcabee92d0a69f2f493c624edc232ea659ac43b39b61260aabaa42a8b15f6793da4aeb8f790b40b1bd236edc89b75362de806938a74db98d34cb2620127615985eec0900dad64cdb58be7e9dfb946e23a4af14b432dbe72ac70a9550f13d9006adc0c749227e34a78dd1a5962ca66d66c356c6f3f955a038f03f7152b4663cec0e2b1d82cb3331c3b2d1724db55b047703a0c61ba96a8dc8e36b1a4f5ee6836e1562307513646f32ce9e3005fccead03880972845ff3949fd5881af71837dd6cd287f6b225ad1f58c394774ddc05e092468f07b2f87906a0d9906ecb2eda212695d3edc1a48919760aca8d83c6faec74dea0e7f29c0edee751c451ff616efaa6ac1f74ec46db2c7cc963587e9d4423234b85334bad44db1cd7fef07c4255e8b0de8470275774a6cc4bfc18eaa71acbad2facfaee31692fc0f14a022201e847f8fcc12e433337c558c0c062abc0f7850e4095bb8e1633ef63556029da744a129aab5e17ec91d006e5a02431a9da877d18a9d72a1ee43818cd974bcfe8267eda66301ad0727e825299bb46932de02ada24cbdc11f2e4622bdfb76a37b697076555d30fcb6a060dc988807cd47d7b7f6e73a2acf8ae99dfc8af0b3478ed24068974ee5a6a577c684292a07e68f7f96015f179460f93409a52bc00abd1c9b1b485406b35c55a57860a2a3e28dad44530ad858738f69f9290b7de22f8d7f24859373864599beae1b71ef76b7cdb8786d311041bed5d0d9ba6d1c587e50b0c99eaca6fa5cb9ac2ad21b14c1aa6d9f9ead1abb070d0bb04be0f617e3f9e07585c512a07aaa15ea56e94e57e3de33a663eb60753edf91ef25f87cf0a603f131cae72476162477758d219da10707f26ced773e2c4d98144fc288a353f6fefe0d04450823e342256eea259448c0ef3bce55929cc170a8265b869b6c831bab8145226cf1c7a70254ecc4e919218412bbc15c9dd8915893327af007590eccf15761d550a4e842e3098003e7ca5551cc9b9cfb9f8eacb991cdc19593e0a244aa3e0deebad5981db61c9dff1a92eff97cfaa029eb7f532f7066adb459bed885b215c68b7793cc812c255793752db55c850fad30970d12ea9566f7b8ce0d996ccea8285e0c70e726fa0683630fc4ba6561c0f80a6de422a331a722f0201d31fcfcd923ae52ef158d450b264bb3660881ad0e4fb4bb56af89e7976964532da3847e1c98f26c055d0e4ad7a570464f5cf0c22ca72a90d75d5a386f6f19d9f4f3381773e2fb24b76572ebd74873a3462402210322e63c1bdf2b27a620b4cf9f0d20abc87b0adead74e8309c31beaa9cdb0d73e0327879c17ac56003ae232daba75f4b5debbdd388e07085a07e0f6f5b069e964de72bbbe97ed8a64a7c01c2fd7275b3e494047e0d520b811c768c36c49cf3267b0642f750010467727d62dc8fcc40a55993d0d79cefc533c4ac735c2bc6d347bca535937aeb2271bc988a529e5a6c9183b709ea594ea689468fc7b86ba3893dcc3adb2ca1be7d02cfe19fa490a8aec88cb7fbb9d41099f2170693c2da3ae0961f01722f709c92b15deb83924d25cf0020aae2d8628bbd6958e1de18f8b3e54d5e513d9287a82c3028f7a43f341e135eeb6c8d351aad05804700294a738b6ff30e87b45e3c0c410237f7e67c844aaf27de9b665037fe464560623dd07c6224964df641f509282178ec1f156b03c1f804d0cf0bbe059cc16c729160a6c2e55909b7352cfc4ecf811f04c2e45dd166094d3a5c09cd0097b1b6d1647b518a3e7d7ce0f265d9d4a2b31de26c9efd78c3923725281f7858c6a693b3a7ef6e9c235e803928079d9751b7cee80a9e7fe8f0ee58ce2a68b96702d715c8f4697ceea652bf7ab6af18bc841c12187628177e76712b87f39d46caa8b0b8e760f48201cb740963e3f3aa1d1c259b768d851a9eb0c5a300892759dcc87605dfeb756984131409cf390b22f68b6f2d6f3c062bfec6e120b6ba784925beaf4d041814ee4afe021dab9977e6b02bafb6df3aa9aba09b8aa807fa2e24365978c2fa51c94f39ce2894feaf89e0fac1e446183727ec599911fe3444a97b39533faa470ba275ef2da776151e4b58d712744d753e5d1042d75c621ed8c4aa6aea1583f1a4251e3f4585a7f846bdae3f2848588d097965e88800e802ab1bcca799ad7415cc60e2d1eb0820ee171ed6ad5c7262b7f6c80205dcd10699be9e5a178bae4bb1e808e1d850051d7fb3fbc91fd3df88e585f76d697929d1ec55e5a3c08e3ebcd2c4cf10810379905b884ab26f94ef3e0bb191c33d94395761e868c23f042b09cbfaf4cc93fe82f0de4f45017eb453c64a0ab59fcd47f10b8d9dc1c2c58e713be2216970c802fff7a853d3141a0809242af4e11998bd591a2cab5264cb8e0e2265cf59eb9495e690e4ff10aae5bc62e9f9d9972e99f6c4426cfeb1675428376e57e81d321d0e775b8b37600576e757815483c8e8359be8802e1a03e79a2226777902eba0332860380a8229a57eab67e9bcb947ed24fb5bcb90dafcf1d8e4c833e1a4421aaa7caa28dec91b8645d7c9fc679fb565d439247419ba1fb9330c05b06841f22c1c99f8eb76c3df370890c8a0a9e25e79b4ae1ce38be18a14d72b0d8ca00ae004b35b6ebdc34290077a892745dffd29713368bb997d46ca16c77f5e588a32a070ae226d9b5f00b84dc964e958a56a3ee0d10c4a5e9b81a33e03966166437f9fd21e7268329d49acb096f3015594ae3ccb425c860703d2d6f0b0785192ab554cc2b87f1f50d69ebbc161a278d312eeff036a8ea433a92f83c6fbb788a3574bb6fc715e6861bfbbb0449bb6c99e1996a0be45e282a326bc210d885e1ba15533592a83d2778fa4e1d5aac85d05a4ba2060a621606180f7964c97221a027ee4f4f29c20bb07252191568a190d09f8fc7a2855900716a02324aeec48761934e80a8b3603bbfd41aca5280d0e9567318ec944461d7bbe9f576bb4f8fe26110ca419aaa21005a52aa303c04c497ed62e7bb78da98644a41cc1e3e1890731c14103b0f17bd7b73631e1bb6c7d9f9fd53844309d2dff39c109954575e9cf29355fdb3d551b98c8bab56a4f47c8d9b64c0f824170a8a64c18b41b13329047f2a6b5a245d820b56b618b7fe8b1051fa29e90adc03509602318e23b64ffb05de6fb236d3e5b749ad963ba80599c76cbf94c7de167e5c5302db3404fca5f80246aed9838b3bdc563982c4ac354cefb41eeabe097d77b0266f9de49c7aa19c66bc89243b27fde89ef0b2afadc8d0b6f09f1e6c5a70d85147a73f1b719dd90539c023f25dc1e2d727ef6a4532536d9e91f5b1e0e9b98f31e472b54afcfdbd5b7dab463b516150bb0cc882e6001dab5128b6b5243e8f3a0c9a88cb8d19112dc8c18ef23f2c80a5838b987f569043c66e96dbf5a076de0e8005872ba600d43f3833b875864a61c90698399f24f66d64ba2e5c9b70e3e7dc1bd674e785f54aebb5b9601dcf9d666f125f397e5f7e44758e6ab43bf7ac2fe54aa71454dbc432d229eb4a502d91c901d116b79bac4c200dca9c273ea280245bf60b7fb15ec9620781809eda487ff130eebb198a942e731d1ff64676899f85d523f9c1bac35da49f488f6528b3dd80565559b6ef72eec71e4e6d766bf869272bbf18929efc427a965e64c332829b1f43104808ebf482eed26bbd56624f3260e52533e738de2ca0ad337372205eebe5391f4776f715451b1104db84c9b5d4863e5cb42673121738a34da3cfbb617472dd0e4d76c3f569d2ed4cf1694e3ccd9056c110db288ffcbbfa04f1efdc2f500a712e9510c0975cf41448f0d58b5e79e79a5147255561ab15e01b7aa4006756ad590623cb8f21006369b8d5f806810882fa8ea790b3d83d9d4d69f429cedec0c614d191e28227c04872deb875646947d43ba44a7769c01a2cfd1a6a7243f15f5186760b3e257fa02254322fe6a921ea602f06e2f3705bfe2052b4bed99af53d98f8982b02642df1de1441eed932c245063449a66191adc8ce97115b0d56c849b0e0c6b5261f4609ab4c4a175b383200fb85aad788883f8d1c63106a868aa4a01996fb84920eed340df2b7a7d95f1d630a5af3587e5914f50ebb94dab49f5897d3dab69b1565c741a4ec7eaa3fe52a10d1a8c81baa0de96a92416eb77bf42d6a0fefd0a85308e7b44011b5085cca5082686f0b59c42c7458a87c0a6160775f9658ddb6d572e127458eb78dd05bf801c4bb9f1e868e5d6271ebe693f9a38a430b959f8197ae8d5343550317f8e9194d5e434a0493a0abdd9127d93d32626536dd8a4b058641d55b5140c3900e3f76f13998e852bf391fecd9c7239c356b701aba4df065e13cb834fa578236b93dfeb75a083260a1fe80b0c9cf5adef043ad69ea3f616424a78054a5094f95bf05b16e71225cbf646bf5a217e47719c168131b08059d3e5856d44a2ea4cf15182d2631df722f26351b223cca03016a26ad454636d9509c09896a689db60d7d3c6a2f6bba8144bfde5eed6c83b797545b58e06840105705c84d7e218543b3f4acba3a8f0d9dfed88068aa2f3329accf0a2b52af7e39c232ee3a6c3122c8ece500a96827612f8328b27aead371a2266ab29733723823dfe301663a9edc57b754aaa119642a02accf819cfc0a6531781838377936ef24fdf3137f6f25cc5a15241d589d461c0c2816a436487b614e902f9f0aca7035b51452653fbf2b004cd0e3e1f9f4b77b923208b87c7080b7a2d4fba22afe3fecc0dea977fc778c39117b09c1a639e959441f8e10a8562838c10f397bd8f495c336562e5f5994ac260c53db005c8c85796313da277d773a628defd34e0b892578058429140f77a2901dcaa21ca42f4aa8bb44448616ebb4ff1663b13d6d1a4ce9063208ebc6da9296e873a790f23f77f3ec44bf51e26798d8ad49c55a4105ff927ba82771e98964002af5f4ba410e04268a0109d85dba1f2f6177dbd3f45373fbeee3a6471d6961c1ef5f611a6ed50ff177028397871edf9d85df228d15a5a2c86e84c5e8e08feb2b0ef963582c11c3f2d4147aa6cdebda4a354a81bdefaa14067f24cdfff3d015c2fc5362112091f4d82e2aa3491b071c773c42fd3196349f30a0711383807900c40b4af93f9e27cd20c7c38fb0671211dffdb4f65245c3fd48db26d1e6bbd0e31679f44b9b7b4642f59fff6becadc4c1589097d8e43313876c48b01babb584a8413725cae78d93791bce2c4509c83b7171ba14496d757b9f230eb87e9e2a481a30c40210f8bba472e297104bbbefbb19afb5d7d0bdb263e97f2d0fc150ee93374d89ad3ce7e0587b15460c7af88992b89d850938a39fdfeec4b4eec0da4c72e0661718f234f15939a35a79897e1520cc670d5751d69d29d78103edd98f50f1084663f02a5d20abcd6185afd0d3a97abea1ec40e63dd9c44f8d0bc1ea1528d045a8bb2fd45aaf4b3a8e1f3736e5edb3f363e126ca1c492eefbef1cd7c80ca02e46abfc45c26c732e07791a587a018e81b17bf4e4145b2936b54c11c141c0c0f9185bbfe4cfdd5a411b9a8f5b1ebe9331783e97989e05efc72fde18aa729b9d904789e347cc806d113938dfcb2e184e20947003801313a7eac3805ca82d464259dc27c9f7cca9033391d5fc8d3763e1f214c297b98c4478443f3ede8458ba644b92024fe8964ee03d38e680db676c9db572afb743803074e74d9b5a96eae027c520c1308e24c65d91ccb59ba9345e2cf743eca69df0b6835850c783b8b07ebfc73751295c870262cb013914492a3ea9231e499a5c8e8ef3250863bf28c3a2207cbdb51d212a696acdf4bffafa37deb65a8e581650fe21e76fb7c0503648b1ee6007260bb28fb95a4ca06a35261c19d877ac5a0a541314b087157d3be2dd59b5901a8f8714a5d8a59f92e361c82e9b9792efa8cd06516b01906bf54c00be22a4dca5b332fe15991af6b01e8976e7bb355ecb34b59ec75e1004f03cda2bcb4d4f7634b9c5c4c0f4943648ba0a67d1fff0802766a980c6f1d5e169fe9c93d7adb512c3b20ba1fb3fe22ef4f1d0e5bfa962e5f4339e67d56ca1fc424dd2f06e5f5d2d6e9aa2517405c358145948f0945f74c0b4f0d27f334a9820d4a7222db3d89cd13fda731f085fefdc3952b239af992873976b33831c26808518e7a4ba2458e6974044b5cb24dc0cac01daf345976a9ce4c34fe9a8bf567c93c00b0b4e73a1ada2eaae7429ae83a9a19a045592b968575dc30d71bf7d1541dc0a6d8ec25aba0864a47edbaa687a33dd53264d81db4e62a5362c23e59320d633e8046cadbfcf953fc6229d18570eaee03d9d097047feab527d14c1cce0b7bcd0702437f22e18d1b414660d63b345dfe32b7204430af051831db891788d69e196e56c3ed8cf36f1f502c110d5f557f8cfb042327a2a1800806224dcb280abf06cbdd1eaeba8a5a3b301cfc956ae4557d7c8f4a9e55686ff48469cb9114401fcda179f911b9fb64575a9bab695d76a5c795cb6d5df11cba6b477ff97dfbba15e4528ea6d430f1f98f100c94be6525ca466cd9a4e9984085d45afcab5b3a4ef2f508bf2605c183c741df0b22df092bcd654b3cf65cc1acd42b79c6be6be2bba066f48bb2ca87f2d56bdc673a5ffc60c5ba60e681e5c6f119d1fc3180e73d21d12359c780d675aab85d2399698e9bd9b392ef86aea56f98439b5b0d3e78f9c2e6acba4b392ff16d9160ab5c1798ba080481a3c2c84851a824f81a1750e18a2ac4aa1d33dc108c7a773a7f2cf94e5036a7cc23dfded541ce5949246041199ca518cab8ac63e444860adda60fbaa18d290ba2bf1c87183cd0911f716fa3ad4eabdd4fbe10c6555d0661203b830ca2aa2ea6414f81e60549084a81cf652ec09da621486a7e0cc7bb45e280c866f714292778957bade61ba89b509e8456a36289a6dec552c6abc302aab29b4b4a90989fe9460d131d33ef28b8430a0a8ae11d2ace8a6dea906a48ce9780258b8d4d2bb81ddaaf2e466f875b205a9c5aa8738d4077738f981e19394accffa8aacb952429922af3f8df2b2d2deb0301640d5e1b7127641e18170e71d0f74418c38bddf87a0d433f902a465b65e3c6f018e0e557ea96028ce590d511decf363eb35fac8e47ea7a6b7fc6fbfcd92bb0d37afb9a2684fd301f78733aec9485d75f5b2dcd1d0df142da465b03e0c90b53429e87ee7d91bb7b3c5215a49824062381788093ceb9af4a692e0e927703af6e6fecaae2ebeb84240ff703ec9036f016a359d2599218c46c5c537792c421f9d823bdfe4790d4b06e5032b199d64dbec53cf0af13d7dbbb6c927bbda41fe5689fe9c70aa17c260113a5377d037638b29b56d278fd658bd380521b76a43b336df82f20f20d4224f4d4a6ad879b9627deb2087c4b929959f4cc41dd34270e5bfaf5f1b8b736ecfb42fd9a09aef3adef7a3eae89813e79c75a1450ceccb1061b38902cedb9dfbf02560e043bacbcc179588a394432e89144bedb8b48cc4fca67584367e371440dd19c794ee2821b837b279f7f978493ed679437893db9842044649b640e645ce400955640389d90233b89e6144abd64038f32ad4837bf21bce3f1c345757a4c37d4a84064405e90d8ccc2ce58f46b98c654ddae6e0939cb10ed50d17c2fef90d61b802b7c907fb79b7444bf23939b07553b9ba6f30411cc534101597807977c4623e640ce4cbb8970c665ab3dec386a33419acc06e4a413f252a09f34085c4a8bedf36fbe031d5174dec1329b134d2bb8b3f9c7245c06de2435ccaf0bed1ffe0ff843c550c6848fc5a6d8d0d2d07b26bcbd8c67e692ef347c521b90561c881b75810ecd2adff82a326077dd698639a6d9b31e6d4dafcbfe0b477967f31612d370b9c5bd06fbcee850f47b345d2830e36a31b2c79db12dbcd590e45f36342286addbbdc8559130ebbdd03f69f47b3ac38a307e0a920b03be3ec7212bedb883abfd7c8e21de3ccefdb9c7e985859eb319a7ab02ebe609c683070d324e4e58ccc3df209974dfecf1189fd5c70b970630b9fd9f58839d074cfefe0e0d7ff8e4191d79d07bb05d95a0e40411d91920c5e6d1d7760f32798ad543952c14dc03cce8852417de1ed8716d891093bccf781d6f898ce3abde837f55df826f555e3f0e4b411a70e369c4ba4c8aeecdaed57e2e0f21736926adf7357475577e3994a10ec34f5348e1649769d1c14915c220d12eaf2c229aa451851a09f63b2a3db2c304b0333f433b17893ffea9bbaaf0492f81c99079f236eb0d797055c2cdd18dd61fcd209a0ea9236ee00e98496af484861346686782224c7e07c2242404f54f1229c7a64d6860b56b194b8abdbefcb43b2ae6736f0ef30111446c4c1ea90243476b9ed58869d6497ed2aae195c193dfeb50700f08ab1d91df424c27928cb0dee8aee40113017ae78c4048f024da9bb57498a1343c5433a430ce563774e7d5b9a7fe95cafaec461e0962b5fef63b91fce3372f8c20eeaf9be27de5ffb6a850b3f0fa0301698541b3294c0261968877c9b7bb1d1fee92645682a42166ab45f229a41366b495837bcf497f464172fb77953e473816669a7feea21a94c91b75c64d135fc2d7c35136f8a73b7dcd0e2b2085d5bf6d212f7020d8597fda1f3b8d51594df39cdba66a47cbba8106be6a813da42908b8fa549854db5b598a155de5e1dbac79044209d06d320eea183adf37da4655504151c6b041aec404a24dee65bde1e7148875ee918e84a163f0ef99ac1da27de5724b091f947393ae88d47dc7b1aed468228bfc112c49d8f2abdac573dbb82c270a004b26de82122258e8e532ef0d34114d27d18692f5c66f545d934575c2594059c65dbd5f882d306a28fe4fee20cfe234a0b5bb99af445dbe5030794b48403746501b477cb4a74ff9216fe620548e4ac6cb0b34d706b16633532b4afa15d1f18d3157bac68b938e1bdc61d86826084d054207181110b2be4a4ada786e448be33f78e8a918d37d62a147c9f8bb8de1da476fc08a5114f08e611261225b485c6ed11088458b03f106485d924309c90b18f30a0cc02f5ce55889463955a18108bf610aece1496b82f459cfd9be6d24a4b232f73868b44d73261ae50030d4f93f9d108cb39adcef4ea04e557a288a7172577a75faedc37b24587033380b6f1c8408a1c31a79e8b632baffa147cc8e8fbd963719b9e80d21b93f6d6b988e888d3dc7a32268c8799f67feeb84417adc5b647d873a834d85c7fd780e904cf565268be5b8f8a775450715aa3e3d6ee292a44c25d2327dc766bb9d70181ee2aa89230417bdd3ee24f9be5cd9a80bce836e9a2d043dc53bea8ebc6187119b2865a63ca808d9e7e15065b011f93c54ecbf31a4c392acb43d213583b54f12cba1517aa3c40d60daf628afb08b7e794cbdc8160981be6c582c3ecd6d9d16d74d1a74ae274370231d12f2495a99e33a1d8bbb7129d02904ecd29ec74ecc63f894329ba4fc024be6f8a6f635c675085d623c1d30d8978ea39b5d8b01b67234ded571a0a0709931af75312c2015a23eb0e8348b98b36597c280d70877c13bacb8225eac95d82457befcb8f34a8d63f32289fbad1574f6b98695650a718c2be691eef6d39479d51f9cbc1e8ece08c0baacf986739f0a9165fae41b6e75049ec9d605c7c17604ca73c10bacac103ef579a528879b6b0dca4096b361b84645b2a9817f390f09645ed0eae104d3bf52fcdd97dabde5a483f6d43f5a340338b3fd25ae4a9dd46bcf945e4ffa19c4d3438aee6df1af571f2e841fc1acc35562119e6fe8a65c3b1e250b04997a732869d008248ae478a5f14beab47d3df9e0497fa1ea3ca0fab6339e612581eb491d14ee9de779c65546d29945c8ecfe55e38b1e0fdbc0ac4c19c5d01b7a11fcb3e9b4c98429d38898acc6a19281f76f7b4e35b992338d2cfaf48427da2bd920fba87a0005dcc8cd585fa3cd4257ec6f5a952cabb776d6b4ab252adf567d54e5c5ed2e5e928b497d9394b71e420b96501ed70ee0f7aca2be4621436b474afa4c1462ab2bad5f67c0a8290c49550a3a7dce0073ba4d421fe776dee36d53e5b381bd2283f7e0e1fdee48b5495ce87bc2571d1405edcc453f8c990b86daae0977451857b75a3c54f9ec780e8e66d4cfeabf03492ceb3c7d2da7e407a28ad256d56390e47dd20b4d635ae7a4bfcd6718182dc6dbb2e92a88084aa49f7fbcfc8f34f76da818fcd2170b4ac26986ac35b4412556156ce3b8d94b06d5b21c292fa570817ff9af5bd7aa909d9226b47358cd53b6c7ad60e293950b5e9ad4e67709d062e460181ba75a55b38270aa59a85b97ae0f4f8414a0ea3094bd2485820cab74b2bb35dbc5d6d731c48772f1b8a121eebc82f55ffe10f10043f577346f157e08f9b37fe38555dc72b338520dcd182c0f34c02bcea3b469112c22df122151ae226c27de195db544ab6bcbbb1370f18e6b87a15f52569a359462d7082f5f159e311cc1199ebf8f48f5cb7ae20ef74795eff0a009b984b27cb045fb317224bd9cacad7b2b88aa6ed84c81ead468330681abc841556b6036f8e463f2f3f5563324b892bb81dfbb478362c53cb0ff2f1faed425aa53ef538b42b374d7493e622533e43b34adcf677fc842819a461a9f4a732ac6f43bc3740ba7452f8d3366313eb44d46d97e46593c9e8bdc9d67dc2c211fa7f137a4f7440cba19b78ee6a1cb9b82221b5820ca2e534948db7eb1982b37aa6e02c5969f98cefac5d4b6977c6ae18d94ce10009190ea5c0e7311f506ca208715542bafda1092f998ccbd105e547f8e0f0ccb95b77ef9ed5d97065f5686d3f2db366a209a1bf9530a0583cd13b388140680649378e9375d1173d1c138df278c82e5441773d2bd0d5b04e9d9a69a45434b7ddab3d3db5619a6fb12958e7448d51ae8158f9b8c41f9e86799b577a68b2c722286aef784be1e9a5981226f963fba93cbdbcdebfafc543d8b67e4cb27ad329eec719c4f5ccdcae28fbebba36e319ce0b8281eb6cae6945e2aba5ccd971486b70fb1dd42e709a20d9a1799e602aec57c03c259816f38e72e95670f238ad208bcb94886323a21241ea8dbc75b67f21664f71c0656d200a319ffd7d67bebe863cfe9283663a2d9c0f96be800d20058853b10b9ccff221a8821603b1073a6e85a1da334fe2defd70760086876179e545ad21a8feaeb08e333495f12cb44cc242f3205877d307b81921d3330d09045f6f60a871281fbb8cfe2c20cebc96acf0aa58556c5116bf8aad3e78dc4e34d9b628b1770aee8368d03eccaec9d7711134d6434762dab877a253718416f8bd0a70ccd6fce028cf086da06cd2b051d760633167613722b7f43872261430cdeefe2411b91a34eae84c595dd7edb1c756f33ca15c3df063f91d720722d64ae1f305d3d759ce765b02efe8d71ea962260a3cd0c5bdbd33dd0474a3ca83dca70a191d5b3fe203eb6a2890c8ace85e3aef8e8efb5a9bbfd3254bd2c6975d2f41b34f9947becd12c42d503e8bd78aa18ac6e3b03663dd4f1ed8b19725d18fdb96d4dea05e730edd4e4e25ead74327b23e3b7b26176d7f1d0d1babed6c33751b02220f1b4c0e2256e6ac68859307292e287e5420d5d28e67f85375fdc832c9aa3935e9cc2766e25884e0ac67b0424ef1cf53a2fa92d3fd18168d76ab50aadb070be66057096a846aa47980d1a77ffe2820263380ad6d041714428606c107bdf20228a0b3556bbd349b8c953840cad9847ed56e20b9d6873ab83adcc8524d76abe3816400062812b5dc37f4cd4334b26b08573a4dcce7a7cdf1866ba8802d567781983463af02b25ad8787245df0fcd95b2174c517a24b10d36f9eb6527311c5f3d70e49804146ca7daf4dad17ebc893f7284e5d9417049b5322e6ee408fa4bc5f66acd3426c936a774bfa12b4c28cb53aa37f816be89e5874870cd5e31c52cab835d69e208268fd32a0bc14292f5a3f071eb146dac2860b17c14e5e0355bd12c10a4925288209f9fb08e296b84f7dfbbffa15700a7f926ee8cfcdc1845a98596c24037770acbd0904ecfccf64199225e87b3977766f1a3f90cb0bdee625ee7f7a88abb014c1f5616e31a0530141ff64a3512eb8eb523a6225340533ea79289e65d8715fb2156cb9cb7a86aa508d088b7b62a426a5036074a65aefb930b1197d6393127262b7c86b1c7bc8195828882bf55788948a6acd2a9e70d8f96d94094d07737f2d178f90b671c51674df6198d0d5b1400c992db63e2a886239fcf374ebb87f111a3358ab8f572c7a9ff3821f0d36b27144c7ba7af1e6a1f52631d2a50a22aef73e8ae451d91ad249012a6be98bf5a85ef11642c936db26fd2e6f7b4443664e74ae2f770944916b77988dd6761336fb0111ec7a7bfef97814fb5d24c9ea527f7cd73bc678ce017302674fc22bb7ba5510bad3932221cda215b1d9c3b254d9013ba21558a075b201816b00a6e41f70e93a625187f76b38a6b8c73683b8ef2c731bd202f21987ab26713f31d0eaa838a06e77efb980d9ae90ae0c0a20a7816b122e5d50cb86990d62d9a9d016bc30f16945bdc0bb441152204b9e3c12b7022f3dbd60b2e3d37d6ba75b18593d509f4aad75b387ed0a2eeb3f6f8c5196c8b3c589a114087b8df90453872aa7fe202445119b3ebe450755b6f7f4fc5be65fc547f8667d64e6449b285687919e726e98869a6178ee8007c07907465587d15eede7e4a1e2a87235194dfeb6bf0ba17c1d7ea515aaf111589368116b45129e2902e7a5ffb16774bf5d0c6703608f51bffb98da846915d3117a178ba3f2bc2fecbd38c2101f0b743f00e3b22eb17c4903d11d85a29f57752dc6ccf5f4492833b21e4f643be1d580277ad3a7732d03323bd0309cec08eb40ffc30559bc5a9f490515bfdfa6a12d4c1662e6e3460499c5481b0c36d5bc5eeb1f34a25b1edd56ffffc75e247a405198527722906ad678e8431b7f55c0640259d6efbf2a1e834b30dec75492faf1891c82373385b3bbfa948293c7c3e34a3b0b9618cf993b97e5e60b5705f3701e368646012b39de78400f45103501f7cb439fde60982da0b8fe92e51e18de988b469dac536a8b0bda41e84b87fb41cbf71fde93147311ef56e508063bc9071471c45b07a1d020bf878aed174b65d46fecc44f01a853e2ee862e2fb0d2bbc9c3baf7da452ec6009859bf7ffb05d104b5c3661710ff1014ef5ea22941b10261268292816b9121f2d098f07e235fbaa1ac7902335b8be4d3ff694c7bf901053cd583788110af6d82d074675bb4b6d242c1fbcfd1f51c97f715a9e3978a82be23a00b9c0ca6343d585ec6e96ae73456b8f5056dd4ae00f6f72a368320df4e7813e30f64f19f5ddfb99846aff1a3b1de8f96f88eba47e3dd5f3e78d7ec8084ed65fa8fa151061d5fe47988d967817dbd24f893f5527d7558a70c154984ce5acc3804b927668e586f84c11d25fb951b36390c58b1335418d305aed6a7a25d3a8a62f931cfd30f1ed218442f6a76b34056bd979d8b362e489a679b899566f955c3ae761e273f6cff9e4fb329c4c263a41a4dfd5c8238d26e7bddbac7b031ab4221d537c815a3b62362d92069091ba310b8105d86e781c947b0a2845ac36bf9e075a472d6881f9acd9298e40c0b37910b8081911c916289852df2c9f3ebffb442d907173fc0e250c6c3731eb471f2fb60f420b9cee348696c47c701b8e33abd2472a16e913e52471a6a9f25acda8962eed21029c6c79554ff0044557ea1dfb36876119e4546ddd62589191406c719f09dea5dda4f2ad29548a7e2f6cc7a79da23cdeee57b2718a6a462732fa192c952c115cccc06680136ea60b6047fdf968fa8d0fe20f3bb78f874f4298631749f06d915d697520caf1b86be8469237fe77c84e076259da28a831a2d2518609806ff0d3d1e05f73d9413cc30078261b87d1b272b66eeae10215bc4c7d90f95fb7622f4e266216d42f1f6fe6860dee5c3d3528b2f059cc10b9d1909a6835d2ebaeb676e96789b3a3619ef85ae0225a2a48545a2f87f8c8163de60accdbd8dcdd0d7b6db8bd8fc4b2e4793206c0800876347de94dcfc1a6274e957139d1d0ee0ca87463ae916eced7df0fef9aea62b9837a8ad4cf6a068ffaf4f4d130041bf953facd0445ea08fa91290914ab148cf720eb19557b44ede7e1a2d84ad6708ad14eae4085eaf8426e7ec1a6415dbf9add42b19105497d8edef3dc8375058902bd7a26656156d4b5f87b03f401f77fc9de6d839f7bd44a493ad7157cc15fe14f70a4ce87a74e0ec4cbf9d13c24ff3bcee80b1d64cae77ecddcf1031c49335ad9e397ba283c1db3dda38efbb5091059886b78cd843e90b94556a10a504fea0cb60c9dd0d86064e9ae55530159403a9908b10b7275efc51604eb2c6a559d0894e78d531b55623fcc8b5b978ea1596112236d13a2d63b14965a2b5fa6bc6f7c7fbe79a85adfcef6894321b3ca26cc5cc76848e1654da0bf1e29c433e63f8f9efa63e01fbccc4437e50fb6c5097b92b54dc6dcb60f1bf7d08ff96e1507ca4ffd9129a8e2428b99219f08c4c77279361ccf5b1ae06c6f2e63982c954b91264ca1d04f65d0811ccbbde460aa7eaa75a5a656889e61b6bee56761f9a9a4f0e05e738838f793e5ec8f700d733e7a7076fbaed7b54d0e3ade046d8bc84e2f397f89b889790f19b4dba1129c7e43b51011fab90e06fdb419915e8a2f209789ead4b944fba1d6ddc501275a3720d0a2ececeb0b2838663177065bb75e33f9145110a1cd4335dbdee606f70ce25510f94aea2f56ff04fc8d53a0635882e0a22b91cbb6a7e515d36e111ac066072442dd6349ebf271b8a64fb0b351491c8a02a67f9846ba3e7371d880a74be5d384ff8aea8d68cc5fab04740330345c8b3b40881263ea4285f6400f10873bb70bdfe0af7a852eca70bc9765f63361cfa2f39429351e40ae739c71f3269794221f8ce5048831cc1d4f527415c3061737d7282453ad45e1373840014872c6df2124a8d6de045be57267464f94a527bfac8097147fcb69f49cb4a163bcde3f41631b94b99ddb5dca6cbee1de828d22a5c1c703f6958c96bb95114f838c03b4428953d45fe3daadba3c78f7503865a85a2120595df840742c6bfd64080e5dfe804fdafdd61afb6b3e93c2c98afcd65d393a11a4d0cc9d29fe72d7d627ad7eab39c6d1036d5d88703888cac1a67fae344238e70e2610610223f40c7166383320e938e6591b06e4218604b66ac8b6a75db8cddf2a48d769b2ec1f377f8810496e7ac7d245eb0d950161ebca37915ef9e6172896a9473bd0b7b19f58c592da84a96e4c44606eff30e3a7a1f434b2239c828ea94c522ae91f86c21739d677d04fdbc1cb41ab1a64ea283da430c6b1b6d8b4439f868a8fd360c455324445ce05604299961c770689e777ef2bdb72a62d986e33fd4a9ad6cdbf5cf31d64e24fb92edc82995d46d4d719176069a2d026ed15014d1c687e7f82be4606be72a26d125c786a47824c8a145e020057e8444c142db02318378871b2e7330ea0dc8d2697f9337f1f5781a3d9c11dbd6f601b34a318102566bb8c2ca47e4ffcadaf606439d7bd7178f5177cfac1b6d932564b8f7657070c3a97683b57deb554608ce95de04631c974e4a6a6b9e98eb3e3760b42ed33c96fd53090ab0b13eb5ce6347a4b650d9a579ca168428a8d0b608ae4e1dc1bcd111b596b1cbf00f8da27e25d5f622aabfba47a064d35f1fa07e0f29256ce1b4a674dbca551ca2da080b021d278245dacf75d60b3e846a434f883156924ce78a1b5772a302f7f3aeeb4dec5bd475fe7dc4b7df00d394ffac32af54e891af384d9f98acff8183b874cc8a02554ccc5a368cb042349756662c09582d4fcbf175a2516939f201c40d74ab6f447448151fbf26eeca54d8b4eff0066b397252d18dc9497cfd560a87af1d44b614a1131f8a63206deb067951516ef8eacc3eaef44157904dd4e6d3994741a80b83205c14ac85d08f1776c019885897f05925abe901e278cd5a791c30e8471896a234d0539e092ad5d5f00945b5f888e78de252ff43644b2e2d897a21a83bcb2896711c6875427dfbcd22c0ddd52f6d58d1a9737813d7d6cfdacc8ac9f4f6e5d78f8c2893586881f575a884bcd792be683b81ca9217f0fb8b36e5b19a0213cc25b7d695d23af36fc2bbb91283d6e830b0e00460b68c72af0af34563adf2327ea4df57686c464529c3f5449f3895f638c328247b3bc62f757d0d53329c42aebc6b985dcd8ed2afafdf0d0762923028cf5b3214e83b6b44428723a6ad51cf8b64d734c73eb4d310ec6010c6e1dc2b3be4b7614a2ebc84c42bf1098c9070df23c21c5d72d2948ada3b40914881b99b3cebe080c216a0c8fdc84dd22d0fe45068c6fe0109dcbe42f334d98f0fe45d5fdd6a5da5800704685bc3467aff3878662ff1f852c1d479c7b4510d3aa5533cda9edcd0e03208a82cc350d8eccd86cf363000051d9acfde925872554707655188ac8aeeb6828075002d1cbacd215211ccbc2f1f390436d21b0ae76a7f84e0962407b03890eddd7ebd61f07fb9d4b90cf9585ccbc213cd2a8f49f8286a44e69000244ef0abc0632f8bb0978321a73800b2b82b99d37fd215a68c1d5b3acb6f3476188efbca592ccfc0db75c9126310e790ec187538c182eef985d896fda4d1dd1078c2be79b38be7a32e87563a32dc2e85c72c89de877fec986d662d47b96899f2a63bb7ac076746bac92ecadefdff40a40b3217db22e59fa35067fa7978fe960b28ad9983cbf642581fdc00788b0aae0649eb776e6cb88001077ed4125f17f7a354f18981e75b692e94ed8d1c0fe6548d122575aedab064ac0ab200e7edb255e8e5bda82401de9010f57ee808dee4e48876b53c00973cdc4d93655c778cfbf4eeebbe083a636dba6060a9aecb1ad19bf9836996f0e09047ce7b75d670acbef93171ce9a44e38ae7cedfdac4c4e6986825aba8bc93cf864018ac2918f91ffb3b085c5f86a94e5ed689fa3550c62a29554b303f9702b5db3a45a9b2ec257fc9c221a7506e4529122d624133cae9c9b7219c82c57683736437541d788b3f9393483fdd46b05ca4a5365246510dd24db1d05073ea88cd319ecbec1154131325c5634741d603c8c9b44bfa4eebbea4e9291c68fe948de83f09d26be28ebb91cac4cd8250fb04be3d972cc67b646739af430e360e9c3a0e5a370888a1170582277f44af70ff61e780b356e2513f5000c73775b719456daf092c9837fb6cded1f4d3f1ac5e92ff39b38df01424ae38e43bdbac8b0e11d93022bf7a7b25537273629f7533969309f6ac9854453a64cd36a41adce8b70b9190c42e292d3790096a2cfd4b6e2e73b9338e3b074514e595149bc837895971e1b7732b1098871d68aeccbda3c252e393b5a7a1c241c42dbb60a5b0e5d5f13b7eda91dfdbcae2ccc60d8f988ff4b9aa2bb7d9aa773c9fef22ad7a12b3b5148de837b63ead019c376520bf23e86ae73e2a74f8a75a1f125d661b4368c00db9d83ecc4559c4b1cfc87186e3c94a9326998922acb69725b12fccc74dd58110a1380b8d5af653540963cc86c9c2ab6feba566a73f86631ad7aa17cd946bbbff6c8706530f8bfe199cbadbdbbc9b826c442f7c25739cb7448a779fc6fb64229cc98398916d61997d8d241c36397e921eeb5d668f3591962b65f43340867840c6d652607ff2c265995fa222e2ec351b975d0d4ce46125efc8be7a28a3f10573435990f8d94472e9cc763bf6d58002e2afd0b42ff3f8fabc574c8f015cd7f010e0ec9e73a7a572f601dc9d69af3ee3028cf6fb8233f6bccd08d8b826fcdcdeb9769dce78fa148bd246aa1dc73727c2a8501b9c3ea7cfdf83cbb09ab8fe37533d318af8bc42c15cba5757a4d6ba405d2af15d1258bd4dd20edfdc5f9ed93500e6aa37d619229e787479f3c1f7d1e8b16971ea644fa792834c70f8558746c781208efc47b22df3cf1d6262e7cda30536c3b4831f54b7d995c2d2a12bb53219d9a31808e8072b00cc85ead03edb06d761a5d34736c565007c23e1290bc72cccd716a4c3d47a0e5115f50c07d6cefa867eb00a5b734b954dee6cf784bb8d488c0afe12d9687947c6687ede0c586c440392d12739a99f862f823e18a5d8fa747f81de2b109472ec207b60751190fd73f100234e6bf969ced1cd9ccacf5dbd026ce9d001dd6e33422a767a1a9d56d826bcb6ca61ebc400f3a1a3dfda0147da805fbc2f78ddbe00f52819130d056820b6fc0d2ebd64922e6fdb92e0d851d71bb5896eac45e6ce6eea06d3e5ac1163de54908761d622a2535b3d1d34b4dd75805c41e2c0b65418d65bfbdae87c984a692fab0edb8784772e6139966ed2dcd08a6ece0d05f9912569877080b0f8f63909e2ed2b523ae46fb96f487f72478b37f5b1b8e187a96650ba4ee568fe41d53fbc35254caec6c44fe45f8f718de0293b0ec08234194b63eb41a5b6e178e28e5422b700d9c611f477ed5187638a255ccb48294dd5c9da2f90c144d57cec8c37f9b3c37280dcae556a48e509bb851c42a712a015cb16f3fd0fe9b83634b68ed7b9237619d791dee5a9264184560aadc6c0e9068325869ea6faeec5fec1e21c34b464548fcad4a9cd4b212961d5d51d5efde9d9be451e138212d0f67536c0d4f59b8dcb534ab1ef68939f0da41c6e61a62d46a8ee91dec43133a0ca6f38393d953cde64beb64f47ae1064f8b96c64ed054033f72e2f5d8244c1ce36a27ad29a53ec211c09e7ef1e0fe0d11aa6a0b7057c21d147cb79546711b3553064e150f596297a7544afa01ac5c53ef1418a08cc18b3966bfda93bed6570d23bb081d3b412b319ae395ef1c2fab2f2ad064efa6db1f60f5bb2fd8cd1b3890b18e67a0e7fb6befaeffa8ce411735030b4711a4e6041ee410a67a776c77f2b06d5abf9cc122da6b4dc498372fc984cd6137a10b5e64a5131ce1361367183edc196fef8bccdc444080032fd5a38ad3be1d2ef81571436db33c07fa9b188d8c15584a5921950c46301d6b4638fff3e0e4a8df6f87308305bcd434311f598fcbf30d966eb23d0abc46a49914d4a0bbf83ee4774da481565f210764d1fe7bc95c7b7fc8f479cb20a0581360bc6d6bc9400e2a57a583c1ea4756de34e1abbf9feee0525c297679e63b1c899716bc740f40a6fe1c78287f5384454c62210cf8caa2d97d0b1a29dc10367e6de8847b9ab9f7fbe16d6b17c6df5d4b6a7065acde14f634195a48946e1459a6ae1aa1c6411b4e020542b28dc6188a7145a4fa1324e98c98fb2b22c7fb0bc52ea30731d8b1d170d3138efdaa1cb4d2216d39956fcc604a719ffadfb2e1042b84fd5575ed088cadb8102f8250192ee552f4fe54804d5b99f58a1023d93c89f0d16abf9ab5ebcda5c35cf862e5c534975029e74aee65fed673780eb95adfc814ee24b3db29c50c5076f84a7f3d0e31183e52d9ed07d6f3bfd9bfce5d51b3b810bc4f3f8d91101a244e60f75e7e4407ba427acf20cbc8a181f2b97b17bfc9c2a6ea2408bff3c4ec5e3b52fb65a01c2c9c8e32ba710c4b3c49d6a1289e9da6292731163de02bcd5f15ae18a3b744888273f30bdaabf3fb40d7c38ea550c94edc4269ca7836cedbd449d9607947ec70611258723748d6ae138210bcf45e96da4a5b875a48ff22b587fb50e1fb31a21a4d7a6ad7b95a88cb193911a51ea7dcdeb39ba903a2012ce247ea6c20f796f46014cfd08a93e22f077a165cc51c3a824396e2e1b74cd7c8c439e65964836e5b169b8575ad019f6e54884461f464a0367305abc71398e64b10471a05b2c7f2eb906d0012a2cd5f6250ba2633c22af5bc6bc996c0e0d1cbce93288716e96b2b51219e10b3a3fa1150d34670873f2ed96785f109e2d85637afdaa674ba2f496f855d031059e7a235a71816578b8f800d20ea460dee14f7ef8b88fd5caa0603e4024220b739909ce2511d225fca494200220b4ed777af3d5e5b1be0d7538db68e7c973b7da6a38d90ad6c800514e2584c0c3eac59d1c26decba6044e308dc328c84400177dc5ae0d1a0bf022c6056cfc0c4d243d77a797d8444098a615b33fa11e2d308e7bab3f7e5fcc6ccf9704195a24d27ffdb58e4dd155c04369087f9965c9f78e499c486cacae25d28704659468d2cc6bd14b2dc6d27f2753f65e6a187c7e670a9aeb2d6a946e511538f2afeaa1cdceb358258050c2e0b00735a38a5721a8a80e33b7284f37a122c48af2ed896ea4d99919ac91966f048f49b7e55ff9ce77fdbd7ab85dfd86a5c3a9250924d4066cb57e96f98b3600c127e8a6f1a3987a66ffb89af9aec384222c9167bb6456708ccb30624c4537439c78edcc29231388796de7ab88ff522caeee6e67f96deb9d882d6ef94cccaf483bdbd077e6ba633b99409aac4cdb7229e8c088d3913b2283749e739d6879f6e661160a2099d91cca86a6b202a3be24e0d1f2deb0fc9ede08a9a6100501fb5a297e038b4256096db192d65d6227dff1cf850e333fb22f0f5e201e127174a74bd1f285399fdcd78be74853efdd26cc998d5a6fae355086f4828531e543a7aa4c43db7fc14dfd97a409f5ed17e5935974e9422f6e4f210ce4530ef593ae7469e23a06ddf1c907c5ca1db20c82a25edabfef52380dab2ea9fbb6dd90e1cca103cc39ea49b219ac1c7813583949c92adc22a147de3b02888c5820c1ad4f3e1448ab9a6fc377aebbd2edd66cb65421a0f211663c3e27fd742728006b0201e9378776e310fcb87e824181584237781e1d9a5a84b9fc0246a0209ffacbc3bc620267097dddc0e0969638342b0e427d1d7c2c294769643839fcc25d8df90cd9605d011d91e332c2501f9c2b5d6a8a18e0566218006a4ad2c66e7b951db4af4a2cab983a0e7aab511ea0d9ac3f881ade695f0bc542bd256d5db0c895b64a9bf45f871191ce9b855de1da20f29e445fe7b0a2c99a2ff09b989f0d5ad0370cb0da4602652609c495e655393009ef113c905312fca87fbd6df1ba9f9b524e19bef4a55012de7418dbaa379cbd1994a2a382e8ea215649be14521c9795917a18c01ab3899ca08fab56c8e5e6c4d11e6393a7c8fcaee6706f1b6a3d2ec7c4f958b86acaafd4111c0b2f9b646a914b6683f94a552661c5ae3195d0f03896b553da2b1b7e93722441951f2f4fbdaa10741770bff41ae61681540eef404bce1b67ef744826b2f9c271b39638083d5867ead8e58192989b183af10b019f8272872ec03cc2a6e241612342020a941d046738a3ff9c15bd8b4a9ed93d75af3d2a1c7a70a236c77f09b6a0223332106fba40f5f4857caec013d1c6b6e92f063c3ed2538f219a99c75944fc1056718cfa904f302a0aebbd30db7c847514e06396421a39918ffc6fa055c104b0dd04f17e7abecf9a1d9714b941c60c165c7161461cba1c1c64dab51076926e02041c3b0bcbc046d991acc100abae7febfe3f695921c506f26e8e9d5c9082768d5a7e8cb2f4502d791006f9ddfd1c7770484bd648b1bb64120391f9b143d3e7c1743aea7f775057266958151e68e6b67005d320ce3c987bcc6a9085ca5214414e8da20f6b08b2de28610cd416463eb5717a417c70583d2fcde62ec0e68f42840c808274b4959d4ddeb4f1b92ad3e5dc3b2b23b383afeb68eaf2405fac39f8378c99b381c77895effe57669f7427c2e6ddfd482bfb0d872661c67bd9c7920374deae3da772a183fdca228bc98f982797503cce530f7f4939ea7bd28cec8f504755c7adc5af419f640859705cb9a79e318ea63dab61daa84bf280ca495e646473ed0f7d913d8f360cf8abcd0173a3ecad0b3b1d1b521f05da7af52fee828401e8a9f84a18bc2cfdeb43700913a706787f5d6707bfefff61b9cfb39cedcb554544009b8b191e07ab04cab517020f7bd8610ffbbaeca07fc6f5085e702a80fa5634f05456ac2a41dc6378b37e44a373ff87089b74a01927013c3e8a55d17981b9d3d98eb9796fcd1e552fddb3bf94181e9976d9e386c53ffdaf4ba78bd54842a2f333ccbbbb870d25a757c03785dee1cd64d6eb94feb8ebb2238f356a72ef7c161ff03d0fa9c0a0d070b29273ac6bea0a645372f7f4fe5ed55fdf5efb4ced2f974ed8b6232a7ee2e81c0a17e921837bd98362773c82e51d4df5b02d7b64163830cc4ef27642a29ecb7fa7623db76ab9290c3e44024566366f70b14c3e1b952f6a5096a3b93f8f583874489af4ae1a1ec10d80cdc6ce885af60e08ccc501bec3a92bc83d4a7620718c26b16247eb10e632b0a4486bb2641732f8745f255efc996f9417d2fa775b56e3a41222b6cba251403dfb0a36a48b4a6c852e3ed2139b7f5331d889cc65a1a929cdb38236aa1e1ad301c3bf76aa930198f5b245403501d2ee3fc12c37fdb650be3e8fe1e4752693efa271fcc287fc8d610978bea1cfbe67683db216fde21ed2a3e6ba11b42e935afcc14906995a673f3691fccdac0c19a5cb3cccd9b7d2f675ffd8eda95638efa8066adba5bf5ffe0cabe402724d7cc935a1acf158c301caef829d812fe672e6114e68a15825f95ea5183a13e96ed5caa28ad445edfebea41df8ead71e33a402373a533b36dc721f96dadfdb11acc03e3136b8eb967c698e3c14dfa197bb4216d0820b43fb3ebab5640186ae0992e7d7c778f4a79401d5f9c3b248b27dd14b8de66c7ca354521fcf3907da26613160a0fe91d4c5169f9c989667da85767fdf83d3b19da9e19b86bd76a60f02afe022e0d68c9e6e865b92e566fb08812ccda8d41aefbea350303e18ab1eb861df0a3a7fa5537f8f7b3b0858c0d47c83ac7b64d4060e7b588c94f854c5b4904f0687ecae8419055add5204b39f1a6e0b8d4325e0978c9ae5ef5f85e099a7bed3244a096336a4877b3bdb877be59248c4888f402c451f3022d3d3550e4cdf7cd8085711a19a8ae156dc79a841c06ee32901e9f62a190becf11f6a06c80559961cbc7383e28866289356b72962b5d2c4a43eae3dbd4d414ef4116517bdcf54c57b36287c07ea339a5655a915a0604d32dc4dd117fc9d083911403858b9089a4b933e0fdf4abaf6ae3118becdf4581b0ab5895f114bcfea389c66e6d3994a95008ae2fcc44b0d7e3f4518b67d90b003154f322c8b1d8bead4dd2e06396727ebb1d42aba9c697b9ae7d9ff9f167f29bcf9a4adfa784cf90fed9459fa079bb8da54a896039e20156992149199fad6550909c1f8aa11fde604e8409db66bfb4e5e51328dbb236f2be5354b4f31e0c427b79a399426fb4bc8c95520aac06b31c03d5c3a02402aaa55f6d20ff35f5a383a136e483ab13b627c609d11f7d4ce0ab077cede67dcb231913310b449768881de0f09a4ce62dc4127ad4b44bb1378e06815d35f4c19a9cfea456af7d05db91fea33c3b968635ccac3ec0c1e2dceb9b47d0d63f63527a1085e3bdf3e317680204aa6a2b0faf4382101068a0ebd6d15e3886786e7dbb5b876c0917fbc8b1e23a6df74a8f057e7d20cda22dc1472e3689f42e1b2935df657f139c87fa7dff0628a4b0a2a5aa5ea85fc2d54f457eddbbffb7b9f72ebde7e7949192ec6f4e19cbd2b7bc8c080f81ba9821aae036838fb487ce56d7ac381d7042ce09d69c43cf4497e72c5c68b52f2f4a7f259d195a6e5f89862e01dff58b6d7466eaed51eaf694cc2dc86feffb702d4a9b9db41c99deb8d085eb4096d3f6d9ef2ee1942d32cbc4c807702c38c8342344f9885e4510676afb29310aade425ac11e25c4d99909a42c42419e3688a57ad48762b420063b0f988695f8a45b85fc363101b9f499340f7a1e6325b993a7ceb42946c1a0596f1deff922ee07e0bb985cbf7a144a1e586cc9ec5d781003b4eed404ffbbc33d51cca73ee3569c2f890fb8fe41fda72a7f318241f2acea4604c4ffab7afe992f88fec75a4e5908fd673829138b195b06ea618760b41a92a23c912ccf5cfb8eb1dff1408b59150aa88d863e94f6263e62f585e389ee86eaf648ba48b688419bbc08743b8819cd3b3f97ea54b0b974afe2531aa4fa43cadf6c38d427e80fefb679bffc8b012a551580588695b1febbc194ad0950ea6ba58abce64b7aa3a0291630141b47a8229e9ccf5de9a74a5236dbb563b75d01d546b0b0279c13d20c02c07b6d41d892e2b61415af92d0cbcb68e8a2d23dd054e0f575aafb32c742a2e0e2e0fb64e248703e9b5c4737651cfd266d95b1057cb8766d42386a3548fda60c11107fbe646bfc41f27740aa2e183271de140f3878e484188b5229c2fdcd100d2cce0004cc339e9b8bff28ab8104a2761ae0f9aa967ab053db3c95f3cf812d25983d66924a0b23889e8ab917cca6a1abb50705f1e499a6b8a1493e4368ec42a08e574495c968bf2783c958da22a58e6acaa87271744dbe0b62aa9ad9281c89e427095cd53cdf210722e3931a8c812a19399f2cb4e26ab0fb22dce792119456cfe507f9104353cd4dbe2175d49d520a729be3597622087c32aada1764c668173e4fce846843fe031297058c6cdeb7d44763cfa04242e72db94dc21dc7d45a76abfeb8ba8283ddcddcea4a5ed4f5bed07a358496bb7ebf3411e1b12ce2512386483feaa713ded558d1ecff3abb9a23e73753c02f637537446a5be767ac1a18ddadf8966e91c115694d8eeb72e4c0a4213b8cdddfa5b0ee195a5027412bc42a2df3264fa43f63b3bd69f7bb17bc85c61eb2fc3e5eb70f0cb4c461f1fff2a940a9f22adb8bddef72ec484de4d40d20173f6e5dc8f7fdd132d0e6786040035568f7ad318f384b4af63627ce272d2b845ba84a7497f9a5a2f756398c4ac12679efb4854b3e34457f9c1da597ebabaaaaf7293c326409d4f5c747c285dafa79128fa1a506b43b91541d6060fd7941ea15cdf0dbabb4b27ed2c40c3c51fb1fea4cb6179d40f01f31fa2401c1e1c2d63fed1daad44c48f60173c6e9dc7b24e2a911ba367173c55797e3029a40b744ea73670ed5985215a2f7ae382d2ae1418b6243ced6e49d5abb4665d27d169cc2ec56c057036acb6e2a34e565bb65e6fc7703af399cd22da79cb50bd5123ce9f44798f0df08b2d9f009e28b3a03ba56eb3ea5785fb9941fa1237986c578ce6d670dda62a5c187c7f9341e8145363277b45e8058a27faa85fce0ab568c250c259add82bc5340e88069d6661d6de40e15c016479b1bc3bbd10ff782cf2940cd52b642ff54984d80543952c65da4e1630984e5603a9ca43842a8dc660f7411ab6d3bde810ee113b6b5d50e4d6b1da6bc77c6c8f3ae78a4d5c66453b0ed0455abebc918b5db7c33fd105a087cef09701f188d74575b8d63202f63f8fd80f29613f1e63e38591e7cbb7b1b11046d76c45f7be0e403643fc5f9d895f2604849dd06ee2848cf43a8985149b50c14479b0fe6cb7e56aae8cde6626508b451661a7a98660891027c772d236d1feff3ec6f56610e2cd283945410720fb294b3a45f2189c9cdd8867d10fd7a17870dcb246c802f16b43adf6f486e8b1df01c3d023629144523188b82afe92e813aeb90fa08f51aa816c4fd013b8364dcc5920ea593a76d13402c4d077afed363e23202434bbf6eccdd4ced3bbc0997ba00a3b6bde7bd357586f5307974aea3edf4cfae7efc19df6a70fb4c288cc28d6e5713798dc978e26dff4d9f64f22d89b915deee3ca8f2af7258bdee352e4d55b14bb7a44a509be0cc44e8f78ef2f9d9f21567812feeb9aef6ff9fb5a9af64ca3df4a217d44cc9812ed6c5162dbf78bcec704ae0e6428bb506645329de5106982ef7ebff9c89503ada2fba728c3067dc854df900cd09b94a9643c8a48ca16c1c9d30491c7c49f9e77228c6f6254730494b788f821b576e666be81ae565c1cc3a98806b4cb4ddbeda380189212adb5345fab815e4effcd228c9e4da4289ede783c9a2560e1bf7881e07f000eb9a4627870691e2af30eafef21de85602077209aaf7d489ed998fe5dd87fb5a9e17dfd793486b42ba781538b28317fcbd0aaf88816bc9ee0ca769a7e91384e4db204ac27bb3ecf4038217a48e9f006f449e15b89e05040e9dc7fd41bc793d60b09f49a5342eb2d5ac0d3fcb7ef1967449849eadcb80f40297ca00d0f10e68476181ae53ea5d087473409984d2bc3ef3ae57ba9939ba67c983b5832805dbbb6d3eb01e4cb9cab9c88651d508cdd68232c4306307ec30a5f02caf9edcadfab41aec1ef663553c9bddfba5b37cab08ec5d2353df7a88a305159853582cc76cac0dec898c7993030ca40538545933ad6f00d49df8fd32b5d6d081b46a4fd156ecb5b5296cbdd5e937fa7d105c66981713d5865b41c2d9aa0a99c111ea08b09c825d4ed610f633236c3035767e220029255ecc5f712ac3e946aa2207c03fe227071479f8f41249f43639b15495b28b0a4c44c1ea9d20653e9a8598c735e02c9415b3e6246d5e80051c14b822894817d27df71635eacfdbbfa5599b2de236374a420bd3286c77d8cac36a7e2febdfcc86322b490a5eceaa3d4c9ca1c2a1c3c397d21ada8ea230251b9b2ff3d44a05ebf6e58e406b4434858ae161914035f1f1c9346b6b9275c6d4f037255ca9ab764945929e0f44b18130a440b5aeed99c83bf0954f7d8bb46c02a395cc3fb0d49ca3a84aa771d158cc583d14fb0261550a493a9090a4946f5d330cb9608d1ddd34bfa5984b38ef5849aa7ff663b345feb4f6b0ee3407522502ea53cdb6ea744dba90f09ea98e2db357e3f103e480879edd85fd1617a9ea026b3ad2376db5dc102e7a0fc1295c1c8d846149800e487bea88647db4c246a7cf2de9230d4ab7178c4eeb8c15e318a5cae6a4cf604b897d073d09f9d7b75ecefa73bf68a919ba281243595af0fa7b2dbc99c447eed59e9e9b4049b5b8610a1fc0ec428934d958429c5b9ea655e8b0f9c83128897e9d39030b8ed1ff5ba86367b31252c76863f6c1a9c6caf2c2d0c1e8fe3b1a892d6c768742591d15338f3c22a9d624cea5a02b98efcb73d9579bbbe3deafa15f126ee1e4ed236183398a9a6f7717d3e2ce998ecc7e1f220a701367fcd4205c146aba79793c92240782bfd789af3e9f52985661cef55d7755a7abff90327701783e692d238288e4bb0da9c3c2c28b5a44ee66084b53bad91d129419559d1d26aaf0655a76ce6cea4325430c186cfeced87d81a610e80067b867ca8704ee5d061a6e21398c083b94b2c98042c0da0d132e8d4aabe04752b1d56ffcaa620a6654670129808e99102b8198e0cf7fa7dcf2888c18cfb57d817b5e00da8945766e95826100fb6ab3c2bd7f787a7e145baa62ad1b4a4e3265cc525106ef5b55b69af935f6154b8a51db027783fe0f0a11cd604a0b9604e9dc8711940fa323a9a862c99a98798666f90aa5ef968cece8c7d0b130e1b9ceac0eb719c6d0f44ba842de7ca8fb71f686e66369dfa407e447dc84063bc73fd9cb2fb21c94851f5c0ca087561eb377ce6c207d50c53e9234883e15e5bd04a34b5916d18bf8a17883b0540537106a062bd3a5aded9262d167a831105ccb71d52dd345a570a67c2d177d5a01d200c0540ef6557d784ed4ad75cc863a72d2be1b86a764b4c81e90411d2c0f5343c99419c32ce0dfaf8f2b26a5ce3ad8fe5122af7ddff90e8b5c1e551e36fbed33f0909a016ce0fa39203d04d5f541a5252d69a9095110890115fa61eb74a38fe60a62c1fc2d0e0cc740b59a34c03fa9e4902af234e48cdb2de016ce8f265ec4b10eb4f106b37f0509abde33823b205800b7c8d6fd66c21cf00fa351ec3e0e98960b303f23f531c8dedfc827a7912e721a46742f3482f695a3b82254b3ac428f57e7df4442e7541370c8bd1b9fc3421b19d5fc76b5dc8228d13a1e5f85817ccabb6d871e4eac2b1493747c7d3dd7fcc8e5245a5b263a40814f7c68d1b4699bdec7bf6e3ff462bac5fbd8ac5067bc742458b3688ae12552b0cb46c02ad081a7a045feb3f5f5306267e53cc6627bbefe62e6b70ce33491d1c62e3c49de8ca738ce6134e7b39a0e73a9512e1b1e0e25911c29095a7914845751dd1ff87f48fd961e67761af677bc37732e057d8d8babd60e720ea502d2d4244df974f9eed3fab0fad931298fbd39b6599575b74e70e679e2e6668680ead67168aa4e05b4a823e81781f11ccd3bc792dd02d2b8305e5660f254503ba31de5b168cb99f2438266b5799bcdadc2665438b46af8b7b8f33b2d6fcb886a623175f2158310101877a7435acbf39635457a2ba4dd9ea00d8e88361e3d6618e9b296bfa0fab0a7d0c9a4bd32a9e46f3934975c67370d4ceb49c14af42508c32935f53f107f8f61b8b76d15acb0320f3eb13a03482f6a6cb4578215f94ed76c57d3751775966109af307b66ced73e625bf0474c81d683553a423564f172f4872d48d6027c6b702c7179dc5cd4a1b41357bc080d8541667d5b872f886ea52e16c3411f079d76a899172902e873f6bb985d96815abede76bbb3c19a34723e0e3a3b9002a651b24ae5a89c63192a9ed320239cdcc45ce2e3d89fd22864ec645149a764b9e57f96ac5f8e82cd3917dc44523d8f7662bae776f2e736eb05c7a1daa233680e356d724fdac70fad59b3d0b988ef5843bfdc05bcbbfbce61f9b4df6d888aabdf4b7c641314af984bfc02608a359fc9313158d65af614acab8289b50fc2c8faf01dba4cfd15df36bbea0ecc7f02dba7e88d09c8a61d635fba56620418dd9e524afff1b61bb98c283584b3937f919ffc65f67f706cc9c7cdde063db6bbcb56fe0c255cb487ddc97332a15c7294dffc4e95343d138cf30f826090b8400b95439d9131c59c3d24886e1e0e09d2577d4fe00cabb9bfd7bb97429691a19ffb0a9613d6b95f8d3dbb46aba5df257735ecf556a90be9f5948ddb31060a8893c51eab9c64694d46298dd923e6a1b4f7317171a0b321d98df2814a0405a8eef2797a13c0006a955d68e1f202448081ace71ad5739d61c8d05e84b895e752254aa63ae52537817143c0e597b40cfd973530872d37fd75d4b244af20cc75727313c335c08e49f1a68285d744e6b371d992098e04017c2e6ebf2e39b9b7670467973b45a1deafe748a9c626f3249b39f608a13ccb8a3874485a1b82f8cea72802390b32dea434bbb21943b4ffd81ad13e94ae13847a7cbaae84e608cd1d63e65e40df2d10d52b0d080bcbb681c0d8c20f42b4aaec3ebbf348ce926dd48dc5a8c5c95fd8e3b51b335aa091bd672f55d0d374a919b760bb28e1d3817a67edd28649d401aa5ded31b9e37b8a129552b2ca8a50f819799ca420701bd0361280cd4a16bb72fb7f8b72c56015c19f324317a7c75f4b821139ee1abeb2679522a59ef672407b7c60be241264bf33675cda446a90d9db33ef03759732db174ca4b2f392e13d820668e6bbddca173f523c3c1576202071c86b119fd32e2047a5fda2fe342912e60cfa3d61e54d7ec9e6f827efa0fff029a28921ca585155130db9709e2995ba22e20216800d331230d4ebea557c9f7d18abf116e8ad0c1035cec0f2fb82b18f5b2aeed726292a42864d66436847d316ab4118e9d81b5980e804d7132e924f3bead7bc984d21e2a342405e52807fe5056fe7cd9967f3ae16cb95b33d314cf824ffbdef90ed3853f961dc9d7d05329d300398bbc4277e4895dc098fdd69c661b02815decfebb338de40b5e55c9fac6e696882edb53d36ebeec8324cd06ff9a3bcc2d2e7e47a37b944012215520d069604a3c21098e4bd49b91d873feaaa0fec389397916a43e769d93498893b83d19155ddca72e0e14d74190834d616bebbf724c67b186dc1aac6bfd64e450b261c4c31c8539d6631d3650e122409c9428457549ac7602cf73d7cca8d37b1a9d38cb1081adafd5617a43e2be36e96d5d9717b8616e53b84f2e653b881491d8103bc2b5ab3c1f1e089fd893c49a723a1c94f48b081315ee0034c1de395beaee8d3ac102cc35dbeb248034851030475b129449d96d394c58a2f26408fb552d76fcafb6a97b2325e1c863915ede3516d520fb0d4c76d0009aa159418c8c63dbee2b640c5136bb4398164ffa57ca2f8e78c380a6aecd47dbf193a9ed58aade2e8280469a2edc65e7c2b2df4251a2785dad4cdf304574df8e21fc7492031ec61e96c254ee48c5f7114c4ba83b38ce5a70711f0d17a75b0ee81e0a709ff38fb275d9044a7037263ece04c489be5ad59522ddfa34ce5f60561dc5028a7330dbd24d8fc5079c73c9d1cc04ed9061d6c96b334d9ee74fc96542738ececd9a4186f7a4a6be192596e118928a53ac8d0b90d4d49a04154eb16b7d15f6d3d57604758d63683b263b6ee981901243e29a81f850230fff5464a02281601ee4be0cdcd9f79da8e84b0c7274f2961f473a7c6b572a928fda5eb0ab8e335c90daf8ea6b96d2668fa88b6bfac683ceb19fd36c26f8c91e031925ac7f0118941877922446cf3762bec91b849a3c6b315abec7c601ffa42742b12685ade64be5edfb73ea868bd1944596c6de3fbd1d7d91f59b842f16463f9180085bbe1b4b8fe1213062198de3f7b6a20fc1c10f65df38146ce83cbbfa881bcb0fb9f76006c7617d289e0e042a3280a26d4f0ef05f88b020b8a73efebd86d7d4cd72d0c3781ea3beefd4ce90146780652c861baf039df6c00e4cdc63bb5f78d785803a562ec68141a82ea2075aaddc8f9b5425df84def5c451d2135545ff708579424a27b76e545222f42f27ec5bb161e4bf365a011da97e2a17422f7af70cd45e09cca56b1c4ba82132163fa3de36d3d4c69894a1e97b2aec88f3e1badb1823c770f4bdf8bf7334a9cbebf6218896fd6f8e841d7ba37b0ee83a472c6bdc729113f8a0813c6aeb5f942a184f18a0afc0a176b0cd28f8cc80a9e11609831d6bb085cf9d5511f87b511dfaacbed273ddf761379e652da8b1484afab19ea42a554e49ab1b4c9923573562e35bebc4853eccaf76a5315fd8c94fd9ffe9774077ddda7623b7e9f0a9a77884eb853a221d353da338c87d4bee62376d3831b84da5848cbe539c21e209bf2144780893f168657ac02dbb94c2c0eb2c448df22c51618f291fd8636bec969c073713d55f22f8c25a1e904bb77351c64e454c804feb17ba60947dd7440a2815742c9d8d0b4478097961e7d4d6f52ce59a7c679ec8f16eda8c899163187723c4668697d2c7cc34d8eb4ae99a30550b5f0afef0d5e7c413fb222f985948333190b938e41d9b3db4c549df51b2b99b9d29e106dbe19bbdda3951e2abaf5f69173cf5505574b8e9cf29faec02e7c0e52beb25efbbe4fa3cdcd0e8f66ed090bcce28133589a513d61ab9514a6733a77d8387659e4d049c9b20ce91d213b3456178f991bf48df24d8908d385a827676bf09c3aba490e3db019f6aee77532ae47b7b3e5ce9ea0b65a57479212d155e5ad19f5ae58970d99f6e0681d6343bc324822e711a41400da49c24aa5d55d48381f64d2be9f82a55f2e2364b30fe883fa3c7ce7c48e8b67aee96bb034492f947abf291d22a89a140b57a78d27385576a901b4253798db7ec952942bfc72995d4c2c5c6169f1d1bc498f7f6ba04b032ed4d265ba10fb7da3774f9e5b38cab6ba7016d9fd2f6e077a47c798d9c6f8501e1a76d6c15146a2ad11c8073001f7efc50a22baff7308b3f0fcedaa908cb0484a916612d9d2ba76da9c97be7ab6bb2c31f61da5273c171139536c4b0d5b372d3af9c3169b0e6beb2a16ef236e9bd7c3a35bbeda5d7718c2e4c9bf3e0f0e9ada9c8d4fb1632499c0ab2b634bc2b68e9aeae6dcc1363c4350e993b57259a2cc779592e93cded356c3a035cf2d372525288e3c5d57e73f7cb7dc63473c60b6f47a6f31ad41546cc1f40884e2647349c117651d44c62386ece2e4647d54ac28eef158bdcbd2e63c034d17ed119b1eb0ae9611bb158e37e1b8721feef1ba5f2c3e585fc9972d74e72f6858af1d639892624c253c17d90e143a9c1f8bfb4288db4b483f1eb1a11b4575514b8ffd69ea7fc76221363be584a4cff1025b785b724cb99057d488d5978f1b328738da7ecadec3f4c55a0f476e15ba8355bb8ee5d78645be149d7dd3935843f03de9840e290b7a1130a81896eeaef2d284fefbeb44b465d3b3ef3792bec8bc1facb297f9673e31b2f92e822026867a3ba605ea7c06d695d1903be12203ca792595c769c9162e875f0e78e6478936fd64976b0dd4f405fa400a046206b6b27dcd3fd2605e7ec7f50d29ed08cd8285fc172c2cf9299262e6d8b3a5b158c2f8c5cb43e0078113fc3c5bc39dd5a53d0029e2e05f5b9219d5fd9408ec80548172b5ca4074ab6ffb09233c970b5c8810006a01c9572598ffcccb009e3b824e784d4756096d6fe227223476e202d31b7b82d459d827d9c6e36f9dcc94457c56f8a032bb3b61d5d330ec9a67c7d7939a9ac5926227c06ce69835e66d30a6ea57c2ae99fa95acb6292575de6d4842c1c0909db8fd2f38a8ea2063dc46afac4e3380fce214fd796d160bebc7b805becd9aede63826b2ed4487d38f5db3b6fc880bfba53ab7da345905aebdb05a5a3beeeb330afd4f7a916aee6414d82e44e7dd02b29eb84a2c560aee2e0885fa45eee1cb6165b5d25c5d26b1f5544ad30afeac633da638e5ec31ace55bfdd1459fe863f848bbc7cac1f81607bc9704aff2f63c161511529e1b8fd5ff97451862ab9cccf2ac0e6cba53ce4e8209c3fb8a48f1ca5ecb84953b9dfdb72e7cf5616fb79296c634934075a469ba61cf738e5276766c9fc1617042881ab75bd10c797042d13155990f30457ff5a689366a02858caad76472e3b73ee50d871fa175c0c6e44349ba5f7e012b2f892de86b3421e1ccb2a8f09dcb977aa131cdc9123a288ee61a3b65f6022db2b8968bf099444d5f9fc55e6581be911e4f4f01b244725befd95de204a68e5924311e8033e72867d0a4fb75761c312394e8510ef290f08813febcf84f7050a0159af35ec5a57fe746193b7a1ada24d1e5e2035f0905d12bd0956ec92995bda992b56d660c852ed3331bb6a746180025d56366f175044a7e5224438455fdb53d950edb2491b84b97834532d2e006a069d2626eee1c9409bfe9d9dacb675816be8192d9cccd0ad72ca04b68bcad1852de10ed26a720782d2cdd8ee317db4ae81ef8b7b16ff6f4db92940ebe258fe3c14406eda378a479a1aa211dc501ece1bbf9125ed7ac335090d8e44d196c7a8609d958aaee2bbbc75f3ebd0d73771133beb37a1fde560dd0fecd67ca7e3a9b94711727be57f49fa74d100590f90318696eca311b46fb947e2a151896a726420a0bb0b32df48f6213a3c17b55d67048940a4b57b445dd8d032533b357da542bfd38364300938dadbfc58e0a4ba88085b28d7fd4644c991962ec67b9dd36cc2aab09988f9dcb740f92805b3215674df0facc50092f46caeed584b28ccf92eca469c06faa0c9fb915b57d714e5fbdfab9d01c7152cf0c6dc5d56ca0a16917ef2c733b7ca77eef89dcf11d6fe594a05fcf9a8b1abdd937ec8025df621f0120e13eb44436ad643d4015fc741e3364cee01459e4d7bc3b3aba31ed1f1c1518158b7212465533d64812e18a7b50d700cd66e251a07bc8721567f5ac0d8823cad9537d3ff86957cc619a4b391c670d43458132dea8f9d59ce6c2728dc90c5ce0e1d2aa0bb658762c7f551341a2b62b37332008350ecfe0cf165379c8eb2ee8fd67ce554dfd20ee67a5c3bf039d81d688c1f15092008199075ee2fc649a40b120e6daf885808377004f42b819e2c25d0d96288dd50a8c6fd8e4041106a1cf9a07a73785d8915a3ab27be83f842752e67224a8c634da563cfeb2bfa4560ea514e32d2c8e787efe994405b882ca8fe2d3a05bd1257d6586e087bcf45cc941ad122746530a87b36c502ee6fd80f360a2b6f0e03a454a1ede5b1941f637dcb000b05735cb3f5be497e6333ea18b2db07275ac4d50bd70c0aa18af7c7158c08d201caa60b0133a555ec647143a84c103e3eca29705ac73f3145cc465333dfa8d2c0ed812ec59b01ad27d6efb90babe7925c2894511730d2d6aed0886e316d027c58d8f6c690adc7f83ffcbe3355b01a7d366fae64dba9607b82804e4b0ea301d406f290e2f97e900c89b418444f5503e57340897f0fc466af556ed8b89cd13005e29ce53565055d54ee5bffa67e17efb3a47c18cac5b113f5479de59ec9a06aca78898ce867b8e8c31b2f3052843b015f32f58a7d3eba7c25bd9af5ddbc7da96a471ad9c071d4baa3aa35c38a97afa295a40565b6c52b3397acb2825d0f9dc0079b1b8ca3d760270a63a7db0fd9ca66451a53f3f4b93f3422e8de2eeeed0b157af7fe0df95ec86a8e97da3e5f3f73ef50549eeeb2a25f062622b9a34255171dd32cc8e49cb1bfb1ba0b0f7e8ce2deb90831732c773525455458a54513732593ad0cc2d944de58dba32b15dfb69dfd2b6654063925777abb49acf885f522f5930f6265d0fb9106f1a8468da58cfe802e5ca613bee94084f43a548c9aece724ef229f55aac9ef64902f3718103d6df90845f298f6b782b0ce283795cf0dc4b8a76bd6c9b0516343b4ef157c9b2e09060602860d2ff601e04d5d1aa54db647726b9a357d6ddc009a9a79a08c21740796e04593789eaa57ccede346dae52f057de1bd58253769e1702ec913a66a3c14044a6fcafc2465332f3bb35af0d37cf7e07cc9104a20fb27bf0297e2f785f7359260a5835002d9bafa7d580ba1c392aa05d3751dbc86b0964d7078475a9d8451ed4c15191f18ee43a7c077001981e87084ae49b4ef2af029096138b43001bc4b266b26adc794d3cadf59c169441a5465d04dc78e595e7da028dc2da6d842269e644b1ac007137dcf8b25d21aa455c189c47d47a483727a22942fa75723478f2d5958ccc50eb8dc1c8f83fc8bb59b62df81e5f5f5bc4c96d2f313417994257a30e15c9dd9744cdae12f3aa0302a7b8f8e68f9da7c3f3cf217e33b96c4cac046b235e315f436d9288afa2f5bc9b4467b9df2e440ee4651cd0f617fcf8113479dd8824b4ff89d6b9e09056508cd4a4727b3d4c2f5f886a77f819547aa074f22e8bd7be80ef794c8f5d858bbb6fc929855a9290e5731fa45b506e0d65f34f5962f1e6b8a2f28dc0d4fd0215280a6c3060a6001000c78c69354f82f1f105e518f568fa7bd5b92eec165f727ae22f52b58c998356b87b401d53f0ac5eccebf542e4422e28f8fd67e15d74144c2bf3e5a29db681458c7fa1e00f58ac7dd7b228a55a40da2fdf236963ea9aad7d3b85941540cc1c158110a2c38902bf986677ef827f31eb4879dc6dd518c69033afefb3035b4bd07f0d4e7b025899578692abc445ec15bfdf73d6ecd784a470742ea66cfe3d9ec6bbda46585a247df1e9a2a19ce261d6a2617c8e245e15f1d1540a0efac8862fd25da2a27794b47fce4c96aecb2fa2c0e98e0d433201ea182e5faa258acfeda9d32f9b8ea3ff0ac173cf64efd0cc24e916f7c9f0afbe34cdbdb18028f39ccae642b7fb5e5b93b34c1fd459e38ba381c4bf30ee2860c67e24addb3ae6a8c789a6d83d5e2d46970219dbc7f0dc07d7c22571e0e82dc943a58cacb00dd5952469428dbad5644172b6755e502272c5f2fc2bdbd83768dab5b9f85cbd7ab0e0b44b9714e0f3a994d9c9c30f7328fce79d329752a59d6147b3989c21e85406170381e54456ca3b7b87cbb00a8f9882e88265e33264dd34b83617ab7d740c1ec035bbe244b075e0735a3ce67612505fb0cf4dab7eedaec3ce88368ade334d18280a5f4caae6c2b86fa092cc9dca4af5ed93539b909237becc1f122de9d065f05b735fecc40b4f8928366eaf2298a783b807885b17f9a2f93825213dd7508986c71f3ab413f238573bfe5dcbcb2f5a8998932e860c15ee9b26ad024380c185d2d2f8016855b5a50b8c806e8163f58c0dbb42471fd445c023be1d2510edcdd39c479d59fd8fd76ea0a12607d66750c63e4dd8ca36adaec450d25b3eb354cc122343a0a0955b8ee8fdc24f4a45ca69dcfaa511553a1cd68e2f9fd92da869863699a5136e54c04d31e59a05afad1de295808ebd77012b64347b99d68d532a46171cc18f6b96d444c8ff9ce3bb337e1d1b05c9159fc549e82fdb384e94e11f46afe3264870923181a6583364899b664b590494b66d0dea81a79cfd9fba605701c7d640a07f57f19a6ae9b6ef515b508f97d7e599518b0492060c6c3e0bc2c82b6af9107814b32e5697e2af6b0893fe86b9012321159308e88cb64bf60b5b67e37fe2a154fb58daf751979e2ebfd4083f9f06b516f84a45de5021a3846cfc14fd341b1dafb23db732d8749135b864403df41ff3f5c7d03b9c7a7ce66277138b6cd786347fb41507b7ce55ab2d74c9cf324dfdc8a8919b0a02db59b794ba2a45114cbf06f8deefcecc8f3f2773c10e8ff52a94f11c22d7ce2b110f098842f4c7a01390ce0f05147e09c22201eb1bd95d5f8a955f34327bcfa0c807abaeb76d541c10d40af91e9cdf66f8e532b106aadf6c1257ef09f1e5f4ccd904a05be2b2a99213402ae18c525193f3783750638021e3dd2793d3c494eace23b5599bef0c4fa6d5d5c99447993293bdbd7a0563e9ff30cabfb7f3ce850a3c8d13b848e6ce83275f324560fad4ba9ce2e173736f665c1071d1e07e1c34202bee14ece8de7e6cd20fc6a62907dcab02e77c3e1072ac50243fae96df5b8fbda5bdab986f788100f40272a9f1d75305cc13f8bea9adb0946be109111852b3c1d54f6dc7960f0c490f97d58f83ab2702b3dc73993d2c63138be1a9ae5bd1404c55e6d06d165ef9c706cd7a8bd1887f41d2c22fb3ca59bda1aa2802e066f696bab49611dcc94c8b74604d6a5dafcffc010cdcf4ffce745e4dffeeeece62e21859b9abbd4ac2080552ad9774c6990422c4df5a16ebfd7b8c5447ab7411264e24e6f860dde5f9dadeea1fc3ade94d69a43ce19a558dd89cc1b55939039d5c9f630f53ab58b3b8bd6c84ccbcedb4529a6520aa2926b2e2087b5a0bc5b2cfbc6db5a40bb68542d60ce480e36fe529905e40dfb419635e809d505a885a27fb258d8c3b544d4eaa5c18349deae88e75499e2dec93c4d577943e001fe7ae7805da910ca382e4d702772bd4d57aa4ff01f68ecdfb9d16aa9a4ea46988de240ef7519e4e5d8ae37ba963340d02bcba3883c0f7c980cb972572496f57608b7beed5ff61ef8769efa659095b020d6ce9318728ea2870ae7e910eba205d977efc4e0213ea02673f2d6e6ecf7ab9c29b086b9420fbcff00a5e11922bc98ccd672c7875f999e7557bda81f7064b6310e9279e6ec5d6c40dbe9b69abcc7b2054b6950cb70d094ab2286b113154c3f96a9b6a949fae36382a97956911d21e8b04c46a50ccf1db51bd22f973ddbd92b0388a3bf516c42c796b1c7808960a208c947fabad693e3e3c559ef93301f427e6bcd3417873a20c3103d9161ef726decc5e958f6efbaef163f3a597eb2ad69acca652958dba4c974012b98a338e2d71db9a7a51e7dd9df5e860f0b9a92fc0a268c25641043df6810fd95fc226e8c8e5d7aad910e0864151b13094a6bb847763cbe9b6a47ed2038d98caab4e05be4462bc36b0193d2fc4404b537aa61f7c3b1ffb37e276344077d107a0f8cac93dea75e151efc2fc49e0143c5ae72771df5ad06e7663ec46e2be21ab75f8f9f4b09383c1c5761f4f67b7c7f23635bb3f019e90b15a9815dc86ee40128dc404d52041cb54b858d125f26511ffb4270c3074dcf2e23c9f8505f203b25e154e0d8440eb436dd079213b5376d05f7271eae523974ffc6c207ffd56f894d2645fe346f5d3d9918fd1758ab3e085eadfd83193bfd186c82f271528f1314392d519625a85119225e4636f730967bcbe23033bb815cb6f63d2a03adef9515523eebc9323faaa74803ae81f3ef1668388c333de409efc86a37f19b8b49352e20193f182631c2a11260e7d50449ccfda2c15384d99bf105d62d3b3b75e635b2601d5c2edf7bb42b0780dec4b4f5b721e7940df11ed02f22c2561843f8c21a1cf1e8c7a50157d149d266ba372b0661890731efca9d81f6977c4f284998fc293fe70a1aeaff2a5e8c07d6728f0361dabd6da59a7d6db315f02f7d02dfb7a5f38f56ebd5e74c9ee4d0bbaf578d7e1f5cb47d397e2ad23d84be62ada322ef7b9aa8c0bd213fae78c3a6907ea3868f42745823bab74db16cac2d19e27c4bfce25c1a0a3b364789f029e94e7838da7b59a6d568b5d379246044e718c8d46c26acaca9ea72460e386810ded4c61a5d9cecef71989101cc0782369a60ec64f9098972064ef1a78b7857d48e4b9e3e0265cdea433a51d41bd4304c762473b1f8b884df6ec9798a8841b24410e550785fe671c4de1917b5134806fe44c20162160ef501e955bbf121ca34b3e7aef9d470e5dc31ce65f8c8792002c6cfdb6d3f1f2d8095386bfc4c096a8b7ea4c85799f54e085c283c239cab187605245a548aa3dcd3ecc36ad48e3e0b38d90ecd9244052d1f4f10a4b10a1252cb8b9a6893c4c019a483bd24a615131ed3748a526952403eae1a58dde896a8c8ca6d076b0184cbab3448d21fca9540cf4d1868cb5cc1760d16eccde900ccfd1cd6da02e0b0e83d4d69eae31494ec330537737a1121e5caa9a9fe2b24db5961d85d18465ee62bc89ad88ce1c0951a101cabb1509e8dd578397e2508f77ba8219e0fc866c83db3fd6f823315b8e19ad7d1fd7bde7bdbeca7bf8f70ea7cf7f7533c5640c090eecf4be4312bc0218e49846dc63a94caf5f23f5c97eb00cb3c948463dbef046de89d632f2049c333ca93969fb330ba3912fdc51f7e0bfc9960f9b47cdf5a5886aef562f099752d0a1a800086288d7773f951bec9a0fbdcc1fc1aa523812e6ab43591a23522cf2d84c77965ba1ebbdf81556ead11f316d8819a71bd898c2a6f3937fb911891d80e079ceb2bdb7705973be5e715f96a2cb7d17e430add4d05e336e29fd2e35f252b467d1ec6e326c56db3f423b1eb15c12c1ae6f17c569bc6fd19572c6b799f9d8c556938795b69d4f73e4473b287cdf10197924f11a9578ee101ecd2bd09e0f5defc273f18ee46e793a8cfd0f9cdb88cf5545cde54a3484b1ffbee966272b889cf02d1e9420143985e6471dfad124180cd6b9f8088efd02e8b19058b0eb38bc98349c9f83442700b57b01a334444732a6135a70def6382268e6f6f5e26b0ce373f191131e618e97f7f60aa2900d2d5f52db5939a6b1f6760f74e130bb7f4ba9c645267a586bcfbf5c4aefae8c31e5cd8c1de32b728d7092e757217cd630235778f6c78b76b191b698204dbdced3bee0e9a13fab8276adfe9d555bd0b86d78aca4ddd9b042dade16550d47dadf635e71d6ed3b326494f88e8f3c8f12016991cb116730b42e2f4db0a1cb786d485de53521d3c8d058c3b3536c9c434c4728e17985f79a31a85e1c968fa45a108954d9c48f3a00bdcf5dc16ed85f60d4c326d688ff04c891e06dca0292dfc0a3e7b1ed155602c5348f4860c261a3a311bab04a969284c3431bc641e1603308be2d0b39f253323a4ef6eba9011df71dc87d645518a91d471c6090843e45e65bdff95fc79504430c18c29818e7ca9a520709cbb23ae1dca86afec057a28ac1684d86531d9c88ed1f9743559fc55f4b8e2cc16f215c68345153f796c93ed609c9d914f5b33f3b37246a052d3067246575d17e16a6d313f24f503596dd386ef354a2dc070b75d1f02c317650e97be096144950c38ebc4a9114031ccba812e7a4d8c2da67a61c5c866f00f7cc63d6377ea9760dcc7f17c26253f54894a98efa8cb13b896e72261e078eee21e8b88420ef643306eb3c73c3550b5606f45a764b646ea8914c47e170e53611e8fc8d72ba31c91ef9c4226f24892d789a02de28a713bdf7a3e60158b80f2e47c683fa9277774aa602729f0f40a30252f507656405a337591ce0321b3c03bab23b88ae2f623460430ae682fcd260b946e1b756a3df7530e1353e72bf743479cb5b58a52ff424b543342eb8f3a0791ff42b239ca425244b85e906d7f9d650b617ed3fce73c57cb899c1a98254b68eacadc7fbe40a9f72fd06a3c0ea1377fddc2d5f47e61baeef2538bad8aea02a9de2d2564f7712be9751513b5e1c0d27b4879a57bc0246a7513177e941b39b6812ba0424c00c574d0402c80512dd53a8f03ee663ce37dace057f20bcf28eb07074ea60496a42f069a28f320a912befee147da69250bb19ff12e21125b6bdc9250fba384a0de4bd4d3254f3443c5d277b9ccca3aeeb3ea2d4f96be1dd158fcaf9d538c7d9f50689941145117b496571b1e8425248f1b963d28f5c12c57ced151fc1d325ddc8ad5fa6c51a3bacc6370ca44cf8bf09f622a15b625ffd398f55fa03018ea17da50e63d18d1b2c4fa03f5d31688d1a482cd82874cb1a25e54331cecf21dc810a827b962e2e59c4d8c922cfec968edd0bc013f8c2277f5b61e0a2dea45bf8e042a321834d3c74821a608d9406e5859a079e527b0edfced1f81f99acf5f7df8c79901e146482cd6fc7e6033b891e7d0b9edaaff12c4d1b4bc1e6af4f60c4a4ea619b4f669f2781ae12657bf360ffd7b2c04c781177650c4364f73d869f09d55f64d9b1422a4d9fafa020182cfe9476c42a4feec33dd3bd82df93edcba8399ba420ee67eaec67c4838bd4dd85fa72f0d9eefdba53fd25dbf3ad3330e217984dfc7bd02a1f41b3e7e6ff6cf1a6fc16bfe4ac8c02c20f5c37967ccb56b591aa2fce80a0a391a1fb687151844b3093e324cc8864505f5de3a27a6950e88ef9d45efce796f318ad1da515eb67261b4aeaf3ab3421adca6e36a4995c07d00d7e6bef9b8057ce886b4c8d3c2d559949393ea5bfbd5578361bdd20c99b0701aa9174de371603b47cfb1b6f9d0cf494d2f35196dde4db8954888cce0434fb786b31f689861749ca6969095b5d57822722c695a53cdb36c0f5c9ccc88762104e4c09557850c269af3858812696501593955ed6599e7fd93fee8c559bd414089d86ac58c120b8f31d9cf9e2942be73a0ac5f3e2d1aef89f55a50fd1c84515ceb9326e92a961facd20fa445bb08ff56ab182e83380dc0635f71e9d579341a97ce5e4b27f89a2f3a175f7b61ab17ed59b3e3e73d2f43cbd7f7d28f15fb4b5742c388195a8f21eaefa8fe18fcae5428c57aaad8cd91e125710331405d853ccd0793558310904f69e9462a47f310e2f20cf71516d70f3a143d96e3789f8604df3421289b0b703e6ac0dd5cdba4b42d08f0bd5339def4ac74fc9f8bf2ebb3aa64fa4aaf704c887dc45fc66c5c2ecd8fdf95f3036eec9fd49b25e508a0c8ed4319f7031921d4a3cd118a61a97f0273ecd229576584b4f5b6ce5154ee00bcde7d2f9f4ed30da7de0004a6e873fe91a72de725786bdb6fcd420c1cdea315f86e228a692814ad5840a8c4a9ea1c85fa39d52d2939acaef38acdeeac4c5e037019d6c218975fce7927deb1aa721e551b50e32e268353165fa766f0de131a16ee867f54980da151a96f4a55f98f1b4b281084b7798c74fba36e1e4ac8540109dea9cf88437deac6e6d333424b3c965f499038dc8b5a91e57a1659bac835bc7555a4fa948745ce2622edbf06f792b49526e262aa1eea3cdd6d7ef906c2c2fe2f4ff5ffc0d3de8f694138e50925595cff654bf8719637d3c6fe68ea3dc581af1e47ca151707d5659d4a1d730420128a5a921786b3f8e42c966a5af9284d7d72932e73e13fe94acb1300f81cd22e2a1a70a274ec51f69bf238c8d784cd3618259883aeaa04f9e14bd38a1e9b773b7fa2d4981dc7298df5a04c5e58ce3326ea766c91f297e40a38d5f64b0f050d513dcfb24e530ce55b255886b61c8034df3a7adf1490f79b240de8f5c8955ad999f57ce3ae8b24c3c4ecf65b06f18c7198c758943bb6971ae90c009c24f0496f245f41d161e166c6c79fd05eba79fc3a2f20b2c9597faffa6e95bfe9c009fc7a6f07be51b3413416d2cad8971e233a0ca7b4e1372570206e306a6dd3bf3b269c64e662adf7d57dd3a7e19256a0a1d617bc48758c834b04836a33984707b49a76a94be753c39a3188f0311f0d05ea55c384e66296f7ec3bff37a08c90e0e6d4aae3783b10f5f524625cbfba5bf089ec432a0e6d98394dfe8152225c56b2aeb068ca1af4dcc281691c5da3aefe192a9b8af616d76cbdf093d50cb448d2c42bda7ef99391a6240cb0b20cde3fd0955fb2109cb6bfed4de89aa2b01deb027f4012f7bbd6fb22383dcf6091bcb9595c5cb4fe2e0d8c7d63fc36ba6bcf40b937b953e4a3903d0669203a3ad5ba31efffe19dde4c770f3697573355bbe552c82e36393e0a88eb9d09b0dad3e2dff933be7a80424b45dd1c9861346a6bfe0afe0a6c9731842be57db376107358ea314dc72106e39232e7d78deeb5ada2de0aad7feb80d1a854404d40d30039c26122f69f9655bbfe04c41a5d6a80707cb6e7e9813c8af7778323859e808880c709ec952d86c61d51fc1db83bc226bd03e182a436866f161d0f6b44040e7756c4222215b8e9bb5b12c3a7195d04c011877673ba114d278570d81deaa026a40cb3e4414fe68989de924df95e470d833d1155ee8ac7b1f0d6645d73df286adcc42dba0833da1b8f6f3e1826d5df5aa2bde555478fed85ade949793c1f57964676792ad07dc58658ffd534aeffdae3e0112c89d651526be171e9df48d4331e39d69cb2e8d5a30347b55f944c85ed8d4375c6f6101827e6a1fa3581e1122159c935a7eb059279848a9429d9c67735d7040ed8c45b416fbb2c45288a24595b4ab5fb3347d75f30cfc4e6dd3557cc7ff0c29b6ed8407c2ba77927610d33b0b393d1ddb4ab378639c80728a0f70e9f238d2b62caa612f600ce795cfd6d8bfd098f3bb87b38b7829ac55acf594bbd9c4a1b8aec3bd9f63c462ee46c8ab9d2c171edab1ab40c6d186f1aeb1e9e3b2a8f6932ff6fbab6e6c36269af72c31aadb815a25a0dacebc3f010aee76069cfd824fd0db7d156ce57edb40412769d8db9719ab2bc7ecc73b2bffe8900bb8a69a76047ea9db44d3f3e931cd7a26ae2faaff8b29b19bf588147e76b6f33a7676f7eb22a5915512817fe9a9aa8272a091f3672123b04420f8d48bcc3694054fbf758fefcd2c5b2b744bff40cfdc78fd78d8009613b327ca0b6b0ec9a8ebb884019129b461a4c436387cb578412f69ba3a758898e448fcb0b2b986bf5cea0ca4871bd8030475e0be6025d44ed74e17a3e88e6fbc3026618cacc5cc53f04cf6d13e34096292367499d0efc6c6db5ea3fedbbb53b20f5d6db9c19bdbeec9e84c2ea7ea7d09106eeddc98b63c0861cb92bd7fe21885f807cf6c288eb57be463682be2c9a17ee66e93cf825fdfe5183c1bdafa72c1a5f745e8337179904a163f7c9ac3213100306a86c9afcc6bab6a4603ec64d2c8fced840116390dde6cadd786eb8c3dd22ef36aed4646998a55e12d430af2d9c5781ce1b94772bc13d253145c3afb8537045315af62b33dcf5598a611d05eef9fd457f54d08b452b25d67c1c9f2a416f7eedfa055dd5292e5c2b12983e5dec4922eb9f87f797977d7b3fb22344f5c58efdbc06ad266d35687395c23a4849d2de99e0a84a0d36ad22925e3a4ee5d793a8cd6404de735cfda156510f28c1dd6a750195671a000dd7fd4a8ffd656a3b4f36ec374fe5a286d54456ba7ec794bba8e12a5c39f9a11edd64cc54bb07d05fad8bbf40e846b9c64b62e5c2bcbcbb00d276f797defe6711b7508f4c241aa0aa4220da0ede50c7189d050cf476c2ae6e7e872fb1f8fbbbe30cc4a2cfc265a4e226b8463ab6471afe62c16426b928d9f1e19e7930f3049baf766ed965a8cd89f8ae496c242f27377bff4e5a90477cee482b02f33563b5f6a8d5a8a8a1759da93b72a3192ef776a5c11e5b4f113798fb6cc5cbdd4933e3eec88cf6e5016f42472cfefebd20ee028cf04024ed426f2f3b5723bfeb629c8fb6560ca872f42eb75fdc0806d161781c4a66856f47b5ef04d212e645ae6c3b2473055ce2ccbb29814212f4fe3968c95eaa4e67ce8b82f5386679c8dea2a2c2e6d0063d524bfc10da89c1081407f642891010175e580f1bba79c2b7a45411b0dae0d604fadfe0d884da3e1d60630504589d7c6612e01f97e31e6cd155f1669f003f7030f07832bca6a85a40e309728a973ecd6c4bb2e93754364d07d1ae4d9e902d061ee96ed0e35869e9ee9e51337e8e679122e6ff446e6958a7477c54968709ecebb6ebe98fd5e7ee3e7b440fc14b85cb82397abb91f543b9edc2c31d651007d28ca68db4f887ed35dd4f4424a5aef5c962c38500a289e09abd239c407471b97f8eeca141678ce0e6e85391469fe2e5b76811ff1dce971fcf510051f1d6546e1fb5fb8c7965b6852827f341b29f8d032315b51beb2136959ec71a54d6992dc969d65029f59c60834a0d0398d925e35ddeed23043e19057c4ea32aa72192a965b538855b73594b7c3af42629a215b625aabca385a8c07032c92bd99ec21bf3d6d9d0ffda93cbc117afabda8cb9e88dad3cd074debeaf58a29ea61f68c75f84de28d190da82a3d052fc873c5ac5abc70826bdf5bce0054cd1b62b2bd08453ad2224d26275f4ed2648a7e8d9686ec6624e08aa6428ce5fe31ab1a68bdd94c899e21beb744ac279fbcdff442b4773922885c7cd5710d6768532e42a55b4706f011a2fa0e6f9a070fc5926b3fc6ec2a004e2544287db5073a8cdc415fde7d38159f28b7c1aaf0c1fab9af2da8a74b7a2628adc805ab9098fa8b5c7d37af9ce500e0e2a5be4ef7801f9db5d40b52ce5bbdb17d33982781f3dee5380b0f8954fbdaecb98958b68572936841285812b417ecd88601cf878706452ea12285d20cfb2da470276e36107c118daaf8dd811acb82284c423ce6d83fb94674587cd38c7506f1b270a4ffe7a584b1e7ae5eb94a3e2dd6a7456eb682ed3cd0dae21c629c92e29dda9dc133ac8ebc5e50264458f966c8bd883e9db39703a5a44fa9766c291c73019ad742895d97c9c1e452a9e9743063aab796a14b688768a4df9d56beec02f6efd7aaf8922a2e134969ed62c60f41be61d1d51d1fe3032b17927a2ac6c381db793f37c0b0d6b2fa1a15102495526bdf72492af8fe973026894bc948b4b8e5880cce6eee7665a64435d9c9d80692ab5b157debd9835e64172410fa06585646e47715a9bf8e97f0c39bee43dcdba0f01797cc0cc2a283ca9a871f4fc2acbf4b7ca67a723471a92e12ca315bda592df7e54ba2d717ff0ba86708e2c83f5c768b02e5dbfc1c97afd6ce924f8f25871520c1cf694acef612b42f1e83ad5c48bb58fee6bc12f48cb7398fc16e362b5a2e506ecae0b627e9ab5bcaeb7f835bb585c1ce1ada46b677b56255a76973df907b7b9b8fa56a72b64eba447f1d350ae9b8e48bf6b92eb0d6dfe287b9a97b573a3d0db1271c95ca34f73928057a0029d6917fd3c519fba51e3d498c21e654a49efcdc36f7261dd93132ee6f7f22f37303af872a92568959e5f031902db03ad2cc442bbe58b511acaf6b8dc7623aad58d4a4ae7e66626988b810a79be8264736fbaba14f3d9a9976cf3128a024aae137b1085c9aab6cb422b65e495757e165bce5aec0c2e17434071da6275f970384105d4ebc436fee09000fcf7a150cc2c9e8f9f16074b08709ed062922d501095a533cfebb86ebdac1a8c86e5c0d5973af2a1f5771b5712637477da57f020504ab1508635d3ed251ca91aed0d4af863ec8d567855b63f0bedfcfb7db0ad3343780a3c43b6d13b501a9b0507fee29a7e3671c060a5021082a5a96c85e8fdfac064eb830eda93aad34e468b356d6f6a5e9f57eca5c07001e98eb1bea4a64e30350411dcf7fa8e1af868d159edfb40f1c31b91075233a2738e3f2810e6b0977f65edecf56f192378307e43f66e051bac0d83973a17da39d65cdc6be7b236b6972cadb4604a134d9d346843f8577cc0bc0c38baa23fcabc3d3ddce3d50b1e611f123622ca2cdb6d6b0141bb230973f3efb5f96b3932f32351219491bca433a884618291e7f51eb6cd0b29ba343d59e73fbba122822fe395cd216a0a4271919fc268c5dcc03f8e78394abc6c32c430f24105185bcacc8df426eafda27a6ab1d89774101b8b288509b4c84781d86d8dfa3b416db0344df0612411405fba3db5043125800ad9a8a573e09f26f1b260a98c3efc9a303dd686adeefa5797d18bc52b8503669eaf220e301a4de86c242ef6dd71a24c5b94f40fc3d7f6a60a7490c6b62e54c9c1adda1870f24675db2830cd73d5e36731c8e29d5b06c0a0e666ca816d2b8bed7fb8f6ec0163b8d2099c7bfe58f5bac6a3360c9a995aad3fb7448b9a5a25d770335f6011fafb7e82e1583865bc2f50a4f0fce9493c1b38c6b89e636cd2fb2d9ff3b7f0806bdc95dc0370c3e4d8a667aa9effa2438070800447901b74db5b31d3696977507aa26132b7597d069f125112a58cc106cf100f5437251969c9e062fe98a2c64ae9db8a009bad537130d029b18b55a3aa0cefb6c1eecffb8c652e36f90539ff534bee3e4c9b4af83ea28b4bee2ff0bc68734fc4800dfcad55ff7aa1d2cb075d13bba095bfe7f4303b8eb044dc93e2ec7be160ca866f00b71a980ca5e9975b3ef433be9bd30fee8bd37bee38e4f1e16248aaccb546429c619b40bf50748987a92315ae6fbbb484fd26e39a3904e60ddff02ce2aed6728dd7455c9896aaae220a613a27a4857288bc6f4761a793c7de600ac814d61bf420ec40d6846a950ca96ac0cb455a685163108101d9d35eaf211a9ad07f23baf05a44455ec38f5fe5f886608a082975a2228103cd3b0b4d47c57f01c975f9a5034ffb8fe38e7b9113aeca008ed3c40b312ab9f65219e79076dcfc88377c7ea9bb4acff86591106cf35e09b026cda33f4a6b5cf88867152617d64b4bd2649add43a45980803fc3c34c5f5c129714998fcdc1cf2f5583f650d572d7b504359c0d36a7a6b28614666d951932f523bbb425787d1322dd73de4331451ccb8998e81d4648f03f9451a79ed031bdbaed7904a4a9d975d89b4ad2436fbe447e3ab87e1589b82a79da301b9cbf3b358b82db3bc5aa59a6f87838ebd76b387cba92ea92f4c91a92b004a33392ec28c25177e7496a9836da184e63c1bdae1c28d6e419b843617e120e3bfa7fd068cd325d2e4a5dd5dcfb20fd6cc01b4d5f3f7a4bcdc1b4d8278e969ff6858e4d7d42fc64287419a8119a1533616366427f214a1aa2141cda40549900a42dc9fda9cc1af2bbb0bcca2facf154cc96e1992f8cc76e4acbbcfafec292c2f6e23133d59453a9f0dcae141db9441338fe9cb581f7015358d325fb54689f7e833e11dc84cdfaeb3babd6e696e579c58c8f59d0605cd16bd1cdf85ad25ff2e26378102b25aa167959a8f7227e3b60d685e99a54fa7d498f17dc39d74a0d05562ed76c3bf5e46389d58594bc4d4abf83a76885b61630219e0335a87de2315537e6f8c751b92f80ccf8cae7666fbd339aa386e29b8f4ecb7e4c0250c0d7ff83dcd6ab6eb70d97da68f4b0dd250ef8cecd282bc7c80f61221642548f0eb05fb9e97c8ced046ebab492e1251b0bde0fd6fb27392c2d646fc0e5f36912da6852d48a6f33875a7f2473cef5dc56af211b753ad44a6aa02d3a17206e6ecf2764a619d78176f4d9ed1fa19040cef32021ed17bc194837b74087c5bb5748b1c0f485b6d23db0960122ecac6a2f5228ec103bd9a4e78da3a0358e302bf692d525aebd261808509284e838e04e1a96368114001fe9405613e0110cc05fda054f67365f8a31510f9751bc25e240393a35d3d88dfd92a572c3cd3933b0ad2b4663664f8b1af97098141038a8ae1ae28eb3f92b8335b3ebd1ba80a7e03bc4ae7780412e74c5443e548251fb9433ad1102045e2550eb6eef3ec1faaf7fc20985dd4b4cd2371740997c880c362c0536438fb4c3b07f317b1c64286c0b2dd349713c5f77ae6a9361bf78061992b3c0cbf071d2396d9d65b53735c8ccdede557c27e7c37eec55763b093fa078d988c03a281021c920a6d391238b2bda7e91dbc45902fae1ea699f0004abeeb1111d710e477a228e7d8bee115b2b13e7ea37d3a554bd33cf1b6862edd54281b384a63234f838502c452e136b7fe29d0c0f05995f37265624950fbc100e7514c9b684dc780b14aaeff7d1b99dd522d644c080c52487b8a08ad9b4b53ce6374797985aaa383f0cdba9ca5cf42a24b3c0ea455ee948c697168a38e72072f43a878106bffb04569f2215f2badcad650f673e2cb1115c7f90f42f524170526296b17ad2bc918ac24b5dba5988eea60e24d26ef9e297d819b0a9791e312114e3cc0ab146b43ccb82fb7f89190791b04282f5cf0cb030f2c2e4189453188d668464aa554ee8846a9bf16650ae0a7c14158ad4eb772b83d03d3d91bdfece945eb85606805f89fe2687a48790b044004d5840995d76bed2e8201c20187ef06a1d46079ebbfe8fb285bdfaa8666dc952518d254beb3ba1e48b75d386243d1c494f34154f26e2f5287e1eb942afab294f8efff6194eebd1cfb186c67b18c9c0c1041b268113fc9072e877fc25da9c7dec7c30df6ed3bef18b20c9561229f0b1c711a63a96060c2f869759e957fc781de2ae970dee615b76b66b2b30218ebf0654e8fa8bd6b20e45f6d3cffbc440775904b48065a281b692894f3528bd8f6acb14db31d15e072513600d98a10a77dec112fdbf26660c84c4e95c3001bab3616e622eaa61335570d4bc72901507026bfd1ca4e92d8849a790d592c4c9eff111d39088aa3e954c646549f0eb17dc23b94882f6b02dce989d192da421e69cbac140e5396798aad242bb0462e58162464fdae007adbf31d3d04309e2e0d955ea6069cf5f093d97e047dcfa22543a5c37441989dfc2da3f04ce203c3542aa7af429ea32706f0ed41bc87adc149c9cec6030acad40cfaea457b2c87137d2f346b45be0d5bb81883c8039b61518545fc476e5449e05ee6f2598109ee343e1eda4b1cfedaa20f8a1b2c0e7f33890f27753a068326fa4381a38e07a5d256b7e43b70699c0b3807bd6b1c0e853b83cf0557bfcd8c8cb7a91dd181004bbe7fc02ed28eab5849f1e521de471860f1a3d1322c47fb5833c30d86c0a3cd0a39aba1423079961285a03221b58742834ead15f875387a1ac3a2d33e599f2a83d9781903d394dfd3d141034e4d65b3162e9d985a805e616d63be73ee21d47ea0c58490015f6832f2956fd519ac48d87b7dcb6ab111c416a76ce0e6b0020e11fd6f750bf149c9e155e38e92fa45f2b0ad964c4bd578ff9d9c4cd27eef99112721d0d416f7507800ac5f4b2d5ec26bf1e8043d4dcbad3efd824c20423d6536fe82c8b9d6c00d60ce885e69d42bc3c0156db0e5ac977382751601405839c9736c56a863119a36d90057d484d6c9de6718e1f57045899d97e67abe9c21714104ba9c5bd2481df0a143389cd7ada6da1c4b4e3bfdfebba4021b993f4a4a147457360548e5505b67d343db0690bd71b0495284393847d906835f6f816550d5c895f04f7a17e5d9b0d09dbba79a82bda0b74a0b2348dc39fc7b2f47090de9772b6b7b53a72459b75dddfd9a436ed1c5031227ebdbfb96f71f37fcc185b6adb53156e84eaf9a457f9de89b60d08e047d6bbb2a275eb3e934ede933166a82c43f23f49f83c542e188dca32b90c73e53b99be702c9f0a7d19ce31720696fc88c380c2c68b2416157b2a50e9def7dd192d8a86d1d1697da1c754a20f71f9888019c969edb623b625cc10273c6fd1240df5bffeefcf1fce17e2c79292aed0a1dfebce7ecf1e9c84828f07e304aa2f9e61afa7f332c7ff1feb92c3bfa6b7d5f8cc51db68a6a90130aa9cf4131460069517ae172f9b0c6753e083d6a396ef2503c19a6eb0f2f73947de72cf04972313d6a42d3d57c535cd016af2293c1734db8fe9e3c93a84b137e1789d03042abc26a8ab78b9fd59ca4a94ea867765396d4dee83391d2353cddee529024f04f23d903a2d3bac31de7496f87c08d1768c7ae8cd0283a0ddda377358ec327b0259bfe7677a120f4d20735fe789cfaefb39f4278c8a117b59ecc109e79c2769d0f8b05127bacead3d77b5ccaf6adb7544b012098e7c30fc50baa115d1f6a035b6367bf6b80d0b714f475157f6a0e78c27c1a5b8cef56c95afe9547d4bcf5b41b12c32655c85ca2c9e192c94f522a9c1db2172710470c701f1ba445a3ee77e0cb7ab29c3734fbf9dac2161a657601f0b90ef5fc51fc9f1e284fcb78aa5ab59689b70f844c216c7732ef59f09108254eacd61a33bf9cfdaa47e9bf19568b192cd17d443fcd094f714248676d1619a470c9f758e316362083238e4656584e3b54e90a76cde64c3aa8aa4e8a48f0e4730bfcdf287a49a5e8047d4f85ecde8764d86f630131198c087a4fcea723d25120521104eee69cd1aea76c59e2341ee4bf89bf1c79469788588b3fc694e9c88de8eda85683af6adb31c921cea051a70c3f29cafe2a959e2d0c0bbdf932964b3216a4f94271ce0b54f87a74e6de0f085d261d04570d0046bc755def90584df61dfee93213a11cd8655ffc1407d26a65b9c5e1a12642d6d57c82ce081807fdce51bd03c654cd52e28424622874fa9e725dd29fac8bb4707371836e12d33bcccc6d48988bf6b197bcc8a5706d1381d36390189030289b09943f379bf24f7a5ef19df636ddf22998349563e4a1e1742b131aacf6cb95b032e4dcdf7fe9601137f196ce239ee79aab656c0fb81f9a7e5e61ea77cb3a306c6e82d751995dd42c7731b8b4324d3aab232e49c810f81b23f58e4d5ada3f02b9e8aed8f3207a72de9da45b5e20d22654bc86dc1d675a28a88fd00e2a7d4ff3e314630457f71104278117e6e04c466de4e0a6d36dbd3f6b0bc3f475d464ce40fbcaf5509c8dccee4b0484390cb3cdafe9af81f733b78d0694120bb398c320a2e4b006f04ebc0134bd473fa4e3a68d7c2e9c1ef3a85f2824333280e9070b19b3838fb1ee1d1d683a183dc9ff53df50cb17a5305e7f0720390b31fdff0b767c7fb2a01b1713b82a90e44e1db0527d0875a688014a44107cc5b859a2c50c32d2ebe8f077d89bfedb982fbe7e5eb5206667a2eb9288cff9f3cb23c901f436f100b023451c955ec7fab2c2885484c00b2c4ce59e414b814e5c07fc6ffb6075bc9f64989131bd1294d5c1450e4eddbf5ef78bbe3eadf1879048ad736b6b7e1781e38a22dafa6a2f3cc4a29c0d6f672b7ef58c5ad59f26ad4ababa7e430d0e92f7dd9a7bca98eae9234a6fef133a659fd7ebcaad62be73f85c9e7c124c74709ee8c6ebb4bbc1560fb08d041e4c73c6a73a5170c1ee8697a9e96f080ee04b851139aec5796e78112a76489b49c58ad800bdc508c9d26b12dec9592834c57fe2c1cd17137262747fe8262ad2c1666de484e4b1f92c7f1217051eefeeb1afb76b2e43fcce66d8b9c9ec792377b85b674d02dfa546603050efa11a316d46a9ba39a4e5b2e1845035223ecda366ed0b21d8fcec043e231e187bb25c8031e2b31a3660512502e253bfed97c2be39e007ef421d9b14ae9018adbe24e0caa3b6ab38a56692df2db335019887f764d8233208bffb084b8e883fd17a3fc60e5a7bd1b2ccf4f330c8ed7fc625c88226fb5c422c06c0169542a26c439359fabde6b02ed680967942918c48b6b72b1e64f1e3bfd668856179f8edf0a84e91d2d50bcfef7a8944494c68d0f0adf91fc01f2e55b20f7622eb0c7665e03d5a6f01ec682083886a9c64fafb1ebf97f72a6984b38bd13f730b29afdbda02735a7333115970fdfc1d358a78b9a2bb612e615b35e23aa1e3d36ad139f50f3f9dc8a607f7f424ac3880de506cff64822b4b81d6dbff7f77c64c18796ddc866191423500fe69a304f34bea071c8effad374748b366d3f18a0d969618e0bee43e6993a2ea370c318ed10a5a583234a050a6be680869f3e11809558c2ba9e3c73a27add5c9c51afac5f07179e1995991595e0312a8b421d30ed9f261d6a22d39eb57e4761feb99a653ab74176ee34939179ea5d1ccc8ab1ded88ce95248c77f0cafd6e816b9c540ad9c627d91a25bfab77490eda8cb6e9b3376a8372cc488c9d874c71bdfd8d6bfacc45bedcbefbf7765cf3d874c224d4be7295eedc3761cb6b49897be5d8a9973977a04f4085f06c9dde1b3c406bf947d40fe9619e803c59547e1af5d8f2209451f83e7677d21091ca0776476358b5e650c729f4c3acce45354c5baa710976848a675e9ccffb671cc708ba0c205934e20d4054b9153def520bf2a2dd271a3d81c0cf9311d2c9e0979acc4ca16041669cf8e34a576d7a004db8c7b9d627208fc469cb43de11dfaab6881a3b88c2aef9d84b08c8e0a02b1fac1787762fa4af101d160584993198a40c228a2bbaaa8a9d9a8f9318d4ee3b80b13d190360066e0b4030b469f76ec252af9cb2d0192455e39fa6b0988dbb0a7ef50fab68ca5d32e7ca003b9f8720e7aea71beddbe1711133de390b2c01af0bcdca206868e4d8dcd8ef0578ad1895c32ff4f021f053bd46901b4bc32f98a53d7a6fba31a809169f306eb1041d3ee920924b294dc440a2c1bca5fc48ccb637aef552cb319078bfbc541830cbec6e1775a4e6635f271503226b1801d486974fd1317a691449c5c7fc38a08745fa71aa057ab4cfa70c7d96461fecef8b6590ed7aab7072aebc6006f7e77d820f8f3f8592654c7c93f3be7156c7b0fe7a08961e6d160188d17fe0653e1f99bd26c2a87206af71a6bbfd78ccfd03fdf74b614cc3fb18a87205c65e26a3d53b9ab011df047a466244b97a2137a16a67bf9e3936610bce82332f0824e93277d3c630c1e6aeff7ae06af805f39592d85eb38fdd1b9350981dd59d50d1407f3a4360b982ee143e6b9cad5e07a828013a214d7de90f601db8f56f488893a7404ce9d4b3abfe539dca3142a3b4fd69d458924bb727a59176706d6186f990500bfe7ca2202a9bfcd5db8303357e0e6fc2c2a7c0f71e30e660d97d9b727c08860b9053889312d9f1d8817a18b9a48f34f90384a85473ab8e6a16a44846464092aa115283024b158698c950464e0d4f144997a16b348b937d70a9a630b1f75a6bf083569d3b9a3a07e2abca894c88c1f6db2c22fa74e7625113f71735a22ae04650da6b14d6160055b44525bdd70707cf56bbec92a54a73345918251dd0804b039ac4091a1aacde1bbe312a8160e7b52e0d3f1986ec682b0daf355b9812fac0133c422e17aa02cca30fa64ea11e0948155d78ceb3d5c875465626a9344b3dc7e3d19d0a183e43c0350cc54b0b696763a57120b940ca06c2975039e036bd37d807f100d5b305d8f5f62d340d7e1e9973963199892e42bf3b19d9cbb9b24d92f526101a5efc28879583514dcc7928317f23746759d438f5354c9940d175ccee8bd778a501e839980288e8f8aa1f1650cdfd5b2d3e4f25a6e29c91087331edc4f40de34ea601c69baaee72ce4c50f38024acdb1883ed86f9c4297d7b062d8764d1822235097fe059f90a4d9b36467062090fcbb8dd1cc04f61de8786696c033bb1309adc29dc00b813ef643bb3e477453287f1eb868549ea423a1379e9bdffbdd65104fed11a9b4a03a4b1d4ad0d5ecd42592bb4859af93a7897a8725897e78b3f802282a81938191ff859945cc8d12143d6d5537c423cc4a04f5cf81cbe27b182aa8c6fe5eb80553667410f66c4909c890f7467ec056b8297f942dcef0655392372168ff4e403841e2f162d7ef9850ded13d71cb8befdc8fc308464bb56f7a0a132c0218391eb3eeeb8051901f286010e1ddc9c6fc37bc51e9fbe7d84bb7112f3e417f3ce833cf1a4847f09c6987f605510f6d8846b0a3183c35586fda582fc01e776036717063ee6ebce0741e07d41f85cc2e75f438ad289696f41371d22e9379eac107fb862189b96bb7d1401cecbdf1357c4844a4fa1e98df3d4a5fc008bbe24b881394230c4da164053e3bddafa0820048ac1b704da5b460690a7f07780a67efd6686a55377806a8e14ae9ca0bf173468b23794141694f5ab3ed17766c82eb3146b3f015f15e53c76ac7acb21497d5e377db2bbf645e8d24d71620d2c113ca9f21a7451ebadc8685fc30ff1f2155560e5040afd3f3e2b7163e64be331df057ce4e0ade3a3d1e51b1ed5ba4cb1bf5eaf4092ccc01dc1442e1254fe81e2f673f6d8704619cac94f7166c371f60c815f2adb25a51422b74ebadcc2b7eed18d567fee525e437db8c5840039e1a1c32601e6c0a0c58a04f1531b409c40b4769556bc620b28159fadf946b781b37b74783801c0dc5636e6b5a1f188bec222700c546b642bac6e4dfea9abb5c1e9e7f7f9c0b17202082742c12c4f5954d854ba4cdd38ef72f96ffd3e35ea63f268e69c68a02b9ba67c319c994c38f587076da1679706c56264069c7e3be50f1c9ec041aad847d195136f9c14ecdcefe08a16f132e21852c4db7d6619073a944428921fb304b9d57b3cb4408e1c1c53713b24295ddb68e33db21b44764a51526e2f49477013ce9f78105ade9a448d218f1e4805c67781094f030113ff724cd5bdb2d53a962737a7467d87c0cb3441a6916f6510ae479a382bee22b2825d7e4319734854602428e0923951dc3383012a72ad09361db2fd6fafffb5d98f4a912ee34041fef268fd4294761785195baf74f1b95f7a248639d50f090286cfd4cd604cd66206a1734f00b57e7f5f0cb8feb473a3368c12748cb3f9ee389d4905639913a3933d279dc87690c87c4d91e33e2dbd25cdf8367ddc150b6a0f31e3c2340517529a784eaadc6369d26feae13a5d0e5e774f6a47b1dda56c5fd87f8df404f1bca83b6649f8b97a02e3e67f0fd2a0822c26f4b653b263b7bb3339a31c44cba32dc25e2f75359f699d9387e5b81aee530372a7502121f9c5f6059900639221b13484771c19ff3627981bffdf8bc4f20951a259eb5bf702269425e2343ccc06fc6bed5e6af162052d3c896cbdb229dd0668bfaafd264df965c3df26f94ce50655e1e40c8956e49207bad54911c7e8644ddd4375d4c9a58d21f92731c44e1a0dbec751345d46bd2b71074c5830ad781e3c1f1ff3f6b6215bc61018707da38a45327ba6a5e91d51ff5cdd9cee064f74854bc6defa4ba52de59445b7b0ba9f868d394ae4ac0568897b3c0e341c0cbe4c8942718178d66059f95d047c6c1561cf3d32e7a38decf3fce0455b8b9ea5686178a94ff8244b670dd5f71e62b98c6899c77cd12ebf32fa3d1543e24687036a336429c8ea7b700ab99cb098f3bc8309662062ff84a9289e823e3c74447c11243ea9922d690ca20e6857b3bc2077bb240c2af6422bcbb3d5ef6669b24fb29f8670b31a9feffa12db0232a541055d747e924d5dea6ba0b521f3d196492ee6f9cb13a198aa41b39bb9a5eb7d76a1196cbfd5fd488c097d30cc5b48f1deae0d81c43bf4cad15abb956de5a13bf759443fd68d99bcc7c506751129c8f9bf6b986db023f79e3fa0dc76a75cf4f91c412c4a9a67641325104a8e0516fd6c8af5005ac983debc1ab8eb0cad7035c171ed9c29a105896011a6b843fd4632f9611155331f61bbae3ce28f055d3a17c6f6aa4c05a4fa2291f75633dba1d3a10eda1d2577bb1cb12afc5ea1821efde8532263b7077e76389b3570cb2321552a9ae6b033cfe31c4011a65353d71c1c7a1e1a0883ae0907ecdb4c83af513cc262ac8cc8874f042b317be2d2af1f9aab8879ee1fb0791b94aeac5cf024b06f835d9eb7bead1d016a8ad938f46ce597ee26ba7f9489dc7ec12f633cd569a95b15bc882aac87d26cf1d7c8dba5ae2b8edfab9ee059024e3786016cd19547b93221c83498972af0d09c2789a96ea6f36f0e1fb52a295062971d3329e02450be7c1183441fc666b5e5eedc7f07609df418653fcd27a1826b99092aea89de1c88e0cddd138025ed327102fdded6a95e92bfde0cc453702e0b6abd3e083ff0407df53b4b10f64b6df5c720f0ff3cc129f04108d12da79ce1ff4974110b451739666dc13805d63bab588fc7c84331fbee1ed120528d71488a7e53b68da08c15bf7a9f766f5653c6f41ea36101bb60bf2f1d3863294613af3ae17c5c9f4d33c102c779a6cde08df6a710846d5c9aa291bba57f25c61b214ab137676b672cf1ec3fa6cc7c710d58caf9bee0e40dcfa7f45498db24d56cd29d535ad942b1b8bc8804ee5e0b8679ba172e765f712174d2a3d0a3152d8c4fb2e04f6d70ef4247711732f9ad700e4f1b3b8805f11d4939488770fa3f3648783465af8cdff55aaee970f174f33dd82d706fc811f8c561a94d10a6673130e0537fe588537a62dfade0d3f6fd16987d01882e08b57ef185de8e87e315ea3ca4f8b81e5953f2f8fb7528c6efc70e6a5f959490dec1dd4ef09f17f856cc24566f6d6444844dae53b7e15bd7b005395582ced07bebc66355b75d5c527deb1f0e52e5f61c9d1b80c3c42bea8af93a2670b686d04976853ad7cbecce31170d7fab68788bcbe052047a15aec1c0527e19887c598ffa43966a7b9d791707515be19d01239642b527dc98d8e3f4a6b8841ec904b54f7853e2e217eff88f5f4820bd33152dd6cf429ca063563b8165405e7a2fe7b25b578b0cdaeb47e8882f60bf9a9b102cf48fe9040246f934238ac3ded5f37ebbb5c25e5d91a75b30cd0153079cae7750a2e292cce35ef97290c465a2cd601fe9f1b0e94ea0c1b4ff059b13b48a0a54e494f6a57557feafba62a02d93b3e7917c78b796fde7d2cf98364405f6d9ca36dee7f3d13e110ae06330a56a0861ba7cb57a36a7d127c59fe6ef34b650d7e272adaff4f33f46057501a374532448c006b3f9e4f1581bddd7c81e93bafd0e8d68a83b6ea508ecab92c3cd7bfec95c29c11dbe606e11ded3774da821fbc6d51367ad3de0a936a28d28dd6da98f0be0a93a7d3554383ab1714edf0c5e0fa7ee2b2aa46c3a90652f9f50c619e57ff41d169ce9af541b6e836bedabf4366de5b439f72aee7f19310861a73bf22e52dc0d98c718c9fdb3fff6d0da3d984bc9ec859d4773edb1c07dccf1112a0e6c0ede83ff3a6dea54c97ce4a4f0eb6a010bf7771336e76a29cc14adbe8ba8a7b4b59440d0062ce62df6aeb058897e908b9cb670c8fd01dbef027aa65ea41ea0707074fc16550dab4193e24fa40832a35fc00534391d09aeac36fb142e1e5d045b8100bb1e770577c1e4645438744b9cc61ba490d22545f128e73bfa7d331734758c74573b213d835918f58a135fc301bc4731155af1347ea14a1a19ee342830d1cf9aa116dda27db98cd948431aaba3d71482200439ea67615cc88fbcc298d1170a06656e5371b36c2525865193d084799265c5890650452bae8b0c1ec38303e275789adc18e8e25cd031a0e6014b7906c1a2d1512f8271828d5936bfd8efee3f52b19268c5cd95d82ca30d0636ec8ce5a5c5001ad29868232a322131a60032e30f7b09c61f9ad8fc74dbb00e9f139f4436b02c629e8968359e232e70fce0539c43c22b1103a8ffd0b5150a421237e4f472e205059dc82e5e27d6424f409eed4b0e0d4dbda4a3f2acb3bc311a7e34ed7702b104c3033b19a1e3a143d3787207e9ed535b66a7ab7e33a7c3efeebc9ec3148267af7700f54d15d92ba682b4b01a08ba17d0b2b3aa20583421515d70b0f54008ae5385e6e558831387303705872464b7a63ff48e92b6600665d84edf47e51e93ee417c13a375cd14c6b0df9f9b6b39aa7f433bd59814c4d225c0c83b2bfd944131952296a76d572ca5d252eb32bbf99be601cc7bc7889c51f5f99275b0d4af325e862236968243a4518edad1403bf2c37717e71b48b20273cdbc51a52c394084ef6a92df6f519170796ec161967fa0ea8b0d635310f49b0d370f0f66c441da720b11f72b44b7c8f5161d387dbe7a7aa492dfb3b00c77643c8ae1ab4753e871166bfeab04d99557e38d2194b6fd6673ff55adb1fc484d2cd6accab2ef24aac89ee970a06830cb4f8322fa1d55f634115f33c2d84420ac60718fe488b49a710be563b07ffc91b137f25b8616173a208c567b834c5d78c1679669c8b2454c2df9c5bb5364d31d260e62fd4a4a1b9e7ca74eb866066a3b4da03ab1550e265f6f1aa7ffed91535bef1074fa18edd46f25ac544c046f3ce03692334b01b747a0f64ab0f30beca5a873f5040835031e6dd7987c0642caaea13b68268239c5d5f605b9970d71cc3c300e15df486e37042a2a0c7a6c6a94b87b7e987c468e46495fa24d803dcf14c23c56fa0e207f3b124a93c253a798a31e20a7f3a88283d090a0e0407bfe257ae8821f8ab144841d42ccb79ca288453276b2d81a3f934b8f2d1cf234b21150ff03fbe64f3cbe832d0c37a18ac6f7bc8c9dceb1d7ee90c8cb18197fae1c81febc7810955bf9ec88a1b21fe44d3567923fa1f16dfaa3145e4d851242269bfbfade945abb42f385f04dd25f7cdefea3020bc7fbd65215f19399729b13d695a7107c69a5ee462e36a901da5becad85967f725566e62501520aeb1952c2792b8e870e17a346c1afc565ac842bab8f507df530e132010827ae768c733ca69054a9328a933026ce4660fe0f0e79337d189bdcb604775586a95bbb627110295ab8b34c45b18eb873411efa84cf2ea201bbd5c7e5880b5d8927412f1c6dbc37b63dd4647a6631995807cfa57247c2166451a482a6b20e2848ef789d358fd6d95232a52fec1d20f2cc12391371919268e59dcd7115dcf157278a8f673bfb637d2600b2f889cc5f923c2f252371249d45fcb32f9dbad9d5448bc657e8fa44d1e15ed832879b8a11a2d0fdceb56132d9ae5c0d24c47bfc96a21c0d05790429af8be1fcaf828a26a8be9d89a005789194b0fa8fcbcd20b430e2f3b82631ce406f2d21f4b49dfa4e860287156dd4c89cad9d42af551b310a956ede20140851b56d6ecb9717f1f47e440c5319004d52579027e4f646299d1226f33a92eaffe9d7feeb3f45a5d6579e75bd49ddbdbc68ae9d1991299bb042b538b2875348827b6e76a40e48c62259583070e72d26f190a44a12cc1fa8765a82e4223b76dd4ecf1356e28e58f666cabd1233b6c321fd4d1d7acf0639379680a1c497f1ff66247db0432f15de0a45cbe2a9717d297d98c8692a4c965f40a94bd4ee13e457ba37e51fd71f3c6646237c59a3a2730d14844460390197bd41961201efe9c91a33d7ff0e6c3f11c407a08bdf5fa12df9cc78115bc1fa0c5764764ab6c94376e0bb6498992e067f81348962b386f741696310b5264bed74cd8b29097f7ba6ef3521c669ca90b5aed521dad73bbc672e14ca0974d055dbedea982e64f23e443a0e7cb8234c23a9a90003cf4ae0ee2a3bc288d4317394ac629bedfab6449c3616e72f71ff3826e1bdcbff4f5e23197592c61593c093e8629036670412d89dd1ba6a36ec07630bf8f5f57d0d8a50a59b5d8805b67789419a775858046074c6c89f37888e79c3ff6d1d2697c0dcbdd52d2d1d18724007437039523674ea9959f767d6e1e7d68500e7ba207907c3a2f20ba4688cf0087ebdfc48df9154a2ec41f05135b0ead5c0e4c12210562ea3156e87391b4d7017be1d1384b89908a77778e677bd1d5ede3a5a6d326b174aa41a4fb3d3e63211c23dd059b5182f503200289eaa3932a1f04e1f8d5165b09688300c5cfd2291b04bb63a12cbab83ace0c5878375e510a1513d566d9378fcf73433ed21decc3c6a7a3eb4ab36b1f31dca8f3adad870c55528f279b2f42d8210d6477f44526a11219bf08c46db7d330ec4a0e515505707b7792c14cb4574b0565ec5df55da1738b534c602fee9ccf9765b04481999f5d7adf2bc3ea605e3179d89289e6fad4a0b2be7eaace14bc0ae7e26170f58572794edea7cfa552655dd9dcb87b2d03338e92a2a02412dcbb0985192433a8e23ad91df2000b1374d11018ebe4b3bdd2172728f8a54b68b9e6b358dbb544e060248b8616a0e139d399e3974c7b0a62825acff7bf22c0953b21fded2d093933006ed30eff0680e8a154c6303028de93714d7052f919a10dc000de80117a3e2bb56e7b7e5a508614d4601c77f255d6b8117f8e808f1ea1a31735ac31068b6a6d9e23e3ca397375108bb7a402ec923b976d6d3c718d074aa03339abcbeb84ac5a31314f30ecef5da92f288773c1678c641aa0b0e6527950ae03fc4876852cc81c03ac41fa0bd1ec09ff826cf3717393e0ce321b2394b780808ca65f38f75b51ff2f4950f6775ce01c5a426ba39907cb89196674dbe51a1b52f8183ef1bea4b33ee3ff6f9b31d28311a1512399fd4d7c3f212c36ca62734d9c2a627c1b1f2e012780a7e34a709e99c8b371e4f22dbf627b7c671eb56fc67e731035951afe613a23507b39513f8139ba45995408ae88e47af69da5d57869c4f7c55b5167c61d319c343b0adebea95738763338ef8ae44c0b44804f5734bc97ed5b2eb2a6d738e531064da0dbd02f6749a58b21bb96d45d1b7cf0c98593393fa92c4790421feb5932f265cef865257b2fc1e1ce68dec5f24aab0cdea65b1a9c99664c333b1172f3c3183e1e32804bb22a72aa698abafae9338c1292721ef2e5151b3d4e469f9b5eacbac329afb15af5949017fc06699fcc5ad2ecf01f7a9a769d2b916e6d7ded7bf54c918b326255f4b3847b4dfc2d4e1207449e995ca7b33668a64a3058e05c39b53107e4152067edeb3d888f5e6cdeebbfd4e8b2b7babfe0638b18f6ac85a63c2be4513fe885d613089d4ecf6fe2ebc5de7319e15eb82702406f53979b2bc3a5c0b3643fe199859f94a8d38f3dd2f162a5b6098f53b052af822f9f8e26762859dfb8e5b24078ada6c7b5d1c7a25c3803fafb037f70a04b9ffbe92f4b82e3f3cdc11afd73449d8de543b639a172bf6f44e96d160e2ad740c3268bd670475071df3ecbf538f6ba96066f6586cb9e1a8d63b1c86063ae921814eda404b170737ff3760abf9b3f02bd61e3db38f02d8d13e144562917b28e7d519e6f23b6ab29fd44d3fa9a0383fbf78309cfe14818231eeaf567c89fc76fde76ebdc88aa98b694b5dc70ec0244f88e7caf37ddccf01827356a7267075a1f6721bde440dfa56b5079cc8a93666cebe981cd0980ef1693187aaa13594ecbc09662e094ca74a2127476a0f4e1766822da47e0c93c94f442e6b31660bb5b9f3aac3d3bd071fdc7854bfedc3417b887743e6937b80c4b831239e25e303572170f826452d0979ab21dc6ba3df0565df3032d530b22e36ebde29f8ce504449c5393c1e4feb8bd643e73271f56ea09a1b62f5d5dbe29de4ce8e81667b169190454e13ddbc6ca948f4cfa74acf20289826de400239dc3e0a91ee81833d0b29f8655a737cf6b71057e74b9e500771c36a3d646ac68b777b7399b98c7ab75f573cc0349e89b36315277b741bec27b95f5b48f4af9c3ba15cd3bb80d6efad9b4aecb91f7d53335da0daaaec6377c3e74b4cc3b728a0a65e402521828e542b22218348b2494d17ec9dcb5aefb6b3980c64c000324883de2eab5b099facdc563be8c7cb5d9893486ab363c093b8f38bc45d901b9681d27997a1370d72b58ef8141d405beff1d26100776f421681b8a764be07c71cf794dd4a102c46a33da5d211f76c4d3b2343ed61fe416a3c13d953e12de3678a66840608db9feb60f4353e652ff0ff8edee36926dde4f946af497c8722dd8399e13f334ea5e7cf4a02cdcf881f93037a09731e86798b9b2d79f2c063ba80bb7473861f52de4d42962e96bb214e708fcc5fe402266dc478863b3abcecf9dbd26178c1272fe8a087a9ed733ac15fad74fd8ff743ecfa4845941856f90501d18ec2958ca17e6c9c769dc158b39ea6e5a749e20424c0008ce587364d076e7693e228d3921d8b718c119ea4dc03452d4bb5114e53547c9eee34fd6daa07e4c9185690b5984eb4d1d7c23bb18a523a2a11f2e94deb9db6ba4a50bd401f9800fff09f557b8a9b8c916900f8428fb6378ab44e2d7709a3ebe3623b1d590f9c284c98de8503e09bca3d0f854fddaa717f5fc8bcf4bbc6962205b33993b659a8a90685cde86258c491df6c5d718913b815c0012b9419c058e26c790b92d09b164cabb7cf3d82aa171504a3f8eac41e5af70b493c2d3bf868e69a28a9210ec5918bb5172b158eb2303c95dd99641020114bde7f48fbcdf3576dbf7707235f7e690a3116851cab26781ba95165d21d88ca757ecd263e8756eef3a91016f5461a0a7230dbb0789a91d24742b93561d5ca818b02fe16bc423ca373a6c7441577fbab9c638a97e8c9900374e8448a089ca639f1daa9100c9fb1f1640cda85e8f81291eaa007d4f2c89e411a89f74278027f308e8b6e9d4465b2ffa82ec03b03cd90cf42fe30f9374341d430d5691ee761ad15c9ee30108bcbd1364ddbd6eaa213a557b6af69cad43f647594201f9f44ef2cb7622ac4a30df6d688db52489330d8fbb7ab32f38f3cba1f738630fd13bc8942ad1fc3067a206a00d86073f0cd477ad17eb97d5888eccec15c5927adc4d3b12fc47245c32a7152ff39e5f34d04f65bc56842144994a432e7592626fabb849fa53771b90fac34a3331a61a8bd77d8625edd79549060906d60ac6d2f6d65d24369883d61c327792b0307e1721d24fecfdc5e56152875c970cdea992165b655d2f1b147b18c6d7c7b22811c1bd5636ae11258f3792ec5cb22a2154ecff28616d62b0be944c26588a67f0a97dc2529c9e3775f6d3ae5e52a349994c746d4bdf5696d868b09d18cb539a9cd2cc4c9332452c9eddcd4825035b584931fab9641a15189cbeebc21abd98721e098a475efd3de3b7c9ac64a29cc034e87ffbcbc54a1d1719758514842493903426dcb67f83d81d3f01114879f177b5013c309e069c10e5c3362c054ffa0ad1a5439d231efba6f9785698943b3283d6acc76072a8fe4db7b81b29b095e86a7b1fc459e07d87d20496a22417e82def6a86f49b73e0f68438c6396d315b424e30ebe20fb05eeed97d5cb3c2813c500ed8db0853bd3683bbb7fe5a342e7e027b2bb886b021cd8ef8554d788033f07a92a726f52fba1486828fe16184e61570e7ca8c522a3e2f9653dec3d7e13916c241ca195a69c9df0db2916aac712d87ed590c46a965c2fdbffc3e7d42eb980da500df89778f950507e57f34f4af64ba7761611c6e9e41e54bab40094f54285aed3538036eb0d2ec6b21d33b83fddd95cb5b02219704944e8a4037f5f74f23e84bcfb21696945de4890b22191ca27664ab9331248aa460ed0e5b8cdf9a24081bbd5f3633a615648a261f1b834bb75ec1b43cb6db637348d12edb252fcdf1cedb5f399dd39e4fd2d3d1d34eb712cae00acbeb56bdc1b27a3816afb20182ee808d18183e5768ed0eea228b34e7eec537929689d8b47f4489e0e38fe03d96341799c73d2e487c2f5a431132f36413396bb3835c1deed2f0e93be49191aa28ff26be1283d5318aa6c211304fbd770962e1bd681759593880b05dfe45ce82c6b4d2de4739ed52d4d396e0255f65d95fcf6460aa102cd3a3e57b6f08ea24405f490d72a7e7e4d8e1caaaf3877ac85428d8ebf05ea994ca0a62ac77583ae097f0430415f2ae199d0f2e68183864b2c2b49b184cb0bfb21bba34fd42bad00a61836d192e83d75f6b652071f23feb70b50e147eeee6861a3d0da0d7a80d90aceb1adca4d7e551e5619e37484fdfb93db</script>  <div class="hbe hbe-content">    <div class="hbe hbe-input hbe-input-flip">      <input class="hbe hbe-input-field hbe-input-field-flip" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-flip" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-flip" data-content="您好, 这里需要密码。">您好, 这里需要密码。</span>      </label>    </div>  </div></div><script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]></content>
    
    
    <summary type="html">没啥好看的</summary>
    
    
    
    <category term="时序漫录" scheme="https://blog.cancin.cn/categories/%E6%97%B6%E5%BA%8F%E6%BC%AB%E5%BD%95/"/>
    
    
    <category term="日记" scheme="https://blog.cancin.cn/tags/%E6%97%A5%E8%AE%B0/"/>
    
    <category term="集训" scheme="https://blog.cancin.cn/tags/%E9%9B%86%E8%AE%AD/"/>
    
  </entry>
  
</feed>
