Ly9NaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBnZW5lcmF0ZWQgcmVzb3VyY2Ugc2NyaXB0Lg0KLy8NCg0KI2RlZmluZSBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLy8NCi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBURVhUSU5DTFVERSAyIHJlc291cmNlLg0KLy8NCiNpbmNsdWRlICJhZnhyZXMuaCINCg0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCiN1bmRlZiBBUFNUVURJT19SRUFET05MWV9TWU1CT0xTDQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQovLyBFbmdsaXNoIChVLlMuKSByZXNvdXJjZXMNCg0KI2lmICFkZWZpbmVkKEFGWF9SRVNPVVJDRV9ETEwpIHx8IGRlZmluZWQoQUZYX1RBUkdfRU5VKQ0KI2lmZGVmIF9XSU4zMg0KTEFOR1VBR0UgTEFOR19FTkdMSVNILCBTVUJMQU5HX0VOR0xJU0hfVVMNCiNwcmFnbWEgY29kZV9wYWdlKDEyNTIpDQojZW5kaWYgLy9fV0lOMzINCg0KI2lmbmRlZiBfTUFDDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KLy8NCi8vIFZlcnNpb24NCi8vDQoNClZTX1ZFUlNJT05fSU5GTyBWRVJTSU9OSU5GTw0KIEZJTEVWRVJTSU9OIDMsMTMsMCwwDQogUFJPRFVDVFZFUlNJT04gMywxMywwLDANCiBGSUxFRkxBR1NNQVNLIDB4M2ZMDQojaWZkZWYgX0RFQlVHDQogRklMRUZMQUdTIDB4MUwNCiNlbHNlDQogRklMRUZMQUdTIDB4MEwNCiNlbmRpZg0KIEZJTEVPUyAweDQwMDA0TA0KIEZJTEVUWVBFIDB4MkwNCiBGSUxFU1VCVFlQRSAweDBMDQpCRUdJTg0KICAgIEJMT0NLICJTdHJpbmdGaWxlSW5mbyINCiAgICBCRUdJTg0KICAgICAgICBCTE9DSyAiMDQwOTA0ZTIiDQogICAgICAgIEJFR0lODQogICAgICAgICAgICBWQUxVRSAiQ29tbWVudHMiLCAiRnJlZUltYWdlIGlzIGFuIE9wZW4gU291cmNlIGxpYnJhcnkgcHJvamVjdCBmb3IgZGV2ZWxvcGVycyB3aG8gd291bGQgbGlrZSB0byBzdXBwb3J0IHBvcHVsYXIgZ3JhcGhpY3MgaW1hZ2UgZm9ybWF0cyBsaWtlIFBORywgQk1QLCBKUEVHLCBUSUZGIGFuZCBvdGhlcnMgYXMgbmVlZGVkIGJ5IHRvZGF5J3MgbXVsdGltZWRpYSBhcHBsaWNhdGlvbnMuXDAiDQogICAgICAgICAgICBWQUxVRSAiQ29tcGFueU5hbWUiLCAiRnJlZUltYWdlXDAiDQogICAgICAgICAgICBWQUxVRSAiRmlsZURlc2NyaXB0aW9uIiwgIkZyZWVJbWFnZSBsaWJyYXJ5XDAiDQogICAgICAgICAgICBWQUxVRSAiRmlsZVZlcnNpb24iLCAiMywgMTMsIDAsIDBcMCINCiAgICAgICAgICAgIFZBTFVFICJJbnRlcm5hbE5hbWUiLCAiRnJlZUltYWdlXDAiDQogICAgICAgICAgICBWQUxVRSAiTGVnYWxDb3B5cmlnaHQiLCAiQ29weXJpZ2h0IKkgMjAwMy0yMDA5IGJ5IEZyZWVJbWFnZVwwIg0KICAgICAgICAgICAgVkFMVUUgIkxlZ2FsVHJhZGVtYXJrcyIsICJTZWUgaHR0cDovL2ZyZWVpbWFnZS5zb3VyY2Vmb3JnZS5uZXRcMCINCiAgICAgICAgICAgIFZBTFVFICJPcmlnaW5hbEZpbGVuYW1lIiwgIkZyZWVJbWFnZS5kbGxcMCINCiAgICAgICAgICAgIFZBTFVFICJQcml2YXRlQnVpbGQiLCAiXDAiDQogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdE5hbWUiLCAiRnJlZUltYWdlXDAiDQogICAgICAgICAgICBWQUxVRSAiUHJvZHVjdFZlcnNpb24iLCAiMywgMTMsIDAsIDBcMCINCiAgICAgICAgICAgIFZBTFVFICJTcGVjaWFsQnVpbGQiLCAiXDAiDQogICAgICAgIEVORA0KICAgIEVORA0KICAgIEJMT0NLICJWYXJGaWxlSW5mbyINCiAgICBCRUdJTg0KICAgICAgICBWQUxVRSAiVHJhbnNsYXRpb24iLCAweDQwOSwgMTI1MA0KICAgIEVORA0KRU5EDQoNCiNlbmRpZiAgICAvLyAhX01BQw0KDQojZW5kaWYgICAgLy8gRW5nbGlzaCAoVS5TLikgcmVzb3VyY2VzDQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLw0KDQojaWZkZWYgQVBTVFVESU9fSU5WT0tFRA0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8NCi8vDQovLyBURVhUSU5DTFVERQ0KLy8NCg0KMSBURVhUSU5DTFVERSBESVNDQVJEQUJMRSANCkJFR0lODQogICAgIiNpbmNsdWRlICIiYWZ4cmVzLmgiIlxyXG4iDQogICAgIlwwIg0KRU5EDQoNCjIgVEVYVElOQ0xVREUgRElTQ0FSREFCTEUgDQpCRUdJTg0KICAgICJcclxuIg0KICAgICJcMCINCkVORA0KDQojZW5kaWYgICAgLy8gQVBTVFVESU9fSU5WT0tFRA0KDQoNCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vDQoNCg0KDQo=