YQ0NCgAAAABFGnxjnhgAAOMAAAAAAAAAAAAAAAAAAAAADAAAAEAAAABzdAEAAGQAWgB6EGUBZAGDAaACoQABAFcAbhYEAGUDZQRmAnkqAQABAAEAWQBuAjAAZAJkA2wFWgVkAmQDbAZaBmQCZANsB1oHZAJkBGwIbQlaCgEAZAJkBWwLbQxaDAEAZAJkBmwLbQ1aDgEAZAJkB2wPbRBaEAEAZAJkCGwRbRJaEm0TWhNtFFoUbRVaFW0WWhZtF1oXAQBkAmQJbBhtGVoZAQBkAmQKbBptG1obAQBkAmQLbBxtHVodAQBkDGQNbB5tH1ofAQBlBaAgZSGhAVoiZCBkDmQPnAFlI2UkZRRlIxkAZRRlIxkAZSRlFGUjGQBlJGUSZSNlI2YCGQBkEJwIZBFkEoQHWiVkIWUjZSRlFGUjGQBlFGUjGQBlJGUUZSMZAGUZZBOcB2QUZBWEBVomZSNkFpwBZBdkGIQEWidlI2QWnAFkGWQahARaKGUjZBacAWQbZByEBFopZSNlFWUjZSNmAhkAZB2cAmQeZB+EBFoqZANTACkiejdMb2NhdGlvbnMgd2hlcmUgd2UgbG9vayBmb3IgY29uZmlncywgaW5zdGFsbCBzdHVmZiwgZXRjWg9fZGlzdHV0aWxzX2hhY2vpAAAAAE4pAdoHQ29tbWFuZCkB2gtTQ0hFTUVfS0VZUykB2gdpbnN0YWxsqQHaDmdldF9weXRob25fbGliKQbaBERpY3TaBExpc3TaCE9wdGlvbmFs2gVUdXBsZdoFVW5pb27aBGNhc3QpAdoGU2NoZW1lKQHaB1dJTkRPV1MpAdoYcnVubmluZ191bmRlcl92aXJ0dWFsZW526QEAAAApAdoXZ2V0X21ham9yX21pbm9yX3ZlcnNpb25GKQHaE2lnbm9yZV9jb25maWdfZmlsZXMpCNoJZGlzdF9uYW1l2gR1c2Vy2gRob21l2gRyb2902ghpc29sYXRlZNoGcHJlZml4chIAAADaBnJldHVybmMGAAAAAAAAAAEAAAAQAAAACgAAAEMAAABz8AEAAGQBZAJsAG0BfQcBAGQDfABpAX0IfARyImQEZwF8CGQFPAB8B3wIgwF9CXwGc3J6DHwJoAKhAAEAVwBuNgQAdAN5cAEAAQABAHwJoAShAH0KdAWgBmQGZAegB2QIZAmEAHwKRACDAaEBoQIBAFkAbgIwAGQKfQt8CWoIZAtkDGQNjQJ9C3wLZAp1AXOQSgCCAXQJdAp8C4MCfQx8AXK2fAVytkoAZA58AZsAZA98BZsAnQSDAYIBfAJy0nwFctJKAGQQfAKbAGQPfAWbAJ0EgwGCAXwBcNp8DGoLfAxfC3wBc+Z8AnLsZBF8DF8MfAVw9HwMagx8DF8MfAKQAXACfAxqDXwMXw18A5ABcBB8DGoOfAxfDnwMoA+hAAEAaQB9DXQQRABdGH0OdBF8DGQSfA4XAIMCfA18DjwAkAFxJGQTfAmgEmQLoQF2AJABcmR8DaATdBR8DGoVfAxqFWQUjQKhAQEAdBaDAJABcux8ApABcnh8An0FbhR8AZABcoZ8DGoXfQVuBnwMagx9BXQYahmgB3wFZBVkFmQXdBqDAJsAnQJ8AKEFfA1kGDwAfANkCnUBkAFy7HQYahmgG3QYahmgHHwNZBgZAKEBoQFkGRkAfQ90GGoZoAd8A3wPZBlkCoUCGQChAnwNZBg8AHwNUwApGnorCiAgICBSZXR1cm4gYSBkaXN0dXRpbHMgaW5zdGFsbCBzY2hlbWUKICAgIHIBAAAAKQHaDERpc3RyaWJ1dGlvbtoEbmFtZXoNLS1uby11c2VyLWNmZ9oLc2NyaXB0X2FyZ3N6Nklnbm9yZSBkaXN0dXRpbHMgY29uZmlncyBpbiAlcyBkdWUgdG8gZW5jb2RpbmcgZXJyb3JzLnoCLCBjAQAAAAAAAAAAAAAAAgAAAAQAAABzAAAAcxoAAAB8AF0SfQF0AGoBoAJ8AaEBVgABAHECZABTACkBTikD2gJvc9oEcGF0aNoIYmFzZW5hbWUpAtoCLjDaAXCpAHIiAAAA+l8vaG9tZS9obmkvVG9wbWV0YWxTZS1EUFMvdmVudi9saWIvcHl0aG9uMy45L3NpdGUtcGFja2FnZXMvcGlwL19pbnRlcm5hbC9sb2NhdGlvbnMvX2Rpc3R1dGlscy5wedoJPGdlbmV4cHI+PwAAAPMAAAAAeiNkaXN0dXRpbHNfc2NoZW1lLjxsb2NhbHM+LjxnZW5leHByPk5yBAAAAFQpAdoGY3JlYXRlegV1c2VyPXoIIHByZWZpeD16BWhvbWU92gDaCGluc3RhbGxf2gtpbnN0YWxsX2xpYikC2gdwdXJlbGli2gdwbGF0bGli2gdpbmNsdWRl2gRzaXRl2gZweXRob27aB2hlYWRlcnNyEAAAACkd2g5kaXN0dXRpbHMuZGlzdHIaAAAA2hJwYXJzZV9jb25maWdfZmlsZXPaElVuaWNvZGVEZWNvZGVFcnJvctoRZmluZF9jb25maWdfZmlsZXPaBmxvZ2dlctoHd2FybmluZ9oEam9pbtoPZ2V0X2NvbW1hbmRfb2JqcgwAAADaGWRpc3R1dGlsc19pbnN0YWxsX2NvbW1hbmRyFAAAAHIYAAAAchUAAAByFgAAANoQZmluYWxpemVfb3B0aW9uc3IDAAAA2gdnZXRhdHRy2g9nZXRfb3B0aW9uX2RpY3TaBnVwZGF0ZdoEZGljdHIpAAAAcg8AAADaEGluc3RhbGxfdXNlcmJhc2VyHQAAAHIeAAAAchEAAADaCnNwbGl0ZHJpdmXaB2Fic3BhdGgpEHITAAAAchQAAAByFQAAAHIWAAAAchcAAAByGAAAAHISAAAAchoAAADaCWRpc3RfYXJnc9oBZNoFcGF0aHPaA29iatoBadoGc2NoZW1l2gNrZXnaDXBhdGhfbm9fZHJpdmVyIgAAAHIiAAAAciMAAADaEGRpc3R1dGlsc19zY2hlbWUjAAAAc2IAAAAADQwCCAEEAQoCCAEEAQIBDAEMAggBBAECARL+CgQEAQ4BDAEKBBwBHAEMAQgBBgEMAQ4BDgEIAgQBCAEWBxABFgIIAQYBBgEGAQgCBgEGAQIBAgECAQoBAvsICAoBHAEaAnJJAAAAKQdyEwAAAHIUAAAAchUAAAByFgAAAHIXAAAAchgAAAByGQAAAGMGAAAAAAAAAAAAAAAHAAAABwAAAEMAAABzOAAAAHQAfAB8AXwCfAN8BHwFgwZ9BnQBfAZkARkAfAZkAhkAfAZkAxkAfAZkBBkAfAZkBRkAZAaNBVMAKQdhOwMAAAogICAgR2V0IHRoZSAic2NoZW1lIiBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbnB1dCBwYXJhbWV0ZXJzLiBUaGUgZGlzdHV0aWxzCiAgICBkb2N1bWVudGF0aW9uIHByb3ZpZGVzIHRoZSBjb250ZXh0IGZvciB0aGUgYXZhaWxhYmxlIHNjaGVtZXM6CiAgICBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2luc3RhbGwvaW5kZXguaHRtbCNhbHRlcm5hdGUtaW5zdGFsbGF0aW9uCgogICAgOnBhcmFtIGRpc3RfbmFtZTogdGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgdG8gcmV0cmlldmUgdGhlIHNjaGVtZSBmb3IsIHVzZWQKICAgICAgICBpbiB0aGUgaGVhZGVycyBzY2hlbWUgcGF0aAogICAgOnBhcmFtIHVzZXI6IGluZGljYXRlcyB0byB1c2UgdGhlICJ1c2VyIiBzY2hlbWUKICAgIDpwYXJhbSBob21lOiBpbmRpY2F0ZXMgdG8gdXNlIHRoZSAiaG9tZSIgc2NoZW1lIGFuZCBwcm92aWRlcyB0aGUgYmFzZQogICAgICAgIGRpcmVjdG9yeSBmb3IgdGhlIHNhbWUKICAgIDpwYXJhbSByb290OiByb290IHVuZGVyIHdoaWNoIG90aGVyIGRpcmVjdG9yaWVzIGFyZSByZS1iYXNlZAogICAgOnBhcmFtIGlzb2xhdGVkOiBlcXVpdmFsZW50IHRvIC0tbm8tdXNlci1jZmcsIGkuZS4gZG8gbm90IGNvbnNpZGVyCiAgICAgICAgfi8ucHlkaXN0dXRpbHMuY2ZnIChwb3NpeCkgb3Igfi9weWRpc3R1dGlscy5jZmcgKG5vbi1wb3NpeCkgZm9yCiAgICAgICAgc2NoZW1lIHBhdGhzCiAgICA6cGFyYW0gcHJlZml4OiBpbmRpY2F0ZXMgdG8gdXNlIHRoZSAicHJlZml4IiBzY2hlbWUgYW5kIHByb3ZpZGVzIHRoZQogICAgICAgIGJhc2UgZGlyZWN0b3J5IGZvciB0aGUgc2FtZQogICAgcisAAAByKgAAAHIvAAAA2gdzY3JpcHRz2gRkYXRhKQVyKwAAAHIqAAAAci8AAABySgAAAHJLAAAAKQJySQAAAHINAAAAKQdyEwAAAHIUAAAAchUAAAByFgAAAHIXAAAAchgAAAByRgAAAHIiAAAAciIAAAByIwAAANoKZ2V0X3NjaGVtZXQAAABzEAAAAAAZEgECAQYBBgEGAQYBBvtyTAAAACkBchkAAABjAAAAAAAAAAAAAAAAAgAAAAQAAABDAAAAc3IAAAB0AGoBoAJ0A2oEoQF9AHQFcj50AGoBoAZ8AGQBoQJ9AXQAagGgB3wBoQFzOnQAagGgBnwAZAKhAn0BfAFTAHQDaghkAGQDhQIZAGQEawJyZHwAZABkBYUCGQBkBmsCcmRkB1MAdABqAaAGfABkAqECUwApCE5aB1NjcmlwdHPaA2JpbukGAAAA2gZkYXJ3aW7pEAAAAHoQL1N5c3RlbS9MaWJyYXJ5L3oOL3Vzci9sb2NhbC9iaW4pCXIdAAAAch4AAADaCG5vcm1wYXRo2gNzeXNyGAAAAHIOAAAAcjYAAADaBmV4aXN0c9oIcGxhdGZvcm0pAnIYAAAA2gZiaW5fcHlyIgAAAHIiAAAAciMAAADaDmdldF9iaW5fcHJlZml4lwAAAHMSAAAAAAMOAQQBDgIMAQ4BBAMiAQQBclYAAABjAAAAAAAAAAAAAAAAAAAAAAMAAABDAAAAcwoAAAB0AGQBZAKNAVMAKQNORqkB2g1wbGF0X3NwZWNpZmljcgUAAAByIgAAAHIiAAAAciIAAAByIwAAANoLZ2V0X3B1cmVsaWKoAAAAcwIAAAAAAXJZAAAAYwAAAAAAAAAAAAAAAAAAAAADAAAAQwAAAHMKAAAAdABkAWQCjQFTACkDTlRyVwAAAHIFAAAAciIAAAByIgAAAHIiAAAAciMAAADaC2dldF9wbGF0bGlirAAAAHMCAAAAAAFyWgAAACkCchgAAAByGQAAAGMBAAAAAAAAAAAAAAABAAAABQAAAEMAAABzGAAAAHQAZAF8AGQCjQJ0AGQDfABkAo0CZgJTACkETkYpAnJYAAAAchgAAABUcgUAAAApAXIYAAAAciIAAAByIgAAAHIjAAAA2hFnZXRfcHJlZml4ZWRfbGlic7AAAABzBgAAAAACCgEK/nJbAAAAKQVGTk5GTikFRk5ORk4pK9oHX19kb2NfX9oKX19pbXBvcnRfX1oLcmVtb3ZlX3NoaW3aC0ltcG9ydEVycm9y2g5BdHRyaWJ1dGVFcnJvctoHbG9nZ2luZ3IdAAAAclIAAADaDWRpc3R1dGlscy5jbWRyAgAAAFoQRGlzdHV0aWxzQ29tbWFuZNoZZGlzdHV0aWxzLmNvbW1hbmQuaW5zdGFsbHIDAAAAcgQAAAByOAAAANoTZGlzdHV0aWxzLnN5c2NvbmZpZ3IGAAAA2gZ0eXBpbmdyBwAAAHIIAAAAcgkAAAByCgAAAHILAAAAcgwAAADaG3BpcC5faW50ZXJuYWwubW9kZWxzLnNjaGVtZXINAAAA2hpwaXAuX2ludGVybmFsLnV0aWxzLmNvbXBhdHIOAAAA2h5waXAuX2ludGVybmFsLnV0aWxzLnZpcnR1YWxlbnZyDwAAANoEYmFzZXIRAAAA2glnZXRMb2dnZXLaCF9fbmFtZV9fcjQAAADaA3N0ctoEYm9vbHJJAAAAckwAAAByVgAAAHJZAAAAcloAAAByWwAAAHIiAAAAciIAAAByIgAAAHIjAAAA2gg8bW9kdWxlPgEAAABzaAAAAAQLAgEQARABBgIIAQgBCAEMAQwBDAEMASACDAEMAQwCDAIKBQABAAEAAQABAPoCCAL4BAECAQIBBgEGAQIBBgICAQr3DFMAAQABAAEAAQD6AgECAQIBBgEGAQIBBgEC+QwjDhEOBA4E