UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJsZ29yaXRobSAgICAgICAgICAgIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgICAgc3ViamVjdFB1YmxpY0tleSAgICAgQklUIFNUUklORyAgfQpFeHRlbnNpb25zICA6Oj0gIFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgRXh0ZW5zaW9uCkV4dGVuc2lvbiAgOjo9ICBTRVFVRU5DRSAgewogICAgIGV4dG5JRCAgICAgIE9CSkVDVCBJREVOVElGSUVSLAogICAgIGNyaXRpY2FsICAgIEJPT0xFQU4gREVGQVVMVCBGQUxTRSwKICAgICBleHRuVmFsdWUgICBPQ1RFVCBTVFJJTkcgIH0KQ2VydGlmaWNhdGVMaXN0ICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgdGJzQ2VydExpc3QgICAgICAgICAgVEJTQ2VydExpc3QsCiAgICAgc2lnbmF0dXJlQWxnb3JpdGhtICAgQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBzaWduYXR1cmUgICAgICAgICAgICBCSVQgU1RSSU5HICB9ClRCU0NlcnRMaXN0ICA6Oj0gIFNFUVVFTkNFICB7CiAgICAgdmVyc2lvbiAgICAgICAgICAgICAgICAgVmVyc2lvbiBPUFRJT05BTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIGlmIHByZXNlbnQsIHNoYWxsIGJlIHYyCiAgICAgc2lnbmF0dXJlICAgICAgICAgICAgICAgQWxnb3JpdGhtSWRlbnRpZmllciwKICAgICBpc3N1ZXIgICAgICAgICAgICAgICAgICBOYW1lLAogICAgIHRoaXNVcGRhdGUgICAgICAgICAgICAgIFRpbWUsCiAgICAgbmV4dFVwZGF0ZSAgICAgICAgICAgICAgVGltZSBPUFRJT05BTCwKICAgICByZXZva2VkQ2VydGlmaWNhdGVzICAgICBTRVFVRU5DRSBPRiBTRVFVRU5DRSAgewogICAgICAgICAgdXNlckNlcnRpZmljYXRlICAgICAgICAgQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIsCiAgICAgICAgICByZXZvY2F0aW9uRGF0ZSAgICAgICAgICBUaW1lLAogICAgICAgICAgY3JsRW50cnlFeHRlbnNpb25zICAgICAgRXh0ZW5zaW9ucyBPUFRJT05BTAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIGlmIHByZXNlbnQsIHNoYWxsIGJlIHYyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICBPUFRJT05BTCwKICAgICBjcmxFeHRlbnNpb25zICAgICAgICAgICBbMF0gRVhQTElDSVQgRXh0ZW5zaW9ucyBPUFRJT05BTAogICAgICAgICAgICAgICAgICAgICAgICAgIKAgICAgICAgICAgICAgIC0tIGlmIHByZXNlbnQsIHNoYWxsIGJlIHYyIC0tCn0KQWxnb3JpdGhtSWRlbnRpZmllciAgOjo9ICBTRVFVRU5DRSAgewogICAgIGFsZ29yaXRobSAgICAgICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSLAogICAgIHBhcmFtZXRlcnMgICAgICAgICAgICAgIEFOWSBERUZJTkVEIEJZIGFsZ29yaXRobSBPUFRJT05BTCAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tIGNvbnRhaW5zIGEgdmFsdWUgb2YgdGhlIHR5cGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSByZWdpc3RlcmVkIGZvciB1c2Ugd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBhbGdvcml0aG05IDIwfQpwa2NzLTktZnJpZW5kbHlOYW1lIDo6PSBCTVBTdHJpbmcgICAgICAoU0laRSAoMS4uMjU1KSkKcGtjcy04LVByaXZhdGVLZXlJbmZvIDo6PSBTRVFVRU5DRSB7CiAgdmVyc2lvbiBwa2NzLTgtVmVyc2lvbiwKICBwcml2YXRlS2V5QWxnb3JpdGhtIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgcHJpdmF0ZUtleSBwa2NzLTgtUHJpdmF0ZUtleSwKICBhdHRyaWJ1dGVzIFswXSBBdHRyaWJ1dGVzIE9QVElPTkFMIH0KcGtjcy04LVZlcnNpb24gOjo9IElOVEVHRVIge3YxKDApfQpwa2NzLTgtUHJpdmF0ZUtleSA6Oj0gT0NURVQgU1RSSU5HCnBrY3MtOC1BdHRyaWJ1dGVzIDo6PSBTRVQgT0YgQXR0cmlidXRlCnBrY3MtOC1FbmNyeXB0ZWRQcml2YXRlS2V5SW5mbyA6Oj0gU0VRVUVOQ0UgewogICAgZW5jcnlwdGlvbkFsZ29yaXRobSBBbGdvcml0aG1JZGVudGlmaWVyLAogICAgZW5jcnlwdGVkRGF0YSBwa2NzLTgtRW5jcnlwdGVkRGF0YQp9CnBrY3MtOC1FbmNyeXB0ZWREYXRhIDo6PSBPQ1RFVCBTVFJJTkcKcGtjcy01IE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgeyBwa2NzIDUgfQpwa2NzLTUtZW5jcnlwdGlvbkFsZ29yaXRobSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0KICAgICAgIHsgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgcnNhZHNpKDExMzU0OSkgMyB9CnBrY3MtNS1kZXMtRURFMy1DQkMgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTUtZW5jcnlwdGlvbkFsZ29yaXRobSA3fQpwa2NzLTUtZGVzLUVERTMtQ0JDLXBhcmFtcyA6Oj0gT0NURVQgU1RSSU5HIChTSVpFKDgpKQpwa2NzLTUtaWQtUEJFUzIgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTUgMTN9CnBrY3MtNS1QQkVTMi1wYXJhbXMgOjo9IFNFUVVFTkNFIHsKICBrZXlEZXJpdmF0aW9uRnVuYyBBbGdvcml0aG1JZGVudGlmaWVyLAogIGVuY3J5cHRpb25TY2hlbWUgQWxnb3JpdGhtSWRlbnRpZmllciB9CnBrY3MtNS1pZC1QQktERjIgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTUgMTJ9CnBrY3MtNS1QQktERjItcGFyYW1zIDo6PSBTRVFVRU5DRSB7CiAgc2FsdCBDSE9JQ0UgewogICAgc3BlY2lmaWVkIE9DVEVUIFNUUklORywKICAgIG90aGVyU291cmNlIEFsZ29yaXRobUlkZW50aWZpZXIKICB9LAogIGl0ZXJhdGlvbkNvdW50IElOVEVHRVIgKDEuLk1BWCksCiAga2V5TGVuZ3RoIElOVEVHRVIgKDEuLk1BWCkgT1BUSU9OQUwsCiAgcHJmIEFsZ29yaXRobUlkZW50aWZpZXIgT1BUSU9OQUwgLS0gREVGQVVMVCBwa2NzLTUtaWQtaG1hY1dpaG0gN30KcGtjcy01LWRlcy1FREUzLUNCQy1wYXJhbXMgOjo9IE9DVEVUIFNUUklORyAoU0laRSg4KSkKcGtjcy01LWlkLXJpdGhtIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgeyBpc28oMSkgbWVtYmVyLWJvZHkoMikgdXMoODQwKSByc2Fkc2koMTEzNTQ5KSAzIH0KcGtjcy01LWRlcy1FREUzLUNCQyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtNS1lbmNyeXB0aW9uQWxnb3JpdGhtIDd9CnBrY3MtNS1kZXMtRURFMy1DQkMtcGFyYW1zIDo6PSBPQ1RFVCBTVFJJTkcgKFNJWkUoOCkpCnBrY3MtNS1pZC1QQkVTMiBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtNSAxM30KcGtjcy01LVBCRVMyLXBhcmFtcyA6Oj0gU0VRVUVOQ0UgewogIGtleURlcml2YXRpb25GdW5jIEFsZ29yaXRobUlkZW50aWZpZXIsCiAgZW5jcnlwdGlvblNjaGVtZSBBbGdvcml0aG1JZGVudGlmaWVyIH0KcGtjcy01LWlkLVBCS0RGMiBPQkpFQ1QgSURFTlRJRklFUiA6Oj0ge3BrY3MtNSAxMn0KcGtjcy01LVBCS0RGMi1wYXJhbXMgOjo9IFNFUVVFTkNFIHsKICBzYWx0IENIT0lDRSB7CiAgICBzcGVjaWZpZWQgT0NURVQgU1RSSU5HLAogICAgb3RoZXJTb3VyY2UgQWxnb3JpdGhtSWRlbnRpZmllcgogIH0sCiAgaXRlcmF0aW9uQ291bnQgSU5URUdFUiAoMS4uTUFYKSwKICBrZXlMZW5ndGggSU5URUdFUiAoMS4uTUFYKSBPUFRJT05BTCwKICBwcmYgQWxnb3JpdGhtSWRlbnRpZmllciBPUFRJT05BTCAtLSBERUZBVUxUIHBrY3MtNS1pZC1obWFjV2lobSA3fQpwa2NzLTUtZGVzLUVERTMtQ0JDLXBhcmFtcyA6Oj0gT0NURVQgU1RSSU5HIChTSVpFKDgpKQpwa2NzLTUtaWQtUEJFUzIgT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzLTUgMTN9CnBrY3MtNS1QQkVTMi1wYXJhbXMgOjo9IFNFUVVFTkNFIHsKICBrZXlEZXJpdmF0aW9uRnVuYyBBbGdvcml0aG1JZGVudGlmaWVyLAogIGVuY3J5cHRpb25TY2hlbWUgQWxnb3JpdGhtSWRlbnRpZmllciB9CnBrY3MtNS1pZC1QQktERjIgT0JKICBpdGVyYXRpb25Db3VudCBJTlRFR0VS/94xLi5NQVgpLAogIGtleUxlbmd0aCBJTlRFR0VSICgxLi5NQVgpIE9QVElPTkFMLAogIHByZiBBbGdvcml0aG1JZGVudGlmaWVyIE9QVElPTkFMIC0tIERFRkFVTFQgcGtjcy01LWlkLWhtYWNXaXRoU0hBMQp9CnBrY3MtMTIJT0JKRUNUIElERU5USUZJRVIgOjo9IHtwa2NzIDEyfQpwa2NzLTEyLVBGWCA6Oj0gU0VRVUVOQ0UgewoJdmVyc2lvbgkJSU5URUdFUiB7djMoMyl9LAoJYXV0aFNhZmUJcGtjcy03LUNvbnRlbnRJbmZvLAoJbWFjRGF0YQkJcGtjcy0xMi1NYWNEYXRhIE9QVElPTkFMCn0KcGtjcy0xMi1QYmVQYXJhbXMgOjo9IFNFUVVFTkNFIHsKCXNhbHQJT0NURVQgU1RSSU5HLAoJaXRlcmF0aW9ucyBJTlRFR0VSCn0KcGtjcy0xMi1NYWNEYXRhIDo6PSBTRVFVRU5DRSB7CgltYWMJCXBrY3MtNy1EaWdlc3RJbmZvLAoJbWFjU2FsdAkgICAgICAgIE9DVEVUIFNUUklORywKCWl0ZXJhdGlvbnMJSU5URUdFUiBERUZBVUxUIDEKfQpwa2NzLTEyLUF1dGhlbnRpY2F0ZWRTYWZlIDo6PSBTRVFVRU5DRSBPRiBwa2NzLTctQ29udGVudEluZm8KCS0tIERhdGEgaWYgdW5lbmNyeXB0ZWQKCS0tIEVuY3J5cHRlZERhdGEgaWYgcGFzc3dvcmQtZW5jcnlwdGVkCgktLSBFbnZlbG9wZWREYXRhIGlmIHB1YmxpYyBrZXktZW5jcnlwdWJsaWMga2V5CiAgICBzZXJpYWxOdW1iZXIgICAgICAgQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgfQpDZXJ0U3RhdHVzIDo6PSBDSE9JQ0UgewogICAgZ29vZCAgICAgICAgICAgICAgICBbMF0gICAgIElNUExJQ0lUIE5VTEwsCiAgICByZXZva2VkICAgICAgICAgICAgIFsxXSAgICAgSU1QTElDSVQgUmV2b2tlZEluZm8sCiAgICB1bmtub3duICAgICAgICAgICAgIFsyXSAgICAgSU1tTElDSVQgVW5rbm93bkluZm8gfQpTaW4=