UFp0RWkgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDM1IH0KQXV0aG9yaXR5S2V5SWRlbnRpZmllciA6Oj0gU0VRVUVOQ0UgewogICAgICBrZXlJZGVudGlmaWVyICAgICAgICAgICAgIFswXSBLZXlJZGVudGlmaWVyICAgICAgICAgICAgT1BUSU9OQUwsCiAgICAgIGF1dGhvcml0eUNlcnRJc3N1ZXIgICAgICAgWzFdIEdlbmVyYWxOYW1lcyAgICAgICAgICAgICBPUFRJT05BTCwKICB5ICAgICAgICAgICAgKDgpIH0KaWQtY2UtcHJpdmF0ZUtleVVzYWdlUGVyaW9kIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAxNiB9ClByaXZhdGVLZXlVc2FnZVBlcmlvZCA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdEJlZm9yZSAgICAgICBbMF0gICAgIEdlbmVyYWxpemVkVGltZSBPUFRJT05BTCwKICAgICBub3RBZnRlciAgICAgICAgWzFdICAgICBHZe5lcmFsaXplZFRpbWUgT1BUSU9OQUwgfQogICAgIC0tIGVpdGhlciBub3RCZWZvcmUgb3Igbm90QWZ0ZXIgc2hhbGwgYmUgcHJlc2VudAppZC1jZS1jZXJ0aWZpY2F0ZVBvbGljaWVzIE9CSkVDVCBJREVOVElGSUVSIDo6PSAgeyBpZC1jZSAzMiB9CkNlcnRpZmljYXRlUG9saWNpZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgUG9saWN5SW5mb3JtYXRpb24KUG9saWN5SW5mb3JtYXRpb24gOjo9IFNFUVVFTkNFIHsKICAgICBwb2xpY3lJZGVudGlmaWVyICAgQ2VydFBvbGljeUlkLAogICAgIHBvbGljeVF1YXlwZSAgIDo6PSAgICAge2lkLWF0IDExfTBUaXRsZSA6Oj0gICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZGVzY3JpcHRpb24gICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxM30KWDUyMERlc2NyaXB0aW9uIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC0gICAgIGAgSUE1U3RyaW5nIChTSVpFKDEuLk1BWCkpIH0KaWQtY2Utc3ViamVjdEFsdE5hbWUgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE3IH0KU3ViamVjdEFsdE5hbWUgOjo9IEdlbmVyYWxOYW1lcwpHZW5lcmFsTmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgR2VuZXJhbE5hbWUgICAgIHR5cGUgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlcyAgU0VUIE9GIEF0dHJpYnV0ZVZhbHVlCj0geyBpZC1hdCA0MSB9Clg1MjBuYW1lICAgICAgICA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWNvbW1vbk5hbWUgICAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAzfQpYNTIwQ29tbW9uTmFtZSAgOjo9ICAgICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LWxvY2FsaXR5TmFtZSAgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCA3fQpYNTIwTG9jYWxpdHlOYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtc3RhdGVPclByb3ZpbmNlTmFtZSAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgOH0KWDUyMFN0YXRlT3JQcm92fiB+IH5pbmNlTmFtZSAgICAgICAgIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uTmFtZSAgICAgICAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTB9Clg1MjBPcmdhbml6YXRpb25OYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtb3JnYW5pemF0aW9uYWxVbml0TmFtZSAgICBBdHRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTF9Clg1MjBPcmdhbml6YXRpb25hbFVuaXQmYW1lIDo6PSBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtdGl0bGUgICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxMn0KWDUyMFRpdGxlIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC1kZXNjcmlwdGlvbiAgICAgQXR0cmlidXRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LSAgICAgYCBJQTVTdHJpbmcgKFNJWkUoMS4uTUFYKSkgfQppZC1jZS1zdWJqZWN0QWx0TmFtZSBPQkpFQ24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LSAgICAgYCBJQTVTdHJpbmcgKFNJWkUoMS4uTUFYKSkgfQppZC1jZS1zdWJqZWN0QWx0TmFtZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTcgfQpTdWJqZWN0QWx0TmFtZSA6Oj0gR2VuZXJhbE5hbWVzCkdlbmVyYWxOYW1lcyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBHZW5lcmFsTmFtZSAgICAgdHlwZSAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUsCiAgICAgICAgdmFsdWVzICBTRVQgT0YgQXR0cmlidXRlVmFsdWUKICAgICAgICAgICAgICAgIC0tIGF0IGxlYXN0IG9uZSB2YWx1ZSBpcyByZXF1aXJlZCAtLQp9CkF0dHJpYnV0ZVR5cGUgICAgICAgICAgIDo6PSAgIE9CSkVDVCBJREVOVElGSUVSCkF0dHJpYnV0ZVZhbHVlICAgICAgICAgIDo6PSBkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LSAgICAgYCBJQTVTdHJpbmcgKFNJWkUoMS4uTUFYKSkgfQppZC1jZS1zdWJqZWN0QWx0TmFtZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTcgfQpTdWJqZWN0QWx0TmFtZSA6Oj0gR2VuZXJhbE5hbWVzCkdlbmVyYWxOYW1lcyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBHZW5lcmFsTmFtZSAgICAgdHlwZSAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUsCiAgICAgICAgdmFsdWVzICBTRVQgT0YgQXR0cmlidXRlVmFsdWUKICAgICAgICAgICAgICAgIC0tIGF0IGxlYXN0IG9uZSB2YWx1ZSBpcyByZXF1aXJlZCAtLQp9CkF0dHJpYnV0ZVR5cGUgICAgICAgICAgIDo6PSAgIE9CSkVDVCBJREVOVElGSUVSCkF0dHJpYnV0ZVZhbHVlICAgICAgICAgIDo6PSAgIEFOWSBERUZJTkVEIEJZIHR5cGUKQXR0cmlidXRlVHBleSBlcDo6PSB7IGlkLWF0IDQyIH0KWDUyMGdpdmVuTmFtZSA6Oj0gRGlyZWN0b3J5U3RyaW5nCmlkLWF0LW5hbWUgICAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUgOjo9IHsgaWQtYXQgNDEgfQpYNTIwbmFtZSAgICAgICAgOjo9IERpcmVjdG9yeXsgaWQtY2UgMzIgfQpDZXJ0aWZpY2F0ZVBvbGljaWVzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIFBvbGljeUluZm9ybWF0aW9uClBvbGljeUluZm9ybWF0aW9uIDo6PSBTRVFVRU5DRSB7CiAgICAgcG9saWN5SWRlbnRpZmllciAgIENlcnRQb2xpY3lJZCwKICAgICBwb2xpY3lRdWFsaWZpZXJzICAgU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRgogICAgICAgICAgICAgUG9saWN5UXVhbGlmaWVySW5mbyBPUFRlVHlwZSAgIDo6PSAgICAge2lkLWF0IDEzfQpYNTIwRGVzY3JpcHRpb24gOjo9ICAgRGlyZWN0b3J5U3RyaW5nCmlkLWF0LSAgICAgYCBJQTVTdHJpbmcgKFNJWkUoMS4uTUFYKSkgfQppZC1jZS1zdWJqZWN0QWx0TmFtZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMTcgfQpT9WJqZWN0QWx0TmFtZSA6Oj0gR2VuZXJhbE5hbWVzCkdlbmVyYWxOYW1lcyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBHZW5lcmFsTmFtZSAgICAgdHlwZSAgICAgICAgICAgIEF0dHJpYnV0ZVR5cGUsCiAgICAgICAgdmFsdWVzICBTRVQgT0YgQXR0cmlidXRlVmFsdWUKICAgICAgICAgICAgICAgIC0tIGF0IGxlYXN0IG9uZSB2YWx1ZSBpcyByZXF1aXJlZCAtLQp9CkF0dHJpYnV0ZVR5cGUgICAgICAgICAgIDo6PSAgIE9CSkVDVCBJREVOVElGSUVSCkF0dHJpYnV0ZVZhbHVlICAgICAgICAgIDo6PSAgIEFOWSBERUZJTkVEIEJZIHR5cGUKQXR0cmlidXRlVHlwZUFuZFZhbHVlICAgICAgICAgICA6Oj0gICAgIFNFUVVFTkNFIHsKICAgICAgICB0eXBlICAgIEF0dHJpYnV0ZVR5cGUsCiAgICAgICAgdmFsdWUgICBBdHRyaWJ1dGVWYWx1ZSB9CmlkLWF0ICAgICAgICAgICBPQkpFQ1QgSURFTnRyaWJ1dGVUeXBlICAgOjo9ICAgICB7aWQtYXQgMTJ9Clg1MjBUaXRsZSA6Oj0gICBEaXJlY3RvcnlTdHJpbmcKaWQtYXQtZGVzY3JpcHRpb24gICAgIEF0dHJpYnV0ZVR5cGUgICA6Oj0gICAgIHtpZC1hdCAxM30KWDUyMERlc2NyaXB0aW9uIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC0gICAgIGAgSUE1U3RyaW5nIChTSVpFKDEuLk1BWCkpIH0KaWQtY2Utc3ViamVjdEFsdE5hbWUgT0JKRUNuIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC0gICAgIGAgSUE1U3RyaW5nIChTSVpFKDEuLk1BWCkpIH0KaWQtY2Utc3ViamVjdEFsdE5hbWUgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE3IH0KU3ViamVjdEFsdE5hbWUgOjo9IEdlbmVyYWxOYW1lcwpHZW5lcmFsTmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgR2VuZXJhbE5hbWUgICAgIHR5cGUgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlcyAgU0VUIE9GIEF0dHJpYnV0ZVZhbHVlCiAgICAgICAgICAgICAgICAtLSBhdCBsZWFzdCBvbmUgdmFsdWUgaXMgcmVxdWlyZWQgLS0KfQpBdHRyaWJ1dGVUeXBlICAgICAgICAgICA6Oj0gICBPQkpFQ1QgSURFTlRJRklFUgpBdHRyaWJ1dGVWYWx1ZSAgICAgICAgICA6Oj0gZC1hdCAxM30KWDUyMERlc2NyaXB0aW9uIDo6PSAgIERpcmVjdG9yeVN0cmluZwppZC1hdC0gICAgIGAgSUE1U3RyaW5nIChTSVpFKDEuLk1BWCkpIH0KaWQtY2Utc3ViamVjdEFsdE5hbWUgT0JKRUNUIElERU5USUZJRVIgOjo9ICB7IGlkLWNlIDE3IH0KU3ViamVjdEFsdE5hbWUgOjo9IEdlbmVyYWxOYW1lcwpHZW5lcmFsTmFtZXMgOjo9IFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YgR2VuZXJhbE5hbWUgICAgIHR5cGUgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlLAogICAgICAgIHZhbHVlcyAgU0VUIE9GIEF0dHJpYnV0ZVZhbHVlCiAgICAgICAgICAgICAgICAtLSBhdCBsZWFzdCBvbmUgdmFsdWUgaXMgcmVxdWlyZWQgLS0KfQpBdHRyaWJ1dGVUeXBlICAgICAgICAgICA6Oj0gICBPQkpFQ1QgSURFTlRJRklFUgpBdHRyaWJ1dGVWYWx1ZSAgICAgICAgICA6Oj0gICBBTlkgREVGSU5FRCBCWSB0eXBlCkF0dHJpYnV0ZVRwZXkgZXA6Oj0geyBpZC1hdCA0MiB9Clg1MjBnaXZlbk5hbWUgOjo9IERpcmVjdG9yeVN0cmluZwppZC1hdC1uYW1lICAgICAgICAgICAgICBBdHRyaWJ1dGVUeXBlIDo6PSB7IGlkLWF0IDQxIH0KWDUyMG5hbWUgICAgICAgIDo6PSBEaXJlY3Rvcnl7IGlkLWNlIDMyIH0KQ2VydGlmaWNhdGVQb2xpY2llcyA6Oj0gU0VRVUVOQ0UgU0laRSAoMS4uTUFYKSBPRiBQb2xpY3lJbmZvcm1hdGlvbgpQb2xpY3lJbmZvcm1hdGlvbiA6Oj0gU0VRVUVOQ0UgewogICAgIHBvbGljeUlkZW50aWZpZXIgICBDZXJ0UG9saWN5SWQsCiAgICAgcG9saWN5UXVhbGlmaWVycyAgIFNFUVVFTkNFIFNJWkUgKDEuLk1BWCkgT0YKICAgICAgICAgICAgIFBvbGljeVF1YWxpZmllckluZm8gT1BUSU9OQUwgfQpDZXJ0UG9saWN5SWQgOjo9IE9CSkVDVCBJREVOVElGSUVSClBvbGljeVF1YWxpZmllckluZm8gOjo9IFNFUVVFTkNFIHsKICAgICAgIHBvLGljeVF1YWxpZmllcklkICBQb2xBdHRyaWJ1dGVUeXBlc2lvbiAgOjo9ICBJTlRFR0VSfiAgeyAgdjEoMCksIHYyKDEpLCB2MygyKSAgfQpDZXJ0aWZpY2F0ZVNlcmlhbE51bWJlciAgOjo9ICBJTlRFR0VSClZhbGlkaXR5IDo6PSBTRVFVRU5DRSA=