UEtJWDEgeyB9CkRFRklOSVRJT05TIElNUExJQ0lUIFRBR1MgOjo9CkJFR0lOCmlkLWNlIE9CSkVDVCBJREVOVElGSUVSICA6Oj0gIHtqb2ludC1pc28tY2NpdHQoMikgZHMoNSkgMjl9CmlkLWNlLWF1dGhvcml0eUtleUlkZW50aWZpZXIgT0JKRUNUIElERU5USUZJRVIg4SA6Oj0gIHsgaWQtY2UgMzUgfQpBdXRob3JpdHlLZXlJZGVudGlmaWVyIDo6PSBTRVFVRU5DRSB7CiAgICAgIGtleUlkZW50aWZpZXAgICAgICAgICAgICBJT05BTCwKICAgICAgYXV0aG9yaXR5Q2VydFNlcmlhbE51bWJlciBbMl0gQ2VydGlmaWNhdGVTZXJpYWxOdW1iZXIgIE9QVElPTkFMIH0KICAgIC0tIGF1dGhvcml0eUNlcnRJc3N1ZXIgYW5kIGF1dGhvcml0eUNlcnRTZXJpYWxOdW1iZXIgc2hhbGwgYm90aAogICBmaWNhdGVQb2xpY2llcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgaWQtY2UgMzIgfQpDZXJ0aWZpY2F0ZVBvbGljaWVzIDo6PSBTRVFVRU5DRSBTSVpFICgxLi5NQVgpIE9GIFBvbGljeUluZm9ybWF0aW9uClBvbGljeUluZm9ybWF0aW9uIDo6PSBTRVFVRU5DRSB7CiAgICAgcG9saWN5SWRlbnRpZmllciAgIENlcnRQb2xpY3lJZCwKICAgICBwb2xpY3lRdWFsaWZpZXJzICAgU0VRVUVOQ0UgU0laRSAoMC4uTUFYKSBPRgogICAgICAgICAgICAgUG9saWN5UXVhbGlmaWVySW5mbyBPUFRIT05BTCB9CkNlcnRQb2xpY3lJZCA6Oj0gT0JKRUNUIElERU5USUZJRVIKUG9saWN5UXVhbGlmaWVySW5mbyA6OiAgLS0gKCBpZC1xdC1jcHMgfCBpZC1xdC11bm90aWNlICkKQ1BTdXJpIDo6PSBJQTVTdHJpbmcKVXNlck5vdGljZSA6Oj0gU0VRVUVOQ0UgewogICAgIG5vdGljZVJlZiAgICAgICAgTm90aWNlUmVmZXJlbmNlIE9QVElPTkFMLAogICAgIGV4cGxpY2l0VGkgOjo9IElBNVN0cmluZwpVc2VyTm90aWNlIDo6PSBTRVFVRU5DRSB7CiAgICAgbm90aWNlUmVmICAgICAgICBOb3RpY2VSZWZlcmVuY2UgT1BUSU9OQUwsCiAgICAgZXhwbGljaXRUZXh0ICAgICBEaXNwbGF5VGV4dCBPUFRJT05BTH0KTm90aWNlUmVmZXJlbmNlIDo6PSByZWdpc3RlcmVkIGZvciB1c2Ugd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLSBhbGdvcml0aG0gb2JqZWN0IGlkZW50aWZpZXIgdmFsdWUKcGtjcy0xIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7CiAgICAgcGtjcyAxIH0KcnNhRW5jcnlwdGlvbiBPQkpFQ1QgSURFTlRJRklFUiA6Oj0gIHsgcCAgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgeDktNTcoMTAwNDApIHg5YWxnb3JpdGhtKDQpIDEgfQpEc3MtUGFybXMg