UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dEFsbCBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1wa2l4IDIxIDEgfQppZC1wcGwtaW5kZXBlbmRlbnQgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWQtcGtpeCAyMSAyIH0KUHJveHlDZXJ0SW5mbyA6Oj0gU0VRVUVOQ0UgewoJcENQYXRoTGVuQ29uc3RyYWludAlJTlRFR0VSICgwLi5NQVgpIE9QVElPTkFMLAoJcHJveHlQb2xpY3kJCVByb3h5UG9saWN5IH0KUHJveHlQb2xpY3kgOjo9IFNFUVVFTkNFIHsKCXBvbGljeUxhbmd1YWdlCU9CSkVDVCBJREVOVIwJoElGSUVSLAogICAgICAgIHBvbGljeQkJT0NURVQgU1RSSU5HIE9QVElPTkFMIH0KaWQtb24gIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlkLXBraXggOCB9ICAtLSBvdGhlciBuYW1lIGZvcm1zCmlkLW9uLXhtcHBBZGRyICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZC1vbiA1IH0KWG1wcEFkZHIgOjo9IFVURjhTdHJpbmcKQmFzaWNPQ1NQUmVzcG9uc2UgICAgIP////89IFNFUVVFTkNFIHsKICAgdGJzUmVzcG9uc2VEYXRhICAgICAgUmVzcG9uc2VEYXRhLAogICBzaWduYXR1cmVBbGdvcml0aG0gICBBbGdvcml0aG1JZGVudGlmaWVyLAogICBzaWduYXR1cmUgICAgICAgICAgICBCSVQgU1RSSU5HLAogICBjZXJ0cyAgICAgICAgICAgICAgICBbMF0gRVhQTElDSVQgU0VRVUVOQ0UgT0YgQ2VydGlmaWNhdGUgT1BUSU9OQUwgfQpSZXNwb25zZURhdGEgOjo9IFNFUVVFTkNFIHsKICAgdmVyc2lvMV0gRVhQTElDSVQgUkROU2VxdWVuY2UsIC0tTmFtZQogICBieUtleSAgICBbMl0gRVhQTElDSVQgT0NURVQgU1RSSU5HIC0tU0hBLTEgaGFzaCBvZiByZXNwb25kZXIncyBwdWJsaWMga2V5Cn0KQ2VydElEIDo6PSBTRVFVRU5DRSB7CiAgICBoYXNoQWxnb3JpdGhtICAgICAgICAgICAgQWxnb3JpdGhtSWRlbnRpZmllciwKICAgIGlzc3Vlck5hbWVIYXNoICAgICBPQ1RFVCBTVFJJTkcsIC0tIEhhc2ggb2YgSXNzdWVyJ3MgRE4KICAgIGlzc3VlcktleUhhc2ggICAgICBPQ1RFVCBTVFJJTkcsIC0tIEhhc2ggb2YgSXNzdWVycyB0dWJsaWMga2V5CiAgICBzZXJpYWxOdW1iZXIgICAgICAgQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgfQpDZXJ0U3RhdHVzIDo6PSBDSE9JQ0UgewogICAgZ29vZCAgICAgICAgICAgICAgICBbMF0gICAgIElNUExJQ0lUIE5VTEwsCiAgICByZXZva2VkICAgICAgICAgICAgIFsxXSAgICAgSU1QTElDSVQgUmV2b2tlZEluZm8sCiAgICB1bmtub3duICAgICAgICAgICAgIFsyXSAgICAgSU1QTElDSVQgVW5rbm93bkluZm8gfQpTaW5nbGVSZXNwb25zZUNURVQgU1RSSU5HLCAtLSBIYXNoIG9mIElzc3VlcnMgcHVibGljIGtleQogICAgc2VyaWFsTnVtYmVyICAgICAgIENlcnRpZmljYXRlU2VyaWFsTnVtYmVyIH0KQ2VydFN0YXR1cyA6Oj0gQ0hPSUNFIHsKICAgIGdvb2QgICAgICAgICAgICAgICAgWzBdICAgICBJTVBMSUNJVCBOVUxMLAogICAgcmV2b2tlZCAgICAgICAgICAgICBbMV0gICAgIElNUExJQ0lUIFJldm9rZWRJbmZvLAogICAgdW5rbm93biAgICAgICAgICAgICBbMl0gICAgIElNUExJQ0lUIFVua25vd25JbmZvIH0KU2luZw==