Blob
#0x017026ae489471db2269cb56e33e49a7cd4c761c879eb585a9e85904ab97ed55
Versioned Hash:
0x017026ae489471db2269cb56e33e49a7cd4c761c879eb585a9e85904ab97ed55
Commitment:
0xb1f401c198fef1b083faff28d8472038f9c581fca91ed7d557692178debac949202572d14ebe7c85cde64ebf96fc35fb
Proof:
0xafe0c0cfd9946eab83e9ca347dfc624bb4ced9737c8dc1f2c669ebdbd27e57a4f0f19b325087d3064dc87cbabb058028
Size:
128 KiB
Transaction Hash:
Block:
Data:
0x110000a756007a20dbe6c41568e2ab21eef20ca41d5400000000a73e015b6cf80145b071009098f1d651511f062b1a45d9244d41fc4c30ddee206d48d1d0a9531b8a55277e22341c9ecf7a84c63ec9b5108ffe773649539ec8de83cc6f007af9326fb397c40d6f86814d24e2042601059117470dc00100a046813bc81ef880241f899a079e72d9f7cb969d4221c18d44ae44d834a0c81261d114fdf76df187940b394f502037a90585c223112ea60bd99ecac6c6f21bf4951fe1b74e8dbce02e3bb9ca9ed427cc197d10d985e0d2324d3203acf5cdefc50b153d42effff9b35f20983ff052743b8a52ef1f24836ed017c4f79c2cfebe24f311b58e8e0acf4ede155c2c09f6f0e0bef8e2251587caa4eacc737e6617956a4265f25e824cd020aa2b95505714d5eeaf28fff9d50a56b4b654b405eb543d20b25314423d9fbe7d483b21d776626f1931fc64027deccdb29ebc9beb4bc9ad19231943d334a09dbcdc24f0610998f9f0419f070fe7d38785173cd0b94cd1311ffef4c0c57bf9392fd3347a08bb99af9065bff28bc291964e7e7522d0d8b81b8000645012bf0d130d6138be5486dc5e9221a520b0620940b02266109390260e4499a092e20b5a4720481f3a59489b400c02a94ec72a09a1082650270331f4a0485722fa680596225a411ba223ef6fe04d97a4e31043a34b0c5f2f2ac720891bc085a431983aaa0329751c06c54bcfe9df1330ca1f9cb647648cdad5c6be7a79ff735fb9bf0fe7e3f3d221ff3e601e432fb373cccb2fb54c9b9687a4e5b6bd21b3b1039ac97ae2fbc5af11809717e073d701c022feebab7f4cecf3e73a00b8bfb0b22bb7d1f5dde668df3d7c46fd5b6ac838cae3c1a91edc9692090f3e95f7f660d459b7d09688393c5a1c87906a20a3948a92a867ca5b19aae3e27a3727c9c89aa103744f94f24f8e0718cd7b3c0621e404982ff4c7ffc11708124ef910cbd87cdbc1b97d434b98e6571da298aa17c98beaa7052786aa583126fae553b26da1ed51511bb04b067bfc460cac82674f6d65b28a655b1a4b251211247ec8d944240457246151ecbb0a296132c7b16cb2f4ed0af2f7f9d2e2344a797c54fe12980aa5c4ea9306539fc0dcaa097e8f4fc87b2e446867d9de2cd2b5ba1d92e753ee9e6aede82f4e4d4c87830723bd536200034d97fcde7fe86de6c024b76b200f8e8ae2f5d048610e4f4bae7111a63236f810e33d80b9c4062aec5ca2759babc39a5e1140ad94317b3ed342012170aa67f34f46780dffa0a4551f277b77d08c97674f0295f350bc71549901d72e548676bdcc3106083c644999f60288038e44d244742dae7ca7aeea3004929710f27f079c412eca3049bbee0733e846c626bcb421ce74f02c82f80e4b01e0190ecfd7de756bb4c727b685f2391e93d6056bebc5799ec6b86d788c4f02d2411e12aaa8d2bb7c7ec085a2639f8b5806d155784ea8c56cc1e5d66f504ecfc191f1170ca4da3c9babb0553739205e852d2755c1add8c1f41d1bfc30f90053a03ba93cd33547608296f28a776a0062f8925eedd074df2e21e336cf27a07a0b3db75831841bfece36bb64023441bc7aa8102e34da1db38421a8dd875b22126b777ef504a8e6f6ad3e519e06bf0c2658d0d6c26369e44a392f248002b540a07ad539ee07931a8ff19fc6b466f46458d569bf1ee57c13b61d8ad94f40cefb0641df55ee3bd2c3e6bde73446bb0d09ed4a7fa633a2c88de5a309d44cea43299a98febc3d172572ac544088fa670488b6f41005780e679105e941d79a92c4edc538a694d53e6860a597ff06286490b08d76995cc90300a661b528b4e84cc80cd2c832f45d0c86946c650e9b5e3ebf248cf3a319785883af5e98e5cb82b0d569d748a0e0c0097c820e1a277319e9beebf6bb7cf5f791e2babc624fac4b41c2a081ca4125160b078e1baf1cb446eae8a6a141f246e22812f3ff46b7e7dd8ef958f8352bcdf42be5bc9ccd6dc5bf81586a6fa817e7ec50ce405fc878e75503af7c04af6b152e0c36a2a60efe721fb20270dbbfab03e51e9497c69fa43b428ea19633ad761b4a1b82ae469e777edd3e6932c9270140c9447b66bc9f0fedf6eb8d54573949ef2013cf5f6ce099aa39d957187433310f0b984c898b07926288c50e93412003177509062785ba8b6c1066df9db447740af58dc7ddef748d62e810280dfb31b86bda2bf218a397bfe5525eee5ee65b9364d90734ea2326f993a8eee1c57587d0b21d06149714fd6a712cd01064e28f013faffdf0f22fec15351bee8e2dcc8c8ea2262ddf53b8b9382281a0abceb31c2adb4a71a8acfde79f176ca628c2909a7387b815eb6458a660a0f88f7e9dbe0385035a071d9d9d25749e8b23abe0f6cd1efee1213f72ea6b63b18f022b6fe20993811577ba3d03ccfd06da47148626b0d7f32822d75b58e38f54809ca1d932f7c22a859993067ec6531e8fd165c435c2f3adf615c52f1c934f43b9685d149c1f7813041ed84f968cce5e7a3bb2dd7640404a5401f687b63638e2ddae6e704115fa6033041ce0c22cb4522ae2ae2f5844cbd42e2835bc6de6e9137dba1791738a7219ec56b3e08375ee616ab0b4709dddec7c191059e7d7d6a3f3e3ba55d13f3e644dfe97033e4c15e80cd69806e9eaa6ff30750753281e263cc5843a952e13ae172378c8d92363d6afb9e29496dca5d536afd71d92fd26bd8a077afcb31fc7fc4235d23ab7d2976d2339e26a8fec353f32491915661fabd3df9da71b4bf97b20132e751e6bd0286ea478a30e55cd59aea55a002bfe7c216f3bc12e1710d68bb60bf0c34f5c30db408ba1fdb69264e827fab3593691e69a02450c410350c1483a06099fd1039317c909376d555629b1fcf050b931d67c49be0ea330928da52d3deccc65b2baae022f3b0f1b772db2d97a8e9fcb0aeb85c661e93b6a3e7995ffb3e652e8b1547d27a4436d1a07d4080bff9a051a312893f1a547cbcb999c0f5551d4d9953f86737aec6e277240e0aaeedfad5dcb3b313207c82ae00c2f54b42a9a98bddfb6cf4f86a3cfb7991fc9e7e3690fda50252563e3983c4b34d7c78bfb30da22ed6ee4475b3d376742c83e4a5cbe90a1ac36b5a6c0052b63cccc82ebb097af8fcaaca04cf2b68a944921c30507b80930ca2a84bc4440152218cbbf21f7ebc496c21992677d7d21635122eae68c1ffbfb871a807cb57cdda30f5c0f3e09a9b6397bf9eac572a05f5ef1eec33e3fb56aeda30b10d1314e4fa924aad463b5635619fea58617f3160e2532d6362e154d1c2bc43584ae2643d35f1dbf55db3e2d61791459315dec01d834447f95d08b8411a4c43f8ce65f3d27bb5bc696bf89d90252ce0f477bb0c7a27246503b36c176acf28b250fb94e641771832074aa37d79f9c4f034d356560a4210495c9c726dff14a25323fac7933eb45ff5380d620cf81a283c74675d6b0a02491a6036177ffd103c41c8c3b3185f64dcba09308ebb4ec6b97a8d9eb78001a4340b3af48d7253100ff3380aca75e17bab6f59b42aa5457417038b8bf5086f94091a8f26fb276e428a930235c013dc71610ef18fdedd7333769b3a5c20112f28814bbcc023b5d2ebf712db7cfc9bd9b90659ee9e50599a0674ad803c525bd55a6fad246f4f4e555b03519edfdb3d9459548cfef0495f46393984dedba08b097f0e372c805c066e58ec919b816e7467069874f2e50b5fbb0aaa2b13c92eb12b50b884329c4caa379053907232c1967d0969f3d9ecdc98e92cbca02daf523a400990f0254aa8819420bb31c886642276439a475a6fe9376ea0e6ecaaf550e99c5701d379306e1eb4bd00b1aba9313fe7cd622fa4bdb8f8a38c01cf1e49fbc8aa2510e59f2b984a9111e3234f7bbdb037840d5c76eacde859af726d0f2c825265d14de7ace3f42e69b12323a2e052e3a33b6d1233d18171a3bc1d836595e9c47a9cc6d150292fece4ea05b2d495cccfb68a66b7cf5869c58d486aa3e8c20acd3756331bbbc8fe94566eb713d9c99d38b150343d2237acb3ff558c3a14ae43b407f572b4dca67da2c804f6c0f7ec68643039712e344c16c5f909166c6d74fda542bd4fbbf0439d765669cdd1f6e51266651f46c43c98efd1df9621179506c30945f0d66684a39ef35137e4b0b64993d2f35b0ff81c17ebdfef7ef73a755ed866f9a2c8c49dcb6b22ebf7f0f015f89633f0e2b2a3af3edbb9620339c2ca28241bd15bd88dfd212d1994113232d59c6237851c7a4ae17076d9041b23da2129dd65df1ad63008fff39e24d604b268a40ffc72b377a08a025f776c7a24e8c03b0959ed10e21a3b6f99a9ce99cdf38782f60e11a4fc1d9902a998a3d7c83fcafc73cfbf3a75c710355413b48bc461a3a7f5146bdbf47dd93f18fd24c67291ab332455122bef38f7a9880d8849d213b000161c50cc74e2fa58669abd724280ed29430d1ccaa515c28756fed055260199fb2d10626c5aad35ae7af909faa9159919149c0a72c69c6ff3ed67a68c5440a208be1ffc125fcce4e1aa46ee7718a57a25e3e95df2de9ddbdefdd6ed123ce20874f7a0e66c2b1e5f1233649b74534da67898b0453d0a26038f8278af04fe6088af02d3781cf4b36d98f893033c8a0cbb82a766065b96f42b3d9cc9e58063f3647e11d573ab5d25d8976f2812f003ac3c6798d2f7d73031280008d978cb0fa1dc07d4fae63564860d8333265092a79935bb50d6756c040fd8643d1253ddc5c10b49633a67fa8b7aff28c4e048534f5c666a8c8e156dbbf47f739504e51851f2c62253d097ccc228a8fc58b8033310b560840ffbd64cfa938ef73760534741d0c371d9a8be1dbe10f1ce5bf232b74e5bed766fc39d67346e8ee640694470dd22b6e7a8d0ce17a36b61cb932829aa4e7b469700eda48b0a07c9bcc9e805691230d5928da47aac2dd50c795d1ebe2758c2d1daebfbc27500cd03f3bd6eb0d19bc3fb9302b12b9634bb7430f4a08e1cb60c5c5234a0ca9df25cc031ea5ed4406d90b1ad28af10a6c2d62548bdc6f858aed129dbb66f50807852b1b388fe061dd2b256127e728470cb073cb0da82006c26464452b5da6ac5d232cd5d61dd66ea0c42a8e266ef637925a91ef136736d1b323a428485d92051134d0a372bc134c08061a38ed32f69c5f651e0783d9f99ef8b2da6fd9a9cac8acaf2b17294516610a3333dd8153fe57204a7fe52541faa21782e18eebcea89bf26a36303f02440564942c0e0e883c73cfcc9997a289ccebebf45ac12c46f1ab1fafaf610fc9fb2cf7fb14d27f7571f09f24d010dde63b91f843f9d8555c436ae9a03c23de56c703a2971907f4adb667b3ad85724f6da76565e76e47a2f3c1af15933acbbe1d6e359dd61029765cee661209d243ac13a8e056a7914760a859907b8a277e275783b597a037c5ba2c2c677395d55fa33b62f33aadd149ce6a778f51962f4fb9f92fa9d893118473a2d534d2a5432bd160240193c89197249811eec571746ef4e9a3d541c308eea9ab1824240bc20d2f91ca26e221196da8e732bc91681f1c73787a17ec5f03bb7b4839d6beffdc412bb39184eba7a378f4f8efd93cf528b7487402d12c86142e86129e66b9257e26b8017b2749a1215b768b6c849cdfb5397299824f647e368ebf2dfef8ae334ad88ca82b10ceeba051e1f458ca8c41e140c137133d35740a36fab949e861b3b05ccb8abb69d3c14ecf0503ad706721ca77678505fd401e23afa6b6e4ef619eba33e83527d958b00c84824c1b9f50bf0b02640ab04e168d06a07381371309dc6e7003e976ff20f4f5dca73cb1a71e893003c85772b8491d196f773fd68bf217af2e8ae11e4935a36b92a260ee1be610a097a6d775861a4f3acc25985c838f041411134e5b43886700fe2606e876d528bf825141ae424e591655ba474426c5b3a491632d9824c0536755f473d022853c2af200efef1738bd1bafdc0775f213ac7f8f04e226d612e9badc56f50a7eb74d347288899b38dac336a2c2b7895121463833fda4c95e52dcbbb86cf408e4bff6df6251828f484694299e4968f4301dbda84c782b2b3430f72183935cced2fe20f87c377a6d69037b2dd16d7056887a92e04521d07e1010c4778d2a42934e4ca377b56686788b021f1f6fd0b9e62f1ef8f78ba10a41dd8e6b1ecdea09fb96ba6aae6cbdb91b38c6231b245dbd2634c86f9b6d4ad51fcccd61d7c9e1fce277616903e0a8ddaac4af4e3d7c242e954fd2f12ffa196bc03cfd373af6795f2e240ce7fe1f4fc85d98afbb333ba7542b9ce1b2074377ce4632c5641c610362e53105f7a1294fdc403dc447366cf02f49e5843867235ebcf75edb80f78c069743725f9e1cfef198c4c61e0a39672eb0eeb661af6c5a8785fe1d3b6437d392f2ef273fed5195989b7b25e95f043701026100cdb8ecb70b4afc0b6cf7f08959f0d208d41fc02e401f260e07743af50a63f1980f9cebe27c0eceaa5ff590f102949a326789f50bb0b76bab6fdd353d42ea65ab3ac12e29417b3468a13f265ec737bb86d4dcee04ab298d8c279113ecfd9ccd24393d7dcf9ffe159c5332e213ed8e501d61cd1452b8802da1f73534ccff9a51afa312db23a2c00dbcc2133f7feb2ee56e20222c2f5cb7e00b21391d45de797bf028a1d0161252a76a006e218257aef260f0f944cf6b16b52ac83631f3e187fc8c831cf3ec453dce9da9adc6bb52d2cb49817b5c1ff534341a03b115ebe7d33b2559ad334a8cf57e1f32a7eb7592933394ef21e8ad37f746b58a7e1295ff5078649accef9907697b268d6e4954cda63a1f0ee426210d7109922c45395060045dc922c0834f001e5f211a3676744793b117fd815ebde2717861c0eb3bedcea277bf51bf72d330c363f004426d97e8a8486d147566bcfe38eb7bfafb322ddf4e00903a221b2b11abba7c811dab4bf2c1a9ac8a3da59ba3c80399a7b00150b37b0345e5b9aa854aa852b458294f28c5ca6c614a0edc35350ad770ae6805e7db23fa1724d4c7ef0bc85fadac675a60c3915d0643a5d084cfadfd94c51e16a673ce67866a8d0c42081b206e1451c594dce7de896de1e48894780b9745f032bd8211a0575a8ee02125db42a9738e38894dead00c0e04fa01102ddcc75f831e7d17afb26b4413035418974d4c5e72344efb222024aead6969f11656714cf63248e2fe7b90bba5f3b5164cc81ec7ab0f8b6b53f6da114e30d225090cfac1f01c71d7915ca3981e7ac419dfc9e796afc4285f0f3ac4672ce93c61ecf5139fb43b961d2f01a940e8d75e62839ec903984565f1d34b645e7463e990b2b4791afc0a4f6f2fa294378a3c0f01e6f4e6deb73e148d51acf4c4323591e1a58595a23d370591ebee03f3429e237054f050d20a8c4f4d670a281416019e9cf365fd11b43239b969a45db74fe5e8694c3e577313967da04b040e1d7ff675d6d71b0a605607a5534e1c1a998d51adc3513eaba1b1df530e083c7608b0cc25565451d734663864135dc331196907c50778bd0816f6ed6f0925b870574e7961ceebbcbf90d93d5b4f3c2f908bb586f6b1bb1eb3d5d91975da6ec1da5a3c734479443593a5b737e3e1f88bacb76ae3b6c5db81af66d82a66216f35447e7d58c4283007f487311d920c7dcbc0136ca0f31b52c442d8c09cae298ec182a93e484de46d087d672501e7f2df515df23fed276953765807c0b61e88f52bbbdd0a2ee4d862ea038de53a5b2561257ba112b5e461828472aa9715610abc442a963a7614365d9e5b75452acf4290c43a0838834112701cf9a5182212656b5a3c4aa0167cdb5df21d2c603c903697dc9e2f0d762cdcde410f2658e5023905debf9a5b940b2d7c37be6a603d952172558c9547bff0b932d6de3f7714132ead8cba7dbd8ea4b00e3bfa87a43df7e0fdc11cb80d8e7657ba65f3842efc17de7c6a126e9d6d0b9697cfde0609337cc023f0caa9b6afee4c17498fd2dd05d109495beec9f17fd01391dbdc0e11067bd20f3128457960a21326f9fcc8cfbb3bee90f7b1329f35845bdb521200ff3b61c92128e500a2ba8e6d7fd9a02d648d25a77c4e08aa99308371f34057602d2946879f8835201c7de357ebd09c5bcaf1d987558aa19e4fcc6166ad3988e4db1deee6196318d193fc63fbc6ad30becb879fc4facd0fadabe5959d5a1136bc52121ae52a330edc5c9312ffcd307d8b3ce7465f5505e1828fcd14baf4099672d412b58436d8dcb8c633176a01b69e20e16c5a52c2bba1492e2825640a7d25b71e146fea28194a62ef0c08dbf1460cb7aa0ff6a4ab919e4be218e3640cb860d1c807cd9fbf3c566c9f0a58e590f616a7d98224fd9dac7d3fefe25c4c89ce48d5a632f8681e37527f5d50e6dab15158934502a8880ff68fe009b6559d46866d565738bacc708cb51e294e97c41eae4f73e2b7240c1f1f67a5a8c10f017d65cc7c500ba08ae5493b56ff9520168e11429b9860457726bce03a59a8bf974f736f5fdb1de4d0a526f42562533dbd07f300e5e1e7ad175aa412e94865abcebf45d8345c2e5a5b8acf5bcad18c488e0e7d7dcbd9187ea78aa7accd02dae0c08613d27cfd3d24dde01fe2de156dc29b33fe20e50fa7cd348f5dedfd101688124d8e541d1d0416ccefba83e8896b475b7b94b681dbde56de9ee3c967e716cbd7c66e0b131d30f8c8344a4c1875adac5cf7be58a50ae99a6da41d5b5b453f8502bd122787ef0966596e7279161808ea1cbda14ae0dfb839f361acef93aee5191056aa0d9a001cca8ae84d766e62a9e16384334669f309a7505bec03aba87d5e5b5b765a5c0911e19db4b5b8ac7d89ca7236d7cabd6e36d9abf4e4dabed6f0af73cbca1425ac3789a2f4f150020ed4eeabf5a7e0af0c6b09e73e26111b611fa493d76d87bd7336ff75bf801c3a92615d9b8d3797b55a1ebfec158fcdcf207c5ac6c9a3f450021c92b62e6f908222150e35e99ee44a55011e176d4a92c482e530e3358287bfdc143142ab74c39fcb15c6daf0b42627c2135cdaadb1e95c01f13ee8e9ffda537b0ba7e951eee9ee3691fcab466222f6b280b59d131ee91e8ad6aea0d1d99dc36a1bb681b52a0d2d7b40a4cfc8e8a52394abd361f10a5a437126bce92ad84c46362a8d325d46174a50725744736563f2ef28737965a34d2b8cabe6bb788b802b71111b65e53fb5fa9de78803bebbbe6763c0460b051848822c218ae3bb72d5eddc3639133044fcaebbbce5ef04b7ac7bb90c6a22de0a1cc5b75db9479e0bac43493fe6e3891898b214a3c67bcd1174e8a47887548c6b807526e8335fed5a96363423b1b8c12296b7edcb964a246000de836bd84050ebf2e04889e975dce8efd68b3898afa71258f85246a1bb7462510d00d135644c39e47b82c8febcc4d83fe3733b460d3762c72a45fda82f24e937caa2af01116ad51d1add4c6bde0aaa9dddd0030b11ebb1c1db20f23104c12f6ee645d12eefb237105a1a97856d899e11b9df0284740e9d5a1ae730917e4d593d69d8bd96a1c1c1789d723c0afad95d20b3560aeb46007851963169f44b2e36e9e9cd23598cba7a3c63a3a18b457f152e460916251bf283a93e92ad109b30403c81f7252b86eb7b9729ccf6b9f1ec5a7534340e9af6a7ce2d7f3951fa16b39ba6f9ab08b983315d1f13acf529b14138341e473062ba569bde8436a6482a249bbe160979c70ab3fbcda4ea6c6da711f49d1ce1021caceb3f210558578c370376c34922c9ede0961f649c75c442e486f070a07d05f4fe83c4f3cecb48f995b6f2fd983f532ff04695cf2953719af8663c15594631471cd184e80b0283b27c0b92da1942bb8366b6499e19779ec11d0ab4e385aa174a695fc18b33c49428c64f4a0e7685592f9b8018bffad69eb1ec662643f8d40415dfa5afdaf4dbca4f9a17369c35a8ea32d2b1351e23b9a69415221e711071029de104a93ad635069ea049ca1db3370043eed1cd64ec7c9fce0042a74d74a9212f30e242cf1f355475c7cd566b71a70d552bd1846ba982d75f3906532d9d980847dcab92600ae8cf7aa85f17cf1ce3094052312c6c554636d47aed05a28aaa1537248e584e648be9577e15d48191a0f1001a98ad370810bbf37bf09b5ffe130dbd8ccc2163afa918b0266ba81b6024a4f391f8dd65408d037735ca9db85731284569546bbd575f1b883d9cb2c6db8a5a7b9c81d5b4aa234c0bebe4d96b4af225b2dbe57e7d2009cebdecb3954477aec20966f5a2fc5ef53ea40c5eabcba6942a9e88c712f75d7e048e3a1441d3a4db0c1c1fd02c1542117543c650dd40ac2519d4b1d8c6dbae91738cbe1a523062022e09952ab6a3c1e07d106e12c9b39a3d10ff629ce5452f4db26fed5dda105ff0d9874bfaae9b971090da5069ca3d632b15f43ff659b3011278f1cfbcfd65bdf5072ccc9e73d045a2a2dcdd29b556f3c20046c8e6de92b05e10d56b6015500a931d665386ad2c2cdd553f5d0b8acac2db1eb26f4658e3adb6471963504ecd3a3533ba8a163e046a45e9ba4a33abc3c39c2ef2a877230426672e044170bf0fbb9cf8411b7510187c4afa507b221714c85412088da93696a37db60579c9fe46a40945ea94c668eb590441ce3aa56670ea6d0772796316c7ceb6c6f26c6ccd9c7d575376d90a8a53125d255edc18daeb34e733f6650c197a1e95d91cf5507a1424a79e01246c64a73625c9a03d80e16802a528d033e80c2c3d7a9053a72c4acbadb5ae2f18edf699792c8a65dcba37b6359f058aa78f20d6461fbc682f4ba7d23a4de11ebd93b076e0c0b189a8948e15814c0e5facb3cbb235c685a61bdf34c913fd2f882fe7633253ffcf37fa3e4ee813683074288d88eadd0684d8d58e2eaccaa62b77e41f3196ce2dbbda5b086a4cbf831a50999d5764097948dd53bdc0e342dc76cf0777c35c2f2ffe4d12cc8a0b15b8023a4eea7c2858d8cda77dea1e7630d0851634590c2125c2c6a538006afcfe502af49f4760022b76319957129b69844530d654d6838302724e6e833c1f96a6412ba5f3a7120f93d38f1b8fbc06755b78fb5e264330b8d507775fa8813dad4b6810e8921217deca30f69132af809c8ff602270433a8a448febf4c35ac00b3cb61187c11528ecad1a95aaed16d2b36cef8db869dedd97ec078e4f61e03ac04e25824b63656f1dd491f07a9899cb33850884093b8a5de45bdc339e861656f553f4e22167f9f81a9a4f43be47e3a2e23217c50eaea0185cc4786e2ab55eee1891c52299c78e40144c24c4d47a6156bb4d3e878f4805bc1f3808dcc0396cac3b12f260c2295bed52d98c78d8c804630e8e399dc578fde312805b1bb585ddc37b79b061d2473791470a709f8000f38bceac29738edf32244080e3f8e90dc4cfa24650105c917ba2d109570b7686e184541d992358ca1641d99c789a918093760ce3f830d81edefd63a5802730f94aee2be013063924f7ce5b9b0fceea9273cfbdda94a3f4e799f1b37ec9fb8e358fd8f2f0840600eb6a6f5bf77bb7cc3c5b06b50bf6c2c3fd1f9af092e3760abbc6025e8cedfc0ed1826aaa9c7f8ece1ab2c9f18e73b2e34b9660e1c48e1fd03d0c8aeb4e6b50e02524721f496478e8463dd4ce7b2870602fcabb87acc5cd901fd3d48a0d85aa3a76b5609e28f9933c58a427b74bdd63346630f860e821241896618b38a9e4e7ca430b116bb456b412b5bb4053d686f3e0abe3b9f4600e535a760c79bf0d6da888feb02a6df0d22327789f5eec8bf613e8ca2c7f0b07405741558593240695a61349608744422e45576a9900ec52a4d3f633427e0a3a3e62a746f56364234a2832d89ddc344d587c943acf981e0986c0f5c3b6b605e43e07cc4ad262aaa3eb6114de0bc370113eebf2006d93ebf0187018cb3276318149dd62b88ce6b4fb264dec4ffba5e70bf8efa9288064e3c7af31717372a2b3639c7c7926feb931cc5f76c850fb19e1c0bac3c658cbfd45d88ee048dbbbb090afaf0029a1f2eb19163d8cdf64fca5038010bea9b770a88dc1f2d039613a020ef23c976196025e97ded5e45e91c6c06f20d48ecc95f91f46de70a28710f8ec7c49f876386fb7431ced3d7c893d9aebc9d41d27096faaf8642737606f32f0670246f6df12eb3a82c65fc0fc270999cf84a9afbb8d1af4c10f8984a3c41c6e8a4301457af5e97e473c110c9daf44fbca7d39955c523fb4486bf267111c9f58359a9d0dacddb909eae6d59f32ea7271ef6fa1eca73f5f2244c817fd72ef2163efd8149bd95bddeb9ef4da57123a9c7e994209ca59c2a6caffcb336cd28ce6597c49ae43f5dbc3e5076df58f5e6627873f1bdd8e0cc3abd7a358474ac24eef2a08506e2ce051dce730f19235a2621c38011ebf49b675cd4fcb5eb93f830b8daf652bd325e01e7c4442da3704553a7629a8a61bc37aa0c41dba46ce661201b9492b9704e6cfbe2020a8d4fad52b75a115feeb8145a15a5fe3062b08dd53f2ab1e601d570ae0ba5df1c789a0946ebca73b49e238b7e13f2d56b7ab551773fc7127f6f7a8a9abbf7976904ac3cc053a585f23bd23fcd2aa76bed8f7d855905b7197e972feb9dfc56f84b2d0cde772a6ce0f91d455b5c08cee827829cf878338033937b399fd8d000b8ff7a961dfba740cc342aa35fb96ea58fff570fd0df2ddaec1d42feccda44461e8515aa37f209b37c505e048b3372dfebbd469d02bb377de4120132e295847e9442905672b1fc403ac4471a12bc1da6a95b1dac7f9d0ae9037bcd36179595750083782106b3e35070493875da905cb308758fc77a0d3a1e0029dd7fe475e8c12326df440cb26f1462166cd555a422e0f560d40fac2104be35de8c814f9d8f071d1ee861c48c17e1ad5a6ac72fecb0de395af5efa2602fe760a6f62b1a8172a54723c9151cba0b4dfb165e1243223501c5a1276b82990f172b4ba117c792c2b931b05b09748ea134cbb6f33df897c7902476bcbee8901beb46171c6a4064d0be19be4f9259d195c6a31c9e0b45cffb22b32ac2db00931ea1712e1eb2292548cc3b21537167f25a2d9130853a57a4ef1150afd2a7989330925e5a3aa773d6a06018bb7410e78a115a7f1370e7e1be180ec98c1c7899993893e9f17aef303732ef7d3f3cf17fe8f668402128f069f61e1c94ae0a04aa6501faa6bb599d04085f74e355a8ba5b215df3c4540468ad8a1bb93bc5fd11628d1e8ed50dd6eb9982947f3b24e8f3adb92efed3700aa64934c1215bfc2c0540eb2449e7f4cc69fe8793194464475ed614acff0d37b3214f91877149cea2dd6c562659c04af2f82e79cc132548de680829e54aaa2b7f7b8d8cc8f121189fe9255c05975ef556996aaa6a10698af5a848a51bcffed980b88938e3084ab40e8d08220b19bf7a8389a2c9cf197803cfbd7281b98ddf5c93d4826edabbb193ece14e853e35360eae661c95d6d8b39d2295731eec571cc857c3c58f16c58bd661d8e1361bf629be219eeee2e3a3858430f6734c3017a37ea87c56eb5a91a7305e63022010fc0f73d554f19f2b73bb3c3458148a3a0a003299d15e3d0cde777eedd747e63d70a8361ce9ffa87f91ef76498e4e271b01ab85bf69f2e1515f935b2600f5a61f8d8a8829851d177e82a7db7253e212f9462b817da488c8b451d640f068c19830f553f43ebee92f2a9bc027374428b297ffc3122e1bba134e598b4cdbd663a82d2190945f3a5fdfe369b29a42b06aae25cdff1b71ce7e10f8b4097cbe60606e20151125d15312ec31d830fad5dbe8d5576fbfb178a6d68cc0888fd1821eb82f3c366acd64ebe379f6a47ab372160054a9af8fc577b6308fb45403ab76abf87c104cea08f9a4420e0a8aec9368b3e227ac11dddfd2dfb1a8476fc3b8283788dc1fc17518050a87b2dd4dd2b012ea1223aa18bfee82360d824a2c87963bf94de40d7577847f732469033d98649c7cb5cc61515f0bac144b27b44bea4879fe298c2ad8ab52caafa6e304db5d0336eba6526914cf9fbccf65504538603566346b273f2c81a62f8aed964ae0f02335f92364b525ec3ea2062a2af60eacfa324f68a2215254e3460f9300af4643ff8664a32ef4e1ee04ed4191ec8ebd3f1294b04afd04b1da042f99823693a05ce8e4faf94f30af34565d74bd039720fc81713e51a80f867544384935d159d981d374c3e4284a3f9af17791c1072ff1691631d44387119099a6b4b167417d52bcaf541ac47665a4de84c338a768a0f68d355240af000fa83a3aa853728441cceafde230e551d25801ee7aa65019b7ece77b8b16ccad31cf93d93dfd1bcf9de19bdcd177c88d7510a782b8d132ae8ce25d08e8932ff7119c0ee4f4d19221646e891b06fe3ea902511199a4fa02a762bd24ae7c1fdb78107c87086bc4b7681918831a85ebe9601d609e24c011e133dbea658407e4d5923ee29f65bee9366817ebc58ea3746211e3dab5025f07ebced1dbe535c4a5c47c3ff199627c97edbebc58ef8d8716757419cd1d7bb9e6b6b69635c110487116492c55aeeb3ab7f4372eabe89ffbcd0465fb1d0604a124c9e62dc886dade2bf54613073c5ca82d884115acbec609f549966edcd63749636533c27c518ad0a4c942266ac2d35bf18f03296921279148d3161a8d16b987a566ff75445977192c1e5b10b8b46fb5352ecf77e268b843e47aa62aa8b256207385a365f9163d3ac82cbd2caa60e07165216ace5078a3e525b6eaa328efe4b7b5e7e74114dee9018b124b187ea3008dcb1a26383e68b111a2c1cc725ca995844af32b446c13ab4e64c2412d43280046557e719789726ba17d03c884ebbe17e561571e92fad63ae29def251acc7da339b171a5dcaaf52a2736d5d646966bf79b4575b79560db934e682b23201fb2d392f99c6bf330d85b54631fb332ba9f37fa698767a07eec30a6e7882a10e4fd8a087f12c32a1649caad1f2c41e56e08eb168cf9392ff1c077cf84373134970111c6b5200d5ea39e73c3ae584f4e5c1906c4af382ecef1db8f1eb6ed231b9d6f84f3afa469cad18e0a135896b058c8bcc5d623e84a5f523674b993ba501ff2d342b1b09f1ed9e03b500380148d4a1258b3d49244d0359fd543febf4f1d06dbfb730f1ba26d246d772eb31e7455b04b251f609f502fe7293606ccf4148e11da605645bc0969998c054ed29088d93b4bb14b54b632963d94fda71cb824031b8d4dd48fc5e30279a9bc3b0404d3bbef7ac65a3d78fcb58863bdb9a62de4511a141c10b8560ae742bac9ab0282ae93c637b389a46ba6cc1e2180427b177d4527c34c36ddbe24212e38b7fb8947919a1d43d60e80893655928d113412eb686a2621eee32058ca0fa8df69dc96b2b80823ea09ebaf1a737c347b1322fab76ed705fe6ac2f04f51c14ffe46acf8edbb573f31366529b310d6c2cdf646b6f96a270ce73e51b3ec783e8f6c6faaaccfd4781f4a778bf715174eee59d639edc6fb9632b0acda7192900eb9a5a9484a9621e21448622480725d4d0ec0b782ab2523a20370db7e96a1d0bcea57cd398e2ef08ce6b0951f28d5c0e54b21acc7dbca3fab1d1eaf6fb748995b070c3ac7cf301ec7d68d16d556019fff88b024dda18fb6d72687b14c4832a8c578ecfdb0f601cc4323c199c6ba94c859fbd65e22278ea02b21faa62ed990bcfd95139c2b36c13c80e03e64334e66270abd7fa53835334fb709112dd6c565301214edf0dcc7a079b5858c8b8404bb5704126fbc034371611d3ceb27f0b2ccc40f28daaa0d8a71324ebace50ea61ed1a8a3dd17fc77037e8942e2d951002b42aa239ba9d0d5403f8f38b8b50b0c3f8ab792312e2782982701d25270a994b7cdbfabaa92f18ebb3318acef287c21973855e4bf05b473e70a7aa19b792f29351a22e76a4daf6d6b51465bd105380fa97acdafe10926a1ee8427b26a91156103358e10f3b81e51f2e8879e35851356ee6d043a194e3c455727e731af098484d5c86cc4561022ac9eb2f0fbbe6fb424cc97045fe161a281cf0107a217c97029136a3b70cbc5baf42d7880878b3f632b77f47b754a88962b0ea8eec25fff90e1ab7d1bb414652a2f8ed2a784b822023d8297cb30567ec73f77858d4036e7ad8d3e3e62a022963ec058d22abe5e26c3f4ef067c0c8887693f4434d1516db1da4a56038f2e100deb80208103625bc28c6794c280145860847f7bcaadc2b4ed3085282447fdd59c54b83bbd7b14afca282d37d7975c9d8b7a234e6d42a06aac8864ac92fb4c54fba3e1174eea5cbff9449c42e25b77d0c975cb9441cde178bfa1303d5ac1d57392fdf89a04509446bfcaf0d5f94ce87328eb8f12548fd1da9b989ff84933228f73932c6476d4f410e0b6b30a8eaeb2e0c9cb41799d9440214c5d7fdacaf73208c76db9a8e817fb5820cbf19d273e9ebd40662b292305f1fff129ed02c74730947049f3cf68c46dfd00c31e2b9f9fe95a94d0f1dbfe29214d595a620b9ce1bdc64155cba69529b7929ab38ba18eaf40ec04353bac675e83b1210ff4ce9c4709e951f44d2cc440ccf864020fd4204892eb9a452ccef50252fde05db9e50fa40b3d540c60ed39a2e840a5d8dd32aa9000b4153457b5083443428fbc4949da4d61ded05d68f02a6d93dad4c95a2da0b4839add8887508c9a8367e67c4af7fffa487a74cbf27100280f76c9e87d1ba2443ee0ae65c54bcce2e18d99a2f92b70e445ebd613bc47950170dc27e890d04d866a36fa79940993cbc0cfb56ca0cc2345b652f71078d033c1203453e595345f1c432ce1e02749bcadb07a72574840d3fd233a0c932388f7829dc9c1f398478dfe84d3a684c47a9a9fd36db07498ad2b9632b7b8f93d181b625b20f92783ebc7ba931a9ed9f7856c71c3233b4db03fe3104aca9ff31677fe5667c34e3c54486455d1b5ec85630e9949932b5d03a350a0a1512e6e38a3a63d169e9e94c83b672d16dcbc173d229cf08bc0314c1aa34fea12cb9532b7808fec23688100647e2dd99b625def365b4a441be2d06f85040789814055e8edf9de6200db2f4dab8eced698d0abda8e85b6c59af02e855d4aa5470ae4ea55e604081f144cceb7920220e08a9990e12f07abd74d308e509fb9a6e990da0b06e3f9e29be2cd330d91baa4e400040ca99972778a9ed210e990c9c7e298f551f0b40ca4db363b612d4ad43d9d5e14c2b13e38d6506f530795836c527d3c295b73a11d98476d883e797b403bf5ddd23b31da6d47c707d3e0ed832478ac9b9cfa94c1decf1c4bfb35ee603aac3007ef21b01c51209472d34e3847635af5ee56b477efaacf3c2ac48158fa977d2ee8aa9f4ddbf103ce72f21704990012148990944120d5ef829a599bc198cacf9f890b88e92bf302a222822358ef1b446f6752d42940228afa3ea027e9792da84714745b215fa4e4fe5b914cb6e2edefd32566f7223bf97bc9a5b0e442e0b99dc059c9c07cb83480bfdc733b3a3206195224405cbfa934b9777bc66f58062035e37750202652b06c70a3402cae6091aa1bf508ae40ef578716242312aba57d3f00b183d7110669ba2eb99169d0665a6374c87825ae8ddb64518463d0c08b9a42c8076bdcbe746b866aadc12bd881fdb8fde747a6d87abdf990e0c0f3433f4e621d17551cc5a114877f913284ee7fa212000dad816fe085a672ca71513a0b473330e2a0d68a1c1298133703df9cb1f8f2d9d4b6d1cda9fa3675d705acb85fe87aeaae964fc21bdba7b6bfb0ecff917da79c24e9985d6858247d5ad80cef99200b980417f010e0188a9245a3f99fa1348f2cd2612133e7f6600ba4f097a93ec7a6e7ab9be698765ea4794a103e8d36585aa484b2b0807a6d7207e9d4f211e771a18ddf0d0de7eaaa2c462802c7ad83e0664a4f3da30333fbdb364031e1c22a1943a3b15812999eb1c25ed2c30e33501d1ee7c72b9b8758e1e60ddd0b1d07ae813d3d3e3abcf71187a44045704107a1f3df50bf892a0b04a0e85e5fbc4aad5d9fa9e8f8424b2899f8594308a0c5d8473fd9792c2852b2db904d99da4ccc41d3623bbb0845be192444a7088cc3b93825e5695a53eb1161d4145e4314878be43ecb9565d6f0aa2c5def96ccf2525a01f89d1e37bf1ac498c4f6bbad781776d15d04e3552e91426aac6d2aeb652399f0b0df5ee6790efcdeff5b5cf48c9b76f7306a90080be4c4ee571b245d1f51214b0fc32ac876720bc142e10602d7bc3a77d10f0825741671e39bbf613dfa614fd178375006c2476a47fbc05a2d41d188e4c18738cc22e92b4ac44d24024230f9ba146481789591a669070e93be7629104c5c6057bfa8bd3ea3dd698671a97050d33589696503e4dd8725444d9c64121db1615ba61b082cc99283e8ab81c3436b02e59b8078d4cdb2d76524df05f9bed797e44ef6b6d82bcc840ab19e5b10836e9ecb7e18e7cc6bbee032f782fad03ffb8d7c77d6e084430bdf7fe9c598b832cbca961b1ea107cbdf67475b2387b9e110048a19a66c45d783ec921bddf2fc739bc875dc3821223eb076f2659096053c9823feba8b8233e16f79eb311cf02f10a0fbacd84b5c8c7040fa44c557a71ab9fc208820ea2835e782b55337e12c6fe280be6a4f54db63ac94f9ab2efff453957bbf7ab72ebcd0b4e824c0de5d8bfb939ab9273da85744991dfd914e5d386fca16884db7178515f776afdb9075fc59f2aacb08de1d70e18cb7a64d820b908cced27c4a878e53d52d8e0d281bcc706fb2a6732874b33cfb71df36d4e045d963904c5fea91f36c39c170519e7ba5e88c2049caacfa10d6866948ce237d9ddfb1f9bc1738ba43899a3159a1a5db402becc2b19c1bf75c0771bfd8ec6038f6b7750951d465e12aea2a7a3ab69b7cea381300de3336182e96db8aaa36d4d74339a93678d69b3a73fa950803cb22fe252fc130fe187aeb423bdd2ccd5557e25f9a364540047e3f02a678d21d3d01c25af7ec205748d49ed5cf0babd4cc97f3e2c64ed0fe1d7e8c2f01d749628fc9ff0c53aea0c81ead3bd4f129952e001e3f5ed608fecae4898a8186f3352bbeb56af2a3f7a09b85770618130c6f207cfdf6543ec6977314b09d72fcc9aa2b81310277d048d3d967b82fc9a48432488c806a1021a3167d06d215ee10bbd62288c9bf1e2041816ac6c27b66a89995ddc2100c16f3e91e166a7a9de951a7eb700e88a572405b51e537b6277a8de1102f621d7c00e1330436bc865788bc3f963dde347dceaece328ebb8ef1a1a929e1f95abdc0d1b0baae8197ad46f8393c0c5a1f18b5622a14f090084ae68a4ba35d2ddb672702b930a9e5b7f676283a6067662504ab29537e13b4b5804964107cc9b4d7e685fd28483982b90d9deee4368cb52b5681ccffe9c08a3796ca3747eec832296c1b49ba04e7884b6585245d6c9c73041c788785b59178936c9a29d77b9681f61a76ffea102f5e066757e4ed3a05ee088fb4c964ca323ddf91f43ab44028c10428c25b81803e4a1240ba70139622d6d93d8fbb95fda14da83c4f3aca003b50cf28c00704fac62f78ddb5445a3feb90b5d6639408c7a30c135688ae1aad9b274922db8d8bf5624f2b793cb13a199c8a38d08990dcfbb08fc58de5349ead1ec5c9df357ca8f2546c4ed7351c93271f10326afed54bebb28668cda58fabf52e85fccc428100edb40828d024ec368265f35e4794f9ffe45100341202e5fda9d93a05d183f115255fd1be0d781301f2c8c1172ea6d38ecfb0d9490f07d8e2a22b99c8ada47f977583294808be5b6459a20d6edbb37e1d6830d702e7f333ea88297f5e0d63b8c8e13c331fe268e5d9343ac0b9ab79a87b96a2edf9a48bc014990ec96f99141f7bc4dcc7bbf6a4f8e26b94b216d70c4b38fad095444598ec1527c4ba8d6a06f4960cf7eae2c06e6cb9e2e656dcc302ff5bca41d2e99fff15003811f8c0555fc170e2cbc6118deb7fd254fe18b73488f10ad573c4e589f5e6afacdd5f695907beaee13e1dbe2463c3b78e3ae43b0c9c6a8e0d4011e713669a20a266b026809929a3ae5f3580462e53b11aca50029831f04708903a8c7e85ae680f06434137f99ff9e76e13829ebccda2d7ecf94687d09534bef13b4c111a8a02845c540d0c9af67984207f24728540529e3ccfa499e50aaf715341144068bbd6fa5c9cf86cebffd5a26dc2a749f0b5be9132abd98fe9b81e5bb12deecebe9a22b5878ba41bc1e1d470cb0df5b9f0dee04693fb4a3712a7d32700bd261100fb79106ad06c3dd7649917c17506c26c0f6a6277051ccc7adbeb1bb1ba68008d55be8ab2670aac2365f673469eced5a2c7aef4fd565f5d1058b8a6b341f28b974a2b65a09f9a704625a5254731b1cdea9e8b2c288207d292a1f9cf92b5a3a7c12ebf8955cff75c0a0eb1ffcc196440d26ca9f3819671a54dc71987b08a6c2b34739bdcca18c25a274596517426a5a6bc467e422913ce66e871f6a382174d67af655828786ca5ac704e695ca9aa8a1824866931fbcbf687072978e4e2a8e80285632e3cf755e0bee686e739c2b6267e4d2057c01074e26d96ebc2a250ed0792c1d488de40db8d147208abf2af4c4e7b0350ef85dfb06a6f3933352082117fea78be14a927d511ea387b382b4cb6798eb67df75f4f56b0a9d9b781f4739bfa1f226c9916d7bb20c2d296db84014f97e5254cb22655b035eca68ddd0ae37bca1e7365fc5fac97de1edcc6fdf8878e9460134589f74fb7bc892259979951bddb1fc12aa9cdfaca83ac78edfacb5762899d739449090157c380a00ad3a84104a692e045284cd0ee250352afab2788b193b5742d2b3cd2ff0ad6c4bf9a1f8343f421740d40aaf769926012a34ca7ba6895e7beea93fe9567e26b93e16a77f1f54a95435fb74bab4bb04a2d89a78b6c680622fb4f2ed9c8202c963eea3184a34094467ee00310ac80ff503d95a0974341b88ef28254f0c8a2daf5082f6a7ed17f900a2d15403641189d555346b9de731b6ed20113140d49421a071513e92fe2792e591ab20d429cea3ce842910ebd0fe2cfee5cea57e5fbe7de7a9ea551cbb1013809e03eec8257fe6edbb22997f65e789e0c3412c88fe66387b039c4ff47a0eb8f862c336ea158081e5ec1d9c5d5fa53ac80da3a0cf218654a07c95ebe5af0f64e6bff3607e8c4c315269a2b5ec62874b743abb1da9aef12f23fc30a1c88f06eeff082a36f76c35af00cf17a54ca8650fa5230a5e62ad911e2d5406172de50a09d8fbdde6471edbdf60aa07cf742a23e8c403d73221bcdda65ec75683874a312a4ece4433c323f7051f74f420e30e9cb590c59383ac14be1ddd107569785c2fd64077f3712aa487864d3520b8fb09816c05cbf15ce3bc0196f5e9ace4e53c0565d1821325a88371dbdfaa1272174a5461ce92909f30914b315f9ac3cab5fa1872e37f0bcb2f7527261762f9e30d5c16a0a6e40aed526b27991eef129895633fe5f6be3c8f9df94b7eb6514cac52fce11eaa27ae2247e7dcedcd585229d641010426c2cf033bf169398e62d9b7890f516fe128202c1b38dfe4be6464f1580c0ddab96161e304171d395162f765c6de3f8fce452b5d02ddde5fa4ab7c3463e435427d2c3c6d1fbe16e5f31689238d5f4c5216352357f21a063630dad6ec34d827a2ed262635c6c37e5ad6d05d17a7f3a368abea18f639abd63b0829a020fa130895d0d09cbcc3554664c8f3fdc8e36e17bcf97baccd4e5cf2e5d7736d92f16e25c93d06f3283e3381bc287ad449b65c673955be0dee06cde1d299a0e697d53b1ba78dbde682f46158834d0333e02dda0293f02850b27b42b5f6b8aba3677859125433c1d67cc0e45cf49af5800a98be7c4ff6c34fdd13a022cde4a1cc30baef30a4b5955ca76c43d86944babdaf94c9ee11967cf675d7d028112c923aeb0e1b3be0e93be839e16ad3d904fba78f16d3e8534edf6b96d63125f9c6f9e1115a7b23580413718fa624d01cbb4a70bfd6747590affdf2fb796ac068a97506c4739e37c7f8fc69a435b36e2fecd067b567711052f4c7206b6b91c249093945442346384ee5a1c83f9ae6d99f94b3d1dadc7ca2909adeaa95e3654fc6ecea1d3ed0132ff957c641615da40e8249c403bff8f943545b71c8275f7c072f89ac5662a381011defccce626977b490f38ade2dfd7e6de753c73d97cbe18bd849eff8fd0e3016155e9a69a0099a3092fbb8fbb8639043c086b444f67a16867ebe1e0c276a69172c789bb0e216d0d3a31940da5e099d12661e8c96e221d639b98efcff0786e928971428c7385c1fae28f2e5a0e1fac6c7be983b0562532644e38169eada707001d04fcdea8858d42431c48635637309484c9f3ee706ee76114ebbef23951fbe162e2790e12964e9c2ce84c622e831cb2e1c85c2a4cabf01fedd3191a2c94c27068aa5a2c0b1bed98ba40cdbbe154ec6247dce9d64a30cbb2e931e9ddcbd36dd2e752b280c67266ebe624c403fbb1374e2490ea7eced239a13fdd6e61f887c8d09059281776fc62bf115e58a20e5ea5c96700ab02450ddb86352418890e484262f8a959f68ead9dbec157cba689a8a42fe3d02923dcc0ab0cfae8b41d133d3ff13feb7e2dcdb6b0b3794fc542384ba1f9de01eb92811d582721d43769e4886ef3b2564aeac957e936c5e88b19daeacc05e92da4eaf057f21dbecde6dfdbf63592a8fe98ed6b53a46642713145f90aeb510b39eff4968f83f3ef636f7432320be3b37c6e7fa14e3a0a56471c7e760e2c098cc88406ba760808d053c1d26afe1011ff69ee785c9a724d54229f03e86a0e3149e1bdf79ea946c8e45f6bf413d28e40472d87407ae38c4c74f71b46bba95a1e8b018b38e921c745903447a4bf170c812bdb7f12b4db0c681f59b5ef7755aaac6252e563ded2930b774024572996df4110a046aac08e5d8dd6b4cecef8aa04c4064b2ebd979d0404dd627885978bc2936f44b876303757d3476b532c6a804254f9313668beb6ef7a3c901dd4778e26d309cdc88783ae4b7d09cc3d4c24f72255dfb58594b802dc8642967d9655344a7102297bd39218058ebb3b892c9c8c48095d86d8c879b37614dee1bd350e9730731c2a047a7cc5eb0f74ead948e0461ba637851c1b51599a94bb20c5ce4041f5e01460192e8e8ef642e139c9937c6c4c622e8b02b66f1ccaa18f33b87db40317b222c454e243f3dc3ede5c40ecbb8719542523b7dbec930cbdec49bdd316a8b1627816d8b3997b63264917863d7f9093f4b324db685cf2dcbb53946e447dce6d733f71f9c5c60ccc486b82dd29a26f2092c99c10e514bd0045eb0ff6e900c43213193fedd129cb28e913b56306ae6496b11661c2abb085565377f0ec710926ff735e24450077547be320a2a0f633e10b71176a532eb972e40eec276d42ea19d8e31d08cd33e1fa5e61ab76949b8d0f660918b492dc9784fdc8686720041f186993bd76200b5265ef0f011de64105657fdde4967894d54fe8dc5cc3d8c9990b6313c3cb5be9b830b104570935001f1a04ab49694b65a199fad6e25014c5bd643e4020166968592d7e81655390ae37f921446cce973714f791ef03aa75a9078142539330aba096452d836b606ca73e942fcbacbf23ca03a38fa69776322795c2b4c31b1181d7915f1cee724eb7adc45bae0206bd5ed01783e9ec10156ad819d4c1c09705799a6cf8306634b8f1e11471f800fe31ed4cc86ed1f86c1a5ed633c12371162c88d7ddbc90722ab4ea01dde88d8b01a8450ca929515e7667102ba965f3c2f09214281809336670f93a57d923376ac3f53ebf923c30af45719c3319f98c726ae403c726df096b6accdeb80736e8308a82cb0935944cc92eedb6d0d12a6de0a2da71a520089741d31082a6796d53869f4f03d57db404cec306168afc098500bccf8de4cd2a22afa6016c5b738ddcec7beb36efd77d3c0c5591da9116e5d82048911a8d8d01257e960e89f5607323fac89a43aa74afaeaf4ada1bdeaf60c8805c0b1d072ed36311b292dbe48ab92d275e4d7ad92e4cab4d50672c3bbfb9b4c1e8d7227ff591e19a4a7670ecb2cc6ee57cea909267c5bd16ae856932a292d1b3bfb3f43c2a6e6c8a01b231a889309f8470cbed020e5ed488c5e0f6bdc2be46a28468ef1c01c51fd59c8372da11b393819e18bc70fa52fd43ffae48f226d5bbc331cfcae9b8c012db5229f4b6bdad0338d1ddc94f2c35bf3cb7b65b765bde6e604fb8bfd1d8ee0162a67ed88e05bba13a87c152926ff37e6d1e8804b95c7fab3160c45ad5120ba9d21ea9f7a6167ab5133f2daf2a3bd9cce49c071f9b726f3a509945376d30ae4cab5b423ea6bde351b28b50152f951f2e4eba864aaa89c530d30544bd87e94835b7033537eeb92372ea864816c8f291c26095a760cacf73a4b0448ee9ee9b626f4fb2a3fdeab16fc75e44a27522e56473ca818ddb63e00ec21303046a00ba95ff1ae7bcc99c0aface664c72b3bda730bfdd3f764e4d699fb392833eb389f291e09c097cad87c48157b8142ce92b3d542c07b5dca819fd457000f5ccab3b42f5907aecc96c977db3e2f37f79332ef52113800910a51db2777c430d8d9636928edcec3801b5b6132e22cb5c3b1f24b34c8c7a5eb3356a099cfe91dc2cb2e21fb327596729cfe975531b279a43081e9a745c96427d3b5382c87fe23ca3767837d13c93f06b2c4548027d0a5e1ab988aed2a645c40f8f1f88fa48e29f92e9742cde4d09fc2c5cdc1ab6e2a7a32fd5609e92e3aa8c256158574fb4d16ac459773c0366a037adf1bc3e9bfb6f38f1ec97a86ac726b2aa0d033c4095a0907b671338485073fc374d1483478c6be780cd7dda256ffa29d87139c0378821a122735c3763892867106f22b532172f10ce8b593f5ac37e52ea9682f688fc818c97482acabb6fe13240af78cec6a736253aa56ae329a32ddac8c369384be8617a5af1cfb5c67fba2df949c42b54e43efe84a0698be40eefc388d2b331250d611536c8fc8c1d258a9375d71e16c318e1a2c1a4205e15fbb35b7addb5073081d19939dd3a6c40067e72aba2cb5cad4e12fdfaeb0d001b70d52839418e58cd7be077801c6d460aff50163c4723c197f1927297ec5fe27d276553485dd8715f5111401f4f2962797cf163f5221dc44a24ae8c00007fca7c04a480675c5829886940f31227e0b4406619eb95cdcb65b9337ad8d01dc30deaa70ddd22100131379f03a7f8792cfb35894183755d58d763e8f54fc06047b445d57556fad0cf31c0d23161677246bb0039de9d22b8184c928a43d6828e749767c4bf3dbc4bf9e026e1c3919ff03ea9a8a0e49013e49e994201a27848a3ad20b79291e6ae052e07460b338c3b33ebb0db0f08fa211745411315f3d799a9c6a4db70f3e53fe0368e341a0387ed8779acd342743032ab49f1a14323f82425f14f2be6e7c0080413248ec7c2c0912a7ab27131bbb39bcdfc96dd2b3311b9cb6e9db712616dfa31fb2e64f351bef7fcd507f577eca04d3181a400b0906f3be34b54c8bb0c8b502d941eb7c831c6505395add151d4fbff83dc1713d090950480a7d3ed7a2be045771eeb7adca1759ebaa7e76352af5e6ae4d21c341ff624b03da111d49a45f62d0c9a3774df9360d320fcf9e2d3179ec5c3d65ba6a9bea119293df258f53dc2fc221b414a4672f3e1916ed96e4820bbb00acda95cfe512d34b19039d0df9fbac9a657778e1bf231a9f516d8652093be8fca9cfbfa90580f21dec37a465e8af87c5bf797e022712af890da0d399996cfae539bf773612c81c1387199e248f0d92e8c2e89f4c0e2f08fb8823970c975afc143abc79ef0e69474351783a4e1e33a5705fa2fc56c31d015f11c8ca2f848bfe48928aded69c4baf0d8049190701b31f8168850c049512ff3a68910457244e86cf2856d93ff30fe31ee770f36ecaf60b7947045d1ed0130ef5f12e4f6aa83c131ad1b8acad3e09c15d2d3169d7e83eb6487fa1537a420455dd75e970efaceed9ef7e3a89c39238b1fef1694f99755768bbbc8a8a1c6413ed7deac2f97c8c4fe870d996fc999b5d0304a75d4940bd8138b458c2240dfb0fe46140dad31f1038b785b6f3e68729fe8e7a6c93db50549324bcc1af49d5092066813946c810384a56ebd7de940cfb82eed8b11b65d0d2e6a5cfb77bfe7d86167f6e1bc5291e4ba5fee4d7e0aeaf32bd126b74a9311e2445c506899a4a7fa20f48aa3234d9e4cdd3339eb0005d8c513b2dbc1247a3ab76725408dd426064e628bd40840f7397a07e9fdf8dbfed3f74c5ec2379f4a0ebc39c85cda734daf4c51940d009309465d4bcc6933e05078d090ebd389d211ec7d635382a37af1dafa0074431efca80e48d7dd1877f6c1a2a89efb68d64629ffda04eb786db6487b4ea25c55baf58ad0b3726b1bf2e5045424a148713d623ee5fef8973002c9ce406c612f92bf3145890204c0fa4d56521404e58728f5e4cb5cfce71b16157e29babbb08d9d44f47557d89c80c71d5701435b354871b0f4ec9d98e0a4a1a752b5a602f314b2651cdff76a2afd5b15399b44bc2fe7a02076a79f736394d09bbcbc5f608101da9230cc97c9b7f5282605cc434f00b0a2d643cd41cd550cbba08b9b037831dedaf7ef3a1402f884558563670a37574323f685bd506ad55a629855c102ce415c1c49c1508cdc604c1294b174c150a62dd08abf0c7c840f44583f4022616a0183fcc6395ecbd11b099c3c1f2eb0376e4e462a03f808597b1d8357d783ff8b536654a558c089d20bd9c71f2a8454387e7eaa378fdb2402a4daa2571406768a62adf62d85c2b801c6622c9effd91e8c4272142b2daf4dfd6513ff878f483f38d0fc675d241e02bb67fafccf49bf10d5ab963c8b3726395355e73b5c71a985f4d03b26cc6505479ae2db046654eac3514b6b686088c7a9ea6f95d0611cdb700dd3732dc29d95d2bb32c74417b489f3f2e4952326bb10ec3d574414a82e762d1e4130d1238acb3bc22aac95b116d3c942ace7fb5692af3821f0fe4050faa7e96781fda590a38afb203799108509d6700a51e812c9892503aebf7b91e79ded76bf606a3b5c52e57abf4fbe8527f08eec6859bd735718738cb802772fa5163dc985a39133a980a01a388104244603c5bf31241e7a3866054328c7f2dbcd137c58ac62cf7898006f5316611ccccd8955be138c04a699d2c8a53e6aad72ffc44c7a4cc0fe43d9265bc46150662b146da44baae719a11e49e7cf27495447b9a0bd4bcd4335256902a174fda176bfd48c55e17568c8860496e3a1548ae00446d6bc6c10a3646b7c459810b5564b0a74db2174649d223f2bb919b3ff456d95626c7ea041c397ed8e33d7a388683781d78c8acddcb6b20ca04b47a36e420ad307ad3030cec1ff8296111cfdf272902d35d9cc0b72c7c40092acf81e6f37e0d6bb726634c563d750706115859002a20932078d2f2de4c392e00f26b3034566b7e8240fc3a4e330a6f4715447082578f15fa53cbb864ffc2ba879bc8d0cee1ec2422301125041d5e689bdd1a869a0c1e462337f26f28b4c9c7d6daf48420b50528f7c0a32bd113c1a3be5493b1b226264b703ac51a9c3eaaf079d4dd5d8ba0ba95b3bf3d83dd256d956a813946422d52e43a2fb56eb4d59408e5ac68b923bc555f11d5ecb96d2999d444856da3f857c9e078d381199425b5fd2e2c572e5bb7b15096076b609a3cf0c46afd3e3671ca97dc4454e8de1c39a0520f549610e53e4d60c59e8e72651e19bca593eb4aae5af53d850172ed5b49771929b1995426353684a42d81358039dd628791590ebf5f465043267cd8048b4cae211bb00562f5c1dd71368d983e05227bd03c0e00f414ac8766d03274a3af75da2844c239fa0ccdbde39a2aa1d42f317ec46b62c7a58b52074e86e4910c0c8845f420da42837c2cb158b59476b10f9057eb6a0904c777e4d617ed55970ec8f833a93857e93aa13b2f96e30d0aca13e84906522245da3563a002d0648121962a16c146b34b322d19405f6609a2552cbb7e0f1bc5e3cf845dcb1669ae10d859668129367d97ddb488ce104cf938623f5b1539aa65be7244de477b3f75e58b5f18f6926318bced963958ca2e3b1f9b16164488089efc5b65c35e685ec46afa67d7cbe573f83a0a9e190cf5472710841677b481ba0d630152199114783b1b43344c5b5f80d39b3d4f1aa6e68c50303c18442945a52daf3e181ccdf3cf0eadd139e850ed9e80f278b86c68363940744929fdca8f3c0ec318059f1073a977b256d26335a56fee6006510d9eae5dfe87b32b968851292b169068365507dd6da315ee68e4c17711f26f5c3934750282fd9a0cbd2cbb21780417d6c6c8ab4aefa62397bc9700814d37a05298e4bd44e139613000d5c35a088325d8581901e1628dd716917c08f0fb9211c58db390144cd34e05f8a4b73083f54360fba540694aea79b7718cd1e901f1d1b6fdef7e5b19bd682027a19f225a0f7b8e40b91dae990c2542ac5c397b8d87d2dcfc2bd4b33595c334b9e3086415a5b72ac752f3f3b3fc8eea47999d7f47e73c532a853037ee6be7027cffc8a1e040a1a16e339f432c9825b4a953c4aa1b9a50d531f844f41bd0eb09f03598c064a684d45ad60a02957c43b9bd650bbdc588910461d85b82720419004faf21e19486d09e758a3308f15cb402db3544f09230192546c989585bba38012339c28b162ffafa5a7f74c1e7c93a02ba99873398ee4b6e6cb6a35d7197f129c52bbc495e68fb1ea27511ece2b638423df0e0e24dcae822b43e53722763573ecec7b79513a517f30c97302ff8c961d72a0f43f19a64f55b68fda460ab9ba71285099f3de5e031a2ec0332d4744abb5d60e0b2bd354f3c85daffe9f6112e8108f67497b1aa196481f44fa6e95ffd33c393d234aefe4dd78d49209c938016c227905cc1f5f31b2b96030cc6e1ec266b378f15e9d0f5278a1f66a47bee2d4c1e0e0211917e1c1843b356b64a9f233b1b2888b8127aecc7960f7934eefbdd43a737593ce56fccfae2698fcc7bcb6107b26ac07f7cd364b6f1179d9653ade11b1a3fa2b001f1c86688e34dbd3cd21029577c45111d440554a9138bbac4ea477569193466ef4827207fc3b4422f63acb13db225c2d79227fef612dc6a90a7346e3e0d5654ca491948ca9afb01aaa532cc4a72c55d52c94b0fed2af956ea4cd1102d2a06f7584a468a2553fd4c7d472e76647ad5408c61ae401f9d50c8e4384d35732f94af29f5d3020b4185fd1b867ba6ca5d83d68d4ac764c5247b2d1b84d1f9d92a99452b4bf6270f69a2f588d87c25578d6f5653689818dbc1adcd7de7313c4532def8d9c0ecda48a648494c7db0b29eb0385ac06f49827e7312146466a3982b245ae912ab15778ca42b992be8f69d1cbe1105361342653698474f0702cc197a357b591847a842791ef2862912544ac8dd96f32261411356d89f95950000104d1af23da2d3cb8dae87db1a7bf62d606275b5f1d0b865d54a08c9b6a3923ab15209c8b7c64d504bf62e518069144ee6a59de8925501d5280be9a8faa8e6680e2312624a0c64ce9835937a40dd3bbdcc334fe7e9afba54dc71e66695924d47599e029a9530b938916f5262f23f0821b41b2bac0a5dfd5e728456a51a4d586103aa1c904ac46cc52d73db594a8e2158515fac568656f0c8ac5fb286e13a07a4310f26dd5bcfa90fe45647e4add8afb809dc2d51a6bd9221cc601df51b0025fc76912d3ecb9dc638e2e84cb788ae5c71d168222be121b20cc460abb794f4d397b00a026734579e37aa465448af2a8a48b25da42353b2f0bc99014186b97e7ad2d33d255509b81fb309c1418a100f83aa70bd4814379691aec42e3c1766261442cb2124af5f9593485e796139adc1d491850a5b5712c373d5d7634c290e72537ab60d2ae3925afc35e88a14b1af2402bfe9330679951020c5e47c71fad10e9b532eae050b53a8fa38edcccde286a88804bb544c0e4b665ed7938e2c81d55773d1428c23042b96b3ac9b18d8c6e9f872778a0bc4f44c61c35529af3074e88a1456a33934e0145722fbd5d8a8d835757eb57eb410ae9030abaaf5dcaa5a57b9681ee6c43ecef48ae8781b9da7fe28ea398f3a5e212a0a219bf69159355795ee78c7746b3b7a95c3322f2d723d2222ba8eab54f01186046842949ff3d211f921e55880be13d70f6e8f534f27a4f76a8e668d2219198fa4af56f1a7aa7721cfe180dde70c37ff31f32d449a4df1d38f9b80104800e4818e1305e2967d801b4ed4894490a433db030000f7ecdda75913346f8474c6992c3558cb039461e205203dbfc659f81fab8691fd800d22dc4cef61466b04618e040066e5f6031a379e778f1dc085da22805d12623e7c9c3b01f2361f61c692ab649f37d0a86989a27bf3716cf3e33d3b6bf546af4c0bd2d2f8c35d3b9997cf3523bda057659b6e884c4dd113f64c0c2e0aed083fd079efc3453d74a3a267895feeaa2283ff503adf8b2b57c810d01618c88e16d4bfc10a602b49e25d0092ce3e4682f54603400f007d280604cfab7c383ca088ad43b73ea5f3140b5b4482f5463b071f320121808cb4801d22907ae518cd85abebd1cbe5307e04e366428154a04f003a4d40805aa099013ef2d134091f81ad68b6e6929ac974b4ec6e893b8ec44422fb95767b5ea5accb0bab4deb1f00dc77bbeb262740dfe447c5d9dcae3b3d31bf1723de3229cadbb818db2e2105167104e00f209a8ec65abc956ec4ed28c148f43da8e8f359337f3f2c46926c4523a0c1875e712ed011f5ebb5b53a15166d0f9d7b42ed740ba1f771fedb2b76ae28747496524f6f88b1593616e352d6e585a592c7989ccad3e62f6542825079351a60a7fc47b60e5a2783723566295002bbac8c7e977952d616eb66e3eabe01953680259950a3814d6de065c1ec896baaf53d5a79f2286a4a99f2d73606a7153931c5992668476b47c8c9ab5540c89a7b43ae360b185925684e775a6ecce86ba1008c651c790330f75005b077423ef861e40d97713251be0efbba01023aa1bc840a736fb8042088868de053506e316a0d7bb21f748e3e416a0342a08848133a4110ec6be79d3e4be53baaa002b031a977ff5a484a5865c369a7068855dec4e0531bdc4097248d3ba6253000d30e0ef96561a9bf8dee0aad32a2938bef5cffcda704500a6d05bd385e68622737463e49e3dd8e6ce223c255cddd8b980526ecb7ec30712848fbf8cfd72a7b5e8c1dd3b91ca709f820162699572c01fcc7dc506e4e3d81019ca90b0101481386d096221c1a97906f36edc9c63187393a089237adeb2fd9e00aa35bc07ffbf0e816d4f766c074e47f4fc15cca3dd9710ceffd92476107d1df0a88188665ae094d0cc83e634b9a67e1f7f80adab4186de41b6b2e52c008cf523b42b61c9654812778f341b1fbce9d3b823e7571d9b1c5d2cc6c588c30043471f332748e9a3c52d0ddcf9ee762c263b1ac94d21091382ce85d3f8f35660b91a45ad6c1a1c2f78490d88bfad105b2db04eabcfb81230382ba209854e7a7074ef11e6f872b8f0f38e18d5a725e9ab3551750382182f40f35afff0d81c1842b0fe4e155adcd7b8f651b6c743ffb17592b2f081a2f64c8da68c1da766749cf11101f8d3466bcdf9d33c8d6c7b480f2f84eb151116bd0e4a5a8eb432c3f572415ffae9aa75fbe9a17ce14dccb5976d6b1094f0162a69ddb1f03e25ac7e9938a2d59d717943ac8a1921daa9fb885f9432e60263d391c10137c4b7fe9e36a510f026898c72c1bd8d1201cb7e89c3d9ac1cdbfdc816d494a844b7febd06d6934973d1f55f299754fde3850504e2ba8763db48e2afb53fed291cc0f8b22907b6c260002533aa29e7c99dedbbefafe7e90a2d81429f6d97ab0340a4719fad3f259ea223af6c8312e70c5ed754083ebe5037b011b988fbf1e62bad5a054e16d21602f006cbea5f6f4911af6643f1891cd99ea8d7c782c3dfb92f17fb50e402aef9d642dc07157be4149e9ff46fc31410c88fcd5022495a8827229ace3bb8459aaf6f13e95e0bb15008823359984f8cf254c1ea1a128f108255ec96bd8865326fcd9211ee1a2bf180f0c706628647595e70180fcacd8f8e986c7c1413959567afa04540d0801deb0cd0f012d62c4ef041459bff24186d2c1df177a3b092085034d9b592057e078abcd1cccaf936c96f24b55895ec6891d0f1701b234a089e9012eabc7346ea6e23fcc2b3f2b9688007ef86d7dc1e374d47f8c32621b233b0a86998e022700a2a0bd0ecce223ec33d8ff1d05f74f85d541130847a88de4293f1860d892230e0852cbd2c78cfdfca731034865c59a850ca1be40067ff0d5a1ac16b8fc4c31cc1d40d2892a2a9737f46e8299955e73b63d6a75b5782ab35a89ba838baf2f0bcdcdee6890d9ead2349733abf95cb32c766bd568ada3224e83400e57c5c9421aa48c4941a7fe6a191a086159e9612f19ff57eb00523908cc73447cac9ca494213feaf6b30ee714fe1a015a6742e6cd2037655da992496e16458f196a799ea42dcefca2fdd0d8c0a94b8fdccb1c21075dc46e180fddd512598de35fac337c601a8c9d341f15fcf0c9f1b8a8d722c2301dc78ccb3b3632832d33c764320f499926921fba972259fc3521774e3d44c9438a2268dc39f220addfdf1408b4d3b25f20f21eb1a600fca00013510908fe040a09c4204f7233a05445b6f6f06bee846226e280e18ed0e71dd5af9e215cf6a9a8350998cbdd5be260d2decdada1d4c46a09b7e8b737c0fa8b6d779eb34044b5e58b5df46c3f8306413433ec36480e85ed234b0c3e07883152045d7cd3d9088a11ef1d3bdbde7eef5be437c52812f20e840f917408385de07133142c3606554bd8dcae1c81760872035ec05ea013c4644f093a0b00ea773bd7369f8185440bb1d2c3edd2560a775a7cbde7ea393e6d70eb18c0d473fc4d30962bd7773ae2827d45f64f76e3a02ddf9dc0a47d412710208107000268c8870c81d0a0c201da322433e527c71bb5f557f01382ef3221c0ade930a125a72132621d1a1ac1b8dd523d6984d772a8f9dc5ecf9734ffa3f0127c673995ca5dbe6fa8e751d6dc341733f651e79d327f4af2786d733487b0569ec3e21f5c0e6d8397bf90bfdc9a64c5bf40fff5f0d56b08357977fb90148fc771470221f6901f61e8b815b3456ddaa0f6d2cc6f636080289deac76d437a323d5036b01fe7f45649e8713dbd9c4424aab0315e0d70aeaa5c50d29297124e62111ab7ad2cbbd9901f1e5271f34e69618d588d4f06fb374f94748cf120c36f6e7391c8ea1894a8b6c41f7cf78d4a33c0d45e363d430a32bed57aa355f2606e5b97bfb45b011aba3cf5da6108e6860529603b1060042eec9739b2fd758e9a73ad089df159124475bb62126b6bc60f39db88bf13e8c6b402d002a65611dda43b38920516533fa182c0ac6415f00e8a840e075295153694b03f77844442c2b04638dba3fa2e12dc66f395d1dd602f7ed15ae41aceed096eceddeaf066fba35a7142b6983a812306f7f1b20cca7d0752bbbd735cd798faf6bb142c7943df240c15800daf8d8d1461da908b9e318713011613d74a8600de3a4c3a0bca3db9103e5f350267540930c876510000d878e112db2b42f42f165ef2937d5da80da68fdc7503bc2902ee3297df8ec5ef6d19e58225463ef983641355531f1676cbfa8f67ddd31ea9ff87142778a55f801f14399eb72557e655358569ec3da07fd77823a537138516a336145ef616ffade7e13a5a4d02ba631ccc6bcf478d71a0bc88d7296deb43a757d00c0dc769bc596ed3da9c1d2535c15064a2fc32feb4b1f983131863b3653d70b31da4f8520544743bab6b56908bc8f8cf1f7f9bf6b410fe08eff0b42d349221f3270a9c3f540388418702840075358888f8b72c8d65424508f144cc4dbf8c5c17126f75ce0c068daea748bc2afb1e94999b0b015fed5336c5bf6468da861c0d2906ff0c4b58cbb3f51679b6fcd33092097caede4cf3e72babc48b1b20f5b280ef0b2a2473a7c8a6bc86d566169b6453094c6fc4f385481cab2d2824e43a9267743846687a8f673dff613b5a3de000508084fe030ebc09d9955da6e67ec3f51c8311dd55d5b33a74290a57a1dfa1beba16d03d9ef862b796107ebe10dbe6aa300d2132b1308cb96b886ce446b788f4f0e81b58c28c6e0d0669c19b3a39e2b7b2253ffeeba326a53e7f4dae6ffeda8e4444c744fe360b436a1dc17a5086b08143803bea40285a0d185ea232b69a127d02a303dfdd019b2a0ee08daef4db3a427c993790b6349c2b5004fdedae006ed2bb61b15891ecf09be80dee61ec508a69c24f076c52a9cbbbea49076d32f3afeb3b5df28a80bdf224b3b0d092612b61175502016684e598787eee6773a2f3af249623664a65d875093cee2a8578007ec866a40889dafbb39016b3bdc354b5d802ab2607912c75b3196f98e322e87e1eae256b39f7932cfe894fdca33f905ca2ea19c703c32e2100a398bf63d087c7d26829ff35a84163ade85baa34d6380986da31070526775f793a27af4e81303736aa28af3d1069bc84b47fed4ec2e82f8070418a1d08857b03140dcdefb9cd3467a93d273723c74038cd8ab35f0fc927aaa55cc968515fb35278be8fb10932ec60ee83633defe6895549ef29f5d2ac4d4573958668d0804b0e206042165232d4cf2f07253950f80bd2d1bd7bfccbf3cb5a27f318968901a8edb621d3786f974d70af23b213c355b6f1af9bd84a82d2cf91d7ca0848d7700bffb6095e5bd0bb96c64fc0b73f33b0424050de7508e09491f5f168ba0c8668cf6787c6eb1ced75139cdc729526315429ebf2c2ccf10976f222686020300cfe6ea5d5899566f4d00454c9fcd626666d411413d22224191964fe1a1eab0a2091a7e5d5661980855f6b5b9bdb0e2c4b5ee34a2f4a1969e668c2fe68d73b032465cd4a7e2739a1f29ddb30859a7d18903862c642c305093c92513a0241468861927c1ed56a3c93d6a6d6b6ffd0ca00ab4c8e1dd47e8ec19dbad485ac408e60bc46ce12e2a75a64f653429895b55011ab6f0704981931c923103f6ebe886aa53fe548d0f910042639e0d2221e1c74332f7159cda656318c29f2b14a96093606a4587a6c2a1ee182205f9ef0ba92e5070952fa6f3a52c3737dc3105cb31403bb240f911d2fe4053a09e81c4002bbc02a4852f1682222a81faa2a59b91f8a5198aa6692725198be8cefabef06b75f010440cf2a3465a9ae8d1ef2b72b88a97846de3008887b17c61fa7b1ef7929a73d2591229503dcf8205b94276e371053d74587aad414898d3b002924aaaf5c32f53698d76654ddf2d25e19deb08c268dccd7b7c30b43d61d04b331358eca74e6cb3c0d7e1dd468e8c94a27243322b1b6b3340bd39ad1d83b56ab8329d0caaf708a3ba11010026af693d22101148be42a8989dd1db83ab6d6f94efb304a3b5e97ac1bef6f49a081a74c0200609737400b3bafaae3ef704ea088b02c014444151143151ed93b000125c27ade8badd3b3ce18e010e041d9818e10b2087f329569438b32c55937e67e8aa0aa6f893d7e80424facc49198f0747b1accff3a1327c6957301bfc8fe680381713b759803c7c2118ea0bbe8a1bd38155e88b1f7b5cebd5e2e2c54c60264af2ee8062a858d6b8b45b00edb033b60040b27f91481ee243241d900b40204903d0110509234dee3e8d86138ead5b7be52f9340d6600790a01fc9c30ea10059efb6c809826bb54375844bf5a06c0d77b50f9ab4a485261fd6b023027aaa2b8630da81125dd1106124bca85861a7b4c85704052f721b6b67b550de4344c0146602f0f473efce8f3084c1287dedf52943fea60664b17979b1ec9be372f6deb1278470d3aa27359e68ff5e8d8af062b2a28d6d841099820b8632118ad1d00166d380d65704eae770e87bc28a07c63e0e3deb3130e44d83b114d2b623227186216432105208a4207c4622d91c21ea0700d4a81091614349f129dffbe032240c5929d4c9560c1a7e3737daf6ef63684895b3890bb9370ece40e4f2374d401a36a6744fef52f809710ea25b08b7cf5ba60d1c5917ad0d01928d05267a5af3959fe08c0732a47d702b45b9ec42d598c8bbbdf18567fe9973df4c333c3fd261b00c4fbb584d40c381c00248c8b1fc38230530ea8f9d9b609225fcb4455ba63294caf34381f208edd4b81b3f34f9192fc98ea842967b5b621669660ab147e3409e4a63a04ad5fa052440fbe8b1bdb6914708da91d6589096c129f3e1a6c1c3517ff29d7423e0a63993e955f8519cc0e40bd9bdd90277faa06f23ac2411c6d9c0a29ee4f3b1aa7d91cd3a42cbd5bec12f74e18773e287d8cfabe467e9ea554a51873078b8c2b324f9e25a9c9ed3be1f78f1f7c5c1a24fac3f11b0d1359e9b4560f832bd32aabf2173699fb140a8766aee96f9ca1a4edb7d780ce85f0a89ba69614a9ddf8dc296cbac87c95b2b42e969570b93eacff226a95f9a0ae41b29729cb16c1b6417daf2d319bf09082c59c5dd7f6ef6149b2e88f96be675f1d80d66ac630526c4aa667fcaa91e9a4f341b45e601e8ce53c37a5868d922c65748e26aacb3b4c1c9ecc123ec414b508e8b8272fd0ea3c2ed9e0c507853a71cdfa7d46486a2e46a7fac0e230fe66f5d90324221f45b04c7f32bbdff15a33b6decda8f680480badf50396da932ec2ca85f1a4c963f06b84efd35c1207074962450a832ab3f723a284e6936d1c09e733d73792cf3d4fb3f51180282813fa6b4f2413090d12dd1ce278111bf5976c25dad7d14b5084707d6f41943c97255f46eb8892e346f5b20ff7c2354eb2f2b771a56ef82600eef3c712cc8f65d6bc333dac3c3500f55f4006dda390e9b3fbf39836feacf3a2708180540c40a485a9d67b9b7ac27c4a87b0318f042344bcdf846767b88afd48bc0d7c355695e9a7a22d5a8dbbafc5caea21116890e851ba2b005469f9c7ebfee8e2fc3df6c71aeefc95cf6487c20d94960c237c41f8a560362f5ddd304a9cd7e35fb2c7779d783f0e212c332085c6fb596525aa77f364392c88f17091a7358be7811340d1c91edddd49534518f310b694c12ada2dc463f5b853eb2235f9b013dd838b9cf813f5bef37a51a12543c463f354335bf73389920497e483f1407c4eae9735f28152ee20532fe4bf724099fce2ea38bd5ed24989e10582081aafa94fa17a6fa61577d3eb7a9245aa918f825866b91f4f27eab86f5fe7b5440577b2dd9d5e87b598465ad29be9927061e8d02ae25c2e0882c3a5dda2a391ce1932aa3bd12d3895dbb104e6591f8de6d5153621468939c45ad13ed13758568e5d9204a0ea98bf1af3dfc73a23434707ec7245e0736e3f6ea925c8eebfd02b38aa0a77d7830ace332b6820688241b0ace3618a0de2c0396e5ed4f67b2545b0c763ca0460751defb00128cfab99ce91774a21efd97ee339cdd6dd9e949fc4688389e03ad9b7e8974f38a6600d78e4bace774cb8976b9420104f441b0f5e592aafd9734578d506e324943bb953236f2a2cc1d5942237df1199882f8d31042fa37fa6d62752635fc0ca51a2565c0d63c7bfdd2a3f5828af087b201b9fe12a5e8b469db4374748a9e3ecb12603983af4399fb793a11ce4dd152597e646b1fde7f550205dc142c4e35c63125406099016d6d5d690eec0f41b373bb36033181ade70ed409062a2a61957d8296a613fe6caebf2ee7bb0da695c280e84b075276bdec52a7fa25b8fb6f604b5e7f256bad611942c79f6118e088619047d93aab986b6f458451329d90e6e3d8ff83392524030d27a5808e04e36d80a37d6141329a9745d246d6412ecb2a84265a10ca8250ec806753a07c2a7b50936e7101e811c1f90628eb2b312063a1cb44dd4596ed6bd569eeb9b5ff1c1f739042b1321dab26b451cccb44d9fcc5471b8ead099fb86754031e842ed4c08add51c43f99d4ab6004838e4ac194c2eebdd79837bccfa90620c0efcd02712f0bd4c361e00fedf5bfdabc98ed80a97c870bc2f69f1da5a037ba8075a49b6985f5c342e339a8576d60bcfcbf080c746e27423c20c2fad5a5b60013c0eb73fef2812022fefc40a79d195aa6f0a2c1c2b70373c45c3bbb499207c0d4fd98e6c47a55bbf0af47612005271eb2926fa18d068361bf4fc64a19bdf30ae1a3381706bcd4ac610513ffc203440ecc2a764663a6c3c100ab9e2ec32aab90bc006fce57feb95c52349aa172bb444d03df92991dfa4244ac6e346630d2594ab0e25fc4b12c0cb632195c8bf5e917fe39b0ee444abbe4d1d5f41ff31b578a40b202073a3922387f206a082d80a5d006f3188cd3b02a4f0d3435d8ee123a380d14f165ffdb5ebc764134ccc6ec72d1b0acc699bf9e81c48f67408890e12df0924428f9cd7bb63273523dfff2368302ce0c6ba242b043ad2e287ff29d6acccbec7a87dd6376aaa15a1297698edf13f8ff69d01d8e5f2ff6fa4f1fde28f95824984a46e2aae9271462c0100b81e15988ad65de60817028237baae42808afcac42b2a569724ace46a6500253d2c6604cee3ace42ae8341b8a97f8dd6857408f89813005fd154674bd8071993afd46cf3aacb6ec923f06c7d539e39acc19bd6d2d886d41337001e48956e2b617e2e620cd8c71d70cb461cb77f1188d9fe4034ab161710276d45fb13fb4c0dbc8fafb605ce04a18cff6ca40683d017a8ae29e9a73c809b5f640363d18ebf0decece6292dbb935af6e2ade76c0c31870da3affbff0b14e2d22b6933d69f5229dca35bf6adf574174d6bde3358b63c562e6cab8362ac310019eb23c463cbab000cce623f2afc8e8e5711e88c4549a8f22ba7135a612ec2ca87041e38ff519a04015b71fef42396713c90b2032d8fc2af2ac65291f256a490fcbecfea05d841048287148ba46e71b9cce4c9a72cc876cb818a5bc8684e7969f7a1d895fbf9062e7c45423bc02d0b132efc477eb28380061b5c66ded8d9bf0d87604b8f7fb2020e44a2f11faf286bb518cdce1e02110124fcf49c303fa67a413932383e4b75e7069b24dfc2ee6f591c5afa4790029d9c99a6406c01fbf3ff192dd7f1eab5d91520ab8799fb7df50b330bd0169984cdbbc4ff94fca0955c932ddc6060d702a4ec213d18f9e6f670aee772681dd7a5f2039e128253a8c3063d0ed3a1a2830f992c0a16159052a20eaaf7cbcc94f36429f078b59ec5ca406c83c1e8f2edf137a04a246224a93049396f0001c39a50090850c30422c1f8ac8e16412d8b8f05d6863500551ea7e9148d0b6cf7b51328c86ae0b3b4a510d0062d25cae0f1ce916ccfcc05d5950a3b914cdcf482fcbdbf6a649e6f09dc5a28adf9203b466f11e23b7b983e701b298e4821920b5039f1c63f30d16a1125cfcc0ec192eb345f34fc1a3f822e93c38ed44870d27af3dbba1856f0a00838181a0301f6969e49ecba23bd69331a81a2c30b050b38130481b710775bee15bba8c806f3d49d17265eb1be44dd8f1b2b25909968e62484812ea783c4dd0eaa69e280fc1890b8397032b842f52ee70cb7d0410609431c9664f0f70ac001c96015ec8d5ab9f5bf6c71138a71a0436b04ea582185cb08a974a6e1783bddea0149095b38c9837f8a6327931cc229e2ec28dcc0b02e7e8a1562993c8d90a5f5d98b5bcb6990c2947e3e6ad78d605a7f4f2ff0ff1ffcca35ded1ee24f28186e60ca031f0365475113f96af2e611ab5009d33c8a60003458af3c8ce5ef235d283e8c57b7da559fde717ba89e4da4cddb9b103000fb1d200d50af84de03d12a803c440b7b50a20f9477ca2b7fcd8202009b917f1a5303f4508e5353d7093c0fbbd30d8d656ba9c8d2f11b67e516855efc6f82225f5c0789e6fb4049ca21c48b512a38abcd1427d13df27ea71f628199be707008d7f0f31130323f7df71b11c41e0e1e64b3c21544460a2713a8aeaf0769a070be2b5a409b2768f7148f05ed60a13e7c4a5805e469148d94efb610740f79be432b261d6e5b61a85ea97961103ff04f74934e8f707600015de49d839effcfa84032e0080f119de0f9c27216b92303a4b5f1a193f9bfede0622591f2ff3d4af022622a45470d6cbc1af3c34cb2ae0bc31ab65a2887237b2efe56dea10fe32970e23d1a8231c1b75907d082104097c200371449117b8f220586efe7834678f92820bf0caed88945d013232a64607fbedc4d923d919dbcdc2e0f0ece7586669957a3818b96102cd9608e3fcdcac16bdad85da0413205e2b13e8e6b874c934d8d3081e180b17167478133703edf893bacea230a6f14c9de7ae60dc74634c807d9e4d3b44b70965bb5c44eea646b70072057674e6a62e4434440bec0efdd393d24e8902d3d54b905686515384c98289cdc656485ac35ecd4e42535d4c92d9d1cac9d22b568cc1d9dcc188d9bc99ad19a49544dc08f1d03a45e6a37536bc4bcff3da5b37ffa8d24f4bb40692e9e5ff83f052430ac5176067a118ad027d543e0901ef4609190b549c34166fa9b495fa04f8fdd97f55ccc525471a44e550748f440c08bf37d6f6647e3b909bcfe0793126b6a4f93e7c450ebb84b3e4ba235be8d19487480afff560a459f2ebb7ae40d9bc8fdd94a9f7cdbd01d978884bd1b98ab879d4c00ce6995ac1b0dbeef14db052d9300bb25d667f25053092ab398543647187618104a49ca84bc6c9620984147e69d34720e95f48c09071be0935a2b54ef41ec35534e7c548400e3b8304442cf9cd52c19e857c4b6af3580d4166a8f7b0da5465a7088c3ff6412c642ed49dfdc8adc0ded9e16e8dac4329dc49ad72977010ee4e493ebb0a2926290469e09103d8e133347ea380376ea1700c86462780da3a71711f13e72028a0651f23db4f503a20f37cbed2cd42968459f4491c0a61925a44ebc10d2ec1fa7f73453ab821053692d1ae3ea338760aa97849984cc77bb40728ccc30305f92d8d70224ea1fbe30854c9fcdc670ec02bae9be2a5601304fe1529c05126c13815dc43787a73cf29cee67122aa648fe3e7e15ec0b5820e4c73f727d4990623c3e992c27de48a1bdf88967d8ce87c2394b7c54f429736f431a11b799e8e25a9bb7954f746837bd8277aadc3af7a71f01c7fdcb79de571f29b3e2994588a3f59c461e1b886d494c0a3f15ec8e86387a805b96b5148cdf81e5fe17ba23b9516744ef491af0874c8b44f434e4a44965581c9934d42d94c995544814141515d3cc44a9c4d5ddfd1914d455953518c415ecad59341cb999013abc530bdf62180106b01f774995468317fa4f26b84bb7e0e681807566dc6f2ba83aec83f26673f264aa21e993745cfa366a11350153129910e4f28f4ece2e6e9805e614e13580e1a47daf104287362ea4b00b80f67a5e95a2a266c230938513190d383431d8a9c2e60fa1fbd5decd360bbff9db390eb08d7026d23ced2df862442334e496561b1383c3667c625a97a26440a3b98102a12dfc134906aa25eea434d2dfcb3487a8c1889b8702ce464fdc1e75d08240679d018c001ddfe9516e865a620505ed6a0eb37c900fba977836b370b6a61c21b24e99674463a2ba46c8c894dc4104ea6228024ef2a2876d0d65c6ee2b18ef5d99214d8a5c573bf9421fe701814145f464dc734c93b929b82962543e0a014ce82c72f728440bb38deaa903aa2decac5d5eb650e347a7f050cff3aafa065511363baf2ba79c784f14f520296d724e54f59f99331d223f4ddd67b7c4a5c7bf19da91ca804c8308c6c050b790d686f12208424c3202e431a88fadce29486ee880f3252d90c12f942f7072369f0d2a45fd91edf3f0d065eda7f4fcfb08745a1dee3f75ec077b9eb8a91746a00005237161493e0322b2799dc9e09bd9fb234bc685afe93b3435302415b4492edf4b65519af47fdcd019cad91364424bc029ca5f676b016784c0799542f29ccf1a1a4f27c51cd07c40ba4620de4f6532dbd5fdcdf86d80b9026a2feea93342785f9971e31ac16a97f19dd595a5c226612f0b84b6363b66a4e5e9496157167f0af9d22db9c7932a4760a2d3b81060fb01810e65f64b897c3129e86c028ec8c839bbaea685d424b7c160b80fa8a6610fe29f5359a7c299629d46c6a8a8db799bbddc6cffa4959d40b36306ba25f95af7ac2bd3977b0b2e9474b0b44543108704f6274430f6cb940a9c910b37b02180703a5c8754fed4127e92580a5d2002e6132f4cbbf5d8980f380ca1399020dff79d326a19ba3a9a13a69f35ebd525b0b4e724fe655bc0a6c2ddc2734126942a4999d24daad1eb6710b2e8ad30b1d89cc0359094835e21644e157fc3fd289f042927c65d68bcf2b69c7633f13a64936e9ea7f6777c7035561ed5fcc143b382a9b336342648cb08d16acf3e3af9ccac5aa20f411d5e28db60bc42c7438f96890e3ef5a48037affcd9363a1382cfe6c394f95252558bafd1419fab4582f2003c544b633b481c4bd8507f7d5d5456255cf58028bd40fd9ccb59c7395132647c0f9240fd9ca8a435e1db1cfbcd6481a195540252f736a4195901d1e13ea0d4f01c469404a70eff30dce69c0ac3988a642f187cda89723a8f17533fc9ab20534133a127ebd59a7c26f3a472310d8e34bd600b4df4322ecf0a844f7e5764410dabc2c318d4898343ad61397f74908503d9d41ef8c2104ea8de40135702b592156a281757fd895ce380825fe79a6cd91f0d5e4e7611ba7970b7643b0793adf21169726a88bb6bc4e9e5aad902cecff40409c5f6f7c077c52bedc437dae9f452e0f978f235747718a3fb8f517addb924cb98881e572e5708e8f5ee5a06228f033c688c3f385f6150ec323456371d472967ed0fbb893fd7d15b9486cc0b9292c0207b0c9b93d0be4037af8cd900dd0809a1d15f5887da97c8f6d81680fc45b440768630e4323900afc712d4169f9d3fb4b7597897e7b7e7d1c35f62f4eda72b92b71b64af061318020de577b5706232454e40318618adde9418d91583dedbabc17b1f1b7c231de542d5f0bb569fca2605fb46cbc34086cde5efb76e6bd050fd021d060349b5cb1202f102b62f6cf83933f65c3bd9fbb036bdf629ab13ef572d82c58fc8bbba5ce47f9e7d54d64337202761083adc1fd973feed6ef171f9f75592da805b50a3038785677b11ab942500cbf5a895366fb63ab6eb2791d4bffc08525c88af90e9b32828f406120b84f7c7ec030bbc0d453ebd9c6ee4ef10b0f72d03c753cef232e4b2cee4cb11c89590212152529fb8f074c6da498220310e1b36829c9d8ab1978f6e2ee5022488eefc87a9c0f1bca2cd95419040f3dcffd209e9536daac29808054a4b8590e95245404d26c38f74a4f55770d01d7c77a1dff16f6283080228e7504d2413442f97c7ee7202a6119e4909402c56280baf1de8ba0ca08fb034ce3f0bb5210c83f5721a18a3773270bb01c29f235a7d3b1984044643839a5029d257c4365a9a83441b9e80222b642983de03b214206011aedca045ea827730642c8b32bca4e0b347e28f5ee9f91ccc193ca473e67f95f4106f2ba00010430abf550635b5be99b0c010f6f4e9a4585e0c2024072070b2373c54712708a1ae8c1f6fe5fb3a410f977210e42e52375370bc76328f4e46e825801b8231d32022b612b64c7350aeb4992b7762a89f1034a62b21aecc8e13a04a286c5da697a3d6c448a60df6ad0a4f11dd50429345b7782e2c4a4fe04b49601b1c1f6d287981e552e51f92cd959f2d9ac295bc9a1dcb69197e25c41ba88c6d6b985e12e48e01f2bdfcd99bce8d74d0bf40e102a90929545af4bf18d74fada0a212036f0defe0c0ba2c9977cc6d72210f468d3197980c4c65907ed8ff88b10606ec19f098754336a37e0d0875c8972866d28b8a69fd400a60b6db4ee49b2c63fce55842008ba3ad61742dce5f215e735f326597f5947e829c4b6299c5aee785d617d3930ad663db4c70f8227f6fbd90c6ae4499d183e8d077acd6270ae76b55ce154cba97a9a37b3691634a87b4c4f389d1bd8a66c669a5613dd402b5e5637e5c1c9a6a77b503799b6e5470502a2df5520c353fb1a35e46ab3801a81a80974d3e5a64c8b524d2d7eb63a620f0a9c771baea0b727b24e14b1c181f959b1912cf72b00ac826f5b0ff12052e35d214fdda269279a22c18118e40602c4d46098f65c13bb62250b5f00f8a3e958afb4b73a7be1366b725ad48b6072a77eea080307030001060402852264cf54601e715b6d6db9ed01060e16ddc909b3ccf0af4c74b83767d4bfeb100a17e58731e1a3cc30d1c9c01478d17740085eae99a78c955a41f0ca132be4b308002aaac6344ee66e5b61bbd7ab875cb4347ada85f03f7a8337d04d70ca6f253169381662e3435aca9282bf61638a2ff31a9c00fa0226507830dab8a5e55b602f6a61e1c8eb5dd172aa787892d2d006a25c42e9380d9f112af76671f9913a450ca264a3508fb2a885b963d79f4acc0a024a52913bb6307aa3921ad905da22f11e0694feb45c02d2cead0d0cf678927bbccdb18922dc6a8e19a7ed3e923f107d196e6afe94f27fc3e4b17e6eb7cce0d5adace4ab35f7fe339368b174de07d63410baa48059c7bfef6228f835ae8afa8caf204d0a6dfc4e4ea4c1bcfc014c404121ae4991d81926c89da38da85d579804d6e70cc20e1b80a334d5aac3562759311c51d8a42031a6f1a3d62c2702fbc613ed8c70d374377efe066a830e27baa1c322ad73ee765498a1a258be26a05bfa9f4e8a468d4a54828106a6a4153e00a532175878974cc7265fc79c2e4fa766b8c8102e27c68db3a17d499138699931ca7211f495e48750f42ec9def4b5d46dac636c217dc285c1f63e3b09689374ce1fbd0c991931ea62042fb2c5ebafe775cfbc42d3243315e078c0be1bf4953fc96157398672688bbd94c7002fd5950d71a9a704d8238485f50d8fb2d23784f69b239b00d37535e4afa07175a6d6d407c279591ce0e1960c0c62d84a5d869fbddc3f2e0001ea78f6df2e134dc92588ddcd67902d7499b3c4069006a1afb2aa0e606cfc2fe29ed14ea963643efce0a3df33d3d5b59fe507311862e24646abe024c1117d0e28b1a207618c6b051f06a912943cc5143b3b50416a7d1c9e4006503a164a612ff9a2e6abe499e02863a2e3c88837f23edd0599c2440fd67f01f95fefde946d3dd748ce35d493e9da09f36ee2bba0eb197e5c99cdc49fccb068f24e643142de0821a783e19e30fc8a4e77d6f3952cb2ce955c53a4d6aeae31df2f0a846f518b17766b5e7fa6e812fac242d75ec3c660c606eb3f6f794cdbb4622bccdb9612380169d81ee0d22c466f8e138ee5d82cac069235b60d014127bba5cb340d1fb7f239a55cf243205138f0dbf1624bf099665ba513332d8740dcbc29f7438025b1180c537eb61c617ad7f30511d03a01f5a28bc94c6c840fd93af5cb2b7219da5fa4336bdd17f800039923254b0544a1f45267fe29738a9b928f0963d4b1d089faff21e07d470b5e70ba16f0432f745ed595c521877289a210a14334c24865c84fc009414757b07e0f6754c35358ac98267b0b907ea2a9ea0fdcde829c56ff09d57a2aca5f58e63c5abdd6f780335d8bb96e75c46bc16638a739402b73ff4d7439cb34c16477d80f652b7f8595d69bdccd4c0311747474b2ab8ce342e61755425f590b6b82c26ad0b97856d70780cdfad362128fb810a03b1eb8186dcb7c56f34be303b5f0155068e0140582d73a8e1d59eb815c4c7d38bd38f3cce06238d3045c6a1bda751208001eddae35189dccc58d9efc81ebd711e7f394c67acd52b330374b12e22dd20ba9a007f55bd4c91755452ddc0f626591b0f1520f47c810d134e53c2a776d43e98b33f3f75a4c70ba53a6c1591ed44a5e6ff9dcf8e5ab9c28f5674219c79d6866046696c7cbecb201d453662b504fba3bd1ba4ba783c4318c00bb813edd79a506be6dd1cb427c1821377cb9a257f98bf6376bb9142595c19faaee9d1b958d9776d47ee75d80026f2f40e2cc40468866649ea642fa360ebd4b1a3ab734ce153e5e8554b7676941613c5e2fd9b7543fb3cce01c09bfd91e1966bc5db91b39fb443e8cfd420091eec05f4ba64c433239971cb5b1db6df05f526e56c246318db721fbc9e8cd8b1c3f41f0c5647a332c0680e10941db2f43fb93401a16da20031833f20be0f03fdf24f3fe86ff2972dbcf3405d83fca0000722b7924062f0afe7c703d2bd36460056c53c186461f6fbffca7ec6521ce8f7763a83ba79b1d37c5a01e892120f33c884e334d4d7a45e6a7298c53cc59081c8f825987264c8b0bbf017d0e40906d53b2c946e02fd732adedd5bb2e000ed45e700c309031a259091927996c0b93ec546155ae95621d480e07d423ff8f801198c6430ec81d6571018a686b98ecd1077dc96266ef7e12f2fbeb744c911044093bc5e73ad9945ef7165daae8379103a0ef7c65fce8d4011ec4c160148a19f341a2b350aef9d4857d3c4ebc7855a709b272293110574b5a6978885571cbff97c094b68c23fcaa8ef11b80b6a5c53f4152c2ebfd15b702cc9c48bb13a463c4c8cc2169005279167f3120c02b29b8c18665c6fe09a9f321a59e55fb6ec7897abaa7a44a623e5f0c6c670308a2a15e2eb86ae3a4022af1b2e33ce0831c695c9467e108d8ca0298c28ed12118904d2b79837ac2741677ddc056178d24e30515ab815e884443407a4f47e934ec04815303779409e4248e501e413265402688162a97673a449dc9cdf712c30151c4b62091b0c7fd1a8edc21fd25ad0e548f3645fd87ec5304901b12d3f3f70adcd758e2b85c96f662ba4b1b07a8b210f3c557f94d1ed53c5e8d00ac92fcea19610a0881741e8c0e81e60d850e886828951f65c6e10f53894f9a33b1d77fca2e2e390fdb79e1814c112d6a7c44d0b3cbf566748969f5b53031b93415cb334907d8ba6226a5ddfcccc5373f2fb420f9c576902b0203aa47c4276d0283171a833a603b5d51859eefb63f051d2e068e4588dc82f1402a952b5a9c5f39066fa3d41293af3da7b7a1050ae578ab99c4f2108eefafee821f512e59b7cafa0201bbe23b47e2cfe9d415c72c66f075e496dc56333f8192c39a1d381a933742b8b31e110c81420e5bf55be6daedeac9070f44a7644bb5218e9083e6eed02565f824dfab1eed2b922f2959eb71c091a7be1734becbb83427f9b7402558fe404aae1ce41c211d4cb5e5fc11a446e9b53aa56bb3e393921a09cffee7998a082319f37b38f31c9b0bbe3cf8675212589c13108e6a36f587ec77d5926393674e49d8484a46dc264fc2def5cad50fe3ebc8d213fd047b961c5125f84ff872fd485d83e0e1663e2e0a26af704b138b3409f8ed0ee3b0300996f86f4f55eb1b3d15caffca382c353ad48e0822df62ee86c804d1be7f706a7c08e2eaccaebc2399a5c8ad527e65870e5a82f1f51beaf7c820a8b34c20374237c512d5ba8a56d7635080136aff8aa61a0f68d94734f9e25b25156fa4af422e7146601ae5396d4b472be2552234518a34a061a697dd13602258f99a780bce5ee853a0f1b26652c2aeb61fd551f596b83ad26ac7c96b86b21822e151d5d014adfefdd7ae9112edac55a60cfe2c126efa0a550be3cc5871fe645eb86b26b31369bfd49ab07a51407d518d1a6d7a414fdf1d14ae6a80897b3b05222090c05a4cf021e2c7a9ca083d3db6c921fb34706f80148e66894678204b6d437ebba33f9121dcd503ef694458d111b1bea72c7a85772b4f4304c341fc62e45fff3c2df3df607ecdd386a6c742a5a37e09d6d65ef9f4234f5fc12ca5876b3d1ad93d89f1569236567b406ecc483c4ca9ff8deb46596935e3dac127b7358ac14bed0a902c848ac96a7ca2f8a5e37474fe528e6d4a7c241ea85c7a03698d2608b9a8006c5bf97013dc9f9cb9406dd07f0f0f206c820ae32b20407b8c800cccfc2b04749cddb61be7e86a57be15b0364904da208081d80008c09c424ddda5560dcfd989a7e410bc8764dc55fed93081c255edeaa046ab8e14f7a03c64bdb3a8d357f3860c16175212c77eaf6fe2217adffe1d26a23c131426ac3a08ce5638d600c80cd1ca5b7ee488cb62664885d64faa2345d257fe64a50b3b49d61346e86f318f84dcbb8f2819cf866d9d1187032a7fe7fba9dc37e4491f6b2bfe90b58a35073b242bd9a02ff57062a3a7d513433e97f57b15a3d026883da6d51ce6f37c017c2c09ca7bb882d57e187ed7e2fe48d48db72e22464a2ab9205c80caa1a22b9a10f2c7c42228498ea34aff4004b5ae40f96cc81631792fa831284d377f94c91b3a63f5612602e7c94c72ce9e20ec5f33d0bd94dd4d3c5d2c079e6fae7127ee8fd8e049df3da127d3c42218d144706d0694ad98f963667c330e8406748c301ab6bf0d413e68461ee0733780c492a14a113e4420bc8dc8903f31135a4d5b6549803ad21a34a8832764e44a821488ef084749c226256f2060a51e88214834508c230f36e32c2bd1c8eda2f38d532b0c7e3b0ae8f2753cf3a4021485c485666b96ca7969b8b80df9c0d85a141323b3663d0144cf7133207344eb3afff305c9cefc1553893d50ac1cf8f4e6826c606fe6add105ac6b49ccac09b5241a7fb17ec757f8e5c971152f60c345f1796f06ccfbdb5c81e29981cac982de1b09c7dbbed24506854280e14286da4d40809e32f843168836661c2aed39665d0ba9549f29553afc7bcd3e001e581b289811d84420f6dd84034bb5eb050eff6b28f1f3d0b03ccf2a4ddc17fa1c8119cbcd0cca5a721ba45cf16e2cf53b0f86ed27f68b823d2a3b665268a42b0311ee2ae9ad25abdf7c0b21fb10852bbcef942f336e632449dc1956852e2b31cad29294024d6a0905141557eb2806caf1183ec6398d196fe503a50bb9904b77938698c90201a4f24ddadc60b6b4715abe8b7966226bde8179fa94349065a22d758e5657d460d420cc6dcd019ea252ea262d09d81e3589aa80f5e7dae5fe1403af48f97119b2711a63b74b12ce3fce7cfd9a1bb421acafa76edc87c20e6d420c05957a51e0e6be5aaf24997285d3cb1dd97474a11f325034e4e02f55ac3b27adc72196477308961147385a6c7ea86fb232ea33cf3dd64ad7037f53acfca1a3ed9c7fe611a480c563a708306667e9309f0e08017d3a040839eface879bd56bae72d6408907043a4ad0b06187958db79005dec89b8336c4950e573be99dbf081d93ce4be4c89f068c214c81ad10ee53b2fd27aec8c3c9eeae9f48f6a75fb269bd55a615514f483841d518a7a1a7ba61192e4f84fa11d975816e522d88aaf5b48633c9c6b54421f5db7f024eba5e4e055cf26ba01bb142fd8940f6a645e4ac1345e8732579a8369077dda7d158254066f402a39e6ce38400ded9e5d9003fce921b40f569871ebd2973582d5432b855296f3b7a27f061208d18e056dfd7c7259a7a3ecca88ba719f338472b94584b4dea70644f86caf3201c48cc9b85acdaee98279d239f50df3c31fdc3dc565c14c5d131e6dfc37002512c9e9c2a3d2a7204693003878584178e19de232c4b6b2b58fcff0613a7dca0b082c1044bdb9b5836c92883866a0e1f80243c525230c3d15126f1a166f9335041088a67f3fad867161072b01eef692e711f88b76ac8adfa21641f9c9a7c3a817dc7e823a583392f00773561f34385d1fa93874ed51eadf14c5cf15d516ce692322ec5983d53ea3de12a7a24cf1fe23697cdb2f791281fcf7f6aebed89da89626c9b0d7e435158d9cab695f1a2b26d2d5c70e6a7fd929fe38fb0f30716ce6d218b95a601cd441baf268ead2decf84872a81265cc013ae4f2de524a535addc8c38cd54ac9438d8ccad34344595d54c4db4dc1c54ed5c699dc5a5995cd5c54c4c0fcd1499d7deda63f8e678fb6eb782373590de589c8e7ccac6b6e60d2b07034f29f8423f55f0eb23d0e96de24c72c76c223cd11c3286b20eebcd309f23804cf53939f001121e91bdc14e48e1ffab97938163fb391aad996d3df9ebb2a154c48a23be8edc925b687513a9bc4aca38b33401428fd98195205a825037d8cba80d64016857fd2393a6931971054c7bd92f71568674e87f64ea8739dfdbda8acba38a38666d3a0ecb0defe05b4584d25f3ccb852489ee669b31364624085d6e8e66cb39dd12c6ca099ce1819bd9795b8d615492905f79b87fa59071826236bcf8c7df193de5d65db6f1e93cf5b56e0bd922daa39ed36ed336d9f3d509a8113047a5222be7ccecbd026517a833eb9e241eabeb187356048e3640b86bf8a3b32a4d338324bf35dd44a0e6a4f2b35f27b5eddbe8d4bb3833f3995ede56c16932c10ca8c039174458eb2ed4eb3bb64b04fd16b1a310c90af4346d2e316054f99dbf4afe4e0447a6e147d8a795ef3b0576156f140b84ed2593484815bf854aed95a039ac742ae166af58b11c091b81d61f67b127d9a240cb385df024c2eb04279f85ec101d21fb5aeacf6f187973df52078bf8da3c42cefc77e6f1075f6c415cd0a681be481069754ce66245740878cdc06e0a96fb9193cd0a139ec2f60bebbbb3b67f3e133e94eb8b1de85b2a17141f5f9542f28353c6cfeb2dcc589d7de0d80281ec111d01ff4173041abefca22ed1a8475669688f82519d3d96572ebdef4082cc1f22653a46ef796ae2c6a1aca52bdbee823586dc6ae897475dea305ed3e1606694db6114ac258eed64f8ce89dee77d5d22ea26d0f203d3071a25415cab249ceb21bd722d7491cbe37e718257b35c00fccd93fade11a2b2e1a479a0b6c3d2251f01973a1c8e01c00b09840039e6088c5225c945e0f93f90aef32dc9c53cc68d889af56e1c23caf490f30569b29bbedf062157f73842ad27ee65580fbfc801d873a7b71c34a38d16ca3bb54c9d1fd1da0d614d4566e8f9efd66fe60a4a55256a4105420f23768705c4b5bcc37e2304328859033679781f2f1140cc0bf3a45b0300a5c91d3dd2f6b997fa240e6ca8ca4a75bbab62bcd7fd3aa472e35f54b0247796af0efd27d13c1e0e096bf79e7371ca2039615df9ab843ff07280c139b2cb45cb0c832f0a7ae9918b7c4444b4bae1d635200744671aff48ff50d1df558af1b2e9f11b9e1e706a11ad95ed2b8d1fd0bd1483c33c061f1422283735a1c3ccef6b9f1cf1221a5069c87deff2ed72bdc624e21ac7f5452cfa82935bbf5c0b5100b4424a25343bb536d7ddd579af18b006967c84d454d695059d258f7aa7e0be2b089514c2fc3a5ba1bc811162188f73264a28e0557fb4bae60c63cfa4d409d5cc251a5de37f18affd91ae00475f49bf56f29a182f8d09a833ed4b0cc8e4f10d8d3c18779f1a3b65a8bbb3c04cf89446e70789a06a77d6e4364dfd77124f54ad22bfc8a144833bb3d441343ca0b78170eb164831c93cb42e0ca2d55e79e1ce9680995c2cecda3eaa5c94fb6ea04c47a57f8215d911f6264b034d6b84dbdb9f12a2f5e184df081730b4cbc5aac9cae1a9c4e4c828e328e864a46c4babef61e16862612a6aeb281ba46f24cfe6a2e0ee68cba0606d228a7a3f912b3347c5a1b4e428c1ff5619963c63c88699c13c6a188426c712fd8e9b6ddb3fc77f39c5ec25547f52c564ce1d27bb72d0ed7e38f994f6f0a664621f580fbde2d4888d663ba217832f63d1b2232f2c56d829e15748a8ed4c2a6eccaa339244aaa0107e0402fc622937bb6749e23618e0c0e46c6674d336c09c908d6622391c4026f9470d1e5e4c150d9795bccc14d744e01f9836c5f4c29726d35b0decc8f8805a95cb83175aae9830fa58b38a0958b8ba49fa82831e2bf08bd5cc13c070cc11489e5b7f60a1a15acccf128c3f2824a9bc36cead15697ca0f47fbbbc5c77b3dcfea9359e0ce488e84ae39b46a43e6959d413c6db2043bfa9cf3316a85ebfb5e037796b5ba5a84668ed07ce84620ccbc7735b8d737bf716474fae9624f2de624650ea6de9a153e37e3371ba70c231c8f891b97cd1b99b88201764b4c50ed42a1f48bfcbd4bb5cccd7fa6eea4dcf22db030680f347e3779ee3b125479910d33b8a2cd0809e7ff1f81417f4d2a9711c0e21b7ed9c3e14596894d16099b5c71b54bfec5f6c9f6e4951e95f97dd38b51844fefef7e90e1d9d98d31a6ab77f6baa39ec582004f736f243ac41bf8ce2072018a6991d7cd21e00e09467743eaa34b8c7f48e92075e061c92b9ea90975a2034f116ebafadd1294173c40ee0910af47668b292ba9d47a1cfc3d5012328563e3c3269ac6966f3ec10bf5f46d267afdc3d41fb2cc44dadd8e4183dc5a45d3d550ea444444c2534446cdd58d5f545c42514c52d9945aca58c39a4643c2d949c9919d2a52efb85b81efaa4405e41de83158c20f8cc11f759af0ceac1cc46c4330f30498eb748c289b24000e637139de70777cfd4f903ad4309b709b780a4b1582124f70a595f1bd4df681bdcc7f8caf893fedb189a211bc6583b88db2d3f868072283b866c0ab5e8750313fbb40213e29a2695a18e65ef369fb4b7eb14973f668d0b7f5e81d7618810a4c11b0723cfb8780028609834284c000ad3e0525019cc7a07babc5d886cff29e51b90aa09fcfa70f9c7bbb70785924af60cb73710ccc7c20133de49c4c3b5703c37789aae7c96bcc568f7710faee9eb36bb90f17e8a55ab15c1428ca136d22bbfd41b6b748758780cc672f0afec8224c2f9d58981000b461b1cdca495948c8570de8505730a31cbf50aa13a938d33bb67aea346794a6ebe3b21aaad2aac313b09928e80dfe81963fc7067571e43a8a89898332839aa613c01b2a9c3497abc28c35b1fd7ad45d55b1777bd1be9efe1ec03f7bf9b57c1a18133cb1b47635ae1fca80354ad9cf1d6142120e38ff99a006b7dacf1157117cabb2bef9679e591840f1172202dbe111cf67f26ad92b97cd04c2a3c637f92cbe9d73ea8cf81e7652e0f27d1d6968a7e943f9141a9fd8a217e9948e8b86180a210280f6b2b6b8ce1befd697870f7712840c86e712b807aa27db6fc827cfe921f285e049224d65e4b30b8c0e212e37a3e5889ba7832df9f78692817d4b1c03a66584b3bbafc7085c522ade1424f47429f6d249cc6f423440a0ed9c375987bf7f0848a1987d1a2d527293612d451a599ab37ba060a8fe212be41d89543f847d2e78b6d2a5f8d369b47d70b206f638770855ac34a4c208660541379ea8cba4203359f010d625c1d45a9e986271107c14de9158d8006f725932535604254bf91c6ccff283074da21f8e47f0473b50ac56adccb6e7c6f2241180f275d1aae6f4318925b90354c402887a706d93ea5d1feeaa6b8a0b65391b66987cc4e44915d48d853c54b0bc1d95ec68a51ded3da58d0468881d643c3cb4b5056da568543dd454bdcd84508f5892f98bdd15c2b9c8e943f7de0332478d3bd67b4fda90ea814bec505de6833465921e8d14c4f7051528aaf45b237965b8104934bcb128638bf576d26cc1a3bd658c72697589d91c61f3cabbbc9c2f7dc8611d52ee09ce43af093902f9a452027acbee6199d8f360dee25311cf7b9c3888be78dd34ae2b5f61dc5018112a30e150435af849529559d90733e2d8cebcb1214cc27780cd55b912ffed1ec48dc3d3d7019a46d88d2e835dd9dd23e0b162f363155560e452f4e17267711234e751f2d35675b2b0b517d4f610f7377797b1141660941537d4b3749c445ad29c9fe0bf16fe6ac1c546c2fa9f4c600f48e66cad914d8bf4711b1cdcfec9c8d3e376539a9e868aa52f912e332803ed247fd8320516d8955cac61360cd1808afd63a28149f8f422071684ed0243847c81b70ba0a355700ed506a13070bc541da2ce6752f10e39fff5d254a497cc23967aa3fb1dd2838028fc565a76f0c51653a9ec5e111f0c6ba971aa9c2db7eeb836b3b8bd318ea4350d4dbd65e009192caaa9d309825537b6bd6009bccdfb8b5171cf2522920a25aefa21ce07620bdf0507fcd7d80361a20d827e94599fc2479db245b4ce581b3086e761074d049671c00feb7fd1f38ac79b2362624da22f3155ee8eb4b3db78241f19916b3204c6c1eadc72ee48429419d0310aeb86257fd75b55ac93c324aecc81bce2a1cc8dd959c0fd06b6c251ec7c1272facb646a01f124b77fdc1c8f0d678dc3d21c701f0e77887f6438ca50b44a52bdec0cbf8c19e98f25aec2a548ec262513fddb91a6c02d40e325350b21743b8b34505156c150d2915089b03815eb0b973ab5a23f78869e490d3837be81868e1ae3ee32a602836e229345a8ab8653063c74ba541ddb35fb54c53b45f0504976dc8f2990164ba19c819d143f561f9ece7685e046ca7cdd751c74384374233019b9e5356084500d191945886d590b27ef5ee890096525d951d24dfb85453280ec2502425f3750f724aa9aa59d6aec466baaf7f3a754a90b6c09a962d25ac33c13da82c03f2a2a493bba29e42f13395d6e0267a172a178b94acdf9771327c35929429294a010e8226fa207e86ea20726cf5bc0fb979a1232defe62d4e7d8a2ce36e8cf3e4820425b65e0b26d0d9271057f4fd09b07b33a834db1171272bcc1f46d48078d118fd06c66e4cdd5fbfa1aa979217b7637e0309392819c71c31d917334b839f00f535bb363ba28e95032da45490aaea856fb6a428c8d5146fca931154124c29bc0eb7b76f0ce3e7d254e361fb60a0061062b9e0d2e504b891719100e268b1584a61b73883a5052ee93ff7b8228fc3388d911a3a05c19fdeebcfd73048816b432f3fe67e5163bb273d4630ea8fead2b957298bc2ea04e2d79bfcba06b0352d3de0a432a22e9151fc074dbe8c9924188c94c75a037f44d6bd429d3414a9cb0046060076eeb918569f29e4b50abd249cdeb793c95048184b62b504b2252253f5a1642fa2c55f5c5ff919fe14c3ed3505860de43774802268901eb4e7206df7c4d59f132338880042aacc32e007832657e8378ee65d8b0b1aae6d2c1a296da01e7b1edc4cc2249b56e3fb0cae9c1921d6ec94dce0a87550d550c7bd5f289dba7e76a839b2e4db594b3336a352ed6babc3fe630a2eb46c071e68015902086832ae6f68e4670b77f4b3ceebbbe65a2ff8df4f824f0af5dfa6cca19c1dd320bd82b3dc7d1d88b5cac8e5f505623a92a55d820a601fb4cfdce631e504941f281f3eb07f1b479328ab6c84bd6954c271c6c264944642319779cbfa7d16591b02a658d8050fff3f4982cd1722a0057655f2fea72a6acc3b4b99f372c86bff191dd3cb4d1d405d358ffa82ddfaa40b732dc87089f9e46caab7cddb1e28287ec40dbc81665fbed305f0274b7ba53aafa0286a0d8db1997070c6945063dcb1e16c0ed5109c7244c090481fd1a3e2afb37d48f74abc1e30aeca3affa17f0a956c753f1f02c452d55fb5719053320f4c84811dd00a41900ba217755f1992134ef4541cef3a8f273bc04f2688178dc72da9dbe845df75e0f7b80e5d022649db28b46a2c772693b01b644aa5423cde5818efd3267d766cfffab3282c982f706672289536acc330100cc15485d724539e52b17a3dcb507f2057442f9553a68df3a6e31813a724aa4bcf4b4ccf7b4e49ae51fef07b13042041a02e983a0f01a5fcb301152d98def575176dfd4ade55008b33db838329fbc07e41fded812f88a2d8de80c70504766c4847a08afbbcc386a3bcf6e9628d87a3c2f24af0e5145b699968de7b1bbfc7d99bfed7edb5a74aa47447d4dbb2f074ebbf260190113383100874b51f0bbe5bca4367142044cd75772c424425b7b6b7c2de45b4f784a68356adad6edf39d478433971d78096bdc8f23b66b0306b2eb8192ea16cc4d00a527a3190882e34ea8bb31596843a11346f1455ec2ea892cbef2e95dd0d1a15ff3e79e7e1afb73da02dfc827e37438de89f9555cf855750b0fdb83021e0883b952b849957a16507901ba20ff57fd05b19acbbf18c550112fbe0dcc256ba26b6f33a3aae7e68b42e6716b09a0fd610b943dc13ec9303375b3b1927d3a69cce69161ca646971aa71328e094d528f763b03b4de54e1df08cba4665bbd628660e172da93cb5f5a415333e814d87cc68246b9af435c5f52705445ceb47326f29086871da4834cd9e6e2e4126deb1f75b8ab073a43f0582bc5fee66812a0d0180a7d9c591ac98d042d81c93eba14d7cca41b68390fa2275b786714d3b9fe315d4386380e167cc1101ed10d19af38d9c992a7ccbbd330a8ddec51cce62042938df884b089dc085fc4c222f2010bac68a67ba3026e08fc52c85ad0c1495e4ee83f1ef0c555ccb5c1dfc2726fc7a7a265501ce630ece34b86fdd5d06c03894f151e2720bc081f543fc70eb2f936ebd93a92399b3f0461eb9f545004b0ccd300c0171977661c17ed35c1cbc1a980f1c837109f8e063a9b68411423b64fa2caa1e2ae6c636ea4e761e86161e05ecac42729e2eb48ed622c69e222e2afac6ac92c6e2eeca8e4e9652ae9522b02191bc71b6c6167a88097d3ce2251f54606431cc37d6054b9c795afa4e3531c23b3f3302a8ddee9cacf1cada6f084a5a806cb583a5f208b48cd10f08e53065533f9ad6c52036b04a656ff16ac3ed6f14f84c07cfbbb11871a3c3e3b52d1009ad00a9ffc1bfb9711e061ddcc5f835e0dea7ee6c739f48c16869c42203692b37de13ad6f05a2403c7ad1f2262354ccdd612944a40be13eb2fe744a45f9fa9afb4a1a4f33e1845daadd79cf85f79d72cc67d241c662d070b1e3e43a881eb6a8bac707f2a5ec5a23d318e684d6d52c7d360c03a82b5f0020640a29090b88d12e956716deee6325d6bf5323761830c357b2fb7bb9df80dc11fd572e3c94c119df400337b38bdf39bea7f6836b0e480112322232baa347958c32f75476ea9e33c8c72d28e5ce3959c86f86819e70624545cb34e6121ff98d9b8b846014045ea17429f315066ca9641653f4d0fbb808d67eed1c2192899e156c32caa2f5c33950ae991d1daa614a70522f0ebb7ebf1b26adaac36c0b0d4774f9c2dbbd6d382d3a40a8d90185189e3cd76c86626975a5825e3de925ac217884e6afeafbcd2df8cf3a897a115f60d954a4a4f2249cfefabbf425d4e1317e9073814c5c25cfc41b1049ad7f150f1797bf394858f9f5d6364c0e3fa5e6f99080b6a44d027bb2811460a7ad1a3a47eb0f13ff711a05986551137200c2d4da15da30d6d0fe0ad2751e6bab29a612781c10af42a97c3791bab2501c626ad6436d968193654ab9095a0ce06968950f04aa731476c5acce3635cc73189aed276b1ba340fca139e423082a83fad24e16673970095e3badd779cce3b86d2a64bcf22a8dcac5beb4570c475a17313d9d1254b81f74336de93216d70ae36825c4c362007e6f377900fa0bea69afd93f9e3590831600be1c750443d77d037cebd22d7e9586720a42bf5160ba42c29d8e0d176f1947c34b894a823afe3aefe516e7739359d2798cd9c96f0395f76ebb0d9401692752b6d5dac0ff62517ec3400c73d422272c7ab274a29b6e43b3a05decd327eae1e0f15fc1921ff7f6a95eed347418845a08acfcf45a1eb7d194f9d6b2771a09078a7520ea41000d01e4d265e804249908f8165660c7d04cc5b32a39e2af3ed0d3792bc5302fa27548991e697faf2356381d7afa9bce1a47192b7de826ea2efe4e57c6aae88782664714bf44bf650694b576286b6b1f047f11b0a81939d72b62d38e8b070a43236378de9bb5bc152a84e38c341fdf32060bb566c45eeb5f01f8581662b7d22f50ebeaa92c93d5fe0192e3d0023b67c112db7f4950c31e8b335abcceb3cf2b2e04bb681c24a50299c3139a9658e68b322b46acafc16d18f13b8926b5e987609d9b7e4f61c8deaca3c2a8386325b9130294ff09748f04223e32772968c2ed150ad344c9b4717beed72d674f72fad9c5c35dc7569b468ebac41f6c55fdbb60fed29c06783ee83f58d3bfd98ad812c01ec6083045c0c1c7c80030f29f847ed7799acceb243d8e78217c95c8d011cbfaa2c4b99601d312d960f41be6fc2605970d0801634a41e804176966fb27f3f1d93ad3ec44f12dcca8c86223e0033a5e0f680131e5188f0ac5cf2e68d41d4098f4a36ccdfba3469b00ee092b6c60bbc3b7ae2ee624fc41c3a2f23711c334e217185b90900f4fba4051c38c172dc54f1246c80f9ddc7240814738bcf75d0381d88ce486cc1cf9f0fdfb672c0acf1a6ae86c372e062c0a7c4ffd779c9f61f4bb8919ac3506e763986fee5056345115f3a8535f6929fd360e93fa0adb7a024843c047cd04fcf7ecabf0b1e2f5301e5e125dfb772d9f7b069c435594d18a36fbed738249005abdc11489e5ddba16f43323fe95c133937ab8a89395476ca4a3733c5a2389788390c315cd8fbd4f3a0aeab4aaae32ce42ca722a8a6ad22e92faaaa6ae4a869aee0a1a92ae268e1c2c76aece9a9c0a828e522cf8fe271b5c61e8604d6b6dea49fb255ffb644dd86d3a944dac181d1484581d3d8c99c445ed8d18ec8de5049ded55bd943c1df4d9992cecc59d5d6c44e5ad89688ee2fb5a8cf17ec1dc1e40646c6f4b676f6d69676c1287a9079db943039eff52a8e362dce985e023cda53227b62e261540908848c4029a45066e10d7c413edc43225210d75c73b8b2ff3422ef443c76621ff96c2c62a84d171225e566b57ec33e3fa270ca5f6f0587423f950a1c2392e105ceb6c9733704d568e25466579bbca5672fbe7a23978b5f2e1dd560e0bf13e0ebb619f3a0abe5530a475352f4a49592bc82590ff8dcb92fbc2b33ea2e245162c2547034d142e7ce829c6b3e9c5d53d5067e98cb7f5a4afc04036d26cbcfd44530fb06f5b165f676c4b599dbe8617ce6a68ac16d26d294db6ba4e7f040142bffbea0d844823ce1f02bc75d51f53161a1fe8ee9b1deef458acfb8323ed49ce9ce09fa041ea219644c7f17d86c3cb8ea228b77528d10426ba0442f083570a782142f40a18041c4525a0be420db470e4ca5158bebfd04a91549d84e3078de7590808d1b25b682f8f47ed15e275b9ad40c05ec0ef0f0a4724ff3b9da7dd0d1213351d02a6262717dde93ea68c8ed869aae66b47b199adb5714bebab48877bbf231269b91a07c73f8a501bb25ea1cb589d7aff173a45a25e48dd902951ce5339f295f64570d2000af14ba642b3fde41a1876ec2720e4680d57c322bd8ffb499989904b81e4a3ae2ceff636a7a1469eda8aaeed2c49b2d5947cff55add4ab85ab67085b33774c692c6053cecab4883b94c270c33af9982f62ffc85a43c357894a12389f94a45c4f3746d3c7bbd7ddf6b24ab54acd3e636f1f47cb99a575db10d30be254a20af6c03746855c389494f281e3275333df5c255a74313611c4aab72d867eab643636b728ee092ccf510c28fc219a9aa657e6f87ef083383d6f57332d4da72b19d3cb8030e3daab394fee4fd1cc347d376df3fb206bf64402ff99f29fd5ec349d739b8b163cb9697a9f7605307a02018ff2d274127b202af92db6059fe9a0478c859ab51d0757912ce6fdb93d831fdd92641fc99234cd3d95d8a534bc1421ca865aa7cf13ae863caac8c65399a6a19c3955b29acf8d99c0fa1ca5153aa049d5a4e95a5831463604984056c732b45ea9970db44f2ed02e561070639a6e8273c21e99156003873f1a06648f5095260f285246e1b9ff5b86394bf4a33ca631c09847b1701b0ff01b730436a9b20afddd82cd39b6e07c8eb8475ef9402380b4fb59887f9400226d7b8e832cfcb4e0300bf946c9ecd474a38005403b73243e0a6a524d80e515203ae95132a8bb73ecc9943d7c94858ab8677093aaacd0fb2a4d1b76ea9f812a3f49a0e32c3403caa73de24d7f74928583390ee70869525fa2f4eef9a40ab37415a2198fee57d363e2d79ffcf5a77e7dd2e95f3ff39162d6a33840c31f51b2871d92ec47398f420195b47e45731f35747a46798f48f31f31681700153c2a7cf418277a344755853e9ea3ba429fccd10d789a85d339c8fe450b811c8b1e9dcdd139e9919dcfd1b46b86876bb6e247177344014e639d65e1728eab396a2a748018205f6d852e026aeaf40ab102c5d89924fc4b1e1503953e7ad11f817b5c25914c1ba3c0287b54fee8085c5010b3e25190d8f51c4250a4c162f8cd9d1e2574392b1bafd0df127ce523feaa476cd58fd880be99e3768eba0a5df348601db4f611b03f306153f748d8cae76995c4fa1ed29755a4fe51c15f076375d8c27460f5195239a30ec66a7d5dc009fd2a42685c69e181b4ab9c86631ccf3d89faa1e8126c9e2c170ee72cc75edb1cfa500a91e1e076e370e3e182a104992df82bffa498024a15be101debdf9040a95c7739ae4a0af50d14cd6a8207d62724873e141194157011a486fda8dc8b6787f9b0bc50865eafa17b0066ce1ec6f46b8dc8dcb90c958721f543d183d6660b889cf7d0d46d19bc912b950b8612dcceb7fbc91e93dcc4050b1bc4d552d06596e4b97a6c14d6f0cebd0e0754b91e996e3d097f6c7d5d1ddc3f21ae1df1760f553094d0f9af1fe1a2fe61e360ac1e9aba0544cebb0a4c7789212bea4eec9ce1d2b8aa39782637f14179c835b7e4b90560de3b4e830b86127e143132f5ceef4bd81586d0871e9abac5c70222e78d0f43fdf2f5bddac0341e8d321b7b12263d43c93b08aee8b668fea2d9e88a873e7ca6f6a0a3abcf1057250b21aae44b8475c898b99be1c6e3ea6cb387d1d0e7ddf34a0b2bfaeb57d64bab002c0dc55c776cdffd11f901834d17549cc27aa8f7e9e2600da6cd6365559eec76236a290ed78ebccc7afaf3cf209dda2732ffa1f959b66b4f60b39ad96311a7d63e82ed57978f1554497a687f721373cf5e7861dc856d108d89c2987f86fbfa9334e8805c175725d3620e8b95900d2265ec14d87a7f2b2d9c7b185b776217adc53e1edb1d3b22b65b895448c0b85875122b2d7c1fb573af86a0e0b82a7932d85c064769ee1cb51cbba70b2f8c9e063dfc60c543ae3fb0aec693b85a7a6b4b6e62383103e527115182963c57818c756b31a10f1d72f77cceb7adeea4d2d271d7fb1b711dcac03256fc70b8736dc2fa1af8af6b190d27f4ab288a822f8f63f6309220f8e8b49195e702fe7f030100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000