UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICAgLS0gYmUgcHJlc2VudCBvciBib3RoIGJlIGFic2dlbnQKS2V5SWRlbnRpZmllciA6Oj0gT0NURVQgU1RSSU5HCmlkLWNlLXN1YmplY3RLZXlJZGVudGlmaWVyIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNCB9ClN1YmplY3RLZXlJZGVudGlmaWVyIDo6PSBLZXlJZGVudGlmaWVyCmlkLWNlLWtleVVzYWdlIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNSB9CktleVVzYWdlIDo6PSBCSVQgU1RSSU5HIHsKICAgICBkaWdpdGFsU2lnbmF0dXJlICAgICAgICAoMCksCiAgICAgbm9uUmVwdWRpYXRpb24gICAgICAgICAgKDEpLAogICAgIGtleUVuY2lwaGVybWVudCAgICAgICAgICgyKSwKICAgICBkYXRhRW5jaXBoZXJtZW50ICAgICAgICAoMyksCiAgICAga2V5QWdyZWVtZW50ICAgICAgICAgICAgKDQpLAogICAgIGtleUNlcnRTaWduICAgICAgICAgICAgICg1KSwKICAgICBjUkxTaWduICAgICAgICAgICAgICAgICAoNiksCiAgICAgZW5jaXBoZXJPbmx5ICAgICAgICAgICAgKDcpLAogICAgIGRlY2lwaGVyT25weSAgICAgICAgICAgICg4KSB9CmlkLWNlLXByaXZhdGVLZXlVc2luZyAgICAgICAgICAgICBUZWxldGV4U3RyaW5nIChTSVpFICgxLi5NQVgpKSwKICAgICAgcHJpbnRhYmxlU3RyaW5nICAgICAgICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDEuLk1BWCkpLAogICAgICB1bml2ZXJzYWxTdHJpbmcgICAgICAgICAgIFVuaXZlcnNhbFN0cmluZyAoU0laRSAoMS4uTUFYKSksCiAgICAgIHV0ZjhTdHJpbmcgICAgICAgICAgICAgIFVURjhTdHJpbmcgKFNJWkUgKDEuLk1BWCkpLAogICAgICBibXBTdHJpbmcgICAgICAgICAgICAgICBCTVBTdHJpbmcgKFNJWkUoMS4uTUFYKSksCiAgICAgIC0tIElBNVN0cmluZyBpcyBhZGRlZCBoZXJlIHRvIGhhbmRsZSBvbGQgVUlEIGVuY29kZWQgYXMgaWE1U3RyaW5nIC0tCiAgICAgIC0tIFNlZSB0ZXN0cy91c2VyaWQvIGZvciBtb3JlIGluZm9ybWF0aW9uLiAgSXQgc2hvdWxkbid0IGJlIGhlcmUsIC0tCiAgICAgIC0tIHNvIGlmIGl0IGNhdXNlcyBwcm9ibGVtcywgY29uc2lkZXJpbmcgZHJvcHBpbmcgaXQuIC0tCiAgICAgIGlhNVN0cmluZyAgICAgICAgICAgICBgIElBNVN0cmluZyAoU0laRSgxLi5NQVgpKSB9CmlkLWNlLXN1YmplY3RBbHROYW1lIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNyB9ClN1YmplY3RBbHROYW1lIDo6PSBHZW5lcmFsTmFtZXMKR2VuZXJhbE5hbWVzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIEdlbmVyYWxOYW1lICAgICB0eXBlICAgICAgICAgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZXMgIFNFVCBPRiBBdHRyaWJ1dGVWYWx1ZQogICAgICAgICAgICAgICAgLS0gYXQgbGVhc3Qgb25lIHZhbHVlIGlzIHJlcXVpcmVkIC0tCn0KQXR0cmlidXRlVHlwZSAgICAgICAgICAgOjo9ICAgT0JKRUNUIElERU5USUZJRVIKQXR0cmlidXRlVmFsdWUgICAgICAgICAgOjo9ICAgQU5ZIERFRklORUQgQlkgdHlwZQpBdHRyaWJ1dGVUeXBlQW5kVmFsdWUgICAgICAgICAgIDo6PSAgICAgU0VRVUVOQ0UgewogICAgICAgIHR5cGUgICAgQXR0cmlidXRlVHlwZSwKICAgICAgICB2YWx1ZSAgIEF0dHJpYnV0ZVZhbHVlIH0KaWQtYXQgICAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7am9pbnQtaXNvLWNjaXR0KDIpIGRzKDWLeykgNH0KaWQtYXQtaW5pdGlhbHMgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0MyB9Clg1MjBpbml0aWFscyA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWdlbmVyYXRpb25RdWFsaWZpZXIgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0NCB9Clg1MjBnZW5lcmF0aW9uUXVhbGlmaWVyIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3VybmFtZSAgICAgICAgICAgQXR0cmlidXRlVHlwZSA6Oj0geyBpZC1hdCA0IH0KWDUyMHN1ck5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1naXZlbk5hbWUgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQyIH0KWDUyMGdpdmVuTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW5hbWUgICAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgMjAgfQpYNTIwbmFtZSAgICAgICAgOjo9ICAgICAgICAgICAgICAgICAgICAgICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWNvbW1vbk5hbWUgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAzfQpYNTIwQ29tbW9uTmFtZSAgOjo9ICAgICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWxvY2FsaXR5TmFtZSAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA3fQpYNTIwTG9jYWxpdHlOYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3RhdGVPclByb3ZpbmNlTmFtZSAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgOH0KWDUyMFN0YXRlT3JQcm92fiB+IH5pbmNlTmFtZSAgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uTmFtZSAgICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTB9Clg1MjBPcmdhbml6YXRpb25OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uYWxVbml0TmFtZSAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTF9Clg1MjBPcmdhbml6YXRpb25hbFVuaXQmYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtdGl0bGUgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMn0KWDUyMFRpdGxlIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWRuUXVhbGlmaWVyICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA0Nn0KWDUyMGRuUXVhbGlmaWVyIDo6PSAgICAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWNvdW50cnlOYW1lICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA2fQpYNTIwY291bnRyeU5hbWUgOjo9ICAgICBQcmludGFibGVTdHJpbmcgKFNJWkUgKDIpKSAtLSBJUyAzMTY2IGNvZGVzCmlkLWF0LXNlcmlhbE51bWJlciAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNX0gICAgICAKWDUyMHNlcmlhbE51bWJlciA6Oj0gICAgIFByaYt0YWJsZVN0cmluZwppZC1hdC10ZWxlcGhvbmVOdW1iZXIgICAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDIwfQpYNTIwdGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LWZhY3NpbWlsZVRlbGVwaG9uZU51bWJlciAgICAgICBBdHRyaWJ1dGVUeXAgfiB+ZSAgIDo6PSAgICAge2lkLWF0IDIzfQpYNTIwZmFjc2ltaWxlVGVsZXBob25lTnVtYmVyIDo6PSAgICAgUHJpbnRhYmxlU3RyaW5nCmlkLWF0LXBzZXVkb255bQkJQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDY1fQpYNTIwcHNldWRvbnltIDo6PQlEaXJlY3RvcnlTdHJpbmcKaWQtYXQtbmFtZQlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgNDF9Clg1MjBuYW1lIDo6PQlEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3RyZWV0QWRkcmVzcwlBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgOX0KWDUyMHN0cmVldEFkZHJlc3MgOjo9CURpcmVjdG9yeVN0cmluZwppZC1hdC1wb3N0YWxBZGRyZXNzCUF0dHJpYnV0ZVR5cGUJOjo9CXtpZC1hdCAxNn0KWDUyMHBvc3RhbEFkZHJlc3MgOjo9IFBvc3RhbEFkZHJlc3MKUG9zdGFsQWRkcmVzcyA6Oj0gU0VRVUVOQ0UgT0YgRGlyZWN0b3J5U3RyaW5nCiAtLSBMZWdhY3kgYXR0cmlidXRlcwpwa2NzIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgeyBpc28oMSkgbWVtYmVyLWJvZHkoMikgdXMoODQwKSByc2Fkc2koMTEzNTQ5KSBwa2NzKDEpIH0KcGtjcy05IE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgeyBwa2NzIDkgfQplbWFpbEFkZHJlc3MgQXR0cmlidXRlVHlwZSAgICAgIDo6PSB7IHBrY3MtOSAxIH0KUGtjczllbWFpbCA6Oj0gSUE1U3RyaW5nIChTSVpFICgxLi51Yi1lbWFpbGFkZHJlc3MtbGVuZ3RoKSkKTmFtZSAgICAgICAgICAgIDo6PSAgIENIT0lDRSB7IC0tIG9ubHkgb25lIHBvc3NpYmlsaXR5IGZvciBub3cgLS0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmRuU2VxdWVuY2UgIFJETlNlcXVlbmNlIH0KUkROU2VxdWVuY2UgICAgIDo6PSAgIFNFUVVFTkNFIE9GIFJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUKRGlzdGluZ3Vpc2hlZE5hbWUgICAgICAgOjo9ICAgUkROU2VxdWVuY2UKUmVsYXRpdmVEaXN0aW5ndWlzaGVkTmFtZSAgOjo9CiAgICAgICAgICAgICAgICAgICAgU0VUIFNJWkUgKDEgLi4gTUFYKSBPRiBBdHRyaWJ1dGVUeXBlQW5kVmFsdWUKQ2VydGlmaWNhdGUgIDo6PSAgU0VRVUVOQ0UgIHsKICAgICB0YnNDZXJ0aWZpY2F0ZSAgICAgICBUQlNDZXJ0aWZpY2F0ZSwKICAgICBzaWduYXR1cmVBbGdvcml0aG0gICBBbGdvcml0aG1JZGVudGlmaWVyICwKICAgICBzaWduYXR1cmUgICAgICAgICAgICBCSVQgU1RSSU5HICB9ClRC