```
LS0tDQp0aXRsZTogIlByb2plY3QgSW5mbHVlbmNlcnMgLSBQZXJzb25hbCBEZXZlbG9wbWVudCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KDQpgYGB7ciBlY2hvPUZBTFNFfQ0KDQpsaWJyYXJ5KGxlYWZsZXQpDQpsaWJyYXJ5KGRwbHlyKQ0KDQojIGluZmx1ZW5jZXJzIGRhdGFmcmFtZQ0KIyBmaWx0ZXIgcmVjb3JkcyBmb3IgdGhvc2Ugd2hvIGluZmx1ZW5jZWQgUGVyc29uYWwgRGV2ZWxvcG1lbnQgcHJvamVjdCBpbml0aWF0aW9uDQpkZi5wcm9qZWN0IDwtIHByb2plY3RzMW1hcCAlPiUNCiAgZmlsdGVyKHBlcnNvbmFsRGV2ZWxvcG1lbnQgPT0gNikgJT4lDQogIHNlbGVjdChJbmZsdWVuY2VyLCBwZXJzb25hbERldmVsb3BtZW50LCBwcm9qZWN0SW5mbHVlbmNlLCBHU1N0aW1lLCBsYXQsIGxvbiwgTG9jYXRpb24pDQogIA0KDQojIEFzc2lnbiBtYXJrZXIgY29sb3IgYmFzZWQgb24gdGltZSBmb3Igd2hpY2ggaW5mbHVlbmNlciBoYXMgYmVlbiBhY3RpdmUgaW4gR1NTIGRldmVsb3BtZW50Lg0KIyAxOmVhcmxpZXN0IGluZmx1ZW5jZXMsIDI6IHN0dWR5IG9mIFRoZSBQaEQgUHJvamVjdCwgMzogZXhwYW5kaW5nIGdsb2JhbCBpbmZsdWVuY2VzIChFb1NUKQ0KIyA0OiBmaW5hbGl6aW5nIHRoZSBib29rLCBhbmQgNTogYWZ0ZXIgdGhlIGJvb2sNCmdldENvbG9yIDwtIGZ1bmN0aW9uKGRmLjEwKSB7DQogIHNhcHBseShkZi5wcm9qZWN0JEdTU3RpbWUsIGZ1bmN0aW9uKEdTU3RpbWUpIHsNCiAgaWYoR1NTdGltZSA9PSAxKSB7DQogICAgImRhcmtibHVlIg0KICB9IGVsc2UgaWYoR1NTdGltZSA9PSAyKSB7DQogICAgImxpZ2h0Ymx1ZSINCiAgfSBlbHNlIGlmKEdTU3RpbWUgPT0gMykgew0KICAgICJkYXJrZ3JlZW4iDQogIH0gIGVsc2UgaWYoR1NTdGltZSA9PSA0KSB7DQogICAgImdyZWVuIg0KICB9IGVsc2Ugew0KICAgICJvcmFuZ2UiDQogIH0gfSkNCn0NCg0KaWNvbnMgPC0gYXdlc29tZUljb25zKA0KICBpY29uID0gJ2lvcy1jbG9zZScsDQogIGljb25Db2xvciA9ICdibGFjaycsDQogIGxpYnJhcnkgPSAnaW9uJywNCiAgbWFya2VyQ29sb3IgPSBnZXRDb2xvcihkZi5wcm9qZWN0KQ0KKQ0KDQppbmZsdWVuY2VybWFwIDwtIGxlYWZsZXQoZGYucHJvamVjdCkgJT4lIGFkZFRpbGVzKCkgJT4lDQogIGFkZEF3ZXNvbWVNYXJrZXJzKH5sb24sIH5sYXQsIGljb249aWNvbnMsIGxhYmVsPX5hcy5jaGFyYWN0ZXIocHJvamVjdEluZmx1ZW5jZSkpICU+JSANCiAgYWRkVGlsZXMoKSAlPiUNCiAgYWRkQ2lyY2xlcyhsbmcgPSAtNzQuMDIyOSwgbGF0ID0gNDEuMDQ2OCwgd2VpZ2h0ID0gMSwNCiAgICByYWRpdXMgPSAyNTAwLCBwb3B1cCA9IH5wcm9qZWN0SW5mbHVlbmNlKQ0KaW5mbHVlbmNlcm1hcA0KDQpsaWJyYXJ5KGh0bWx3aWRnZXRzKQ0Kc2F2ZVdpZGdldChpbmZsdWVuY2VybWFwLCBmaWxlPSJpbmZsdWVuY2VybWFwLmh0bWwiKQ0KYGBgDQpgYGANCg0K