VQ0NCgAAAADLuIxj0yMAAOMAAAAAAAAAAAAAAAAAAAAApAAAAEAAAABzUAIAAGQAWgBkAWQCbAFtAloCAQBHAGQDZASEAGQEZQKDA1oDZQNkBWQBZAZkB2QBgwVaBGQIWgVlBGoGWgZlBVoHZAlaCGQKZAtsCVQAZApkC2wKVABkCmQLbAtUAGQKZAxsDG0NWg1tDloOAQBkCmQLbA9UAGQKZAtsDFQAZApkDWwMbRBaEQEAZApkC2wSVABkCmQNbBJtEFoTAQBkCmQObBRtFVoVbRZaFm0XWhQBAGQKZA9sGG0ZWhgBAGQKZBBsGm0bWhptEFocAQBkEWUdgwBrB3LYZRRaF2QSZR2DAGsHcuZlGlobZBNlHYMAawdy9GUYWhllEWUcZRMXADcAWhFkFGQVZBZkF2QYZBlkGmQbZBxkHWQeZB9kIGQhZCJkI2QkZCVkJmQnZChkKWQqZCtkLGQtZC5kL2QwZDFkMmQzZDRkNWQ2ZDdkOGQ5ZDpkO2Q8ZD1kPmQ/ZEBkQWRCZENkRGRFZEZkR2RIZElkSmRLZExkTWROZE9kUGRRZFJkU2RUZFVkVmRXZFhkWWRaZFtkXGRdZF5kX2RgZGFkYmRjZGRkZWRmZGdkaGRpZGpka2RsZG1kbmRvZHBkcWRyZHNkdGR1ZHZkd2R4ZHlkemR7ZHxkfWR+ZH9kgGSBZIJkg2SEZIVkhmQSZBFkh2SIZBNkiWSKZItkjGSNZI5kj2SQZJFkkmSTZJRklWSWZJdkmGSZZJpkm2ScZJ1knmSfZKBkoWSiZKNkpGSlZKZkp2SoZKlkqmSrZKxkf2StZK5kg2SvZLBksWSyZ6RaHmSzUwAptGEaCwAACnB5cGFyc2luZyBtb2R1bGUgLSBDbGFzc2VzIGFuZCBtZXRob2RzIHRvIGRlZmluZSBhbmQgZXhlY3V0ZSBwYXJzaW5nIGdyYW1tYXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgpUaGUgcHlwYXJzaW5nIG1vZHVsZSBpcyBhbiBhbHRlcm5hdGl2ZSBhcHByb2FjaCB0byBjcmVhdGluZyBhbmQKZXhlY3V0aW5nIHNpbXBsZSBncmFtbWFycywgdnMuIHRoZSB0cmFkaXRpb25hbCBsZXgveWFjYyBhcHByb2FjaCwgb3IgdGhlCnVzZSBvZiByZWd1bGFyIGV4cHJlc3Npb25zLiAgV2l0aCBweXBhcnNpbmcsIHlvdSBkb24ndCBuZWVkIHRvIGxlYXJuCmEgbmV3IHN5bnRheCBmb3IgZGVmaW5pbmcgZ3JhbW1hcnMgb3IgbWF0Y2hpbmcgZXhwcmVzc2lvbnMgLSB0aGUgcGFyc2luZwptb2R1bGUgcHJvdmlkZXMgYSBsaWJyYXJ5IG9mIGNsYXNzZXMgdGhhdCB5b3UgdXNlIHRvIGNvbnN0cnVjdCB0aGUKZ3JhbW1hciBkaXJlY3RseSBpbiBQeXRob24uCgpIZXJlIGlzIGEgcHJvZ3JhbSB0byBwYXJzZSAiSGVsbG8sIFdvcmxkISIgKG9yIGFueSBncmVldGluZyBvZiB0aGUgZm9ybQpgYCI8c2FsdXRhdGlvbj4sIDxhZGRyZXNzZWU+ISJgYCksIGJ1aWx0IHVwIHVzaW5nIDpjbGFzczpgV29yZGAsCjpjbGFzczpgTGl0ZXJhbGAsIGFuZCA6Y2xhc3M6YEFuZGAgZWxlbWVudHMKKHRoZSA6bWV0aDpgJysnPFBhcnNlckVsZW1lbnQuX19hZGRfXz5gIG9wZXJhdG9ycyBjcmVhdGUgOmNsYXNzOmBBbmRgIGV4cHJlc3Npb25zLAphbmQgdGhlIHN0cmluZ3MgYXJlIGF1dG8tY29udmVydGVkIHRvIDpjbGFzczpgTGl0ZXJhbGAgZXhwcmVzc2lvbnMpOjoKCiAgICBmcm9tIHBpcC5fdmVuZG9yLnB5cGFyc2luZyBpbXBvcnQgV29yZCwgYWxwaGFzCgogICAgIyBkZWZpbmUgZ3JhbW1hciBvZiBhIGdyZWV0aW5nCiAgICBncmVldCA9IFdvcmQoYWxwaGFzKSArICIsIiArIFdvcmQoYWxwaGFzKSArICIhIgoKICAgIGhlbGxvID0gIkhlbGxvLCBXb3JsZCEiCiAgICBwcmludChoZWxsbywgIi0+IiwgZ3JlZXQucGFyc2Vfc3RyaW5nKGhlbGxvKSkKClRoZSBwcm9ncmFtIG91dHB1dHMgdGhlIGZvbGxvd2luZzo6CgogICAgSGVsbG8sIFdvcmxkISAtPiBbJ0hlbGxvJywgJywnLCAnV29ybGQnLCAnISddCgpUaGUgUHl0aG9uIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBncmFtbWFyIGlzIHF1aXRlIHJlYWRhYmxlLCBvd2luZyB0byB0aGUKc2VsZi1leHBsYW5hdG9yeSBjbGFzcyBuYW1lcywgYW5kIHRoZSB1c2Ugb2YgOmNsYXNzOmAnKyc8QW5kPmAsCjpjbGFzczpgJ3wnPE1hdGNoRmlyc3Q+YCwgOmNsYXNzOmAnXic8T3I+YCBhbmQgOmNsYXNzOmAnJic8RWFjaD5gIG9wZXJhdG9ycy4KClRoZSA6Y2xhc3M6YFBhcnNlUmVzdWx0c2Agb2JqZWN0IHJldHVybmVkIGZyb20KOmNsYXNzOmBQYXJzZXJFbGVtZW50LnBhcnNlU3RyaW5nYCBjYW4gYmUKYWNjZXNzZWQgYXMgYSBuZXN0ZWQgbGlzdCwgYSBkaWN0aW9uYXJ5LCBvciBhbiBvYmplY3Qgd2l0aCBuYW1lZAphdHRyaWJ1dGVzLgoKVGhlIHB5cGFyc2luZyBtb2R1bGUgaGFuZGxlcyBzb21lIG9mIHRoZSBwcm9ibGVtcyB0aGF0IGFyZSB0eXBpY2FsbHkKdmV4aW5nIHdoZW4gd3JpdGluZyB0ZXh0IHBhcnNlcnM6CgogIC0gZXh0cmEgb3IgbWlzc2luZyB3aGl0ZXNwYWNlICh0aGUgYWJvdmUgcHJvZ3JhbSB3aWxsIGFsc28gaGFuZGxlCiAgICAiSGVsbG8sV29ybGQhIiwgIkhlbGxvICAsICBXb3JsZCAgISIsIGV0Yy4pCiAgLSBxdW90ZWQgc3RyaW5ncwogIC0gZW1iZWRkZWQgY29tbWVudHMKCgpHZXR0aW5nIFN0YXJ0ZWQgLQotLS0tLS0tLS0tLS0tLS0tLQpWaXNpdCB0aGUgY2xhc3NlcyA6Y2xhc3M6YFBhcnNlckVsZW1lbnRgIGFuZCA6Y2xhc3M6YFBhcnNlUmVzdWx0c2AgdG8Kc2VlIHRoZSBiYXNlIGNsYXNzZXMgdGhhdCBtb3N0IG90aGVyIHB5cGFyc2luZwpjbGFzc2VzIGluaGVyaXQgZnJvbS4gVXNlIHRoZSBkb2NzdHJpbmdzIGZvciBleGFtcGxlcyBvZiBob3cgdG86CgogLSBjb25zdHJ1Y3QgbGl0ZXJhbCBtYXRjaCBleHByZXNzaW9ucyBmcm9tIDpjbGFzczpgTGl0ZXJhbGAgYW5kCiAgIDpjbGFzczpgQ2FzZWxlc3NMaXRlcmFsYCBjbGFzc2VzCiAtIGNvbnN0cnVjdCBjaGFyYWN0ZXIgd29yZC1ncm91cCBleHByZXNzaW9ucyB1c2luZyB0aGUgOmNsYXNzOmBXb3JkYAogICBjbGFzcwogLSBzZWUgaG93IHRvIGNyZWF0ZSByZXBldGl0aXZlIGV4cHJlc3Npb25zIHVzaW5nIDpjbGFzczpgWmVyb09yTW9yZWAKICAgYW5kIDpjbGFzczpgT25lT3JNb3JlYCBjbGFzc2VzCiAtIHVzZSA6Y2xhc3M6YCcrJzxBbmQ+YCwgOmNsYXNzOmAnfCc8TWF0Y2hGaXJzdD5gLCA6Y2xhc3M6YCdeJzxPcj5gLAogICBhbmQgOmNsYXNzOmAnJic8RWFjaD5gIG9wZXJhdG9ycyB0byBjb21iaW5lIHNpbXBsZSBleHByZXNzaW9ucyBpbnRvCiAgIG1vcmUgY29tcGxleCBvbmVzCiAtIGFzc29jaWF0ZSBuYW1lcyB3aXRoIHlvdXIgcGFyc2VkIHJlc3VsdHMgdXNpbmcKICAgOmNsYXNzOmBQYXJzZXJFbGVtZW50LnNldFJlc3VsdHNOYW1lYAogLSBhY2Nlc3MgdGhlIHBhcnNlZCBkYXRhLCB3aGljaCBpcyByZXR1cm5lZCBhcyBhIDpjbGFzczpgUGFyc2VSZXN1bHRzYAogICBvYmplY3QKIC0gZmluZCBzb21lIGhlbHBmdWwgZXhwcmVzc2lvbiBzaG9ydC1jdXRzIGxpa2UgOmNsYXNzOmBkZWxpbWl0ZWRMaXN0YAogICBhbmQgOmNsYXNzOmBvbmVPZmAKIC0gZmluZCBtb3JlIHVzZWZ1bCBjb21tb24gZXhwcmVzc2lvbnMgaW4gdGhlIDpjbGFzczpgcHlwYXJzaW5nX2NvbW1vbmAKICAgbmFtZXNwYWNlIGNsYXNzCukAAAAAKQHaCk5hbWVkVHVwbGVjAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAc1IAAABlAFoBZABaAlUAZQNlBGQBPABlA2UEZAI8AGUDZQRkAzwAZQVlBGQEPABlA2UEZAU8AGUGZAZkB4QAgwFaB2QIZAmEAFoIZApkC4QAWglkDFMAKQ3aDHZlcnNpb25faW5mb9oFbWFqb3LaBW1pbm9y2gVtaWNyb9oMcmVsZWFzZWxldmVs2gZzZXJpYWxjAQAAAAAAAAAAAAAAAQAAAAYAAABDAAAAc0oAAABkAaAAfABqAXwAagJ8AGoDoQNkAqAAfABqBGQDGQBkBGsCcihkBW4CZAZ8AGoEZAMZAHwAagWhA2QGZgJ8AGoEZAdrAhkAFwBTACkITnoIe30ue30ue316Bnt9e317fXIBAAAA2gFj2gFy2gDaBWZpbmFsKQbaBmZvcm1hdHIEAAAAcgUAAAByBgAAAHIHAAAAcggAAACpAdoEc2VsZqkAchAAAAD6Qi90bXAvcGlwLXVucGFja2VkLXdoZWVsLWlrdnRxc3kxL3BpcC9fdmVuZG9yL3B5cGFyc2luZy9fX2luaXRfXy5wedoLX192ZXJzaW9uX19qAAAAcxgAAAAAAxICBAEUAQgBBP0CBQL6AgcI+QL/Av96GHZlcnNpb25faW5mby5fX3ZlcnNpb25fX2MBAAAAAAAAAAAAAAABAAAABQAAAEMAAABzEAAAAGQBoAB0AXwAagJ0A6EDUwApAk56Cnt9IHt9IC8ge30pBHINAAAA2ghfX25hbWVfX3ISAAAA2hBfX3ZlcnNpb25fdGltZV9fcg4AAAByEAAAAHIQAAAAchEAAADaB19fc3RyX194AAAAcwIAAAAAAXoUdmVyc2lvbl9pbmZvLl9fc3RyX19jAQAAAAAAAAAAAAAAAQAAAAoAAABDAAAAcywAAABkAaAAdAF0AnwAgwFqAWQCoANkA2QEhAB0BHwAagV8AIMCRACDAaEBoQNTACkFTnoJe30ue30oe30pegIsIGMBAAAAAAAAAAAAAAACAAAAAwAAAHMAAABzGAAAAHwAXRB9AWQAagB8AY4AVgABAHECZAFTACkCegd7fT17IXJ9TikBcg0AAAApAtoCLjDaAm52chAAAAByEAAAAHIRAAAA2gk8Z2VuZXhwcj5/AAAAcwQAAAAEAAIAeih2ZXJzaW9uX2luZm8uX19yZXByX18uPGxvY2Fscz4uPGdlbmV4cHI+KQZyDQAAAHITAAAA2gR0eXBl2gRqb2lu2gN6aXDaB19maWVsZHNyDgAAAHIQAAAAchAAAAByEQAAANoIX19yZXByX197AAAAcwoAAAAAAQQBAgEIARr9ehV2ZXJzaW9uX2luZm8uX19yZXByX19OKQpyEwAAANoKX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gNpbnTaD19fYW5ub3RhdGlvbnNfX9oDc3Ry2ghwcm9wZXJ0eXISAAAAchUAAAByHQAAAHIQAAAAchAAAAByEAAAAHIRAAAAcgMAAABjAAAAcxIAAAAKAQgBCAEIAQgBCAICAQoNCANyAwAAAOkDAAAA6QkAAAByDAAAAHoVMDUgTWF5IDIwMjIgMDc6MDIgVVRDeitQYXVsIE1jR3VpcmUgPHB0bWNnLmdtK3B5cGFyc2luZ0BnbWFpbC5jb20+6QEAAAApAdoBKikC2ghfX2RpYWdfX9oKX19jb21wYXRfXykB2g5fYnVpbHRpbl9leHBycykD2gt1bmljb2RlX3NldNoQVW5pY29kZVJhbmdlTGlzdNoRcHlwYXJzaW5nX3VuaWNvZGUpAdoOcHlwYXJzaW5nX3Rlc3QpAtoQcHlwYXJzaW5nX2NvbW1vbnIqAAAAci0AAAByLwAAAHIuAAAAchIAAAByFAAAANoKX19hdXRob3JfX3IpAAAAcigAAADaA0FuZFoLQXRMaW5lU3RhcnRaDUF0U3RyaW5nU3RhcnTaD0Nhc2VsZXNzS2V5d29yZNoPQ2FzZWxlc3NMaXRlcmFs2gpDaGFyc05vdElu2gdDb21iaW5l2gREaWN02gRFYWNo2gVFbXB0edoKRm9sbG93ZWRCedoHRm9yd2FyZNoKR29Ub0NvbHVtbtoFR3JvdXBaDUluZGVudGVkQmxvY2vaB0tleXdvcmTaB0xpbmVFbmTaCUxpbmVTdGFydNoHTGl0ZXJhbFoHTG9jYXRlZNoKUHJlY2VkZWRCedoKTWF0Y2hGaXJzdNoHTm9NYXRjaNoGTm90QW552glPbmVPck1vcmXaCE9ubHlPbmNlWgdPcEFzc29jWgNPcHTaCE9wdGlvbmFs2gJPctoSUGFyc2VCYXNlRXhjZXB0aW9u2hNQYXJzZUVsZW1lbnRFbmhhbmNl2g5QYXJzZUV4Y2VwdGlvbtoPUGFyc2VFeHByZXNzaW9u2hNQYXJzZUZhdGFsRXhjZXB0aW9u2gxQYXJzZVJlc3VsdHPaFFBhcnNlU3ludGF4RXhjZXB0aW9u2g1QYXJzZXJFbGVtZW50Wg1Qb3NpdGlvblRva2Vu2gxRdW90ZWRTdHJpbmfaGVJlY3Vyc2l2ZUdyYW1tYXJFeGNlcHRpb27aBVJlZ2V42gZTa2lwVG/aCVN0cmluZ0VuZNoLU3RyaW5nU3RhcnTaCFN1cHByZXNz2gVUb2tlbtoOVG9rZW5Db252ZXJ0ZXLaBVdoaXRl2gRXb3Jk2gdXb3JkRW5k2glXb3JkU3RhcnTaClplcm9Pck1vcmXaBENoYXLaCWFscGhhbnVtc9oGYWxwaGFz2gphbHBoYXM4Yml0Wg1hbnlfY2xvc2VfdGFnWgxhbnlfb3Blbl90YWdaD2Nfc3R5bGVfY29tbWVudNoDY29sWhJjb21tb25faHRtbF9lbnRpdHlaDWNvdW50ZWRfYXJyYXlaEWNwcF9zdHlsZV9jb21tZW50WhFkYmxfcXVvdGVkX3N0cmluZ1oRZGJsX3NsYXNoX2NvbW1lbnRaDmRlbGltaXRlZF9saXN0WgdkaWN0X29m2gVlbXB0edoHaGV4bnVtc1oMaHRtbF9jb21tZW50WgppZGVudGNoYXJzWg5pZGVudGJvZHljaGFyc1oSamF2YV9zdHlsZV9jb21tZW502gRsaW5lWghsaW5lX2VuZFoKbGluZV9zdGFydNoGbGluZW5vWg5tYWtlX2h0bWxfdGFnc1oNbWFrZV94bWxfdGFnc1oRbWF0Y2hfb25seV9hdF9jb2xaE21hdGNoX3ByZXZpb3VzX2V4cHJaFm1hdGNoX3ByZXZpb3VzX2xpdGVyYWxaC25lc3RlZF9leHByWhFudWxsX2RlYnVnX2FjdGlvbtoEbnVtc1oGb25lX29m2gpwcmludGFibGVz2ghwdW5jOGJpdFoUcHl0aG9uX3N0eWxlX2NvbW1lbnRaDXF1b3RlZF9zdHJpbmdaDXJlbW92ZV9xdW90ZXNaDHJlcGxhY2Vfd2l0aFoTcmVwbGFjZV9odG1sX2VudGl0eVoMcmVzdF9vZl9saW5lWhFzZ2xfcXVvdGVkX3N0cmluZ9oGc3JhbmdlWgpzdHJpbmdfZW5kWgxzdHJpbmdfc3RhcnRaEnRyYWNlX3BhcnNlX2FjdGlvbloOdW5pY29kZV9zdHJpbmdaDndpdGhfYXR0cmlidXRl2g1pbmRlbnRlZEJsb2NrWhFvcmlnaW5hbF90ZXh0X2ZvctoHdW5ncm91cFoOaW5maXhfbm90YXRpb27aC2xvY2F0ZWRFeHByWgp3aXRoX2NsYXNz2gpDbG9zZU1hdGNoWgl0b2tlbl9tYXByKwAAAFoZY29uZGl0aW9uX2FzX3BhcnNlX2FjdGlvbtoPX192ZXJzaW9uVGltZV9f2gthbnlDbG9zZVRhZ9oKYW55T3BlblRhZ9oNY1N0eWxlQ29tbWVudNoQY29tbW9uSFRNTEVudGl0edoMY291bnRlZEFycmF52g9jcHBTdHlsZUNvbW1lbnTaD2RibFF1b3RlZFN0cmluZ9oPZGJsU2xhc2hDb21tZW502g1kZWxpbWl0ZWRMaXN02gZkaWN0T2baC2h0bWxDb21tZW502hBqYXZhU3R5bGVDb21tZW502gdsaW5lRW5k2glsaW5lU3RhcnTaDG1ha2VIVE1MVGFnc9oLbWFrZVhNTFRhZ3PaDm1hdGNoT25seUF0Q29s2hFtYXRjaFByZXZpb3VzRXhwctoUbWF0Y2hQcmV2aW91c0xpdGVyYWzaCm5lc3RlZEV4cHLaD251bGxEZWJ1Z0FjdGlvbtoFb25lT2baB29wQXNzb2PaEnB5dGhvblN0eWxlQ29tbWVudNoMcXVvdGVkU3RyaW5n2gxyZW1vdmVRdW90ZXPaEXJlcGxhY2VIVE1MRW50aXR52gtyZXBsYWNlV2l0aNoKcmVzdE9mTGluZdoPc2dsUXVvdGVkU3RyaW5n2glzdHJpbmdFbmTaC3N0cmluZ1N0YXJ02hB0cmFjZVBhcnNlQWN0aW9u2g11bmljb2RlU3RyaW5n2g13aXRoQXR0cmlidXRl2g9vcmlnaW5hbFRleHRGb3LaDWluZml4Tm90YXRpb27aCXdpdGhDbGFzc9oIdG9rZW5NYXDaFmNvbmRpdGlvbkFzUGFyc2VBY3Rpb25aEWF1dG9uYW1lX2VsZW1lbnRzTikf2gdfX2RvY19f2gZ0eXBpbmdyAgAAAHIDAAAA2hBfX3ZlcnNpb25faW5mb19fchQAAAByEgAAAHJwAAAAcjAAAADaBHV0aWzaCmV4Y2VwdGlvbnPaB2FjdGlvbnPaBGNvcmVyKAAAAHIpAAAA2gdyZXN1bHRzcioAAABaEmNvcmVfYnVpbHRpbl9leHByc1oHaGVscGVyc1oUaGVscGVyX2J1aWx0aW5fZXhwcnPaB3VuaWNvZGVyKwAAAHIsAAAAci0AAABaB3Rlc3RpbmdyLgAAANoGY29tbW9uci8AAABaFGNvbW1vbl9idWlsdGluX2V4cHJz2gdnbG9iYWxz2gdfX2FsbF9fchAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+GQAAAHOAAQAABEcMAxAgEAEEAQYBBAEEAggBCAEIARABCAEIAQwBCAEMAhQBDAEQBgoBBAEKAQQBCgEEAgwEAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQICAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECAQIBAgECgADb