YQ0NCgAAAAB4Eahi354AAOMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzagIAAGQAZAFsAFoAZAJkA2wBbQJaAgEAZAJkBGwDbQRaBAEAZAJkBWwDbQVaBQEAZAJkBmwDbQZaBgEAZAJkB2wDbQdaBwEAZAJkCGwDbQhaCAEAZAJkCWwDbQlaCQEAZAJkCmwKbQtaCwEAZAJkC2wKbQxaDAEAZAJkDGwKbQ1aDQEAZAJkDWwKbQ5aDgEAZAJkDmwKbQ9aDwEAZAJkD2wKbRBaEAEAZAJkEGwRbRJaEgEAZAJkEWwRbRNaEwEAZAJkEmwRbRRaFAEAZAJkE2wRbRVaFQEAZAJkFGwRbRZaFgEAZAJkFWwRbRdaFwEAZAJkFmwYbRlaGQEAZAJkF2wabRtaGwEAZAJkGGwcbR1aHQEAZAJkGWwebR9aIAEAZAJkGmwhbSJaIgEAZAJkG2whbSNaIwEAZAJkHGwhbSRaJAEAZAJkHWwhbSVaJQEAZAJkHmwhbSZaJgEAZAJkH2whbSdaJwEAZAJkIGwhbShaKAEAZAJkIWwhbSlaKQEAZAJkImwqbStaKwEAZAJkI2wsbSxaLAEAZAJkJGwtbS5aLgEAZAJkJWwvbTBaMAEAZCZkJmQnnAJaMWQoZCmEAFoyZCpkK4QAWjNkLGQthABaNGQuZC+EAFo1ZDBkMYQAWjZkMmQzhABaN2Q0ZDWEAFo4ZDZkN4QAWjlkOGQ5hABaOmQ6ZDuEAFo7ZDxkPYQAWjxkPmQ/hABaPWRAZEGEAFo+ZEJkQ4QAWj9kRGRFhABaQGRGZEeEAFpBZEhkSYQAWkJkSmRLhABaQ2RMZE2EAFpEZE5kT4QAWkVkUGRRhABaRmRSZFOEAFpHZAFTAClU6QAAAABO6QEAAAApAdoKbmFtZV9zdHlsZSkB2hBibGlua19jbGFzc19uYW1lKQHaD2JsaW5rX3R5cGVfaW5mbykB2hZtYWtlX2JsaW5rX3RvX3Y4X3ZhbHVlKQHaF21ha2VfZGVmYXVsdF92YWx1ZV9leHByKQHaFm1ha2VfdjhfdG9fYmxpbmtfdmFsdWUpAdoQbmF0aXZlX3ZhbHVlX3RhZykB2gpMaWtlbGluZXNzKQHaCExpc3ROb2RlKQHaDFNlcXVlbmNlTm9kZSkB2gpTeW1ib2xOb2RlKQHaD1N5bWJvbFNjb3BlTm9kZSkB2ghUZXh0Tm9kZSkB2g9DeHhDbGFzc0RlZk5vZGUpAdoPQ3h4RnVuY0RlY2xOb2RlKQHaDkN4eEZ1bmNEZWZOb2RlKQHaDUN4eElmRWxzZU5vZGUpAdoPQ3h4TGlrZWx5SWZOb2RlKQHaEEN4eE5hbWVzcGFjZU5vZGUpAdoSQ29kZUdlbkFjY3VtdWxhdG9yKQHaDkNvZGVHZW5Db250ZXh0KQHaEmV4cHJfZnJvbV9leHBvc3VyZSkB2g9mb3JtYXRfdGVtcGxhdGUpAdopY29sbGVjdF9mb3J3YXJkX2RlY2xzX2FuZF9pbmNsdWRlX2hlYWRlcnMpAdoQY29tcG9uZW50X2V4cG9ydCkB2hdjb21wb25lbnRfZXhwb3J0X2hlYWRlcikB2hllbmNsb3NlX3dpdGhfaGVhZGVyX2d1YXJkKQHaFW1ha2VfY29weXJpZ2h0X2hlYWRlcikB2hltYWtlX2ZvcndhcmRfZGVjbGFyYXRpb25zKQHaHm1ha2VfaGVhZGVyX2luY2x1ZGVfZGlyZWN0aXZlcykB2hd3cml0ZV9jb2RlX25vZGVfdG9fZmlsZSkB2gxNYWtvUmVuZGVyZXIpAdoTcGFja2FnZV9pbml0aWFsaXplcikB2gtQYXRoTWFuYWdlcikB2glUYXNrUXVldWV6DSF7fS5Jc0VtcHR5KCkpAtoLU2NyaXB0VmFsdWXaDVNjcmlwdFByb21pc2VjAQAAAAAAAAAAAAAAAgAAAAQAAABDAAAAcygAAAB0AHwAdAFqAoMCcxBKAIIBRwBkAWQChABkAnQDgwN9AXwBfACDAVMAKQNOYwAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHMUAAAAZQBaAWQAWgJkAWQChABaA2QDUwApBHorX2JsaW5rX21lbWJlcl9uYW1lLjxsb2NhbHM+LkJsaW5rTWVtYmVyTmFtZWMCAAAAAAAAAAAAAAADAAAABQAAAFMAAABzggAAAHwBagBqAXAMfAFqAn0CdAOgBHwCoQF8AF8FdAOgBHwCZAGhAnwAXwZ0A6AEZAJ8AqECfABfB3QDoARkA3wCoQJ8AF8IdAOgCWQDfAKhAnwAXwp0A6ALZAR8AqECfABfDHQDoAR8AmQFoQJ8AF8NdAOgBGQDfAJkBaEDfABfDmQAUwApBk7aAm9y2gNzZXTaA2hhc3oJbWVtYmVyX3t9Wghub25fbnVsbCkP2hNjb2RlX2dlbmVyYXRvcl9pbmZv2hdwcm9wZXJ0eV9pbXBsZW1lbnRlZF9hc9oKaWRlbnRpZmllcnIDAAAA2ghhcGlfZnVuY9oHZ2V0X2FwadoKZ2V0X29yX2FwadoHc2V0X2FwadoHaGFzX2FwadoKbWVtYmVyX3ZhctoMcHJlc2VuY2VfdmFy2gxtZW1iZXJfdmFyX2baCXZhbHVlX3ZhctoQZ2V0X25vbl9udWxsX2FwadoQaGFzX25vbl9udWxsX2FwaSkD2gRzZWxm2gZtZW1iZXJaCmJsaW5rX25hbWWpAHI7AAAA+mMvd29ya3NwYWNlL2NoZWNrb3V0L2Nocm9taXVtL3NyYy90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9zY3JpcHRzL2JpbmRfZ2VuL2RpY3Rpb25hcnkucHnaCF9faW5pdF9fNgAAAHMaAAAAAAEIAQT/AgIMAQ4BDgEOAg4CDgIOAQQBBv96NF9ibGlua19tZW1iZXJfbmFtZS48bG9jYWxzPi5CbGlua01lbWJlck5hbWUuX19pbml0X19OKQTaCF9fbmFtZV9f2gpfX21vZHVsZV9f2gxfX3F1YWxuYW1lX19yPQAAAHI7AAAAcjsAAAByOwAAAHI8AAAA2g9CbGlua01lbWJlck5hbWU1AAAAcwIAAAAIAXJBAAAAKQTaCmlzaW5zdGFuY2XaB3dlYl9pZGzaEERpY3Rpb25hcnlNZW1iZXLaBm9iamVjdCkCcjoAAAByQQAAAHI7AAAAcjsAAAByPAAAANoSX2JsaW5rX21lbWJlcl9uYW1lMgAAAHMGAAAAAAEQAhARckYAAABjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcyAAAAB0AHwAdAFqAoMCcxBKAIIBfABqA3AefABqBGQAdQFTAKkBTikFckIAAAByQwAAAHJEAAAA2gtpc19yZXF1aXJlZNoNZGVmYXVsdF92YWx1ZakBcjoAAAByOwAAAHI7AAAAcjwAAADaGV9pc19tZW1iZXJfYWx3YXlzX3ByZXNlbnRJAAAAcwQAAAAAARABcksAAABjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcyoAAAB0AHwAdAFqAoMCcxBKAIIBdAN8AIMBDABvKHQEfABqBYMBagZ0B3YBUwByRwAAACkIckIAAAByQwAAAHJEAAAAcksAAAByBQAAANoIaWRsX3R5cGXaCG1lbWJlcl902iBfRElDVF9NRU1CRVJfUFJFU0VOQ0VfUFJFRElDQVRFU3JKAAAAcjsAAAByOwAAAHI8AAAA2hdfZG9lc191c2VfcHJlc2VuY2VfZmxhZ04AAABzDAAAAAABEAEMAQT/BAEC/3JPAAAAYwEAAAAAAAAAAAAAAAMAAAADAAAAQwAAAHNeAAAAdAB8AHQBagKDAnMQSgCCAXQDfACDAXIcZAFTAHQEfACDAXIudAV8AIMBagZTAHQHfABqCIMBagl9AXwBdAp2AHNGSgCCAXQFfACDAWoLfQJ0DHQKfAEZAHwCgwJTACkCTtoEdHJ1ZSkNckIAAAByQwAAAHJEAAAAcksAAAByTwAAAHJGAAAAcjQAAAByBQAAAHJMAAAAck0AAAByTgAAAHI2AAAA2gdfZm9ybWF0KQNyOgAAANoKYmxpbmtfdHlwZdoCXzFyOwAAAHI7AAAAcjwAAADaFV9tZW1iZXJfcHJlc2VuY2VfZXhwclQAAABzEgAAAAABEAEIAQQBCAEKAQwBDAEKAXJUAAAAYwEAAAAAAAAAAAAAAAMAAAAFAAAAQwAAAHNQAAAAdABkAWQCgwJ0AGQDZASDAnQAZAVkBoMCZwN9AXQAZAdkCIMCfQJ8AqABdAKgA2QJZwGhAaEBAQB8AaAEfAKhAQEAfACgBXwBoQEBAGQAUwApCk7aD2N1cnJlbnRfY29udGV4dHpMdjg6OkxvY2FsPHY4OjpDb250ZXh0PiAke2N1cnJlbnRfY29udGV4dH0gPSAke2lzb2xhdGV9LT5HZXRDdXJyZW50Q29udGV4dCgpO1oPdjhfbWVtYmVyX25hbWVzekVjb25zdCBhdXRvKiAke3Y4X21lbWJlcl9uYW1lc30gPSBHZXRWOE1lbWJlck5hbWVzKCR7aXNvbGF0ZX0pLmRhdGEoKTvaFGlzX2luX3NlY3VyZV9jb250ZXh0ek1jb25zdCBib29sICR7aXNfaW5fc2VjdXJlX2NvbnRleHR9ID0gJHtleGVjdXRpb25fY29udGV4dH0tPklzU2VjdXJlQ29udGV4dCgpO9oRZXhlY3V0aW9uX2NvbnRleHR6UEV4ZWN1dGlvbkNvbnRleHQqICR7ZXhlY3V0aW9uX2NvbnRleHR9ID0gVG9FeGVjdXRpb25Db250ZXh0KCR7Y3VycmVudF9jb250ZXh0fSk7ekV0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2V4ZWN1dGlvbl9jb250ZXh0L2V4ZWN1dGlvbl9jb250ZXh0LmgpBnINAAAA2gphY2N1bXVsYXRlchYAAADaF3JlcXVpcmVfaW5jbHVkZV9oZWFkZXJz2gZhcHBlbmTaFXJlZ2lzdGVyX2NvZGVfc3ltYm9scykD2gljb2RlX25vZGXaCmxvY2FsX3ZhcnPaBG5vZGVyOwAAAHI7AAAAcjwAAADaIGJpbmRfbWVtYmVyX2l0ZXJhdGlvbl9sb2NhbF92YXJzYAAAAHMoAAAAAAICAQT/AgMCAQT/AgMCAQT/AvkEDQIBBP8EAwQBBAEC/wT/BAQKAnJfAAAAYwEAAAAAAAAAAAAAAAMAAAAEAAAAQwAAAHM2AAAAfABqAEQAXSp9AXwBagFkAHUAchZxBnQCfAFqA3wBagGDAn0CfAJqBHIGAQBkAVMAcQZkAlMAKQNORlQpBdoHbWVtYmVyc3JJAAAAcgcAAAByTAAAANoQaW5pdGlhbGl6ZXJfZGVwcykD2gpkaWN0aW9uYXJ5cjoAAADaDGRlZmF1bHRfZXhwcnI7AAAAcjsAAAByPAAAANoaX2lzX2RlZmF1bHRfY3Rvcl9hdmFpbGFibGV6AAAAcxIAAAAAAQoBCgECAQYBBP8EAgYBCAFyZAAAAGMBAAAAAAAAAAAAAAAJAAAABgAAAEMAAABzBgEAAHQAfAB0AYMCcw5KAIIBfABqAn0BZAF9AmQCfQN0A4MAfQR0A4MAfQV0BHwBgwFyaHQFfAJnAHwDZANkBI0EfQZ8BKAGfAahAQEAfAagB3wAoAihAKEBAQB8BmoJoAZ0CmQFgwGhAQEAdAV8AmQGZwF8A2QDZASNBH0GfASgBnwGoQEBAHwGoAd8AKAIoQChAQEAfAZqCaAGdApkB4MBoQEBAGcAZAiiAX0HdAt8AnwHfANkA2QEjQR9CHwEoAZ8CKEBAQB0BXwCfABqDHwHfANkCY0EfQZ8BaAGfAahAQEAfAagB3wAoAihAKEBAQB8BmoJoAZ0CmQKgwGhAQEAfAR8BWYCUwApC07aBkNyZWF0ZXoOJHtjbGFzc19uYW1lfSpUqQTaBG5hbWXaCWFyZ19kZWNsc9oLcmV0dXJuX3R5cGXaBnN0YXRpY3otcmV0dXJuIE1ha2VHYXJiYWdlQ29sbGVjdGVkPCR7Y2xhc3NfbmFtZX0+KCk7+hR2ODo6SXNvbGF0ZSogaXNvbGF0ZXo0cmV0dXJuIE1ha2VHYXJiYWdlQ29sbGVjdGVkPCR7Y2xhc3NfbmFtZX0+KGlzb2xhdGUpO6kDcmsAAAB6HXY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4X3ZhbHVl+h9FeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlqQRyZwAAANoKY2xhc3NfbmFtZXJoAAAAcmkAAAB61ERDSEVDSyghdjhfdmFsdWUuSXNFbXB0eSgpKTsKCiR7Y2xhc3NfbmFtZX0qIGRpY3Rpb25hcnkgPSBDcmVhdGUoaXNvbGF0ZSk7CmRpY3Rpb25hcnktPkZpbGxNZW1iZXJzKGlzb2xhdGUsIHY4X3ZhbHVlLCBleGNlcHRpb25fc3RhdGUpOwppZiAoZXhjZXB0aW9uX3N0YXRlLkhhZEV4Y2VwdGlvbigpKSB7CiAgcmV0dXJuIG51bGxwdHI7Cn0KcmV0dXJuIGRpY3Rpb25hcnk7KQ1yQgAAAHIXAAAAcmIAAAByCwAAAHJkAAAAchIAAAByWgAAANoWc2V0X2Jhc2VfdGVtcGxhdGVfdmFyc9oRdGVtcGxhdGVfYmluZGluZ3PaBGJvZHlyDwAAAHIRAAAAcm8AAAApCdoKY2dfY29udGV4dHJiAAAAcmcAAAByaQAAANoFZGVjbHPaBGRlZnPaCGZ1bmNfZGVmcmgAAADaCWZ1bmNfZGVjbHI7AAAAcjsAAAByPAAAANoWbWFrZV9jcmVhdGVfZGljdF9mdW5jc4UAAABzWgAAAAABDgIGAQQBBAIGAQYCCAEEAQIBAgEC/QYECgEOAQYBBv8EAwQBBAECAQL9BgQKAQ4BBgEG/wQDCAUEAQIBAgEC/QYECgEEAQQBAgEC/QYECgEOAgYBBv8EC3J4AAAAYwEAAAAAAAAAAAAAABEAAAAIAAAAQwAAAHNsAQAAdACDAH0BdACDAH0CfABqAX0DdAJ8A4MBfQRnAH0FZAF9BnwDagNEAF1kfQd8B2oEZAB1AHI4cSh8B2oE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YXNzX25hbWV9O3oOfiR7Y2xhc3NfbmFtZX1yfAAAAFRyfwAAACkBcpcAAAB6DSNpbmNsdWRlICJ7fSJaDkV4Y2VwdGlvblN0YXRlej50aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy9kaWN0aW9uYXJ5X2Jhc2UuaHoPdjgvaW5jbHVkZS92OC5oKQV6Q3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvZ2VuZXJhdGVkX2NvZGVfaGVscGVyLmh6RnRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19pbXBsLmh6QXRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2JpbmRpbmdzL2V4Y2VwdGlvbl9tZXNzYWdlcy5oej50aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9iaW5kaW5ncy9leGNlcHRpb25fc3RhdGUuaHpCdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vYmluZGluZ3MvdjhfcGVyX2lzb2xhdGVfZGF0YS5oYwEAAAAAAAAAAAAAAAEAAAABAAAAUwAAAHMGAAAAfABqAFMAckcAAABykQAAAHJKAAAAcjsAAAByOwAAAHI8AAAA2gg8bGFtYmRhPhUEAADzAAAAAHolZ2VuZXJhdGVfZGljdGlvbmFyeS48bG9jYWxzPi48bGFtYmRhPilFckIAAAByQwAAANoKSWRlbnRpZmllcnIjAAAA2hB3ZWJfaWRsX2RhdGFiYXNl2gRmaW5kciQAAADaDWFwaV9jb21wb25lbnTaDmltcGxfY29tcG9uZW50cisAAADaC2Zvcl90ZXN0aW5ncgMAAADaBmNsYXNzX3IEAAAAcsgAAAByFwAAANoIYXBpX3BhdGhyCwAAANoPc2V0X2FjY3VtdWxhdG9ychYAAADaDHNldF9yZW5kZXJlcnIiAAAAchUAAADaCW5hbWVzcGFjZXIQAAAAcm8AAABy5gAAAHIbAAAAcnAAAABycQAAANoLdG9wX3NlY3Rpb25yWgAAAHIPAAAAcngAAAByhwAAAHIRAAAAcsoAAABy2AAAAHLbAAAAcuAAAABywwAAAHLlAAAAcmIAAAByggAAANoJbWFrZV9jb3B5cqsAAAByrgAAAHK2AAAAcroAAAByvQAAAHKeAAAAch4AAAByHQAAAHIgAAAA2gthY2N1bXVsYXRvctoMaGVhZGVyX2d1YXJkcnIAAAByHwAAAHLTAAAA2g9hZGRfY2xhc3NfZGVjbHPaE2FkZF9pbmNsdWRlX2hlYWRlcnNyHAAAAHIaAAAAcuQAAADaDnB1YmxpY19zZWN0aW9u2hFwcm90ZWN0ZWRfc2VjdGlvbtoPcHJpdmF0ZV9zZWN0aW9uciEAAADaC2dlbl9wYXRoX3RvKTVaFWRpY3Rpb25hcnlfaWRlbnRpZmllcnLyAAAAcmIAAADaDHBhdGhfbWFuYWdlcnL0AAAAcvYAAABybwAAAHLmAAAAcnMAAADaC2hlYWRlcl9wYXRo2gtzb3VyY2VfcGF0aNoLaGVhZGVyX25vZGXaC3NvdXJjZV9ub2Rl2g9oZWFkZXJfYmxpbmtfbnPaD3NvdXJjZV9ibGlua19uc9oJY2xhc3NfZGVmWgtjcmVhdGVfZGVjbFoKY3JlYXRlX2RlZloRY29uc3RydWN0b3JfZGVjbHNaEGNvbnN0cnVjdG9yX2RlZnNaD2Rlc3RydWN0b3JfZGVjbFoWZmlsbF93aXRoX21lbWJlcnNfZGVjbFoVZmlsbF93aXRoX21lbWJlcnNfZGVmWhpmaWxsX3dpdGhfb3duX21lbWJlcnNfZGVjbFoZZmlsbF93aXRoX293bl9tZW1iZXJzX2RlZloRZmlsbF9tZW1iZXJzX2RlY2xaEGZpbGxfbWVtYmVyc19kZWZaGmZpbGxfbWVtYmVyc19pbnRlcm5hbF9kZWNsWhlmaWxsX21lbWJlcnNfaW50ZXJuYWxfZGVmWhhnZXRfdjhfbWVtYmVyX25hbWVzX2RlY2xaF2dldF92OF9tZW1iZXJfbmFtZXNfZGVmWgp0cmFjZV9kZWNsWgl0cmFjZV9kZWZaFW1lbWJlcl9hY2Nlc3Nvcl9kZWNsc1oUbWVtYmVyX2FjY2Vzc29yX2RlZnNaFW1lbWJlcl92YWx1ZV92YXJfZGVmc1oYbWVtYmVyX3ByZXNlbnNlX3Zhcl9kZWZzcjoAAABaDm1lbWJlcl9jb250ZXh0WglnZXRfZGVjbHNaCGdldF9kZWZzWgloYXNfZGVjbHNaCGhhc19kZWZzWglzZXRfZGVjbHNaCHNldF9kZWZzcrgAAAByuQAAAFoXbWlncmF0aW9uX2FkYXB0ZXJfZGVjbHNaFm1pZ3JhdGlvbl9hZGFwdGVyX2RlZnPaFGhlYWRlcl9mb3J3YXJkX2RlY2xz2hZoZWFkZXJfaW5jbHVkZV9oZWFkZXJz2hRzb3VyY2VfZm9yd2FyZF9kZWNsc9oWc291cmNlX2luY2x1ZGVfaGVhZGVyc3I7AAAAcjsAAAByPAAAANoTZ2VuZXJhdGVfZGljdGlvbmFyeX8DAABzaAEAAAABEAIKAQoCCAEOAQL/BAIGAQgCCAEOAQYBDAIEAgIBAgECAQL9BgYMAQwDCgEMAQwBCgEMAQwDDgEOAwYBBgECAQT/Av4GBA4BBgEG/wQEDAMMAQIBCP8GBQb/BAECAgb/BgUG/wQBAgIG/wYFBv8EAQIBDAIGAQYBBgEGAQwBDAEMAQwBDAEMAgb/BgIEAQYBAgECAQIBAvsGBwQBBgECAQIBAgEC+wYHCgEOAwQBBAEGAQIBAgEIAQYBAv0EBAj7Av0GCgYBCAEG/gYEBAEEAQYBDAEGAQgBBgEC+QYJBgEIAQb+BgYOAQYCBP8WAgIBCAEC+wYHEAgCAQ7/Av8IAQICDAEMAQwBDAIMAQYBAgECAQIBBgECAQYBAvkGCQYBAgEGAQL9BgUGAQIBBgECAQYBAgEGAQIBBgEC9wYLBgECAQYBAgEGAQIBBgECAQYBAgEGAQIBBgECAQYBAgEGAQLvBhUQAXISAQAAYwEAAAAAAAAAAAAAAAMAAAAFAAAAQwAAAHM2AAAAdAB8AHQBgwJzDkoAggF0AoMAoAOhAH0BfAFqBEQAXRJ9AnwAoAV0BnwCagehAgEAcR5kAFMAckcAAAApCHJCAAAAciUAAAByIwAAAHLyAAAA2gxkaWN0aW9uYXJpZXPaCXBvc3RfdGFza3ISAQAAci0AAAApA9oKdGFza19xdWV1ZXLyAAAAcmIAAAByOwAAAHI7AAAAcjwAAADaFWdlbmVyYXRlX2RpY3Rpb25hcmllc04EAABzCAAAAAABDgIKAgoBchYBAAApSHJDAAAAcnwAAAByAwAAANoPYmxpbmtfdjhfYnJpZGdlcgQAAAByBQAAAHIGAAAAcgcAAAByCAAAAHIJAAAAclwAAAByCgAAAHILAAAAcgwAAAByDQAAAHIOAAAAcg8AAADaDWNvZGVfbm9kZV9jeHhyEAAAAHIRAAAAchIAAAByEwAAAHIUAAAAchUAAADaE2NvZGVnZW5fYWNjdW11bGF0b3JyFgAAANoPY29kZWdlbl9jb250ZXh0chcAAADaDGNvZGVnZW5fZXhwcnIYAAAA2g5jb2RlZ2VuX2Zvcm1hdHIZAAAAclEAAADaDWNvZGVnZW5fdXRpbHNyGgAAAHIbAAAAchwAAAByHQAAAHIeAAAAch8AAAByIAAAAHIhAAAA2g1tYWtvX3JlbmRlcmVyciIAAAByIwAAAHIGAQAAciQAAAByFQEAAHIlAAAAck4AAAByRgAAAHJLAAAAck8AAAByVAAAAHJfAAAAcmQAAAByeAAAAHKHAAAAcqsAAAByrgAAAHK2AAAAcroAAAByvQAAAHLDAAAAcsoAAABy2AAAAHLbAAAAcuAAAABy3gAAAHLlAAAAchIBAAByFgEAAHI7AAAAcjsAAAByOwAAAHI8AAAA2gg8bW9kdWxlPgUAAABzegAAAAgCDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMBAIBAv4GBggXCAUIBggMCBoICwg8CEcIeggXCD4IHwhHCCMIKQg5CEQILwgmCCQIfwBQ