YQ0NCgAAAABKGnxjxIIAAOMAAAAAAAAAAAAAAAAAAAAACwAAAEAAAABz/gIAAGQAWgBkAWQCbAFaAWQBZAJsAloCZAFkAmwDWgRkAWQDbAVtBloGAQBkAWQEbAdtCFoIAQBkAWQFbAltCloKAQBkAWQGbAltC1oLAQBkAWQHbAltDFoMAQBkCGQJbA1tDloOAQBkCGQKbA1tD1oPAQBkCGQLbBBtEVoRAQBkCGQMbBBtEloSAQBkCGQNbBBtE1oTAQBkCGQObBRtFVoVAQBkCGQPbBZtF1oXAQBkCGQQbBZtGFoYAQBkCGQRbBZtGVoZAQBkCGQSbBZtGloaAQBkCGQTbBZtG1obAQBkCGQUbBZtHFocAQBkCGQVbBZtHVodAQBlBKAeZBahAVofZQRqHmQXZQRqIGQYZQRqIWYCGQBkGY0CWiJlBGojkAFyTmQBZAJsJFokZAFkAmwlWiZkCGQabCdtKFooAQBHAGQbZByEAGQcZSZqKYMDWipnAGQdogFaK2cAZB6iAVosZR9lH2QfnAJkIGQhhARaLWUEai5lBGohGQBlL2QinAJkI2QkhARaMGUEai5lBGohGQBlL2QinAJkJWQmhARaMWRHZChlBGoyZS8ZAGUEajNlL2UEaiBkKWcBZQRqNGUvGQBmAhkAZgIZAGUEajJlBGozZS9lBGohZgIZABkAZTVlBGoyZQRqNmUvZQRqIWYCGQAZAGUEajJlBGo3ZS9lBGohZgIZABkAZClkKpwIZCtkLIQFWjhHAGQtZC6EAGQugwJaOWUiZSJkL5wCZDBkMYQEWjplBmo3ajtHAGQyZCmEAGQpgwKDAVo8RwBkM2Q0hABkNIMCWj1HAGQ1ZDaEAGQ2gwJaPkcAZDdkOIQAZDhlPoMDWj9HAGQ5ZDqEAGQ6gwJaQEcAZDtkPIQAZDyDAlpBZAJlQWYCZQRqMmQ9GQBlBGpCZUEZAGUEakJlQRkAZD6cA2Q/ZECEBVpDRwBkQWRChABkQmVBgwNaREcAZENkRIQAZERlQYMDWkVHAGRFZEaEAGRGZUGDA1pGZUFgR2VEYEdlRWBHZUZgR2QCUwApSHo7VGhlIHJ1bnRpbWUgZnVuY3Rpb25zIGFuZCBzdGF0ZSB1c2VkIGJ5IGNvbXBpbGVkIHRlbXBsYXRlcy7pAAAAAE4pAdoDYWJjKQHaBWNoYWluKQHaBmVzY2FwZSkB2gZNYXJrdXApAdoIc29mdF9zdHLpAQAAAKkB2gphdXRvX2FpdGVyKQHaCmF1dG9fYXdhaXQpAdoQVGVtcGxhdGVOb3RGb3VuZCkB2hRUZW1wbGF0ZVJ1bnRpbWVFcnJvcikB2g5VbmRlZmluZWRFcnJvcikB2gtFdmFsQ29udGV4dCkB2ghfUGFzc0FyZykB2gZjb25jYXQpAdoMaW50ZXJuYWxjb2RlKQHaB21pc3NpbmcpAdoJTmFtZXNwYWNlKQHaEG9iamVjdF90eXBlX3JlcHIpAdoRcGFzc19ldmFsX2NvbnRleHTaAVbaAUYuKQHaBWJvdW5kKQHaC0Vudmlyb25tZW50YwAAAAAAAAAAAAAAAAAAAAAGAAAAQAAAAHMoAAAAZQBaAWQAWgJkBmUDagRlBRkAZABlBmUHZAKcBGQDZASEBVoIZAVTACkH2g5Mb29wUmVuZGVyRnVuY3IBAAAAKQTaB3JlY2l0ZXLaEGxvb3BfcmVuZGVyX2Z1bmPaBWRlcHRo2gZyZXR1cm5jBAAAAAAAAAAAAAAABAAAAAEAAABDAAAAcwQAAABkAFMAqQFOqQApBNoEc2VsZnIbAAAAchwAAAByHQAAAHIgAAAAciAAAAD6Sy9ob21lL2huaS9Ub3BtZXRhbFNlLURQUy92ZW52L2xpYi9weXRob24zLjkvc2l0ZS1wYWNrYWdlcy9qaW5qYTIvcnVudGltZS5wedoIX19jYWxsX18jAAAAcwIAAAAABnoXTG9vcFJlbmRlckZ1bmMuX19jYWxsX19OKQFyAQAAACkJ2ghfX25hbWVfX9oKX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gF02ghJdGVyYWJsZXIWAAAA2gNpbnTaA3N0cnIjAAAAciAAAAByIAAAAHIgAAAAciIAAAByGgAAACIAAABzDgAAAAgFAPwCAggBAgECAQL7choAAAApDtoLTG9vcENvbnRleHTaEVRlbXBsYXRlUmVmZXJlbmNl2gVNYWNyb3IFAAAAcgwAAAByEgAAAHIEAAAA2gttYXJrdXBfam9pbtoIc3RyX2pvaW7aCGlkZW50aXR5cgsAAAByEwAAANoJVW5kZWZpbmVkchEAAAApA9oQQXN5bmNMb29wQ29udGV4dHIJAAAAcgoAAAApAtoBeHIeAAAAYwEA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cyB0aGUgdmFyaWFibGVzIG9mIGEgdGVtcGxhdGUuICBJdCBzdG9yZXMgdGhlCiAgICB2YWx1ZXMgcGFzc2VkIHRvIHRoZSB0ZW1wbGF0ZSBhbmQgYWxzbyB0aGUgbmFtZXMgdGhlIHRlbXBsYXRlIGV4cG9ydHMuCiAgICBDcmVhdGluZyBpbnN0YW5jZXMgaXMgbmVpdGhlciBzdXBwb3J0ZWQgbm9yIHVzZWZ1bCBhcyBpdCdzIGNyZWF0ZWQKICAgIGF1dG9tYXRpY2FsbHkgYXQgdmFyaW91cyBzdGFnZXMgb2YgdGhlIHRlbXBsYXRlIGV2YWx1YXRpb24gYW5kIHNob3VsZCBub3QKICAgIGJlIGNyZWF0ZWQgYnkgaGFuZC4KCiAgICBUaGUgY29udGV4dCBpcyBpbW11dGFibGUuICBNb2RpZmljYXRpb25zIG9uIDphdHRyOmBwYXJlbnRgICoqbXVzdCBub3QqKgogICAgaGFwcGVuIGFuZCBtb2RpZmljYXRpb25zIG9uIDphdHRyOmB2YXJzYCBhcmUgYWxsb3dlZCBmcm9tIGdlbmVyYXRlZAogICAgdGVtcGxhdGUgY29kZSBvbmx5LiAgVGVtcGxhdGUgZmlsdGVycyBhbmQgZ2xvYmFsIGZ1bmN0aW9ucyBtYXJrZWQgYXMKICAgIDpmdW5jOmBwYXNzX2NvbnRleHRgIGdldCB0aGUgYWN0aXZlIGNvbnRleHQgcGFzc2VkIGFzIGZpcnN0IGFyZ3VtZW50CiAgICBhbmQgYXJlIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSBjb250ZXh0IHJlYWQtb25seS4KCiAgICBUaGUgdGVtcGxhdGUgY29udGV4dCBzdXBwb3J0cyByZWFkIG9ubHkgZGljdCBvcGVyYXRpb25zIChgZ2V0YCwKICAgIGBrZXlzYCwgYHZhbHVlc2AsIGBpdGVtc2AsIGBpdGVya2V5c2AsIGBpdGVydmFsdWVzYCwgYGl0ZXJpdGVtc2AsCiAgICBgX19nZXRpdGVtX19gLCBgX19jb250YWluc19fYCkuICBBZGRpdGlvbmFsbHkgdGhlcmUgaXMgYSA6bWV0aDpgcmVzb2x2ZWAKICAgIG1ldGhvZCB0aGF0IGRvZXNuJ3QgZmFpbCB3aXRoIGEgYEtleUVycm9yYCBidXQgcmV0dXJucyBhbgogICAgOmNsYXNzOmBVbmRlZmluZWRgIG9iamVjdCBmb3IgbWlzc2luZyB2YXJpYWJsZXMuCiAgICBOchkAAAApBXI/AAAAckgAAAByUAAAAHJBAAAAckQAAABjBgAAAAAAAAAAAAAABgAAAAMAAABDAAAAc14AAAB8AnwAXwBpAHwAXwF8AXwAXwJ0A3wAagJ8A4MCfABfBHQFgwB8AF8GfAN8AF8HfAVkAHUAcjx0BYMAbgZ0BXwFgwF8AF8IZAFkAoQAfASgCaEARACDAXwAXwpkAFMAKQNOYwEAAAAAAAAAAAAAAAMAAAAEAAAAUwAAAHMYAAAAaQB8AF0QXAJ9AX0CfAF8AmcBkwJxBFMAciAAAAByIAAAAKkD2gIuMNoBa9oBdnIgAAAAciAAAAByIgAAANoKPGRpY3Rjb21wPrYAAADzAAAAAHokQ29udGV4dC5fX2luaXRfXy48bG9jYWxzPi48ZGljdGNvbXA+KQtySAAAAHJCAAAAcj8AAAByDgAAANoIZXZhbF9jdHjaA3NldNoNZXhwb3J0ZWRfdmFyc3JQAAAAWgxnbG9iYWxzX2tleXNyRwAAAHJBAAAAKQZyIQAAAHI/AAAAckgAAAByUAAAAHJBAAAAckQAAAByIAAAAHIgAAAAciIAAAByTgAAAKMAAABzEAAAAAAIBgEGAQYBDgEIAQYBGAV6EENvbnRleHQuX19pbml0X1+pAnJSAAAAcjEAAAApA3JQAAAA2gdjdXJyZW50ch4AAABjAwAAAAAAAAAAAAAABQAAAAgAAABDAAAAc14AAAB6JHwAagB8ARkAfQN8A6ABfAKhAWQBFwB9BHwDfAQZAAEAVwBuKgQAdAJ5TgEAAQABAHwAagNqBGQCfAGbAmQDnQNkBGQFjQIGAFkAUwAwAHQFfAF8AHwDfASDBFMAKQZ6FlJlbmRlciBhIHBhcmVudCBibG9jay5yBwAAAPogdGhlcmUgaXMgbm8gcGFyZW50IGJsb2NrIGNhbGxlZCDaAS7aBXN1cGVyqQFyUAAAACkGckEAAADaBWluZGV42gtMb29rdXBFcnJvcnI/AAAA2gl1bmRlZmluZWRyUgAAACkFciEAAAByUAAAAHJvAAAAckEAAABydAAAAHIgAAAAciAAAAByIgAAAHJyAAAAuAAAAHMSAAAAAAQCAQoBDgEMAQwBBgEM/wwDeg1Db250ZXh0LnN1cGVyKQNySQAAANoHZGVmYXVsdHIeAAAAYwMAAAAAAAAAAAAAAAMAAAAIAAAAQwAAAHMmAAAAegp8AHwBGQBXAFMABAB0AHkgAQABAAEAfAIGAFkAUwAwAGQBUwApAnrRTG9vayB1cCBhIHZhcmlhYmxlIGJ5IG5hbWUsIG9yIHJldHVybiBhIGRlZmF1bHQgaWYgdGhlIGtleSBpcwogICAgICAgIG5vdCBmb3VuZC4KCiAgICAgICAgOnBhcmFtIGtleTogVGhlIHZhcmlhYmxlIG5hbWUgdG8gbG9vayB1cC4KICAgICAgICA6cGFyYW0gZGVmYXVsdDogVGhlIHZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZC4KICAgICAgICBOKQHaCEtleUVycm9yKQNyIQAAAHJJAAAAcncAAAByIAAAAHIgAAAAciIAAADaA2dldMYAAABzCAAAAAAHAgEKAQwBegtDb250ZXh0LmdldHIxAAAAKQJySQAAAHIeAAAAYwIAAAAAAAAAAAAAAAMAAAADAAAAQwAAAHMkAAAAfACgAHwBoQF9AnwCdAF1AHIgfABqAmoDfAFkAY0BUwB8AlMAKQJhTgEAAExvb2sgdXAgYSB2YXJpYWJsZSBieSBuYW1lLCBvciByZXR1cm4gYW4gOmNsYXNzOmBVbmRlZmluZWRgCiAgICAgICAgb2JqZWN0IGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kLgoKICAgICAgICBJZiB5b3UgbmVlZCB0byBhZGQgY3VzdG9tIGJlaGF2aW9yLCBvdmVycmlkZQogICAgICAgIDptZXRoOmByZXNvbHZlX29yX21pc3NpbmdgLCBub3QgdGhpcyBtZXRob2QuIFRoZSB2YXJpb3VzIGxvb2t1cAogICAgICAgIGZ1bmN0aW9ucyB1c2UgdGhhdCBtZXRob2QsIG5vdCB0aGlzIG9uZS4KCiAgICAgICAgOnBhcmFtIGtleTogVGhlIHZhcmlhYmxlIG5hbWUgdG8gbG9vayB1cC4KICAgICAgICBycwAAACkE2hJyZXNvbHZlX29yX21pc3NpbmdyEgAAAHI/AAAAcnYAAAApA3IhAAAAckkAAADaAnJ2ciAAAAByIAAAAHIiAAAA2gdyZXNvbHZl0gAAAHMIAAAAAAoKAggBDgJ6D0NvbnRleHQucmVzb2x2ZWMCAAAAAAAAAAAAAAACAAAAAgAAAEMAAABzLAAAAHwBfABqAHYAchR8AGoAfAEZAFMAfAF8AGoBdgByKHwAagF8ARkAUwB0AlMAKQFhTgEAAExvb2sgdXAgYSB2YXJpYWJsZSBieSBuYW1lLCBvciByZXR1cm4gYSBgYG1pc3NpbmdgYCBzZW50aW5lbAogICAgICAgIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kLgoKICAgICAgICBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byBhZGQgY3VzdG9tIGxvb2t1cCBiZWhhdmlvci4KICAgICAgICA6bWV0aDpgcmVzb2x2ZWAsIDptZXRoOmBnZXRgLCBhbmQgOm1ldGg6YF9fZ2V0aXRlbV9fYCB1c2UgdGhpcwogICAgICAgIG1ldGhvZC4gRG9uJ3QgY2FsbCB0aGlzIG1ldGhvZCBkaXJlY3RseS4KCiAgICAgICAgOnBhcmFtIGtleTogVGhlIHZhcmlhYmxlIG5hbWUgdG8gbG9vayB1cC4KICAgICAgICApA3JCAAAAckgAAAByEgAAACkCciEAAABySQAAAHIgAAAAciAAAAByIgAAAHJ6AAAA4wAAAHMKAAAAAAoKAQoCCgEKAnoaQ29udGV4dC5yZXNvbHZlX29yX21pc3NpbmdyVAAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAAMAAABzFAAAAIcAZgFkAWQChAiIAGoARACDAVMAKQN6K0dldCBhIG5ldyBkaWN0IHdpdGggdGhlIGV4cG9ydGVkIHZhcmlhYmxlcy5jAQAAAAAAAAAAAAAAAgAAAAUAAAATAAAAcxgAAABpAHwAXRB9AXwBiABqAHwBGQCTAnEEUwByIAAAACkBckIAAAApAnJmAAAAcmcAAAByWQAAAHIgAAAAciIAAAByaQAAAPcAAAByagAAAHooQ29udGV4dC5nZXRfZXhwb3J0ZWQuPGxvY2Fscz4uPGRpY3Rjb21wPikBcm0AAAByWQAAAHIgAAAAclkAAAByIgAAANoMZ2V0X2V4cG9ydGVk9QAAAHMCAAAAAAJ6FENvbnRleHQuZ2V0X2V4cG9ydGVkYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMsAAAAfABqAHMMfABqAVMAfABqAXMYfABqAFMAdAJ8AGoBZgFpAHwAagCkAY4BUwApAXq7UmV0dXJuIHRoZSBjb21wbGV0ZSBjb250ZXh0IGFzIGRpY3QgaW5jbHVkaW5nIHRoZSBleHBvcnRlZAogICAgICAgIHZhcmlhYmxlcy4gIEZvciBvcHRpbWl6YXRpb25zIHJlYXNvbnMgdGhpcyBtaWdodCBub3QgcmV0dXJuIGFuCiAgICAgICAgYWN0dWFsIGNvcHkgc28gYmUgY2FyZWZ1bCB3aXRoIHVzaW5nIGl0LgogICAgICAgICkDckIAAABySAAAAHJGAAAAclkAAAByIAAAAHIgAAAAciIAAAByXgAAAPkAAABzCgAAAAAFBgEGAQYBBgF6D0NvbnRleHQuZ2V0X2FsbCkE2g1fQ29udGV4dF9fb2Jq2gRhcmdz2gZrd2FyZ3NyHgAAAGMCAAAAAAAAAAAAAAAGAAAACAAAAE8AAABz7gAAAGQBfQR0AHwBZAKDAnIkdAGgAnwBagOhAWQDdQFyJHwBagN9AXQBoAJ8AaEBfQV8BXQBagR1AHJ0fAOgBWQEoQFyUHwAoAZ8A2QEGQChAX0AfAOgBWQFoQFyaHwAoAZ8A2QFGQChAX0AfABmAXwCFwB9Am4ufAV0AWoHdQByjHwAaghmAXwCFwB9Am4WfAV0AWoJdQByonwAaglmAXwCFwB9AnwDoApkBWQDoQIBAHwDoApkBGQDoQIBAHoQfAF8AmkAfAOkAY4BVwBTAAQAdAt56AEAAQABAHwAagmgDGQGoQEGAFkAUwAwAGQDUwApB3rpQ2FsbCB0aGUgY2FsbGFibGUgd2l0aCB0aGUgYXJndW1lbnRzIGFuZCBrZXl3b3JkIGFyZ3VtZW50cwogICAgICAgIHByb3ZpZGVkIGJ1dCBpbmplY3QgdGhlIGFjdGl2ZSBjb250ZXh0IG9yIGVudmlyb25tZW50IGFzIGZpcnN0CiAgICAgICAgYXJndW1lbnQgaWYgdGhlIGNhbGxhYmxlIGhhcyA6ZnVuYzpgcGFzc19jb250ZXh0YCBvcgogICAgICAgIDpmdW5jOmBwYXNzX2Vudmlyb25tZW50YC4KICAgICAgICBUciMAAABOWgpfbG9vcF92YXJzWgtfYmxvY2tfdmFyc3pHdmFsdWUgd2FzIHVuZGVmaW5lZCBiZWNhdXNlIGEgY2FsbGFibGUgcmFpc2VkIGEgU3RvcEl0ZXJhdGlvbiBleGNlcHRpb24pDXI5AAAAcg8AAABaCGZyb21fb2JqciMAAAByTAAAAHJ5AAAA2gdkZXJpdmVkWgxldmFsX2NvbnRleHRyawAAAHI/AAAA2gNwb3DaDVN0b3BJdGVyYXRpb25ydgAAACkGWg5fQ29udGV4dF9fc2VsZnJ+AAAAcn8AAABygAAAAFoSX190cmFjZWJhY2tfaGlkZV9fWghwYXNzX2FyZ3IgAAAAciAAAAByIgAAANoEY2FsbAQBAABzMgAAAAAKBAQI/wICDv4CBAYCCgIKAwoBDgEKAQ4BDAEKAQ4BCgEMAgwBDAICARABDAEGAQL/egxDb250ZXh0LmNhbGwpAnJFAAAAch4AAABjAgAAAAAAAAAAAAAAAwAAAAgAAABDAAAAc0QAAAB0AHwAagF8AGoCaQB8AKADoQBkAWQCfAGDB30CfABqBHwCXwR8AmoFoAZkA2QEhAB8AGoFoAehAEQAgwGhAQEAfAJTACkFerlJbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIGEgZGVyaXZlZCBjb250ZXh0LiAgVGhpcyBpcwogICAgICAgIHVzZWQgaW4gc2l0dWF0aW9ucyB3aGVyZSB0aGUgc3lzdGVtIG5lZWRzIGEgbmV3IGNvbnRleHQgaW4gdGhlIHNhbWUKICAgICAgICB0ZW1wbGF0ZSB0aGF0IGlzIGluZGVwZW5kZW50LgogICAgICAgIFROYwEAAAAAAAAAAAAAAAMAAAAEAAAAcwAAAHMeAAAAfABdFlwCfQF9AnwBdAB8AoMBZgJWAAEAcQJkAFMAch8AAAApAdoEbGlzdHJlAAAAciAAAAByIAAAAHIiAAAA2gk8Z2VuZXhwcj46AQAAcmoAAAB6IkNvbnRleHQuZGVyaXZlZC48bG9jYWxzPi48Z2VuZXhwcj4pCHJLAAAAcj8AAAByUAAAAHJeAAAAcmsAAAByQQAAANoGdXBkYXRlckcAAAApA3IhAAAAckUAAAByTAAAAHIgAAAAciAAAAByIgAAAHKBAAAAMQEAAHMMAAAAAAUCARb/BAMIARwBeg9Db250ZXh0LmRlcml2ZWRyTwAAAGMCAAAAAAAAAAAAAAACAAAAAgAAAEMAAABzFAAAAHwBfABqAHYAcBJ8AXwAagF2AFMAch8AAAApAnJCAAAAckgAAACpAnIhAAAAclAAAAByIAAAAHIgAAAAciIAAADaDF9fY29udGFpbnNfX0EBAABzAgAAAAABehRDb250ZXh0Ll9fY29udGFpbnNfX2MCAAAAAAAAAAAAAAADAAAAAwAAAEMAAABzHgAAAHwAoAB8AaEBfQJ8AnQBdQByGnQCfAGDAYIBfAJTACkBenBMb29rIHVwIGEgdmFyaWFibGUgYnkgbmFtZSB3aXRoIGBgW11gYCBzeW50YXgsIG9yIHJhaXNlIGEKICAgICAgICBgYEtleUVycm9yYGAgaWYgdGhlIGtleSBpcyBub3QgZm91bmQuCiAgICAgICAgKQNyegAAAHISAAAAcngAAAApA3IhAAAAckkAAADaBGl0ZW1yIAAAAHIgAAAAciIAAAByUwAAAEQBAABzCAAAAAAECgIIAQgCehNDb250ZXh0Ll9fZ2V0aXRlbV9fYwEAAAAAAAAAAAAAAAEAAAAHAAAAQwAAAHMkAAAAZAF0AHwAgwFqAZsAZAJ8AKACoQCbAmQDfABqA5sCZASdB1MAKQVOclUAAAByVgAAAHoEIG9mIHJXAAAAKQRyWAAAAHIkAAAAcl4AAAByUAAAAHJZAAAAciAAAAByIAAAAHIiAAAAcloAAABPAQAAcwIAAAAAAXoQQ29udGV4dC5fX3JlcHJfXykBTikBTikBTikgciQAAAByJQAAAHImAAAAclsAAAByJwAAANoERGljdHIqAAAAclwAAADaCE9wdGlvbmFs2ghDYWxsYWJsZdoISXRlcmF0b3LaDk11dGFibGVNYXBwaW5nck4AAADaBVVuaW9ucnIAAAByeQAAAHJ8AAAAcnoAAAByfQAAAHJeAAAAchEAAAByhAAAAHKBAAAAcmQAAAByRgAAANoEa2V5c9oGdmFsdWVzckcAAADaBGJvb2xyiQAAAHJTAAAAcloAAAByIAAAAHIgAAAAciAAAAByIgAAAHI+AAAAjgAAAHM4AAAACAIEGQD6AgICAQ4BCAEeART6DBYWAQj+DA4YDBwREhIaBBoLAgIMAQ7+DiwkDAoBCgEKAhADEgtjAAAAAAAAAAAAAAAAAAAAAAcAAABAAAAAc3oAAABlAFoBZABaAmQBWgNlBGQCZQVqBmUFagdkAmcBZQVqCGUEGQBmAhkAGQBlCWQDZAScBWQFZAaEBFoKZQtlBWoMZAcZAGQInAFkCWQKhASDAVoNZQ5lBGQInAFkC2QMhASDAVoPZQ5lBGQInAFkDWQOhASDAVoQZANTACkPclIAAAB6Ik9uZSBibG9jayBvbiBhIHRlbXBsYXRlIHJlZmVyZW5jZS5yPgAAAE4pBXJQAAAAckwAAADaBXN0YWNrch0AAAByHgAAAGMFAAAAAAAAAAAAAAAFAAAAAgAAAEMAAABzHAAAAHwBfABfAHwCfABfAXwDfABfAnwEfABfA2QAUwByHwAAACkEclAAAADaCF9jb250ZXh02gZfc3RhY2vaBl9kZXB0aCkFciEAAAByUAAAAHJMAAAAcpQAAAByHQAAAHIgAAAAciAAAAByIgAAAHJOAAAAVgEAAHMIAAAAAAcGAQYBBgF6F0Jsb2NrUmVmZXJlbmNlLl9faW5pdF9fcm4AAAByVAAAAGMBAAAAAAAAAAAAAAABAAAABgAAAEMAAABzSgAAAHwAagBkARcAdAF8AGoCgwFrBXIwfABqA2oEagVkAnwAagabAmQDnQNkBGQFjQJTAHQHfABqBnwAagN8AGoCfABqAGQBFwCDBFMAKQZ6EFN1cGVyIHRoZSBibG9jay5yBwAAAHJwAAAAcnEAAABycgAAAHJzAAAAKQhylwAAANoDbGVucpYAAABylQAAAHI/AAAAcnYAAAByUAAAAHJSAAAAclkAAAByIAAAAHIgAAAAciIAAABycgAAAGIBAABzCgAAAAADFAEIAQ7/BgN6FEJsb2NrUmVmZXJlbmNlLnN1cGVyYwEAAAAAAAAAAAAAAAIAAAAEAAAAwwAAAHM8AAAAdABkAWQChAB8AGoBfABqAhkAfABqA4MBMgCDAUkAZABIAIMBfQF8AGoDagRqBXI4dAZ8AYMBUwB8AVMAKQNOYwEAAAAAAAAAAAAAAAIAAAAIAAAA0wAAAHMaAAAAZwB8AHoQMwBkAEgAVwB9AXwBkQJxBDYAUwByHwAAAHIgAAAAqQJyZgAAAHIzAAAAciAAAAByIAAAAHIiAAAA2go8bGlzdGNvbXA+bgEAAHJqAAAAei5CbG9ja1JlZmVyZW5jZS5fYXN5bmNfY2FsbC48bG9jYWxzPi48bGlzdGNvbXA+KQdyEAAAAHKWAAAAcpcAAABylQAAAHJrAAAA2gphdXRvZXNjYXBlcgUAAACpAnIhAAAAcnsAAAByIAAAAHIgAAAAciIAAADaC19hc3luY19jYWxsawEAAHMMAAAAAAICASD/BAQKAQgCehpCbG9ja1JlZmVyZW5jZS5fYXN5bmNfY2FsbGMBAAAAAAAAAAAAAAACAAAAAwAAAEMAAABzPgAAAHwAagBqAWoCchJ8AKADoQBTAHQEfABqBXwAagYZAHwAagCDAYMBfQF8AGoAagdqCHI6dAl8AYMBUwB8AVMAch8AAAApCnKVAAAAcj8AAADaCGlzX2FzeW5jcp0AAAByEAAAAHKWAAAAcpcAAAByawAAAHKbAAAAcgUAAABynAAAAHIgAAAAciAAAAByIgAAAHIjAAAAdgEAAHMMAAAAAAIKAQgCFgIKAQgCehdCbG9ja1JlZmVyZW5jZS5fX2NhbGxfXykRciQAAAByJQAAAHImAAAAclsAAAByKgAAAHInAAAA2gRMaXN0co0AAAByjgAAAHIpAAAAck4AAADaCHByb3BlcnR5cpAAAABycgAAAHIRAAAAcp0AAAByIwAAAHIgAAAAciAAAAByIAAAAHIiAAAAclIAAABTAQAAcxoAAAAIAQQEAgECARoBAgEC+gwMAgEWCAIBEAoCAXJSAAAAYwAAAAAAAAAAAAAAAAAAAAAHAAAAQAAAAHP0AQAAZQBaAWQAWgJVAGQBWgNkAloEZANaBWUGagdlCBkAZQlkBDwAZQpaC2UGagxlCWQFPABlCloNZQZqDGUJZAY8AGUKWg5lBmoMZQlkBzwAZQpaD2UGagxlCWQIPABkN2UGahBlERkAZQZqEmQKGQBlBmoHZAsZAGUIZANkDJwFZA1kDoQFWhNlFGUGahBlERkAZQZqFWURGQBkD5wCZBBkEYQEgwFaFmUXZQhkEpwBZBNkFIQEgwFaGGUIZBKcAWQVZBaEBFoZZRdlCGQSnAFkF2QYhASDAVoaZRdlCGQSnAFkGWQahASDAVobZRdlCGQSnAFkG2QchASDAVocZRdlCGQSnAFkHWQehASDAVodZRdlHmQSnAFkH2QghASDAVofZQZqDGQSnAFkIWQihARaIGUXZR5kEpwBZCNkJIQEgwFaIWUXZQZqImUGagxkCmYCGQBkEpwBZCVkJoQEgwFaI2UXZQZqImUGagxkCmYCGQBkEpwBZCdkKIQEgwFaJGURZRFkKZwCZCpkK4QEWiVlBmoMZR5kLJwCZC1kLoQEWiZkAGQSnAFkL2QwhARaJ2UGaihlBmoMZABmAhkAZBKcAWQxZDKEBFopZSplBmoQZREZAGUrZA+cAmQzZDSEBIMBWixlK2QSnAFkNWQ2hARaLWQDUwApOHIrAAAAemVBIHdyYXBwZXIgaXRlcmFibGUgZm9yIGR5bmFtaWMgYGBmb3JgYCBsb29wcywgd2l0aCBpbmZvcm1hdGlvbgogICAgYWJvdXQgdGhlIGxvb3AgYW5kIGl0ZXJhdGlvbi4KICAgIOn/////TtoHX2xlbmd0aNoGX2FmdGVy2ghfY3VycmVudNoHX2JlZm9yZdoTX2xhc3RfY2hhbmdlZF92YWx1ZXIBAAAAcjEAAAByGgAAACkF2ghpdGVyYWJsZXJ2AAAA2gdyZWN1cnNl2gZkZXB0aDByHgAAAGMFAAAAAAAAAAAAAAAFAAAAAwAAAEMAAABzKAAAAHwBfABfAHwAoAF8AaEBfABfAnwCfABfA3wDfABfBHwEfABfBWQBUwApAmFAAQAACiAgICAgICAgOnBhcmFtIGl0ZXJhYmxlOiBJdGVyYWJsZSB0byB3cmFwLgogICAgICAgIDpwYXJhbSB1bmRlZmluZWQ6IDpjbGFzczpgVW5kZWZpbmVkYCBjbGFzcyB0byB1c2UgZm9yIG5leHQgYW5kCiAgICAgICAgICAgIHByZXZpb3VzIGl0ZW1zLgogICAgICAgIDpwYXJhbSByZWN1cnNlOiBUaGUgZnVuY3Rpb24gdG8gcmVuZGVyIHRoZSBsb29wIGJvZHkgd2hlbiB0aGUKICAgICAgICAgICAgbG9vcCBpcyBtYXJrZWQgcmVjdXJzaXZlLgogICAgICAgIDpwYXJhbSBkZXB0aDA6IEluY3JlbWVudGVkIHdoZW4gbG9vcGluZyByZWN1cnNpdmVseS4KICAgICAgICBOKQbaCV9pdGVyYWJsZdoMX3RvX2l0ZXJhdG9y2glfaXRlcmF0b3LaCl91bmRlZmluZWTaCF9yZWN1cnNlcqkAAAApBXIhAAAAcqcAAABydgAAAHKoAAAAcqkAAAByIAAAAHIgAAAAciIAAAByTgAAAJEBAABzCgAAAAAPBgEMAQYBBgJ6FExvb3BDb250ZXh0Ll9faW5pdF9fqQJypwAAAHIeAAAAYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMIAAAAdAB8AIMBUwByHwAAACkB2gRpdGVyqQFypwAAAHIgAAAAciAAAAByIgAAAHKrAAAApwEAAHMCAAAAAAJ6GExvb3BDb250ZXh0Ll90b19pdGVyYXRvcnJUAAAAYwEAAAAAAAAAAAAAAAIAAAAIAAAAQwAAAHNqAAAAfABqAGQBdQFyEHwAagBTAHoQdAF8AGoCgwF8AF8AVwBuQgQAdAN5YgEAAQABAHQEfABqBYMBfQF8AKAGfAGhAXwAXwV0AXwBgwF8AGoHFwB8AGoIdAl1ARcAfABfAFkAbgIwAHwAagBTACkCeppMZW5ndGggb2YgdGhlIGl0ZXJhYmxlLgoKICAgICAgICBJZiB0aGUgaXRlcmFibGUgaXMgYSBnZW5lcmF0b3Igb3Igb3RoZXJ3aXNlIGRvZXMgbm90IGhhdmUgYQogICAgICAgIHNpemUsIGl0IGlzIGVhZ2VybHkgZXZhbHVhdGVkIHRvIGdldCBhIHNpemUuCiAgICAgICAgTikKcqIAAABymAAAAHKqAAAA2glUeXBlRXJyb3JyhQAAAHKsAAAAcqsAAABydAAAAHKjAAAAchIAAACpAnIhAAAAcqcAAAByIAAAAHIgAAAAciIAAADaBmxlbmd0aKsBAABzEgAAAAAHCgEGAgIBEAEMAQoBDAEgAnoSTG9vcENvbnRleHQubGVuZ3RoYwEAAAAAAAAAAAAAAAEAAAABAAAAQwAAAHMGAAAAfABqAFMAch8AAAApAXK0AAAAclkAAAByIAAAAHIgAAAAciIAAADaB19fbGVuX1++AQAAcwIAAAAAAXoTTG9vcENvbnRleHQuX19sZW5fX2MBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzCgAAAHwAagBkARcAUwApAnpCSG93IG1hbnkgbGV2ZWxzIGRlZXAgYSByZWN1cnNpdmUgbG9vcCBjdXJyZW50bHkgaXMsIHN0YXJ0aW5nIGF0IDEucgcAAAApAXKpAAAAclkAAAByIAAAAHIgAAAAciIAAAByHQAAAMEBAABzAgAAAAADehFMb29wQ29udGV4dC5kZXB0aGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzCgAAAHwAagBkARcAUwApAnotQ3VycmVudCBpdGVyYXRpb24gb2YgdGhlIGxvb3AsIHN0YXJ0aW5nIGF0IDEucgcAAACpAdoGaW5kZXgwclkAAAByIAAAAHIgAAAAciIAAABydAAAAMYBAABzAgAAAAADehFMb29wQ29udGV4dC5pbmRleGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzDAAAAHwAagB8AGoBGABTACkBenJOdW1iZXIgb2YgaXRlcmF0aW9ucyBmcm9tIHRoZSBlbmQgb2YgdGhlIGxvb3AsIGVuZGluZyBhdCAwLgoKICAgICAgICBSZXF1aXJlcyBjYWxjdWxhdGluZyA6YXR0cjpgbGVuZ3RoYC4KICAgICAgICCpAnK0AAAAcnQAAAByWQAAAHIgAAAAciAAAAByIgAAANoJcmV2aW5kZXgwywEAAHMCAAAAAAZ6FUxvb3BDb250ZXh0LnJldmluZGV4MGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzDAAAAHwAagB8AGoBGABTACkBenJOdW1iZXIgb2YgaXRlcmF0aW9ucyBmcm9tIHRoZSBlbmQgb2YgdGhlIGxvb3AsIGVuZGluZyBhdCAxLgoKICAgICAgICBSZXF1aXJlcyBjYWxjdWxhdGluZyA6YXR0cjpgbGVuZ3RoYC4KICAgICAgICCpAnK0AAAAcrcAAAByWQAAAHIgAAAAciAAAAByIgAAANoIcmV2aW5kZXjTAQAAcwIAAAAABnoUTG9vcENvbnRleHQucmV2aW5kZXhjAQAAAAAAAAAAAAAAAQAAAAIAAABDAAAAcwoAAAB8AGoAZAFrAlMAKQJ6MFdoZXRoZXIgdGhpcyBpcyB0aGUgZmlyc3QgaXRlcmF0aW9uIG9mIHRoZSBsb29wLnIBAAAAcrYAAAByWQAAAHIgAAAAciAAAAByIgAAANoFZmlyc3TbAQAAcwIAAAAAA3oRTG9vcENvbnRleHQuZmlyc3RjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcyQAAAB8AGoAdAF1AXIQfABqAFMAdAJ8AGoDdAGDAnwAXwB8AGoAUwApAWELAQAAUmV0dXJuIHRoZSBuZXh0IGVsZW1lbnQgaW4gdGhlIGl0ZXJhYmxlLCBvciA6ZGF0YTpgbWlzc2luZ2AKICAgICAgICBpZiB0aGUgaXRlcmFibGUgaXMgZXhoYXVzdGVkLiBPbmx5IHBlZWtzIG9uZSBpdGVtIGFoZWFkLCBjYWNoaW5nCiAgICAgICAgdGhlIHJlc3VsdCBpbiA6YXR0cjpgX2xhc3RgIGZvciB1c2UgaW4gc3Vic2VxdWVudCBjaGVja3MuIFRoZQogICAgICAgIGNhY2hlIGlzIHJlc2V0IHdoZW4gOm1ldGg6YF9fbmV4dF9fYCBpcyBjYWxsZWQuCiAgICAgICAgKQRyowAAAHISAAAA2gRuZXh0cqwAAAByWQAAAHIgAAAAciAAAAByIgAAANoKX3BlZWtfbmV4dOABAABzCAAAAAAGCgEGAg4BehZMb29wQ29udGV4dC5fcGVla19uZXh0YwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMMAAAAfACgAKEAdAF1AFMAKQF63ldoZXRoZXIgdGhpcyBpcyB0aGUgbGFzdCBpdGVyYXRpb24gb2YgdGhlIGxvb3AuCgogICAgICAgIENhdXNlcyB0aGUgaXRlcmFibGUgdG8gYWR2YW5jZSBlYXJseS4gU2VlCiAgICAgICAgOmZ1bmM6YGl0ZXJ0b29scy5ncm91cGJ5YCBmb3IgaXNzdWVzIHRoaXMgY2FuIGNhdXNlLgogICAgICAgIFRoZSA6ZnVuYzpgZ3JvdXBieWAgZmlsdGVyIGF2b2lkcyB0aGF0IGlzc3VlLgogICAgICAgIKkCcr4AAAByEgAAAHJZAAAAciAAAAByIAAAAHIiAAAA2gRsYXN07AEAAHMCAAAAAAh6EExvb3BDb250ZXh0Lmxhc3RjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcxYAAAB8AGoAchB8AKABZAGhAVMAfABqAlMAKQJ6WlRoZSBpdGVtIGluIHRoZSBwcmV2aW91cyBpdGVyYXRpb24uIFVuZGVmaW5lZCBkdXJpbmcgdGhlCiAgICAgICAgZmlyc3QgaXRlcmF0aW9uLgogICAgICAgIHoZdGhlcmUgaXMgbm8gcHJldmlvdXMgaXRlbSkDcrwAAAByrQAAAHKlAAAAclkAAAByIAAAAHIgAAAAciIAAADaCHByZXZpdGVt9gEAAHMGAAAAAAUGAQoCehRMb29wQ29udGV4dC5wcmV2aXRlbWMBAAAAAAAAAAAAAAACAAAAAwAAAEMAAABzHgAAAHwAoAChAH0BfAF0AXUAchp8AKACZAGhAVMAfAFTACkCYQkBAABUaGUgaXRlbSBpbiB0aGUgbmV4dCBpdGVyYXRpb24uIFVuZGVmaW5lZCBkdXJpbmcgdGhlIGxhc3QKICAgICAgICBpdGVyYXRpb24uCgogICAgICAgIENhdXNlcyB0aGUgaXRlcmFibGUgdG8gYWR2YW5jZSBlYXJseS4gU2VlCiAgICAgICAgOmZ1bmM6YGl0ZXJ0b29scy5ncm91cGJ5YCBmb3IgaXNzdWVzIHRoaXMgY2FuIGNhdXNlLgogICAgICAgIFRoZSA6ZnVuYzpgamluamEtZmlsdGVycy5ncm91cGJ5YCBmaWx0ZXIgYXZvaWRzIHRoYXQgaXNzdWUuCiAgICAgICAg+hV0aGVyZSBpcyBubyBuZXh0IGl0ZW2pA3K+AAAAchIAAAByrQAAAHKcAAAAciAAAAByIAAAAHIiAAAA2ghuZXh0aXRlbQACAABzCAAAAAAJCAIIAQoCehRMb29wQ29udGV4dC5uZXh0aXRlbSkCcn8AAAByHgAAAGMBAAAAAAAAAAAAAAACAAAABAAAAEcAAABzHgAAAHwBcwx0AGQBgwGCAXwBfABqAXQCfAGDARYAGQBTACkCeqRSZXR1cm4gYSB2YWx1ZSBmcm9tIHRoZSBnaXZlbiBhcmdzLCBjeWNsaW5nIHRocm91Z2ggYmFzZWQgb24KICAgICAgICB0aGUgY3VycmVudCA6YXR0cjpgaW5kZXgwYC4KCiAgICAgICAgOnBhcmFtIGFyZ3M6IE9uZSBvciBtb3JlIHZhbHVlcyB0byBjeWNsZSB0aHJvdWdoLgogICAgICAgIHoabm8gaXRlbXMgZm9yIGN5Y2xpbmcgZ2l2ZW4pA3KyAAAAcrcAAABymAAAACkCciEAAAByfwAAAHIgAAAAciAAAAByIgAAANoFY3ljbGUQAgAAcwYAAAAABgQBCAJ6EUxvb3BDb250ZXh0LmN5Y2xlKQJySgAAAHIeAAAAYwEAAAAAAAAAAAAAAAIAAAACAAAARwAAAHMYAAAAfABqAHwBawNyFHwBfABfAGQBUwBkAlMAKQN6v1JldHVybiBgYFRydWVgYCBpZiBwcmV2aW91c2x5IGNhbGxlZCB3aXRoIGEgZGlmZmVyZW50IHZhbHVlCiAgICAgICAgKGluY2x1ZGluZyB3aGVuIGNhbGxlZCBmb3IgdGhlIGZpcnN0IHRpbWUpLgoKICAgICAgICA6cGFyYW0gdmFsdWU6IE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb21wYXJlIHRvIHRoZSBsYXN0IGNhbGwuCiAgICAgICAgVEYpAXKmAAAAKQJyIQAAAHJKAAAAciAAAAByIAAAAHIiAAAA2gdjaGFuZ2VkGwIAAHMIAAAAAAYKAQYBBAJ6E0xvb3BDb250ZXh0LmNoYW5nZWRjAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwQAAAB8AFMAch8AAAByIAAAAHJZAAAAciAAAAByIAAAAHIiAAAA2ghfX2l0ZXJfXycCAABzAgAAAAABehRMb29wQ29udGV4dC5fX2l0ZXJfX2MBAAAAAAAAAAAAAAACAAAAAwAAAEMAAABzRgAAAHwAagB0AXUBchh8AGoAfQF0AXwAXwBuCnQCfABqA4MBfQF8AAQAagRkATcAAgBfBHwAagV8AF8GfAF8AF8FfAF8AGYCUwCpAk5yBwAAACkHcqMAAAByEgAAAHK9AAAAcqwAAABytwAAAHKkAAAAcqUAAABynAAAAHIgAAAAciAAAAByIgAAANoIX19uZXh0X18qAgAAcxAAAAAAAQoBBgEIAgoCDgEIAQYBehRMb29wQ29udGV4dC5fX25leHRfX2MCAAAAAAAAAAAAAAACAAAABQAAAEMAAABzJgAAAHwAagBkAXUAchJ0AWQCgwGCAXwAagB8AXwAagB8AGoCZAONA1MAKQR6xFdoZW4gaXRlcmF0aW5nIG92ZXIgbmVzdGVkIGRhdGEsIHJlbmRlciB0aGUgYm9keSBvZiB0aGUgbG9vcAogICAgICAgIHJlY3Vyc2l2ZWx5IHdpdGggdGhlIGdpdmVuIGlubmVyIGl0ZXJhYmxlIGRhdGEuCgogICAgICAgIFRoZSBsb29wIG11c3QgaGF2ZSB0aGUgYGByZWN1cnNpdmVgYCBtYXJrZXIgZm9yIHRoaXMgdG8gd29yay4KICAgICAgICBOekNUaGUgbG9vcCBtdXN0IGhhdmUgdGhlICdyZWN1cnNpdmUnIG1hcmtlciB0byBiZSBjYWxsZWQgcmVjdXJzaXZlbHkuKQFyHQAAACkDcq4AAABysgAAAHIdAAAAcrMAAAByIAAAAHIgAAAAciIAAAByIwAAADYCAABzCgAAAAAHCgECAQL/BAR6FExvb3BDb250ZXh0Ll9fY2FsbF9fYwEAAAAAAAAAAAAAAAEAAAAHAAAAQwAAAHMiAAAAZAF0AHwAgwFqAZsAZAJ8AGoCmwBkA3wAagObAGQEnQdTACkFTnJVAAAAclYAAAD6AS9yVwAAACkEclgAAAByJAAAAHJ0AAAAcrQAAAByWQAAAHIgAAAAciAAAAByIgAAAHJaAAAARAIAAHMCAAAAAAF6FExvb3BDb250ZXh0Ll9fcmVwcl9fKQJOcgEAAAApLnIkAAAAciUAAAByJgAAAHJbAAAAcrcAAAByogAAAHInAAAAcowAAAByKQAAANoPX19hbm5vdGF0aW9uc19fchIAAAByowAAAHJcAAAAcqQAAABypQAAAHKmAAAAcigAAAByFgAAANoEVHlwZXJOAAAA2gxzdGF0aWNtZXRob2RyjgAAAHKrAAAAcqAAAABytAAAAHK1AAAAch0AAABydAAAAHK5AAAAcrsAAABykwAAAHK8AAAAcr4AAABywAAAAHKQAAAAcsEAAAByxAAAAHLFAAAAcsYAAAByxwAAANoFVHVwbGVyyQAAAHIRAAAAcioAAAByIwAAAHJaAAAAciAAAAByIAAAAHIgAAAAciIAAAByKwAAAIMBAABzWgAAAAoBBAUEAhIBDgEOAQ4BDgYAAQD7AgIIAQgBCAECAQL6DBYCAR4DAgEQEg4DAgEQBAIBEAQCARAHAgEQBwIBEAQQDAIBEAkCARwJAgEcDxALEgwOAxoMAgEYDXIrAAAAYwAAAAAAAAAAAAAAAAAAAAAFAAAAQAAAAHPsAAAAZQBaAWQAWgJVAGUDagRlA2oFGQBlBmQBPABlB2UDaghlA2oJZQoZAGUDagtlChkAZgIZAGUDagRlChkAZAKcAmQDZASEBIMBWgxlDWUOZAWcAWQGZAeEBIMBWg9lDWUOZAWcAWQIZAmEBIMBWhBlDWUOZAWcAWQKZAuEBIMBWhFlA2oFZAWcAWQMZA2EBFoSZQ1lE2QFnAFkDmQPhASDAVoUZQ1lA2oIZQNqBWQQZgIZAGQFnAFkEWQShASDAVoVZABkBZwBZBNkFIQEWhZlA2oXZQNqBWQAZgIZAGQFnAFkFWQWhARaGGQXUwApGHIyAAAAcqwAAAByrwAAAGMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzCAAAAHQAfACDAVMAch8AAAByCAAAAHKxAAAAciAAAAByIAAAAHIiAAAAcqsAAABLAgAAcwIAAAAABHodQXN5bmNMb29wQ29udGV4dC5fdG9faXRlcmF0b3JyVAAAAGMBAAAAAAAAAAAAAAACAAAACAAAAMMAAABzdgAAAHwAagBkAHUBchB8AGoAUwB6EHQBfABqAoMBfABfAFcAbk4EAHQDeW4BAAEAAQBkAWQChAB8AGoEMgCDAUkAZABIAH0BfACgBXwBoQF8AF8EdAF8AYMBfABqBhcAfABqB3QIdQEXAHwAXwBZAG4CMAB8AGoAUwApA05jAQAAAAAAAAAAAAAAAgAAAAgAAADTAAAAcxoAAABnAHwAehAzAGQASABXAH0BfAGRAnEENgBTAHIfAAAAciAAAABymQAAAHIgAAAAciAAAAByIgAAAHKaAAAAWQIAAHJqAAAAeitBc3luY0xvb3BDb250ZXh0Lmxlbmd0aC48bG9jYWxzPi48bGlzdGNvbXA+KQlyogAAAHKYAAAAcqoAAABysgAAAHKsAAAAcqsAAABydAAAAHKjAAAAchIAAAByswAAAHIgAAAAciAAAAByIgAAAHK0AAAAUQIAAHMSAAAAAAIKAQYCAgEQAQwBFgEMASACehdBc3luY0xvb3BDb250ZXh0Lmxlbmd0aGMBAAAAAAAAAAAAAAABAAAAAgAAAMMAAABzEgAAAHwAagBJAGQASAB8AGoBGABTAHIfAAAAcrgAAAByWQAAAHIgAAAAciAAAAByIgAAAHK5AAAAXwIAAHMCAAAAAAJ6GkFzeW5jTG9vcENvbnRleHQucmV2aW5kZXgwYwEAAAAAAAAAAAAAAAEAAAACAAAAwwAAAHMSAAAAfABqAEkAZABIAHwAagEYAFMAch8AAAByugAAAHJZAAAAciAAAAByIAAAAHIiAAAAcrsAAABjAgAAcwIAAAAAAnoZQXN5bmNMb29wQ29udGV4dC5yZXZpbmRleGMBAAAAAAAAAAAAAAABAAAACAAAAMMAAABzRgAAAHwAagB0AXUBchB8AGoAUwB6FnwAagKgA6EASQBkAEgAfABfAFcAbhgEAHQEeT4BAAEAAQB0AXwAXwBZAG4CMAB8AGoAUwByHwAAACkFcqMAAAByEgAAAHKsAAAA2glfX2FuZXh0X1/aElN0b3BBc3luY0l0ZXJhdGlvbnJZAAAAciAAAAByIAAAAHIiAAAAcr4AAABnAgAAcw4AAAAAAQoBBgICARYBDAEMAnobQXN5bmNMb29wQ29udGV4dC5fcGVla19uZXh0YwEAAAAAAAAAAAAAAAEAAAACAAAAwwAAAHMSAAAAfACgAKEASQBkAEgAdAF1AFMAch8AAAByvwAAAHJZAAAAciAAAAByIAAAAHIiAAAAcsAAAAByAgAAcwIAAAAAAnoVQXN5bmNMb29wQ29udGV4dC5sYXN0cjEAAABjAQAAAAAAAAAAAAAAAgAAAAMAAADDAAAAcyQAAAB8AKAAoQBJAGQASAB9AXwBdAF1AHIgfACgAmQBoQFTAHwBUwApAk5ywgAAAHLDAAAAcpwAAAByIAAAAHIgAAAAciIAAAByxAAAAHYCAABzCAAAAAACDgIIAQoCehlBc3luY0xvb3BDb250ZXh0Lm5leHRpdGVtYwEAAAAAAAAAAAAAAAEAAAABAAAAQwAAAHMEAAAAfABTAHIfAAAAciAAAAByWQAAAHIgAAAAciAAAAByIgAAANoJX19haXRlcl9ffwIAAHMCAAAAAAF6GkFzeW5jTG9vcENvbnRleHQuX19haXRlcl9fYwEAAAAAAAAAAAAAAAIAAAADAAAAwwAAAHNMAAAAfABqAHQBdQFyGHwAagB9AXQBfABfAG4QfABqAqADoQBJAGQASAB9AXwABABqBGQBNwACAF8EfABqBXwAXwZ8AXwAXwV8AXwAZgJTAHLIAAAAKQdyowAAAHISAAAAcqwAAAByzwAAAHK3AAAAcqQAAABypQAAAHKcAAAAciAAAAByIAAAAHIiAAAAcs8AAACCAgAAcxAAAAAAAQoBBgEIAhACDgEIAQYBehpBc3luY0xvb3BDb250ZXh0Ll9fYW5leHRfX04pGXIkAAAAciUAAAByJgAAAHInAAAA2g1Bc3luY0l0ZXJhdG9yclwAAAByywAAAHLNAAAAcpAAAAByKAAAAHIWAAAA2g1Bc3luY0l0ZXJhYmxlcqsAAAByoAAAAHIpAAAAcrQAAAByuQAAAHK7AAAAcr4AAABykwAAAHLAAAAAcsQAAABy0QAAAHLOAAAAcs8AAAByIAAAAHIgAAAAciAAAAByIgAAAHIyAAAASAIAAHMkAAAACgEQAgICGAEI/g4FAgEQDQIBEAMCARADEAsCARADAgEcCA4DcjIAAABjAAAAAAAAAAAAAAAAAAAAAAoAAABAAAAAc6QAAABlAFoBZABaAmQBWgNkE2QDZQRqBWQEZQZmAhkAZQZlBGoHZQYZAGUIZQhlCGUEagllCBkAZAWcCGQGZAeEBVoKZQtlDGUEag1lBGoNZQZkCJwDZAlkCoQEgwGDAVoOZQRqB2UEag0ZAGUIZQZkC5wDZAxkDYQEWg9lBGoHZQRqDRkAZQhlBmQLnANkDmQPhARaEGUGZBCcAWQRZBKEBFoRZAJTACkUci0AAAB6F1dyYXBzIGEgbWFjcm8gZnVuY3Rpb24uTnIZAAAALikIcj8AAADaBGZ1bmNyUAAAANoJYXJndW1lbnRz2gxjYXRjaF9rd2FyZ3PaDWNhdGNoX3ZhcmFyZ3PaBmNhbGxlctoSZGVmYXVsdF9hdXRvZXNjYXBlYwkAAAAAAAAAAAAAAAkAAAADAAAAQwAAAHNsAAAAfAF8AF8AfAJ8AF8BdAJ8BIMBfABfA3wDfABfBHwEfABfBXwFfABfBnwGfABfB3wHfABfCGQBfAR2AHwAXwl8CGQAdQByYnQKfAFqC4MBclx8AaALZAChAX0IbgZ8AWoLfQh8CHwAXwxkAFMAKQJOctgAAAApDdoMX2Vudmlyb25tZW502gVfZnVuY3KYAAAA2g9fYXJndW1lbnRfY291bnRyUAAAAHLVAAAActYAAABy1wAAAHLYAAAA2g9leHBsaWNpdF9jYWxsZXLaCGNhbGxhYmxlcpsAAADaE19kZWZhdWx0X2F1dG9lc2NhcGUpCXIhAAAAcj8AAABy1AAAAHJQAAAActUAAABy1gAAAHLXAAAActgAAABy2QAAAHIgAAAAciAAAAByIgAAAHJOAAAAkgIAAHMcAAAAAAsGAQYBCgEGAQYBBgEGAQYBCgIIAQoBDAIGAnoOTWFjcm8uX19pbml0X1+pA3J/AAAAcoAAAAByHgAAAGMBAAAAAAAAAAAAAAAKAAAACQAAAE8AAABzlgEAAHwBcip0AHwBZAEZAHQBgwJyKnwBZAEZAGoCfQN8AWQCZACFAhkAfQFuBnwAagN9A3QEfAFkAHwAagWFAhkAgwF9BHQGfASDAX0FZAN9BnwFfABqBWsDcq58AGoHdAZ8BIMBZACFAhkARABdQH0Heg58AqAIfAehAX0IVwBuFgQAdAl5kgEAAQABAHQKfQhZAG4CMAB8B2QEawJyoGQFfQZ8BKALfAihAQEAcWpuBnwAagx9BnwAag1y7HwGc+x8AqAIZARkAKECfQl8CWQAdQBy4nwAag5qD2QGZARkB40CfQl8BKALfAmhAQEAfABqEHL+fASgC3wCoQEBAG5AfAKQAXI+ZAR8AnYAkAFyIHQRZAh8AGoSmwJkCZ0DgwGCAXQRZAh8AGoSmwJkCnQTdBR8AoMBgwGbAp0EgwGCAXwAahWQAXJcfASgC3wBfABqBWQAhQIZAKEBAQBuLnQGfAGDAXwAagVrBJABcop0EWQIfABqEpsCZAt0BnwAageDAZsAZAydBYMBggF8AKAWfAR8A6ECUwApDU5yAQAAAHIHAAAARnLYAAAAVHoRTm8gY2FsbGVyIGRlZmluZWRycwAAAHoGbWFjcm8gelggd2FzIGludm9rZWQgd2l0aCB0d28gdmFsdWVzIGZvciB0aGUgc3BlY2lhbCBjYWxsZXIgYXJndW1lbnQuIFRoaXMgaXMgbW9zdCBsaWtlbHkgYSBidWcuehsgdGFrZXMgbm8ga2V5d29yZCBhcmd1bWVudCB6FSB0YWtlcyBub3QgbW9yZSB0aGFuIHoMIGFyZ3VtZW50KHMpKRfaCmlzaW5zdGFuY2VyDgAAAHKbAAAAct8AAAByhQAAAHLcAAAAcpgAAABy1QAAAHKCAAAAcngAAAByEgAAAHI4AAAAct0AAABy2AAAAHLaAAAAcnYAAABy1gAAAHKyAAAAclAAAAByvQAAAHKwAAAActcAAADaB19pbnZva2UpCnIhAAAAcn8AAABygAAAAHKbAAAActUAAADaA29mZloMZm91bmRfY2FsbGVyclAAAABySgAAAHLYAAAAciAAAAByIAAAAHIiAAAAciMAAACvAgAAc1IAAAAAExIBCgEOAgYDEgEIBAQFCgEWAQIBDgEMAQoBCAEEAQ4CBgUKAQwBCAEQAQoCBgEMAQYBCgECAQz/BAQCARj/BAMIARYBEAECAQoBCP8G/wQFeg5NYWNyby5fX2NhbGxfXykDctUAAABymwAAAHIeAAAAYwMAAAAAAAAAAAAAAAQAAAACAAAAwwAAAHMgAAAAfABqAHwBjgBJAGQASAB9A3wCchx0AXwDgwFTAHwDUwByHwAAACkCctsAAAByBQAAAKkEciEAAABy1QAAAHKbAAAAcnsAAAByIAAAAHIgAAAAciIAAADaDV9hc3luY19pbnZva2X9AgAAcwgAAAAAARACBAEIAnoTTWFjcm8uX2FzeW5jX2ludm9rZWMDAAAAAAAAAAAAAAAEAAAABAAAAEMAAABzLgAAAHwAagBqAXIUfACgAnwBfAKhAlMAfABqA3wBjgB9A3wCcip0BHwDgwF9A3wDUwByHwAAACkFctoAAAByngAAAHLlAAAActsAAAByBQAAAHLkAAAAciAAAAByIAAAAHIiAAAAcuIAAAAFAwAAcwwAAAAAAQgBDAIKAgQBCAJ6DU1hY3JvLl9pbnZva2VyVAAAAGMBAAAAAAAAAAAAAAACAAAABQAAAEMAAABzMAAAAHwAagBkAHUAcg5kAW4IdAF8AGoAgwF9AWQCdAJ8AIMBagObAGQDfAGbAGQEnQVTACkFTloJYW5vbnltb3VzclUAAAByVgAAAHJXAAAAKQRyUAAAANoEcmVwcnJYAAAAciQAAAByiAAAAHIgAAAAciAAAAByIgAAAHJaAAAAEAMAAHMEAAAAAAEYAXoOTWFjcm8uX19yZXByX18pAU4pEnIkAAAAciUAAAByJgAAAHJbAAAAcicAAAByjQAAAHIqAAAAcp8AAABykwAAAHKMAAAAck4AAAByEQAAAHIVAAAAclwAAAByIwAAAHLlAAAAcuIAAAByWgAAAHIgAAAAciAAAAByIAAAAHIiAAAAci0AAACPAgAAcyQAAAAIAQQLAPcCAgIBDAECAQgBAgECAQIBCPcMHQIBAgEaTBoIGgtyLQAAAGMAAAAAAAAAAAAAAAAAAAAABwAAAEAAAABzjAEAAGUAWgFkAFoCZAFaA2QCWgRkA2UFZANlBmYEZQdqCGUJGQBlB2oKZQdqCGUJGQBlB2oLZQwZAGQDZAScBWQFZAaEBVoNZQ5lCWQHnAFkCGQJhASDAVoPZRBlB2oKZQdqCmQKZAucA2QMZA2EBIMBWhFlEGUJZQdqCmQOnAJkD2QQhASDAVoSZREEAFoTBABaFAQAWhVaFmURBABaFwQAWhgEAFoZWhplEQQAWhtaHGURBABaHVoeZREEAFofWiBlEQQAWiFaImURBABaI1okZREEAFolBABaJgQAWidaKGURBABaKQQAWipaK2URBABaLFotZQdqCmUuZBGcAmQSZBOEBFovZQdqCmUuZBGcAmQUZBWEBFowZTFkB5wBZBZkF4QEWjJlCWQHnAFkGGQZhARaM2UxZAecAWQaZBuEBFo0ZQdqNWUHagoZAGQHnAFkHGQdhARaNmUHajdlB2oKGQBkB5wBZB5kH4QEWjhlLmQHnAFkIGQhhARaOWUJZAecAWQiZCOEBFo6ZANTACkkcjEAAABhaAEAAFRoZSBkZWZhdWx0IHVuZGVmaW5lZCB0eXBlLiAgVGhpcyB1bmRlZmluZWQgdHlwZSBjYW4gYmUgcHJpbnRlZCBhbmQKICAgIGl0ZXJhdGVkIG92ZXIsIGJ1dCBldmVyeSBvdGhlciBhY2Nlc3Mgd2lsbCByYWlzZSBhbiA6ZXhjOmBVbmRlZmluZWRFcnJvcmA6CgogICAgPj4+IGZvbyA9IFVuZGVmaW5lZChuYW1lPSdmb28nKQogICAgPj4+IHN0cihmb28pCiAgICAnJwogICAgPj4+IG5vdCBmb28KICAgIFRydWUKICAgID4+PiBmb28gKyA0MgogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAuLi4KICAgIGppbmphMi5leGNlcHRpb25zLlVuZGVmaW5lZEVycm9yOiAnZm9vJyBpcyB1bmRlZmluZWQKICAgIKkE2g9fdW5kZWZpbmVkX2hpbnTaDl91bmRlZmluZWRfb2Jq2g9fdW5kZWZpbmVkX25hbWXaFF91bmRlZmluZWRfZXhjZXB0aW9uTikF2gRoaW502gNvYmpyUAAAANoDZXhjch4AAABjBQAAAAAAAAAAAAAABQAAAAIAAABDAAAAcxwAAAB8AXwAXwB8AnwAXwF8A3wAXwJ8BHwAXwNkAFMAch8AAABy5wAAACkFciEAAABy7AAAAHLtAAAAclAAAABy7gAAAHIgAAAAciAAAAByIgAAAHJOAAAAKwMAAHMIAAAAAAcGAQYBBgF6ElVuZGVmaW5lZC5fX2luaXRfX3JUAAAAYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHNaAAAAfABqAHIMfABqAFMAfABqAXQCdQByInwAagObAmQBnQJTAHQEfABqA3QFgwJzRHQGfABqAYMBmwBkAnwAagObAp0DUwB0BnwAagGDAZsCZAN8AGoDmwKdA1MAKQR6WEJ1aWxkIGEgbWVzc2FnZSBhYm91dCB0aGUgdW5kZWZpbmVkIHZhbHVlIGJhc2VkIG9uIGhvdyBpdCB3YXMKICAgICAgICBhY2Nlc3NlZC4KICAgICAgICB6DSBpcyB1bmRlZmluZWR6ECBoYXMgbm8gZWxlbWVudCB6EiBoYXMgbm8gYXR0cmlidXRlICkHcugAAABy6QAAAHISAAAAcuoAAABy4QAAAHIqAAAAchQAAAByWQAAAHIgAAAAciAAAAByIgAAANoSX3VuZGVmaW5lZF9tZXNzYWdlNwMAAHMaAAAAAAUGAQYCCgEMAgwCDAEE/wT/AgYMAQT/BP96HFVuZGVmaW5lZC5fdW5kZWZpbmVkX21lc3NhZ2X6C3RlLk5vUmV0dXJucuAAAABjAQAAAAAAAAAAAAAAAwAAAAMAAABPAAAAcxAAAAB8AKAAfABqAaEBggFkAVMAKQJ6ZVJhaXNlIGFuIDpleGM6YFVuZGVmaW5lZEVycm9yYCB3aGVuIG9wZXJhdGlvbnMgYXJlIHBlcmZvcm1lZAogICAgICAgIG9uIHRoZSB1bmRlZmluZWQgdmFsdWUuCiAgICAgICAgTikCcusAAABy7wAAACkDciEAAAByfwAAAHKAAAAAciAAAAByIAAAAHIiAAAA2hpfZmFpbF93aXRoX3VuZGVmaW5lZF9lcnJvck0DAABzAgAAAAAHeiRVbmRlZmluZWQuX2ZhaWxfd2l0aF91bmRlZmluZWRfZXJyb3JyTwAAAGMCAAAAAAAAAAAAAAACAAAAAwAAAEMAAABzIAAAAHwBZABkAYUCGQBkAmsCchh0AHwBgwGCAXwAoAGhAFMAKQNO6QIAAADaAl9fKQLaDkF0dHJpYnV0ZUVycm9ycvEAAAByiAAAAHIgAAAAciAAAAByIgAAANoLX19nZXRhdHRyX19WAwAAcwYAAAAAAhABCAJ6FVVuZGVmaW5lZC5fX2dldGF0dHJfXykC2gVvdGhlcnIeAAAAYwIAAAAAAAAAAAAAAAIAAAADAAAAQwAAAHMQAAAAdAB8AIMBdAB8AYMBdQBTAHIfAAAAKQFyWAAAAKkCciEAAABy9gAAAHIgAAAAciAAAAByIgAAANoGX19lcV9faAMAAHMCAAAAAAF6EFVuZGVmaW5lZC5fX2VxX19jAgAAAAAAAAAAAAAAAgAAAAMAAABDAAAAcwwAAAB8AKAAfAGhAQwAUwByHwAAACkBcvgAAABy9wAAAHIgAAAAciAAAAByIgAAANoGX19uZV9fawMAAHMCAAAAAAF6EFVuZGVmaW5lZC5fX25lX19jAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwwAAAB0AHQBfACDAYMBUwByHwAAACkC2gJpZHJYAAAAclkAAAByIAAAAHIgAAAAciIAAADaCF9faGFzaF9fbgMAAHMCAAAAAAF6ElVuZGVmaW5lZC5fX2hhc2hfX2MBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBUwApAk5yNgAAAHIgAAAAclkAAAByIAAAAHIgAAAAciIAAADaB19fc3RyX19xAwAAcwIAAAAAAXoRVW5kZWZpbmVkLl9fc3RyX19jAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwQAAABkAVMAclEAAAByIAAAAHJZAAAAciAAAAByIAAAAHIiAAAAcrUAAAB0AwAAcwIAAAAAAXoRVW5kZWZpbmVkLl9fbGVuX19jAQAAAAAAAAAAAAAAAQAAAAIAAABjAAAAcw4AAABkAUUAZABIAAEAZABTAKkCTnIgAAAAciAAAAByWQAAAHIgAAAAciAAAAByIgAAAHLHAAAAdwMAAHMCAAAAAAF6ElVuZGVmaW5lZC5fX2l0ZXJfX2MBAAAAAAAAAAAAAAACAAAAAgAAAEMCAABzFAAAAGQBRABdCn0BZABWAAEAcQRkAFMAcv0AAAByIAAAAKkCciEAAADaAV9yIAAAAHIgAAAAciIAAABy0QAAAHoDAABzBAAAAAABCAF6E1VuZGVmaW5lZC5fX2FpdGVyX19jAQAAAAAAAAAAAAAAAQAAAAEAAABDAAAAcwQAAABkAVMAKQJORnIgAAAAclkAAAByIAAAAHIgAAAAciIAAADaCF9fYm9vbF9ffgMAAHMCAAAAAAF6ElVuZGVmaW5lZC5fX2Jvb2xfX2MBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBUwApAk5yMQAAAHIgAAAAclkAAAByIAAAAHIgAAAAciIAAAByWgAAAIEDAABzAgAAAAABehJVbmRlZmluZWQuX19yZXByX18pO3IkAAAAciUAAAByJgAAAHJbAAAA2glfX3Nsb3RzX19yEgAAAHINAAAAcicAAAByjAAAAHIqAAAAclwAAAByzAAAAHIMAAAAck4AAAByoAAAAHLvAAAAchEAAABy8QAAAHL1AAAA2gdfX2FkZF9f2ghfX3JhZGRfX9oHX19zdWJfX9oIX19yc3ViX1/aB19fbXVsX1/aCF9fcm11bF9fWgdfX2Rpdl9fWghfX3JkaXZfX9oLX190cnVlZGl2X1/aDF9fcnRydWVkaXZfX9oMX19mbG9vcmRpdl9f2g1fX3JmbG9vcmRpdl9f2gdfX21vZF9f2ghfX3Jtb2RfX9oHX19wb3NfX9oHX19uZWdfX3IjAAAAclMAAADaBl9fbHRfX9oGX19sZV9f2gZfX2d0X1/aBl9fZ2VfX9oHX19pbnRfX9oJX19mbG9hdF9f2gtfX2NvbXBsZXhfX9oHX19wb3dfX9oIX19ycG93X19ykwAAAHL4AAAAcvkAAAByKQAAAHL7AAAAcvwAAABytQAAAHKOAAAAcscAAABy0gAAAHLRAAAAcgABAAByWgAAAHIgAAAAciAAAAByIAAAAHIiAAAAcjEAAAAVAwAAc1AAAAAIAQQOBAkCAQIBAgEC+wICCAEEAQgBCAEC+gwMAgEQFQICCAEC/g4IAgEUBhABEAEIAQgBCAEIAQgBEAEMAQgCEgMSAw4DDgMOAxYDFgQOA3IxAAAAeg5sb2dnaW5nLkxvZ2dlcikD2gZsb2dnZXLaBGJhc2VyHgAAAGMCAAAAAAAAAAAAAAAEAAAABQAAAAMAAABzWgAAAIgBZAF1AHIsZAJkAWwAfQJ8AqABdAKhAYkBiAGgA3wCoAR0BWoGoQGhAQEAdAdkAWQDnAKHAWYBZARkBYQMiQBHAIcAhwFmAmQGZAeECGQHfAGDA30DfANTACkIYWsCAABHaXZlbiBhIGxvZ2dlciBvYmplY3QgdGhpcyByZXR1cm5zIGEgbmV3IHVuZGVmaW5lZCBjbGFzcyB0aGF0IHdpbGwKICAgIGxvZyBjZXJ0YWluIGZhaWx1cmVzLiAgSXQgd2lsbCBsb2cgaXRlcmF0aW9ucyBhbmQgcHJpbnRpbmcuICBJZiBubwogICAgbG9nZ2VyIGlzIGdpdmVuIGEgZGVmYXVsdCBsb2dnZXIgaXMgY3JlYXRlZC4KCiAgICBFeGFtcGxlOjoKCiAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAgICAgICAgTG9nZ2luZ1VuZGVmaW5lZCA9IG1ha2VfbG9nZ2luZ191bmRlZmluZWQoCiAgICAgICAgICAgIGxvZ2dlcj1sb2dnZXIsCiAgICAgICAgICAgIGJhc2U9VW5kZWZpbmVkCiAgICAgICAgKQoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuOAoKICAgIDpwYXJhbSBsb2dnZXI6IHRoZSBsb2dnZXIgdG8gdXNlLiAgSWYgbm90IHByb3ZpZGVkLCBhIGRlZmF1bHQgbG9nZ2VyCiAgICAgICAgICAgICAgICAgICBpcyBjcmVhdGVkLgogICAgOnBhcmFtIGJhc2U6IHRoZSBiYXNlIGNsYXNzIHRvIGFkZCBsb2dnaW5nIGZ1bmN0aW9uYWxpdHkgdG8uICBUaGlzCiAgICAgICAgICAgICAgICAgZGVmYXVsdHMgdG8gOmNsYXNzOmBVbmRlZmluZWRgLgogICAgTnIBAAAAKQLaBXVuZGVmch4AAABjAQAAAAAAAAAAAAAAAQAAAAQAAAATAAAAcxIAAACIAKAAZAF8AGoBoQIBAGQAUwApAk56HVRlbXBsYXRlIHZhcmlhYmxlIHdhcm5pbmc6ICVzKQLaB3dhcm5pbmdy7wAAACkBchsBAAApAXIZAQAAciAAAAByIgAAANoMX2xvZ19tZXNzYWdloQMAAHMGAAAAAAEEAQb/eixtYWtlX2xvZ2dpbmdfdW5kZWZpbmVkLjxsb2NhbHM+Ll9sb2dfbWVzc2FnZWMAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABzdAAAAGUAWgFkAFoCZAFaA2UEagVlBGoFZAJkA5wDhwCHAmYCZARkBYQMWgZlB2QGnAGHAIcBZgJkB2QIhAxaCGUEagllBGoFGQBkBpwBhwCHAWYCZAlkCoQMWgplC2QGnAGHAIcBZgJkC2QMhAxaDIcABABaDVMAKQ16MG1ha2VfbG9nZ2luZ191bmRlZmluZWQuPGxvY2Fscz4uTG9nZ2luZ1VuZGVmaW5lZHIgAAAAcvAAAABy4AAAAGMBAAAAAAAAAAAAAAAEAAAACgAAAB8AAABzUgAAAHoWdACDAGoBfAFpAHwCpAGOAQEAVwBuNgQAfABqAnlMAQB9AwEAehyIAaADZAF8A6ECAQB8A4IBVwBZAGQAfQN+A24KZAB9A34DMAAwAGQAUwApAk56G1RlbXBsYXRlIHZhcmlhYmxlIGVycm9yOiAlcykEcnIAAABy8QAAAHLrAAAA2gVlcnJvcikEciEAAAByfwAAAHKAAAAA2gFlKQLaCV9fY2xhc3NfX3IZAQAAciAAAAByIgAAAHLxAAAAqQMAAHMKAAAAAAMCARYBEAEMAXpLbWFrZV9sb2dnaW5nX3VuZGVmaW5lZC48bG9jYWxzPi5Mb2dnaW5nVW5kZWZpbmVkLl9mYWlsX3dpdGhfdW5kZWZpbmVkX2Vycm9yclQAAABjAQAAAAAAAAAAAAAAAQAAAAIAAAATAAAAcxIAAACIAXwAgwEBAHQAgwCgAaEAUwByHwAAACkCcnIAAABy/AAAAHJZAAAAqQJyIAEAAHIdAQAAciAAAAByIgAAAHL8AAAAsgMAAHMEAAAAAAEIAXo4bWFrZV9sb2dnaW5nX3VuZGVmaW5lZC48bG9jYWxzPi5Mb2dnaW5nVW5kZWZpbmVkLl9fc3RyX19jAQAAAAAAAAAAAAAAAQAAAAIAAAATAAAAcxIAAACIAXwAgwEBAHQAgwCgAaEAUwByHwAAACkCcnIAAAByxwAAAHJZAAAAciEBAAByIAAAAHIiAAAAcscAAAC2AwAAcwQAAAAAAQgBejltYWtlX2xvZ2dpbmdfdW5kZWZpbmVkLjxsb2NhbHM+LkxvZ2dpbmdVbmRlZmluZWQuX19pdGVyX19jAQAAAAAAAAAAAAAAAQAAAAIAAAATAAAAcxIAAACIAXwAgwEBAHQAgwCgAaEAUwByHwAAACkCcnIAAAByAAEAAHJZAAAAciEBAAByIAAAAHIiAAAAcgABAAC6AwAAcwQAAAAAAQgBejltYWtlX2xvZ2dpbmdfdW5kZWZpbmVkLjxsb2NhbHM+LkxvZ2dpbmdVbmRlZmluZWQuX19ib29sX18pDnIkAAAAciUAAAByJgAAAHIBAQAAcicAAAByXAAAAHLxAAAAcioAAABy/AAAAHKOAAAAcscAAABykwAAAHIAAQAA2g1fX2NsYXNzY2VsbF9fciAAAACpAnIdAQAAchkBAAApAXIgAQAAciIAAADaEExvZ2dpbmdVbmRlZmluZWSmAwAAcw4AAAAIAQQDCAEC/hIJFAQcBHIkAQAAKQjaB2xvZ2dpbmfaCWdldExvZ2dlcnIkAAAA2gphZGRIYW5kbGVy2g1TdHJlYW1IYW5kbGVy2gNzeXPaBnN0ZGVycnIxAAAAKQRyGQEAAHIaAQAAciUBAAByJAEAAHIgAAAAciMBAAByIgAAANoWbWFrZV9sb2dnaW5nX3VuZGVmaW5lZIUDAABzDgAAAAAWCAEIAgoBEgIUBRYYcisBAABjAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAczYAAABlAFoBZABaAmQBWgNkAloEZQVkA5wBZARkBYQEWgZlBWQAZAacAmQHZAiEBFoHZQdaCGQJUwApCtoSQ2hhaW5hYmxlVW5kZWZpbmVkYYwBAABBbiB1bmRlZmluZWQgdGhhdCBpcyBjaGFpbmFibGUsIHdoZXJlIGJvdGggYGBfX2dldGF0dHJfX2BgIGFuZAogICAgYGBfX2dldGl0ZW1fX2BgIHJldHVybiBpdHNlbGYgcmF0aGVyIHRoYW4gcmFpc2luZyBhbgogICAgOmV4YzpgVW5kZWZpbmVkRXJyb3JgLgoKICAgID4+PiBmb28gPSBDaGFpbmFibGVVbmRlZmluZWQobmFtZT0nZm9vJykKICAgID4+PiBzdHIoZm9vLmJhclsnYmF6J10pCiAgICAnJwogICAgPj4+IGZvby5iYXJbJ2JheiddICsgNDIKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBqaW5qYTIuZXhjZXB0aW9ucy5VbmRlZmluZWRFcnJvcjogJ2ZvbycgaXMgdW5kZWZpbmVkCgogICAgLi4gdmVyc2lvbmFkZGVkOjogMi4xMS4wCiAgICByIAAAAHJUAAAAYwEAAAAAAAAAAAAAAAEAAAACAAAAQwAAAHMIAAAAdAB8AIMBUwByHwAAACkBcioAAAByWQAAAHIgAAAAciAAAAByIgAAAHI1AAAA0wMAAHMCAAAAAAF6G0NoYWluYWJsZVVuZGVmaW5lZC5fX2h0bWxfXykCcv8AAAByHgAAAGMCAAAAAAAAAAAAAAACAAAAAQAAAEMAAABzBAAAAHwAUwByHwAAAHIgAAAAcv4AAAByIAAAAHIgAAAAciIAAABy9QAAANYDAABzAgAAAAABeh5DaGFpbmFibGVVbmRlZmluZWQuX19nZXRhdHRyX19OKQlyJAAAAHIlAAAAciYAAAByWwAAAHIBAQAAcioAAAByNQAAAHL1AAAAclMAAAByIAAAAHIgAAAAciAAAAByIgAAAHIsAQAAwQMAAHMKAAAACAEEDwQCDgMQA3IsAQAAYwAAAAAAAAAAAAAAAAAAAAADAAAAQAAAAHMiAAAAZQBaAWQAWgJkAVoDZAJaBGUFZAOcAWQEZAWEBFoGZAZTACkH2g5EZWJ1Z1VuZGVmaW5lZGEaAQAAQW4gdW5kZWZpbmVkIHRoYXQgcmV0dXJucyB0aGUgZGVidWcgaW5mbyB3aGVuIHByaW50ZWQuCgogICAgPj4+IGZvbyA9IERlYnVnVW5kZWZpbmVkKG5hbWU9J2ZvbycpCiAgICA+Pj4gc3RyKGZvbykKICAgICd7eyBmb28gfX0nCiAgICA+Pj4gbm90IGZvbwogICAgVHJ1ZQogICAgPj4+IGZvbyArIDQyCiAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgIC4uLgogICAgamluamEyLmV4Y2VwdGlvbnMuVW5kZWZpbmVkRXJyb3I6ICdmb28nIGlzIHVuZGVmaW5lZAogICAgciAAAAByVAAAAGMBAAAAAAAAAAAAAAACAAAABQAAAEMAAABzTAAAAHwAagByFGQBfABqAJsAnQJ9AW4sfABqAXQCdQByJnwAagN9AW4aZAJ0BHwAagGDAZsAZAN8AGoDmwJkBJ0FfQFkBXwBmwBkBp0DUwApB056GXVuZGVmaW5lZCB2YWx1ZSBwcmludGVkOiB6EW5vIHN1Y2ggZWxlbWVudDog+gFb+gFdegN7eyB6AyB9fSkFcugAAABy6QAAAHISAAAAcuoAAAByFAAAACkCciEAAADaB21lc3NhZ2VyIAAAAHIgAAAAciIAAABy/AAAAOwDAABzEgAAAAABBgEOAgoBCAQOAQT/Bv8CBXoWRGVidWdVbmRlZmluZWQuX19zdHJfX04pB3IkAAAAciUAAAByJgAAAHJbAAAAcgEBAAByKgAAAHL8AAAAciAAAAByIAAAAHIgAAAAciIAAAByLQEAANwDAABzBgAAAAgBBA0EAnItAQAAYwAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHM6AAAAZQBaAWQAWgJkAVoDZAJaBGUFagYEAFoHBABaCFoJZQVqBgQAWgoEAFoLBABaDFoNZQVqBloOZANTACkE2g9TdHJpY3RVbmRlZmluZWRhcwIAAEFuIHVuZGVmaW5lZCB0aGF0IGJhcmtzIG9uIHByaW50IGFuZCBpdGVyYXRpb24gYXMgd2VsbCBhcyBib29sZWFuCiAgICB0ZXN0cyBhbmQgYWxsIGtpbmRzIG9mIGNvbXBhcmlzb25zLiAgSW4gb3RoZXIgd29yZHM6IHlvdSBjYW4gZG8gbm90aGluZwogICAgd2l0aCBpdCBleGNlcHQgY2hlY2tpbmcgaWYgaXQncyBkZWZpbmVkIHVzaW5nIHRoZSBgZGVmaW5lZGAgdGVzdC4KCiAgICA+Pj4gZm9vID0gU3RyaWN0VW5kZWZpbmVkKG5hbWU9J2ZvbycpCiAgICA+Pj4gc3RyKGZvbykKICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgLi4uCiAgICBqaW5qYTIuZXhjZXB0aW9ucy5VbmRlZmluZWRFcnJvcjogJ2ZvbycgaXMgdW5kZWZpbmVkCiAgICA+Pj4gbm90IGZvbwogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAuLi4KICAgIGppbmphMi5leGNlcHRpb25zLlVuZGVmaW5lZEVycm9yOiAnZm9vJyBpcyB1bmRlZmluZWQKICAgID4+PiBmb28gKyA0MgogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAuLi4KICAgIGppbmphMi5leGNlcHRpb25zLlVuZGVmaW5lZEVycm9yOiAnZm9vJyBpcyB1bmRlZmluZWQKICAgIHIgAAAATikPciQAAAByJQAAAHImAAAAclsAAAByAQEAAHIxAAAAcvEAAAByxwAAAHL8AAAAcrUAAABy+AAAAHL5AAAAcgABAABy+wAAAHKJAAAAciAAAAByIAAAAHIgAAAAciIAAAByMQEAAPwDAABzCgAAAAgBBBMEAQ4BEgFyMQEAACkETkZOTilIclsAAAByYQAAAHIpAQAA2gZ0eXBpbmdyJwAAANoLY29sbGVjdGlvbnNyAgAAANoJaXRlcnRvb2xzcgMAAABaCm1hcmt1cHNhZmVyBAAAAHIFAAAAcgYAAABaC2FzeW5jX3V0aWxzcgkAAAByCgAAANoKZXhjZXB0aW9uc3ILAAAAcgwAAAByDQAAANoFbm9kZXNyDgAAANoFdXRpbHNyDwAAAHIQAAAAchEAAAByEgAAAHITAAAAchQAAAByFQAAANoHVHlwZVZhcnIWAAAAco0AAAByXAAAAHIXAAAA2g1UWVBFX0NIRUNLSU5HciUBAABaEXR5cGluZ19leHRlbnNpb25z2gJ0ZXI/AAAAchkAAADaCFByb3RvY29schoAAABaCGV4cG9ydGVkWg5hc3luY19leHBvcnRlZHIwAAAAcigAAAByKgAAAHIuAAAAci8AAAByjAAAAHKLAAAAco4AAABykwAAAHKPAAAA2gdNYXBwaW5ncksAAAByLAAAAHJkAAAA2ghyZWdpc3RlcnI+AAAAclIAAAByKwAAAHIyAAAAci0AAAByMQAAAHLMAAAAcisBAAByLAEAAHItAQAAcjEBAAByAQEAAHIgAAAAciAAAAByIAAAAHIiAAAA2gg8bW9kdWxlPgEAAABzkAAAAAQBCAEIAQgBDAEMAgwBDAEMAgwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwCCgEaAggBCAEIAQwCEgsIEAgHEAcYCxgJAAEAAQABAPkCAQIBCAEeARQBAgEUARQBAvgMHQ4OEAgGARB/AEUOMA5/AEYQRw5/AAcOcQT/AgEQAQj+DDwQGxAgEB0EAQQBBAEE/A==