<?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-10-11T17:26:41.883Z</updated>
  <id>https://blog.cancin.cn/</id>
  
  <author>
    <name>南方嘉木</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>2026年10月记事</title>
    <link href="https://blog.cancin.cn/post/856a29e5.html"/>
    <id>https://blog.cancin.cn/post/856a29e5.html</id>
    <published>2026-10-02T09:32:15.000Z</published>
    <updated>2026-10-11T17:26:41.883Z</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="f80d49c20d4526c9162e08f5f425706c1229d1e5cf4008fa7f17869398a97aa6">ae482531051412867dd70100ec4254e7fe915636919b74468aebbdfa7a35dcf3049a6aa073b37dd51a0c8b1c6913ed4b5aec6dc4e95b69ffd77e2ae674f09c7c858b52f87fbd7346f005f5ad63c355c0b88d8eca460626faedb791db047b812dcdcc899e7458f90ec36c9d13810a690fcdc022981c85a6cd821e6e3eed35f6746d9423138703ba5adad1c4787fb373e5116cf3c89522853f7257cebe3f890e0b0fa23c770c5e7f6301716a631e283a57cae4d2bcd3ed3f168eb371be0f23fef450ee1e5ca950400cb5f74f83b7f55a31c544cd2cf768fe47f2ed7a53f1d274ae64fb51bd91c7763d59e46347df96cd5af2d247315203dcb3a1abde647b1b699caf8ac99c5f9e8eb8393a74554edea4e42f0c89b3b36647a3e728267c8ebf21fd6cc5677dbd7a36cd0b5c838520157feb74be81828636f3f15d7b166f4d2f21c39780c2c9861a589fbb242e67d3e78f4226abfca83fd8ad2036556473ecc299a9826883884562cc71b751d6e22d2c2d1309dec3c02e93dafb843b16fc6e81f7c82f12ba6b16b6e71ba257ebc0ca24530b578ff0fe388bd43f92ce9de7c9605f04c426a374de589678b70a5489ec7ee2d876316b650cd19ccf565f5d09123652d4efaca40f2990082d194646f775bd96c03b685ec65ddcf09c9420d3b6a62781515166f7e5a8a0eda16f4fe0aff91c33495e0bf9514d50714eaae73305d865e4191a642202c9b6fb23c94a7b29080a92c029883f875861c1bb6217c0631a11b14fdae22a47a6d3da24ede124079b73ab6a058ca77c01625e384c5a32e0c7c64f9d7875fed0dbbe75f7accf9e80ea6fbec068e6c43190fb7580b9cd7c70e8020423113bb95406f551032ca688d69acb1e8c4c064a4b619443c8f45f3a1a8cb247b607bce5c3ffb98979cc82ba0155e673516805b117e10a9e38f50356c6425c14a592fd0681f41a0a5602becb7f7fa41b6a367f8dbb233115dd288756638717b8a853bff3cba10a2f94cd1514edb7ef2f1e602c76df8000c5e923f248589f38b5b93448f2eb55dabcf438aeef581b01cb726f8bd68d08bcd6acbf5550b350ffbac7ff1be3f9871b818dafc8c98bdb0f8ebaba9e08a183da1d17d582d43724bda1749c01f01dd2b46c8665db1de8a09128cc50af8eefd8a4b4b1d2b9dfc516b54d91ade17ea1d24fdea8347e2f5edce4ff53c10df97a228ea2493ffd982d97c26cf36718b7adb8eb09637199eb5a5ff4c750e6610336500581ef1c88dd82a2d3a8e228feb19de1c74d85e7c636f3a7fcc2e574a045ab51b7bb2d1dbeeba17673e43769c1a4d4825a05591ff81c9e8a90697f1940ce884e3af23f8fdaae4b00ce767293894329a5a21a51dc5ada939c5596b73c7370cf38e01705d85bdcc7b08f364b3b2958d45a352b39b95f1648ea2a492dce0d4464224aa64c5c23c8a91da97fe906ffd3f0d3f294ad4e3a44c998e8ceef56c93a2f0b554c96da81130a34b6662e1df4f13b4eb7d0fb60f0b60c6595675c76ad389f76ff29d8d3003395e3b40dbe16c0d28088d8ace5d69f0188b2b15904020d8898ac356eb401ffb91082b9d32bb36c25945035ea37d5bc52d9a1a462981486c11d5435d6d2d3fd7c666e464faa3352700e830288e44e9bdfc82cf5c48e33b04ae1bd75b27393a834434ae97662ec38d22e99d97aa0fe2bc287068f193fad3b8169edb3bca524883d04516131a1d0903ab25453ff9adb2c001d86d69855cb9ad5666d58f0f48f636c90d2c8f86561e78d529f5993ea3ed5623f34d9c3871a3517afc2826aa1e2dbf641c4f519174859850a37f6c06e8f261d7c1bd409e422950dd271aab1200432fb668fb20903b2921fd08ab352ab54ecf43ade35a8a0242c7dd3cf41ea5b16a35d23f3c085d71b15b35524d27c5add8cd7efc1ae7fc0dff0903c5765d9b25b361dc583baf663af2d2e928bcf549b22c26769800a91caa1ca8a5a0c3128bc22ac4a3075f46cc056955c2095d1202c406f39503879912735fa5fcdda7589aabbd268c3a6b7160ca3fab6e1440dce0f42af4ac5e2860b19f152683b445b565d483438c6185f1c35eea2fd871a05c16decffd47507945a5e307275093798282552b773b78c819500616b4073c4c20a2e5245a5ff7ed6b3afb1d5e7a01afbe1b47fee5d443ffca437abfd935df336945322a1d8741921ecc089a4b8b2a14a9ad5b55d2a746451e560b10a3f0665fc74f4f5dc4ccab6b247086efd8681b1bebcffe880cbbe5aff99ee6298179d8394ac8fc6e226a1d89dec9922650c5a44a985da33c2d89db9676683cd9177721e2ff9170d5243a988fcdf05b62776166ab1f9426b1b1137d42b6818c49426f5479a955fe1a653cab8920c88d82dc7c34958365860f4ecfcdfc92aca87536a1941e2f50d4bfb61974a79debdf5f3767dce118405a5a9ea3803cf330393f65d113a65b6f30eea85add24ac9513f78e3c3c557599453c6fcb5907a16224288e6e95c7f7c02159329cfc19181e3fc1503b95ea5ba7538ff0db1fdee4bdf6bbc3613cf53853d58ddda90741ca18a70fd9884539d9872d16ce7590d743611a12883366f86534511c2868df2540a4989ef12f5b4cced8d8d136d1c5e5ebbcbae15570b71b09772fe1dfac474f148d07f2622cfa86af0b48e935e74a05b2d373fd2d2fdd8ddcf7d11beb78048e820d14009b52613335cf163a5115f740f53c4fa718cd060d11f08e0670da98242acd3a8c450d38a8639668f0d549caccb1ac06085ae3c02fd86e8a686bd428dd53994f430bf5bbcc65f08e8727face8cbbd0a1c85b708fe25106fca1aebddfb4afb85050871c2f73c230f20d092369684ad7fb777640c13759118d10c5ac85118da6ed88ad3cb0b1a4ede5a40fdfd84c79eac8ab4d9307decee1b083e5b6c951f6071543dd36eedc8d9688093183f23f7766189dc7ae653aef5ea00be19d9831d06354184a8a1143cc31886f9112d6ec76d25d86d8c770280edaddb311053a190713f7a20c228af4064e500e8c9a828ce3264ab0ef71df7b4411e082bae50dd0ab1089052b5048cf52a8079a5aa9634cd62f5bf09cfaf7e10f87ae33583c1cbf417682e0282f3e23f4f9a0d07de9a4e3f46d187fc477e74be8b33118829900e9aaa15d21c56c1d20bc2ad31b076bdd477fedafa22a48dbcc8443e3b5a587455da5ce62c0fc4aebc4d6292c02e3329ceb3b117c0f1d89006481ddc323dd16d4b44cb9a382d21f0ff2cdc521bb18c203390240e844c8cebdcde3e3574a6811802facbd22c1edf49aa876be4a24eab71452cd4a2226b149ea4725356b0762b4276eb08948cbff5e5bf5e57460ad084d2ee2515efac1d69cd51af4e3559d85ae2f040ad7a6b1db53454642d7594356b7193189dfe836d56545af085f84051e32c4001090ce1489b1f7712b5d1902d61983386c75da712dcf04a2870e14ee7c3a590b5b9dc5b6c8366689437521ae356176198b32caa7ec16cb3cfd7d57ce047dfe2b76f36189c8fe958bdbc8ca566592ea096e34634ed0e1a0e938c502116043a6c86096ae85d40da47956f34d02694616e5c3c0538d8697caf640e7c38a71a487df2aec71320eb0dd025096f9ded3ee74bbbd1c7431a2b0a07c2431dfecac70f35275ebb32e758f86eade5cb37c2501a1aed51dbf9912614f5e5c237da0421febda80d66330fc5f7d63278adf5b97fd1cfbf16eb125f4bed0b3309c70dcc83425deb226fd576f097d503d0b52ca2f5da9f93521c06df13eae2e685e5538e127fae05872865a46fbf211fffbdcabb7c45a46a4827232bc09cfbab49e9e2c4561972e63d2d9f041d27ffa569597c3a42ade81a6cda34d2221789424f38156d147250d388663100979295a619afc32c6b7714b54603dfbd6322a813e29ac7bc19853ea01626de3731d536850c68956762c6d05fcf920d4ceeced26db45fe38c2de6fa067ed971c6d4ebfd692f2a8cceab54ac10e638bc4491d9425305899e610b7cf672014134ec958d5339e38b739dd25c21a6227822d222d35c1745395f3d72300967450e5fc650cdf063ccaf462c3a058f2c5eeec3162c962515984c3b595c1777e2a6ee674706efa09f0ab1a2702fb1575945a42c72928a1804bcdef7d60fbdd29948e2c92cf6c9d2dede5954295480ca2e8d023fba529d57e8ee99ac1480c443442e7d2ab910b2f620fc972014b08198ebba66721042b9e32352d045a0b0550444bdbe0c4b1b131f1072bb377628ea25c86fc2fe775dcea8ed897b815b0ffb60b1aaf8de17e851676994f480e933355764c6d5d7bc5941d9661638380463428403a274d519f3a975d2ec9068b1c7804483ab30798d95f3c811850511529cb197ea3bf04ecb24a86269ca0f368305e3c4d38e0aa82a057146ed985c388129f5b386283568d6d2b3ec6524ca1a64bb7d95c7bbda3226b634864ecfd58f2624d46a77e7ada73c89073c6533a1589a29b8b4120348baa61d1b44fdcc87ff87a768a08656145c5081ce04daf03b3e81d3049f590bc7ec39c2717db128a1148a7903fa5e00e1b7c3ecd3112003e080b3ba1ba76049729dd36eafa1898e157e711126d3ef4bd4e59a1f621fb4370e13e7fd2bab0cdaaac6abaaf83aca4c826fb621c23eef264142e004572e124cac5202ab82d1624749b5b8b5e07ad7b17b607611be68ea4a0fc7c8c231d606d6045d7e16780a669322def75a28166ff4ee67bb745a62d43701583ef05134a755e497f4aa0796fc1e90f31a48a8392159eeda296dc6ee898188ad385dc71ba33cc79d55a31d7c9a3028d279f7a7ab501a1d63d054818eff05106209b915a8575f2922d7ae7f033131f83a00b51478fa170653d1d0d18f1597e29bbee7e50099c514d150878991a355bcd7459de8338a6f6c16574080f008866d6c7dbfaa8cc6aeafbeb2fd68d47a914327a1bf9760b2f920aea4a2564e74f6ed2ff40c50d38b441dfac8ff7fba5b8b8e54ff67d91e752efc77ac95de274a40304e1dbdf921cf7848f774f7a5c599f4c04f1b06f2ca1038e2fd2c685436bd3d07d05bd097582741aa4beace512a9552b083063c3bd8f9085581fbaf209851ec1cd9a1fcfe4e94b37fd46ffc934df5577be6341d5f87dea8c09a9a10ee6c12f33ac03727ad64ac373932fe2386d02b01e18d7f843861934a534d2dee4fe8b54d0ef030f6880b398c1e78ca8f1b3aa1afa08ff4595b807b502d2e83298d305cb753f933733b554c9d2cf89f9432a823df14bbc9a9aeba374fbc3f39ed9350803361ed29f15209be7e6dbbcb49e063d597976482afdb487f3d404fd29b152a4251b7f43ada31ba0f836a9a6f2dbd835ec24d5bdf5b6233d2d434bdad30f5e4c5a0108ad27fb19cafd34a88821764f60580f68831bad8cbe06479590c51e7a0892ec149ff24f78c42d87f8da3d73b2f813673254f40a6477b982ad52413e49f1fdc62e1bd9ec504f330d10cf7de0cb92c2db00daa737a0fc3044c22d0be868d91bcbb5338627744a75a3e821e4a35e0af85764cd9a74cd40b68d0515940eb69f43345c072432b1d4b4c6e5436c48b6d60037bd5b317abd73057976074ff8f2c045931a5c76d21cdc307973e07aa9aa6a435d50c228bb0651656938798bd6212ba02e4a9baf7417e7c3083e76247fec4fecc13925b535d2baf7a7692a93bb8345160dd626d9f818070e387603bed58e378d589bebc45d596c167bb18b051635f7ef798d2ac0f783c29d4ac4be243a0f73319dd54e8234f52550a3c3ce2d3a36293b48f56fd7cccf32ea7a5ec367aece7d6f74749883b88fd3f49ae8373b4de02664209764b299dc328ced2fbe418c4a5ee019069cd1ed34c7107b6438ed22e9ab8dc8d55229294fc950f17fb594fb31fc28854f45d0a852f09f9310f2110431b42f863e58730563b1ff725c3d5ffb164eabd7fb0d808f22a2fe18bac3d921adf333d1bf8bcd3ecd247d60a95a907010e9987dfcd59d69474520a51048c9c04a21bb0cde15360e1d30b7e78c9447a70dbf784f398827bc32fc83b4577ab336a7f3a55215dc627e512a49e9836d941f310c1dee0171905659ef5f1ad5d13c982afa924e60bec86a5a76cf5fdb6fafabb59fe5cf0ef5f82e338f9e8a2ec6be81680940906cdf11bba975904b0dcece7a2df9383044730f91b3a83e36590f4ef1f8064def5f20ca5b1d58ae68f56d2353a3ac30e03dd8c966155772e5892252e131249b5875ad3ce788c1346936ec2dbd5f13bdfdb0150dace6cafd5089a3475cb56dd571250c5369dba1c1ef60c8bf6f5dabe4dff944afe0eda6e1554961078d945fd810c422bc2883c925162823ed8abd947e0beca29195288a279b7594764f92da671a70f0199a936f8d82442688b51c5270daa1d543474106a69cbb4942adf46e4321e517dabc30de3960a6b48ccf78d09abfbbd9b8644125ddfc2076764d12f698352ea6405aa7bd1665f1aa56c1e8c50d64eb3daf2229461537ea533f76283ed5d5015631883dbfc8a1583c80dca562019564043fb5d573a43abcddc306ccbe4a6952918df7b0ed9da19edcf4eb68af3331e42bdfb7456c4c0599ca9c9b0da6054f6d4b2a5d2d17c139334d4b40a1293f112b12df0b3e6cd63caa8dee95f1b19329a43d06dcb0a12a839b08794780c693da54215e3b5d14c1d719a6af09650a70033edf001b2c16fc6869eb77bda0b63c6b70821506c46ed3d84c3896939e546e4984807e41b0f1d0b46b77b1442b98a0a3aba1614ec14dbe52f29c2d2ef7b3a2f500515f678e144019b0ed3197b20419ba043a220c2e6eadbe3e503f29943944a864f1b0f516b38da25181a6eaf37252b8daa4d1992ac11edbec4a472c1ac433aeb6d443adef4396af5d2cdbcf99ecf54846c4d8ccf386e82334ecaac369234ac3e1388aceaecd8f6e0d2d777f99e533ca0384449c4beb3a2265dc64a90ea16dc4611abf514221f865907333ccc6786dd842ab5dcaf5e2922a653f72c1982f61171562cea543b5bd1b03308a2a82d65a59f22e770001b88f6a6a98dda0e15d8181595d04f40bcfe29fbbba2dcdbe3503632bd77d5616eae480b333baca4bb1d1a46c8a5911e1e874a09838de569bf3e212f2b2dd6275117aa619ac0ab4886a6b9c2f54fe217c6a16b213305d116f65fbc598a24983bcf96d4bdb2b1acdbae3fe993470a18d84a1ce30143df890e1c7c50005b410bed426d122feecb9dc7aa031b18884231068194ff24c5061a0e2eadac2bc467c2d99aecfe35d90afbdbfe3b91175761202cc902d189f37d254b57198b15e31e9236308b259b7f919553a8ed4d127286c4464149dca6bbe5969a8c628da0ea709f617ec32f3f3da35ed896be15beb26739b2a5d4d22ccd68965dfad30f5a97b447f4f838a506f6a064247ce000cd851f5b8f5ac248d4becc3c3a1f1e2a763f1998ce97b7cf5919dc2fc2a9753ef83dab8a37900f0eb1f6de1efc755f2cbe612b0abe8f06acb232600711fc9e65b06d9c1ba69f7b22ae77fe451fe7b506b682b11937a88c7e7f6b0cce217193350920c216bd9a0e610a5d9514f9ce003ed836aecb5672b2747833adc8970c328c919a6ef65a03a290de96c09321f6a241297282300de8b27d6b075b292973d350fe9d7deaaecad50a6c4355c495969a74050c81bd4721d0988e158ea5c23458d0766b94c745cfd8fccd91e3c4b54194c595e3709f7db0db144ebd105e15afc50b9aa64ef8cffbd660c02ad550a75109ad2f627d07d5e9841e7f84f0b521c1236d9a246cd52ff0c8fa143ed2e71181fa1b0d0aa5c7566bee117e9abc9d3c3e25d6674c4f182f15cdcd8b182565da020c33a6e9b97cd74000aa05f39a6651735306ddf0049eb17f91644a00a81e92f7a804ffc1b406a0f74bd658c03b854585765ecd952ac0177a6859bcb6ff1cfe47889e448412b48ea0f028b97ba1e1dd21fed4829e8ef51e127a733457de2129279e06c14697000bb19d1d70524bb4c35f98cc30f616dbd272f716f522b94ea841db2c74bbbf4b83d7a14dbb0887b8af451f8a95490f769d99451e187583cea7726c98655a721d9f6c02cf64a25c23aaa1eb21c3faa8a981fc23f516a4f6029678d9155cf32dd97d7ec1eabb9170924c255b1412abc8a6eacd7b333e945556422aa269162ce1d3bd9e0e0bf7cde38f1db5d391e09a9c7ee51ce089dc94e74e7d1afbd5c7c85b1f76412e32ab4240bb5050e901ac</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年9月记事</title>
    <link href="https://blog.cancin.cn/post/ab6a74ae.html"/>
    <id>https://blog.cancin.cn/post/ab6a74ae.html</id>
    <published>2026-08-31T15:09:48.000Z</published>
    <updated>2026-10-02T09:33:53.224Z</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="841174d8373f39505aae78ed619cdff3bc44d48972bc116cccd0621f365f16a3">3b5268b8b8eb5c2444c33092e3228fb13b17d2ca75b2a43079ef973babd9e1514a89a6ce8ae1b16792497f06e175913fe5ec58fb136bcde4e9416c4291b164a11035437ddc0fe35f48fd6aaf05e4fdc33224feec2ec2f35bc6cb746c7af7ab56403f5ead172887d80875844149449e1a186315115562d69f308e75251ad32cef831cfeff5866733c88390e813b66088f9a0fb4327299da1dbead95d44b6aac09bcbfaa875f8edab7a16e343ddafd447171dd025f94b0a78107faafecce0168bab2faed7e25f908a5d3c69f9ea8932c38bbc4205af31c8511144d9011b9e87b27b70b329465b577fc8ebea8b8aedf20e68236219139af63e03b11b334b530c1fca5d97c6806136069d0288d1db3b504e7570ab5ddf61b631f07a603d9ebde32fd34c081a0b1ed3d77f2826e03c824b153689577969d57073cde500f7e3b688499600a20584864dcaa5918fa925b088a8e6e2210054a8ae4b070b2c7faeb1b57dda1f92374a339907dac108b39d2d2307fca0c0b570db7a72eadb10abce2a795639f5a3e3bf93e6ac61111ddf74f4ec57e740add23adbc1eb53f9d5e323bbd14b3363857822d0c0d52ccfbb60d172da278474fb395df87573e1c47f1415253ea99a16fd60b8701dcabf59c5e3ceaab245255aa81c6101ed0e2a009dbf813b35a31a35ccb5b56e5b9de9ae3fb10f6a62e4802ceb4100f712785f37ec8f9c465af3d8bf8bf0c889061f7716b220676d466fa31badf30c5f6091a9c75f9d8250efb7fa94fe01326e6941b758c258e9d927c3424041f6f722d1b644bb06d054191c057cff5cff48cd5eff7240a64a1075bbec5c750ba6078b5bac158233d61f68a0da75315ab038731db6ed391dd4766bd9a225653a3dfc7aeb78e1056ed0d5ed951aae59a17697ea9ae28c021179c23046eb85f10abe496cf9a02a48a64b1c2eb95c185e31efc9667cb0b08e861ae00a987a0c22c1b0e4352bee967783f7a823a62164927e00c33148954268af1b804aee73503347c97f62483484d10ec997406894e4348a6bf7ede141e4152c7106c9cd32d8f85bcb1ba06aceef2ace774fabbbab835330abe91627053a8251049fc55de57d267049a1c416b264b5a84a4dd562ed0c87049a282a1ab79285e116a742077f79eb1bfb0960b8babf6957519dbfb596b2e558b019fa9cd02d794f260f4a06a6fa90ad0c38fdf8ff91af0b9cbdd08fd309fd67ad2bae183a7e0559f8bc8667f345adaa43de3dc904b35071ea69497fb65121016e7331a3e734ee5309ebe7ac3aa33f21b06dfeef26544c358941aa04890f258c1a17a80ab97f4044fe7d69ab5911f0192518aff2351bc8f54f6f7fed0e62bf6cd5d7481fe14c706d793ef4ae5fed456f0d54b708d7235451079722951d923f57b01aca194d02e6ae47c280354a08fafc8ba208c131c15fd3004cc512a4cdb68402cdb0dbc1dd022239352a616d0674f6f5195d9a50927385f18b9008ddf87fe7a48bba406f87f50fec65512ca5d26beda8014af6ddabb3053e4fd5aa94686aaa5cdb525381a5c94fa4b7f5a76fb0d43c07091cca63bca326963a068b719313342fac791c9443eebd130711656b54cba55955232fbdd0255208ff4159c4e9dc16076c19df927449009cc37826fe241f83c3dba000309e0820606ff86d3050862f7bac1d9d6c57cf980cff368541b9259b846ee40602ce05d079b967d500aff0ecbebdde5ef4b65f40fb49101c5a5ccd8dab07d4c13ff90dcc8e2ea4ea06844d9dec66b2b4791eeea886acb44f57e7c1a5bd9b2475dec82885050e82ff7874aeee5b3e380061465d7a7ffb8c31ffa6ede842f2dfe30cea135b5a89d4376dae83b16cd309d596a8ef2de3bfd0c5d547d65d579b8fc3b8fde4370c250a616717f335ab094088e44d04647d5df7d83ca2fb92ff376a51590ed2efc1e9eecb211444ce2f86420bd7f5c17f8f8ae732c82f2310547ca6bb3dc2cc7349e302c9771a18b514b6660f2ff41ddca1946cb330172971d8974512cf68c8b64563f838c3bab1f2d96c7a9355961e53b283dfd3d2110274ddcbda8fbf7667b5070de89af5c55feab8dd6ca3d9cbe5da8b94aae52811201fbb0541d166fdbe6a52d07d2a44ccfb6e8b8e17eb6e13f8c5b7597bd4522563e1b0e0eaf438cffa6d2285f04cf14b1a121c48fd6cd52282ad1391bdd4d84547cd8238937eb06d2c2f0fd8f55401c74dce8005d7e81a138a5a73efbd0731693b2f431df85c7452882144b869bcc5fd7b5189f1d53bb2ca9974bd7f0279a3c7ecebec7c52d6875bc057522ff78cedb45500c56b2071aa9ba658f94a8e13b7552e7200c5f2091002badb850dcecee5b1a08c6f0c7942dd846d0372fa2e47a312f61ad2859b86dfe83ceb226ab1ddfa237c654ba9a8516b63ce1b50090490549b1d99927a21e283ba41e96d759c886cbec286d1bc4b31f873d5a7f26bbeb682c542b2f8655940ac5d57ee8c0a0e691065961169dde7af182499172fcf988bfe52db0c8ba43ea42dc52a8803ff0775b64db0e7ae0d18e84fd611e1e3d4782e91c30c03357e1b1ec3a45de3d341a2542641bbf98b66215b72c8b63493eae252ae6d57e5c312ebdc4c8bcdb1f3a4c18fc76f3d1ee967c903c479b00085913cb200a00dcb496fe7367079a3a5a7231e72ce26ec667c80201133226f72f6a68acbe25e71cf480eaf8f93ee63bb6061fe769828bd13b64123766edf6f6d4e088eaadaed6e4228f159f624f009fe0488de946e4f6ebc53fae9b75ba6e211065d8c30c64f843dc8ea839230d68e13fa37fa7a7f2a59b3f1ef817ccc11b57de421219c2681e80e756569e9d5a5eaa9007f7f4129858ffab81ed570ef1d80c3349f331867f937ea27fcd19ba0d575cee95ef5c8a6f6bb2ba0d2ab0837dddac2d203058a13e1f594256ac1fa5ce705b35fe55f21625d8da0cb3678ea23eaca6044a396a5db06899d8a89fb3e58c6ef7d9618639627219b16b0f89fa999ff71a94f743f822671d94ea9f1347c88f667998a6212c994e9ed96ce70c9d78c2eba63574118a263aa88cfee489bf901b043d99c22c2e9be171770f5474d6fbc5adef957b9ec06eddef5f21b0de84f883454ea3d439abaf960ccfad6c422b07a00b3f8589e9d83b2d43f8ece78666f415e543848b71515f7d02fc1f9d193839b42c4b5f3f678bf3cebe3ffcfe34bd95e48b524f806bdfe2c2069ecea9d22ecf17da76f4e16eb8a385d31ade901cd77e6d98fb45965f68ae6e23a1667bbf9e2aafe3b3ce50b2b5351fe990fed86c2986657e6ed63185547a47f0feed0cbb74bdbe539d13fc474d68f5ea32d0c107fd229b705487ef75d56ea9e78e8770fafce4864d779c1915087e6c0b1b94527ccc8836f0f1300d421016baaa8f5762bcb6c412b998b778f027e0324350b0e8aba6e19c70164c97701ec76b7b4c112391c59d6f0988a905c4883ab6ff49689b8932f430ede5be83a40cb3418937fda3aa22d7a3ff0d0d2ad561ad89612b9e1b63b50dbe0d2feea8a569ff70d74998fe51e6a2c538450e068ccafd0444d607fd312a2bc6721a387149fad745dc40ccfdae8061c67fb5e5fd808c965b643e0915a8f93fab160a61aa9ee83ac76b945470017c77622cd9b9b9433ce92c7f574669071790315ab76dd489f794f0e39cedda716453265437b5f3646dd5c084e4c3d12b56d50f43b03cdaaefb83f99f5488d8be370bc2677318c82e9b1639318e351cab448dcc36f88e67903f276b89201351744515b4e3d3149e05671a4321bac790941acdeb7fa10297b27b44f9f7ddf14ba11f8cc4bb60b9db9d003ca975e1d66c1ef7660735a7db2726dd31821c1d1065b9d913d6190185d2a368f5828dff9aeb7af4f561d5a6ca546e50a1dc693ee907907c5574f23b9865ab8b69b15f804d644f4171c6eb51b01ef63867e0aee3dc075035a952d5f67befe4d4fec6ed66bb95cc1dea33aee6a82224620101fcbc403ae6a2738dc4ae06ac628590490bf3bd4e742768cb81a0e92411c97d6e2dd64d5536c6dd41c8edb93094957bbc0c408c8c0de160dcfec28d0469e3caef7d8ef375bbb157b42cb080195b166ef65799bd09fd074e824a9c731b766f6b5df2201a00a19a3f52f1c39671685ffbe0dcf27cf793dc16c147bfc1206eaa432dbe4ee5d616e509e72431c5a4d2d67fd7397ada396405aa66b5dc3ea2f48b23e168f843339c8aa7df8eed8ff694e58fc989404e5500bf4b7b8c5862449e67593333d0d9a51d017f6661c2420216e75f0c9f0225a9aff1689a7847bbd5ab68493e05a67f79583ec02fa469d7b891426055d3677228d246c029311aadbc8866263a022a989259952a761fbbf173059324400ee24e89f1904b8290668091b2c28edacbab05ff554a9185f146f702dc885dc79ab61604db123cf98fab97158dd1b8f453799e16df795e648f3a5fc4f2a99a8bf129af281cfcae14fd509208c3e021f6846f92362e3e327dd64ef8091150df9e911b1ccd19f9bd6d7fd7e41bc578b333be220672ce6509a8cdc037bd7004f02014390de89d427c2d7e99a6457ebe44fc436c8812c1dce03f3eb4a5796623cb2dec7540e98f4b3ec5b9f385ceb4f9e87906860d42a71e4f3073f1808b14f5784e3edd98255f3bcfed877feae6baba37f9241cbdb30876b6adf301b1163a17cccc909c46bf72357a63bf9aaf42537e0e386798e4cc6fa7b12e2d5499fb50696591f87f2be0f6b76b6c3d186cf6678f9dd27dfbceb887f90c565a3f2a6a16d95406751ceb0017fab715bc614b6b1f295a02d407ab6903eabfed4f6b16555e794030a52be65017ed506d72cfa49765a46c95250985ad42dde785780c8a4c595694daca79f2607ed4afbbdcfd11f62a52ffc93ee8cbc6c87f2c3d7fb552e41fd7da4fa3608c14c2de3c1caea241e9ca88a4d417d589f7169ca0759eec0dcc2d69a41a0c608127104e564935128cb56533da38646da9467c2cb640129bd1f4215a57a35fae96260be08d3a48e1385cbc88a470089d1e22a2b0d8e96dc70dd98ba31f3690333f63c5e34b29e43e4bf01e631793573d20237f564cce928bdc77aa41724cf9910cd24dd72a3c5dafbd6b40c629df4b919cc323176e688f327626c0a68ce56f88b041077a5668d05cfa7f41d6c0f55a49e90b572bb4e960cd9734bc3f857699ad5f06b4680d3f4a72fb9b664000f348eb572ea88c4bc03f506839a714b696b96fa5cdc106f012be3b1f7efd12e42ad33d487301141e4ad756984bac4d496c90640b04e04a401533a85742b71a58f8d0a7abbf3bc21d0dc226e91e3f93bea0be993297b447782bbc5e8f4b9c90f6499d8648cc6265e8e7d2e225b8711a98993d446d65bcfd0ee2d88e29a31329e7731fe29ae1aedd763a4b6ceae6c2faad6db1510394ffd625cc78c51044fb197b4301f3904e8b8f00d837f866e74f13a7e47eb64f11160753ea25ae5fa59e05f7ac310c292c9b3c96e09202efb1547114db1819ada04f0b77531773984045fd2d3b41c00c251f29fdb8afc513ca5102946e833b259da3ac3a71041decfabd72e19d1bcd660b5faf976bfa1303b77cde3be7ebbf7044454dd71bdf418a5e862176cfa732dd4fc7862b88c1a43bfed514bbc5cce70bc6854f6bdd69e103f48929a362a1aa597667e962340938ec79712cc223fd0c6f876311b4fea57cadf3f309f15a8f65016e6c9a32f88cbb38ed72c3e26154a596df153f3f74095264462926820a41212e3db8378be791409e9697470f4d78bf7b9edc12f426270ea68315ed0daa83350f862eab361c18a6a3f7286236a47996a15b22e7570e53d7514ffd9bb2dd754245aa9a02fb25a6cf725e9d5e9c5e92fd707d545fbc09d4c87d5ec6cd2da9a8f0598a4741ecdd64cae3751d695dc3d29d84af6eeab6f207baab05b3367214d928efea8c5b0b34694b598fdd2eb75b7ef36fec39934dacd723b09ba62bc0c340fa4cf38ea54f90e210e1ece0b32634df8159c4bcf602e7f6d3b49a2262a51d903380c8815a61a9f1c0ea9c52ce58fd6de4dd45db876514451e147afbe60ab735f25d1e85ecb3cf763de23794d552378fc5975c3f2e0648ef267b55753871114d3933c697c0bbbcee1588e21be94a82ba05ea9e4d2ac2b5385c151276e46ee4e4f1989211a54e69d2b4e5b92cb24faa177541d27a8634a7cbe3be724215e182e40a6641595864fff8e97dd57f70120928f44ac15480d06b1d5791fefc9ee050a79b4746f2405501b4d407bc34a282aae0aead5054968122daea084b8e652531a18872e90d0b46e34f29cb3158d8ce0621c7b101dcce0c2a4f48cd68ce89cb6903d3d3aeba3fe9dc4e5af7947ce2cef46807387fcd186000d9c5c4588746f66280437c1ae9550b1142acdd7810efd73d0dd21f96ccd05ec4ae23f087eac3c626445fd49d50caa8971371fe85a991280e25daa46aaf8940ae1bd05b79591d2f7c2843c9635ba794b71cc19a37e47ba1f9ad869cd5221ee1087bb37fbe7880a82067efc420e44dee543fbc7ce656c998180843cf4f3427deefd57e837f64fb7f124abbb2571f8c1e3bd8eaf9de184f0c26374dfb0ef082e0260d4ff90a098e4734cd178c3a2fa7c448f049c31d9de427af9e26b8b57e95eb9881f9614f5522486e274e6d336629a316e6e2902a398b9e3612803fb395a102d5c772e1379660c2a101eb164eb8aa01da9997f91562520f818bcf48ebfe169035db9336d255f04c096d267b11aa5d104f0ed9f6167553f0f80805b28e3a0f37153053f790cab19674a6c1a517b9de02992efbd7fa2128d34cb4d2e95be8a13c86d2f1e03cb67297ce3542e17143be1504b9935130ea5885c95cdf48f271801da7207d4bee9b4d4a18f246a045e5c5708ff161f0163b84d4cc444d1ff95a9cb452d5d734fae6c3196b9f70b1c1a7b5089c9e55662c5d9f591aad23f55556b26a553c44ed3e6963fc3358cbcedc1fe4130fb901c6743c41c0474ca29ba88afdac01eced88779b49cf9be7b662b6e817f77cf4e9d7bea0ac9eed185467f91a96921eb190456a0bfa94dcf4380316d99ff4d59045901342b41d37ceba44bbc318221731bcefafd291f6cfad6926e4e8f49aa8927198a5b8e4dc6ca759590b94dceb626b1eddda0486108b9983f1818dd264ef3450ca3ba8cca6221572f51dda6eb4d5e21c71caa7e3ccf37f6471c7b15276935ae9c274b7f408d19e156520fa79bd6e793119889030cd35506c798912aeb5b0ec72602269639709cc1833634347d4af935a492f89dfdf3c2ad139be58a72c8de2b3d5548362dc69a90e0da25104d94698813f3393d6f4c202d051ae08cf4285aa19b3f15a28fea079ad5ff91682ac3b2bcbf05638cf6ad412e288eec772c46131cca8ee3817a6d0f884589e0ebf50c39d9cc356a98235ebf327f053bc8d27f6f4611620f25142f02f992b8b170c7fa4834f529c5bb19c003a061b3b8f64651230390b13d28b3c62e9f8325a258d4338858a867fc17a0643607ee27fb42dd628017bb6c44351f37af8c3bd73846154a772aa6c4191e57a00ee58f7a4c9530db791eb1fa2d47a3a00b630c45fbc7b18e091f8e57a4bbb82a65853172d4f2e9ad5b1c2c677c99631da852c9f34413eb7ae102b736c331296cbb34ccb9241f89409051bb0dc6b1de46e9af2ebed6ed8f204c118fd4d0fc1bcdda8f0a289ecaf78824037468bb2d978d9a10c72b86a2f9b7b26247cd1eaf0be2e254696cfb63b9f4f5b1f8bfd8ea64f6cad93b6a7eee0c564a7b590101fdcea00367f51f902d5b2368beec13d8f620b6904b7f5ea6a2c3330e4bf14ba179a5f85b3069cbcfea02dccc42bd1b5e6daabf65c7e68235cc944d09f80ca49feea3e5ac248243f277191de4bc0f6f75fbcc697fdec8188c357bb826bc0cd2fc8f18dfd316f837a7e861e863c142768e770be3bc470f08c96133b5ac23db3e55adfe6dcda3e6b1b908a63e7ab21e0b83eaf880dfc1b023306ac3ffcd53bf0e7136d7b12d793431055530e418081bddc8ac6208120168a856cacb3eb7e561607e4c2beb0d53f5adbbaead755a477d74efb56b37ea84f95d89a5a5613ec77fb43e4e002b916c8b80bd1d9ac19d1dd6dd9515447c881d9d07973f76cb21beef5c5348a82fb119b542cf8d7aa5387321f11fc374b3eac4b6f941c687ff7c11817b23bef56bf0104e5ab1ae3f3a252b24029b7bd81a905ef58f18a8ffbe1c57db02542a592ce2940c4a6388c5a0e8b0043780afcea7cb5525a27cdb4bdd5c9f82f6c87bee32ab0ccb562d0c9d8e8252663d732d6cdb73a572fbc4c43afb61506a21d1a7dcb9adf598b3f05aef4c265ea905624244a9c7b98df268308868a2558894addc62bea840089fa61843ceec888a672b66057ac55186989d15dfcea1804236314026eaf4383ddd104a81caf24dec9d6eed3824dc6b97df934c3f11661d028583be7512edae4039be46def610a6e5e65f8db04f143cb2fc93864967dbc01e2988ab64b09b69d28240d307bea70c51c3c0200283085145df96afe26b1666f1655ed1a1468fcdd3dc7a09edcff914bd3d9673f9332eab8cd34529620340453cac4bf2cb9f619ef55ce8b20dcfb7fb3b192ff8080460ffaca9499d71b9f6f7902735280c75e76074781e68e5951542d41b25b9a37624208616132e4d1f2f930a1ea6e7251ea79c6764a22eb6e9dee3570b1cf26bb5168718114525d4a5b921111618fe9891362abcbc29f07d5e37e2d792308ad90a98da0865170ca4417cfe500824c95f9600f1fd2eaff4b897f9945c86e1c9a68e1a5bf2e8f5ca2bae08e84eb6873d3514a6377bbfe44eddefc573983eee4994e2acc76923a77ff6d97628513c4f1fa1b4e29ceccbf002bdc83b365b17f7acc4e463808dcb25548aabc93a40dea13ebbd8a85fb005d49be328497e59419f8d72f1d54fc907830dc0fe172f569fdb2aa0073094d819103dc9b8f9cb201ef0f561707193c43fe3ad76269b31ec50da1739ff136bd6defe3a41e00350f5c76599d7898dbc0cb0faf64d49dc12f37fbb5e55df79998e793bd7f5a58a62d495cbc0115960e0c9a3565cc6b376405e462b1069c60a2ad2fe9e4007d9ad803b9e53c1abb5df6620d23a6d6d7ccfa35183f1dda5eba826c9a376c26723524701edac8f7ca1e9c27c97ce5a03927460284a43ae3d64f201c6a68f1a0a5d5d3aa9b540f6b2350306c6d0e3a84b4d2f3aceb434ba1f0563b2d71d29e38b0d23d4ad8ec4571d9d1393f3437cfc8ab3394afddd15fb1a8c127d380551c36ae70bf9fc16e7fdb3ed42121e8311ee5ade4f462bed7d4f6ababfc569d2a4de7d3c25055d06644822f0033538fa8b3c3933e6cf64e07d4f9a3ec01e4654e3a06cdc89e9f2770b5bd0a12a596c6f7e413185dbaec06889c840bd12b08cb8718fc55be5297f20ff82d2f4b67c5759b85a1eaf74f14a37d5dd078be29612d9cfa5dae6ee1ccecf0f1410ff510c10291a01e29320752a43bd82f096a54f25c3d7586cb4af4bdc537d2a127111aadfdc90b73c1147c63ec7cc0f06c093ab46c2608acc2ebdb889aacce8d15ae8789ce51b499c265af8856fed7c44048c932249f40377d18a5e1e30d9dd5d75387aed5defea6b9b6b086976691d02078ad14eba5925c729140a81bd60d37bedfe7254a61b259da24345fe71ca1c89a10398b8eff8e4f44f314189edf494e942d84cb9b31bf28ae6c88f3e6276038e46faf59be3ff8af0b6713faee9edcf45138e7a83e397b66734beeeeb4cb2cd767190f9f1b0acf5cd90db585c3f47cf3decc996b5b8857af3fb0f4bba15a38954d87d071835c1b956ab2a9901f65c1838718891c6e1c399d27d5b0bb01430d2b2b37bec25b023d3c7f6ccf5ac296958b4678de966601f52277bf5430a38d725fddbd9597d0955702aea2e1b3019241243bf2343d813ee53b188a43c823e5bc93e29c981475820faa1c53f070ce435cc34fff9f283476b1493c5845f0b234d6002682ba757eac351ef412db234c7edebfef1e24281a4543090d2e44c468b88b780e206986b53a304f6398973c783686e50e44096908ebf2b40a00dad506d17ae140b903628d0d66a30e62106ff44707221424a4e988d245a1d1617e089cfee2928580e45f4ae9d3140b5c6b1db435842d424bd2ad3691f2ef69de1cc105ad5a8270e480df51a7b724377ca40c13b44cc035999bf4521e9ec2ca3048a801e98eb10c0cd30f81a4f4faf5d2476b8330bf1c02c21d644e0bf773f7d77acc7a25d361116dbaaf3b72665c98708ae770c13100c56b1544a902638f8c3dabe36efc5ad78d8b87c49dc59ad56e1f1750d08e2c90902e6d1d0b25bad1213ef22659c02c1e3e7a08ccb7afe427b3113646db2db8534bae38b9fb1c2539ed6ff8b142ad582e93d225fc65ea8fc23482c9dfe096a26a5f8b6c839c4447974a9c54ac0da83a2bb2ff45b0f473c57a480e3951893dcb54ca06a48d1e46c01b2e43a2c246f0d6cfadc4259be889afbeb83bab7ed496795230a3fd9cf9a79c89f7969df2e8dc5c3c38f888810de88117735a354aa4d5b05b6289e0a21400e734a0c9cbdf6a3e170fde77a32fcbf1fbb473939971c153224c59d6cd83ab4ae3f4e67ef7e33e4c2c8e82a4f3756484afe1d400b4f1b60c61b86e066f5150514b0f0bc63747afee184df560b3c04ed60b38a0de54fdc6ea05b40773401d44fcf777b7bbe7e6f6c687df3c09688d8df0dc1cec6a5cdc54353403e307bd2a705a2f7eff8e468f2a1f50b295407b7b8f2774646e2105b1a98b9b4ec31bb889f7091852550cc6f41481f923a5fb80d85d2115d3e918a86b2d5884a9f8da180d307ea69d3a7777d46417a2d5212370201a74fb150e772187d5f1cfb82d44c8f7d5b75bb830deee32c0bc863fda46d960f8b1b295b07f848384e0e61cb15a37db708e241609960a8ab8c727fe7bf07a1a848b68a143541892176c6dcd5ffdf916b831b997080069f50d077cc09532f3e7b35fb5f6b3d1784e805a3a7988b963c76ec2dfd3d37144438bfd026ca2794f1fc5dc927d800ab4bd0eab3be5a215cc6548ff8e40fc1448b85546e7f1ce33c694985ca98870d5f2b798c36ed7c20280319927f549d8eea81fbdb9ffc0f0a101030c0ae43a25d1e020a482a32c0801355ff572e4467a875494caa9e43cc13fae7cdd427c94ae455b08eb4a9d40bbb74078659145dab428fda367224622cc3955610919340590bde067a590d10f7a200c1d473504bce11a6b51df87604ddb3a975aeacbe21060e953e31d2be0befa60553dd68a2c2cbf174a43ab13f3e9575a9cd23eea56ef93e84b1c9de197db15501fd0cd6240768317b4c3766489be3d73a31c0b4c240c0479946aa70a4dc8b178a7d99fa1e95868dd47c9dfe81e5d4de0e37cc589faa3575339e6602e027681bed01aa4c4c13900e3928fdc4d2d36cac11a2cd315f8dcdd6230108f8968b1f66499c328f09c6707aed993d1d99a2a15f228a4b8f4fa627c273d5abfd0f9a623a4d2544b7d9e47fc60212bd42ce23fd1792819540e1ca16aeee6d797f4c9ceb7fe14e9e81fdee1717a2ad5f326d5a683e0d3f2f66b8ac6bc1bcbec86ce165800ae53cb9bc86151deee53d69704750ab7eeeb83879c4d20ac95489ed62757e2a227319b1cea6d8d3cd6a41f226b7b5b1407ecbd15a804550d794006073f36c9d8ae1322f58e06f6234027ff6dd3dc2fe8181427afb767633357e0ca76c5c41dec03ab06b4bfe16adf4bdd9fa2e0f1f994b5eaeb373407482bcbaf77b96962d24b27e38ff7a2659e7750df047d2be3225da4179be6664e1c1ccfe9ed3182c2a9c3e33ad47e27ac7f8db769373204e728b3124656d6c4689cd8e1217a1954a3cf4586cfe5f165aae54fa76848aedee8e766d46d070fbe7b7063ecf9168d01a9b718a1efb15e1f0be4a7840d1e4da46738fb5c88f81b8908b221838d2766a9581d52f9cd8f1d72271f3cb75077cc4235dc67d2881924f569bae0b18db32a4efb6e10474194bf8957d4b5f70943b46f0ce23d582b3151ead7263016a77226ba5aff3c9e97f5a852c878e537f71935cef1619c7d69439ac3eb737e8b2adcad264716191986603b377bd07cd3fa3cc11ba16a54e643f85bf433ce8278e906085cda4eaedfc0fe065503347829b45143a124f60f84d0684006088133c6564c1ebabd728d3d0e461de610a31dd15f66afbece278f37d7994a85ec9fd3a5c984c8958d60ffefc997e53f3c2d7ba776ccb5c22b9f5e2698c9d2946c36b266e91f7f865029d999718de8b8a8c2a4b747bfe17b8cebb0f9d892e1c74c2b35d6e780969b7c7c4324d48a2d5cffb95cca03be36c92126704d7911dbc79fa1e76c61c73f32e7a1aed368ca64a50cdcd23ea62c7a1b5ddb2e55c8e7e60a127ca86a34a9d81a82ae41392aee117533b1760a264552917d618633a30349289e9b7bba61d103113252059934575544adfc3900377922ecede11076b8e200e1cfcefb48db1447ea365fbc229733bdf58a07220ca20f9f956d6607055255cc0229c8041a179c861577e924528b2b7262419249453d4f217605021f49bc8f8e542f811f9ceb18ee3fb0361fffd71f2e1b9bf2081ac5b6aa3b49b30a8d4857ca1cee270a4d34dff655d56f5d1178dbaa41a830a30ba1a0c4388e9d98e09cfa79ecee1d6eea2fa1ec01fc72d060e5ec0b12fdae3f98b56d9e763041d967d36c977897cfefe7cf0ff1d7d679cac16500be9a06df7ca1d50d3ed8ec3244e4289e5f3fc1d35d7e27a6a627b042b8a346eee169618d1b7a2e96f972c1048c29c156358bdc536bade87eb5a059ce2d9b960e6574306ae3b9c82e26285137f3bc37512cfba5fdb87c2b98e202c07fcae5871435c6e940aad9f9fcc31f3cd5238fdf511515716c2e3191e7ad00cc4f48d3f6bbdb10e48e06c2c7245fbc6a2b2505ca411a5dcffdc54f7ac9c722c7579d423a68c7c2902f5864149f187a1db4ae0ddbb0001b4436b96a407b09a9b032e19bb6e6c869a71d999afd2d55472d87cce0e7fe113f3e04d8c34c919bed442682f74fe028f4749e67c005b0a3d68f9ff4ecd12ee1ba12ee4524d7cb931e3a327314dd47731b25235cd0f642938c03726372c6ec0f1311e8a711e9872d1592343110bc60ea1e66b86c9e2d02a45f52f0c1b6d2453a70f654812fa7fbb7a0b6049fed70626d06dcbadd977bbc85b75c117e5ba43ff18742af6e00622ef9fe0fde9d270182e8c3f88c510fd5d6a5014fb09e2ba3a3dc4a95238ccb3879ddde4eb35ba863066636574f89137d8fee6f4ad48bbcd536a117211ecad35442d99a2d6cf112a51d225a5346f537b3f2b8e21bcfb26856bcc1e4d132cc59019fce92af579a40aba8c2d80417a289cda97d980b33084d27361519b670d5fd48576979b2fdbe4c589834e7d36de962015eae01229a6d3a89a4db62ec5c942a8b54d2abe0f001721a3f8edbd2ec303fd108171a2598f4b02c989fe49639372fed1dffd97cbbdeabec47d3eba3f46163032c3aa71bd55a3165530a4302b5802e204f9c12165b2d7e5ea6ab749a090b47027da692f93cf336091db506c5de49c947f3714213b3aa20ef55feddeb8d3f34e85bc065a99050e7ed9722888a395c31ac9f21e1276761ddbbe379d28596c6fa7a2560a8caf7169358f84f82d3ad321fdca613cb2829913f0fed320d583e79704c4296a14d62f08b212abc7e689a8c1362f9ddc18dd38b74a9e183f6945470320d4a57f4ccee3362bca30180533c40be0b7dd4015c5c99a9f3ac083fb12f80c0c9bfe2f6974d172f1108cabe6c43abe99ca3da957a31e48c070cd856fb97d8838f311f45f1ccd40d05f6f6caa13a2313b71a3e9275391d797bc3c56581d6c2472a12771d96ca8266ddd014efbadbbc2d633cb822e6a25d900ba6c9dc2970f3fb867d5a37cbc6b8933d2237362006fe246ad5873177e0958e1498a4b4364b44975345076200b506019f0316f80a4c23159dcce02daca0ea627aef0a49969faee0b186e71cd1e40dcfbaca86ba664c6269d84467a8fe3094fcdda35a9fb0cf144ea49c9b65c761a6d83c49571127c24042ead38c6f816efa6ee5275aff73b0a58bba97d4ce2249e91a903658aacc43c8cc7880ecad3ce1201cfad842eab31e85131b0c696fa7dfc75bad0b030ca3e656fa51b08b35d4d7b80f4f0920572a6b7e57b29e74340a742f89ec0769b4d8c457d803eb7d7941f595232fbe7101811303d7baed55e1903909b31e59063a8651774e8f55db866c50ae68af9f4d1930bc2b77260bb86bbbcb41ddeef7e101c04a407a998621196e28121a21a58de7f0302e1bc203f956fad28233685d1edf9489f20ddc382988ba850135eab610e21712e8fc8f656a8ac6787c042bb1374718721d13c55c7a95a1138d43a6294d59f7f5141cb2862026ec33f005cdc326ec0cbf00a8d20aa6dfe6b05f2a72a88ef8a6c3617a916816d49b8f7c0dbd0e31e80abb5e4e489c0943f4310e27e0737287cb0d3e441ccc13f56859c06e6f9b87fe44a559be6dfbd2366f211814bb00f9540e9d9758f7d20821ef99b10aefa0e5d9cd0cf04770c00a1e4255c85af5cb4db1708d6a04f658ad11d11cabfe6c5030c0a482cc149eb1b614c9c6c874fce3019e31009e0854ef7f3d370f282b13e98ca9dfb4537acfd0d6b80822797af97577cc8b2e7b1ed9f6b84243ca9cc7fa14f9d3dfeb05714731060f05055d32b219f5a07323b261f602f5b7272e802927283fae243b74e1e9b7bb2532b098c546f9ee3089c356b6f1d8739e8914375fdaff963a5c61cbb812b8ceda966f6afb6def0a077861dbd70f04ac07c2274e6c10d0c54e01b34603f7356758670c46805a0882bf34c040ffe2638c9621706cdec5f0e42e22729ef420a10f6c8586a943e8b483dad879c334e3c066ea1f3a4368c5973467a120d2b79da37434595767379b511d3c55373fa806e28312185c189b8160bd2c92b88dfecb2183b6caf5bad9f78a2d8ed27c1d26640ecd1492416c156f0f2192d418969853a2bc42f4611485c29ace550e080d5a2f52fdc835ba26d3f8735f0140903cc0972c8ba623bec90b5b5200c1fb1b6f77b7fcf532caffe95f1bb701a5e08099c4ff9019c02d0744bec76b79e1d7069ccdcc78d2678fe0b7297e04f6322320f7ef2fbfa0590fcdfdd2e85915576807873f88c8fada20d959421f17b9ae966b2ef7f0411c5a64728afb83ba124b20a613aacaeb8d67bf377a9b9235eee3009c24b422949157e88a12689a1f3ad2d9cd0f55d901f602621fd0ae6971534a7e2e980e41cf9d3104da2ca82311c6024be4ddabc9ecf602ba4fc0674f35c70f00057ec4f3ca960b34fcc26afc937a70d2ef70b5eae9bac4ee2ed242aab78510597b086fba57f3e153461454a95bc7e7d724b4004e90f8ba1c8ca9d9c4d5f0ea0db0e053904ce4d29e7a066ed52692841632420e85d7ecc123c2fd57404e70f0748e7fe5197d4d4236cf8c46fe2b4694fab3098414f37a62763868f30a7bf9a6606a126993af2159b18bea1bf7340bbc7480b7e3b833ed1bb873ffe986cc022c99dc1e6566c360c00a30abf15ce61c706bb0ab425f57365a7cfd3cb1267d20a59d79eae80bd385f259052f5d0158966141e9e7d8136e5a4d5c7bfe7b587f1ab0e1fb2b8971a4d1c702a15d6d568cf52c36861f4452d43a14a9470ee26b753a7da7b7ea8a547d5c4c4d3321e652a70d0a7167baea535bc08a221fc6faccfb195b5114107e2d22d8ab881dc3ccfc3f33115a8ba42d7ca818c869850c006ecf45f015bb508c3216146e3d62bdbac1382bea01a3c35336eb0179acbd8e60016f29d9f5190ae24850f6dd9d61da9c6b96d3068b5da024e02da5a42327eb6a162d8de698be6e74b1d4788d87348a7505f0e40900582ba6de39988fd7a479c8dc583020f580f1dc4f328f5f23aca669a3e39a32d03a1cf0d58cdb227e7172c294c7fa23432efbad08a5fbb7850c4f26880c9f9b8053bac2cc34afb3813a9e9ef1fd3b9950ed3348f991d167e2274dc100181b3782819b112e98db9eb48d8136d9d485f005d1389e7647e53e57a1ec496854fd3ddf0953bddf085c50a9a1345341a6aaaa70ad1cc035bc669161a97239266aecaad3df96b77d4ddd66a16829d44975e3ec80d4305c3aec77792dcfc52fed259d40dc0956bf194276e59afb9f199793ceafcef8a16c0261b33c76d6f7f7e9f49c36d40fc7dff7becd2b66261a60ea2d8366a540cbdfc946c602536f048ad0ae898417603a1f0621a499dad9636bf3ef085078695b0193988d933ffc3f11ba967456523d8635dcd8ac814643c2b7aa7584ba19c1df966270d2ea06dda9de69f9eb0d416fa466e1b0a330030ed05af0c3ddfb46a7d1d8f23733ae040335298d6a24f543e8ddc4070b9b03eaac5e3dd9188fa8dd825aff7168eacf3fb7da7278eada258ede49d9afc0820e9840e8ff6066a5ecc125a88a56ac69d3b40d2de3b3ffdb098f2101bb24e8c9ee623cea10cccba65da80bcf27192f71d5a2bc5fcd27cd057445af2ebfca95103e6c0199f506eb9ad18ca06c9ad409a663bbd9f28ff25c6288f6c97a18c48618bf95b03262be26ba4ea37b2012ee85e438af84b92af5457bec976d70d70c59ba37ba4b2b7cab01a3ce8f6e5e0b343b086a73e41efb3fa306737211991ebd719969407b8da6e9b420ff828390ae21121e20947a8424297478f1e7708a51530df90152677fab04d1aa95f93c2e82ac515ff1abdf5abef2e3e459946bafb4482bbb390ad93b925f888e45f1c19ffe85d146d172562566ea48cb4744c978787a98af342c6915d59e17790169fad0c6e07c471eaaffe5aa3457a2ce0831b226b4b826de29f267ce084a878d660f784055ce3fd452a16038f906578d0a91879715c217d284adee9667661c94621ebe90051dce60db8024e74f951372d7acada15a6b5482e2a2a3a80393ccdb209f510a6a23a862f3baac236c3ba0cd6dd8f026d7f1380f51c3e9d2633fdca5edf35ee7a98be13c07f7869db5accb191a7570174fe5916684caac0825fd0c781b94684aecf08afafb3807cb76161ed237fcdf694802b950b4d5d231fd49274ef0c2c1d13f2444c257b2e60e63c355798dfdd522412e5db09b4410ed63f233dd5db25f0ae6fcb730e731474a823fc8b67a250bfbf8c8a7217f1bcd6db26e83a8d7868f2984c1f47d862aa447c587b0ecfd20242dc1064ff211559215e0553d0d0c655c9e6c8f76274a7c167d5e0780a233339698234e3739ea764a2bdc2a77d562a8a8c36210ebbdf2ac31770bdca3a31e887ba1718218ec429d4198296365b6ba5650e83087083cc451e54b5f8f453dcf8334a42eb6e633c9f0a05877db3982c8b254e5063493d8d59e49a27c299ad140c0f6238f3a8529335611e766a8ef7d81f51fb783db61b37afb08405620f6aea1389300b2fe98780de7f2abffea284fc3f370511ff61bdbe9e1f2ab8462985fd09916c210ab04466dcbc79977bbd9fcc8cface458c49a12d3e7f0e7838ee4f6117785c264123d29e5e98d81482580901074928579b42fcbf0b5bbe3112217f2a869ad2c85d438fe9c71c2aca9aa1867fc91adae4160baac257260e07a2ef4771b9257a8a6d6fa52919de1a485e3d6f3106cee550813e0338961e0faafad75933ffcff0c7093f0da6475e20124c7d35f26a956717da8eacf530044566967b139767fd045a92f7aebfde34aae15651902f86fe7358fdb952d09fe73a163c0f26a77e64b1f384ba99322185ac6feee3402e9a474107835a8132460d7303308572cfe8cd2f27a2961d3c61036b9fe2f21e5de46ca71a22bd2b5d23456af537d4dc95856135dd28c76b65080fdc09d155b7021c24789262436dc9afef5df2bd538cdafb490d82330e58a89f0bec5a5bdeb8ead9a22e629252aaee87342ee0bd6b629122b39c6cf8215b93810105bd0f9594380d8e6bc91f22fbfd48122190c916365076ec12df3a7becf3299cfc5ce06a818429c6ac659559a5c8ab48429fcef7b70aec0aa79730731e27808452b020bd8d69b5c94913362bda0872731658e51190f8341fd7edb875fda56d3e74580d0658353a89216aea6b0dd8133b3ce352dfe56b2450e5e1932f3a8f9ce30086ee137acf56b4d87718f8f78467cd62eb3add6882b85df64857f8098206bedcf102122fd2a2caaafa33ef782b25ceec02e6591ccd50cb88282b8207f6e7220c5cbe836edb74d9045db6028c3c017ac93385032e4b0328140a93bd4ca13e169106b10ed0ba09c3e9573c038d89ef576a61f7c8125f79efc909c13141aab61487000033d1348812d086836ca31f02001414c85bd8994e53c98719b5e4b021ad4a3f9fb593b5beb88c0f9d936c852381eef89823b2c563fe7dec469705227cc19ed2da4cc1663a66c3e3c87ce499a2d743270085d9fe6a0de4e3400092dec0d04be9bb3c358706a732fc29b735c79b1b5822389dc51862c8a2807c233301d630ad5dffc9dbc95478b465202877a291a4206a1cb5aa3dcdd7c56d940a312bbc467feea67367ce4e96e7eb69ab515be2a84ae37369c30b6a5cf8560a0307973b56562e54f31c3e135fd528acbe871cf82a085b882e77ac5b54568e022a41dd10def33e5dfba37095cec688c7a7ac7d3377bfc483408212a9944c9f10d7ad410c1ba5a24284b5fa1f7480c43137bdd3e013defd3497956948168045b0f516423555234bcb4fe8890cce92e53859f26de9cab59cc7af54d6b0b8ad0e6920c5889cbc74c76c0ab396ccae8a1d067e24be0ea672997a0b6f9c548673dfd34974b7d0ad1e86711af7535aa5bc9fb95f51d6a2694d7bd77374ccab52496150bab8ba0d311ce0ef5ad1c3cd6b0d68cbdd5578009caee6287e4c3ff4c90d12a6697085b285d16e3b789ddd8819060266f4b1bdfc949042cc23a2db224cbda755ea250b1ca914db3bc77bb57897ee0e8ecef0c939df8f6faf6069b26cf5c2b54d3e32e6dc94b06fe10404aff7e23957f28838c961ba6628c7ac8d0ab60ca637c76de259206d8a97c4f1c7b7d45eddca7dd8958b1b64e80b632b540d10ea5002aad4cb99fbaaaa2272d9184e1a5534a192672664c4c4158efc68bde0c67db61549eba3eb0ac12522895fb70b52c0def31153ac5b5dd3f6acdabfe52109db735106df324a494ae422e2495f72567d1707a8b8eb90208d29d2b0b3746a7d0f014e7e8cb3916de181e0a027fdae52726ed1e5f7f31b86e856bd26cb834030492cad795a50b14f2853ddf7480053595b25801a915c08d29e5f404f3ca783e0cae4f58e081c501a45f83c3c06c7bfa97b57edf0e06aff5c927778bfe071635f63b84d3f88143367430f69261de8e466024c78dcdaf46fe56eaf6525629cabd036bbf52bd235ec5d081cbc4c43666d46a2659f33ebed89586b7cbbbb40f6c9b248cc453e2e5ead5651da06bf7dd7387c09c586fe3a320a93a87bc96a602b39439dd3a3af7691597737683d3fe0ac1c0243016262d3dd3d8d281f7e0b63fa1f442aa35470ee60d3097017491e31d001ca47d8a3fe834b2f3826519dad18fee9d27c09840f2282d8acef0647d3d3d8dfc61ab6afd24f00ae5a0ab8d8f5e51e432378b193ee33339cec138e0cc6b4454f3476a7173bf9976b4338a575cbf8d4173092b1cd30a0c44a5002f2c79093540098017dfe99c6fa29f0d1265856ab46aae3ac7f469ef8659b9611c1a131bab2a27855e18b968b305b9c01f9619a6f2e3e6ad8cfd51bd52a9b81566f26b199b245aa45466dbbb4f22549ad6934094bac5c59c3aeff64a885a33a6f0f1526b62c65f76633b0a745055d1edf74634483d023909c0745d2fc273c08baed047c4240eba621ee1e04b9c48ec9a5753663615d8f657166ced491764323b23f8aecb5e5069fb8c8504319b6319402024a05ecb48f730f89cb02146a04f512e982963201241626a05a42e604084dc2285d1f1fb92d2d19ece30e94ef872fa6e3ea4104a27902bcd39cf50588043a05a259d26168248c442c69dfdde5aed87aac5d519071d9f16e7e79507c0a5247a00eed33d6b1e23321e8549164674d556e31da61a6709c8095d4a4fb16f1f3ad93f412790bd9f2d0a3ac833ad52b91a3fa62c9a214c89373035e448b18d84e2c4ba82480dd0e97a8056a1b3a32524ed0402be7db5fde09e25732c71e2a3e335bcd45ba5a47a2282e012c2209a1f22aa9c0c1275054cc0d7dc2b7608dc886b42ef8bad96e5b1e28cafe88cf5879a5dad07f4df3ff987a3583282ae4b35668d1fd24d7f87586114926939ab698f73f57daf3cbde6d7d147eed854503e940bf8b68a2523bba594a8658d23efa27d61380129d13690c29e59ba250c1e7f2a17463c23c3ff551094ab91ec162c6130f01b41877ab362d2579cd8714ac8cd9aca000d95d7688cc11719d6da83ce37fe3a9195fd9e8f9de987ba466fb45a13ac4324043f966b74fe81430bff13bccafa7d97fb853db50e85774ea39e668e3a42121b1c9a04acbd72a2e5d1aa4a562edb554e7a0aa9f4c9bb17010dc43a53856ca84ff6b9bba71d3f9730d7f9eefa1dbb8d954cd983ce417b24268f35d322b68cc307a374111cee902a56475562419d91b6621ab85af1618c56ee42908ca4523e4665fa7397f7c1545a710f237d90a5d1e1395bfd6ff4ad02aa4b8927bdd3e364cb6e9ef13593bd5eec20d8ba1f946d4b5102cebc18117e6bd279f611e8346dc41c156259c422e4e916f720f199592245411238a5baa95cadb2b19aea46d2df306d90609a9c2a0708d473e56309f84868c51b3feea6050ae81d83d545d0062d9e21cdc37ae3f5c9a223f501ef6d40f4cd31ef16f03e3a4ff115d4566efcc4cb4614be684a2aba2a1b9009ffc0642fbe21e3fc048de9c6579dc1e15d8875ee718980434193ebe49080f43a1e5548dce0850be5923e3055e88b09d7b0b25cc31a2ad3ff4554af9962701cad4e2f2d9c80974edf58ff26a84dc67b1236c5d2242f6bd60db15650b89b66aa0fa66c853cc282631c4264a51ea01422145a5d087531aa69278fb524a1203f86cf1965773f1bd788e72ebde3031ffb790bb82fdd42883c5bd4322b0a29fe87f0a083109e295a2b8300400ed0de8a25b3587690d1dad8ec020567fe59c0330399896735d1eaf1d67d2fdfebcea71f868468ad465a2b9d48e743275faaa9078f2f7044e479182e06faa1d16df91a51b8ab7c9618626c4adf902a00599443b48f14df0bb1a2d50f09cbeb0c3aff791d9c677cca8ecbe84a08a9920a95bd128af4fb92cf99eb26dbf7c7b6fc7c339a19fb91a9fa9d94a68bcf794af5fae97f5c7348f32193923004d00a42c97f2e49fc98ac6c72cf61101cb0fdb888bea9c31941ead5e7adc141649cac601f626787a8358474995f6c3ec9ebba03e65ffcf823dcf5275828f848c3f1a1f2c653d445ebca4827228f29ab2269d447ddbf59624ecc721e40a56b553f7c455cd5bb650963860e9bc6b0f6221b5d82ca2533ee4a4fe72f4fd56e0ef7ec9e08060cc6e72d9fb5eb26f774ea12f9073843986c121efe845b5cce39ac33b1f29c5d9e8d1117332b743b68119fc401f6e60168324672a58df8b50ed2de7a050ce4328af2b1b7d647a69c4a6a9f28a12c76c0657163de0cf070b8af211d93125630646253160a54d7ee5c5d42bec5bc07172e89a8daa34cf67629e181d749a3b27b5009acb80267ea1feb0979e60efe59ab142dcdde197a5ca9378da32d8163ef73dcfc8cda65df01bbf0012f2584f618725bc4f777582578a25192897159d8effbea58c2910386232ac1be37e41af24c9a5bf7f6473cdfdce3c84f2f1524979b88508da45dc5eaf07d6c2821d7aeb70144e70bf1071e514717149f6a8e75160d830a8927bf4d2ae779c70cdb3fb38ba1e9133f51b1796d995cf8d6f41fc992cdb8f46c1d994e208fb951440b5e6661492719a2c1570848c62a63124143284434820607285e5510daf9a489ae02207ba6ae5f3fcf3d25d745b3de649d281de2ea2693d878af0bc953429fa8f5914ab230b2040fcb77a29cc7e62fb9c668b8c3f59b5de3096fb54066fe159c5a9b62bf57723fdf3401c0280d2a6d63f0262f795651d2f7c09bf9ffaaa68d8e76cad4c24af24ab60b36fe0cd84f73a0c542b3c3f0f30de4daed0eece8d8666747f343053b4709c4d7feb1ccd1c8586edc703653cf7b9a8a20f25163cd51d55db8ddf1160ae6ebeb051994b493f42541d82fe557bf2d997f2c63e85f432762a64caff51588f11351d36febb4b83cf9b374309a9edf0866622ffce0dfc643361b29974c73c343cfeb2e3dcff4652787010a0f68d0895131cd23710f5adff01a4749559c1380196feb602a94e231d785c8d22aade1413c670af176de4751c2f92286b2be5461c8d91ab172bebbc7fbfcdf8d021ddb4b1208aaab61e078ab77db3c381924e28345d0191b4a0d1be23d191300c6f0c881841e1f4b4b96838cbeed9262c1bf80322aa180c0d613e6af4ddf6271e7ce9fef5fddc30f9c939a8f782297984dd5ae8eee1b9b14c88aa68b106857919abfd2e9df3b0a094773fa26a01515f13ad2fe533d59ef5bc3fea2926e5c7a7628e58fd96d660eca6da4c303cc7bb55aff2e094e1614472a069bf0672275280d813205b14ea57755898eab38a1661d704fed3d3a50f07e937a73d80396100eb14f505ebbdb69a8c15d001c6312c212abebafbf10d6563dff21c29bb34bfe5a292556768c0a5029e8d9606de90b63ba685ba0ffdaa0b51f6cf7d59b4cc5851bd559432e8407190280e9f4a77366893d45656249e61145cf49eab7a9b67d8a84b1225f8429d39f68dd398f7f76e542893b9b22c9b01054c2ff754cbeaf8e801ee5e35ee0aaa2d55f04dc53bd146d9619ebe131d5f1336229da225e228c02c07d5dbcfd5030df259f0dc32742a30bca1c1115bce52dd133a55bebbd20e303e672a58be0bfb5c9450b8af27f85d5f309491fd2d612a92fb0f7be98bd2d8d172f38cabe09eab3da58ee4e6a8017199c7c7e0cb576d4e67409d786eb4ae70921ce871425869c23bce44ed2d40cc455529ded06e7ec420be305d3e6b29d36f1e9c8338957ab44388f692c7d9cdca1f69c3a138b86b29d41a633a8c078a10b1705acd052ec7d30e9cb916b45fa68971596d37bbc6c6468f360d14cf24741aa6b49ede9c1db4b3b480a9ace51650b0e34c0cb28f1a7d6ebf7355b85d08de113c974ad4bbfb2a82da74b22c64d5ef535c8f96c60d7cb05d766a8e44e28fb92c79282ae408aee1f5e43d412289d7258e491766bfe94d7e521d15f2a1ad743ec7f3ef1bc00299f3181be14255749cbb92a84da0a7ba34ae6a69c055720c72ab95bca98c956d7258f52c38390705d59b5dc9a5136874cd2342c25865e79c2be5a32d44b23004d9c6b2fb76e2b9e766072b55bb192b0e964a0198763039b5c11d5f835d39e6d27bf06dd40517399fdb99c72ab8f5ccb9ce89b4cabdf60052df9afe399337c5dc06ddcf85b6ee1eafcec96f3bb1237c765d7de12428eb898f1002dcc73b717876980c37b13e3fd68e32e27fd514af7d8301717c9dc6b3d28df2901edb01a91149ea97f2f0f71f6804b081742982ea05b047f35260bd27ccab0fb94b30f9a7dc85a2a0de544f0f008af240bceec82ca4a2233d170b0d3bf904b0d9d75125716d0a9db79a51b9171512150b5edb9d2612a5fa44256244bff5f3c99853edb8c3bb486385cbcda1a81bf836e2ed56f2ff0d2fc1a27d8f177fe4a0715b76b2a9525c21584693b2eee54e2f08a4037b758ebc4ae6fcaa774eec6992e3746e6340aed38d24863cdb41a88c36552dde917afd454b5a1fcb473768225bc3e63afc5e92093e77cbcb3f254c2c743bd7c0330e5030df5d0cfc7f32ea32d37953d7eb4530980f723de853c14ccdf78e6cecf9f687a8f52ef5bb577f41100515cece5c43cd4e85299c17bd85c1d9cda333802b146169f518dbf382d478b8370cb31cbc4511c28babdd8f225145d9c8a917be97e696283ee1e0d4bdb5f21f22e02c8ccbf80d262dfde5296d81166ce1aa7e1eb8a15a3299ab93e7a267e16afd73566f84e9f1dce69bbc9efb145f33afd0f52d52423e805270dcae59eb4ee9936b221d990426394f762df865f9827b018170ce892ce931b11a8825fdf88797bd6ae724c521cdbb94d90554b4b39bc6e81630afe96955509c74f69f1d2c8266ff1a62b8fdd30c2ba984f334f3a101fb6d98e6f710009e607f11370134c5a38b98a4305cba6af0abab36c4ab886036cc3cc7295af2336199b591d9ec0a079b1d26b81abbe79b64bc07265a9e44e67112144f5a448d28313a1883120939e6eca68ad428e8b63c2bbf3e85ff2667784490b90b0ccaefbc9e12c1deb9162042d949087ed87a6bcfaf97a64151476580102f553a42bface1fc3ac1411348341609ba37260a32aff3ea45dc50fe8a2f95cf85ff82f52923040be9f0116f422e4b8c62006b4f7f4a7e42d72d8ce886f5cd83998fd63447b296feefa03c413584319aaf67ff53057774e7034c86eead5f113d91c2f60d6b25e7ffab9622a4e9e4c000cfb467c437a10b5937e980b9fee8d9d79d8f1c9b7a250f6a33c468a95fdb1a1a2d14aa0743e031297a1ea267b2aa53b3416fb8c81bf6ff7137579e6822cc6ffdd90f410fc6b9145d14e19ae35be1e9abfef5e5b36bc5bcbdb8ac108eecd1900cf8fe2fe334893979b120909b992231ca530daeb877ef15877bba864c4919dbe5a454b672512aa8eb7738d6984f171032845a4e3ad123dc6ce53da92251627ea7919cf976604b30036bae73bc36646231757ffa436c6d257dbf9c1dee56a66f3d5e8c3e11b08699b844d136981123e20ed367eed9454b739fc9cb6976f44a04347e2812f6ab44204eee1b2860e87acbfaabb50487fc97eb2daf7ea87a10536a48d2b3f91b221ea0412dea2c375fd40b729d32480bff802a901db615574b15c2a7e7f57f41be973a6ab65ac8e4ca4156e4e860f2a07c8f21673023273e8c073a7851577aacdd390c54bfc638a7f6b7ce4a365ab3c07fb33a7dfd2838e38f4babc49265480998a401932fd3907aac31d033d07d2d0ebc2c12753de1b2f734961c896a4b52b70e75a83adb2b8230dbc16a651107cbb11dfc2f15842a1e35a8c3029620744615985212c4409d4f059050922d5c524b902317e57d76eac160be6738afc6fd48d221ad8af4c2a29c0ffaf5dade14a95d4a62065b0c81245df69411fe2b56a579d663d5b88109df1f4d36fd1b4790650570a13e55d3207ad09f50310a5849acfe24292636453e4419265b9a05240d583009a50b6dfb9a72d148572cf042b9706374edb9ee674864c3232c5b5db6d4f4b7f89e1449c30c914b534b1aed3153a72b831b5f98941753b019a079b35923f8fa72d129681566524544af3fc849c904d9d0dbc1ff13dcc96568abedab862f8e77bd48831f74f6a21cb68174806b04942db5f21262974ccecf74dc3471e546412d9dd17ac1306ffd901a0f0a81b726939515d5d50a5238e3b5cbc7f4dbb0ecd6e6484d35a731f0005024916e15dc490144577</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年8月记事</title>
    <link href="https://blog.cancin.cn/post/44a81f90.html"/>
    <id>https://blog.cancin.cn/post/44a81f90.html</id>
    <published>2026-08-01T13:22:56.000Z</published>
    <updated>2026-08-31T15:08:38.644Z</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="dd1054a618cc7d3705ce7c1df3584436975e55e30c79c26fa545b4863db2794c">43a8ba5ac3186a5519010a76ac952baf63b0cf13c415067c8e54ae6023117d0a07b8e999906cd737c3eef18a52de48de734d9e48d2d8bb329c67637c0df2c79f13c300b1a4e5bc336ac6f11bd1b461b091db55254a6b33e7321eafba4da24a5183da35b5f60cc3b6c5cb4a65b1e5e33458b867e9ff59eff98dbf53ac6f262dc84819af826f0126a69d480bfd4b8022d2cac7cc673dbb0a975b0953e335869cdcc941c2aedac9e309a3f1e93da7828c069b794800c470b4f6eb871d54aed84b31b04afa0860a94567ee832a6b480c3f4ad34301e1c883881f464da89da381a51ae4b92c552e01394d643550dc51663c7f6b0bbd5f47522d2ac974f569fce7b53028ffcea3965c0808488c6ef956aeee4788a3da4063cb7d6f71d3c58824fb6f16b668ff4cadf7595eeeb7efc6e11f4780d7b13da37b3c55b8e89a45a65d3005a5ac892ecd4c88cf900ab22d8f9d92ae393982b1f6856ef5c84994810709680e45d774fb239cce222bfba1d39a6d50282ebf8cbee927e8033a24af79eb1fd10452e0984e1d8f2690e10f424fc9a147e0fbc75bd1409b00399a6e38b7baf819e76cb5525dbf85a41e190dc71a32a69ed368e42b89842e11d61e88b95a1a1e9fa5d23de846a0404a645e0b9cf9cd06df668408b267e456e89de2dac756c69e189b5f33a1c5db9089d37f67b25b2c90078c45770f097a0ff3abf84b4480d55824ff36359027356d6aa2208c6ed8bdd7c5af3c134439dc017614f3305eaed3ac1f0a05a3cfd116a4ebd6b7cb2b00cd2b74d7a6e824ebd0f3c128551c1407629131f4e1ad5537128b1d74ebd2256587971e4b52f9acd7914b343c884ae150026d9d797d8fc840b28de4a973f50cc987fd2b4913917ed33111f18148d780b8df2f1001ec5e71bd00bc09f49479b0fee82440c325e5e6d675cba88ecb7a69505f47731cbb4114fd126367f1df245820882b21b07f4a78aed29fc13906f3d0dc0a25f368f59e67b2d22e635fb1640eef0f37ab091fcf91d193f413bfe765b460ac29fdfc47d820d5b6a84c957364c9c710c68426526386bdba58827147a8b2cdc666a9dcff2f61a0f862b9b4c25020ef4c3504c4f35a7a8eb6b4f876218fee2484a823cff9084159c9809261f56b052f62af7955b5c55aa89e2a85c22522f4f8e032b1afdad9d9e654acbf11d63ee543063bca86523a13b75fc30c15bc5cdceb2bde6b4e4d6353a3ca11e23817e1e996f99b736e019576186f6485a654d5a0e417a0a4ed039d0f73dd32b39a8d4f7865def28123738dca9ec5f706f48d57e81b2b6728455f2037b44542da3d825c9816dda61620cc17b3ff0acd4fd9277eec356f5dbfb3937aed0d4130a3132e89ec416a1ed0c96593279a7090de7e07752c29152d9141d9cd3160bbe29af9c9554ca6ec6420de31e25cc97af53c47050867ffbf6247e415ec7ea2c2f4d99f6f1b5b918c5f149429cf4af7babde72cc73b33cf831527f89d131e698c4eb7c27fe930c605b5ba139537bb7fc9956f4758456ed345e0d570bb6a4a74a12418ee5ba45b324e1cd0aeb673772c5e2bd4d7b896ede205b4d49fb268baf45f2fc0036144983db31615724983b7f1e3ebe0b28d002b69c0d5d2ac7b651a228e25a1ad041a44461b2261f9f5272e16565dc05bc326942db6c7627d7b2a02a790c63894cde571e1d9f3c92aec59d05c5a14be52078d8c614c737d71de266dccb1ec657b30b5a7a5c43b15b20d3016ac3402aaca3900965aa33b44c6cd31afc7d34828f1ed431ef66292240bf4c1a0e928289e6570dc3ab52e8533a7d9090723df5db1e125aa5dc68166e38e0679e31ecb21363d13f8d8ad30f065a05785639526046977b2bbf1cc376d3a53372b067f75c53ab3621ead5927bde6ea0f76f759f82f1a5f5e0f328ec3fcbf1d83e04efdc2c7d9f7d745bcab7f5f524e716156255c0d490d0c20a565f853a511981e6cd7c1c036055dab2fd3bb75034f2bca9dc039c5725f2637ea347eb57341890d38c699ea9612d776a28d9dde4d8aef2cc2dfdb161132b1da8577a01b8d6b8029dfb12db0ba2e1c9551e827f0a7cf4efc2c09bc4fe88a0ff4eda199af754ea0bc90e58c756b06df3c8d8807528c07391e94b6edc5285700b0e10e44eafba97cc342c2f34ed3b1850b1944fe147a5578c6ca37851fba18a3dd5b31bde3de0dd936483c54ac89a047e8d5d00d0e6295ca42d964535423efc39121924c4157d0ca5217d70108f65c5c4fcc9a5b760aae5461978a1aeb5d026124717c998223ba335d3c0c01d826539552ae98822b57646f51456562c038c020275567c060bd4759b2b7c9dfdb04e694cb5199b771436a57d92381964ffc82f1e726e6930bcf305b63fe0ce92250d5a325c555afc44e6a37feca0c480e0526b2e63b54dec31f9d679531ffcfec317aad3933b574cff794222fe3dcd5232c3c888fe034a6f385357dd73c89ab9a1b7e12e561f225db44356a8805685930cb8d67812836b4490cd3d682abfd93a858ad224fa11dce1dc6610159c062496d52a2e9d37ebfb349dcac9abfd3a4955ba8a9f26c05aef5ff703298d20782be1cefdc71a65cf5731e741907ee0a2b3d5ddba6cc0b493d961f070a206ee59a535ae94284ff37868150e06c3b0a68dc2150a5c0bd805cf098ddbf636c2511d7464311afd417ecba587e22d7ba3586da9e11dc6bfb63de8c0575a66819ef4a60c93800ea40ea660d8e6fb8be3baf0fff4d3cf82c4ba90297b1bc60d7162512143192bcbdb2666bca04b8a730ceb66b0b777d2881e39c0cb5a9cee3cbeee3e067292ae731e1731469b15afb469ac4b71d3b9ec3a3a9bd7df6e706e009235eed9ad882fbc6ccfab1ae1b768527d968d105cdaec5febfd278c5eabf07f031961ada6e9239f730589ae346b3aa410e05a1eb4dadbbf8bbdea26bed55fba56d40d020153fe4f400e8bfa1fb2f0f1434aeb7d7fea6e6a263ffe15e113599d6c984584a068328a31b7ec64883a7ec3bb45bacbe99e6a051601f37bea14793676a3aec4a229e84f633b5846689c249f86a950f86bf0efd65aa6a3236f61e56bc100ee19d50b093d96f728d87609daa3bac77007d8e50f31b4b5f70bc4ecb77b74449b8fd07b719b19cbdcbe5d23a13ec4379226ed0676c8578462d07b17bdc60845e3dfc2571e0860b0c0ab160975b51519010514ca32c3c24ece424ae0025701e4b2b28e44afb3633ad7bf98f2620333e9d9eb8a221f84ee69c20ca8623c6a5c204b237a125666ce33fe5e48b6c1af09d704d86c7903272dd46d3c562a0a20f87d63cfd85d7bb5b8cf6f14e372ff7e6358670a879f86ad9f381475471adc78656af3ac42807f25112447cdd380eb998e468871485b6030380e21067d9812d63c695580d327a9830cb975b7088558434ba5eaab508d835691031d7137e6d7949fcec5be3331accaabbf8b9973d1cc2ee2439c00eb6495ce319696fe198c3e49f29b6f3620607a93f6d11ae01942827256eaca5e66ddd5f1b7958da786dd766f155137a1f62e868e88b592c6d85930398c82cb9e01c9b087b3178615d8daa7392543f7d1a14961b8d56168373513e41dfb0eda0101fafcbee3bd9f589d03bd1dab98198a93bab818a28e83cf466b25e166f7e3deccf40597cea56d1b0580c0d8b36f3438bcdb62cbb521e5a6b70f7b856d36ecc30245def150269cbd66cbec09898240fce3e0ccf93d0b211ebf3c296f9bec2a0c9427881ebf45b48165aab2228e4db2cc79e69ed8daab4d49f98738a654ac07f9a0894ff463110228ba9badfb397beae6cc1d6cdba80cd67d555aba0f9e80b6519936fbc7695f63573d4b1b92452eec0149e195c94c3eb84d3ab66ef7242202a271a9bd6a7951bfb5cbb276619d119ece6394e454a5026e6ddf89db81618334d05f3fe670a0a9ffba162bc123a999d13225a7f72b2ca991083a96a59557e0ca4abd1ccb3ab962a8afd35f3d89c7509f2a17207de6e37cd981feb8a2822663f72cbe14ac684201fec54617e5a70fffed3d6eff118d622548585dfcfad3a52af8324a86431d3f0e6315b1ec32dbf7c27cbb27d56ec99c9a534ca01d8bf61032c3fb8b6bf36c0306efe1dc7a8b2ffdd4752b864b384a19c307391f5df852a1328dae8f3ad4d1de1a3b6fad3ce92d110d25c221596a42e0484bf53fa9c28fa51b30344615314e1fca017a6872227efa6cbf4d18cbb0498096154248edbd2323bd78efd97501a62d57b454ee7e66cb1ce9c4e1d175d1fb87c487010139da4099d002d8a2b631fd429a34feaf804666b6f240e312ec0bd85e4cc57472097879e367422370afa98088a089455fc946e1ef5ff6ea38bd81b440f95ccc5a43d844920c45d7f58db347720ae5c8a3cdda1eca3651f2883a7075fa35357d89d517abbaaf0f42fff5a216640ca48a9c602bcd9b240e65f6b203ed3746b76d68efa3a97e4c27076606b51ac79ee26bf2f2eac28514a02bbd947df1109db3641cbfac886a9da38edb46e6c714abde2cd621a2ba28f89aed1305bbcb0993d6892beddab641d32ff3ac6e9e6cf671e1df3929095e9cdd9ab9d9e0406d795af74b62cfa5eb232100c91a69616c59b36ad329fd5344ff44f55d1ed974dd5bcf8fbd3e0f285c1eee7a3a2e9437a5e06bb1d4bf538da79d90847447c1d9b2046c4fe79ec296c821fea151883a9372fcb7bdf770abf866aa0a61862cf902d7b62279657bb1cfd6277c05fcd1f8768420fe396587e6ffcbf17e73edef2e427c8e0b8204da8b2adbb14b9906d6cfe52bb3fe7e641233387558142d94a1ea820deaf25161b81df18c29842abeb875aa1fa2031027cbdb73517c6e0302abda900db8616e17af35e7e96a4f77a194647bca0be56d8036368dd357d3451797b4e513de213131010bb299b9a2a9b8f9d7a7af1ccb28f8dc7aef248cb131cd4f28611b8e9b7a41212864ec17fd411cb298b6c05e336fee162ef1186232d738e2a8a5b1141460e3d7d063c2904b4414cd23e28bb07793a6e1e1e9846365f8d48afc9c9d632631d6992eed0539b69edb134f4d930625c475eff142aaaed7f6c2754c9c83071ee9f1eeac78d681ab7fa384cb3e7b7aad927758b590e66fbaf62785e0f607ae2c8459385125fe32327f52c46aba9479030969cea948c85de0f3135f4746c2c13ca919a3ab5f51e41139c15e6bc34500b04498631cdb9260482e9f75c9a5a1d80c901b7c49c4ae09f98aef6efa3c2872f6fa5e4c1d6f3813db0fb93f91c64f4a3240ac3f767098aba4db46f5b230e35d475f86f0feea44b98cdde94c814df67f5d1e5b15b0ce186d3e96ba7df307471d17323b23294e4499200dcce65fc746527cd0d9ca198bbac404fea690090b947596307ebbf3bebd264b024c539c339f2863c9326dcff1a866bf6d01730df2c25dd4ebebb7858817918e5fdc0e8084090258aaed1ff95baf7766471f153573dfcecfcb685f79205eda6ec14bdbb4f19b51f181fa7a26bc03932b84c30303b214a6413a64b7fb8d16b9c373f8a49f4e7fec3f323504957e6c1a4188bf891e9685291f845b3a6509882c4f42435830ce0f5530d6d80b2e691cb766299fa1df7e4884ff80abeec465d6a89512f5707c058a6a823f55d91dad9d55b67ab470e808e67b6ba99f42b2a19981e7b3c7afa132d774687163618f5d5cd05f91bc2b93a5ac186c6afc7fa75cb617f5647a7025b2e502e4cdce5d0f90f6f3dda9c5273329f646a595fbbb3aa0c5a59601253b7cdbde9fd3ff9211cbcfa06cc25edd29b166a180df85aebfef01319e88cdd9a729739dac5066f1847883f540028237c171cdfb5d5e0d2eed61d43f9ed6a7bfe137edcda434ca816aee62b6493bd63c1283b614810c4d68f6832bed430ecd0601ea32519e0adb8beeee378198a29d12c2f5d9eae684dc38f2fad10ef4b50ef13a339bfb31d90b10d532ddc9e92bdfa95a78693a9efb33b5ec8b30400a1f04a3e2fb8a638b13ed67c0cb5ca559c69b1dcd2bc611c916612169bee474b302e1de3457384d36135a0ddbaa77b0c09639f348a07fe8b6a426ca4415eca7ac6d78073b35b9dcf94b81e25cd0c9bf6ca1e26814b86c1355230f2e1e3c4dda6ac5e942e2be2b1fb585bc1b6fdff860cf1b8306f019fbffea652e2d9b12caabe6ee14359d0387471c5b830fbe327850cc33cf0841ebfcbb652613ece16de4a3c34a8efa246680c37d59c7e8cb6d0f66589cb000bb7ff7d1dbae15fa4d28d47ec3b1934401e41da287c2fdcb396cd57dfd13efa0f53b544882812adc7e1c103717f579c387121b3a846f9d71af4477ad901d08f5263d4bae21a9da56f948ef93e3737fb4c92770dea4b14e11463bd6bd9f77a3581d5314c56d23fdff1e63f89b617548fb455cafd9bab79486d0e040862dfe401cea8e89c515c1ca87bb0d2c087a76559f5bc1239eacb1409461f5c4e8cf938477e097d1a67108c264cad6896592257e024bea8271e0efbd0a12049c312e87d985bf05653d9b7c09887df4d70cec4646b961687efb973f03c1814a73e7cc3df2036c4001f8caf825d1581721b340f5b738957cd133457985f2c3550c5a5302d23c04799034f88918e87c80c9a262d7b86daf49cbe6ae013ee5d53bf31121bb12381b0e3ba4fe5a2071d5da4ad99ccbb3484f79721f09dc927f0f6a4b6f12981afd2c6b3ac90555fd76c37b500bb0e9cee9ad5c440dab24e1ff31a8e325a8ae5632dc8a3eea7e978203b9e68fac97f3eb92c7880273977badbd91ddea3f7a21a58df8a184fe7843661941e644cc2be3f6b08daf887b8358b65983c39d4ece5b51545a3a57b01b36e027b54bd3781b9d8494f6159d1d8b406a65c0e80fadc7dab87e3288b92c313f86664ca0efa893c82549f2b67c2691e1faa703e0346a09d1c77967552a4634fef4415f67073f5b78ba2de4c59a6d92eed98b432502b2fc4ca915383bc41ee0e5bd17c9f271507c0ecc85d3fd1c1c30b2c6b767a99acce73c88be8bc6ad5fe6af91093e93a6856dae705804fcf4d3b117c931030ba19cdd6a40fa9666354a6f9c0b42eb4d55b17316ce34549f236a0bd39576674742e9aa3980b49065b9d27c09e990501ff8746bdff6a4364283299ed3543dbf404734bf774154efb0914773a15f59856f3a9b3541374e7fd649c99aa75a4b47e6eb0a56c08218d3cc9d3ff2d69f9d74f56a4c0eba6a87f0daede4324591e2241345c4aa28a02da15c3eff47b8031f7a5c224562f5a60128656bced56aaa579268ca602e679f04e8d2e39bc6b609d6709b5694360a631d74307c8be286406d06d1d14b520369b4f14a6a66b7a4011373506cba5a1e06ae10064d1508af931556ff29964c0d654c9d8562853d389d6018bd51e8550c97e15a0e4a687e7976065f1ad3009be9ff4057a5484fce74db1422e81ea0b8e763d51698450ce94612346322947e5f896e7b953578659ce3bb48422d98a2b8c82d41813471b111b6444a8c94898305d4c6c920ccd62fb3992a33182d47390470a79d3051fcad96871ce589c4138bd2e31b9409f4f746923daa11725a6d0a5c4b1a2b4603290c6478be51a99a05b7fbe28b673f795ca79879a924a3359808b520db6ff24d1114164110b4d43a18ee014bf2f5f21d86587f8c673b7737a34781d541e070ae8a525516880a3bdd5c3e0bdbb891bd8e2bc899c471cd2e0cf030c2ddfddc00c1063ded1189651048a83ee4824d31c1be8926edcc19da7c80fa05b9459c9130d45ab52512b0c21c6754c8ca18047ee258f0cad839e2720596c14fa78518d9775f88b003742514816a8acff6e48d748c5e4701026d3edc11fa2bb360d2334926aea7a686eae1f5683c62033e355ada50b4fc1e38857d1b522b28b83c460deb989c3547cfe3372e27e95454a9720b4a9f051d2cfdfb84cc3c58c6684df10dc7b285a946cca51b9db322019096e51cb0160036787e1a943c6ef80ee3caa002d0f7169f536955eb738f9afdb979e5f8f79339ad7b85b3e0bd2bf68c2f8ac859b63a946a184292cf8a381668205260489b6d2b23fb85eefcf27dd735a77e469d9fc849d5c2646f53ea29394f5b3633e56eb6979781d0f082ccea1d3ecb09b13a9381870894c701fb7b50b9060580687c10fa30f89e3b8679be5d35afd6393db275361fcbf4b6e57b4d76953a611f8e02a5cf7aa7b08a80c311469543a404da3bf470660c44247afdf763de6c91f3d5b4227b0b9cf791c1d2384f3ece03228c143f5f63a47088a24fbd4dedf38089e86ddc8032701324d856afd528d140e1f263b3572b39c07bd4b981292cd9870233d947bbc131f31555db5dab5e1b56b39c36c2d72e500d95e50c9d146c1b395e050aba9b2f5487f914a024c33b25eaf8121a6a075843065c30617f1106c1882e3faf6c15dcd88914e591029cc257403d323589e1dc317330de75e10a8af59dc26467ea5acf0b44af2fb957aa9963d0d7fc42b12f90fe46bf516029e1f266783ae75580346a57e643051d6bcd31b0bd3b8ecdcba861065328c2f54ec89e341bbcff019f9f3a448f4811e539d77bb3d472428ae6366277880cfd3e610c82356fcfd3dc69a0b86c5588c03e44a33a0008a44bc954a3d7f3ea3cdf280ffae46b060228abdb30d7db4dd3163624e88d8cc5f0548f7cef3da71219eaf4d25de496f8992d15f436371ec34413ffb21ee2d16b4d19430688594dee6489a9efe98149577d78031636f273b70eea6c5edc13de4c702ce33b0b7114a37225b07ba66d42938d94bb58d853f2eb660818893c92c6a497f0bb8dad4c7030141103cd332f7ec3fc98c1536fffea9a63d977f142813a3de80e37428ff9cf2250766f302a6f6c1450beda0005f4c6a08adb7779e581957ca9766f410a797ecb5ba660863f83a257bb2c374b3d2fa84a35b57f78fa745a0fc9d55c8014e1800ed969445098aed410de40db274daffa2215734a8985aa17b94623d26c969a2ee3bfe30d9db6b4370b4f41800a217a743c69700e390952a2ba0fcc39948dbf9434c8419e56931a54d7436900bcf8b9ff3ee10a829a2c29db81ffbe924100ea103991f432c6a5ab4b9aa952a27ae60ee73262d1bc909a55e1dceee1c34ce994bfef4da91be15bc4e5a83cb43ad6b0cd8e3bd12ca4e91ebc0555052b1fb3d6a01393a330b96b52638eb3599592bd7d668166916db9868aaa7d432ac0cfe6e40bca080c69c8c75380cd2937dac60b83cbeb2175880a9c62af84faadbb074ebbe7daa06272565533ff8e147bea65bc98bbe1c1a80bc5a3850a301a79b393a4060452a5dba58affac0f59749d51a162fe420516cb5af06759963de71bfdb9e6c721b8de0135c179fe164e0aaed08e1d6887ff46efd5dd776f0138fab129022f8c4b31ca6773527aa4035c8afb0a448ae2a20b4691b97f8df2239f274d80c86156e987417ac0b40d7a5738190039e6437d80926457d1817c33141fdd833e4a6b6778f7dd977a79295ee0f83b2b62ea5b0b1b410f6e51f7bfd8bffe992408c55d2dc2aedd7321c82595cd3f986d94eefd372f7da8bd93ae7e7570f55d2d1c20217890b9fe24bf72bb4c4cc59c451ae87f4741a0402b74142a6096250957b9f2ecfa55986f4367c7a42653b0c15526568bae31ed163aaaba3e70d54e9fe5cc5b465127e2bcbcfccd0e534718774a3cb1144b1a6b4511d8095ca0e84bf0b8bc97f8510399dfbfed8abc4371cdf9ead98312218487045b1a308afef289b60e3ec22743fe8607c0cd9551b96b79e93d40fa4b73cbc4cb938cfe7b654bc0f3c3314ade4cce633ac064e476e3028e70be41fde57badc8040b1230814b9d0fa77817c146e4fef8f55682719babc6b020bef80d328aa5fb3dc662b67be8db29c9745cbf8bb856771c64069e311f19d192e18cfbdbab020ac9b24cbd003692fd089f5f98b0c8f7e2c8673b9a63b200e718c4c397af30962bcc6a617d1bfe788f9b1be86c514367432407aff5430e1cf54d869f4951464ec4cc7805cdfa163f8203cfc5640ca5064e4f71a4c9824f6cc96c8f64cb4d70983f6c3c167d1f944c36af845b264f0487eb35f16dfc3da7eb84b20f15da47fc0bfa182a739169f9a6e436ea335e1916010918b82bf8ddcd7de26caf717de136de5228c715e17fcfded6cc1cf0e3fb1b0c9dde98fe3a2a08f00e8d646e38265d1a91a3051a19a0062fb5439d0c480a632860975487cab51326f9cb10241c548a409cb1d6139316afdb7711a12778deab1a59fd2d4f8d27f81b66aa6c89ea9918d19c2de3ee296fb90d5e17e3d95fd7ad298635cecc909468f29e5ccaf698ba191b4c22cbf3d6ea6a55f7505fbbc6cdec150b2c1ae55d62c9901b6369c02b3c0d547f88419de4eede596fa5f4d96a466d600e66221cc8ab14032db778776c4fde262d567627ba851d2ce05b7952dc9bdbe094599fd047dada85f997e13b5be61358b98ee3416555d921c82fe828bbd8a02fafdf7c1d27129a41f0faa97de6265c1001b40bfb4599eca5d002e48ec667ea02b447231c8019f7969b70f074b1b62d33a74497030a3e5c308c20d26e2f550f5ab886c1cdb68fbaec94f54b82d7dddeb71d9c634fa043d1d20cbf979f99420dea9a7713cedd95f258716fd3bebc4728a09bb2dba225e6e72cf248fd96628406de5bd030042c93395b3f105d080ca3e7afb8e5142e68c776058a06eff18445fa399d42b0c71e6ccf1f342a01758d370fb3d5c4cca008f806f9425c89a9d2c8119b31d5a73f14a3e5129f3da230d3963806b2d91b1555370f661afdfee412039d77ef34d83b3aeb174c2957ac21a3b928bf8e7efade66031585856f92e3b14606b513f8e3af19dfb2b03a1c0d87d9aec4e2ea1995d355dabb28a269cfba5a15a8fdbc285656f81d4f5064be36d8afb70db462421d30b16c8bf896bdb9bd448382988c7958334cade851b052656a5ea88135b56e57eb36ecaecce3ac5489636cab93f652218d9ddf1c418bbc38ac559542817fa2aaac00fe1a1fab512d89fbd79611732e8eb407090ef68c78d5c7d89d9d819d60647006d54e21ce3be536323be7f468b152161a63577ab5c7afe4ab46d64cf46cf4cadf4dcdd208b1f75a810047963ad1451c9510587b72f0699b4c89044220d020f716983d1c0cde39a975555c5988d496152a23a611b35c4fc75c0419145b49d9cd5989894f9d8c37bcb88995ba5c857c6ea258ee05b61e1568523ea8aed723b290644831ffd9929f05968a81e6094fabb94f2cec438bfa65adc61661fe0fe61cb7c7f704f504d85cd06479350e9a9d33df7ebe0042c8f94d2997b3f38768d2a72c294dd8386801e585ada0c7458ca07299d032f2d8d56a235f6f2070a590fee990a85d82059247c5aa8ed5d1aa29dba26fb921aaf16651a6107a11a93145a5c3504a0b6ef395a1555103feca0e74d0fd2311a64b62a9eddd08546fb098e0a1963a9954e3d75e9b42a619654409c4aeaabd23b8a2fe9fb6b0c5c98c5c8b4b040428b14bf73d40e470e1b6c1e5927e9cfba13907dba45bed34cadd508c04466279e81eccb68de659e28aa0e70453331f3b3977aa51e8a741b9afc46bee3ebde460b47faf5134df519c3520920d27a9748636275bfbbb74d8fa9bc099545a28385068bb6fa382be8b9200cab0d808bfceca41decf735f3b197a5c1629f70e559ae0de1e1be8f68b495f4db2f056ee02eb9fce03d55341e8a706a2f13d662641b354e5dffe40533bb63492b1d6e9937ef5891c50778fa82aa3cd3b7880a1afb8c2a024a3268779109dc62fc32c30ca0dda1007835871e56fe3f08b9c05f27dd7cc1fa164127d7b0dfc71ea5815c585fa53da831a4ad53c38fe408ce977b8c4784df68d9a709003e2c86e46809e74af43e1469dd13f15ff5bd309803f4e2a5fb3daef167006d0376fb7afd51e5b9566d335cac4ac0bc8efd67941bd21c5be4f23bba4b2da6976a430e682641537e07c946f054e733ce275bf5a708d784b4bdd497ed23df82a83b97c4290d1f4876b4e950810ef3fb0b4db052569b2366af8b041b3e065d3473e96f3d5aeb8c597b79dda74392f60bd8504cbe464a1d71b59b34660729b1c19ee127a82d4cc88e3c4aa1435709020c5c48d762e87ddfab51e59cf33b818e370f90d141287fa8ce7ca23813e52b65d9c3643c6e9607944af39d2c3684f425e35f1505929df1add5020ea7de58240d255850a5b18e51d3b0e77dc36d085e42441ac6eab3c4856a7093fd743f3178c2f35a8e358668951bc6f5d7d536f083ef7691830a46566e39f219a0afbeca84bc5549338d756be48190fca2ae67cd39512fd1e909f97e870f577a2284839a1d15709b27134222ed51559c720ff425d55242e4958ef349d2f43c2ce8105940ea46dc233af59b071f84d6e86c5fe9624d0c87a2747f2fbd35cb5011fd6c0b2da4408409e312d82cbe59ff61608a59c8386290fc3a3158974537960580d123aaf3c62a876affe7cb7487dd6a3dd392af267f18a2cac13001cd9b9be926ca631a147470d25c8a04e2795ce79d59b2ba8578adf65921d090b0a44e0aaa90c7bcbf38a3b390d6569dec332562d5bf59cba69b3854b7c94f4854ae25aecfdbae3366190957dd260dd614233fe7aa712174ffd01de3ae618e980bd96d2fc67e158cd0f2a74bec6a033bbbc8bb70b30edbaf91594371242e4a6225b9f01edd554511cfbfa0be9d8e92bce5e94cad8722190994ef6edad3b5b4ad64b40a17ced3a62c0e5ec676e1b89ad918dc869ebb7d2fa57d3f4946902fb9dcfd0978df97195d9c805ca61055f4e0e9b832291fad4363341e1953a69e2c9b3347259d37df9c37234581b20964d3133460479f69720f66e051ab353bc5a55b253b3888ef21f13965f296ce29ac256531f7243b8ee1f4eb754a9ad2765633277707bdef4049ef285d1feea45d7c706e6b5845448888be36caf0d3f783c04320a5189d5c3e8bda3f995131b6095b8c6e4e6c0c1d2a640865bcdaae0469aed706f4aec0cd45731e852342dee319bb201327d499977dcdab27f674646ba516466faad230b424bf57c4166e31128971ddcd670e430474578b832181b00a98a82dd44b7a539101bc2d523e9c4b48f741b327415166ec496a1e12d13fca51b971de8cc3ab1b906dade5dc66a729d346cf41edd31cfa5c09f291ebd0abb5cee70019abe0c28abd177dc1b7ad27614e027f3dc35268588888f63249c488a47b65fa08eea05e0130e74bc4941300a5304505766e0e0520993429e140cf5feb82e9a0b95e338441d9e9621259b18b32280209e6e3d5458a13b6854328c08a1657bcff2bb7bee8cabadc52475389a6966e99450847c211a42fdb1e6f1ef0b3ccde410643b6d9f4b70666dcc3aba9a4a8deb1c0b765c1caef1200d2286b123ca55d642b74857d3f6291036cfef788c5895ac430462b811c96c723571f1505186400e6cfdaad324b3a8ea51043e7cb8a1a8e4e0b9f746da8223c437f1740a8cd70e54e96941baa033fe275051201b23d7a55727faf1778f962a5f3359239eae4ae5a1360a1aab77f72720fbf20818fa54c7d25ec451c54341a906cd3478173bb3a26885273190bc724e73f69950c7efb138146a5e010f7ba7cf1b486974012f860f35c4ea79ee1cf1a6bb49271e4146875e49b230e80a68be14c84bd1eddb4cfbfaae36c30296a497c696730130bd04f2c890af78d082eef2a454da08dde5e5cd0a5d9e20353072da909fd5bd0578aee45d6cf51b83cc8b5b9f28abfa51e6ac5fc7f5daa59e0a61d9d39355ffeabc537d428f32529da651d774a1a3f25940eae0f01c9bbb00061d549edfb51ee011270a1a0cbd1be50aceae23326744f41f1af3ea4cd4c138c832f890ddb8d02a3f8cdbf8fe4e8034a132862d6094240121faac4d6133753b891830bf15b12da82475085e9de22ff08730fcdc62b74b2bb41cc75d931304e5ee06307678e2c05e85decb16ad3e4971339bfaccfdd541166480fab68c3ea722060cd0d77b330347e5c7eac1c54b7453c271072d1a1c495c56ac3c56359b5a15ca5d95a1f6fe2c8a15e959d831c8277f18dbc6dbecbdc93711734acdce26335a0966065c24c9e87e92ace022811c1cbb9ad4c2981da7ee40a1d796c4c7f03f1f695d611f7d3c67176fa2be98c6971b95d82cee407ed435194d73e75b2212b37324e389e259a4c90d80d9bb1899d358096b3ee7e127fe0d4acd2294efeb2dd55189b67f48d4de69729846b04fbd1aa121cce3aca218b425ef5bd5991e3289d53854d4bccf3f421bb16b778e804c2978f4a4d79522bb18b0579e7c0b547a8241405de0ea65c5730725e1c5a4f8d9382a28a66bfc717eb85734495ac6c1ea8f7ec3c5e4a09cd98307ff25e73396177a70f686ab406b5b3343165d10fa785f61a05e08415f8f1a6473c57b91f0e736653cadd6671f2154ff2a6f03bf6dcb9673b6c29a654e02458ea8d09a7061c4dfeea664e2042264f3f405c6402137f1725dbeb4f911007b1cdc99cb9216ca5beef96d21fcce3b764857d7ba21d75be15fb72168f317faf485eb18cbdc6124b5eb299656ffbf0a57c8d92f5079938042724eb204831069faccf1f21fd3a44886265352653ef5635f80fab34c740694d343f646d43b1cbc2058be8f08100809908c2a507eecaba15fb1f016ce39539699df814d12cf8d8c5eb8cfab5b2f86fa9c85492c08edd3a73e3b8c67ac6e07ff79549cf0d5476d4dab8b957f46bd5e41d50f8023e2c8c38657887fc06ed7805de9b7337eedf848f0a999191161aa7a75b531f227d4b3e715cdc1bd09490febddc402a1d5219ececeda333f3b2d7bca4ff44b52da984935dd9e3218eae64bc04b9151b0f6f8af4988e9a4bbae598bb838e668ff00ed2458d1d81ad55bee4ecb39a4ff712a38d3475ac3d958c0deda4a9e06944ce7d6d1c7741ea66dd690fadf8362124924156eacbb30a31f6491b576359da5614174c2b1b417591bda94a7b67fd5a4f5585b6e7a1a3b5b4167c6fedffc075bcb7316964b53e9e4bdf3474707db770c8d02a64474a90761365c1a5486754043546e154b5810028d3c2c68304a1a1fbde8bfcb3b86d9c39ed1d87c6c12fc5d9ac9c0b57a420ba5bc9b3040c39c6807e20ea6799378da6295d74c2b9903344a249579c9f6106e27a8bc7f41158054ae147a75a5f1d7101799ca06be654a3bfc8d27219bdbac4801d69c9dc6a6c9e46a9913f6be928c10492302479cacf8de09be09f0f62b668cfed378c856971be8d04351d7aaf2d8581e6fadd8f17063750228c7cf54cac0ec7805af9fdfc2547634fa0e447efdf0c89c1f74e352bd4e76c4c0a9dc65dab138b8193703acdd838038e28bbe274f370edf7412f992e6afd96bdbe4f2b19f9425683d3dabc5758c4dfb441bd7d9f1ea934ef7776c919ffbc0d26f3098039a8273dabe756dd392e7e58cadd2ced88da5bfc0b73aec05d7cb5221cc2e1825935ded7687cd83664f8ce3abd6a0fde510a4e0852f0ce9681eab761ca17dfcbe32c416718d928c23074517596d04caebe98af6e5a44474477dc0b956605d8961224abb9a411afa736cc896cb4153994a6ccbdd169e84ac4baab7f873a0eca3cf2c5d226d06a39e5589391ec1e3b182f4b1720ffa8e3378fef0b44a93d495d5a5acc20a9fd5c81581e35c8072bc6b545bbdfa9eb0ff0fc3a86772bf00fdd596f3faf921757c5aa3dee624f8a3ba97d69f0731f171dbde1f92a3d6d9678c4858134e0b2682699484624cfe1ddd4ab8a68ab709d3f0a52c3a4f2d9483ec04a38617cf485669baebd0793d079c2bbc8d515f0cad94c700c43d0baeccad09795b6df85ae68d0c8f0dbe2dd9ff8ba7113826d0ec07b49431270140280342b46cb1dd97ceb781c3ed58c2e93bdae38181b01601c05d91346c2b729e2572f0ca811348b4939786fee8c90cb05d6753e960460278f0f633c56e9f32eb8b2309eed1132b3f68ebb270cad51b9ca51d4b84f0c1621d8901ab85025623fa4362a63667e37743b74cdb4b66584c6ca03a3d1a27bd2f1a4f77d8b11991944f5571f06b8e4f3a5340db14067bddddaf45129559b7ff4cb84e24998ce3113a555b4c140fcc71c12937c6ba10475d3d89d506f6fb1bb812438af18e2232f1de82b13bfde09cdaf9de1daf0c880909bc08eab1261dd4661e781c2eb1a4217726e8bf3348158bd2c76421ce7ebfd03509ab68f19ed2cc95b38f4b04698036ecefdaadff871a286adfa2c3d24597bcaeaa4f3e52206a195d5e426c402c09a00bc6d94e65a9ccc881c34debac8fe79b1aaee2d025e786d76644c6b438e114c1e937df21a3f8c88c1f7c6adb2731da2bcd1b7baf1015f2fac879761a5333c0521f0b4fb46ec15327231cf3a0a7a2a1b78be9692ca65555459a1966e5fcc1961553bb27deeaccd27667ce015272b5154445938d2292d211919a5e813398df395e8810845a0b52b79aa5a5d245f41dc7ec3b4ae96af934f143706e4b236eb2f70f0f61ffcffe7d213ed8e1085c6c49a99fb20f679214a5884895e7113d586ea7c2360da595e21d91ddfacf7292cb9a7bd441c3b7f34a65349236d12c3411c5fee87360a99aa817ea2d5c36e73834a080ccb9b9d61af3e96baff3d72a76b9c109b303adf0a855319fb003a722e8e441f0829330a5eecf8e6768ed572fd0a30ac99311133a436ef81479bac05fe61eced7350c12096babb3cdfcd7b0f4e9fe7cdd815ddadec53031a07ba5fb0609739628e2c234f912a381bc2c2b14bbaf97c5d6b13c92178a57cff78443e129a346a13c47e03780dcebe95c561c1e075866f317dc5d5e9c4fbae85cd00683564c800bc876f242392f42a086f56d5bb2d8c49758069b32a65726c7841b71eae6a2abbcb05e74073162251994802a55d9a31f50f2b101d4497d03132e2adc7cde487ac314af34bca345979ac1e6ebb5b58648fc6dc80fb463a362bf834e13331f1437b7b77e443e29a9a96f8051f85c24af8fa8f0933e7c2660c766976392210d33e981576a3fc021711743028d70085fd4fad5892d3543d980b1d238a13f9369099e6c78b888cf7d82a41f15619d797a723a2120b247b71cc0c024042c2a2f59302ff6a654d0cebdd096d320e50bc9f4c286c84622528207c8aec7e4928a0b73160c327a3bfe0e9dcc5b2ab2ffd18ddb815578e6d78d6ddd721ee9eefd3d307ea3b17adc425a425bb946a934fc54c68ad2a916ed6ccf4d2269eab40eac60dc3e921e1c38547a286a7b1c2ed15a0156c613c1020fce69f06f5750a791f0ec9e3f7c56cdf9a830518b817415e309c6e4e4c087ded57fb13541c3055a75ecb4572664d9d24b7ddbc62f2844afcf8745ec4edc975754fb69e2121cbc1724818ff9c6da9564581edb4a3ffdcce877134b3df5cc0514e47b6e04d54761ec84d5da003c4d48273132600885828f2e7ac241be5b7107232f5170815220ad47b0f0737198ff105751b83ac6b5374d6f7ccbbbeccb0194048</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年7月记事</title>
    <link href="https://blog.cancin.cn/post/b5a3441d.html"/>
    <id>https://blog.cancin.cn/post/b5a3441d.html</id>
    <published>2026-07-01T13:24:59.000Z</published>
    <updated>2026-08-26T14:49:03.651Z</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="e3658b9b4dfb3dc4dc93cc8c33bf583d742d8d901a6d9dd145c13cf6ac846f7c">1be5ad8c8c516ba7c6c30c6a661c6d9f08f6519fa86e2664b24d803184f502a809d6b8dc86cd0bc5c5cce819fbbd1920639e3b936d4e3367b57dc2552781ca59d6a1ca6657fa3cf0f5d557ba584139674b08b04410693ceb29041f1da57be4b61526d4b82253054ed094fb197e121576991c839d29d4c6bb646a27b04c58e8ce93952fe045f5b8c898b05488cf235838c666b65646ed6b7957f46fe830a87dc8fb646416caaf80d06573de714a99c929ceea5d3c00aedfd313aac890b7f20d9cac96b193c1a83daefc55bec20fff67abb8c92115684cd0df8f78befa1c465d9c3d51cd79e07d8339672503130bdcc2149dd11c8681eb48a7289b8410d9cbf0deaf362db00062b1f43e7929f30c77a2fa02d891cf39aafffb869c80dd6e82d94b87515360b2d555b427bd9ad44343c99ab3377de130eae9096923cede810e592a54fd5c4fde5f4c99bd08c53b3893dd43d40bcd5b5f67cd818ce2c4e8daabc76110f9259e1a735f84fd776718f792c21c30517046e60eab0fd7e5ee275c00ee069b4d4dab6444471fa2b806a31a02c40fe27a4e356b49d8e1c04e91fab3f64ae0ff2c6d13153c7eca2b06b20aab6352d3194fd3eb1918cee9a9072b154ac067297136c5d08a30796491f4a58a6fc3d3c81761558158a9725e09ea3fc25dcd84f3884971f7f0af58267cdc2cb83e639696f0762e89c499e65af0b4491e1bf194580b4e41621ed88214b3962cba7be90cdec1785a20703b30fae912d052c5212a8e87f0b7bae80a0fda6477f12edae4211bd6beb4e196868e195bf21027e75c2c7b68d6a1e0ab46deb7ff5577cf77b14f4c5f81f088fcd6f4125a6e27376c2de0c76b18447599f233928e9b30bf1bfd8be1dfc1abbff54a110bb9e8b44f07f88623fc41251628fdc68e6a0e5377ccba756cbb6994dce2d9d4e97729a645d7c61d133680079964a1ad16b3057670496bbab0c1b1c64b84c19c15248a39d3523e76276b3b2f2754edaf6f0ceb8083fcf6d8577a8ad888c6d67ce3391600a427c2f7576ffaa20cb61d2948fbc8d705b0ed690a7b4745538f70aca1868332a0508b688daaa27a67c467fd706029abd10736eca38e9d704bb827b94278e84bb6c898ccb11970a268c30948aa60c1f69bf446a4183c2dc4e95119b2fbad85784b00903c4c3aad46c11e83946f4e837aa89a7b064331f11b0bb7a1b8720a1533f941c1374ea87e0b4204d078d3f50492ac10f02e2cff4914f2962882d06e848790bf14862abb640be20e97d439c2f0859f9937637ac0ce290652cd5a35364c95fc70d24376f0bff4490701220722f1fc872c837c82eebd403af9060c81aa32a10e3bfb119d4a8146c67f95a9c08d2edc44574b7c3e3519a69d4d0753ce15cc1bfc643196512108f8a742a210d3936732a8d9fd65392d3a264a3971ca3bded65a30fb6815f4721e4ad41455930f67ebedadf71cd506594768e574ee7737db53202d08b74254ee4c1256793d15de0804ee579c78a96f068527092002fde1bd55b1910265b09f06006f5af25f172e2c0db935079139f08a79bd59793d985d5ee36f819994b9430b089008982e3a6fea08c4573702aff639288042ba2af0d83a009fbd86b9312c8a694d9172c7ddbde90e85e88266a68df6c0179776fc4394113af7d969cb1c096a6609cb14a7b90824d6ec1ea2ec98a849bfa35eeef9459e55fb7191c4c1e48051647be0569e91c447d537a5eadf9e7f07c15c39fa8f6670375c013440cd931ef44e5631e41daa45d216ecfc960e8384149b2c55be9905ec58405b2ff89a8ca42ba5568a01b486318ac032319f0bb27ed1aa8326f5dead2a23a35399032f9bc0c1dfbbb39605be8ef2eaf50f1de0b1785a58b2d58e078ce38317276cb3f59f45b31c7f1565e6880e5a1dfadee9b6b811907dc608de8fb31f98898755b4a670c95e755b93ce684bad0ba7153cedfc89f1c9281370d233f810d1a3aa6367ceef4433cec460bb207e73d86bec5ea572787e89d5b007ed6ac47aa917af32a5c9a9af14f53d538885cf58977cd27896da6b37c0e7e22ae3e8124c9a5a284dccf273434353b87dee5e48b6f18104c404991f5ba5ca4c39cd25e524192a774005b9a520fc30acc3c9a2312f8c29467cee35ef1b2203c204806d3946e6162d0f9e4ca3298e6ecf791440cdc675346264e34ebd37607044c03a8f67612c7f843fbbe37256bcc58c8dad9aa024b0c67dd372b360ea2f2ded07c2dcd028e7e4c9df0e0975606ef2ad4e032146757de4f156525572278134516fd26368f6ca7f2bb2c16418584f67910ea10866041fbbb1c91ef13629a734dfa06d49992ee6bee545a51d5e829d8ed585c8f964a6e9007a83ee08116a83d7be373525571eaa9b8e9dc9c87435d104dadf4c4aa9d374f37dfc5274562a2327716a73da1826bd7efce9c9d28acdaca8072d18d5eefa7c801e6acd114875e355aefd581011c9679b305bd80f690aaa7da27d20621fbaac06bba62fafac4441b5cd23bfde1931d3a444905d856ae92992851b4a80f8973964b10abe45f5f13343571ed3a5cb89543f498f63626df8316ccaf1367c4c73b4a08ea9acba15e218719f64ecbce902561b4ccf97ff4d25d4f9f37c1906296bace269a734fbf78713eb1cde7efc17e7c8504c244e2f2f98b679b5ddd40cfee7809fe47cc756b80e09168f756ba1f02920cb4f68f8b5311fb76d34f6da66a5a83814d3d9c4401266256797996621fdc713cd985ace9407da7c9fafc414aed8d41d7f21dd9fd2e52e33f043af8393747c410096e5cac5981ab2ca617d8489a0d9b0d3fd8df2432283697070c55a12b484731f35d1ed468eebde0190fc504b46dc2ecb62ae682514547ea11e7582b279b4c813966bb4423485d776f24aabfbccd2c76861363e6202ab8c79cb498615ab5e0b8d9780f33925399e87efbdb4175909b1a76e2d06e6db96b6c739f02956336088f56164ea2ad14f3d9b7d131fe8278d3089d9930bac9a999e61b59b1e78e647c565fb6bf5848b1f5f3478dbf70ca855802d7ee3062853d102a9aaf025bde70d8dc1752ce1d74b39a17cdc012754400c83614ce8d17953037c892ecda4791bd625623ec94300c485cf06d43490522d527520761c0a65642d413ed4553bfa7905ae0af93e9658bda30019d877b8df2d0164ec50b09705b65a1a97d841be49672679c1cf12466d66a54a8265c1334cc8d0939224ed5ec181cccc2855dc1f9cde0ca84ab5f25731cb7ffa77b9743dca467079abd10fde773038c0cab6f153b5d984b0c04e8a5edc4ae799caf154241e326e73f3039c2aa08b69cefebd67e30b1d74d8333dcb3e193294546090209ad836f5fb04b508967650e01f888fe2f107211888b8028f20b88e383d404776c9eebbab8d0d2cc80d08419e247271fd19ac3b63e601502fdbec2594e32db430b05c4679b176b8f222deb1487510288121babfb60a8557b3344ab6e84d3e1f107c0c12f8a58d12ff13f771a9f4ce20aaf638ae82ab59a46342b93d6a74de137e0a4290249662792150e78fec7e2306c4e1d5a789e61a8aaaace935512c41cb6d8f6665afa3cfd4073a0552632002de584c1a12701b606c7824ca156529d8f6ec5a9b46b81873e1bc2d3521dd200ce808acd44802f183bcd77b1d8e3859354336fe0271f63edaf2beef44da083d9be37d0c6ab2809265d490c401d66fa17d94275b8d1c8be4c2ab1a3a104df8ed45b3b1ec3bcf5e95d2796199dffc757e88333545f67f8c11a0916cdea728c9443a5552b3bcba84b907201a9721c000ae6662fb6674932a16df8e0891014360cccc849fdaa6dbd8fa6b6a7da6cb5e6d84d772ce2fe1b97642371726c13baf180bb9e407c939a9689b1d5886fed6c234fb8ea095ba496ba9d40231f362df6d02429918b10162f7f7d22b7405a2de9fef9fe60fda766ee31472d2cda7e4a6bb1eacd2e4773c014766115252ea9bdb99f368392b5d5632220b0f35a00c58893fe9be150f90d7b122fe773a61544fdeea12e2c031a10a8bab85666974d47da6838f93a28a14414734a81be5bc51d7d8f93df1d75ef868f74b72edf2c92ace6bcdfbfb925a79381f32a6047a841f2ee2867ed4400e8f7e6f574a23fc6ffafd70e12684b8cd697f4ead5b4516982d0b28402c0a96b3cdd8e6ec7ebfe32cfbecb4989947f81ea42d44f234a1699dfdd8952a04c84e33c7a607ecdfe6aab03ca4ba586315715514140f9c97d4564d6ee0813dbec1fa70da6486440ca4b4d3dc756cf903c560d281fa5f57511118d5789d416ccd6ae439cfa52ef7cec3dc1d2c20109a1462cf91389ad7ad2bced90eaeb7cb89831f578fb4015ca21931d7b7e54926dd63fb9f1ff8b2f9706039e78610c3128f351609b3711e9833e421f4076770d329f70facdcdad3330d3ecb33eda0546eb8ffbb812ebf6b1feed78fcccff30c640af12e816d6f68d30bcec4dcb35927fe94a19de51d078ba390d68308fbbb7e6465d488c496e71ef3d5e7e0902c757c3a691bfe8d1f4de739b887ccf35a049be833f36d2cbd7c25a8b7583550db2a734432a0ea9438bd5950a228111ea663fae5efdc7d6848fa456d74e9dec1230ae87325a761a800d08f993450ab248d774c5666735c64252810d4fe4cbfe1198a2e5c1cbc18503eb6c3a398edbaa78cc84e931a6183d2e7afe709e2e08fc3af78767b51c3c7cc1b817283e9669f62c4628c36250775d69ee26d16a7fb1f843e0b5ad2547ae1e7a19be8f5d6a53fe3559d9336b0daf238364a62f5fe4753291c0f438355ce80350926ddc8a0275b8e4c87f93ff9ccac783fd812f567cd123335b9a63d2d787bd57c1429971a813b1fa3d72f2f98efa4c876b15bdc0ff0859d806a53f39f61720eca785b6ad23a07740707795233f6fb3cfb2b7589ce33f7834d334913dd11399ad365774f1fa90ba2076e9bcded2b7c6863def4cd8aa0980d5f32e26c5acaa020f8475fe50e5d0906bce7245ca309e1d11ca075442384291c346528b732220a30fdd561e21176559a8c8d235012f8209af998cfaef1c06d3c59ab48f3f22dc5ac677b68d189c26eaee4e9717d2bf49a932a720e03ed6f9b12e98bcc1784854b1cbac1457edb570cf4299dbe575eff58617e9f2a0c4d118522e5af9215fff908cc433c28c2585849d09939005b0cd86c247c27b4147364e93ca19a7080062ed3483934b7eda42e2ea7332a3567f008fcb62480ebe1fba5bfa8d7a8a456832033c2cf6c981b0c431e31bb7cd1091a81657b9cdcf624d511c3acbe31460f5fa0693306adf2a7d213da790ccba146c392b805614b24f191f61022759d99ab1e4251011f0d399d32136b3597bb739929cc3a9867a61d790f917366eecf4cd662c8f1f2fd79cb9a39037d175f52d41d892a18e5ead5c24f61ad383615a1d4dbaf09b03618245b04dd88595a65fbd7a6dd1cd05737f94ddd3887a5ded7ca4d3f91b54b42583be780b423a907c61e6f624b7b0877206f84a3d79e7c46ddc8ec9a439d96a040c848d35645c3e78f519ef0e67a10d1ab07bc7d944644b88efc1241b39066b14958155fe62c534821e967299f6797e0ee66c88328d81601dc1d002061c5fed30d9ab48577a9bad9d00d28e4179518603f41f3ec987df8f59e713b1aca4c1c706f64cb44185bdbb79337c65f16eb6526a2854a5d59accf566bdca03a54dc5abfe140593fd145946b6225c722d21d111e4569277d577b9afc941f73aea95a7d5f8fcba99b1244afa7f10446c31647f24b523a18f389adadee6fadfec3ee20f0be0816ca27b0382c8e275574e9a17071f60a3527dda79200b8dd4f2e317d0e22bde8f4589d05988e4299acf4bbba7feec76414a35f090ca561c1bfc14ead44d6cee8a0b981679c2bd287da7a0325f797c4dc6ed06d49d89d3400609b178478258c7718e15344e0f0272c717716c67c5fa9cc7dbaa3ed5a0b6dff30c6c1c0949e17eadd999dc702ba389d3fdb92d65a446dc6f9febffd76892ea60f5757b369446d0b4c47bdce6f0695220b192a7f6335515a896e2b6f1af0226ca7b881c335fa9665acde50c2f8acb8dbcb4f4405ee05dc7ad896ec64968c5deb90c78d2267a538e66facd15d8afba5cfaaba40a004cb33cc17dadf991218cf24434b067092597d815e15804cef110c33e35f51358378dec8a54b8fa84fe597ce83e93205d7471c377bca110e9a912196d0ef82c92ca5a99a19c92e5fc41c29ebbbd336fd970bbb7dda59a8d58a0b79ed2aab181d1703c6a46b75964da51dbd6a76ba2b2e8e01a98e8131579edf5b9790b1825a495ff041c3b2c49f032610ffd72c5880676b2bee00a9621ff58f7191d555268a41c7408bc191b755f8a214fe74b50ad9842779be8d2ac07aaed78f519d775ed69f6cd245864991afa6886cee627b09388a6a4ec4bb4b249f9277c291ea530f014a937c31b9cd9b3ef297557369eaf77d66cf6e5c89211d99ecf2c2247d999d4f7732d40fb6c059f024eccdb5fddaf302bff595cae5ca1b3a042545845bb50d0d7be80d139d4d9cd0bea8e999cb94bd0e55c1c9c15d0eb6c5dde5a85cbf611b7c8c5dc2fff57a3ded1845b79039bc3eb2852c9a2d5496c57bee023631881129c6dd8e48ade6aad0a7c6fa7c4ed01a132e9e46747e9fff8fe7136f0d93f701a8fe6eb5ae1ad19c3b86c339edca0d1b63b792d941f17c92e8890e031cd29b56530befa80861d0eb772b5e1c9d8cd29ef49ce5c63890def75967f8bd7d5a734e8c0e332b81018cd66651a91480e32a8e0d6444787a50856ae6fbcb79f2e6fd1662233f510f6dd3dac68145e59c0987053381a34e7a3d06b0ceca3fd027e1b1bc8e2dbd6309bb65d3c2f5f53ceaa5c8835c50acd129482f90df4a815d5407398a3929a450510ab9ef7fe675801539dd268ce0ff3ea076db38a115ea63af88663527e6793a10e3315e24d86838b7f8b6c3f4ba3576f7a249037b92fc5069058c72fa55f8d248b79d2e076ce478a07b02cf81f9bcc0e0423bebbb819c22c75f64217a4fe2775eedd01c9c7f047adfa4164890670b0f6ef297bab091457d1bf407b821bfd5bed0735ebe936c33961e7a2f26e1cce911e762f037c80814d500c69944c77859c38517297dfb581dcd6ab1736d533b85054606b0c04fd9702b798d206e82089a63b9fb0b3646bc896d5f43cf1c066ca5814d54fd4ce13765796b3c8d049805ed32f8307946c07a932263de8fdc23b8abb7658f745366170863050a7f7b2d4a2a5a4d7df5d908f4fc40627dea0735fbe01f922de44b16336c59461c334d3519d315d2d544700c079f381c7b42ba6ff6cd9bdfb185f1b7b1cf94532ef44ee41a5253c5ca8b5a6ae822a4c2f0f9e81794bc13bc38148848e22ad16163a27682bd6b7cc98bcda584034dd8bd3edcfc3c914070b37a55cde954894482772eef9c7451339086f96460ac195447a1519596cde15904215969a3098bac23fc8e6d6301f170f11a489a58ae00583ae88d0b4f821e3bc914de5aa91b2162f70426cf620d0381bc0270f34275cbee242c070a99794cbf690b85464479bba0369010b0b888519022985cdc4dcefe7ab6ff424370961bc8a5f16ebf68a86b28ddbd4b1857e19234852f1643f618dd532a01c14d7114b44ba2e0f38201610877e5f943fb784328a9b864835d003887ef8b3284baf3b584c212ff7feaf24bef07b9afb3c229f58201458cd29bf19d37ce168ab6df4b2183462b0a3cb5243c726033c6e540db8c41b6cb70b0728a3f0751a4c3009e0deef8570f468e736f4c21e0444260891e64c38b755fad7ec5feb8d746c8c92aa40d18240e3cb791ad9bb6af0fb3a4e70fbb511b9264f5d3d1a17a0def7bb3b7abaabf30da70bc53434762b1a98110731ee113b445f878db170a44a547622d02f66f86f459cad07ba6a6dadf63c9f0cb16e9ea844480be1ca53d877ad9aa30ca8b861e2963be6fe6d6d66dbeeff77cff630d50adabb0303ed6ceb5fb7c2631de12abfad066ea1f6def10aee9c692f5735e98fa5d9a8509f43689645fba85b1d14459181d56f183e23195041d30765188b43c8c2e21980d8bf784e7ed985c2ad514c519389c226b7ea05e90a270eb9c7c1cb1f68e6469cba745f06cffbcbac361ec4109829529b424d4fc89f1ae1032f9e032f7d07c1660921f0a35f90a69efb593526d998d0ef8ff73a229b4f08c5fdc2843ac755b836dc83480468f3af786e930526242b71384bbc402a28e04a979c4a30f0dd9f879edfc52151a5335498a6067615465b52609d9f7dcd230fad7bae75b441acb4b8906404e4684a7cf57fdbaa35419ae46ab980b1234f38318b0fa63e21e5761c26b48d3a132b58213fbdeaae595f31711a80fe114c42601f9f659089c4d3a44523afe427fe5eb9a29c48e5541dd6bc915302046bb12a03e3a4b3f6e50fe8aac730ae259a8cb6bc450b06b94b77ac2a4012b6fcf613882af6dc473ca95203bdb40a8e394a277d77e9be11e2211aa8513cfb6675c973b745244c199b50051d10553c642bcf9bfe7e9053f167dc77c5774e504d81f0e0f23f55fadd7ddfb831ec3e49b8af93c901f6e00620df62080dac49684fecff3e938a2a1c00291f2c2d9e6787ddb06f96afe46e9894b5c319cbce10bd1cbc0b7a98d06f7df050c4b28f085332b1458fdf968bd83790d99046364277a5bffa4b4767ba1eeb4a95ce297e2b9232cafdac5072de05042aba949485ddd7b7631db992077e8dadbddbd6dd517ab2d3432bbf464a2a20eb9d12ef5ad0f1f08767367cc20854001d728495c3cb4495d1bc3fd6b9d8e6eec60feba837938e9bd3b0315d211bb6f81b13e6638dc167e1dfea15c5e5964a45a579a0db0fe1df2ac4f58327419d3a1d247b982c3ba18d3cfda349f5d1e2ae6cde9001e89b96769b2ba7e7afb6b5e9e51f5d516126ed9709c2ae82af59a5be578558d8e585e7cab74029f5d73da88f6ef73fe11ddcb682325d1c089f6c0d10fc1bdfb41b92a8a36bebbe94359d19d4dabd24f3a0e24e458fe758ea08daa66926439f7482558f61edde6d646b408d068ebe34158f66937469937a864c7be675d6a5e63c2ceeebb03aa49ea41ffc26dc55cfafa30607596cec4abc404731bd5702e1e4efe0b133ea56bca09de1557a72f21962e0eab5c61a600849d06170a55e26eb3ee76f27935f58348db65142412e0196818af081e562dadc3e97e64acf8d83bd3c054d2551cc85031a0dd950661b6ba1fdc147e61bf2f3c8175705180d691837038d6b3ce12758fbedd411bc13a6057947978dd28a7f3e1857b6d262b409bd4752309b3b7f7fea41200e88c0554c6ae1a32ed102cf4561ffd8da1159cb246b93d8fb87a9b41707c7e3be855b6e00ca1a7facfa630a37fc700ca6c96bbd08a60cd4342ec6a65955d922cf20f073a6d23b8d99280c896177592215f238d1ffa28cdb8dca88e261c3d2a1bc8edb0b763451bde19e34488db38b57fa6137de4666e8c989a6223fa0371aadd22836e68a94ac4339d3908fbfe057a823b827e71b6c7b1a611ae156d5e855024ba0dfbd04a1d8eb92042b641ac469bf51fa80340613d662301a4a3f164</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年6月记事</title>
    <link href="https://blog.cancin.cn/post/5a612f23.html"/>
    <id>https://blog.cancin.cn/post/5a612f23.html</id>
    <published>2026-06-01T14:41:26.000Z</published>
    <updated>2026-08-26T14:49:12.401Z</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="5256b22231afac274742ebdaf8f150c4cc7d397dfdcc7e1e4f1179104ae55fc2">f25c7733171036fd9c8edca02b0a8edf84d9b12b673a1c016a6940f3fd3ef6809211a86d65f5d74fe5c296bbe30a1c1acfffc5cc93e58e14332f381a9d6da0e7aefe37ab1ebc8681d02640cd302a2af45eb1abbade8dc5fe7543050a1ce62885ca51cabc66878a3d4fd82f40db070c6e6ffce60fb703df6ee8880ce5cd5ab13e01ab75c608f1b6f447d06fd8b6a513fff0a1cee32a3b816d5f00aec265c806b337110bbe462f5e72a83ac5e1fb5cc9236a444ae455adc139aa91ec9d6eb98d37529c1edc2d5b65468f66d11c64130318725cb12aedd625ccba7279d3a1d53454a043a490ba891788cbcd2ba63b5664eb763c4f48e972def9c1a01243f026a135ae6f962a90918e9d1d40cdacd746e35c2e3b8f99f023a4df272b3116f4f8ed52ee8b0ed1a79198110d237495ef92d654bdcdde8efe5c89f5b26e2c6f5443a5dd6d4ce8bec0dd5187ae5a7f23622d3fed4e7e55c0bae90e7ce602b3e55e345e55824c349a63fa5d89c50cad7c249078d9d4ef200be44dc0864d8bf249b4b4bee08aef38c1f6714d9ad4b8926b03228132701b1e743f971119e9986a2c054197545beb9e4ff619e7bcf43417b7f6abe684665c6df981fa66938aacbf44955aa8085e5fae14df3548e0eb1a45fe030a893a3ce21c1e69d4c4055ac3f2a3d66f8c5589cbb706c9c206ab63d7892c22a2370cb8de08b04589e06a3116b01965ff80e7dd701b4ca83309a7a901d06c2354b76c913f453e81770581c27ac44c280aad680d1d7f83fc30276359b9067e4644528e0e4b475251c62d87fa2254e7fd51d35f83d1ed63b32af4f6bcf2d8b13267a4bbdb71fd3fcbfb05349d2449d0bfb25cee8986c68eff50e83329dab9af6dcce61ef5a061138f630e40280f6a1d8c549915de81c7c6322f7bc0763699f057027c4ad566ed9f2b07c36245bef6c044d0d9a6f4fe56d90e39f7d2a72374568e5a1776dc0d56c6387e47c1d05ffb3d1d2f93f5344364b22c604ef2b7e050feaf578c71da973edd6cee8d48a9e0e6d22d9e89a445500f04dd061899f143d9f3d8c9c62badbab26b1e79239318ff91e28e581da027982e5af71b49a8a8c9e7e63f123760f3642954216f671e95c6f556d2f362bb528c23848bb61a0f3a9e6931582a762a88bc806f25ffbbe829daca1dd087ff542e506a1aa552fdaa5d5a950f859b7efb858767a03f231a7b15551cbb5405d250f23d3c495316fcc5df0d5156c8fc0cf69beeffa5af2c8a2351fed3900b46598ee698bb8ee1609cd8c4209086e19977a18258cc5928f0184b290a1fe75ef6e041eb45c19c37d69ddf1eee968bb6f6bd68d8c706202b549cbabd6ee72026ff8474fae69143599d83a9540ea1bd4263a9d59caedda32a510291ca371924a2f498f31ab62993fa01a1d998bc016bfc4cb671a43e67b5e208b8c0ebc0b89ea53d367af493abad1f0310d21a8220b1c0816b9bb6e7b579066733140e3587d1fb61fc4ef6724acd1c7b84923547c7fc0e9d92e58656a14550ced8f59f0fb13bd0cc700a3e9d1b7c99583a8f9091382a2168490bb4d779a7189dff5d0a84c8c44d24fadb9b7bfa868651bc68643d28cd3011e42de445cb540a565ae30608bd00a5d705b09cdc98ff07584be9fa69664561d58950d0af7b2154e22a289e55a7a976908b21ef83322d7e27b47f700e86715f601aa6d176343fa50c727a7adf96d34aa6ad01c5f2f68fb546f6fc1f15b75e5bf5990a6a7a7c201873302cca9717607a62f1afa2eee498d93489440931e9a1459a6129290de5d0be96389e0564de798d071832ae6070b7499f2d221a6b4057a2a369e110b5f0687bb502d5e860f89153c37f60f54c87a4ece57914139f1e3caa66acbbf303375eff4465547c815c2bd35d66fbe601f5c34e30d7edc89fd6509e25455ab0fdc414a56d41d47c6e6ebc5c496377a3e48b59d23794a73e6af32dbcffd5d4342d1a8f1d7e1878b143ba7fdc7a78823dab68d844c346a6798b027763950a3c410228f19eb0aa66a7c12a7330330f839e42f3572f6af62933c2174d6abe57b203b73b2956e729180346a1fda9f891220aa69e84139f4a88936eae82a5539be4a1b5235963b5279349b233b93ee9297ec6c32912e518de03936c7114b13c60a30512245ec7de05731baf5ce96f7e022f474845640e9d37bb6edfcf9da7ad64e0cf10959b773327ac60326d125f5e703f95ae910f93516a65c40fa84ff1e8bfc20bd47fa8f27a75fc4e7021829273334c79d3e32915470c4a419de6f419a2f87e4d6b26f3240024b54d54c98de1aff210cf33d1542937fbf6576aa4ec4cd7c5209e218403c4db196a14ff4cd4a212b93058ac052c460e6f0da0c126b04173a0b303bea74d6ed8612f4c6d34e00098ae6dd0a360672ef1e4e39144103ea54ed0fcda0c646d9ff63b60b03ed2b8aba8791ae0911bde02b98c2400230f6cab84832828b64c21813cfbe41cd7e6345f175a53dab0d09129ca34caa9a5c0413d2923393d5a34d6f49d29268f57fc0bd8120d3cecf756d3ef8de754714e7c73b4306d4236b32d743124ed5debd1149831b0179089e988d8c63f6ba5d67aaff3fcbbcc47fec57f0e190a35ef03efbe02ea84ca3fb27703d52e598d2bbbbeff2141bc85c602bc564a78a2a9868cf0e3d817e47d61427eb5ce8693892f43c5752a3aa4a7ac5fcfb2a97e452ffb20bb8445d366585d2cd5288b021a37ac6c0ea22c55397949e30fd4579de8861d1816153fdfb862d9fc7082b53747cad5c7d870a3c94c664413e71792d6893db60d58bc624b0b2a003f83a376f30f0f181a17d131bd14f3504d315cbc70cb52e9cc4e208ec70addc6816c353beeaa21410c4391041e01de05203717cf1987ff16c7aceee90ab10d7a34d7387d8967e87ed231b05c1ebea42b921dc9982db912a5284f0daadc6f0c7ad664ef69195c81ebfa34edcc09b0c11dfda482e3c2c2a5ef3b92ef020c7b53ad81230218d4e4f426d7af3465a21017f6d0a358b4da47c4638b2d21f1abe77befcc68f541660eed7aec8a11002783012ab5648c7417be7785c8ab3c6e095e3580735ecac015002f8fdad1a23456749d09630a686e216ff8430656e9d5080c282f56e81eeb941a817b473a3836e588f2781e0b6d64a02a838ad121c98a1e9a81bdfd24afc3a0be937c84df72384931b5df911d39cc79a7372c0b9d6fde75265a6ddbbbf6eacf78971ca80fba54650abd2d8201ed3cd76e7e2b38c7913eb0953dbae1dbbdcaa92d0b7f84a35d5c1626710f2f0ff9d596df84b482193908ddf199f8c786ce3aee58ef714623b5ebe422fd072d6b84c318ec6b619b0132370e94ddb4ba0c88d6082e84e0fedb2f43c5fe8d38095f0ae84cfeb8b2c8f48d49aa395b8b0168f71b345e56cfb017c6ccb888f5fdf6f23ca30d6095bcb6f0580f12c8ac45d24de1faa8afa832e0d6c99a4d8e0adfe30aa6334514a08841bf1dd85b9fb7cfa6d6993b3b33d963be6cefde4609fba1359e5bb4dc9f0998eb7ef46ed2747f776ebf1db606af446972fbfac890c3e8fcb09c042dfd87c8f892fc7f989c3d1aa174fddf8b89604d897c944fb90163abd9154285478d59d329fd24b9dbab89fcbce5183ff1a7a399faa768e55c5efa9be1a233a64b5ec9abd4015b791cfea2ac8c24b4999bf389149173bdab19605e626f2ce038bcde818b750b517575c4fd24500affd34525bb16d2ff5167fc69579962da33ea9cbcaa75610f84936237a25f0192210f4fe99e6c755f5bce276e7acbc3445052b4576b6244191bbfc9def785294180457b19509001bf680c6df6474c2c0bdbe5d11538a3f25606b74955629271d49deba7ebed1bac560157560c059c165b139ca7ab84b566c165cbff38d46234aeebb327ad40602beabea24d217f5ee4ee2e6b19cc4480fd2140cec9f34ab2bd826c52e95d46b3b6965572e1e8112af31c7568ba5ad34db7ef18b010496656ac5ec8f69a4c22b073a52d97b8d646358881e676260032f806d1df8853d52fd3fdb03812e87f9b252140d2ccfda8898dba5951b822b418a86403cecbf0a67b1bdbee83c0ae2c2e34ff29b1589dcc5adc053308cfa56c9a449c88aae7a738787f9e382e12856e3b63e4b044b203250838a98e28705f046c8407e550718f68e8a4a8ef5f5b1f7d9c16ae70c8e05abc9d8c05366583ffe744625da1f0586e6f1ef8ede5f948edaf33e4a3b38a57bf7518d64bcc3b7eeed5c0bb541e2072a747c18ba75c57f2b3074736ad0b82383e6a6b2bd61b44bd0430edc23562f9037cb572658d94eaf7d41fd8671ded4bbe5922a2bde9e24f4c8278ce3389ebe0b9684c85c859d0c6838a17e326770d9e52d570922d2309bc2f23f7c84048d12ac1484afa584c9ec3a06db31f2ffd08ef1c1a45601bc178861924d3391ddcecad9526b6587c6527cd506a7a24753621b7c776e02eabb4b2fe8eeea2b86bf59494193852f502d76b6a8a9885a19a1679062a99994bc973d107de2a33a61b9c9b443dea121c72f6c8c9511e556f79210cafd9969ebef9e4ee7a92ea1089e7c02c08f71a4e35b65889cb0079f6b1dfb10dc204f1110910fd6d100fb7fcb20a1290f3e0b3c2676f7aab84801a2d103180cf1e4400efff91a313ae4507199bb6e37d1f0f6bbddc39897c5c46b11b38b189a3250c895a6717481ac1534c4d0cb886736f0950c85b98043e8fe21e1942a9bec432d522782899ba76eb3e62ad9c6b276a56c5650128ea5ee386b81a73300b7eeaf56856f3f2b4fd1b021c95f2bbdb701dd626da5c72dd0100f5f278ff34e39de33337a6e8b3184b76dcbdff4dd22e1f4adad0ad1364b6e1f9ac2e2da03e814eeb94c25974148e38a109d0db576ef9f44a58961fddbe5b6eee95dcc464ccf70296545ac38e2729567b908ffb267c2f35f8bd99f1bdf1e05d14ca929215de80beaa81ba909abde52458362161dffc3ce18df6a8c2f58f0900ce63ec1494def9008c07ad85ca15390a65dbd4129d897756f1138f8fc321366e7881b47454b50f9b7b2c224f4316477475b6cc363a3044e2841605941aa4479648dbc9a73528e72728f1d5ae113f96cd606b5116e092463e90dcbf55e552e4713f740933a9af870d913398035fcd3fa3b985d02228eb0bcffafc35d1b3f583d955e1642a7f4a5c30bdd9a176e913ab1ff5abdb0598f7674e7fc4eb8ee05e390a844f2a487d77b5a703de2dba3bbd7976065ef7b78fddc98d03ac1fad0fb0b091b32744e808d48d3ac979fd83224fe669b41f92b91ced40367ff51f71326582e1a01616977f7f4680b2e86bbd85fee0324f3b2fada20c11a406b36f771678e2e17460a945a1b8b34c0403cc37289cc2de5ecf8a6afd27de0e58936e22ecd16a6e4ccbc5e912a7329ec189c5582d75e198c98ad5ca2a1ec243c8f635dc3718ddbc7913f0f6de0259b0ea4bf47e89e9db168ee28823098b1032eae86b0bb1d4a88c0c911a0a84b88f4450a26f7d9b79d7db5f35fe5d29ac00cb040831f729bf9fb4215c87ec2469179972d643c1cd4c63ac4d8eb38580b5ee7ccacc472d601ea493236efb1a845c3417ca702ee16f1d06b1e9b8458645f5ae0a415c0667505975336de7be63b9ca17de45b5ae82415aa5400ec8933e3850c29b055c63d20fcb1cb3ffb21f5b2645b0b2caeba937a1ed7f461309ce817c40c7ffdce0661dc9f796a8944dd0a431fea465d030fda79e135d297e1aef905d69ee8cbc4e14223da112f4f532dcd356f332e5eda8e73d376d92844271baf935f90034ccaf8dbb88281b9cbd98b8bb922cc062ff52f09760dff40156c1839b8a4ba776de3fe751897dbe22a2642017abc33ab8d8cd7e0e07cd91df2230d41fada20208103f2af6c0dc96156e107ed8fc476973095c0fcace51b93180b1d0c94f8e24b99b53b2ee66b32c6dcc6ba257417195fced9ce6ad2cba1ca1d61bd049a4e7e70449ad1134699d4aa96fa56c1d5a0684dff00ad0e208ed420363b93a81f86ce7e606a4c2c17b37ec35e86eb981d96829db857b3029fed634b7312b052349e9b3f3bfb87b21c60cff29df0a2b13c331dfd34f65d96e09a48a2bd735f94d4786f94b40b90ca70550f6e08e31049f9f4860ce41471f85e50d0235a2bb07446de2c4b31e13b8b889c073c2286b772a2b9a3f88a595dec2d378852ad1c417be1de64959a77853233e0874634d9d8bde753f79214659468d2f64d24971b3b38cca78a327c40fa321cadc3446cea01ba6cefa0e62f394504be1ef70b29b1495a37c33c2473c5e28b28dd5ee3f27bc47b7624b059b6ad7661b913af0ec7b32110810409edaceff63f731044e7ccf17d703aa0c8c9bd74bb2ec349008603e6d756fa3ecfc02d3b3f160a5478426bf2a000310080e0fb198a1797e59a44532022fc1a5f885575e3b499615abf46cd05e5a6fe6b7ce675da4944ac10703dffdcdd32868abb2bb27dae5b458f2d277e8efaf5a131b094f68644767308d59a6ed452d5db5db7212dcdebf377894b74bb14c05ff3f6e0729c1f480fd8d596d46cd69cb47f97de9fc49a93a50c088064be57b88b9ab0e6bd66323112de32c0c96e8fc248be15d0a0c1e569624c7f414bbdc71cda58bb28bf6fe6c9072e18d2355eca394cad6df1019e62ebe65cdcbbba4bf52ccfd70537c364cc36346a4901c30f01c4243cdd92c04ee606863676f6c3f0b8180e7fee1a140b110a69b41b37c4327ed0dedd6391ce688490ac3b875d58444297a3aad0e17dc3174f8140b668681a31c7f6bf89e5b6f4f7f37a4292ad72c09027a104f139b553533006b7186f6c9b5bc04748e937b872961395766c5f50e512353f3f3046ef30f03fcf1b212308060861d142bc9c31c0387f6e44cda310b25dc04f0ecba45626b37037b4c0076b320a1e82e79a5a0e0364a661265f6ec5bb42bdeabdae3fbe5c3d62075023471e3a67c85a5c7dc5d2cf501316662abf97f113d7ab1700de2aece794497c1ce656d85b535d2494a199dcfffee2d5d528125a20e9726893da78ea6b41f0b68f4a62d2d53562dc43aaab7b3437efcfd6a6138ef5bee8e4b91df36ac7b7c437f65b4ff2eca5e1bdf987dd3e5a5e1d087447ae98d49e8d1b562315cd71506c19a3bf1f00cdbdff5609d4229fe7865717003a0f3d78c167e3be709deb796be288116dbd4d006cb890fef22c6cd2d8388f87f5ea62fd7d7a49e336d9184d413f5ed1f8c4943b03fffba33896ef2602b6afb8147f840a5fe7a0b46614cb965ed9ccb59bedf3e7d01892db3cefdb881648027fec8997d6be4e6a76969ab1783f98db677850797c17675e015dcfbd49490957ecd36f658de59fef94e8ee09e9ea5a2f7ea80872077c6d2e9bee4ac3f3e986bc7af8aedd40e26d742c63c6f449151130cec22a15ec02053d9ec2d0bcffd26d2c42b45888929d6a025c67aeaf5db0f6f6b2ef968ccc6d3c665ac7b826269e07bb1f043e235e365e94e8fe2124aa75201c63d8e1c4ce0986680d327ec0f0ef14f06d82e687599a7002b07624738a173b8f813b1909fe2f9a1ac8ec6a3a16a56f0332296f797021375c578051d200ec90e80e534cfe5e0806370eda516563b2ae399dd5f34341dfe14aa013cf01b971f82d7684ea3730088aa15d7da95b85af9ebb709d6a9ecd8889847a518093a021a8de3b31584a84808943514ce01d328c2245d1e2b4e2143a74ed4a0b798be7d33bfe6321cd65a80efc448341f29b814a50d42c7132d75ea210afee1fe596d2a58d6d2953803526add6653969dc4f98bded15c56b876f073e4efa637e59bab70f810f5ea15accc93ca0671961a1a597b86c485e8ab2f10a81b9071bec5dfda218b27a4151780693fde7003176630d753c9406fdc5e4c911b5d2022ad0d73d8225d5134ef7d1eb20028444c31e67e4b7c1c53b15767312c22059f2a1c8a5d88139073aa3bb4eb57a3d9bbf408e2a299fa236cd7dc946bf0ded13351578fa7ffe232808f54935d781069ad67c92e778709d1da97af63b06607a70f732792c3d8328a8affb0e52fc984e52336deeeb739ca68b1bbd436d35bbecb05e12e1ae4981271f5f51443c4e341ae4ff3390bb97fab4c755c003f48f4aed29a106c1c3b230243d307ca09a63aa25369e255c57185d07b796c6c4208d60d4688c38f4719248b9bb6f922489966d3e7a49f66dd9ae6aa614c03df092c46f3eb37cd4547d6be9e973d4d07f45f05aa6e8bcd18eaea25b6ed04861f1467955554b18d060a0ca77fda0fa292994756bb503cceee272f14bb25ba1edce4e6ba993bd5ede8c3b6956cb19faab63baaf7bd9fbc4d7b9b51a652c90890f2dc5351bc01d4c2f45bf2000200c39968b8eb148fddba41142ad18ced80cd617512c7a796b9aee0b827a7b06b2af6675b43404aeb44e7285e88ab7045f393c8e9c511366ea44a43490e9c34cc3acc0d9cbf3abd70a1576cf9f90eed3bd091ebc714adbb2bce5cc28737bf3c6bd216c5d5dbb33e4337a7910bcd9f30a3ba232729bf9393d189c1c9ae9ff8858dd7f2f63268b280e59d16f76b03cbcac5b0fc1f39e30a8649e533eb8568b566396f73921e6125a99896bb0d3db3b18207ed4846e8197722fa5a46bd1011a5355aa412347f1a4ce79f89f7134a32d3c17a58472a5300bddfab1cd6b83792cb505f2a5de4df8256dd041896e114d6908b5d2cb77bd668ccc6d78850a0fabf10d3ae105a8fcf77af4be08a1f3953a8d9957113f151c00aaf9f9c241a8057fa5aeffa7a714ccad9a3dade6897e108e899a7d29dbbbdff8c87b576dca151ee06024cea5c5b400d822ec147aa95469efbff272976927da87fb27492bac1cb262c437652c0a1610ae6d513fda58a8d93813d6e4d093e1ed7e211393e3896a7c83cf3d2a010667316418730785b1631f162843896807c0a0b24f13ea86934013084f728203109ec5aa9af0c6314ac3d6fc240cb414f4497f2ae98410e8c216542b4624d38d32c17dda6ca3a9a02106ae6fc3a5b2823326352dcdbd1af8e90b2e1c80ce2e962a9001c90d005ffda519545bf83f05ab8c2b04df191b13cbaf4200dc13acdbc23a98d4dcd04348b2cf17de8ba9f05239f0925cc4ce668b94528f53f518c961796dccd7b8065ada3972c993984b3317869937c112283cb5fd860a24b7fc090f6d20acf7ed87716ff75c75ab20978d6c7283deed1e6240ef1f032e52ecd996e29e6fa473c0fef7004b8596a1193f02df6ea0379114482d178f7a2540289a01882d157bb7fadbad6c983fd95cb2043d3700aac45fac47dfe95001e39e830f4597521a2ec3079e195d13d250256c72a79d433b493b70883df690e4da600ef93c47bd9a238b41f904c5b8dd1f2a96a8d0c756ec014875fec118d757d00ae6a3923e382f3a0a62f1c4b799578aa12464e36797278dcbdcbaf109086167ec3acb6b97a5a9aa652f14891bc6ceba5c772d5f37294dde655863d47ce191c460e3c4be3ac66ca1ad052a8f73c4e6053eccbe3c72978a5ee34e31e3984f82d900092575892c55b10b39535bf6906f0fcdb0f13234979ee11dd797ea1ced35028574c7cf8e5048fcb4d28d69acd87dd2435bd7272954c12141b9295be9354874bce21aea5a43564904be05b28e7b7aff4cc7c43d78ce407042dee5cf64020c84b1c779fba60b9b7ee2ae31433596d729ba5f42225f2413844d2261d1f625bdf4a689f5b30588f1efecea705d1f19fc0b578a60b994edbd814f2b607e4f2ac6ff7973c116de6797ae05bff4ecf4d07c1ad68bb0d28d66dbb919f3e0806dc31f7e49149260c86ede2d48cc109238393eac5ba75f4b72fb9ded0da6f4c8ef54d036d8a7f3b3453127b715fe646066ebcd9f520bf2ca687159a9beea193749c5250ac090c9dc77d6b9c169d7527271a9b09d224fa4df48b27cea2a8e416ecca2fd391303bec2bab651e3a1c70bcdfca6b2aa3b1283e86ef33445cc3a9b35efe2d99f4e8a4eb74324c1ae26df327cd63afb1c845e57939fe4170888e75e02c1dd454cb0d4712beaef0609e45aaaab0b614e057ddae58b8501968501d0c8b0b9a61a3f59a38440d40c3a6e41b7243e0cf1a73d07043c4d4e90726339fc88f5b6fef7baae03bebffc931eda94703aff634c1b8c01d41af89f0751b6365aa4b779f03c10749c19fb52307f9119a96578fdf3f0d2dc4e0790c2c4d62c2c9b653d36688972cbd2f118c9d381350252e789f0ec057caa24e4e01036197796b7ad5171945187c2999c2d214695b1eb69d1d51b097d82b104d513c45480259cfccf52c1b229d52815d0c49bb58b0d27d11cad3da22a5749120714f3e0602f6750c48db9cb81ed446c1d752e6acbc9bfd0ad72456df5b9dddb865feb19710d69d34cf1ef4381d2eed0c2a35080784cdca15113ff77d5a3545dd69137178c4cf862c5ab07f891aee349600d195b37437fd724215e50f9cd605e8d6ae04d2f04b8c9eeff160cad10a8a7439edf08fee2ba12ca98a3147aba0008ebfcf254135f672ec521ec3fd7ddddf372d120cb22969d953c3543c2d680a36b255369bd98741f4a66df9d23e82ab01c22cf448ef1b551a42cf620278590c2334d3de59162932c2e25bbe9229bd14e30cda11404d6caf4e33af2fa5e440cdb45fe5cd2de8b88eef96a6842772a38628e76c6b36c932af8fd4558aca5b16c735ed1b8d7fadcd2e3484c5dbc17f35f6d4d4dff19c6680a4b083feeda3fe89da17efab820714d06d92bf6aee9abc04599a616fe1467f86344a1c08a88b12530a0a7add73531e089f635ad2a08514b51ab3094baeb55fcb4d87fd4153622e44206aea39a2fe802bb4a98852070e527ffa8cb9d850263540eb8c97c9bd9138aa4a13eb6e746fc6e322c02db5547bec3484c02c7a30d3f7d45c780d4980b887e6806d56294de6b91627325697e63b4174adeae7f78d47d0242a5927a7ec082190a7d9b689bf14ce30e01956c7839d9be39156d223a32eb28354c290ffd2f46eef8925331340f2371d45bb949eccf3b94ac6c080a7bb067925030ef0fd2834948988e5988374d28a0e8b402dab32cd6af1a0c9db0afad880fb1104afcc397a15d300bf16b65867667a5b504e042ca59dacb489d1435d45bc044e30b63f41d00f76b5d7f3cfb6ae72981846995dfddb7fd636813b14fdf7fb27fbdc5f71f2ad6052f991c8354d7b094f684398f69be5e47d4247c6a041bc469ba9c6891729f389c478e35d5c87577489cc18919584cdaf3292603565c0365071cdee88d40e290de2cb17d2d2063964cd3d08c605ba26c9a33312ed57a74f187b50bad4f0f5ebb549b019fdeaba0c69167cb5b2e3b723581957ca12c9846e54f298e0d353c65e12d66f2bbe0d00ec39fb0660ce0719a1601c1f7f2718f6721942ff5daced146adb36df19d95f0f5b1a460db1e17bb3bb71cd6903bcfd4b1645bbd95ff48452847f202f3f062f90d749e15ff811d8247934543ebebc0c4e716ed8fd13ed33605b9910fc8545b591633f3eea5b94794440515ebd776959313e15ae3a83d9c4fe7139872fe60b08e506801b1b9cd06f8b3aa6f0f2539066a9dc5486daaa1b3dcb4c38cabe7b7bf740936d369bae7848f9c250a7f9fe1eda8ca459dbedf74023e52e34c879e7edc57a2361ed6fbe4f6c01ec59b466563f300decc1a6d80ec3a894198177756921b5fda3e318e89466d48b8f780f7c3e83f8dd8705ab834952d2b908f805e3b9d0e53213b89885849d869dffd885b966b7670a8a5459b6d443f2fa48712ecf0364b5b060c2b2e63fd264a08b3bac4bbea19280fc7f2af06e0413ec15a73314e4659ab1b620bc2d2f75961461a4ca3670f915d5411316f4b654d5bfd4c7a651ec5aa563a89252ac02c10612b987cdc0caab76bb7b019942bf367191a25003ed4b6d5c80fc9358c46f9900cff731705f8d7c22e9feb814246e3537a5c26f3986ce8677346434417f8116bc5bdfc29509fcafc68ca3f009cc10bf437f516a122d61375e385c258abf2825b74c58af82bf5524b8cb7fa876f07af1b47d863dc5e1da60e3e2be970330714fdf6511fc1d935eb2eb7e24e18dc0e51a60950e287f31fa726cc5a9dc59963fa83b955bfe14941030ff6deaaafa4bd088021d2207922efd92e4312eb9b04e7795847eeb218071324c1c01bed1b2ac3828cc1a6d4324ca6664a7968c35fd5a1a32699dfb57fb8e6c8d48b44056eb03a77a05fb83b1dd80f5c7e6b72e0042a674be993229fa4ad37436060e36285224b2186662b536b1b7d017c03fcc505bc95540a90a903d7656d9d0b930b5b0104da77d501e6524c3bfd3efc9ec2fbc4a831d0b18388f83f1b96c655ecb452f86d0f40c56c9b51e3cb77b0facf2d85db69891c66c6b50050d78466b41806135d1e8527c9cfb07d6ea670ad97324e5d441523ca8559a9f536a76b9d68bd79300fe0f4b051901fff7809b940d6251292edab3d9b1d97778bd9f748d12ca1ea31d79f4f6a4dc3b48fc0fdbe94a0e83c9b1ea06df31e2656b1a8bd855156a3c4b74dea805e16197b8f5cb0c89ec75b5ab4f949aa9fc12ae57b2d9dac0f9750687651b0b326c4de2f94eb47a12e2f9f840308783b0dfff291fadbeb90ca6de9fa6e7a77bc98702f730cb3b56cd7ee9b5341fbdf1946fde0078e87377fa3c33a71374dda5cd8e147a2046ee0db3041c00f74eef914d6987b38992325b503d2424ea729200627adc4aa00e5047f2aaae040653d88e435d3ae830f0ce1203f08e1300d70386331e3cb11ac4729775f5e0541ba5712afdd0b2301e84054815d05999789f4dc48a0c44f32430d51c61e29d2f284db1b1d47c3b474bcde1a6406fbc8f7219abc8d0d52ef2e82692bb6054b8edbb030b6bed788efee4ca6e3de993580a885098a57ddb943d33debbc9528324609240c14af1a754d03777ba645223db5dcf626bf41d260d36a0b32c3416347621f49e5a46dff24c656f2a8dec5b3bb29395d012b649de6dceadd8f0216995fe257c172cfaa57e052cfc486b959c40f1e20d8d7045c308adec0527507ab3fafee79e623ffd899ba164ac8b1e99224184629f5121ffa649604b9e30b1244f282986861dd63668d3891e4e5ec87380f0905599fd7917e2fb80f583c6333ae2ac8572e52a6b8ef6cedeef02d3f197aae9bce79c0056eaaf91aa66244b58037896841705feb24918b32c2fa9335e1109d8d6beac2819e9a82116588f4637428f8a43da8074797430fc826608c460d5d83b90aaf65f92e2adcc0562dd2694fcd703368fdece6ae9015a0594af39e2b92e3dececf5a006b836309ce1026cdc4b60f97eafc4804e11e75984be0d63798bfdc077e9b2e1c85d64c5f888edc07c6c6de084626b3955bf9adf110ef2a10c4e88118b7b64961ca98cecdf992b27c5bd8c5b93911e20aa3aecfd1f14759dc26a423beca2b6504b05c20323</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年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-07-19T13:34:50.867Z</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="e5f2fdc5f133eacd57db303f5a0ddf4dfbb666442377fc2710380bf1a5eef59d">bd5147307747017037a34b180b3a3ec7696fefab04ab38b9cb6627c9eddb6a685ae5c87460def166cdf0452c412765ce47aefceaf8467e6227a17f8a827f471ab3bfdc0586b5be63351d70615ea36904af27dda6dc190b5f98670827872126a128607ce68299a5b68f64525db273dfdd731d7cf1e187094a7e262556760b87cc97b3f2070f7406091715ded7550925af54e719847a334f2d5a6decc1d8b6a5eb45db7a8c08f898650bc602b88273586a14266246d9c40c0a5e8027a4412f9dfdee06dfbb590697bd4d5bba17a6b8b3081d519c1ba82710953013fbefcc6c8a1a2d6e037bbbb855da03938c4dfe816071d2a3e08c0982fb21023b1685f039c8b81dde1e44f924f47f9d1d0cac6f50bc9f2bf1f01f86be500f7cbb33407f31e0098857fe1e8028378acfe006a633c9686a55901ad5428710408afda6951ca2485ebe109906fec7b9e2fd8e55de23604e777e447c97b716190909f515900c92824564856df63cbf2f569b2438d7900280b209ce18deaba6b47cb0ae00f107198b443b85ed58e63fd50b8224f068e50d841fcabb034331c55abcd8187723db1e668c8ae3c8dac924a0d78e98e7208fa4ba3c7c0197efeed01420848b27ea0db68b1f6cd1b752a3709267fe749bcc2887f39c402bd5c8b40eac528ac9401708e3d771fc28f6ff7235d6995f8f2d366139773f7660d31cbf24d2a052c4b2363fffa8fad0047e5eb442ef2e48928683e0338db2c9e8d3bbc446ee2760203b5a09e2707bd0b958c18d329ca114fe4ef3905f820cf7ae22e1353a7e283599acfcd3bba6d88fa4e68621703d6d25805f9770bf04b958321a827dba878277b61f23d2a1d418147d56e8847b34a04296dbb3a1201706fac7692f4ee3a32bdae80af5d8bfc8271ac218ce0ba5a1c29f155c0aab48d2bf0293ed96aa9d3a135ce86dbd770062081e916883c818a469550271145879d631918b056b00091fc249599ebb1d13319d918ea017d91795ed077395bff085cee94b49cc54c079f1e9df15360bb1a2452361d74b4346d5a3cd0c00a9205a8e77d885d0c900fbd7bd28ae523960b73aeae9945da02e11eff70d1e15cc395a3176898581f0726ed891a414c2642fa05dd35970b21b23fb6e0a692d420048171902d420303c319f7fb89a96f02d1efc16094b96a8c7707964e9e4ce521798ea99adcd4f6b088262cc7420333019fd3a5adc03d2dc3c0817b1b0da5a66a9a9c016b255b4b9d2a076834d58465074b928b4256388cce9e8a5f923cca7a16f383d851a53de90c9d18653113a68833f89882facf44e41248d13bbdfd483ea94a9420bb5b4c28e6a0c14aaf757a9322896840c09d75892668f08dfb99375628f230f55d7fbba8e883446d41a5fa6d9efa06a84fb206339645213da488d4e9c51028e94afeb69eb4d0bec07059c47d5c0f8fb1137ac30a59b58abf910e8fe43c68d4c7e495efd506c6e0637650eaaf6ec30b8e343976d9c0eba60eaa58b9f6d829bb897b2ea1f5394fcf992855af48d51ad85ad2dc1afe750a13da94200c3d4b5d349184268cf332f8717a1ea526b7cbef4bd1dcbeed4f3c621b8fbf93461647f918d1183343f3b6bf51e570951c23a5eb4b868784544a2e72c3f2c89d950b63fa0d30632b9a902c1fd04d7e998bb84fb933a96036d72b4b220ba24edb7a2b2a32a494f67333b67d4d57dcfcce9b7cb9692986b91eda5f723f7e25846c37e627fc104a534b9bb62373428de8937b659651c2457b4af06ea649aef631818735c3376a6ac8bd97a6080e21d8db02ff1f923e346511d271e51680f13a0b9da7dcbe010af23c6126d36baaa871d241b66482a7470e365578987a0ed454f89827c707e6a352559e64d8b0ebd844618970beabf095909af10f27a2e1ed975d3da4b706a4de4fd335a100ad9b4d1b67fffbd4d90976cc0c82bcce3a607eee9cd6493d2adf1465cf37fca1487eb8842d9d7e6f4e8ba4cf9693cd4e98926eb9b160a8f30eb2fda0f93943f61bd6d91ca3026beb9c6481b2c5538456c865a25f4166497aae6ee64e1f3549ec35967650a9cd38a5d7d18aa45f5ba5a0816ff8434af53c4528308d05fd6cfda7a631aa5aca228ada958dde2756b9f6e2903bdc438e4467ecf69b012446e255c9071a5f242111ed8f0f3a62f1f518caeb8335d8f39dda32299f1cf5c72e88551f53e29caaaa72ba2e9d48c163b906539b8444bcaf5876dfd9407c8842ce698076f9a7e9db2aaee94ce46a2615b26b484f6e9998668f79a944d737a61682d127c0b1d2a8ac9484a08a6b60b3c8b4604bfc5ea772bc196e2a681eb4ca8ec2ee35337158e7e886c4dd788bffe9ba5a290809148ed6d62ba3bedcfc6a9a5ecf938ee64da94ee0eb71e5c508278d372272936d44255057ed7cd0117e7d3c5eba54f6daa476e7a639f21be8758fd2d1c5740ccfad7e78909df2bf0d002fb0e076f1e22bc3c76c660c960d39f0691a9d4496d753254ad77ecef18ac872eb306e176ef387cd5c979583fe34fbfe41817fadace0173ba6cd1cf036f83dd4524a29f56d8600bb63ded9d9cc0cb71a713ff22e65f62f8da5d93e7f55046b9ac8d540112641747a88bb8af324d9eb838e761c2c494c65eb45ddf04721b86c03159842f483cd644e22ed7d2cdac49a3227e8c3fc4833da47c7a97330c9311cc57915904666da48432761894905a5e95539f000b0faf400cdb697bcead068ac0e48923730f8151d53a3c0abc20548bb256dd24ab765de6aa9a95fc720affe9bdfd4ce635af6fce5e9f5abf1e3bb1bb69d159a38f59b9f5a4c8d7c386da01d5ff5b4825a7f82b645136b3cc224aa4a8cbb803cd6fbe5084b4d36eed775177867d7553e86bef9036bf42d24d0c784b4f4100477ae8ac86e1602b5d9ef655d5de7f5a125fe6594c87bdf4d3c583db769e3dd7bc27f2d59764af5f6a62ecff373efb8c66da897a2d2f5163d34783a7640eb1fd5f2668ce0710b261085cbbbe985e2e696449bfeea7ea69eb13b816f13b34b77e881c34935028e02920b1445900112c48b53a2e5fd0b7a2b88240246c3aad2c763e37b910e62af42812c7ed941147b014ad53fe3e79cdca3174081362397a1148aaf8727c9087a0aa922b5e8aa12bf14033507eb03058a4257e383699b6b97466f7cc1eec54044ce7ab4070d3cf2d3495264b65a26a9df171b444ec0833839d84e64700d68ea67815300f810fbc1ca2c42a2b0b62911c75a2c6efe7b9362188dbfe194cde53ccf0e1451380401aaf1ecd5410660bdc0150c82b3fa57d9d5df6ea89f78158b00284b51b7b0a897406a7cb88a12b168a70243847154d1d707724b9ccfbe04cd6c92a5c4f882d08794cd233beb4b20aa01defc249202e9da3f4b7883a77aa892d8f8852afc805e10e707d921381b28bcc6c9e5d1a7df660eaf08da08a3b682486a86b62c0b3dde203b30e0f981928d6e9c57c2115c02e35b6d518031466108eaa446734b8b5707e09d89fa6c2d6e41a7d80cda719c6155144e357d8400dd3da24ca79e26f1fbbe04e0af3726adfc804389f817aede37d8bfd586bcaefc79cab2140b7ca7f33fad62bb1831b5c4a0ddb5c3e6405a823fe36ab40a1b8ceabf0e1d3d26b6023b54c95a9902d61883bff2ad5eb95196487f1920db52229506aa574d543d9aec94897b3afba89d3a0cb9f362aa0782217d102d1f494385c61c4f26711ee8354883a9d53d7fb9d2a2ddbebfb2be1af4429aced1be327713222a8cab7b5c87270f9c5e944671488cac17a9dec96573009b70c3d25f8810f27d19b06c66fb111ba920ebe8871d8b7d96761a489c3c595981f50c8998693b4c4f4d16b8ef6c8c8e1ecddabb6139e21a73e20b328336bed5375f19013cfb8c99e4c6b4e841e1821a1ec5549b0ba4132a716a50bd87b5c182252952664ab562404539bca294fddb91b04afaf2a60d157af25ea871428ed70337a3151d73aa67462d2a70efcc0c925e878ba351b93125008f933d26e0c16efe25056ea84863d0acb735d1ec67c39520b9cdc99d0b9277caf4aac3704b43d2ca728ecc01074fd57706821f1d8f20fde5965cf9fbe966487ccb6411a63bbd8674fad5b1d036d47c74d50ef500f700252f6a909a24c5ed104295f347730a53c39e90f0d202527439e72e280288cf178533e92e79ba904ce6328ffcb18f88ef133288890da8ed382918857fdaaba38c3f8a42eebc05ea9c06121c6daa2fafe2b6c45f1594686bbdf59fcf17e2f452ac279fb7688ed12079f85645c427f7f9870ddc373c17078489353a6ec467cabd36b8f9ae39a760ddac27dc9346eaabf32f98f54819bc515f2ed133fb5208e914332069e5967675d47cb0fe16d2cb4371a076fa81a1770f79b36dab5c9786fa67e367d09c07f573c3c4e69bdd102260dd36fe18b97a22075500a5a138febc4b986fa6de5b3477d86f5488dd247d1d3e30ef60d448bbb910da5b95824ed16654675e3d4668af2bf532d0e25a3b727e90bcd79935e2c36cccf6bb12f72b8c15acfc7078d00decf3e5c797bb38f04cd3105054fd16933b98de1f49505320c3d9c6aa4f02cdb72981514a630f8dc1fbd45357349a8cfef2663f04b4c0ed127824f740db4c71266f1e5a8b2dc2dfc12a81fa4500569b52c80ef5d5128c86a6978c9ed1b9236efb1c35809e2fafb4c3d77bb6f6900fa8ab7989b259298ac8973605948bf5f172c0af951efe6e48dcf3c29552f61e4b7bfdbfc1a19d500f112081488e95c53a15c5113e8a6c2d679f7d5d1815e8baf58526fac6af2b0441440da6d59a777675c189468a96aebe995c4c26122be0063b3b6ab1ba5a981aa0c2a65dc07207f2a8a1e6f7fe5d1feca527455189b9c0510d6cd8b432cdcc6b2902358490296d25ac68dddd3df9cc8784380826614c7881a3109e7fc8c40b495509e383952823491c51ba13f547b08863c11099b01af9e474fd52176ca4cba66eac34b74bbd0d7e67e4361f0591eb8b69a1a98fa3798f2245bc9eee9b23c93d453f9d62b076e6a3ce81d0eaef2651e3169762a9c2a5cd53f8ad8e2cdbdf24a388247f3d09f819f2300133f0476f3f866d7b98b48d768d8df8ac5e2784c2ccba768274b0092a0255af7b14ca05ed8db3bcee31a154043fe60e3fce1c4eb23c1ea9d2b353916887d99a30c8fe476c563bf151b2ea9f2e1ce286e63936535a0711ebce1709104b625f488892cbe437d966802d3069278ff927fe28bde7e0728d6c4a9611a7b78fc460281643e24636e4ce4d1d4662312f3cee61b8b98bc7600478b669627b1765268ca0d5305d850ecfc82e2034b30e6a574a1c279663b0d330615ecbb34b4398b0a1c97a99306785d0cbdb632d534f7efeb50a64ee5a4cc792924f2b9b5fb101b67c9ebc9f224b4c14752842aa671aeada3da023dd0ac02cbc633f720db89b0018656e8e077fc3ccb4abff6c8cf5f039202e072dbdecbe65326bb8a0e2ab4904a6891db7375eeebd59c4a4d5e5ae79c8a248a1621f34d611f2fce100c398685f119d10d4a937bd1aa003baa0ee51cd88a832aa718db989910c607724f1b8b54282c2217d672b4cba826b2547febcfaacccd3fd912c6541288334bbb05ad2a0a6a96bb0b1ea999c317a2efaac8c53d8565b96632c655940f73f43c3eb66a65d4bf818dfe33b9a0bef17d3ab5976588d3fd726a06534d0a1186876051b500d399d5191bc000defc7ec4e0560b0ecfd0eefa553781a9aae8de5cce93960876a111ce6a2358ac73b4754bb351aa18d5004da75f55b2db58757c22ec5889b1692577a8c3b5eda4cfb2f6bd1113bdcbd076856ccfca0000417dd8504f32969e669f95bd8b0fc132c6b112fba3939a860d6c22f2a0807671475b4c233cbc045e06b51717c7435283bc4819ba67ac77eec430a30f1e8ee24580fec4484e0a5e28d087ce9bd775a04c6d05fd087b2b515a87ba160ee08883f0c96104eb657355d9bf30377527c73ed8d74f02e855fef0c81d43ee0af261f58f4cdaa690997c4321db56c25aeacea469d96432a02b0d86810b31c39da3fb5850a209379737fbafd304fabdb9b9b68d779bec0c9618ea2d1f50107c05e9af9f10fc680d0fb85f7afa6b0218ffd9dd72806c1b0bf951b0d794e69db146c9017529d256d321b561654f0281a1d650854a0e5a8b4f2c6ec30ca2ff35f662fffa504fe702167e08405b3a363605409f295fe500912a5915c88c898d0c6261fe5a4280fbc7465ec3c6179c2d76f12ac07d459b633970e59f16757a3f2d3a06fc03180ed40b055dcb1ef1ce22ffcd2672aaa2714df44d92ea0d3d8ce0cf9db060360d513c2f1ed69724aaeac0c92fa4994ecdaa55d81775bfd54be8cdce42a21509b74aee9e51b9aa357234fcd2120febbe5a89ea8535ff8b14c3e186ce2a24b1d5d67b7a7964ccb11fba9865a534077366b7da36b790b88cb51865bc5ba746d43d9359a10feb88909bfea20206b3fd61da682cc4c118831204cbac2d3e40ad61e36c16cfc6a4ebadf43d408b5d0521d4fd7f45547cf3a86e3ef21f997f62e8f31a0ac1a41cf64f29a2256fdc56911a01b165240cc8a9f6472456a43d7c6dce11136f0cc63af49fabbc7afb526e1aafb9290115a9c4d612e1f4310daff02dd985bb54e7cfd81415d15ba4afbb478b984c83569b676f6635659f20809745329e5fbfc58fdc8fb7ae213e6e5d60d46cedba7983ffdbe74759354fcde652d313d7d0d6e24f01d181d27b280c7b0c79303ba504665a5fe605779e7bb20a0b649ffc73fecf88ce3c42b10c88a0a83f09ef3919dba60af430f70cc3cc055a9a0a294dc791414bd3dbb095b67613aca290eb4fbf5da00faf98a48e5c78113793294eb1ebcfaffda11460dd4b28255d19d28c7c867f18d7f858f60457270ef24c7dae4f83d9a4352dc2e51139bd9428a1559f5cf0ff9c5c17bbd38f9baca4da00c81764d3516238caca576f6fc0197b5a7cc228bcbc709fa76adaba055542ca70443c7e09058def360ae0cfd8f09232286e9713051d624a076fa6a9d47da4d44cc167322f27893a234e82ebe8c19acb86eec03cae810be7dd1ad1ec40feb345270bbabe3b156ab93f345d7d009e528756995d3104e3db2ae2a3772580354ed854f2a1b50fae9a3423d778eb6f522d310bc733875026093b80b225e3574284e97ef7f6b5d848e1413e2e2bde26368ef6d3c4d06b198603c84ede61cf4e0646b1d730e48a63ee4b0b7de2a9b951922595460a47cb8edf891184029a7aeb368a091d078583d70043d62d2bdcb9addc2f206c81e15f333739d06c5d80fb24e82e159aaeb375ed5afcb38b3508f87d5eb7185f2afc2164f1d23592c5de048405e132e9b70490f4f334a7bc284114a2e393fe38bacb9c359faa004d0dbf90966e5cd42a0104cde0cfd8702eb60fe65eeb3ee069ac20571b623db208b0765e7b5b62d5350c406a7645086f330f317d27473800964bc9932582939ea1381a198118bc00520d0433506c2c0b1e66bb2cca40e82e8b731e3eba455ddf632d721e4f589149501de70d1eb54b6498fae6f80a20cbb47bd0a84abc6ba8311bd890ff8b08b8b584d73b9d45c201a6b86e610478b47d9b2220b81cccfc12e5c472518243fd80b314dfe0028c7881c2b24f9c96f4cfb66e7602e86327791b85eee399ae058e8fe660e1ebfa582c261e63eeb6e2525d3158f88a0d278185998ce6409ceecc9f599ab4cfc58f30f981e1f1eb2d861a9891f33c5032b2e0047dd6955d2f8839e8ab78fde552504dd37d6cadb069656873f110c7883b7b8a41e43c48ae2634e3e1b76f651bb881efaf3ef5dafab0f1a809e4c41b41d7b45aa2a79922331690d7c2d45ea6506830ff88476e75ff335795e50720393623da2faef14d998f3dd132b2850715b6b9dcf6da98e4f54b21d5d5941427a24f4e815f77dbaf4e02a34b7280da47f08b256af0ec1d3f33c37eddd095f5572fa39183632a4a80bc8f45e8f8a2e87ce4a58421d1e14d850584a40e44fcd026fa811aca5bb7f680071892249ef8e709375470958b130fccfebddd95bdd01f30c35ae33593e2c3d3820ded2df8760a0ab15b9622d09124319f480366995df4958db70730d7712b6d4a8c9312e52f4d3c5a44bf096e0c7acd189423a5e1310019478924ec264649232cdf7611ea447849af428784abc044540f7c09d955c644af7d6ea70e6476e9d457c67720979d70cd4574a7ac400960e9ddf91f06da15e24b82ab1c21b37253c9613c84068640c234c63ba4ed3b23ea310998118e033c2ae623669a0aab60aeac92b8b942f7f999b7457c2b55f9ec9adfc3c99c5d89c6ab39370a178e776001ef96389aabc4211c00fba766e7231e3b409062f0babd26981f79e9f8bd24cf85cf17e1a1c7c11dc8c870605249723fcfd7c99c7c0134e4571357d6a915748eece146645c17c07a45a2f5d5bdf9e06b210d4133c9237d1b6628b798f4af31f2181fef9763a7c9b4dfe4caa31aa2be84587c583e81c9ba5b6d9af87a9de7805e8b0103017763bc63bc4a8f11b65df748f4099258a6b2095d3d8af2c540c60c234fe2119bd469ecca730aeaac6acac284813b41f0a9eca73602291c2bae373cd1c1af2cb7c8863dba45e4618277289f9aafe71bc0211bafc84a5662f9dd75d25ffd9ff3e5ee3eddd90be6ca7dab9ca38964c6256fd999d0b450d8f7d5bcfd3a491569ff32ecf2ac138161c4fe4b70726a3781d9f8adfecce1d8266187bce96d043da6e0fe603e83f680672d775a0348ddcd8e66dbbef96e67601e8ef8ea81604ba2259860f4eaed6bcc4ecd3530da79eaebbf7198844f9d163f26d06eb7fa3eb5b45abd0389d387138ce92965cc22c0c2795b27731fa85dea1bcd119c8acba4d5f67d7108d660b2e4023fbbcb0bfc0a8414c0ad7ea08c8c95c3ad3d8244a45229205513750b8d41036265841704a03c5ed0e8705047ffe0d7bab6da3e724d40a420da96eb4f70af3a0cb75303c7fbdbcaa94e4509b327b92335a5a7c40136cc61113e144990b8363766f13dd7283444fc33e7587de0240f3c77051d23a408fa750b9f903535b15f6888bf1b4b3f9b5fecae3c375b9d02b8f2ed86bb6faacc9f61f62beda7fcc0b67c03dd67ccd2d64b97b794a182fa6ed452e2e2b4f3b611f13afd6ab17d5d7dd134cfdaa708b771e30aec3a63841335f700d3769c79459deaaf0028843c668dc37cf9793eff8a5590a03fd6fbbb3ff4795f7b0f9f4c8084e9759ee4cdf7664c6d31d9b0ead84334206c22fe6d39291b3d5fce5172be27bde83d68dfbeb89153280c30494fe7fc202524aef7a253735d8b7b9f1c1db313f496fb0367a42b418e920f18d6322b77be97235a843f68d463af60a70be1a6ee9e827ce7d77a58e2b717a3ed44a03e8f8b89d8cf5c096a6457d65422d5f7b5d0fffe0f702b7c692f4f115ce7ffae0019695d3811a35d3299561b483af30a5496edd175a7623d2a2539055bca6c3290a5ec09fd89aa665823e8857ae4f72d84ee70a45c05fb079315609afb2995eac747cb94307cc49b59ea123d02aa43dd3372d6c259a90604279b25576bad3eed744169c0debc8650d03fb878773ad9363f39ccf9b01347c0215295bf7468120671c5bfaa7a2b29c2a63951d28dc29cadbf930da51bb0ab5c8cd6c8fe742b447502072ec9398a0945df110d680f18fec565d85a6af854ce7b1ef76d07a89437bb9c3c9ec78cad248368ed03e8c9a005cb1bc2c8b5882bd448cf7c5e8eeb3da1b892bb87daeeb48b6220404a083eb5c052650a058a729bf81f5f48e722baa003cb3bd079de8de6ece39de54214f7ea5417a401a0c25bbe5f8996bcc58c81ca46f71c50f8365f632b36004c5dc71629202eeeba89acb093ca5a37a896ba8963f65fc1741208624c1e805586cde8dec6781f97bdb25ac52f4fb423089ae43cf5f269dd6d6d93002d1ec04c0489180a834c2c0101757500429f0aac8ef89be62b9d86438ff7604dda77f6cd037255f7a9d5ca89e9a2da06ee19dd2d717fde385739c12530691e6cd074533b31ce43d58385123ec2cf037b449ab5843020554349b3678d64303e977cb9b987680ccd497db30965e194c05d69e257648b5a7a1250be778c8733d4681fb8faddbea365b80f81cf2aab022fb291e95f21ed34e3a97e982ed520a59650ad0db705f62afe082feda92ef4d9718533840a4c68137a92c63704005a2a75c47a1aa2f722f110f0a8edc023fef7f70c6ad87131e1fd44de9a82f2b90a7e7f223eeb33b9b231373b193e3995133dc6fcf426d40d181b193805a7f264c2c53df026bdd5b1725e8bf7e67eeed96702842af4542239da68f6810b399a7301bb1e73a42383b6822869c831065a88d3dcd5b1236fd6bf68df9ddceb5f97e5f9f5ccebd3291666f9da4d31d5304507f14decd784d7ba7c280f01472d2b0f14fd5893ee32c9e14268931d308c4ac0bcd85b5cce8e4c62cd99394b813d82e425cbe29baa5405b8fbc701537f50fe75672a14e20ee8ad38329473cae64f3b74edb1347aaf791860ff79f61db45331cd9af7762d345b20acde083fbc8a9f1f44a56876a0ef94338dfc6c840119225446dc7f3996c429ee770ae8803a5b32e20d5f206d5b88684e73ea6cae5d7bc006e8bf138ecc3acbfae99a90fa16d37a55f37491e7444018cec8c2aa0894d022719468db3645183bb0e3bd6dbeb27f07dff92acc49960e74aa78f3599f2b4049a1cc56f978e2edbcb28482eee6edbe390fe404f48d141852f85e0c958e43fec7ce619721cee9935ffa096f736fc13614f95a525a043f42671cfdf355b9882ce5e2c840df007511cc058daeb4d74cbcd37c6c219ba762021bd7355f09a3f0327b9f6795270694053de7b1de3def0e66cd236472188f366538c8f86c202e9ac9bfb539aa742f59bc430b84e289ca2e96730c260696537f510ffcc03154bcd98a0b6f7e4578eac5160ec1d2fa80be813a71ee73fdf9bc82674e95febc57288bc0abdaafde23196f94a0452bfc008e14991d103b21bbc0c7903f9f96ecf04c49a18537e78c52110abacf2b1f799478fb6ae237d2fd29bcbc232a835476761c05c34ef231e50e92b06fa7065d130efcc735fb7fb7e8d8bdbdaba54f6b756502bf02fc08f69fe6c16e067ce2f0084a4ceca1a789e0c784c0b6f74c7c6ecc369b38668c8a3fe0708646ccee12e07eac84ed24e4cdeced8f11558297138c5a62295bb87789071e2946ee6ad71fda7f9cdbe0b8136965f0ee0b4f8d15bf1f65211c845c9d132ba8150c4440737bb3bd24392b72d122d2bece979698c4156ae6395185aa64ac890fca4234d59742ad5626620f1dc8788e86334a5ba2e3505614f46a3b60cfa93baa5ab4f96746e5e81128a2c68e64d17c57ac366b8c60095623d70aac2fd139cfd8475f950887146f3416f9ab5006bcd962e45f7e43793ca63954adb3a1773053f65b3ad015f3a7dfe0f87a2582900581b9bd8fdba810a5507c6eec8d0ae83951223f730e0e5689d4970ec3a3181dfc0a28acac2dde63e60149967c43c54051caf9309f17ce6abfe792f0ec5bf52e0091952932faa49bc79fb1aabec62e5fd6ecb4f2eb9bd8b5a50c6b7be505f12632b5fec8d7532ce43b8c069fcfbda7c5bf5879e82c052977aad5b8413720c96af37b236bea095e83976d8bf8cca6c29c7da5345e7cb80a0f240d9d95a2bd404b0454bef016357d7203a080817ab6e96900f8e49d45281a644271d763e9c59cce04687e91433258f3d97845b766117e857cf5172727ae93600f4fb99b4e70aaa27ee3948a408ab47da2f81ff78ea12f0b95d44bf267ad9d751be5f25631a07a5cad8e6a1a4d80d39cb4ad646ee750f198acc8175c586c9a0079d30f6c236a592ded90950827a9ef3614c5694c19ec1d048a83d0783501ce576069c0a1db11b55375bef18f89c3b7b1caf3606be2167ec2ad7f7290a545f4fd19b528f5d88cabedad16eb8e5084f39800f203ffbb23fe60039adcc62fab53400d3421a98d2ddcfe00dd52998b8ddd5e5f6735a1ba9f6b36ba380aba191c3f564505f5add0171c32322cd25074df45b7e01aaac6c555d4fb0eb35ba8bf99e2fb4470537ff9f14c4d2aa92d3c2d8a3c0d863ecf2de070d4c47e542bfc91e5100b0493232103bbca2093c12130c35994effe03f7fd780a7999f6c6ccbe41f69e272928ff9cbfd91bc4a6c2a50231e295a49ae19d3b7fe44f8adf8354ce19575f3fb74af7d2f12e8410e3d71405145e698caa3527ef899d34b3b83f9334f374c6310a10b9977001aa03a0ff8d3333f785dd3eb4177837e254114b1606dc09b76a9c7f408df1327369c52c8cdf5a6bc63f59fb59c130897e4e71d1192ee2081fa86ba46ba31e4e08d7c9989ba7cbee15e5f4b25ca8afcf137789a16774253393443edb741cf34baf29eef3cffd024b02</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>
  
</feed>
