LyoKKiogQ3JlYXRlIHRoZSAndmVycycgdmVyc2lvbiByZXNvdXJjZSBmcm9tIGluZm9ybWF0aW9uIGluIHRoZQoqKiBQeXRob24gaW5jbHVkZSBmaWxlcy4KKi8KCiNpbmNsdWRlICJUeXBlcy5yIgoKI2luY2x1ZGUgInBhdGNobGV2ZWwuaCIKCi8qIEludmVudCB0aGUgTWFjIHZlcnNpb24gZnJvbSB0aGUgUHl0aG9uIHZlcnNpb24gKi8KI2lmIFBZX1JFTEVBU0VfTEVWRUwgPT0gUFlfUkVMRUFTRV9MRVZFTF9BTFBIQQojZGVmaW5lIFZfUkVMRUFTRSBhbHBoYQojZW5kaWYKI2lmIFBZX1JFTEVBU0VfTEVWRUwgPT0gUFlfUkVMRUFTRV9MRVZFTF9CRVRBCiNkZWZpbmUgVl9SRUxFQVNFIGJldGEKI2VuZGlmCiNpZm5kZWYgVl9SRUxFQVNFCiNkZWZpbmUgVl9SRUxFQVNFIGZpbmFsCiNlbmRpZgoKcmVzb3VyY2UgJ3ZlcnMnICgxKSB7CglQWV9NQUpPUl9WRVJTSU9OLAoJKFBZX01JTk9SX1ZFUlNJT048PDQpIHwgKFBZX01JQ1JPX1ZFUlNJT04pLAoJVl9SRUxFQVNFLAoJUFlfUkVMRUFTRV9TRVJJQUwsCgkwLAoJUFlfVkVSU0lPTiwKCSQkRm9ybWF0KCIlcywgqSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiAlcyIsCgkJCVBZX1ZFUlNJT04sICQkRGF0ZSkKfTsK