0xac79404200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001fa000000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000001a2e716f596972a54da8b38aadc91ea19cc5442b000000000000000000000000d624d2d78b0ce52e3ce5bc9c96434f90b514ed880000000000000000000000007cdd637f53f2b9cc79b6482f849daaa723b1ef95000000000000000000000000eb1438d0f592b375665fded9d181b477a3ee99520000000000000000000000001b9869a61e6b5d516d2b42de2883efa4d5007886000000000000000000000000ec5cc125482bb9db3b769e1da99ea758ad35d27600000000000000000000000063c5d62d1056efc958dc2c3f72d43a3036a531c1000000000000000000000000e3798f1f06cd4d2dc6059283a99ef607c1f5cc8f00000000000000000000000073d100be95e04d562bf3324b3e4e43f7ae135a2a000000000000000000000000c9d10a8b5b282cb47cafbc2753be6b42bdf0376c000000000000000000000000e862628beace5ba3b555ee36816055fccd1ff3f40000000000000000000000006f19c99bd18615354ba06ba4ca7ea9fa770aa07200000000000000000000000053f2f36afb25286ba39000e848a790f36a75591d0000000000000000000000008a334d73b77f1658210006e73a9057b0860c213e0000000000000000000000002ae0f62a2e58e0abf9ad47ffb36bd275d82305e00000000000000000000000000a52bbe4e3a8aa540dcddcf0391cc4f759970b830000000000000000000000009d31d657470cf892ffffda7fa8da93d219762f910000000000000000000000005a9e9119414ec4b2236fab8db7785f1a7db7bfb7000000000000000000000000075528a802926cca6b13d3e818b9c5f8a96100e000000000000000000000000002cfbc817134a6b4fe7ce2ffd4f4f1aa5204885f00000000000000000000000020555d0d9d904db69e7c727735d06f8f686192ee0000000000000000000000000c67120c967ca56513a6bf522f4dd1d6eff1a85100000000000000000000000005212ba6213b0bfca14cefa542338474b4c2a9f4000000000000000000000000371585efde3ac1a8dedb12442def4ad3dd47f9430000000000000000000000003a3da3d9cf7cf4dbef2b53aad71227c81d7fc933000000000000000000000000a939b284a6405d5caf9a78bdc0c6bdb794a87322000000000000000000000000647a648ff56d696c8a38c80bbe5a690e54bdbbc5000000000000000000000000bbf87a09d9ab46fe29f04c6c4bab4b51f3405fa50000000000000000000000003d3ab8360903beb3fd1416ecc2714328d3197e4c000000000000000000000000ec7c9534a2324b4bf6284e8c3988cf7508b172f700000000000000000000000051eadd2a0ec5d684843df506e11d2bd2ae87c544000000000000000000000000e5f27f4959a10a4063577c833de66c14ae01e98a0000000000000000000000006ca6859f0ed39b596be8a501c8023987823bf98f000000000000000000000000164c78eb7b7d32c6ffd288e6c39046f73aad4eed0000000000000000000000005901f73939c3dfbcfd6dda7ebac0f4af4cc43368000000000000000000000000c6e813aa15f633dd90585a5b9fd426a4de4f3525000000000000000000000000e1ec82107644374c3a5a6cd4486ca65e81b48904000000000000000000000000df3f2164edc16a3cbecdd2e7efe0eab9d8e143ca00000000000000000000000019993b4fe8cd1bebc6ef14fefa466ccca81f6617000000000000000000000000bda86276f900dd8b59bc51665db92ec0374650b30000000000000000000000009eb351961b6365e605671e35ed166f127c6cc165000000000000000000000000bd8e1a65866bcbedf58f57808b4c13b51dcb8dd900000000000000000000000025bafc26c7a0d6805a79d082ea6d7aaa3f507aee000000000000000000000000ffe9e432aeeede3ba7ba0b992caa5548094f60c70000000000000000000000005169d47647e01eb6d1d2c24c2843213ae0ca1d080000000000000000000000004f58e66a281d0b65d14b4958d539b7b88a34c47e000000000000000000000000f4610b6d8b152e5de8bde5fa924b77209a7500a2000000000000000000000000f63aa09aa1c0f5ffa69036e6ae93e792fd34016e00000000000000000000000010b802ad3ad052bae849c702e083578b0aafbc410000000000000000000000004ecc547574ac7866050de6386008c9b04cfd0a710000000000000000000000009ee7881f50cec444072e27956e43eab2164a73650000000000000000000000006675cb9dd39c9ebd79024833df2331deda919f940000000000000000000000001c3bf405126db6c1f7ebc004d274c9dd66b217c2000000000000000000000000efc4070742d24c5b39494582c49425ad8c044806000000000000000000000000004a2efe49d6fc87d78f55078e7cd8c682a56b910000000000000000000000001b4a1e2559cb49cb65256fcd6ccd192c14b8070a00000000000000000000000015d05d65830e812ad0246916d46b9247767a4b1800000000000000000000000098121a9a86a078189fcdc977392af404553c0e490000000000000000000000006f48d0391c09c6b344bc119b72a14d1ec45414a0000000000000000000000000634e4f473fde5027d056e027820c75e8fd9384d6000000000000000000000000637af7357f6f6ee9b0c19e9af761ea7dad641be70000000000000000000000002472030723fa4c27f0036f0517111ee4dd453db1000000000000000000000000e317ce8c7fa705f479d47e5bb57eb718457dc707000000000000000000000000910383ac8e1db09ad190d816ae7c1adf48a6d79c0000000000000000000000003b4eed5b28bc501cc272c78a5f217e0d6932be72000000000000000000000000739c84fcad86c35db1ce2b5eb35a6e227f09f894000000000000000000000000cdf91ca89ecdee627f178969b181cd62377d7ad6000000000000000000000000f0a9f4ebda81be9554a9ed7fbd9fde796d71b58b0000000000000000000000005ce9a510d6a150a8878133baadeed26c65e9675b000000000000000000000000c0b4180811a12bf5eb08a29e1570fecbb32c7606000000000000000000000000717df7b7d9d89520e89ccc4292538de900e743e9000000000000000000000000c3ef0cf56a877a3870dc6e885edfb070383c52e100000000000000000000000074141ecad6cd1e5c0b42f81480721061277e7a780000000000000000000000007b99a1804632cd506a27f0cae55217a106381c6c00000000000000000000000049d3b4c8ee29a80c1b672a4e88371b6e72d223ef000000000000000000000000355d274dc0901f715641de5c74231c6c9374d1340000000000000000000000005394e40a23ef461367b9a249a7bbef663146eaa6000000000000000000000000515fa656d00d8600e43ed1c5896a43131d414b9a0000000000000000000000007ac9eb228f3a5ecd681820d38b3b9bff8c1d58c8000000000000000000000000b4899e2ad6062713d41622d8c73b577eb0481b5a000000000000000000000000398e5eef00b88969677589a74862d9b2a4d3649d000000000000000000000000ee21a055cee6a51a18d2800dc558327e66c19c4500000000000000000000000025b923dda2946c137d1ee6cc8921c2f4dca6e059000000000000000000000000904e19d1ef1a5364b90b46ecd3d70a7866934f20000000000000000000000000d83ec075fc657ebf9f33db4643ca88e13fc5eeeb000000000000000000000000373a201fc59a255419e7b8f0950a7d210507e1e8000000000000000000000000b98023f841087ec4d4876ad99df80d913e38a75200000000000000000000000059cca4ae41b35dd2eebc7c2c8c615abc54e6d41c0000000000000000000000005f665ebfa48d7bad2266e8d9fdc82df5aacbad88000000000000000000000000051ba47a1be54d7129b213ce9bfb4041e2bdbbee0000000000000000000000006b9df37679e345973d826bf76c80dc84c9eca54900000000000000000000000039eee6ba74e3bbaa3b112ab9be25616f53ebdda0000000000000000000000000a13515b5afc451265372957593a3b84af2201a34000000000000000000000000dd2d82331ce6deddb7b3cffd7098f0da1d6c1c8b000000000000000000000000e1a183804cf302ce68a3f165ea46cc89fa1c046200000000000000000000000091afe958ead10fd6bb3797c4840f39193269ff42000000000000000000000000582477a5b34fd8f3c9329c464951ddd730eda684000000000000000000000000db4f94a7c61cae39d5dd5f4b18539438dff416d4000000000000000000000000815c7b1fa5a035f5b16cefb0491fdc878225b4590000000000000000000000005b27298ffcca728a438e3b01c3656fbe9fa8ccfb00000000000000000000000094db4d2244f4721f7eadf0b1f91f0f0395c18304000000000000000000000000fbd0264d699ff51142c767f14a41a8f2d663155800000000000000000000000089a2e481dbbfdec3fff993b44b701852d485972b0000000000000000000000001fe9c65c567e6aa8bd91642155337625f197383600000000000000000000000095d31de489234aa1bb1df01697235b46dc9d63e3000000000000000000000000a6f49cdee0df687cb8350e46c5c76bc078ea3fb500000000000000000000000042d405b55b07cb04e048e008c815ba9cf985a58a000000000000000000000000047d19f575225b9f0a7a1950f0a969dfa174db300000000000000000000000003f002927e873880f38d4878da4f067840b79a285000000000000000000000000d946d4bb725a3d5082265d0326fc2319317f499500000000000000000000000056fcf60bfce4828632350b521cb3442cc82e27cb000000000000000000000000f97a47d1426f4978af145fc5a9f08a91e33969c8000000000000000000000000984dcd8e0c81b5e7d7caf6010d11c26520d123d40000000000000000000000002ae3340b678951c7b82afa1a6ac78dc14a7812ab000000000000000000000000dadd1b8a267b9973786e8bf3a57a8e76d99a9299000000000000000000000000789b62b8f5eecc4151a775791cac463cdc8328be0000000000000000000000006d2d40f0a00278e83b6a923227dcf75274514ff3000000000000000000000000c969d47c64608957e45130da76e5fdb145ac8535000000000000000000000000da3577913301f7bf3dce97b6e1b751fb73f2b2a6000000000000000000000000f7bb8e30a4aa5dbc2f2b8a4219efcaaf7d8ae5d5000000000000000000000000f4380d7aaba9dca6291cb51bf49ece546a0a62d6000000000000000000000000bde491c8bb76e8b8333b70954bd31dbab0e3e670000000000000000000000000e9d860f5dc664b258c67f1e5f806417d43f76b9c000000000000000000000000f366b511439f27a22e61e45f35cb662d04e756e6000000000000000000000000af0dc74083ba811872aed285e8fe6ed6dcf646fd000000000000000000000000828735f06a38b940bb4afbcf298de5244e15a3e3000000000000000000000000048a67c8c8bc8eaea71cd8b56b459b4ef9e63055000000000000000000000000cedf366a1ad79f4ce480bd051bad0e2e2a034584000000000000000000000000591589962e703adcdaffa53eab0781f46909dd9b00000000000000000000000082b796108cebdc51291e1485b40aa4789f5d188d000000000000000000000000d40b3ec7c5e8aa4153846a953f6c51318bb2f75600000000000000000000000082cd58b6a0600102ef1aecf6fd83eca7fc20e531000000000000000000000000ed06dfa58935c46e4a52dc672c4fbb6fd80cfaf90000000000000000000000004c4053ff204d9a0a1b61cf981ab12820769bf1450000000000000000000000002bab4054c384a906caaf1df1b403244e73c93164000000000000000000000000572ba354d24c8c9f283b7fb1a137ddb85850f5eb00000000000000000000000019caf79457012d7369ab877def90268412610d0c000000000000000000000000f2c306245e6b29b95e248e1d81882f91daa4bb60000000000000000000000000c86cd6ebec163529eedf1667d7d81fc67d0df4c40000000000000000000000008095efd731895a1ee7045a8c8a5daff43dd16b0f000000000000000000000000c20e95a2ac0db29f1ea2f18a2d99173af5f0ca170000000000000000000000000ce4b759cec950ab04869f4e81551ae5de409ffa000000000000000000000000de8be875dd2074e6df8665138f86f77b03c7305b000000000000000000000000ad74f37d39f2ee15843de5be0e09aa8ec8acbdac000000000000000000000000cda289666d6b8a364439f169eb2cf2e67ea9bc4d0000000000000000000000007fca4b66f214f38eb0ac97ca68ac88a0783436c300000000000000000000000020440a49c9b977b7f62fd699c40ad859e3eaf660000000000000000000000000f8cc10ad926402ac870429e46e153a3b21ee7a98000000000000000000000000d601b5dec727a55c58bf8726927894f76230f7f60000000000000000000000003b6ba5533ea15c06dbb573fbce21264ab09d1a5b000000000000000000000000768095d5d252298d0a0a01be295fb7cf2531e283000000000000000000000000e0891734b6915bdde5322bd31921709417c45b5200000000000000000000000027c531ea791f8b8cb9beafebf99ec16a9cd26eaf00000000000000000000000028d59c0f3dc570dbce28cf6aab39b41e7923c2f50000000000000000000000008ae24171d821f1e44f41de365ab85e7c5a2d6fbe00000000000000000000000015a6d48b34b66f32876e023d10ba805e4ac13e550000000000000000000000003088ff7f64127cc08308472a5a874f8d16eacdca00000000000000000000000018b775d20ab868b68c5e5d4ae79f68bab20554f100000000000000000000000005a595e7771ffb9dbd6e72f3d20b53bb8f4664990000000000000000000000009bedac1fe6dc92c0a605153c543c0890b308a7f9000000000000000000000000b1e4c85c112cd64d39d6a255de21a0bae31ce9d700000000000000000000000099718499344fee1d7050d11fd1f22b0a786e76230000000000000000000000009ade2a4daac90b8c8211af539f4e39772325b4620000000000000000000000002289a14f39c82c0ef8e7f6f027dea1ffff3578c4000000000000000000000000e8ff545264842e618d5bf94234a74fdfce56502c0000000000000000000000002de6f018f515f8e604a355bc73f136484a32b02f00000000000000000000000008ca701a79b9ad06820444feb7feaff8ff9be4a4000000000000000000000000956c3260479a469548bccdf792b15b3860bb643f0000000000000000000000006e24d537771138112a904134b1adc2986e67bc4200000000000000000000000034e115f2bd0fe17572db8b3a9ae34a5eef0d2672000000000000000000000000a468eaa66026c437977b254fcfc05169565a7da10000000000000000000000002656c6bc6e6cfaf2ccd6c93b9bd639558893a94e000000000000000000000000627eb5ae3d9346a7f75503fa86a24adce8ba076100000000000000000000000061c4054e2e33d2d4d531ae398b0325578826eafb000000000000000000000000e4be286ec8baa081605b496599da70861bbd967300000000000000000000000012334497d61a915a07854e07e51eac08d2228a14000000000000000000000000ff466e0376baa97d80683fd2288c5db738c2c7230000000000000000000000004d5835907e4a33245bd8d7e7d76f73a6dfd51266000000000000000000000000987de21a1f8395185bab5cde0d1b3ae8c7ee3fe40000000000000000000000003692da84136e1e93c304fa87b62a25d34b05559800000000000000000000000001dc647402c613b37e4cd813fa50973b1b49c7f100000000000000000000000065a054d513ea711b7e5e277e91f730aad6cfb47b0000000000000000000000001199f610accbf45760c190ab00ce222347770ae4000000000000000000000000a28be0639d12a36d1815786839e964af541167c1000000000000000000000000c4939b3a848ca554f7e72de61c7470b60b4b3711000000000000000000000000da1c322ff894f07cb9fb6914afb4dce81a2636bc0000000000000000000000007a52c6ddedf1d764c67b86b16e9204291c592cfc00000000000000000000000074e35cd2fdc9723cc2cef876811cdf59e95fc82f0000000000000000000000008d02ee2b8d63f79177ad8a495cc0735058a5166c000000000000000000000000ecb644d8c5fa6b590ebe4e0a835ef944e30abcd400000000000000000000000054037fa888d06e82aad735709cfad3ccb5ce8019000000000000000000000000e7f517a3f2991c57a5acd891a321041f343df3c7000000000000000000000000c3324fec6d1f65efe88c9572241bfe6ca997fdd000000000000000000000000092884e5e8e8690a483099d5d8c73d4b9caf19de6000000000000000000000000f2cfe7ae09a096b53210cf595ecd9c1291dc37e80000000000000000000000002286b9f8fa4063c32bf481befb6f2abb6e7d8ea0000000000000000000000000a1979ed644117882310c71398d684adeb960efc0000000000000000000000000adde4bfa5cbd034c5a0535c177afff73fdd4a432000000000000000000000000ed99c5f592be560e7da4aeb9a375f7b7329da92400000000000000000000000063b1653dd2836315508e31cdb0a52ae6a6cd983a000000000000000000000000904c571375ab2b2294ee85dda5cdca769c2c7c200000000000000000000000002968ed210847bd58665b90f29cc95136a6980a34000000000000000000000000e9567c35a8474900b7055fb1ee8c11d0a40a6aee000000000000000000000000535f0d2d64e95aaad45315dbafb1798eafeb00180000000000000000000000008267c632ef78135b9c15e8efb0dd90e275ca5dea000000000000000000000000e6535df2cb85cd5fb3a7d01d1ea7abaaa2029ccf000000000000000000000000ad0c5b3a301f1dac7079deaad3a662f6804cf2f40000000000000000000000009f7092d86f5204340eccfc18b267ea703eeb54330000000000000000000000009f37b21f2b4f93990862899074a8cab7a545e4fe000000000000000000000000d06291fd2df78b6b5f675d27c7665cb077f9380a000000000000000000000000fc635e7eace3621403d78acda05d5bdb7dafe90900000000000000000000000062b9314f4f21ea3889c019f510475c82a35772c1000000000000000000000000131081f990d3faa9ab645ad18082f1642a55f61d0000000000000000000000002a52ed3193510a7ae5aed2fbc4df22cbcdbeb371000000000000000000000000892b7edf60fce60c0c1d338f0b8f829832965ed3000000000000000000000000a9a04974e2ef07424a7ba5c3386eccb0b9545f480000000000000000000000009d1209912ed462b2ed373d640567a5c5088409da0000000000000000000000006e308015d030852221a6af68bd69a988c0f867d300000000000000000000000042ff9b91be745e55c00027da6d7ac580b1aa7dc10000000000000000000000005408827ba9808f7a26ef8c66975dac4add5dca7a00000000000000000000000074b8f85c97affd073d6205ef823982f9d994ee8f0000000000000000000000001542e9d84f548f025e1668bd70b2a796442d71760000000000000000000000003579ef067936e41d413a3644af5bf56fc7b8116b00000000000000000000000068fb45358483783a2de3730a61c2d9548fddf7f6000000000000000000000000c9730f1b83cd1fc2aaacb591c518558b160e2b0900000000000000000000000006c2d6b65b486652ad21e5d6c46fd00eebce192a000000000000000000000000b13cc0cce20c04c413056e6dc78cf52fdc3eb270000000000000000000000000f67c4b9bc6abf74899f17acc885fdf41d6da473f000000000000000000000000398f8bf1a045732a6246f3edea200f0b1cd2c747000000000000000000000000daa359d7d38e39cc1bd65004a14004869df2a05a0000000000000000000000006e04417d3e2fb9c9a0435f35440d13a3a0545fd3000000000000000000000000da0bfc0e74eb5c925c2bf72386b969c6ce490e350000000000000000000000008f7070f7f3fefff79e9fbcbf42da40b059b5624700000000000000000000000008499b57c0ebfbc3e8c175e52ec7d959c60826200000000000000000000000006bef410a577c47a2bd1eea7998ea126811d1a3890000000000000000000000002c05b30eff6d3c4706c7b2a92eb58679d60405320000000000000000000000003c165d70d48cce79dcb3147f95847c312331997e0000000000000000000000006a7421029ee8820e83e8bf6182e3f321d506db2d000000000000000000000000145f5164696900d5558830b115c48dfd9754a7560000000000000000000000005b19182d614fc0f6a910b33f280868d3cd0118f6000000000000000000000000537ad816a3022adf5b352fc729c466f8a9ce93f500000000000000000000000041ca43f293ad356cec91de785cf2bc64f3527c090000000000000000000000002e2b88c924bfbab2606a0d8130f5e13c3c7b13ac000000000000000000000000ba11e5130f3d1718fd7d67843cf822d968b996b5000000000000000000000000bcb9097602d50b55149c40e66b34937e6d79a4270000000000000000000000003edfebe6b7aafaa8ba18f135bd32afa56eb108960000000000000000000000000a797a13e3750ef740d806c0f7682e1f1364f51300000000000000000000000010d2e6a5f2e0360f71d6e456f41cd86ad2b1b1fb00000000000000000000000025b710fb7b25461054c25f7281fd591e4fa5c6240000000000000000000000009ccb1d2556521d3a1351097d20fe86b224cb835300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d